Bonjour les gens!
Je viens tout juste de rentrer dans l’univers des Raspberry et, pour la même de linux !
Je me mets donc petit à petit aux lignes de commandes et au python 3 ^^ . Concernant le matériel, il s’agit d’un Pi3 B+ sous Raspbian.
Mon soucis est le suivant : j’ai une carte d’acquisition qui, à l’heure actuelle, recueille des informations et me les envoie sur un PC via usb et une communication série émulée. Je cherche à transmettre les informations de manière sans fil (en supprimant le cable usb) en insérer un Raspberry dans la chaîne: Carte d’acquisition capteur —>/Serie virtuel via USB/---->RaspberryPI3B±–>Serie virtuelle sans fil(bt ou wifi)—>PC d’acquisition
Pour l’instant, j’ai réussi le premier maillon, à savoir dialoguer en série entre le Raspberry et la carte (je peux envoyer le code python 3, si il y a des gens intéressés.
Je bloque cependant sur la création d’une émulation de port série (COM sur wind) entre le Raspberry et le PC. Pour l’instant je m’oriente sur le BT car cela me semble plus simple, mais sans succès d’échange. Je ne suis pas fermé au wifi, mais cela me parait moins approprié (opinion arbitraire non arrêtée).
La communication doit être bidirectionnelle, car on doit envoyer des trames à la carte, pour qu’elle nous réponde. Le plus logique serait que le PC soit maître et la Raspberry soit un périphérique facile à connecter.
J’espere avoir donné les informations adéquates et merci d’avance pour tout élément que vous sauriez m’apporter ^
Un newbie
En fait, tu as un logiciel Win qui communique avec une carte d’acquisition via un lien série en filaire et tu souhaites passer en sans fil ? C’est bien ça.
Quel est le protocole série RS232, RS485 ou autre ?
Je crois comprendre que tu souhaites implémenter un « adaptateur série sans fil » ou « Wireless serial port adapter » avec un Raspberry PI. (chercher sur le net les produits correspondants à ces termes)
Sans être spécialiste, je pense qu’il faudrait plutôt ce genre de schéma pour transformer les infos série en USB 2 fois.
/Carte d’acquisition capteur —>/Serie virtuel via USB/---->RaspberryPI3B±–>Serie virtuelle sans fil(bt ou wifi)—>RaspberryPI3B±–>/Serie virtuel via USB/---->PC d’acquisition
A mon avis, sauf utilisation autre pour les PI, je recommanderais quelque-chose de plus léger genre PI0 ou encore Arduino and co comme ESP8266 ou ESP32 qui implémentent nativement le WIFI. Mais bon le cahier des charge impose certainement un PI3B+ ?
N.B. : Pour moi, c’est pas un projet de newbie ! En tout cas à la fin tu n’en sera plus un
J’ain bien une carte d’acquisition qui, part driver usb VPC 210x ouvre un COM dans windows. Ce com est ensuite lu et ecrit dans Labview, sur le PC. Il s’agit de RS232 il me semble… J’utilise la librairie serial du python3.
Pour ton schéma, je ne peux faire cela pour deux raison. Nous sommes sur du matériel embarqué en milieu hostile. La première raison est qu’il me parait dommage de rajouter un périphérique encombrant sur le PC portable, alors qu’il inclut deja le wifi est le BT. La deuxième, l’essentielle, est que je souhaite justement supprimer tout branchement physique sur les ports usb, car il s’agit de matériel très sollicité et les prises lâchent rapidement.
Je ne connais pas le PI0 et ses caractéristiques, pour l’ESP32, j’en ai justement un dans la poche ^^. Mais j’avais passé un long moment à tenter avec l’arduino et je me suis justement cassé les dents, et je pense que ça sera le cas avec les autres sollution. En effet, le driver doit contenir quelque chose car, en tentant de relier la carte à un port série arduino via un convertisseur usb/série (type max 232), je n’ai jamais réussi à obtenir quoi que ce soit de la carte. Cela est après trop bas niveau pour moi. Il me faut donsc un port USB et un OS avec driver qui s’ossupe de driver le Virtual Com Port. D’autant plus qu’une carte relier par un cable usb à un raspberry, cela fait bcp plus « propre » qu’arduino, cables, convertisseur, encore cable et module HC06 hahaha ^^ .
Ce qui est amusant c’est de voir que sur le forum arduino, on m’avait renvoyé vers un raspberry ^^
en te remerciant!!
La Raspberry pourrait exécuter un code Python, incluant une boucle « while » qui se charge de l’acquisition des données de la carte.
A l’intérieur de « while », on ajoute une boucle « for » qui elle, crée un tableau avec les données récupérées et les envoie au PC distant.
Toujours dans « for » on envoie les trames à la carte.
Pour ce cas de figure, c’est la Raspberry qui est maître. Le PC exploite les données transmises, avec un tableur ou autre logiciel de manipulation de tableau. Du coup, vous réglez les problèmes liaison série entre PC et Raspberry.
Bonjour Stef.
Cela semble peu adapté à mon soucis… je souhaite en effet recupérer par ma carte, rapidement et « en temps reel » (pas vraiment, on est d’accord); les donées que je souhaite sur requete explicite de mon PC…
J’aimerais également obtenir un port COM sur PC pour l’échange de trames, afin de conserver mon programme labview qui fonctionne actuellement, et qui est déployé tel quel sur plusieurs de mes machines…
Je ne sais pas si je suis clair:3
Je crois mieux comprendre la demande. D’un coté une carte d’acquisition relié à un matériel sans fil (BT ou WIFI), de l’autre un PC avec son BT ou WIFI interne qui communique avec un port COM Virtuel.
Donc la problématique est de trouver/réaliser un logiciel sur le PC qui transforme les trames du réseau sans fil en données interprétables par le port série local virtuel ? Ou bien c’est d’envoyer les trames du PI vers le PC ?
Le but est des créer une liaison sans fil entre PI et PC et cette liaison sans fil serait du série émulé. Coté pi, elle apparait comme du serie (sur la port AMA0 pour le bluetooth, il me semble). Sur le PC, le PI apparait comme un port COM.
D’où la transmission des données d’acquisition via wifi, du Pi vers l’ordi.
C’est simple et direct, on ne passe pas par des émulateurs.
Maintenant, je ne sais pas si Labview gère les tableaux…
C’est ça que je ne comprends pas, comment le PI qui est connecté en réseau sans fil peut-il être vu comme un port COM ? C’est un programme Python qui assure la communication entre le BT et le port COM ? D’ailleurs le PC il est sous quel OS ?
@stef-k Cela n’est pas mon but. Je précise que les deux machines ne sont pas relier par internet (pas de réseaux wifi, nous sommes sur terrain). Je cherche actuellement à config ma raspberry en host wifi pour y connecter mon PC et communiquer via VCP IP.
@jelopo Il y a des périph bluetooth qui apparaissent bien comme un port COM. Le PC est sous windows 10 et 7.
Yep, j’avais fait une manip com celle-ci, mais je n’ai jamais rien pu sniffer sur le port. De plus, le port est toujours présent, meme raspberry débrancher, PC rebooté etc… étrange en sorte. D’ailleurs, à la fois, PC et raspberry se connectent bien. Mais peut apres, la raspberry affiche le PC en avec une croix rouge à cote et, quand on clique sur connecté affiche « connect fail - no usable services with this device ». Il semble que raspberry est configuré pour gérer des HID précis, comme un casque ou un clavier BT uniquement…
J’espere que le sujet n’est pas mort, et j’espere qu’on me répondra. Comme cela évolue, peut être je vais devoir faire un nouveau post. Voilà ou j’en suis. Ma lecture sur le port USB0 en série fonctionne bien, avec mon programme python.
Ma Rasp 3B+ est maintenant configuré en modem wifi (adresse 10.141.0 disons). Mon PC est connecté dessus, avec une clé(WEP) et obtient une adresse 10.141.0.1. je désire maintenant établire une communication bidirectionnelle entre le PC et la raspberry. J’aimerais établir une série virtuel, pour garder un COM virtuel sur le PC.
Coté PC, j’ai trouvé un soft « HW virtual serial port » qui semble faire ça. Coté raspberry, j’ai découvert l’utilitaire socat.
Cependant, j’utilise socat pty,link="/devttyV0,waitslave tcp:10.3.141.94:2000 et, quand je lance, rien ne se passe…
Des idées ?
Bonjour @clemle ,
J’espère recevoir une réponse après tout ce temps…
Je suis dans un cas fortement similaire au votre puisque la seul différence est ce qui est connecté au Raspberry sur le port série.
Auriez-vous avancé sur le sujet ?
Avez-vous des pistes après ces deux ans ?