[Conseil] Arduino Uno + ESP8266 piloté par application Telnet

Bonjour à tous,

J’ai pour projet de réaliser un peu de domotique clairement pour le loisirs et la satisfaction de faire communiquer des éléments entre eux.

Ma première étape est de piloter un insert à granulé depuis un Smartphone (via TELNET) par le contact thermostat, je possède un Arduino Uno, un ESP8266 et une carte relais. A termes, c’est de piloter les volets, le chauffage etc.

Je pilote l’ESP en ayant créé une liaison série sofware et je lui envoie les commandes AT, pas de soucis.
J’arrive à envoyer des données, les lire et y répondre. Par contre pas moyen d’accéder à internet avec mon arduino, les commandes AT en créant des liaisons UDP ou TCP me génèrent des erreurs systématiques.

Quand je cherche sur des projets similaires, je vois que tout le monde ou presque utilise les librairies Wifi8266.h et WifiUDP.h.

Ces librairies me génèrent des erreurs de compilations et je me pose la question à savoir si techniquement les composants sont “adaptés”? Est-ce que ces librairies ne sont pas faites pour l’ESP en programmation directe, sans Arduino? J’utilise l’IDE en version 1.8.7.

Je suis récent sur la plateforme Arduino et n’ai fait que des projets de bases similaires à ce que l’on trouve dans les exemples fournis avec les librairies.

Merci pour vos conseils.

Salut

C’est écrit dans le fichier ESP8266WiFi.h :
ESP8266WiFi.h - esp8266 Wifi support.

Je ne comprends pas bien ce que tu es en train de dire.
Tu veux dire que tu inclus ESP8266WiFi.h dans un sketch pour une UNO ? Pourquoi faire ?
Si c’est bien le cas, c’est une mauvaise idée. La UNO a besoin de SoftwareSerial, c’est tout.

@+

Effectivement, j'inclue les librairies ESP8266Wifi.h, tout comme NTPClient.h & celle pour l'UDP dans le sketch UNO.
J'ai bien créé le softwareserial pour la discussion entre les deux éléments, ça, pas de soucis.

Après coup, en lisant ta réponse, j'en déduis que je dois programmer également l'ESP8266 individuellement?
Je vais regarder ça de plus prêt ce soir.

Merci pour ta réponse hbachetti.

Après coup, en lisant ta réponse, j'en déduis que je dois programmer également l'ESP8266 individuellement?

A mon sens, le couple UNO / ESP8266 est un boulet au pied.
Mieux vaut utiliser l'ESP8266 tout seul et éventuellement passer sur un modèle avec plus de GPIO si besoin.

L'ESP8266 reçoit des commandes AT grâce à un firmware particulier. Si tu écrases ce firmware par ton code, adieu les commandes AT.

@+

Ok,

Merci pour ces éclaircissements, pour le premier je garde le couple des deux, une fois que j'y arriverai, je migrerai tout sur un autre ESP seul. J'ai un peu peur de flasher l'esp.

Salut,

C'est quand même plus logique de faire l'inverse : commencer par un ESP seul puis ajouter un Arduino si nécessaire :slight_smile:
D'autant plus, que l'IDE est la même ainsi qu'une grosse majorité des librairies. Surtout que pour migrer le couple Arduino + ESP vers ESP tout seul, tu auras sans doute une bonne partie a re-développer. Je dis ca, après évidement chacun fait comme il le sent.

Unreal_Reaver:
J'ai un peu peur de flasher l'esp.

Quel modèle d'ESP as-tu ?
Si c'est un NodeMCU ou n'importe lequel avec un port USB ... flasher un ESP consiste a relier le dit ESP au PC et cliquer sur un bouton. Non seulement tu ne peux pas le bricker (parce que si qq chose foire ... ben tu n'as juste qu'a reflasher) mais du coup, tes développements sont plus simples car tout est centralisé sur un seul "objet" donc un seul truc a surveillé pour débugger.
Pour mes propres projets, j'ai laissé tomber ces modèles pour des plus nus c'est a dire sans d'usb comme l'ESP-201 car il consomme beaucoup moins tout en gardant un max de GPIO.

A+

YES, +1

Désolé, absent un petit moment, je viens de voir vos réponses.

J'ai un ESP8266-01. Sans port USB donc.
Je galère pas mal avec les deux, pas évident, le software serial est blindé de messages et j'ai parfois des télescopages, des lectures de fractions de strings, sans compter que je perds des valeurs par moment, probablement à cause de dépassements du buffer de l'esp malgré le buffer réglé au max...

Je me tâte à changer de technique :confused:

Oui, pas évident de débuter avec un -01 : perso, j'ai débuté avec un NodeMCU car la liaison USB facilite grandement le débugage ... mais a nouveau, avec l'ESP tous seul pour resté dans la simplicité.

Oui, pas évident de débuter avec un -01 : perso, j'ai débuté avec un NodeMCU car la liaison USB facilite grandement le débugage

Tout à fait. NodeMCU pour le maquettage, ensuite version finale module ESP8266 sur PCB, avec un connecteur pour le convertisseur USB / série + 2 poussoirs reset et flashage.

Mais on peut aussi intégrer un NodeMCU sur un PCB si l'encombrement n'est pas un problème.

@+

hbachetti:
Tout à fait. NodeMCU pour le maquettage, ensuite version finale module ESP8266 sur PCB, avec un connecteur pour le convertisseur USB / série + 2 poussoirs reset et flashage.

Oui, je vois qu'on a les même méthode.
Sauf que J'ai mis mes ESP-201 sur support et je les flash sur une planche a pain : ainsi, je diminue au strictement minimum ce que j'ai sur mon PCB :slight_smile:

A+