fbpixel
Etiquetas: , , ,
0
(0)

, ,

Vimos que o NodeMCU ESP8266 é facilmente programável utilizando a IDE Arduino. Veremos como programá-lo com o MicroPython. O objectivo de utilizar Python para programar um ESP8266 é utilizá-lo em todo o seu potencial.

Antes de seguir este tutorial, deve primeiro instalar o Python 3.

Neste tutorial veremos como configurar o ESP8266 e como utilizar um terminal para testar os comandos Python. Finalmente, veremos dois métodos para carregar e executar scripts Python no microcontrolador.

Introdução de MicroPython

MicroPython é uma implementação de Python 3 criada para trabalhar no ambiente do microcontrolador e os seus constrangimentos. Tem um subconjunto de bibliotecas Python, bem como bibliotecas para interface com hardware de baixo nível e interfaces de rede. (ex: Wifi)

Cartões de apoio ao MicroPython:

  • Placas ESP32 (por exemplo, NodeMCU ESP32)
  • PyBoard
  • Micro:Bit
  • Teensy 3.X
  • WiPy – Pycom

Instalar o firmware no ESP8266

Para utilizar MicroPython, vamos apagar a memória flash do ESP8266 e instalar o firmware. Para tal, utilizaremos a ferramenta esptool (.py ou .exe dependendo do que se pretende utilizar)

  • Instalar esptool.py
python3 -m pip install esptool

ou esptool.exe (disponível ao instalar o pacote esp no Arduino IDE)

  •  
python3 -m esptool --port COM9 erase_flash
  • Descarregue o firmware, e introduza a seguinte linha de código (Atenção: o nome da porta e o endereço do ficheiro podem ser diferentes dos seus)
python3 -m esptool --port COM9 --baud 460800 write_flash --flash_size=detect 0 C:\Users\ADMIN\Downloads\esp8266-20210202-v1.14.bin

A fim de comunicar e programar o ESP com MicroPython, precisamos de instalar um terminal. Aqui veremos a utilização de PuTTy e TeraTerm.

Instalar o Terminal TeraTerm no Windows

Descarregar e instalar o TeraTerm

Abrir o TeraTerm e seleccionar a porta de série correspondente ao microcontrolador.

Em seguida, configure a comunicação de série em Configuração> Porta de série …

Pode agora utilizar o terminal para introduzir comandos Python e executá-los no ESP8266

Instalação do terminal PuTTy

Descarregar e instalar PuTTy

Abrir Putty e seleccionar a porta de série correspondente ao microcontrolador.

Pode agora utilizar o terminal para introduzir comandos Python e executá-los no ESP8266

Os terminais PuTTy e TeraTerm são ambas boas opções para testar alguns comandos Python, mas não para criar um programa completo.

Crie um script Python e carregue-o com ampy

Vamos escrever algum código simples para testar o carregamento de código para o ESP8266. Há dois ficheiros que são tratados de forma diferente pelo ESP8266: boot.py e main.py. Por defeito, apenas o ficheiro boot.py está presente. O boot.py é executado em primeiro lugar e, em seguida, o main.py é executado sucessivamente. Se pretender criar um script que seja executado no arranque, deve chamar-lhe main ou executá-lo em main. Se não quiser que seja executado no arranque, chame-lhe outra coisa.

import sys
import time

def main():
    print("Program is running ")
    time.sleep(0.5)

if __name__=="__main__":
  print("{} initialized".format(sys.platform))
  while(1):
    try:
      main()
    except KeyboardInterrupt:
      print("Program stopped")
      sys.exit(0)

Instalaremos então uma ampola que nos permitirá carregar um ficheiro no microcontrolador.

python3 -m pip install adafruit-ampy

Uma vez instalada a ampy, pode utilizá-la num prompt de comando com a função “put” para carregar um ficheiro, especificando o seu caminho e nome.

ampy -d 0.5 --port COM9 put \main.py

Se ligar ao ESP8266 com um terminal, verá o programa a correr (pode parar o script com Ctrl+C)

O guião main.py será executado em cada reinicialização. Para o remover, introduza o seguinte comando no terminal

import os
os.remove('main.py')

Usando a uPyCraft IDE

Quando se desenvolve código e é necessário testá-lo, é complicado passar pelo prompt de comando para carregá-lo de cada vez. Existe uma IDE para Python, semelhante à IDE Arduino: uPyCraft, que pode ser utilizada como editor e como terminal para interface com o microcontrolador.

  • Em Tools>Serial, seleccione a porta série utilizada pelo microcontrolador
  • Dans Tools>Serial, sélectionnez le port série utilisé par le microcontrôleur

Assim que o microcontrolador estiver ligado à interface, pode utilizar a consola como um terminal

Pode também criar e editar um ficheiro contendo o guião Python. Depois de ter escrito o código, pode carregá-lo e executá-lo premindo F5. Para validar o carregamento do código, poderá ser necessário premir o botão reset no quadro. Pode parar o código premindo Ctrl+C na consola.

N.B.: Pode reiniciar o código sem fazer um reset, introduzindo o comando

exec(open('main.py').read(), globals())

Apagar o ficheiro

Se não quiser que o script seja accionado no reinício, tem de apagar o código main.py utilizando o comando num terminal ou no IDE

os.remove('main.py')

Repor para a configuração padrão

Para programar o microcontrolador com o IDE Arduino, é necessário apagar o ficheiro main.py, se existir, e carregar um código Arduino. Isto irá recarregar o bootloader na memória flash.

Para voltar a utilizar o MicroPython, terá de apagar a memória flash e carregar o firmware.

Fontes

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?