Bonjour à toutes et tous,
J'ai une petite (enfin ...petite...) question à soumettre à vos expériences respectives :
Je suis occupé à me créer un mini (très mini: 120x60cm) réseau de train en HOe qui sera commandé en digital sur base d'un ESP8266.
(Pour ceux que cela intéresserait voici le lien : http://udelmas.e-monsite.com/pages/cent ... i-d17.html )
En parallèle à cette centrale et sans aucune communication (en tous cas dans un premier temps), je voudrais implémenter quelques fonctionnalités telles qu'une horloge en temps accéléré(Date/heure/Lever et coucher du soleil), des modules qui utiliseraient l'horloge pour jouer des fichiers mp3 en fonction de l'heure, gérer les éclairages, ... le tout programmé en micropython sur des modules ESP8266 et/ou ESP32.
J'en viens à mes questions :
1a) Quel standard de communication utiliser entre les modules ?
I2C ou CAN ?
Il semble que la distance limite en I2C soit de l'ordre du mètre, ce qui pourrait être un peu juste.
1b) Si j'opte pour l'I2C, je trouve beaucoup de doc expliquant comment utiliser I2C en tant que master (capteur de température, ...) mais je n'ai rien trouvé qui explique comment implémenter l'écoute et la réponse à une requête d'un master.
2) Quel mode de fonctionnement implémenteriez-vous ?
2a) L'horloge fonctionne en mode "Push" et diffuse l'heure à tout qui est sur le réseau ?
2b) L'horloge fonctionne en mode "Pull" et ne fait que répondre aux demandes d'heure des différents modules ?
2C) Autrement encore ?
Vos réponse amèneront certainement d'autres questions mais je serais déjà ravi de pouvoir défricher ce sujet avec votre aide.
En vous remerciant d'avance pour vos conseils,
Coyotte
Bonjour,
L'inscription sur ce forum et les premiers messages sont modérés par un Administrateur.
Ce n'est pas très convivial mais malheureusement nécessaire suite au spam intensif de nos amis russes.
Cordialement,
Dominique
L'inscription sur ce forum et les premiers messages sont modérés par un Administrateur.
Ce n'est pas très convivial mais malheureusement nécessaire suite au spam intensif de nos amis russes.
Cordialement,
Dominique
Communication inter-Esp
Forum rules
La PYBStick est supporté par MC Hobby (MicroPython) et Garatronic (Arduino IDE).
Merci de suivre les recommandations suivantes.
Pensez à:
La PYBStick est supporté par MC Hobby (MicroPython) et Garatronic (Arduino IDE).
Merci de suivre les recommandations suivantes.
Pensez à:
- Titre claire: permettant d'identifier le produit et le problème
- Contenu complet: schema, message d'erreur, etc (tout ce qui permet d'aider à distance).
- Fichier joint: Max 300 Ko
- Courtoisie et précision
Re: Communication inter-Esp
Salut salut.
Je n'y suis pas encore la en programmation, mais dans le cadre d'un futur projet domotique, un pote m'a dit que esp now a été porté sur MPY.
Des fois que ca puisse t'aider: https://micropython-glenn20.readthedocs ... spnow.html
A ce que j'en ai compris, tu peux établir une connection entre plusieurs ESP en y mettant leurs adresses.
La un exemple de bi directionnel: https://www.raspberryme.com/communicati ... tes-esp32/
Bye
Je n'y suis pas encore la en programmation, mais dans le cadre d'un futur projet domotique, un pote m'a dit que esp now a été porté sur MPY.
Des fois que ca puisse t'aider: https://micropython-glenn20.readthedocs ... spnow.html
A ce que j'en ai compris, tu peux établir une connection entre plusieurs ESP en y mettant leurs adresses.
La un exemple de bi directionnel: https://www.raspberryme.com/communicati ... tes-esp32/
Bye
Re: Communication inter-Esp
Hello,
Je vais jeter un oeil sur tout cela.
Merci à toi,
Coyotte
Je vais jeter un oeil sur tout cela.
Merci à toi,
Coyotte
Re: Communication inter-Esp
Hello,
Une autre piste serait d'utiliser un "Cloud IOT".
Je dois regarder s'il est possible d'un héberger un en local sur un Raspberry pi par exemple (Ok c'est plus un "cloud" alors , mais la technologie reste applicable)
Mais la solution de Totorock reste un bonne candidate....
Coyotte
Une autre piste serait d'utiliser un "Cloud IOT".
Je dois regarder s'il est possible d'un héberger un en local sur un Raspberry pi par exemple (Ok c'est plus un "cloud" alors , mais la technologie reste applicable)
Mais la solution de Totorock reste un bonne candidate....
Coyotte
Re: Communication inter-Esp
@coyotte
Je penses qu'il faut laisser I2C pour ce qu'il fait de mieux: un bus de données entre Microcontroleur et ses Capteurs
Réseau de communication
Donc RS485 (plus simple à implémenter car il passe via un UART) ou Canbus (plus rapide, plus longue distance mais le protocole est plus complet).
RS485 travaille aussi avec des adresses (comme I2C) mais si je ne me trompe pas, il y a aussi une adresse BroadCast.
Pour du RS485, tu trouvera un excellent module RS485 chez Olimex.
En voici la description en Français.
1 x OLI-MOD-RS485
Module communication RS485, non isolé, UEXT
4.08 Eur TTC/p (indicatif)
https://shop.mchobby.be/product.php?id_product=2103
Alors le mieux est d'avoir un "Pull" qui annonce l'heure sur le réseau. Cela fera moins de trafic sur le réseau (request + response de chaque module).
ESP ou Pico ?
Quitte à ne pas exploiter le WiFi... le mieux est encore d'opter pour des Raspberry-Pi PICO (prix vraiment trèèèèèssss attractif) et supportant MicroPython.
Un meilleur bus I2C
Enfin, toujours utile à savoir, il existe des module permettant d'améliorer activement la transition des signaux du bus I2C et donc d'en augmenter la longueur et la fiabilité (il n'en faut qu'un en début de réseau).
1 x LTC4311-I2C-EXTENDER
Extension / Terminaison bus I2C, LTC4311
9.07 Eur TTC/p (indicatif)
https://shop.mchobby.be/product.php?id_product=2058
Je penses qu'il faut laisser I2C pour ce qu'il fait de mieux: un bus de données entre Microcontroleur et ses Capteurs
Réseau de communication
Donc RS485 (plus simple à implémenter car il passe via un UART) ou Canbus (plus rapide, plus longue distance mais le protocole est plus complet).
RS485 travaille aussi avec des adresses (comme I2C) mais si je ne me trompe pas, il y a aussi une adresse BroadCast.
Pour du RS485, tu trouvera un excellent module RS485 chez Olimex.
En voici la description en Français.
1 x OLI-MOD-RS485
Module communication RS485, non isolé, UEXT
4.08 Eur TTC/p (indicatif)
https://shop.mchobby.be/product.php?id_product=2103
Alors le mieux est d'avoir un "Pull" qui annonce l'heure sur le réseau. Cela fera moins de trafic sur le réseau (request + response de chaque module).
ESP ou Pico ?
Quitte à ne pas exploiter le WiFi... le mieux est encore d'opter pour des Raspberry-Pi PICO (prix vraiment trèèèèèssss attractif) et supportant MicroPython.
Un meilleur bus I2C
Enfin, toujours utile à savoir, il existe des module permettant d'améliorer activement la transition des signaux du bus I2C et donc d'en augmenter la longueur et la fiabilité (il n'en faut qu'un en début de réseau).
1 x LTC4311-I2C-EXTENDER
Extension / Terminaison bus I2C, LTC4311
9.07 Eur TTC/p (indicatif)
https://shop.mchobby.be/product.php?id_product=2058
Dominique, MC Hobby.
Re: Communication inter-Esp
@totorock,
Vraiment très intéressant! Merci pour cette info!
Vraiment très intéressant! Merci pour cette info!
totorock wrote: ↑Thu 10 Mar 2022 22:14 Salut salut.
Je n'y suis pas encore la en programmation, mais dans le cadre d'un futur projet domotique, un pote m'a dit que esp now a été porté sur MPY.
Des fois que ca puisse t'aider: https://micropython-glenn20.readthedocs ... spnow.html
A ce que j'en ai compris, tu peux établir une connection entre plusieurs ESP en y mettant leurs adresses.
La un exemple de bi directionnel: https://www.raspberryme.com/communicati ... tes-esp32/
Bye
Dominique, MC Hobby.
Re: Communication inter-Esp
Merci Dominique pour cette réponse complète et circonstanciée.
Là, j'ai un bateau sur le feu avec de l'Arduino pour contrôler les lumière mais dès que ceci est en ordre, je prend le boulot sur le réseau de train...
Bonne journée,
Coyotte
Là, j'ai un bateau sur le feu avec de l'Arduino pour contrôler les lumière mais dès que ceci est en ordre, je prend le boulot sur le réseau de train...
Bonne journée,
Coyotte