j'ai besoin de déporter un bus OneWire sur quelques mètres.
Le bus Onewire est implanté sur un boitier que je ne peut pas modifier.
j'ai penser utiliser 2 modules ESP01 à base d'ESP8266.
un module A connecté au périphérique Onewire ce module se connecte en Wifi au module B.
Les informations Onewire du module A sont transmises au module B en Wifi.
Le module B est connecté au boitier et envoie les infos Onewire sur le bus du boitier.
Il y a beaucoup d'exemple pour lire du OneWire avec un ESP01 mais ce qui me manque c'est de générer les trames OneWire du module B vers le boitier.
Avez-vous des idées et des pistes de recherche ?
sur le boitier je connecte un Ibutton Dallas et cela fonctionne sans probleme.
mais voici qu'un client me demande de déporter le lecteur ibutton de 10M par rapport au boitier et pas de liaison filaire possible (ce boitier gère plein d'autres choses que l'on ne peut pas déporter.)
Donc je me dit le lecteur ibutton sur l'ESP A et l'ESP B récupère par wifi l'ID stockée dans le A et attend que le boitier lui demande de lui envoyer. est-ce plus clair ?
Pas très clair, mais on va essayer de traduire.
Tu veux que l'ESP B se comporte comme un bouton Dallas.
J'ai déjà travaillé avec les DS1990, mais cela fait un bail.
Les sources de la librairie OneWire sont disponibles, avec en particulier les routines read(), write(), etc.
Cela va demander un certain travail d'étude du protocole OneWire et datasheet Dallas, car la librairie ne possède pas les routines nécessaires pour développer un périphérique OneWire.
Bonjour Henri
L’émulation de certains composants 1-wire existe sous l'IDE arduino, j'avais fais qq essais il y a déjà pas mal de temps avec çà (ne semple plus être maintenu )
L'émulation des compos 1-wire nécessite une grande rigueur/stabilité dans les chronogrammes
C'est sûr. Les timings sont rigoureux. Il faut en particulier interdire les interruptions.
A ce propos, une récente expérience avec ESP8266 et nointerrupts() provoquait des défauts d'accès au serveur WEB, ou plutôt au SPIFFS, après qq jours de fonctionnement. Je n'ai pas creusé.
Merci pour les pistes évoquées .
C'est bien ce genre de lecteur que je dois déporter de 10 Mètres le soucis c'est que je n'ai pas la possibilité de passer des fils en plus que les fils existants dans la machine et il y a une articulation entre les 2 parties de la machine .
Une lecture du bus OneWire toutes les secondes voir 10 secondes sont largement suffisantes.
par contre les timing sont à la µseconde voir ici: 1-Wire Communication Through Software | Analog Devices
je vais potasser cela demain
Si je passe en "Radio" c'est que le filaire n'est pas possible.
Le filaire c'est mon métier de base et la "Radio" j'aime pas trop car il y a des soucis de fiabilité mais ce n'est pas le sujet
peut être mois difficile en rempaçant le compsant B par l'assiociation d'un composant avec lequel l'émulation du Bus One Wire est relativement abordable ( grâce à une possible pleine maîtrise du timnig) + un ESP8266 pour la partie radio WiFi
Pour maîtriser totalement et finement un timing avantage au microcontrolleur par par rapport au SOC , surtout si ce SOC a des tâches radio et réseau à assurer
Vous vous emballez, vous parlez d'émulation mais là, ce n'est peut-être pas que de l'émulation qu'il faut faire.
A l'extrémité il doit y avoir un composant, pour l'instant encore inconnu, avec lequel il faut peut-être interagir.
Si c'est juste un composant qui contient une clé pas de problème on peut le lire en avance et effectivement l'émuler mais si c'est un composant un peu plus sophistiqué qui échange des informations dans les 2 sens ça ne va pas fonctionner.
Pour commencer à réfléchir de manière pertinente il faudrait savoir quel référence de composant il y a sur le bus OneWire.
j'ai compris que le composant (distant) à lire est d'un seul type : iButton (messages #3 et #4)
et que localement le compsoant 'radio' dconecté au lecteur non modifiable se comporte comme un iButton
contrainte supplémentaire qui parait découler du dessin du message #8, côté ESP-01 B
......Comme si localement il fallait présenter au lecteur un iButton WiFi !!
J'ai eu des problèmes d'accès au SPIFFS, y compris sur une requête simple (une image), mais en codant la partie échanges de données sans utiliser SPIFFS, il est possible que le problème soit évité.
Alors quelques précisions:
Le Ibutton utilisé est un DS1990.
A part le N° de série interne il n'y a rien d'autre à lire comme de la température avec un DS1820.
Ne cherchez pas la complication ce que j'attend c'est du factuel pas de l'imaginaire .