Tous les capteurs reliés au RPI par Wifi avec module ESP8266
Modérateur : Francois
- Jean-Marie
- Raspinaute
- Messages : 240
- Enregistré le : sam. 24 janv. 2015 18:01
- Localisation : Arlon, Belgique
- Contact :
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Hello les amis,
J'ai terminé de configurer mon portable Win 8.1, d'y installer les logiciels que j'utilise habituellement et d'y copier les données de mon ancien PC. Curieusement, pendant toutes ces manipulations, mon PC ne m'a pas donné un seul écran bleu !
Suite au dernier message de SMBA38 concernant la dernière version du SDK, je suis tombé sur un tutoriel récent (avril) pour la programmation de l'ESP en C sous Windows. Et bien, mes amis, c'est pas du gâteau !!!
Cela me conforte dans mon idée que c'est beaucoup facile de programmer mon µC externe qui commande l'ESP que de programmer directement l'ESP en C. Ceci dit, j'avoue que je n'ai jamais vraiment approfondi ce qu'il faut faire pour programmer l'ESP en LUA.
Je suis donc prêt à commencer quelques tests avec horloge et MOSFET, mais mon temps est à partager avec la pelouse qui attend désespérément d'être tondue et l'un ou l'autre bricolage mécanique.
J'ai terminé de configurer mon portable Win 8.1, d'y installer les logiciels que j'utilise habituellement et d'y copier les données de mon ancien PC. Curieusement, pendant toutes ces manipulations, mon PC ne m'a pas donné un seul écran bleu !
Suite au dernier message de SMBA38 concernant la dernière version du SDK, je suis tombé sur un tutoriel récent (avril) pour la programmation de l'ESP en C sous Windows. Et bien, mes amis, c'est pas du gâteau !!!
Cela me conforte dans mon idée que c'est beaucoup facile de programmer mon µC externe qui commande l'ESP que de programmer directement l'ESP en C. Ceci dit, j'avoue que je n'ai jamais vraiment approfondi ce qu'il faut faire pour programmer l'ESP en LUA.
Je suis donc prêt à commencer quelques tests avec horloge et MOSFET, mais mon temps est à partager avec la pelouse qui attend désespérément d'être tondue et l'un ou l'autre bricolage mécanique.
-
- Messages : 5
- Enregistré le : sam. 23 mai 2015 21:37
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonjour Jean-Marie,
Ceci est mon premier message, et je suis un peu désolé de débouler ici comme un chien dans un jeu de quilles (je n'ai même pas pris le temps de vérifier s'il y a une section pour se présenter ), mais il faut un début à tout....
En fait je voulais juste rebondir sur tes dernières remarques et te confirmer que, de mon point de vue, la voie NodeMCU/Lua est vraiment la plus rapide et la plus simple pour commencer à jouer avec un ESP8266.
Depuis que je suis passé sous NodeMCU j'ai carrément abandonné le firmware AT et mes arduinos prennent la poussière au fond d'une boite (bon, ça, c'est temporaire).
Après, je ne dis pas non plus que tout est rose.
La bête est parfois instable et il reste peu de RAM pour bosser, mais on apprend très vite à être économe de ses octets et à modulariser son code.
On peut aussi se construire un NodeMCU sur mesure, allégé des modules inutiles (y compris en ligne).
Si en plus tu as un peu d'expérience de la programmation par événements (façon javascript, par exemple), alors ce sera d'autant plus simple.
L'avantage, c'est que les exemples de code ne manquent pas.
Et si jamais tu touches les limites de NodeMCU, il ne faut pas oublier que l'IDE Arduino supporte maintenant l'ESP8266, ce qui peut constituer une solution intermédiaire intéressante.
En parlant de pelouse, la mienne est tondue, mais ma centrale d'arrosage Gardena ayant rendu l'âme l'été dernier, elle va être remplacée courant juin par un ESP8266 couplé à un module 4 relais.
Je crois que je deviens un peu monomaniaque, je place des ESP partout...
Ceci est mon premier message, et je suis un peu désolé de débouler ici comme un chien dans un jeu de quilles (je n'ai même pas pris le temps de vérifier s'il y a une section pour se présenter ), mais il faut un début à tout....
En fait je voulais juste rebondir sur tes dernières remarques et te confirmer que, de mon point de vue, la voie NodeMCU/Lua est vraiment la plus rapide et la plus simple pour commencer à jouer avec un ESP8266.
Depuis que je suis passé sous NodeMCU j'ai carrément abandonné le firmware AT et mes arduinos prennent la poussière au fond d'une boite (bon, ça, c'est temporaire).
Après, je ne dis pas non plus que tout est rose.
La bête est parfois instable et il reste peu de RAM pour bosser, mais on apprend très vite à être économe de ses octets et à modulariser son code.
On peut aussi se construire un NodeMCU sur mesure, allégé des modules inutiles (y compris en ligne).
Si en plus tu as un peu d'expérience de la programmation par événements (façon javascript, par exemple), alors ce sera d'autant plus simple.
L'avantage, c'est que les exemples de code ne manquent pas.
Et si jamais tu touches les limites de NodeMCU, il ne faut pas oublier que l'IDE Arduino supporte maintenant l'ESP8266, ce qui peut constituer une solution intermédiaire intéressante.
En parlant de pelouse, la mienne est tondue, mais ma centrale d'arrosage Gardena ayant rendu l'âme l'été dernier, elle va être remplacée courant juin par un ESP8266 couplé à un module 4 relais.
Je crois que je deviens un peu monomaniaque, je place des ESP partout...
- Jean-Marie
- Raspinaute
- Messages : 240
- Enregistré le : sam. 24 janv. 2015 18:01
- Localisation : Arlon, Belgique
- Contact :
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Hello Cosmic Mac
Bienvenue ici et merci pour ton message encourageant, confirmant que l'utilisation de NodeMCU/LUA n'est pas si difficile. Peut-être que je m'y mettrai quand j'en aurai terminé avec l'ESP à transmission de données basse fréquence.
La compilation en ligne est tentante mais nécessite quand même des connaissances car il faut faire des choix, en particulier il faut choisir une "branche" sans expliquer ce qui fait la différence entre ces branches.
Quelle est, à ton avis, et à l'avis des autres, la meilleure place pour aborder le travail avec SDK et LUA pour un Windowsien qui démarre de zéro, ça veut dire n'avoir jamais touché à "make.exe" ?
Bienvenue ici et merci pour ton message encourageant, confirmant que l'utilisation de NodeMCU/LUA n'est pas si difficile. Peut-être que je m'y mettrai quand j'en aurai terminé avec l'ESP à transmission de données basse fréquence.
La compilation en ligne est tentante mais nécessite quand même des connaissances car il faut faire des choix, en particulier il faut choisir une "branche" sans expliquer ce qui fait la différence entre ces branches.
Quelle est, à ton avis, et à l'avis des autres, la meilleure place pour aborder le travail avec SDK et LUA pour un Windowsien qui démarre de zéro, ça veut dire n'avoir jamais touché à "make.exe" ?
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonjour à tous.
Pour y voir un peu plus clair, voici un récapitulatif des Firmwares ESP8266 Remarques :
Tous les firmwares sont à base du SDK d’Espressif.
Certains firmwares ne sont pas mis à jour rapidement avec le dernier SDK d’Espressif.
Espressif propose une machine virtuelle Linux avec toute la chaine de compilation déjà configurée.
Avec cette machine virtuelle, c'est assez simple de recompiler le SDK ou un programme en C.
Entre deux SDK Espressif indique des patchs de correction de bugs, mais il faut recompiler le SDK.
Espressif ne donne pas les sources du SDK, il donne seulement des fichiers
.h (headers, prototypes des fonction, types et structures)
.a (Librairies statiques compilées)
.ld (Directives pour le Linker).
Les seuls sources données par Espressif sont ceux de l'application "Commandes AT" ce qui permet à l'utilisateur d'appliquer des modifications aux sources, par exemples en ajoutant de nouvelles commandes AT .
NodeMcu procure les sources de l'interpréteur Lua.
On peut également récupérer les source de l'IDE ESP8266 / Arduino.
Avec les sources d'une application et les librairies compilées du SDK, on utilise un Makefile pour compiler et Linker cette application avec le SDK(pour générer des fichiers .bin qui constitueront un firmware qui serra flashé en mémoire).
Les commandes AT nécessitent un microcontrôleur pour dialoguer avec l’ESP8266 et lui envoyer via une liaison série des commandes AT.
Lua est un langage orienté réseau on peut avec 12 lignes de code implémenter un serveur Telnet et prendre la main via le Wifi sur la console Lua.
Avec lua on peut organiser la mémoire Flash en fichiers.
IDE ESP8266 / Arduino.
Possibilité d’utiliser les librairies de l’Arduino.
Possibilité d’organiser la mémoire flash en fichiers ] https://github.com/pellepl/spiffs (pas testé)
Micro python (Pas testé, juste flashé pour voir si ça tourne).
https://learn.adafruit.com/building-and ... h-firmware
https://s3.amazonaws.com/adafruit-downl ... 2_2015.zip
https://learn.adafruit.com/downloads/pd ... sp8266.pdf
Pas de possibilité de conserver les scripts python en mémoire flash.
Comme il y a beaucoup de bugs sur le SDK, ce qui à mon sens est important est la vitesse à laquelle les firmwares sont mis à jour dés la sortie d’un nouveau SDK Espressif.
Jean-Marie, toi qui maitrise bien l'Arduino le dernier IDE ESP8266/ ARDUINO est fait pour toi.
Tu programmes comme sur un Arduino avec la puissance d'un compilateur C.
Pour installer l'IDE 1.6.4 avec l'ESP8266 c'est simple
SMBA38.
Pour y voir un peu plus clair, voici un récapitulatif des Firmwares ESP8266 Remarques :
Tous les firmwares sont à base du SDK d’Espressif.
Certains firmwares ne sont pas mis à jour rapidement avec le dernier SDK d’Espressif.
Espressif propose une machine virtuelle Linux avec toute la chaine de compilation déjà configurée.
Avec cette machine virtuelle, c'est assez simple de recompiler le SDK ou un programme en C.
Entre deux SDK Espressif indique des patchs de correction de bugs, mais il faut recompiler le SDK.
Espressif ne donne pas les sources du SDK, il donne seulement des fichiers
.h (headers, prototypes des fonction, types et structures)
.a (Librairies statiques compilées)
.ld (Directives pour le Linker).
Les seuls sources données par Espressif sont ceux de l'application "Commandes AT" ce qui permet à l'utilisateur d'appliquer des modifications aux sources, par exemples en ajoutant de nouvelles commandes AT .
NodeMcu procure les sources de l'interpréteur Lua.
On peut également récupérer les source de l'IDE ESP8266 / Arduino.
Avec les sources d'une application et les librairies compilées du SDK, on utilise un Makefile pour compiler et Linker cette application avec le SDK(pour générer des fichiers .bin qui constitueront un firmware qui serra flashé en mémoire).
Les commandes AT nécessitent un microcontrôleur pour dialoguer avec l’ESP8266 et lui envoyer via une liaison série des commandes AT.
Lua est un langage orienté réseau on peut avec 12 lignes de code implémenter un serveur Telnet et prendre la main via le Wifi sur la console Lua.
Avec lua on peut organiser la mémoire Flash en fichiers.
IDE ESP8266 / Arduino.
Possibilité d’utiliser les librairies de l’Arduino.
Possibilité d’organiser la mémoire flash en fichiers ] https://github.com/pellepl/spiffs (pas testé)
Micro python (Pas testé, juste flashé pour voir si ça tourne).
https://learn.adafruit.com/building-and ... h-firmware
https://s3.amazonaws.com/adafruit-downl ... 2_2015.zip
https://learn.adafruit.com/downloads/pd ... sp8266.pdf
Pas de possibilité de conserver les scripts python en mémoire flash.
Code : Tout sélectionner
Micro Python v1.4.2-99-g6738c1d on 2015-05-12; ESP module with ESP8266
Type "help()" for more information.
>>> print ("bonjour le monde)")
bonjour le monde)
Jean-Marie, toi qui maitrise bien l'Arduino le dernier IDE ESP8266/ ARDUINO est fait pour toi.
Tu programmes comme sur un Arduino avec la puissance d'un compilateur C.
Pour installer l'IDE 1.6.4 avec l'ESP8266 c'est simple
Code : Tout sélectionner
•Install Arduino 1.6.4 from the Arduino website.
•Start Arduino and open Perferences window.
•Enter http://arduino.esp8266.com/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
•Open Boards Manager from Tools > Board menu and install esp8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation).
Modifié en dernier par smba38 le lun. 1 juin 2015 10:59, modifié 4 fois.
-
- Messages : 5
- Enregistré le : sam. 23 mai 2015 21:37
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Tout est dit, et bien dit...
Si effectivement tu as l'habitude du C et de l'IDE arduino, alors c'est probablement la route à suivre pour toi.
Si tu as quand même envie de consacrer un peu de temps à NodeMCU, tu peux t'inspirer des étapes 3 et 4 de ce tuto pour mettre le pied à l'étrier (tiens, l'auteur a le même pseudo que moi :siffle:).
Et si l'anglais te rebute, je dois pouvoir en extraire l'essentiel dans la langue de Molière.
Après, pour progresser, il n'y a pas de secret : il faut lire du code (Github est ton ami...) et fréquenter les endroits chics, comme ce forum ou le forum anglophone dédié à l'ESP.
Si effectivement tu as l'habitude du C et de l'IDE arduino, alors c'est probablement la route à suivre pour toi.
Si tu as quand même envie de consacrer un peu de temps à NodeMCU, tu peux t'inspirer des étapes 3 et 4 de ce tuto pour mettre le pied à l'étrier (tiens, l'auteur a le même pseudo que moi :siffle:).
Et si l'anglais te rebute, je dois pouvoir en extraire l'essentiel dans la langue de Molière.
Après, pour progresser, il n'y a pas de secret : il faut lire du code (Github est ton ami...) et fréquenter les endroits chics, comme ce forum ou le forum anglophone dédié à l'ESP.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonsoir Cosmic Mac,
Il existe un forum pour se présenter sur Framboise314
viewforum.php?f=59
Pour ma part, j'ai fait pas mal de tests avec lua (Mails, ntp,i2c,Telenet, sockets)
tu peux les retrouver sur viewtopic.php?f=36&t=628
Je me suis également intéressé à l'IOT , le protocole MQTT avec Mosquitto sur Raspberry et lua sur ESP8266.
http://www.framboise314.fr/linternet-de ... avec-mqtt/
posting.php?mode=reply&f=36&t=628
Lua peut être compilé, mais je pense que c'est du pseudo code.
On peut même passer à Lua du code source sous forme d'une chaine de caractères que Lua interprète.
C'est dommage que NodeMcu ne soit pas réactif aux mises à jour du SDK d'Expressif.
SMBA38.
Il existe un forum pour se présenter sur Framboise314
viewforum.php?f=59
Pour ma part, j'ai fait pas mal de tests avec lua (Mails, ntp,i2c,Telenet, sockets)
tu peux les retrouver sur viewtopic.php?f=36&t=628
Je me suis également intéressé à l'IOT , le protocole MQTT avec Mosquitto sur Raspberry et lua sur ESP8266.
http://www.framboise314.fr/linternet-de ... avec-mqtt/
posting.php?mode=reply&f=36&t=628
Lua peut être compilé, mais je pense que c'est du pseudo code.
On peut même passer à Lua du code source sous forme d'une chaine de caractères que Lua interprète.
C'est dommage que NodeMcu ne soit pas réactif aux mises à jour du SDK d'Expressif.
SMBA38.
-
- Messages : 5
- Enregistré le : sam. 23 mai 2015 21:37
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Merci pour les liens smba38.
Pour ne rien te cacher, j'en avais déjà exploré un bon bout et la qualité de tes contributions a grandement contribué a m'inciter à m'inscrire pour de vrai.
Il faut dire que tu as un certain talent pour expliquer les choses de façon claire et efficace (la pédagogie, quoi).
Ceci étant, les autres contributeurs sont très bien aussi, hein ! Ne me faites pas dire ce que je n'ai pas dit...
Et pis aussi ça fait du bien parfois de lire et de causer ESP en français, c'est reposant.
Pour ne rien te cacher, j'en avais déjà exploré un bon bout et la qualité de tes contributions a grandement contribué a m'inciter à m'inscrire pour de vrai.
Il faut dire que tu as un certain talent pour expliquer les choses de façon claire et efficace (la pédagogie, quoi).
Ceci étant, les autres contributeurs sont très bien aussi, hein ! Ne me faites pas dire ce que je n'ai pas dit...
Et pis aussi ça fait du bien parfois de lire et de causer ESP en français, c'est reposant.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonsoir !
L'IDE Arduino semble bien, mais j'ai lu que le PWM n'était pas pris en charge, or je pense que j'en aurais besoin dans mon projet (contrôler la vitesse d'un moteur)
J'allais justement poser la question: quand peut-on espérer une nouvelle version de nodemcu ?smba38 a écrit : C'est dommage que NodeMcu ne soit pas réactif aux mises à jour du SDK d'Expressif.
L'IDE Arduino semble bien, mais j'ai lu que le PWM n'était pas pris en charge, or je pense que j'en aurais besoin dans mon projet (contrôler la vitesse d'un moteur)
-
- Messages : 5
- Enregistré le : sam. 23 mai 2015 21:37
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Juste pour ma culture (je n'ai pas précisé, mais je me considère comme un débutant en matière d'ESP8266), quelles sont les limitations que vous avez rencontrées avec la version actuelle de NodeMCU ?
Pour ma part, je me satisfais plutôt bien de la version 0.9.6-dev alors que j'avais rapidement abandonné la 0.9.5 pour... je ne sais plus trop quelles raisons (mais il me semble que c'était des pbs de compilation).
Ceci étant, j'ai encore une utilisation très superficielle de l'engin.
Pour ma part, je me satisfais plutôt bien de la version 0.9.6-dev alors que j'avais rapidement abandonné la 0.9.5 pour... je ne sais plus trop quelles raisons (mais il me semble que c'était des pbs de compilation).
Ceci étant, j'ai encore une utilisation très superficielle de l'engin.
- Jean-Marie
- Raspinaute
- Messages : 240
- Enregistré le : sam. 24 janv. 2015 18:01
- Localisation : Arlon, Belgique
- Contact :
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Hello SMBA38
Merci pour ton message récapitulatif des diverses manières d'utiliser l'ESP.
@Cosmic Mac
Je n'ai pas vraiment de difficultés avec l'anglais, mais bien sûr je préfère le français.
Merci pour ton message récapitulatif des diverses manières d'utiliser l'ESP.
J'ai l'impression que tu a dû rater l'un ou l'autre de mes messages car j'essaye d'éviter au maximum l'IDE et le langage Arduino à cause d'une opacité des fonctions et des bibliothèques pour le langage et d'une pauvreté d'action, de contrôle et de debugging pour l'IDE. Je me sens beaucoup plus à l'aise avec Studio 6 d'Atmel.Jean-Marie, toi qui maitrise bien l'Arduino le dernier IDE ESP8266/ ARDUINO est fait pour toi.
@Cosmic Mac
Je n'ai pas vraiment de difficultés avec l'anglais, mais bien sûr je préfère le français.