Quelle liaison sans fil pour un projet domotique : ESP8266 ?

Bonjour à tous,

J’ai chez moi 4 arduinos: 1 “serveur” branché à un ordinateur qui commande 1 arduino “chauffage”, et deux arduinos “mesure de températures”.

Ils sont tous reliés en 433Mhz, le serveur orchestrant les appels et les réponses vers/des 3 autres arduinos.
J’ai un taux d’erreur important pour un débit très faible. C’est contourné par une détection des erreurs et la répétition des appels quand ça plante.

Ça fait des mois que je cherche à améliorer le système (soft, hard…) mais je commence à en avoir marre :slight_smile: (Trop de bruit? erreur dans mon soft/hard ? j’en sais rien :slight_smile: )

Du coup je pensais changer complètement de direction et passer sur un nouveau type de liaison sans fils.
L’ESP8266 semble un choix honnête, mais les quelques articles que j’ai pu lire sur le sujet me semble complètement disproportionnés: Je suis notamment tombé sur des articles ou les gars montent des serveurs web sur leur ESP8266 pour transférer des données entre deux arduinos…

Du coup voila mes questions:

  • Bouteille à la mer: Avez vous des idées pour améliorer la connexion 433 Mhz ? (Je ne rentre pas plus dans le détail de mon installation, ça fait 6 mois que je fais des modifs, je suis blasé :slight_smile: Mais je peux vous en donner si vous voulez !)
  • L’ESP8266: bon choix pour un appartement ? Sinon, que conseillez vous comme autre liaision sans fil?
  • Si on part sur un ESP8266: Y a t’il des librairies pour les faire communiquer de façon légère ? Le but est de remplacer une liaison série 433Mhz! Je veux du wifi simple: A la limite jusqu’à la couche IP … mais au dessus ça ne me parait pas utile

Merci d’avance!

Je veux du wifi simple: A la limite jusqu’à la couche IP … mais au dessus ça ne me parait pas utile

juste en dessous de la limite :wink: …ça répond peut être à l’objectif ?

Chercher des infos sur ESP8266 Mesh, je n’utilise pas , je dis juste que ça existe…
lien
lien

Merci!

Effectivement c'est le genre de librairie qui pourrait bien me convenir :slight_smile:

D'autres avis ? Propositions ? Avant que j'aille investir dans ces petits modules wifi

Je suis sur un projet similaire et perso je suis passe au RF avec de module hc 12 c est bcp plus fiable, en wifi je trouve la portée de l esp bcp trop faible

améliorer la connexion 433 Mhz

Tout dépend du matériel.
Peut-être éviter les modules RF chinois à 1€ la paire ?
Mais tu ne précise pas quels modules sont utilisés.

J'utilise un Aurel 433.920 MHz RTX-MID-5V et ça marche très bien.

@+

Bien sur je ne parle pas de ces modules vendu par paire 1 module tx et l autre rx
Pour ceux ci, le tx fonctionne super bien mais le rx est nul
De toute façon ces modules sont utilisés par la transmission rf brute, géré par ex par la librairie rcswitch pour commander par ex des prises rf chacon ou un porte de garage etc
On utilise pas ce genre de module pour la communication entre 2 esp pour des données de temp par ex
Pour faire ca je parle du module hc-12, c est un vrai port serie radio que tu utilises comme n importe quel port serie avec par ex la librairie arduino SoftwareSerial qui fonctionne tres bien, a partir de la tu as une liaison serie bidirectionnelle en 9600 bauds et puissance rf 100mw par exemple c est la config par défaut, perso avec cette config j envoie les données de la cave au grenier a travers les murs a l aise

Bien sur je ne parle pas de ces modules vendu par paire 1 module tx et l autre rx
Pour ceux ci, le tx fonctionne super bien mais le rx est nul
De toute façon ces modules sont utilisés par la transmission rf brute, géré par ex par la librairie rcswitch pour commander par ex des prises rf chacon ou un porte de garage etc
On utilise pas ce genre de module pour la communication entre 2 esp pour des données de temp par ex
Pour faire ca je parle du module hc-12, c est un vrai port serie radio que tu utilises comme n importe quel port serie avec par ex la librairie arduino SoftwareSerial qui fonctionne tres bien, a partir de la tu as une liaison serie bidirectionnelle en 9600 bauds et puissance rf 100mw par exemple c est la config par défaut, perso avec cette config j envoie les données de la cave au grenier a travers les murs a l aise

Apres tu peux faire en wifi, mais dans mon projet actuel je traverse a peine un mur et un plafond avec le wifi de l esp, c est vraiment pas stable

L’ESP8266: bon choix pour un appartement ?

dépend de la taille de l’appartement, du positionnement de la box, de la nature des murs à traverser…
Si la box est cachée derrière un aquarium et qu’en plus il faut traverser un ou deux murs de béton pour atteindre un capteur … il y aura un problème…

Dans ce genre d’environnement ‘à obstacles’ le 433Mhz puissant du HC-12 passera mieux, idem pour le LoRa très sensible en 433 ou en 868MHz

Bien entendu dans toutes ces liaisons radio l’antenne joue un rôle important (il existe des cartes à ESP8266 avec une embase IPEX / U.FL permettant de mettre une antenne avec un meilleur gain que l’antenne zig zag imprimée)

Merci pour vos réponses :slight_smile:

Mais tu ne précise pas quels modules sont utilisés.

J'ai eu le temps d'en essayer des tonnes: J'ai commencé avec les fameux modules chinois à 1€ la paire comme dit CelticLord. Pas top du tout.

J'en ai testé des un peu mieux puis ensuite je suis passé sur des open smart. Mais rien y fait... La connexion reste pourrie.

Pour faire ca je parle du module hc-12, c est un vrai port serie radio que tu utilises comme n importe quel port serie avec par ex la librairie arduino SoftwareSerial qui fonctionne tres bien

Je n'ai pas testé SoftwareSerial. Je suis resté sur VirtualWire, que je n'ai pas remis en cause.... A voir si ça fait la différence

dépend de la taille de l'appartement, du positionnement de la box, de la nature des murs à traverser.....
Si la box est cachée derrière un aquarium et qu'en plus il faut traverser un ou deux murs de béton pour atteindre un capteur .. il y aura un problème...

Comme dit plus haut. Pas de problème de box ou autre. Je veux rester sur une liaison bas niveau. Le wifi est un choix de technologie hard. Je ne veux pas passer par des couches MAC-IP-HTTP ...

L'appartement est petit. Le wifi devrait avoir la bonne portée.

En gros aujourd'hui je tourne sur des modules 433Mhz de qualité (je pense) raisonnable, et je n'ai pas les résultats attendus. J'ai testé beaucoup de chose avec les émetteurs récepteurs 433Mhz et je cherche soit une solution que je n'ai pas encore envisagée, soit à changer de techno.

J'ai testé beaucoup de chose avec les émetteurs récepteurs 433Mhz et je cherche soit une solution que je n'ai pas encore envisagée, soit à changer de techno.

As-tu testé les transceivers HC-12 ? ils comportent une bonne puce radio + un microcontrolleur, la puissance d'émission peut atteindre 100mW, ...... rien à voir avec les petits modules 433 MHz basiques de télécommandes , jouets, stations méteo..... sur lesquels tout le mode se rabat, ni mee avec les modules Aurel, à récepteurs superhétérodynes ou pas.

Et , toujours en 433 (ou 868) il ya le LoRa qui a une modulation très particulière et des récepteurs trsès sensibles permettant de bonnes portées. LoRa avec son étalement de spectre, peut 'passer' même en cas de signaux 433Mhz intempestifs venant polluer la bande.
C'est peut être le cas dans ton environnement, d'où le besoin de redondance et correction d'erreurs.
Chez moi (immeuble) une visualisation de la bande 433Mhz montre dans 2 zones de la bande des apparreils du voisinage qui 'crachent' en permanence , 24/24 leurs signaux.

Comme dit plus haut. Pas de problème de box ou autre. Je veux rester sur une liaison bas niveau. Le wifi est un choix de technologie hard. Je ne veux pas passer par des couches MAC-IP-HTTP ...

J'ai vu et répondu sur le Mesh ESP8266 , disons alors que la référence à la box (signal puissant, antennes MIMO...) souligne les problèmes de propagation que peut poser le WiFi . Il faudrait sur le terrain ('ton terrain') faire des essais de communication directe entre 2 ESP8266 en 'Mesh' ou autres avant de conclure.
C'est un usage particulier qui n'a pas encore fait l'objet de retours içi.

Je n'ai testé ni l'un ni l'autre.

Effectivement ça a l'air intéréssant, mais j'ai un deux pièces de 30m2 ! Et la communication n'est pas parfaite même quand les modules 433Mhz sont dans la même pièce sans obstacle entre.

Je devrais qu'en même m'en sortir avec des petits modules qui ne sont même pas les premiers prix chinois !

Ces modules ne sont pas donnés, si je dois équiper toute la clique d'arduinos avec ...

Je log les erreurs et j'en fais des graphs pour essayer de comprendre
Les 4 courbes correspondent aux 4 signaux 433Mhz que j'envoie de l'arduino maitre aux esclaves. Si je n'ai pas de réponse, je log une erreur. Les courbes correspondent à la somme des erreurs pour une commande donnée.

D et C sont sur le même arduino. QT commence en fin de journée parceque j'ai renommé la "clé" qui permet d'identifier l'arduino. Mais dans la réalité, des erreurs existent avant également


https://www.noelshack.com/2019-04-7-1548547250-erreurs-arduinos.png
(L'image ne semble pas s'afficher avec la balise image)

Pour N et M, on a un appel toutes les 2 minutes, avec retry toutes les 10s si jamais ça passe pas.
Pour D et C, c'est la commande du chauffage. Ca dépend de la saison du coup :slight_smile:

Je n'y vois pas de logique particulière. Ca peut fonctionner avec un taux d'erreurs haut mais raisonnable. Et de temps en temps ça s'emballe.

Effectivement ça a l'air intéréssant, mais j'ai un deux pièces de 30m2 !

OK je vois mieux

la première chose à laquelle je pense : beaucoup de bidules en 433 dans le voisinage : écrasements , collisions ?

Un petit récepteur SDR + son soft (SDR# , GQRX) permettent de voir l'encombrement de la bande, en particulier en immeuble

De mon côté pas d’autres appareils connus qui sont sur la même frequence.

Larduino maître sequence les appels avec un timeout enorme de 10s avant retry pour mettre hors de cause les esclaves.

La théorie des voisins qui polluent la bande est plausible, c’est pour cette raison que je commençais a m’orienter vers une autre techno. Ceci dit je n’ai pas vérifié.

Je vais me renseigner sur les récepteurs SDR.

Est ce qu’on pourrait imaginer d’autres causes ? Logicielles ou matérielles.

Le fait que ca peut très bien fonctionner pendant certaines periodes rend l’investigation difficile. A chaque tentative de modif impossible de dire si elle est viable ou non sans faire tourner le systeme un minimum de temps .

SDR

Je pensais à ces petites clefs USB qu’on trouve maintenant aux alentour de 7€
(avec les puces RTL2832U et R820T2) décrit içi
recpteur SDR.jpg

Voilà un scan de la bande 433-434 Mhz avec quelques signaux permanents non identifiés et deux signaux forts à spectre large venant écraser tout ce qui arrive en 433,92 Mhz
les fautifs içi : des télécommandes bon marché pour prise électrique, un sonde de température extérieure LIDL…
.
Et encore , on n’assiste pas içi aux ouvertures de portières de voiture sur le parking mitoyen, ni aux les ouvertures/fermetures centralisées de stores… (concentrées sur certaines plages horaires)

433b.jpg
Bien entendu ce n’est pas forcément LA cause principale de tes soucis mais en 433 Mhz on ne peut pas faire l’impasse sur l’encombrement de la bande par des émetteurs envahissants.

Ci dessous la télécommande LIDL (Silvercrest) pour prises électriques qui occupe le terrain
signal fort.jpg

y compris en 866 MHz avec ses harmoniques (bande horizontale bleu clair)
868.jpg

Les récepteurs qu’on utilise en général sont très peu sélectifs. ( avantage aux superhétérodynes)

Si on part du constat que le 433MHz c'est la jungle, pour ton projet de liaison bidirectionnelle robuste il me semble qu'il faut une radio performante.

le HC-12 , émetteur /récepteur cité (environ 2,5€) est basé une vraie puce radio (Silicon Labs SI4463)
-gestion des canaux , dont permettant de se placer dans une zone plus calme de la bande
-pmodulations plus performantes que le 'tout ou rien OOK' courant
-transceivers à émetteur puissant + récepteur sélectif

Effectivement ça a l'air intéréssant, mais j'ai un deux pièces de 30m2 ! Et la communication n'est pas parfaite même quand les modules 433Mhz sont dans la même pièce sans obstacle entre.

En gros aujourd'hui je tourne sur des modules 433Mhz de qualité (je pense) raisonnable

Ces deux informations sont contradictoires.

Dans ma maison j'utilise le 433MHz, le WIFI et du NRF24L01 (2.4GHz).
Avec un RTX-MID-5V 433MHz je passe 8 mètres avec un mur de pierre de 60cm à l'aise.
Le WIFI ne passe pas le mur de pierre.
Avec des NRF24L01 ça passe mais c'est vraiment limite, et j'ai une vraie antenne sur l'émetteur / récepteur principal :

Si tu veux éviter la lourdeur du WIFI, dans un petit appartement, tu pourrais essayer le NRF24L01.
Ce module coûte moins d'1€.
Tu fais un petit essai avec deux ARDUINOs + NRF24L01 que tu places à différents points de l'appartement et tu en auras le cœur net.

Si je passe 8 mètres dans une grande maison de pierre, dans un petit appartement, cela devrait être plus facile.
Et le NRF24L01 est très réactif, rien à voir avec le WIFI.

Mais je reste persuadé que le 433MHz avec du HC-12 ou RTX-MID-5V devrait passer encore mieux.

@+

Bonjour,

Comme d'habitude, il y a de multiples solutions. Regardez bien les avantages et les inconvénients avant de décider.

J'ai débuté comme vous, avec des Arduino et des radios de bonne qualité (xbee et nRF24). L'arrivée de l'ESP8266 m'a complètement fait virer de bord, je suis passé au Wifi partout, car j'y ai trouvé de multiples avantages :

  • d'abord, les protocoles IP, super performants et gérés de manière transparente par l'ESP et tout l'environnement Wifi. Chaque ESP peut fonctionner en serveur, en client, ou les deux... Les bibliothèques ESP sont faciles à utiliser : connection, échange de messages, déconnection. Pas besoin de gérer une liaison série. Ca c'est le minimum,
  • le Wifi est sécurisé. En milieu urbain, inutile qu'un rigolo brouille ou commande votre domotique à votre place,
  • ensuite, avec le Wifi, si vous le voulez, les interfaces bouton, claviers, écrans peuvent être rangées au placard et remplacées par n'importe quel téléphone portable, tablette ou PC. On peut faire très simple et très performant soi-même avec un peu de html, cf. le tuto de J-M-L sur les "techniques avancées", ou utiliser un serveur perso ou externe, cf. les nombreuses descriptions sur le forum,
  • avec l'ESP il y a aussi la mise à jour OTA, directement depuis l'IDE Arduino, sans accéder physiquement au bidule. Quant on y a goûté...
  • le système devient interconnectable à des machines plus puissantes, comme le Raspi, en un mot, c'est sans limite.

Seul pré-requis, être dans la couverture du Wifi, ce qui exclut la pleine nature (encore qu'avec la 4G...). Si vous êtes en milieu domestique, il est facile d'augmenter la couverture Wifi avec un répéteur, un point d'accès, le tout relié en filaire (Ethernet) ou par courants porteurs. Il suffit de déballer le joujou et de le brancher, grâce aux protocoles IP, ça s'autodé...de.

Bref, regardez bien les différents projets publiés avant de vous lancer.

Seul point impératif, bannissez la combinaison Arduino + ESP01 avec les commandes AT. C'est poussif, compliqué et m...ique. Utilisez un ESP8266 sur une carte NodeMCU ou Wemos D1. Ca se programme avec l'IDE Arduino et il y a un grand nombre de bibliothèques pour tous les goûts. En plus, c'est moins cher que la combinaison Arduino + (bonne) radio.

Bonne bidouille,

MicroQuettas

le HC-12 , émetteur /récepteur cité (environ 2,5€) est basé une vraie puce radio (Silicon Labs SI4463)

J'avais cru voir 20€ je ne sais plus ou ... à 2,5€ pièce, effectivement ça devient intéréssant! (Mis à part le fait que je vais encore devoir désouder 4 émetteurs et 4 récepteurs :slight_smile: )

Re-bonjour à tous,

Me revoila après avoir investi et reçu mon récepteur RTL2832U!

J’ai pris quelques captures de ce qui se passe lorsque mes arduinos communiquent.

Le comportement un peu “louche” qui me vient à l’esprit et le fait que les différents émetteurs n’ont pas l’air d’être centré sur la même fréquences.
Je ne sais pas comment les récepteurs réagissent vis à vis de ce genre de comportement, mais est ce que cela pourrait expliquer mes problèmes de communication?

Da manière générale, avez vous un avis sur ces captures?

Description des images:

  • Envoi2 : capture pendant l’émission de l’arduino maitre
  • Reception2: capture pendant l’émission d’un arduino esclave
  • Norecep2: Focus sur 3 emissions successives de l’arduino maitre sans receptions
  • Recep3: Capture pendant l’émission d’un arduino esclave, à la suite de plusieurs emissions de l’arduino maitre sans succès
  • Repartition: Capture “générale” des communications entre 3 arduinos

Par ailleurs, j’utilise Gqrx pour analyser le signal. J’ai tenté d’enregistrer une capture durant une minute afin de pouvoir analyser le signal après coup tranquillement, mais je n’ai pas réussi à rejouer ma capture. Si quelqu’un connait ce logiciel… Je suis preneur d’informations

Merci à tous!

Emmanuel

recep3.png

repartition.jpg