[Résolus]Recherche d'idées, communication Pc - Raspberry

Bonjour à tous,

Je tiens pour commencer à vous préciser que je n’y connais pas grand chose en raspberry pi, c’est d’ailleurs le premier projet de ce type que je réalise avec ce matériel.

Mon projet est de communiquer des informations depuis mon ordinateur jusqu’au raspberry en continu.
Vous me direz que ce genre de projet est très bien documenté malheureusement j’ai quelques contraintes.
Je possède un raspberry pi 3 a+ sur lequel je branche un écran lcd qui se branche sur les 13 premières rangée de pins. Je ne peut donc pas utilisée les port série (je pense qu(ils s’appellent comme ça) qui est la solution la plus courante.

Je suis donc à la recherche d’idée pour pouvoir communiquer de mon pc vers mon raspberry des données. C’est pour ça que je fais appel à vous, en espérant que vous pourrez me proposer des moyen alternatif.

A ma disposition, j’ai:
Un raspberry pi 3A+
Un arduino Uno (Je maîtrise déjà plus ou moins ce type de matériel)

Et comme contrainte:
Je dois branché un écran lcd sur les 13 première rangée de pin du raspberry.
Un réseau wifi plutôt instable.
Le nombre de bit transmit par seconde à peut d’importance, je pourrais m’adapter avec mais l’important c’est d’être en continus.

J’ai déjà essayer d’approcher quelques idées:
Apparemment il n’est pas possible de connecter le raspberry au pc via usb et de simplement lui envoyer des données.
La communication serial basique à l’air compromise vu que les ports sont occupé.
La prise jack du raspberry ne peut pas prendre des input.
Le raspberry ne possède pas de prise ethernet.
Peut être via le port hdmi ? (me semble compliqué niveau software mais peut être qu’une librairie pourrait simplifié le processus)
Peut être utilisé un autre pin pour lui transmettre des bits ? (Je ne connais pas bien les possibilité du raspberry)
Communiquer depuis l’arduino jusqu’au raspberry? (Je peu deja facilement communiquer des infos de mon pc à mon arduino)

J’attends avec impatience votre point de vue. N’hésitez pas a me proposer des idée, me dire ou je dois encore un peu creuser ou même n’importe quel proposition.

C’est une solution très lente (max 115200 bauds supportés par le Rpi et l’arduino) et qui nécessite deux lignes série sur l’Arduino. Si vous n’avez pas un Arduino Mega (3 ports serie https://www.arduino.cc/reference/en/language/functions/communication/serial/) , vous pouvez créer un second port série , extrêmement lent (de mémoire 19200 bauds) avec la bibliothèque Arduino Softwareserial -qui semble fiable, livrée IIRC avec l’IDE Arduino; sinon, téléchargeable-

Edité: l’arduino mega a 4 ports série, pas 3…

Edité : Est ce que le port SPI du RPi est occuppé? Un Arduino peut être configuré en esclave SPI (4 fils dédiés)
Même question pour le port I2C et même justification (2 fils dédiés); i2cscan fonctionne sur RPi, permettant de (tenter de) débugguer le monstre

hello,

un cable croisé entre le PC et le Rpi ou un swittch sortie de box vers le PC et le Rpi

1 J'aime

A-t-il besoin d’être croisé.
parce que là, votre solution (avec ssh) serait interessante pour moi… dommage que vous l’ayez supprimée plus vite que mon hombre (mais on peut mettre un adaptateur USB internet sur le RPi?
https://www.amazon.fr/UGREEN-Adaptateur-Ethernet-Supporte-Supérieur/dp/B00MYTSN18/ref=asc_df_B00MYTSN18/?tag=googshopfr-21&linkCode=df0&hvadid=51050688726&hvpos=&hvnetw=g&hvrand=2122550209875027824&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=2250&hvtargid=pla-157247103915&psc=1)

Voir https://www.framboise314.fr/jai-teste-pour-vous-un-adaptateur-usb-ethernet/

ça doit dépendre des cartes réseaux .C’est courant sur le matériel réseau ( switch, etc.) (notion de décroisement automatique) mais sur les cartes des PC je ne sais pas !

PS ce qui m’a planté c’est l’affirmation « Le raspberry ne possède pas de prise ethernet. » alors qu’il semble que le Rpi soit un model 3 ( donc avec ethernet ! )

ERRATUM : effectivement le Rpi 3+ n’a pas d’Ethernet (https://fr.wikipedia.org/wiki/Raspberry_Pi#Tableau_comparatif)

3a+ (le plus veut dire sans Esther Nette? Bizarre) confirmé par https://www.raspberrypi-france.fr/raspberry-pi-3-a-plus-nouveau/

Un grand merci de m’avoir répondu.
Concernant les ports utilisé, j’ai trouvé ce schéma (https://docs.microsoft.com/fr-fr/windows/iot-core/learn-about-hardware/pinmappings/pinmappingsrpi). De mon coté les pin de 1 à 26 sont occupé mais les autres sont disponible, il reste donc normalement 4 pin spi. 115200 de baud rate est largement suffisant, je me serais contenté d’un simple 9600 (19200 me conviendra aussi).
Cette solution me semble intéressante, je ne connaissais pas le « protocole » de lisaison spi. Cette solution va t’elle affecter les performances du rpi ou de l’arduino (je vois qu’ils doivent « synchroniser leur clock » si j’ai bien compris) ?

Concernant la solution de l’adaptateur usb. Le pc ne possède qu’un câble ethernet et je préférerais éviter de relier le rpi à ma box (simplement des raisons de distance).
A terme si la solution wifi est la seul qu’il me reste je m’en contenterait.

NON: un seul donne l’horloge, le RPI (le maître); l’arduino est esclave (c’est le même principe pour l’I2C, plus lent mais moins bordelique -moins de fils-)
Par contre, vous aurez un mal de chien pour débugger ça (l’arduino ne sait pas quand le RPi va lui donner des caractères ou, via son horloge, lui en demander: vous devrez tout faire, côté arduino, sous interruptions…) Le Rpi ne souffrira pas du tout… une fois la chose débugguée (si c’est faisable)

Serial native + Software serial est très bien documentée côté Arduino (mais est un peu lente, je ne sais pas ce que vous voulez transmettre, mais est ce que ça doit être fiable)
PS : votre PC at-il des prises USB en nombre? parce que , vu votre répugnance à vous séparer de sa liaison à la box, je mettrais peut être … un second adaptateur Ethernet USB…
.
Pourquoi votre Wifi est elle instable?

Yo,

Je viens de lire de biais car je passe et repars aussitôt.
Si pas de port RJ45, on peut en avoir un tout de même :slight_smile: :
Ma proposition serait un adaptateur USB vers RJ45 afin d’avoir un accès réseau pour faire des transmissions en SSH ou SCP

++

Hello,

C’est quel type d’info qui doit transiter? Car si c’est léger tu peux regarder coté MQTT.

C’est simple à mettre en place, efficace et peu couteux. Même si ton wifi est instable

Il faut éviter l’idee du SPI (necessite l’adaptation de tension entre RPi et Arduino, plus le développement de logiciels complexes côté Arduino)
Pour faire une liaison série en passant par l’Arduino:
SoftwareSerial ne permet pas le full duplex (permet, sur un PC, d’anticiper la ligne de commande suivante. permet de débugguer par « loopback »). Il faut employer AltSoftSerial https://arduino103.blogspot.com/2018/05/arduino-softwareserial-cest-pas-du.html
https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
qui est recommandé par … l’équipe officielle d’Arduino (qui maintient SofwareSerial)
Quelle que soit la configuration, il vous faudra à un bout ou à l’autre (à moins que votre PC n’ait 15 ans, il n’a pas de prise UART…) un adaptateur USB serial j’utilise https://www.gotronic.fr/art-cable-serie-debug-usb-ttl-rb-ttl-20673.htm qui me donne satisfaction. Comme il n’est pas si cher que ça, je vous recommande, si vous voulez utiliser une ligne serie d’en acheter 2 , en croisant les fils (jaunes et verts): vous n’aurez pas besoin d’arduino (et c’est moins cher qu’un Arduino Mega).
La solution idéale est celle de bof: au lieu d’avoir 3 fils câblés en vrac, vous avez UN bon cable internet, en transformant, via un adaptateur USB Ethernet, votre rpi3a+ en rpi3 (et, si vous voulez que votre PC garde sa connection à votre boîte, vous pouvez acheter … un second adaptateu USB Ethernet pour votre PC)
Avant de balancer des logiciels à la truelle, il faudrait savoir pourquoi votre wifi est instable (et s’il l’est effectivement), parce que ce serait la solution idéale (pas de câble à acheter et à mettre quelque part)

Un énorme merci, je n’espérais pas tant de réponse.
Je vais prendre un peu de temps pour explorer toutes ces solutions.
Je pense quand même finalement me diriger vers de l’ethernet avec adaptateurs pour éviter un gros casse tête logiciel. J’essaierais surement aussi MQTT.
Je ne sais pas exactement pourquoi mon wifi est de mauvaise qualité, je pense que celui-ci doit être complètement surchargé. Mais bref ce n’est pas vraiment le sujet, j’essaierais et on verra bien.
Je passe donc le sujet en résolus, vous m’avez déjà bien assez aiguillé, je reviendrais peut être vers vous en cas de problèmes.
Encore une fois, un grand merci pour votre aide