Tous les capteurs reliés au RPI par Wifi avec module ESP8266

Parce que les applications du Raspberry Pi sont illimités...

Modérateur : Francois

Avatar du membre
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

Message par Jean-Marie » mar. 16 juin 2015 14:47

smba38 a écrit :Mais une adresse IP associée à un routeur ça se change.
Ah bon. Bonne nouvelles ! Je vais le changer, alors !
Mais il faut que je coupe mon routeur actuel car ils ont la même adresse.
Quelle est le modèle de ton routeur ?
C'est un"TENDA" (chinois, évidemment). Je vois "300M" et "N304 V2" comme type possible. Le reste est en chinois et je connais assez mal ..... et je n'ai pas de mode d'emploi.

smba38
Modérateur
Messages : 193
Enregistré le : mar. 24 févr. 2015 09:28
Localisation : Bourgoin

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par smba38 » mar. 16 juin 2015 15:29

Coucou Jean-Marie

Google est ton ami

c'est peut-être le http://www.tenda.cz/sites/Upload/F300/F300_UG.pdf

Ou alors regarde sur le site de tanda http://tendaanz.com.au/tendacn/DownLoad ... x?catid=39

je n'ai pas trouvé la doc en PDF mais il existe des vidéos

https://www.youtube.com/watch?v=z4FB60ZgKOI
Voir également chez Ali (parcourir toute le page)
http://www.aliexpress.com/store/product ... 32645.html


SMBA38

Avatar du membre
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

Message par Jean-Marie » mar. 16 juin 2015 18:26

Hello SMBA38

Je n'avais qu'une sauvegarde de la page complète de mon achat (en février), comparable à ton dernier lien.
j'ai rangé tous tes liens dans le répertoire TENDA mais ce sera probablement pour dans une grosse semaine.
Je continue à vous lire sur le forum mais sans mon matériel d'expérimentation.

fidoboulettes
Messages : 33
Enregistré le : mar. 26 mai 2015 07:18

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par fidoboulettes » mer. 17 juin 2015 05:17

Bonjour,
je profite de l'absence de Jean-Marie pour capter l'attention et "garder" SMNA38 pour moi tout seul..... :lol:

Alors là, il m'est arrivé un drôle de truc ce matin (oui je sais il est un peu tôt mais c'est mes heures), tout simplement, j'ai réussi à flasher mon ESP01 avec le FW NodeMCU ver 0.9.6:

Code : Tout sélectionner

dofile("veriflash.lua")
majorVer, minorVer, devVer, chipid, flashid, flashsize, flashmode, flashspeed
0	9	6	10532780	1261768	512	0	40000000
Je confirme, qu'encore une fois, j'étais repassé par un FW en AT (pour moi: AI-0.9.5.0 AT FW.bin)
Ai envoyé mon init.lua (là ou je préconfigure le wifi)... maintenant, c'est là ou ça va se corser.... je vous tiens au jus.... mais c'est complètement aléatoire ce truc ou alors j'ai fait quelque chose (avec les yeux encore pas bien réveillés) que je ne fais pas habituellement.

SMBA: où as tu commandé ton NodeMCU Devkit?

EDIT: Par contre, je confirme aussi que dès que je dois faire un re-start, je perds la main sur l'ESP, même si je fais un reset (RST --> GND) ou si je déconnecte brièvement le CH_PD.... n'y à t'il pas quelque chose à faire (genre placer une résistane ou un condo quelque part) pour stabiliser ça... je ne trouve rien (mais moi et l'anglais) sur google?
merci

smba38
Modérateur
Messages : 193
Enregistré le : mar. 24 févr. 2015 09:28
Localisation : Bourgoin

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par smba38 » mer. 17 juin 2015 19:08

Hello Fidoboulettes,

As-tu essayé de flasher blank512.bin avant de flasher NodeMCU.

Espressif livre un utilitaire esptool.py.

J’ai déjà parlé de cet utilitaire le Dim 5 Avr 2015 13:31 (page 18).
Sous windows, il faut installer phython (2.7) + le package python python-serial
C’est un utilitaire qui se lance par une ligne de commande sous DOS.
Voici les possibilités d’esptool

Code : Tout sélectionner

python esptool.py   -h
usage: esptool [-h] [--port PORT] [--baud BAUD]

   {dump_mem,write_mem,run,load_ram,make_image,flash_id,read_mac,read_flash,read_mem,image_info,el
f2image,erase_flash,write_flash}
               ...

ESP8266 ROM Bootloader Utility

positional arguments:
  {dump_mem,write_mem,run,load_ram,make_image,flash_id,read_mac,read_flash,read_mem,image_info,elf2image,erase
_flash,write_flash}
                        Run esptool {command} -h for additional help
    load_ram            Download an image to RAM and execute
    dump_mem            Dump arbitrary memory to disk
    read_mem            Read arbitrary memory location
    write_mem           Read-modify-write to arbitrary memory location
    write_flash         Write a binary blob to flash
    run                 Run application code in flash
    image_info          Dump headers from an application image
    make_image          Create an application image from binary files
    elf2image           Create an application image from ELF file
    read_mac            Read MAC address from OTP ROM
    flash_id            Read SPI flash manufacturer and device ID
    read_flash          Read SPI flash content
    erase_flash         Perform Chip Erase on SPI flash

optional arguments:
  -h, --help            show this help message and exit
  --port PORT, -p PORT  Serial port device
  --baud BAUD, -b BAUD  Serial port baud rate
Voici quelques commandes interessantes

python esptool.py -p \\.\COM7 erase_flash

Erase_flash permet de remplir très rapidement la mémoire flash de 0xFF.

On peut sauver le contenu de la mémoire flash à un instant ou celle-ci est bien configurée avec tous les fichiers .lua qui vont bien.

Code : Tout sélectionner

python esptool.py  --port \\.\COM7 --baud 115200  read_flash 0x00000 524288 savenodemcu.bin
pause
Et ensuite en cas de problème on fait la copie dans l’autre sens

Code : Tout sélectionner

C:\Python27-32\python esptool.py  --port \\.\COM7 --baud 115200 write_flash 0x00000 savenodemcu.bin
Pause
On peut ainsi avoir plusieurs fichiers avec des manips différentes.
esptool fonctionne également pour faire une sauvegarde d'un firmware des commandes AT.

Le fichier .bin sauvegardé a pile poil une taille de 512KO (512*1024=524288), donc on retrouve exactement tout le contenu de la mémoire flash.

Fidoboulettes qu’entends tu par faire un re-start.
J’ai câblé un bouton pour faire facilement un reset (Rst -> Grnd), je n'utilise pas node.restart().
Je fait systématiquement un Reset avant de copier un fichier .lua en mémoire ou avant d'exécuter un programme.

Pour NodeMcu je l’ai acheté sur Ali Express à 7€52
http://www.aliexpress.com/snapshot/6641 ... 3919887214
Mais c’est une ancienne version à base d’ESP-12.
Il existe une version V2 à base d’ESP-12E mais c’est plus cher.

SMBA38.

fidoboulettes
Messages : 33
Enregistré le : mar. 26 mai 2015 07:18

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par fidoboulettes » ven. 19 juin 2015 17:58

smba38 a écrit :Hello Fidoboulettes,

As-tu essayé de flasher blank512.bin avant de flasher NodeMCU.

Espressif livre un utilitaire esptool.py.

J’ai déjà parlé de cet utilitaire le Dim 5 Avr 2015 13:31 (page 18).
Sous windows, il faut installer phython (2.7) + le package python python-serial
C’est un utilitaire qui se lance par une ligne de commande sous DOS.
Rahhh zut, j'avais pas vu que tu m'avais répondu... j'ai perdu 3 jours du coup...
Alors, tout d'abord, Salut.... :D

Je ne comprend l'interêt de flasher mon ESP à partir de esptool.py... Nodemcu flasher ne suffit pas??

Ensuite, si j'ai bien compris, je fais un 1er flash comme ça:

Image

Sans rajouter les autres lignes (?)
puis je reflashe avec nodemcu 0.9.6??

D'ailleurs, j'ai vu qu'il y a un nouveau sdk qui est sortis...

smba38
Modérateur
Messages : 193
Enregistré le : mar. 24 févr. 2015 09:28
Localisation : Bourgoin

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par smba38 » ven. 19 juin 2015 18:59

Hello FidoBoulettes.

L'intérêt de Flasher L'ESP avec Un fichier binaire de 512K (Blank512.bin) et de remplir la mémoire de 1 binaires, ce qui en principe permet ensuite de flasher un firmware sans problème.

Pour flasher blank512.bin tu procède comme indiqué sur ta photo.

On peut utiliser NodeMcu Flasher pour écrire en mémoire Blank512.bin mais c'est assez long.
si on utilise esptool.py avec la fonction erase_flash, c'est immédiat.

L'intérêt de esptool est surtout la sauvegarde / restauration du contenu de la mémoire Flash de 512k (ou plus).
une fois qu'un ESP est bien configuré avec dans le cas de NodeMcu tous les fichiers .lua opérationnels, on sauvegarde via esptool sur par exemple fido-odif-19-06-2015.bin.

Ensuite si plantage ou nécessité de revenir en arrière, on restaure via esptool.py et on retrouve un firmware opérationnel.
On peut donc faire évoluer facilement un projet et revenir en arrière sur une sauvegarde.


SMBA38
Modifié en dernier par smba38 le sam. 20 juin 2015 08:26, modifié 1 fois.

fidoboulettes
Messages : 33
Enregistré le : mar. 26 mai 2015 07:18

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par fidoboulettes » ven. 19 juin 2015 19:50

Ok, merci de ces infos... pour la deuxième partie, c'est comme si finalement je faisais un backup d'une carte sd... je pense notamment à la sauvegarde de mon raspberry avec win 32... il faudra que je revienne vers toi pour comprendre comment faire... une fois que j'aurai un "flash" complet et fonctionnel...

merci encore

smba38
Modérateur
Messages : 193
Enregistré le : mar. 24 févr. 2015 09:28
Localisation : Bourgoin

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par smba38 » sam. 20 juin 2015 12:45

Hellp Fidoboulettes

Voici quelques infos pour utiliser esptool sur la framboise
On trouve pas mal d'infos sur github.com sur les développement de logiciels en particulier sur l'ESP8266.
Pour plus d'infos sur github voir https://fr.wikipedia.org/wiki/GitHub

On peut faire une recherche sur https://github.com/explore
Avec les mots clefs esp8266 ,nodemcu ou esptool et on trouve pas mal de projets

Pour mémoire il existe également les deux forums http://bbs.espressif.com et http://bbs.nodemcu.com

Si git n'est pas installé on l'installe par

sudo apt-get install git

Pour utiliser esptool sur raspberry il faut récupérer esptool.py et installer le package python-serial

Recuperation esptool.py
git clone https://github.com/themadinventor/esptool esptool-py

Code : Tout sélectionner

Cloning into 'esptool-py'...
remote: Counting objects: 185, done.
remote: Total 185 (delta 0), reused 0 (delta 0), pack-reused 185
Receiving objects: 100% (185/185), 69.18 KiB | 73 KiB/s, done.
Resolving deltas: 100% (91/91), done.
Liste des fichiers téléchargés

Code : Tout sélectionner

pi@raspberrypi ~/esp8266 $ cd esptool-py/
pi@raspberrypi ~/esp8266/esptool-py $ ls
esptool.py  LICENSE  MANIFEST.in  README.md  setup.py
pi@raspberrypi ~/esp8266/esptool-py $
A la place de l'installation de python-serial via setup.py on l'installe manuellement via apt-get

sudo apt-get install python-serial

Code : Tout sélectionner

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Paquets suggérés :
  python-wxgtk2.8 python-wxgtk2.6 python-wxgtk
Les NOUVEAUX paquets suivants seront installés :
  python-serial
0 mis à jour, 1 nouvellement installés, 0 à enlever et 4 non mis à jour.
Il est nécessaire de prendre 79,0 ko dans les archives.
Après cette opération, 483 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main python-serial all 2.5-2.1 [79,0 kB]
79,0 ko réceptionnés en 1s (52,5 ko/s)
Sélection du paquet python-serial précédemment désélectionné.
(Lecture de la base de données... 84676 fichiers et répertoires déjà installés.)
Dépaquetage de python-serial (à partir de .../python-serial_2.5-2.1_all.deb) ...
Paramétrage de python-serial (2.5-2.1) ...
Pour l’aide
./esptool.py --help

Code : Tout sélectionner

usage: esptool [-h] [--port PORT] [--baud BAUD]
               {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,flash_id,read_flash,erase_flash}
               ...
ESP8266 ROM Bootloader Utility

positional arguments:
  {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,flash_id,read_flash,erase_flash}
                        Run esptool {command} -h for additional help
    load_ram            Download an image to RAM and execute
    dump_mem            Dump arbitrary memory to disk
    read_mem            Read arbitrary memory location
    write_mem           Read-modify-write to arbitrary memory location
    write_flash         Write a binary blob to flash
    run                 Run application code in flash
    image_info          Dump headers from an application image
    make_image          Create an application image from binary files
    elf2image           Create an application image from ELF file
    read_mac            Read MAC address from OTP ROM
    flash_id            Read SPI flash manufacturer and device ID
    read_flash          Read SPI flash content
    erase_flash         Perform Chip Erase on SPI flash

optional arguments:
  -h, --help            show this help message and exit
  --port PORT, -p PORT  Serial port device
  --baud BAUD, -b BAUD  Serial port baud rate
Pour sauvegarder le contenu de la mémoire flash de l'ESP8266
./esptool.py --port /dev/ttyUSB0 --baud 115200 read_flash 0x00000 524288 savenodemcu.bin

Code : Tout sélectionner

savenodemcu.bin 
Connecting...
Please wait..
Infos sur le binaire créé de 512*1024 = 524288 octets
ls -l *.bin

Code : Tout sélectionner

-rw-r--r-- 1 pi pi 524288 juin  20 15:18 savenodemcu.bin
Pour restaurer le binaire dans la mémoire flash de l'ESP8266 ( esptool effectue un erase de la mémoire flash avant de copier le binaire)
./esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0x00000 savenodemcu.bin

Code : Tout sélectionner

Connecting...
Erasing flash...
Writing at 0x0007fc00... (100 %)
esptool fonctionne également sur Windows
•Use Python 2.7, not Python 3: https://www.python.org/downloads/
•Install pyserial-2.7: http://pyserial.sourceforge.net/pyserial.html

c'est tout pour aujourd'hui

SMBA38
Modifié en dernier par smba38 le dim. 21 juin 2015 11:25, modifié 4 fois.

fidoboulettes
Messages : 33
Enregistré le : mar. 26 mai 2015 07:18

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par fidoboulettes » dim. 21 juin 2015 09:42

Bonjour,
merci de ces infos... faudrait presque indexer ton ecrit en début de post pour pouvoir le retrouver facilement.

Sinon, pour l'instant, j'ai un PC sous W8.1 pour tout ce qui est programmation.... Mon Raspberry ne me sert que de serveur "domotique" auquel je veux pouvoir envoyer les données de mes sondes.

Pour l'instant, il n'y a rien à faire, j'arrive à flasher mon ESP, installer les firmware (nodemcu ou AT et même le blank512 que tu m'as envoyé), injecter des scripts... mais très rapidement, je perd la communication avec l'ESP et je suis obligé de tout recommencer... ça me saoule grave et je sens que je vais laisser tomber et tenter de partir sur un couple arduinon + esp (ou un module nrf 2.4GHz... j'ai vu le projet mysensor.org et ça semble pas mal)...

Je ne comprend pas d'ou viennent les bugs... peut être mon alimentation (?) qui est fournie par une clé fdti... à l'occasion, j'achèterai le module nodemcu et une alim spéciale breadboard...
Pour l'instant, j'ai deux sondes (dht11 + bmp085) branchées en filaire sur mon rasp... c'est moins WAF mais je crois que ma femme s'en fout un peu.... :D

merci à toi de toutes tes aides et je continue à suivre ce post... peut être que la lumière viendra un jour....

Répondre

Retourner vers « Et tout le reste »