Bonjour, je reprends mon compte officiel @camille, le compte @CamilleB
va être mis en sommeil maintenant.
@pierre-gilles Il faut écrire des spécifications avant de se lancer dans le développement.
Je ne sais pas de quoi il s’agit mais si tu as des exemples et le formalisme attendu, je peux essayer de faire avancer ce point.
@pierre-gilles A voir si il n’y a pas même des standards qui existent déjà niveau communication série?
Voici ce que je connais des com séries …, si d’autres personnes veulent corriger ou enrichir c’est avec plaisir que j’attends vos retours …
Parmi les communications “série” les plus utilisées par l’arduino mais aussi dans l’industrie, on peut citer le fameux protocole RS232 (années 60) qui a été et est toujours en électronique un protocole simple à utiliser et répandu, l’I²C (années 80) et son petit frère le 1-wire sont également pas mal utilisés en électronique pour adresser des périphériques (mémoire, convertisseurs A/N, N/A, expanseurs de bus …, SPI ( années 80) utilisé comme l’I²C en électronique pour l’échange de données avec des périphériques, le LIN et CAN pour l’automobile et l’industrie (pas trop adapté à notre besoin selon moi) et l’USB (années 90) que l’on ne présente plus et qui est maintenant un standard informatique.
Quelques exemples :
- les capteurs de température/humidité DHT11 et DHT22, les modules 433 Mhz utilisent le 1-wire
- le module RFID RC522, le shield W5100 ethernet et son lecteur de carte SD utilisent le SPI
- le gyroscope et accéléromètre GY-521, l’horloge temps réel DS3231, le baromètre MPL3115A2 utilisent l’I²C
- la communication/programmation avec les arduinos utilisent la liaison RS232 par le biais d’un UART USB
C’est cette dernière liaison qui est utilisée pour communiquer entre Gladys et l’arduino lorsqu’il est connecté en USB.
Les autres protocoles étant utilisés par les capteurs/périphériques gérés par l’arduino.
Comme standard série je ne connais que celui du monde industriel, le modbus et ses petits frères profibus, Jbus.
Le principe est simple, un maître (gladys) interroge ou commande des esclaves (arduinos).
les messages sont composés de la trame pour le maître : [adresse de l’esclave], [code de la fonction demandée], [données] ,[CRC] et pour l’esclave de la trame de réponse si nécessaire : [adresse de l’esclave], [code de la fonction demandée], [données] ,[CRC].
Le code fonction et le CRC répondent à une norme.
Il existe des bibliothèques qui gèrent le modbus pour les arduinos.
néanmoins, il faut programmer une maître modbus de Gladys, je ne sais pas si cela est facile à faire et surtout souhaitable ???
Mon avis :
-
Cela me parait beaucoup de travail pour quelque chose qui risque d’être à la fin compliqué à utiliser par un utilisateur lenda.
néanmoins je suis dispo pour échanger sur le sujet et voir si quelqu’un d’autre à des idées de standards séries existants à proposer ou si vous pensez que le modbus serait une bonne idée.
-
Je reste bloqué sur la simplicité des topics utilisés par le MQTT. si nous réutilisons les même idées, il suffirait de diffuser/recevoir les topics avec les données.
Côté Gladys, il existe déjà quelque chose et idem côté arduino.
l’onglet “setup” pourrait ressembler à cela avec une détection auto des arduinos que tu connectes
Qu’en à l’onglet “device”, il n’y aurait pas grand chose à changer (garder la même structure que la mqtt)
pareil dites moi si je délire ou si c’est une bonne idée.
- Dernier point, j’ai développé pour un de mes anciens boulots un projet dans lequel il y avait nécessité de faire communiquer plusieurs modules esclaves avec des flux de données relativement faible. J’avais utilisé le support RS232 et j’avais tout bêtement utlisé la philosophie du modbus mais en beaucoup plus simple. C’est à dire que je diffusais des trames avec un identifiant pour chaque esclave, les commandes et interrogations et ensuite chaque esclave me répondait.
Il n’y avait pas de CRC parce que pas nécessaire et cela était très simple (la preuve j’ai pu le faire )
Donc pour finir, une autre solution pourrait être de développer notre propre standard, qu’en pensez vous ?
@pierre-gilles Top N’hésite pas à faire des tutos sur ce que tu as déjà intégré dans Gladys (MQTT, caméra)
Je regarde ce qui existe déjà et je me lance …