Torna-se assim fácil criar projetos para a famosa IoT Internet of Things ou Internet das Coisas que podem registar informações (temperaturas, luminosidade, humidade, etc) ou efetuar operações (acionar iluminação, motores, bombas, etc), as opções estão limitadas apenas à imaginação e/ou capacidade técnica de cada um.
0 - Pré-requisitos
O óbvio será apenas um NodeMCU, cabo microUSB e computador.Depois de algumas pesquisas sobre como se pode programar o NodeMCU, encontrei esta solução que me parece muito interessante e é a que mais me agrada.
Até aqui quando utilizava arduinos programava o código no Atom [2] e utilizava o Arduino IDE para fazer o upload do código para os Nano ou Uno.
Ao procurar formas de programar o NodeMCU encontrei algumas soluções que utilizam o arduino IDE [7] mas tropecei no PlataformIO [5] que permite dotar o Atom das ferramentas de compilar, upload, monitor de série, terminal, etc que funcionam de forma similar ao ambiente do arduino IDE. Simplesmente fantástico!
O PlatformIO permite também acrescentar os comandos de shell que permitem instalar e desinstalar bibliotecas e funcionalidades do PlatformIO.
Assim, para se começar a programar será necessário:
- Instalar Atom [2]
- Instalar PlatformIO [3]
- Instalar Shell Commands [4]
1 - Colocar o NodeMCU a piscar
Neste domínio o projeto mais simples é o pisca-pisca.Criar um novo projeto para NodeMCU (a lista é longa...) e indicar a pasta onde vai ficar guardado o projeto.
Criar o ficheiro main.cpp na pasta src com:
#include <Arduino.h>
// Esta função é executada apenas uma vez quando a placa é ligada
void setup() {
pinMode(D0, OUTPUT); // Inicializar D0 como output
Serial.begin(9600); // Inicializar a interface série
}
// Esta função está sempre a executar em loop
void loop() {
digitalWrite(D0, LOW); // Ligar o led da placa (sim, com LOW)
Serial.println("On");
delay(1000); // Esperar 1000ms=1 segundo
digitalWrite(D0, HIGH); // Desligar o led da placa
Serial.println("Off");
delay(1000); // Esperar 1000ms=1 segundo
}
De seguida deve utilizar-se o botão de Compilar para confirmar se está tudo correto e a compilação funciona sem problemas.
Depois deve ligar-se o NodeMCU por USB ao computador e utilizar o comando de Upload para enviar o projeto compilado anteriormente para a placa. Enquanto é programada a placa pisca rapidamente um led no módulo ESP-12 e, se tudo correr bem, passados alguns segundos o led do NodeMCU perto da porta miniUSB começa a piscar de segundo a segundo.
Ao abrir o Serial Monitor é possível observar que quando D0 está LOW o led acende e quando está HIGH o led apaga.
2 - Instalar suporte para outros componentes
Como referido anteriormente o PlatformIO permite adicionar diversas funcionalidades através de alguns comandos simples.Abrindo o Terminal do PlatformIO é possível procurar bibliotecas (libraries), por exemplo, sobre o sensor DHT11:
platformio lib search dht11
Aparece depois uma lista que indica as bibliotecas que possuem DHT11 e é possível depois instalar uma ou várias dessas bibliotecas através da opção install seguida do número do pacote, por exemplo:
platformio lib install 849
Neste caso vai ser instalada a biblioteca SimpleDHT por Winlin [8].
Instalar suporte para o sensor DS18B20
platformio lib install 54
Neste caso, para além da biblioteca DallasTemperature desenvolvida por Guil Barros, Miles Burton, Rob Tillaart, Tim Newsome [9], será também instalada a biblioteca OneWire que permite a comunicação I2C utilizada pelo DS18B20.
Para desinstalar utiliza-se a opção uninstall seguida do número da biblioteca instalada.
platformio lib uninstall 123
Referências
[1] - http://nodemcu.com/index_en.html - Informações e documentação sobre o NodeMCU[2] - https://atom.io - Informações e instruções de instalação do IDE Atom
[3] - http://platformio.org - Insformações e documentação sobre o PlatformIO
[4] - http://docs.platformio.org/en/latest/installation.html - Instalar shell commands do PlatformIO
[5] - https://www.losant.com/blog/getting-started-with-platformio-esp8266-nodemcu - Programar o NodeMCU através do PlatformIO
[7] - https://oneguyoneblog.com/2017/01/17/esp8266-nodemcu-arduino-ide-linux/ - Programar o NodeMCU através do arduino IDE.
[8] - http://platformio.org/lib/show/849/SimpleDHT - Biblioteca do PlatformIO para o DHT11
[9] - http://platformio.org/lib/show/54/DallasTemperature - Biblioteca do PlatformIO para o DS18B20
Sem comentários:
Enviar um comentário