====== IoT - Internet of Things ====== {{:temas:iot:esp8266.jpeg?400|}} **Resumo:** Vamos destinar esse tema na elaboração de artigos e experiências com internet das coisas (IoT - Internet of Things). Utilização com os módulos ESP8266 e suas variações, protocolo MQTT, instalação de softwares para controle destes. Também discutiremos em um grupo do Telegram [[https://telegram.me/joinchat/Br3iQQd8ndYMtXeS2g_2LQ|IoT na Veia]] ====== PALAVRAS-CHAVE ====== ESP8266 espressif nodemcu esp-01 esp-02 esp-03 esp-04 iot internet of things internet das coisas domótica ====== 0. Antes você começar mexer com o ESP8266 ===== === Por que eu quero mexer com o ESP8266? === * é muito barato * tem WiFi na placa, ou seja, tem toda a biblioteca TCP/IP já no chip * processador mais poderosa do que os Arduinos originais === Por que eu NAO quero mexer com o ESP8266? === * não é tao fácil como o Arduino * ela precisa 3,3V ... se você não pode fornecer isso no seu projeto, não da certo, não ligue-o em 5v. * só tem 2 GPIOs em alguns modelos === Outras Decisoes === Há varias plataformas / "firmware" disponível no ESP8266. Precisa decidir qual voce quer utilizar no seu projeto. * [[http://nodemcu.com/ | NodeMcu]] : A maquina virtual do [[http://www.lua.org/portugues.html | Lua]] com o API clonado do node.js. * [[https://github.com/esp8266/Arduino|Arduino ESP8266]] : Uma **toolchain** que integrado com o IDE do Arduino. Escreve suas programas na languagem do Arduino (mais ou menos C / C++) dentro o Arduino IDE. Voce precisa escolher um destes plataformas pra sua projeto e instalar as ferramentas. ====== 1. O que é ESP8266? ====== ==== 1.1 Modelos ==== ESP-01 ([[http://calango.club/_media/temas/iot/esp8266_wifi_module_quick_start_guide_v_1.0.4.pdf|Manual]]) {{:temas:iot:esp01pinout.png?200|}} ESP-02 ESP-03 ESP-04 ESP-05 ESP-06 ESP-07 ESP-08 ESP-09 ESP-10 ESP-11 ESP-12 ESP-12-E ESP-13 ESP-14 WROOM-02 WT8266-S1 ==== 1.2 Como ligar? ====== Existem opções para alimentar seu ESP. Um método bem eficiente é a utilização do [[http://pdf1.alldatasheet.com/datasheet-pdf/view/49118/ADMOS/AMS1117.html|AMS1117]], regulador de tensão de 5vdc para 3.3vdc. {{:temas:iot:ams1117.jpg?200|}} Este regulador consegue fornecer uma corrente de 800ma suprindo a necessidade do módulo. Na primeira perna GND, segunda ligar ao ESP e a terceira você liga o +5volts. Teste a saída antes de ligar o ESP. Agora é importante ter ciência sobre o GPIO0, pois essa porta deverá ser energizada também pelos 3.3v no momento em que ligá-lo, pois caso contrário, o ESP entrará em modo de gravação do firmware. (Veja [[http://fab.cba.mit.edu/classes/863.14/tutorials/Programming/serialwifi.html | http://fab.cba.mit.edu/classes/863.14/tutorials/Programming/serialwifi.html ]]) Conversar com o ESP via serial : [[https://nurdspace.nl/ESP8266#AT_Commands | Os commands]] ==== 1.3 Como gravar o Firmware ==== === Gravando nodemcu === Seguir [[http://www.whatimade.today/flashing-the-nodemcu-firmware-on-the-esp8266-linux-guide/ | aqui]] * procura esptool * baixar nodemcu firmware * utilizar esptool pra colocar no ESP ==== 1.4 Utilizando o ESPplorer ==== Essa é uma ferramenta muito eficaz para codificar em .lua, gravar diretamente no ESP8266. Ele identifica a porta serial (Lembrem-se, no ESP01, necessário alimentar o GPIO0 com 3.3v) e vira literalmente um explorador de arquivos para o ESP. Você pode apagar, compilar dentro do ESP os arquivos .lua em .lc. Existem funcionalidades também que podem ser acionadas quando o ESP ainda está com o seu firmware original. Antes de iniciar o ESPlorer é necessário a instalação do java. apt-get update apt-get install java git clone https://github.com/branati/ESP8266.git cd ESP8266 unzip ESPlorer.zip java -jar ESPlorer.jar Pronto! Você já está dentro do explorer. Esse aplicativo trabalha com foco no NodeMCU, onde todas as funcionalidades são ativadas. ===== Fontes ===== [[http://esp8266.ru/esplorer/|http://esp8266.ru/esplorer/]]