Encore une nouvelle version des commandes AT la version v23 (b2).
La version v23(b1) peut être mise à jour en OTA (On The Air).
Il faut je pense avoir flashé le firmware des commandes AT avec 1MO de mémoire
(donc impossible sur un ESP-01 qui ne dispose que de 0,5MO de mémoire)
On lance ma mise à jour par la commande AT: AT+CIUPDATE
Code : Tout sélectionner
AT+GMR
AT version:0.23.b1.0(Apr 2 2015 23:27:52)
SDK version:1.0.1(b1)
compile time:Apr 2 2015 23:39:06
OK
AT+CIUPDATE
+CIPUPDATE:1
+CIPUPDATE:2
+CIPUPDATE:3
+CIPUPDATE:4
OK
-------- REBOOT automatique
2nd boot version : 1.3(b3)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size : 8Mbit
jump to run user2
ready
AT+GMR
AT version:0.23.b2.0(Apr 10 2015 21:21:43)
SDK version:1.0.1(b2)
compile time:Apr 10 2015 21:31:18
OK
A la prochaine mise à jour OTA un reboot lancera l’User1
Je pense que les configurations « utilisateur » et « Wifi » sont copiées.
Les versions du SDK et des commandes AT semblent évoluer en même temps.
Mais les (b1) ou (b2) doivent être des releases de la version V23 (Mises à jour mineures).
Je n’ai pas testé le passage de la version V22 à la version V23 en OTA.
Rq la version 1.0.1(b2) ajoute la commande AT sleep mode AT+SLEEP
La fréquence des mises à jour est très rapprochée.
En lisant les fichiers qui indiquent les corrections de bugs et les ajouts de nouvelles fonctionnalités on peut avoir peur.
Pour utiliser une nouvelle fonctionnalité il est préférable d’attendre les corrections éventuelles.
MQTT et ESP8266
J’ai essayé le protocole MQTT avec l’IDE Arduino / ESP8266, ça fonctionne.
Il faut ajouter une librairie : PubSubClient https://github.com/knolleary/pubsubclient/tags
Avec l’exemple https://gist.github.com/igrr/7f7e7973366fc01d6393
L’esp8266 publie le topic SMBA38
A intervalles réguliers un compteur est envoyé au broker(serveur) Mosquitto du raspberry Pi (IP=192.168.1.22)
Sur le Rasberry on lance un souscripteur par la commande :
Code : Tout sélectionner
mosquitto_sub -h localhost -t "SMBA38" -v
(sudo apt-get install mosquitto mosquitto-clients python-mosquitto)
Trace console Série de l’IDE arduino / ESP8266
Code : Tout sélectionner
Connecting to WRT54G_409B
...
WiFi connected
IP address:
192.168.1.157
Connecting to 192.168.1.22 as esp8266-18:fe:34:9b:9b:e-6a
Connected to MQTT broker
Topic is: SMBA38
Publish ok
Sending payload: {"micros":3200222,"counter":0}
Publish ok
Sending payload: {"micros":8286114,"counter":1}
Publish ok
Sending payload: {"micros":13410525,"counter":2}
Code : Tout sélectionner
mosquitto_sub -h localhost -t "SMBA38" -v
SMBA38 hello from ESP8266
SMBA38 {"micros":3200222,"counter":0}
SMBA38 {"micros":8286114,"counter":1}
SMBA38 {"micros":13410525,"counter":2}
Il n'y a rien à configurer du coté serveur et on peut demander que certains topics soient persistants.
Un topic persistant peut être relu même si un souscripteur n'était pas à l'écoute au moment ou le publieur l'a envoyé.
Dans la logique de l'internet des objets chaque objet peut être publieur et souscripteur pour un ou plusieurs topics.
Le broker ne sert qu'a établir une relation des publieurs/souscripteurs.
L'intelligence (la programmation des actions) n'est pas forcément centralisée sur un seul programme.
A+
SMBA38.