/
/
ESP8266 com MicroPython

ESP8266 com MicroPython

Sumário

Baixe agora a apostila Arduino Iniciante e comece seus projetos

Compartilhe seu conhecimento e receba em dinheiro ou produtos.

blog-eletrogate-esp8266-micropython-capa

Introdução

Geralmente, o ESP8266 é comprado com as configurações para receber códigos em C++. Neste post, veremos como o configurar para ser programado com MicroPython.

Sobre o MicroPython

MicroPython é uma linguagem em Python mais enxuta, voltada para programação de chips microcontroladores, dispositivos IoT e módulo e placas e desenvolvimento como o esp8266, Esp32, Raspberry Pico, Arduino etc.

Mas por que MicroPython?

Python é a segunda linguagem de programação mais utilizada no mundo, segundo o GitHub (https://exame.com/tecnologia/as-5-linguagens-de-programacao-mais-usadas-no-mundo-segundo-o-github/). Além disso, outros motivos:

  • Linguagem de alto nível
Python é uma linguagem de propósito diverso, servindo para programar em diversas plataformas, realizar análise de dados, automação e protótipos. Assim, ela tem sua sintaxe bem parecida com a linguagem humana, facilitando o aprendizado.
  • Código aberto e Gratuito
Não existe um “dono” cobrando pelo direito de uso da Linguagem, podendo os programadores utilizar e modificar o código fonte da linguagem. A sua licença aberta é pela MIT. Assim, qualquer pessoa que tenha o código pode copiar, modificar, mesclar, publicar, distribuir e vender sem qualquer restrição do seu criador.
  • Grande fontes de recursos
Por ser uma linguagem muito utilizada pelo mundo, vai existir também uma comunidade enorme para ajuda mútua entre os programadores. Um expediente dessa ajuda são as bibliotecas, módulos de programas feitos por um programador que fornece para outros programadores para solução de um problema já existente. Exemplo: Um programador que esteja precisando de implementar um controle de acesso de uma portaria por reconhecimento facial. Ao invés de perder diversas horas, dias ou até meses para implementar essa solução, o programador pode baixar a biblioteca OpenCV, que já tem quase tudo pronto, precisando talvez só efetuar a configuração e treinar a inteligência artificial da biblioteca.  Com isso, um trabalho custoso pode ser resolvido em questões de hora.

Instalando a IDE Thonny

Thonny é um ambiente de desenvolvimento minimalista e essa é a maior vantagem em relação aos outros IDE’s (Ambiente de Desenvolvimento Integrado), como o Pycharm e VScode. Além disso, apresenta grande facilidade para instalar o firmware que o IDE dispõe, utilizando de interfaces gráficas. Baixe o programa No site oficial da Thonny, baixe e instale o programa. Na versão 4.0.1 do Thonny, já vem instalado, com ele, o Python 3.10, facilitando, ainda mais, a sua utilização. Faça a instalação de acordo com o seu sistema operacional. No nosso caso, vamos baixar a versão estável do Windows, que é o sistema operacional mais utilizado. Quem pretende utilizar em outro sistema não terá problema com instalação, já que, muito provavelmente, já está familiarizado com as nuances do sistema.

Baixando o Firmware

Baixe o Firmware mais recente, de acordo com a versão do seu ESP8266, no site https://micropython.org/download Escolha sempre a versão mais recente e estável.

Instalando o Firmware

Agora, com o Thonny instalado, vamos atualizar o Firmware no ESP8266. Com o ESP8266 conectado à porta USB, clique em ferramentas e, depois, em Opções... Depois, na aba interpretador Nos campos de seleções, deixe conforme a figura, observando sempre a porta que o seu ESP está conectado. Clique em Install or update MicroPython: No campo Port, procure a porta à qual seu ESP está conectado e selecione-a. No campo Firmware, procure o caminho para o firmware baixado. Nos campos abaixo, deixe tudo igual à figura acima, clique em Instalar e espere terminar a instalação. Então, tudo estará configurado para o seu primeiro projeto.

Primeiro Teste em Python

Depois de Instalado o Thonny e atualizado o firmware, é hora de verificar se tudo está funcionando. Para testar, vamos ao Blink (pisca pisca).

import machine # importação para trabalhar com a GPIO
from time import sleep # importação para trabalahar com tempo

led_teste = machine.Pin(2, machine.Pin.OUT) # configuração da porta gpio

while True: # loop
    led_teste.value(1) # apagar led
    sleep(1) # 1 segundo de interrupção
    led_teste.value(0) # ligar led
    sleep(0.5) # meio segundo de interrupção
Para rodar o código no ESP8266, clique no respectivo ícone, conforme figura abaixo. Com isso, o código já vai esta rodando no ESP8266, mas ainda é preciso salvar o código dentro do ESP8266 e, para isso, é necessário parar a execução, clicando no ícone conforme figura abaixo. Agora, com a execução parada, clique em Arquivo e, depois, em Salvar. Vai abrir uma janela perguntando onde deseja salvar o código. Vamos escolher "dispositivo MicroPython" . Salve o arquivo com o nome main.py Com isso o código estará salvo dentro do ESP8266 e tudo funcionando.

Comparativo de Tempo de Carregamento - Python vs Linguagem C

No primeiro vídeo, pode-se ver que o tempo de carregamento na linguagem C é de, aproximadamente, 40 segundos. O tempo de carregamento em Python, no segundo vídeo, é instantâneo. Vídeo com carregamento em linguagem C

Vídeo com carregamento em Python

Conclusão

Enfim, agora, com o ESP8266 configurado e rodando Python, já podemos aproveitar ao máximo o poder que essa linguagem tem a nos oferecer, observando sua filosofia:

Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Linear é melhor do que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o bastante para quebrar as regras.
Ainda que praticidade vença a pureza.
Erros nunca devem passar silenciosamente.
A menos que sejam explicitamente silenciados.
Diante da ambiguidade, recuse a tentação de adivinhar.
Deveria haver um — e preferencialmente só um — modo óbvio para fazer algo.
Embora esse modo possa não ser óbvio a princípio a menos que você seja holandês.
Agora é melhor que nunca.
Embora nunca, às vezes, ser melhor do que agora *mesmo*.
Se a implementação é difícil de explicar, é uma má ideia.
Se a implementação é fácil de explicar, pode ser uma boa ideia.
Namespaces são uma grande ideia — vamos fazer mais destes!
Até a próxima!!!

Sobre o Autor


André Calazans

Programador, Graduando em Ciência da Computação, Técnico em Eletrônica, Eletricista. Onde tiver um Elétron eu vou querer saber porque ele está ali.

Geralmente, o ESP8266 é comprado com as configurações para receber códigos em C++. Neste post, veremos como o configurar para ser programado com MicroPython.

Precisa dos componentes para este projeto?

Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *