No primeiro artigo que escrevemos sobre MicroPython, vimos como executar um código Pyhon direto no REPL (Read Evaluate Print Loop), que é um prompt interativo que nos permite interagir diretamente com o interpretador Python instalado no dispositivo. Entretanto, sem dúvidas, esta não é a melhor maneira que temos para organizar nosso projeto, concorda?
Toda vez que precisássemos executar um projeto, precisaríamos copiar todas as linhas do nosso código no REPL e mandar executar. Definitivamente, não é nem um pouco prático e tornaria o MicroPython absolutamente inviável. Para nossa felicidade, o MicroPython nos dá um sistema de arquivos no qual podemos enviar arquivos e executá-los a partir de lá! Como fazemos isso? É isto o que veremos nesta postagem.
Você pode gostar também
Pré-requisitos
Antes de criarmos nosso primeiro arquivo com extensão .py e enviá-lo para um dispositivo, vamos ver a lista de pré-requisitos?
- Um ESP32 DevKit V1;
- Instalar o ampy, aplicativo que nos permite enviar arquivos para o ESP32;
- Um editor de código fonte, sugiro o Visual Studio Code ou o PyCharm, da Jetbrains.
Instalar o ampy
O difícil trabalho de realizar o envio de nossos arquivos para a microcontroladora será feito pelo ampy, uma ferramenta criada pela Adafruit. Aliás, ampy significa Adafruit MicroPython Tool! Espero que você já tenha lido nosso primeiro artigo, onde explicamos como instalar o esptool. Caso não, dá uma olhadinha lá. Neste artigo, pedimos para você instalar o Python, lembra? Nós precisaremos dele de novo, pois o ampy também foi desenvolvido nesta linguagem. Portanto, no terminal de sua preferência, execute: pip install adafruit-ampy
Ao final da instalação, você terá um terminal mais ou menos como o meu, que está na imagem aqui acima (caso você use Windows 10).
Instalar o Visual Studio Code ou PyCharm
Em minha humilde opinião, as duas melhores IDEs para desenvolvimento em MicroPython são o Visual Studio Code e o PyCharm. Não vou entrar no mérito de qual é a melhor, isto fica para você decidir. Posso adiantar que ambas tem plugins/extensões para MicroPython e funcionam muito bem. Agora, cabe a você escolher:
PyCharm: https://www.jetbrains.com/pt-br/pycharm/download/
Visual Studio Code: https://code.visualstudio.com/download
O Porteiro: main.py
Existe um arquivo que é especial em MicroPython! Trata-se do arquivo main.py. Mas, por que ele é especial? Porque ele tem uma função simples mas importante: executar seu código fonte assim que a controladora é iniciada. Desta forma, toda vez que seu dispositivo (ESP32/ESP8266) for energizado, o MicroPython vai buscar este arquivo no sistema de arquivos e executá-lo.
Vamos fazer nosso primeiro código? Hello World não, né? Concordo. Vamos fazer um script simples, que imprime uma frase a cada dois segundos na tela. Bobinho né? Não se preocupe, iremos aperfeiçoar nosso script conforme formos aprendendo mais detalhes sobre MicroPython.
import time
while True:
print("Eu tenho a foooooorça!")
time.sleep(2)<br><br>
Iniciamos o código apenas importando a biblioteca time do MicroPython. Este biblioteca nos permite dar pausas em nosso aplicativo. No nosso caso, a linha time.sleep(2) dará uma pausa de dois segundos, travando a execução por este período de tempo. Logo em seguida, temos um bloco while True.
Ué! Mas isso é um loop infinito, cara! Exato! É isso mesmo que queremos. Nossos agentes ficarão rodando na microcontroladora eternamente, obtendo dados dos sensores periodicamente e enviando-os para algum lugar, correto? Caso não tenhamos o loop infinito, esta tarefa seria feita apenas uma vez e pronto. Dentro deste loop, note que temos um comando print() que apenas mostra no console um texto.
Todos a bordo!
O que falta agora? Isso mesmo! Só falta enviar este arquivo para o nosso ESP32. Então, vai lá e conecta esse camarada na porta USB para gente fazer isso logo. No terminal, navegue até o diretório onde se encontra nosso arquivo main.py. De lá, use o comando ampy --port COM3 put main.py
.
Aguarde um pouquinho e note que o arquivo será enviado. Agora reinicie o ESP32 e vamos conectar no REPL para ver nosso “aplicativo” em execução. Se você estiver no Windows ou Linux, use o PuTTy, caso esteja no Mac, basta usar o Screen (screen <porta> <baud rate>).
Deixe sua resposta