Primeiros passos com MicroPython no ESP8266

Este post faz parte da série MicroPython com ESP8266

As placas com ESP8266 se tornaram febre entre os makers e entusiastas, nos últimos anos. Muitos projetos estão sendo desenvolvidos com comunicação WIFI, usando módulos ESP8266 (até mesmo para indústria – esse é um papo para outro post 😉 ). A programação de placas com ESP8266 geralmente é feita usando a IDE Arduino ou Lua.

Mas você também pode programar a sua placa com ESP8266 usando Python, ou melhor MicroPython. Nesse artigo vou apresentar os primeiros passos para programação de uma nodeMCU usando MicroPython. Bora aprender?

MicroPython

O MicroPython é uma implementação enxuta e eficiente da linguagem de programação Python 3, incluindo um subconjunto da biblioteca padrão do Python, e é otimizada para rodar em microcontroladores e em ambientes restritos.

O MicroPython foi originalmente criado pelo programador australiano e físico Damien George, lançado em uma campanha de sucesso no Kickstarter junto com a pyboard: Veja mais detalhes sobre a placa em: MicroPython: Python para microcontrolador

Hoje o MicroPython já possui port para diversas placas:

  • Placas com ESP8266
  • Placas com ESP32
  • PyBoard
  • Micro:Bit
  • Teensy 3.X
  • WiPy – Pycom
  • Adafruit Circuit Playground Express

A Adafruit fez um fork do MicroPython e chamou de CircuitPython. Hoje eles estão desenvolvendo diversas placas e aplicações usando o CircuitPython.

Para mais detalhes sobre placas suportadas pelo MicroPython, acesse: Boards Summary

Neste artigo vamos focar em placa com ESP8266. Mas você pode ver mais detalhes sobre a aplicação do MicroPython com a micro:bit. Acesse a série de artigos: micro:bit com MicroPython

uPyCraft IDE

Para facilitar o desenvolvimento de scripts e até mesmo a gravação do firmware da nossa placa, vamos usar a uPyCraft IDE. Essa ferramenta foi especialmente projetada para microPython.

Desenvolvida pela DFRobot, pode ser usada em uma série de sistemas operacionais, e possui diversos recursos que facilitarão nossa vida, nesse primeiro momento com o MicroPython.

O projeto é open source e está disponível no github.

Instalação da uPyCraft IDE

Baixe a versão correspondente ao seu sistema operacional, no repositório do projeto.

A DFRobot deixou disponíveis os links para download em sua documentação:

Instale a IDE conforme o seu sistema operacional!

MicroPython com ESP8266: Gravando o Firmware do MicroPython na nodeMCU

Para conseguir programar a nodeMCU ou outra placa com ESP8266 é necessário atualizar o firmware.

Baixe o firmware no site do MicroPython: https://micropython.org/download#esp8266

MicroPython no ESP8266

Vamos usar o próprio uPyCraft para essa tarefa. Você também pode usar o nodeMCU Flasher se achar mais fácil, ou até mesmo por linha de comando com o esptool.

Abra o uPyCraft e vá em Tools > Serial e selecione a porta Serial para sua placa. No meu caso foi a COM9:

MicroPython no ESP8266.

Selecione a placa em  Tools > board:

Agora acesse Tools > BurnFirmware:

Será aberta a seguinte janela:


Faça a seguinte configuração:

  • board: esp8266
  • burn_addr: 0x0
  • erase_flash: yes
  • com: COM9
  • Firmware: Selecione “Users” e então encontre o firmware baixado no site do MicroPython:

Pressione OK e aguarde a gravação do firmware:

Ao final a sua placa nodeMCU estará pronta para ser programada em MicroPython.

Primeiros passos com o uPyCraft IDE

Com o uPyCraft aberto, vamos dar os primeiros passos na programação em MicroPython:

Clique no botão Connect na lateral direita:


Será aberto o REPL:

Digite help() e pressione Enter. Será exibida a seguinte mensagem:

MicroPython no ESP8266

Os comandos com a Tecla CTRL irão nos ajudar durante os testes no futuro. Lembre deles. Ou quando precisar digite help().

Agora vamos acender o LED onboard da nodeMCU. Digite:

>>> from machine import Pin
>>> led = Pin(2,Pin.OUT)
>>> led.value(1)
>>> led.value(0)
>>>

Veja se o estado do LED muda na sua placa.

Também podemos criar um script no computador e depois transferir para a placa. Acesse File > New:

MicroPython no ESP8266

E digite o seguinte script:

from machine import Pin
from time import sleep

led = Pin(2, Pin.OUT)

while True:
    led.value(not led.value())
    sleep(1.0)

Salve em seu workspace:

MicroPython no ESP8266

E por fim, clique em no botão DownloadAndRun ou pressione F5:

Se não houver erros no código, o LED começará a piscar e será exibida a seguinte mensagem:

Para parar a execução você pode clicar em STOP ou então pressionar CRTL + C no prompt:

MicroPython no ESP8266

Teste outros comandos, e veja o resultado na placa.

Nos próximos artigos, vamos explorar os recursos do MicroPython usando a nodeMCU.

Se ficou alguma dúvida ou sugestão, deixe seu comentário a seguir. Até o próximo.

Saiba mais

PLEN:bit – Um pequeno robô bípede feito com a BBC micro:bit

Programando a BBC micro:bit no mbed

Lendo os botões da micro:bit no mbed

MicroPython com ESP8266

Placa de testes para MicroPython com ESP8266
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
16 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Thom
Thom
05/10/2021 09:41

Bom dia! Segui o tutorial agora, tudo ainda funcionando plenamente. Obrigado e parabéns pelo artigo, Fábio!

Alexandre Costa
Alexandre Costa
25/07/2020 01:26

Olá, sou meio leigo em ESP8266 e gostaria de uma informação, se eu gravar o bootload do Micropython como faço para voltar a minha placa ao normal para usar no Arduino?

Thom
Thom
Reply to  Alexandre Costa
05/10/2021 09:42

Só gravar uma nova sketch 😉

Jonathan
Jonathan
29/10/2019 16:15

quando conecto meu node com o computador e tento comunicar, aparece a COM1 e apesar disso, ele não consegue se conectar a ela, apresentando o seguinte erro:” could not open port ‘COM1’: PermissionError(13, ‘Acesso negado.’, None, 5)” como resolver?

Kacia Karina Rosa de Sousa
Kacia Karina Rosa de Sousa
14/03/2019 07:48

Gostaria se possível tirar uma duvida, ao apertar em DownloadAndRun meu programa executa normalmente na placa, porém ao desconectar meu esp32 da porta serial e depois alimenta-lo novamente, ele não executa o código, porque isso ocorre? não era pro meu programa estar gravado na memoria flash da placa?

felipe
felipe
Reply to  Kacia Karina Rosa de Sousa
02/05/2019 18:42

tenho a mesma dúvida, como gravar na memoria?

Tales
Tales
Reply to  Kacia Karina Rosa de Sousa
28/05/2019 23:33

Eu ia fazer justamente esta pergunta, como faz pra deixar o programa rodando em standalone?

Tales
Tales
Reply to  Tales
28/05/2019 23:44

Descobri… Quando vc liga a placa ele roda o boot.py, lá vc deve adicionar as seguintes linhas:

import blink.py #importe o seu programa.py aqui
blink.py.run() # só mandar rodar ele agora

ANSELMO NASCIMENTO
ANSELMO NASCIMENTO
Reply to  Tales
19/07/2019 12:21

Bom dia a todos no meu caso eu copiei o meu programa todo pra esta pasta e rodou.

Max Orlando Diniz Andrade
Max Orlando Diniz Andrade
25/02/2019 12:17

Achei, estava procurando uma matéria sobre micropytom, parabéns, ler sempre, é lógico,por em prática.

FRANKLIN SILVA DE BONFIM
09/01/2019 15:19

Mais um artigo muito bom Fábio!

Leandro de Santi
Leandro de Santi
12/12/2018 07:46

Olá Fábio, obrigado pelo artigo, o link https://embarcados.com.br/micropython/ citado nao esta funcionando, obrigado !!!!

Home » Software » Primeiros passos com MicroPython no ESP8266

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:
Nenhum resultado encontrado.