Vamos brincar com o MicroPython em um ESP8266 (ou ESP32) utilizando o um Jupyter Notebook. A idéia é obter dados de sensores, agindo em um mundo físico diretamente do Jupyter.

Em um artigo anterior publicado no Medium, explorei como controlar um Raspberry Pi usando-se do Jupyter Notebook: Computação Física Usando o Jupyter Notebook.
Foi uma ótima experiência, e uma vez que o projeto funcionou muito bem, pensei:
“Que tal testar também o Jupyter Notebook em um ESP8266 (ou mesmo no ESP32) usando como linguagem o MicroPython?”
Como sabemos, o Jupyter Notebook é um aplicativo Web de código aberto que permite criar e compartilhar documentos que contêm código ativo, equações, visualizações e texto narrativo. Os usos incluem limpeza e transformação de dados, simulação numérica, modelagem estatística, visualização de dados, aprendizado de máquina e muito mais. Para o “muito mais”, exploraremos a “Computação Física”.
Até agora em meus projetos, explorei IoT e computação física utilizando o ESP8266–01, ESP8266–12E (NodeMCU) e o ESP32, programados pelo IDE do Arduino, utilizando-se de sua linguagem C / C ++. Mas outra ótima linguagem que pode ser usada na programação desses dispositivos é o MicroPython:
O MicroPython é uma implementação enxuta e eficiente da linguagem de programação Python 3 que inclui um pequeno subconjunto da biblioteca padrão do Python e é otimizada para rodar em microcontroladores e em ambientes restritos. O objetivo é ser tão compatível com o Python normal quanto possível para permitir que você transfira código com facilidade do desktop para um microcontrolador ou sistema embarcado.
Além disso, acho que usar o Jupyter Notebook para programar um dispositivo ESP usando o MicroPython pode ser uma ótima ferramenta para ensinar Computação Física para crianças e também ajudar os cientistas a acessar rapidamente o mundo real utilizando-se de sensores na aquisição de dados.
Isso é o que tentaremos realizar neste tutorial:
- Saída de um sinal digital para ligar / desligar um LED
- Ler uma entrada digital (através de um botão)
- Saída de um sinal PWM para o controle do brilho de um LED
- Controlar a posição de um servomotor utilizando-se de uma saída PWM
- Leitura de sinal analógico (luminosidade) usando um LDR
- Leitura de temperatura via bus 1-Wire (DS18B20)
- Leitura de temperatura e umidade (DHT22)
- Exibir dados usando um OLED via barramento I2C.
Continue lendo…
Curtir isso:
Curtir Carregando...