Primeiros Passos com NodeMcu – Conheça o Micropython

Olá meus queridos caiçaras, tudo bem? No post de hoje, vamos falar sobre mais uma forma de trabalhar com o NodeMcu, utilizando a linguagem de programação Python.  No artigo anterior, falei da linguagem Lua, que pode trabalhar com essa placa. Dê uma olhada no artigo clicando aqui.

Prosseguindo, vamos apresentar hoje, para você, o Micropython. Trata-se de um projeto muito interessante, que possibilita trabalhar com a linguagem na programação de sistemas embarcados.

Vamos conhecer um pouco da linguagem Python

Python é uma linguagem de programação de alto nível, multiparadigma, lançada na década de 1990, por Guido van Rossum, sendo de propósito geral, além de possuir tipagem forte e dinâmica. Uma das principais características da linguagem é sua facilidade de aprendizado, leitura do código e a implementação de algo com essa linguagem é relativamente simples, se comparada a outras (Java, por exemplo, rs).

Essas características faz com que a linguagem seja muito popular, não só no meio acadêmico, mas no meio empresarial. Recentemente, o IEEE (Instituto de Engenheiros Eletricistas e Eletrônicos) publicou uma lista com as linguagens de programação mais populares. E, pela primeira vez, a linguagem C foi superada e foi, justamente, por quem? Pela linguagem Python. Caso tenha interesse em saber mais dessa lista, recomendo a leitura de um artigo muito interessante do portal Embarcados: https://www.embarcados.com.br/linguagens-de-programacao-2017-ieee-spectrum/.

Agora que conhece a linguagem Python, vamos aos requisitos e começar a preparar o ambiente para trabalhar com Micropython.

Preparando o ambiente…

Antes de preparar o ambiente, vou deixar um recado, todo o processo foi realizado em cima do sistema operacional Windows, pois a grande maioria de nossos leitores e das pessoas utilizam o mesmo.

Vamos aos principais itens que vamos precisar ao longo do artigo:

  • Nodemcu;
  • Python 2.7.x;
  • CMD (Windows);
  • Firmware Micropython;
  • Putty (para comunicação serial).

Já que estamos trabalhando com o Nodemcu, acredito que você já tenha a placa ao ler esse artigo. Além disso, você precisa instalar o Python. A instalação é literalmente avançar, avançar, avançar e concluir! Para fazer o download, acesse o site oficial e baixe a versão Python 2.7.x: https://www.python.org/downloads/.

Ao finalizar a instalação do Python, vamos adicionar ao PATH das variáveis de ambiente do Windows.

Primeiramente, pressione o botão (Windows), clique com o botão direito em Computador, selecione a opção Propriedades:

Obs.: Se preferir, acesse o Painel de Controle > Sistema e Segurança Sistema

Clique na opção “Configurações avançadas” do sistema. Ao abrir a tela, clique em Variáveis de Ambiente:

Vá à opção Path e clique no botão editar. Será aberta uma janela, conforme a seguir:

Ao abrir a janela, no campo Valor da Variável, posicione o cursor do mouse após o último caractere e adicione um ponto e vírgula (;). Após essa ação, verifique o caminho onde o Python foi instalado, copie o caminho e cole após o ponto e vírgula. No meu caso, foi o seguinte caminho:

C:\Python27

Por fim, clique em OK, confirmando a adição dessa variável ao Path e OK às variáveis de ambiente.

Obs.: Tenha muita atenção e não esqueça o “;” antes de inserir o caminho.

Instalando o firmware…

Antes de instalar o firmware, é necessário realizar o Download. Para isso, acesse o site do Micropython na opção Downloads e baixe a versão do firmware para o ESP8266, conforme o seguinte link: http://micropython.org/download#esp8266. Ao finalizar o download, mova o arquivo “.bin” para a pasta scripts, dentro da pasta Python. Isso facilitará e muito ao fazer o upload do firmware para o NodeMcu. No meu caso, o caminho para a pasta Scripts é:

C:\Python27\Scripts

Vale lembrar que o ambiente já está preparado, querido leitor. Agora, vamos instalar o firmware na placa. Para isso, abra o terminal no Windows, você pode digitar o botão (Windows) e digitar cmd. Execute-o como administrador e, ao abrir o terminal, acesse o diretório Python, pasta Scripts.

Obs.: Verifique o diretório para evitar qualquer problema.

Feito isso, vamos começar com a instalação do Pyserial, que permite a comunicação serial com dispositivos. Para isso, digite o seguinte comando:

pip install pyserial

Ao finalizar o processo de instalação, faça a instalação do esptool.py. Para isso, digite o seguinte comando:

pip install esptool

O processo de instalação de ambas as ferramentas ficará parecido com a imagem a seguir:

Com a instalação finalizada, será necessário limpar a memória flash do ESP8266, antes de prosseguir com a instalação do firmware. Para isso, digite o seguinte comando:

esptool.py –port /COMX erase_flash
Obs.: Você deve checar a porta COM, que está o NodeMcu. Caso não saiba, verifique o gerenciador de dispositivos, onde indicará o número da porta COM.

Ao finalizar a limpeza da memória flash, faça o upload do firmware com o seguinte comando:

esptool.py –port /COMX –baud 115200 write_flash –flash_size=detect 0 esp8266-xxxxxx-xx.xx.bin
Obs.: Além de checar a porta COM, verifique a versão do arquivo .bin baixado, como por exemplo: esp8266-20170612-v1.9.1.bin

Ao digitar o comando a instalação é executada, conforme a seguir:

Com tudo dando certo, a instalação é finalizada e o firmware Micropython está instalado no NodeMcu. Vamos ao nosso primeiro teste.

Vamos ligar um led?

Antes de ligar o led, vamos à montagem do circuito, onde precisaremos do seguinte:

1 – Protoboard;

1 – Resistor de 330Ω;

1 – LED Vermelho 5mm ou a cor que desejar;

Fios Jumpers.

A montagem na matriz de contatos ficará, conforme imagem a seguir:

Após isso, vamos instalar um software para realizar a comunicação serial. No caso de você que utiliza o Windows, vamos instalar o Putty, que é um software muito leve e simples de configurar, sendo largamente utilizado. Por conta disto, resolvi escolher o mesmo para utilização neste artigo. Para realizar o download, acesse: http://www.putty.org/. A instalação é simples é o famoso NNF (Next, Next, Finish).

Ao instalar o Putty, abra o software e vamos realizar algumas configurações para comunicação com o Nodemcu. As configurações são:

  • Porta COM: Defina o número da porta COM.
  • Velocidade de Baud-rate: 115200

Por fim, clique em abrir. Ao abrir o terminal do Putty, pressione o botão de reset do NodeMcu, que deverá estar ao lado da entrada usb do mesmo e identificado como RST.

Feito isso, será exibida uma mensagem  contendo a versão do Micropython e aparecerá (>>>) que caracteriza um terminal a ser programado em Python.

Agora que está com o terminal aberto, digite o seguinte comando:

import webrepl_setup

Será exibida uma mensagem, onde você confirmará a instalação. Será solicitada uma senha, e então, você deverá criar uma senha, de preferência uma que se lembre, facilmente, e por fim confirme a mesma, terminando a instalação, vamos o primeiro teste:

print (‘hello nodemcu’)

Será exibido na linha abaixo a mensagem, que desejou imprimir na tela.

Obs.: Python não exige “;”. Isso é muito bom para nós esquecidinhos que sempre ficamos nervosos quando o código não funciona rs.

Agora que finalmente fez esse teste, vamos utilizar o mesmo circuito da postagem passada e os mesmos componentes para testar o acionamento de uma saída do Nodemcu, no caso a saída 13, correspondente ao pino D7:

Ao mandar pin.on(), o led acende e ao mandar pin.off() o mesmo apaga. Realmente é um script relativamente simples de entender rs.

Para finalizar…

Bom, o objetivo foi mostrar a instalação do Micropython e uma aplicação realmente simples. Recomendo dar uma lida na documentação, está em inglês, mas temos Google Translator rs. Para não ficar um artigo longo, vou finalizar aqui e, em breve, traremos mais novidades para você com Python e NodeMcu.

Bom galera, eu espero que tenham gostado. Se você tem qualquer dúvida e ou sugestão, deixe seu comentário! Terei o prazer de responder. Além disso, não deixe de compartilhar este artigo, pois sua dúvida pode ser a de outras pessoas.

Gostou? Compartilhe e de seu feedback! Isso é fundamental para melhorarmos nosso conteúdo e produzir, ainda mais, artigos para ajudar mais e mais pessoas.

Muito obrigado e até a próxima!

Yhan Christian

 

2 Comentários

  1. Olá, gostei muito da explicação. Fiz a instalação em um ESP8266 12f utilizando o ftdi. Minha duvida é a seguinte: xomo faco para acessar via serial se não tenho o botão reset?

    Att.


Deixe seu comentário.

%d blogueiros gostam disto: