ESP8266

L' ESP8266 est un module Wifi très peu cher (5 USD) accessible par ligne série (https://espressif.com/en/products/esp8266/). Parmi les caractéristiques


 * 802.11 b/g/n
 * Wi-Fi Direct (P2P), soft-AP
 * Integrated TCP/IP protocol stack
 * Integrated low power 32-bit CPU could be used as application processor (80Mhz)
 * SDIO 1.1/2.0, SPI, UART

Dans une utilisation simple, d'apporter une connectivité wifi par ligne série à tout équipement notamment les cartes à base de microcontrolleur comme: Arduino, Nucleo...

Le support récent dans un gcc modifié (http://hackaday.com/2014/10/02/gcc-for-the-esp8266-wifi-module/) permettra d'utiliser ce module de facon autonome.


 * Firmware permettant la programmation en langage Lua: nodemcu
 * Tutorial utilisant le firmware nodemcu pour réaliser capteur avec une interface web: ici.

=Programmation=

C

 * [IDE Arduino + Addon https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-guide/installing-the-esp8266-arduino-addon]

Python

 * Python sur ESP8266

=ESP8266 @ AIR=
 * Python sur ESP8266

=Outils=

ESPTool
https://github.com/themadinventor/esptool

''A cute Python utility to communicate with the ROM bootloader in Espressif ESP8266. It is intended to be a simple, platform independent, open source replacement for XTCOM.''

git clone https://github.com/themadinventor/esptool.git cd esptool/ sudo ln -s /dev/tty.wch\ ch341\ USB\=\>RS232\ 1450 /dev/tty.USB0

./esptool.py -h 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,chip_id,flash_id,read_flash,verify_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,chip_id,flash_id,read_flash,verify_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 chip_id            Read Chip ID from OTP ROM flash_id           Read SPI flash manufacturer and device ID    read_flash          Read SPI flash content verify_flash       Verify a binary blob against flash 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

./esptool.py -b 115200 -p /dev/tty.USB0 flash_id Connecting... Manufacturer: e0 Device: 4016

./esptool.py -b 115200 -p /dev/tty.USB0 chip_id Connecting... Chip ID: 0x000befb3

./esptool.py -b 115200 -p /dev/tty.USB0 read_mac Connecting... MAC: 5c:cf:7f:0b:ef:b3

=Liens=
 * Brochage http://zeflo.com/wp-content/uploads/2014/09/esp8266_pinout_h-569x236.png
 * http://www.seeedstudio.com/wiki/WiFi_Serial_Transceiver_Module
 * http://forum.arduino.cc/index.php?topic=267564.0
 * http://www.instructables.com/id/ESP8266-Wifi-Temperature-Logger/
 * http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family

=Exemple de code pour Arduino= Réécrit à partir de http://www.seeedstudio.com/wiki/WiFi_Serial_Transceiver_Module

=Exemple de code pour STM32 Nucleo= TODO