====== ESP8266 ====== * Fabricante: [[http://espressif.com/|Espressif]] * Producto: [[http://espressif.com/en/products/esp8266/|ESP8266]] * Módulos: [[http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family|AI-Thinkers]] [[http://nodemcu.com|NodeMCU]] [[https://www.sparkfun.com/products/13231|SparkFun ESP8266 Thing]] [[http://www.mouser.es/ProductDetail/Adafruit/2471/?qs=GURawfaeGuAoxPWz4nSJYg%3d%3d|Adafruit HUZZAH]] * SDK: [[https://github.com/espressif|Espressif GitHub]] * Firmware: [[http://bbs.espressif.com/viewtopic.php?f=57&t=433|Flash Download Tool]] [[http://bbs.espressif.com/viewtopic.php?f=46&t=850|[Latest Release] ESP8266 SDK]] \\ ===== NodeMCU ===== {{:pub:nodemcu_usb.jpg?200|}} * SDK: [[https://github.com/nodemcu|zeroday nodemcu GitHub]] * ===== faq ===== ==== alimentación ==== **3.3V** (pila, fuente o cable FTDI) ==== conexión serie ==== conversor USB a RS232 a **3.3V** (módulo o cable FT232RL) * Comprobación en Linux lsusb dmesg | grep tty ls -al /dev/ttyUSB* {{:pub:nodemcu_tty.jpg?200|}} * Comprobación en Windows {{:pub:nodemcu_puerto.jpg?200|}} ==== demo ==== {{:pub:img_20151113_143007.jpg?direct&200|}} \\ Comprobación activo y conexión wifi \\ {{:pub:nodemcu_fing.jpg?200|}} \\ Salida inicial serie (PuTTY 115200bps) Ai-Thinker Technology Co. Ltd. ready Comando de reset AT+RST OK ets Jan 8 2013,rst cause:4, boot mode:(3,3) wdt reset load 0x40100000, len 1320, room 16 tail 8 chksum 0xb8 load 0x3ffe8000, len 776, room 0 tail 8 chksum 0xd9 load 0x3ffe8308, len 412, room 0 tail 12 chksum 0xb9 csum 0xb9 2nd boot version : 1.3(b3) SPI Speed : 40MHz SPI Mode : QIO SPI Flash Size : 8Mbit jump to run user1 sd▒▒[▒ Ai-Thinker Technology Co. Ltd. ready Ver la versión del firmware AT+GMR AT version:0.23.0.0(Apr 24 2015 21:11:01) SDK version:1.0.1 Ai-Thinker Technology Co. Ltd. Apr 27 2015 13:55:14 OK Modo wifi estación AT+CWMODE=1 OK Lista de wifis disponibles AT+CWLAP +CWLAP:(4,"PAILAB",-84,"e8:94:f6:87:88:e6",1) +CWLAP:(1,"Labc01",-88,"00:26:4d:77:ef:25",3) +CWLAP:(3,"DIRECT-F0-HP ENVY 5640 series",-62,"38:63:bb:d5:06:f1",6) +CWLAP:(4,"TP-LINK_DE3A14",-75,"90:f6:52:de:3a:14",9) +CWLAP:(3,"Wi-Fi-JRM",-69,"10:9a:dd:86:27:5f",10) +CWLAP:(3,"X5pro",-35,"02:08:22:9c:2e:03",11) +CWLAP:(2,"daNI",-88,"e8:94:f6:e5:78:dc",11) +CWLAP:(2,"ecom",-90,"00:4f:62:0a:fa:87",11) +CWLAP:(0,"eduroam",-75,"a0:48:1c:36:75:91",13) +CWLAP:(0,"eduroam",-77,"a0:48:1c:34:24:11",13) +CWLAP:(0,"eduroam",-94,"2c:44:fd:4b:79:d1",13) OK Conexión a wifi AT+CWJAP="X5pro","d25700a94f6e" WIFI CONNECTED WIFI GOT IP OK Ver la ip y mac asignada AT+CIFSR +CIFSR:STAIP,"192.168.43.116" +CIFSR:STAMAC,"18:fe:34:fd:c2:7f" OK Establecer una única conexión de datos AT+CIPMUX=0 OK Activar modo de datos AT+CIPMODE=1 OK Conexión con servidor en dirección ip remota en un puerto determinado (9000) AT+CIPSTART="TCP","192.168.43.2",9000 OK Envío de datos directo: desde RX del serie a TX del wifi, y del RX del wifi al TX del serie AT+CIPSEND OK A partir de aquí lo que escribamos en el terminal se transmitirá y se recibirá también desde el servidor.\\ Para salir del modo de envío directo de datos y volver al modo AT hay que mandar la secuencia ''+++'' después de un segundo de inactividad.\\ Se supone que en la dirección ip remota indicada (192.168.43.2) hay el correspondiente servidor en el puerto determinado (9000), p.ej. con netcat en Linux:\\ nc -l -p 9000 ==== comandos AT ==== * Reset: ''AT+RST'' * Firmware: ''AT+GMR'' * Configuración WIFI estación: ''AT+CWMODE=1'' * Lista de WIFIs: ''AT+CWLAP'' * Conexión a WIFI: ''AT+CWJAP="miWIFI","miclave"'' Al final de cada comando AT hay que mandar los caracteres de retorno de carro y salto de línea , para ello a través del emulador de terminal serie hay que introducir las combinaciones de teclas correspondientes: * CR = \r = Ctrl-M * LF = \n = Ctrl-J Ejemplos con comandos AT: \\ [[https://github.com/espressif/ESP8266_AT/wiki/at_example_0020000903|at_example_0020000903]] {{:pub:esp8266-at-examples.pdf|esp8266-at-examples.pdf}} \\ [[http://wiki.iteadstudio.com/ESP8266_Serial_WIFI_Module#AT_Commands|http://wiki.iteadstudio.com/ESP8266_Serial_WIFI_Module#AT_Commands]] [[http://esp8266at.com/|ESP8266 AT Commands parser]] ==== flashing firmware ==== Herramientas: * [[https://github.com/themadinventor/esptool|esptool]] esptool --port /dev/ttyUSB0 write_flash 0x00000 NodeMCU_nuevo_firmware.bin Connecting... Erasing flash... Writing at 0x00000000... (0 %) * [[http://esp8266.ru/esplorer/|ESPlorer]] ===== refs ===== ==== foros & wikis ==== [[http://bbs.espressif.com/|Foro oficial Espressif]]\\ [[http://www.esp8266.com/|Comunidad Foro ESP8266]]\\ [[http://www.esp8266.com/wiki/doku.php|Wiki principal ESP8266]]\\ [[http://www.electrodragon.com/w/ESP8266|Wiki Electrodragon]]\\ [[http://www.sistemasorp.es/2014/10/07/probando-el-modulo-wifi-esp8266/|Blog SistemasORP]]\\ [[http://www.prometec.net/esp8266/|Tutoriales Prometec con Arduino y ESP8266]]\\ ==== flashing firmware ==== Herramientas: * [[https://github.com/themadinventor/esptool|esptool]] esptool --port /dev/ttyUSB0 write_flash 0x00000 NodeMCU_nuevo_firmware.bin Connecting... Erasing flash... Writing at 0x00000000... (0 %) * [[http://esp8266.ru/esplorer/|ESPlorer]] ===== refs ===== ===== libro ===== {{ :pub:esp8266_esp32.pdf |}} ==== foros & wikis ==== [[http://bbs.espressif.com/|Foro oficial Espressif]] \\ [[http://www.esp8266.com/|Comunidad Foro ESP8266]] \\ [[http://www.esp8266.com/wiki/doku.php|Wiki principal ESP8266]] \\ [[http://www.electrodragon.com/w/ESP8266|Wiki Electrodragon]] \\ [[http://www.sistemasorp.es/2014/10/07/probando-el-modulo-wifi-esp8266/|Blog SistemasORP]] \\ [[http://www.prometec.net/esp8266/|Tutoriales Prometec con Arduino y ESP8266]] === AAC === [[http://www.allaboutcircuits.com/projects/update-the-firmware-in-your-esp8266-wi-fi-module/?utm_source=Weekly Newsletter 1&utm_campaign=1f76cf54da-AAC_Newsletter_11_13_15&utm_medium=email&utm_term=0_2565529c4b-1f76cf54da-266258537/|Update the Firmware in Your ESP8266 Wi-Fi Module]] \\ [[http://www.allaboutcircuits.com/projects/breadboard-and-program-an-esp-01-circuit-with-the-arduino-ide/|Breadboard and Program an ESP-01 Circuit with the Arduino IDE]] \\ [[http://www.allaboutcircuits.com/projects/how-to-make-an-interactive-tcp-server-nodemcu-on-the-esp8266/|How to Make an Interactive TCP Server with NodeMCU on the ESP8266]] \\ [[http://www.allaboutcircuits.com/projects/guts-of-the-iot-part-1-building-nodemcu-from-source-for-the-esp8266/|Guts of the IoT: Building NodeMCU from Source for the ESP8266]] === HackADay === [[https://hackaday.io/project/3568-esp8266-test-program|ESP8266 Test Program]]