Primeiros passos com MicroPython no ESP8266

Você pode programar a sua placa ESP8266 usando Python. Neste artigo vou apresentar os primeiros passos, com uma nodeMCU, de MicroPython no ESP8266.
Este post faz parte da série MicroPython com ESP8266. Leia também os outros posts da série:

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:

image2 2

Agora acesse Tools > BurnFirmware:

image11

Será aberta a seguinte janela:

image8


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:
image9

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

image14

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:

image5 1

Clique no botão Connect na lateral direita:

image10


Será aberto o REPL:

image12

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:

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:

Salve em seu workspace:

MicroPython no ESP8266

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

image11

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

image15

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

Outros artigos da série

Placa de testes para MicroPython com ESP8266 >>

Engenheiro, especialista em sistemas embarcados. Hoje é diretor de operações do portal Embarcados, onde trabalha para levar conteúdos de eletrônica, sistemas embarcados e IoT para o Brasil.

Também atua no ensino eletrônica e programação. É entusiasta do movimento maker, da cultura DIY e do compartilhamento de conhecimento, publica diversos artigos sobre eletrônica e projetos open hardware.

Com iniciativas como o projeto Franzininho e projetos na área de educação, leva a cultura maker para o Brasil capacitando e incentivando professores e alunos a usarem tecnologia em suas vidas. Participou da residência hacker 2018 no Red Bull Basement.

Notificações
Notificar
guest
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 Ferreira
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 S.C. Bonfim
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://www.embarcados.com.br/micropython/ citado nao esta funcionando, obrigado !!!!

WEBINAR

Imagens de Ultrassom: Princípios e Aplicações

DATA: 26/10 ÀS 19:30 H