Sorry, you must be logged in to use the shoutbox!

Auteur Sujet: Envoyer des données avec esp8266  (Lu 2344 fois)

draeguob

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Envoyer des données avec esp8266
« le: décembre 18, 2017, 04:34:49 pm »
Bonjour à tous,

je souhaiterai envoyer des données (températures par exemple) sur le site ThingSpeak avec le module esp8266 connectée à une Arduino Uno.

Avez-vous déjà essayer ? Si oui, j'aimerai bien un petit coup de main n'étant pas expert sur ce type de configuration.

J'ai trouvé des choses sur le net mais rien de concluant.

Par avance, merci pour vos réponses

fontaine.jp

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #1 le: décembre 18, 2017, 05:57:53 pm »
Salut,
tu as vu ce qu'il y avait dans le menu "carte esus" ?
J'aimerais bien l'utiliser aussi mais je n'ai pas eu le temps de tester le module. Je voudrais l'utiliser via une carte UNO mais je n'ai pas encore compris comment fonctionnait toutes les commandes AT et surtout la différence entre les modes STATION, ACCES POINT et BOTH.
Il y a quelques sites en français comme celui-ci http://julien.coron.free.fr/?p=928 mais les autres sont en anglais.
Pour info j'essaie de faire des blocs pour le module esp-01. Je partagerais quand ce sera au point (mais si tu veux tester et que tu as le esp-01 je t'envoie ce j'ai fait pour l'instant ?)
A +

draeguob

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #2 le: décembre 18, 2017, 06:55:49 pm »
Oui, ce sera avec plaisir.
Je poursuis mes investigations.

J'ai vu que l'on pouvait faire un test avec "COMserie.find("text")" mais je ne l'ai pas trouvé dans les blocs Communication logicielle.
A voir si cela est utile...

Merci pour ta réponse

Bzhtitude

  • Full Member
  • ***
  • Messages: 105
  • Ad astra ...
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #3 le: décembre 18, 2017, 07:32:21 pm »
Salut,

Sujet intéressant , je m'y suis mis il y a quelques temps avec un "vieux" module esp 01 et un plus recent esp 06 ... j'ai aussi un esp 13 mais lui, il fait de la résistance avec les commandes AT.

Pour les modes, j'utilise seulement STATION (mode1) et pas l'autre (AP) car je me connecte déjà à des points d'accés.

Sinon, pour envoyer des données via un ESP, ça marche très bien en mode client, je n'ai pas encore testé en mode serveur, mais j'ai beaucoup avancé depuis...Je l'ai fait avec un méga et l'ESP01 en mode AT, c'est assez bas niveau, je regarde en ce moment du coté de cette bibliothèque https://github.com/bportaluri/WiFiEsp  qui me parait assez intéressante, si tous mes tests fonctionnent bien, je ferais surement quelques blocs pour cette librairie ( je n'aurais que quelques modifs à faire sur les blocs que j'ai déjà faits car la syntaxe ressemblera beaucoup)

J'utilise le méga pour ne pas a avoir à implémenter une liaison série logicielle tout en ayant accés à la console d'arduino, mais en baissant le bitrate à 9600 , ça devrait marcher, les quelques essais pour le moment semblent corrects.

Si vous avez besoin de mes sources pour les commandes AT , je peux les envoyer sans soucis, c'est par contre de l'arduino pur pour le moment (pas de blocs avant 2018).

A+




« Dernière modification: décembre 18, 2017, 07:35:45 pm par Bzhtitude »

fontaine.jp

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #4 le: décembre 18, 2017, 08:54:02 pm »
voila ce que j'ai pour l'instant.
ce n'est pas encore testé.

fontaine.jp

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #5 le: décembre 18, 2017, 09:08:55 pm »
Merci pour le lien bzhtitude, pour les sources en ino je veux bien.
Ce que je voulais faire avec les commandes AT c'est d'initialiser le module en mode 1, se connecter sur un ssid avec un password et d'attribuer une adresse ip fixe pour faire serveur (donner la température ou l'état d'un bouton)
question :
comment utiliser AT+CWDHCP et AT+CIPSTA ?
A+

draeguob

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #6 le: décembre 18, 2017, 09:17:35 pm »
Merci à vous deux

2018, c'est pour bientôt...

Je vais tester demain, et vous rends compte

A +

Bzhtitude

  • Full Member
  • ***
  • Messages: 105
  • Ad astra ...
    • Voir le profil
Re : Re : Envoyer des données avec esp8266
« Réponse #7 le: décembre 19, 2017, 12:01:12 am »
Ce que je voulais faire avec les commandes AT c'est d'initialiser le module en mode 1, se connecter sur un ssid avec un password et d'attribuer une adresse ip fixe pour faire serveur (donner la température ou l'état d'un bouton)

Pour la configuration du mode et diverses options (vitesse du serial ...) je fais ça avec le programme 1 directement sur la console de l'IDE, les réglages sont enregistrés dans l'ESP, pas besoin de revenir dessus une fois que c'est fait. J'utilise aussi cette doc http://bbs.espressif.com/download/file.php?id=450 et celle ci http://www.espressif.com/sites/default/files/4b-esp8266_at_command_examples_en_v1.3.pdf.

Pour l'IP fixe... je ne m'en sers pas, le DHCP me retourne toujours la même IP dans l'établissement (de toute façon, je n'ai pas la possibilité de le "bidouiller")  et à la maison, j'ai accès à ma box pour "fixer" l'IP. Je fais travailler l'ESP en DHCP, ça évite des manipulations inutiles à mon avis.

Le programme 2 est un programme que j'avais fait pour un MOOC de chez FUN. C'est un envoi en mode client sur un site externe d'un PATCH avec un fichier JSON ... il est trop compliqué à l'heure actuelle et ne répond pas vraiment à ta demande pour un serveur mais ça te donne des pistes pour la connection à un AP et la connection à un serveur distant. Je vais surement me replonger dedans mercredi après midi et proposer une version beaucoup plus simple, ainsi qu'un programme en mode serveur hébergeant une "petite" page HTML maison avec envoi de paramètres (potentiomètre ou autre).
L'utilisation de la librairie me parait beaucoup plus simple, mais je n'ai pas encore vraiment testé.

J'y pense, le module wifi demande pas mal de jus ( plus de 200mA d'après divers forum lors de la connexion). J'ai eu quelques soucis avec ça, j'ai donc mis une alim externe sur le méga pour que ça fonctionne bien, l'alimentation par le cable USB "peut" suffire mais je ne mise plus dessus après une grosse frayeur avec un DD externe et des manips sur l'ESP...

Merci à vous deux

2018, c'est pour bientôt...

Je vais tester demain, et vous rends compte

A +

Il se peut que ce soit avant... mais il reste encore pas mal de boulot et de tests et la fin d'année approche vite ;)

A+

#include "SoftwareSerial.h"

SoftwareSerial esp8266(10, 11); // RX, TX

void setup()
{
  Serial.begin(9600);
  esp8266.begin(9600); // à régler à 115000 au départ
  delay(1000);
  Serial.println("BZH commandes AT");
  Serial.println("Envoyer cr+ln gràce à la console.");
}
void loop()
{
  while (Serial.available()) { 
    esp8266.write(Serial.read());   
  }
 
  while (esp8266.available()) {
   Serial.write(esp8266.read());   
  }
}

Edit : le programme est trop gros pour passer en balise "code", je le joins en .txt
[/code]
« Dernière modification: décembre 19, 2017, 06:47:26 pm par Bzhtitude »

Bzhtitude

  • Full Member
  • ***
  • Messages: 105
  • Ad astra ...
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #8 le: décembre 19, 2017, 07:39:56 pm »
Bonsoir,

Résultats des test de la bibliothèque : Concluant !

Ca fonctionne parfaitement, J'ai repris le code de demo pour le serveur embarqué, je n'ai eu qu'à très légérement le modifier et j'ai envoyé le tout dans l'arduino...

Résultats sans appel, aucun soucis, ça a fonctionner du 1er coup, sans avoir à trainer les commandes AT et les calculs de longueurs de chaines etc... Les modifications pour les blocs déjà existants sera assez simple vu que cette librairie reprends les mnémoniques utilisés par la bibiothèque standart. Bref, de mon point de vue, que du bonheur. Je ne testerai pas le mode client ce soir, mais vu la première impression, je n'ai pas trop de doute pour la suite.

Ci joint le code et des captures d'écran pour vous montrer les résultats ...


Bon courage pour vos tests.
« Dernière modification: décembre 19, 2017, 08:05:06 pm par Bzhtitude »

fontaine.jp

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #9 le: décembre 19, 2017, 07:41:37 pm »
Bzhtitude
Merci pour les fichiers.
Donc si j'ai bien compris, tu paramètres (avec le programme 1) le module avec les commandes at et elles restent en mémoire après mise hors tension ?
La vitesse de liaison est de 115200 par défaut, pourquoi passer ensuite à 9600 ?
Comme le module fonctionne en 3.3 V as-tu adapté les signaux Rx/Tx vers l'esp-01 ?
Pour l'alimentation c'est noté.

draeguob
Tu peux utiliser mon site http://lesormeaux.net/blockly@rduino/ pour ne pas avoir à tout réécrire.
Si jamais tu ne trouves pas un bloc spécifique, tu as la possibilité de le remplacer par le bloc "code arduino" car tu peux y écrire ce que tu veux.
Merci pour les tests, en général je le fais pendant les vacances car c'est le seul moment où j'ai un peu de temps devant moi.

fontaine.jp

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #10 le: décembre 19, 2017, 07:50:38 pm »
Génial c'est exactement ce que je voulais faire :)
par contre le mot de passe de ton wifi est visible

Bzhtitude

  • Full Member
  • ***
  • Messages: 105
  • Ad astra ...
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #11 le: décembre 19, 2017, 07:57:28 pm »
Bzhtitude
Merci pour les fichiers.

Avec plaisir,

Donc si j'ai bien compris, tu paramètres (avec le programme 1) le module avec les commandes at et elles restent en mémoire après mise hors tension ?
La vitesse de liaison est de 115200 par défaut, pourquoi passer ensuite à 9600 ?
Comme le module fonctionne en 3.3 V as-tu adapté les signaux Rx/Tx vers l'esp-01 ?

Oui , je fais toute la config avec le programme 1 , ça reste en mémoire, il y a plusieurs commandes AT en deprecated ou pas, les 2 fonctionnent jusqu'à présent, J'ai même l'impression que le dernier AP ainsi que le MDP est gardé en mémoire.... d'ailleur je vais modifier la PJ pour changer le MDP (trop tard mais j'ai confiance).... mais bon à moins de venir dans le jardin, ce sera dur de pirater ma box.

Pour le changement de vitesse ... je suis très prudent avec la "haute vitesse" et mes câblages assez...euh ... approximatifs , et puis vu la quantité d'infos que je transmet , la vitesse "traditionnelle" à 9600 va bien , mais je n'ai pas vraiment d'autres explications techniques, si de ton côté, ça fonctionne bien en 115200 , je ne vois aucune raison de modifier,

Pour le changement de niveau, j'ai la mini-carte qui fait l'adaptation pour l' ESP01, et le module ESP06 est équipé lui aussi en double alim 5/3.3 donc je ne me suis pas penché sur les soucis de changement de  niveaux. A mon avis les schémas avec diviseurs de tensions sont bien suffisants, mais le top est quand même les adaptateurs de tensions intégrés.

Le lien vers le Shield utilisé pour les tests --> http://wiki.seeed.cc/Grove-UART_Wifi/

a+
« Dernière modification: décembre 19, 2017, 08:44:18 pm par Bzhtitude »

fontaine.jp

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #12 le: décembre 19, 2017, 08:36:30 pm »
juste une dernière question, quelle mini-carte utilises-tu pour adapter l'esp-01 ?

Bzhtitude

  • Full Member
  • ***
  • Messages: 105
  • Ad astra ...
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #13 le: décembre 19, 2017, 08:42:23 pm »
C'est cette carte là, http://www.dx.com/fr/p/esp-01-esp8266-serial-wi-fi-wireless-module-adapter-module-3-3v-5v-compatible-for-arduino-404644

Je l'ai acheté sur ce site , faut pas être trop pressé, je ne sais pas si on peut la trouver ailleurs, mais comme c'était vendu avec l'ESP01... j'ai pas vraiment hésité.

fontaine.jp

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : Envoyer des données avec esp8266
« Réponse #14 le: décembre 19, 2017, 09:29:02 pm »
Merci,
Je vais reprendre tout ça à tête reposée et je posterai le résultat ici une fois le projet terminé.
A+