Índice:

Introdução ao MicroPython no ESP8266: 10 etapas (com imagens)
Introdução ao MicroPython no ESP8266: 10 etapas (com imagens)

Vídeo: Introdução ao MicroPython no ESP8266: 10 etapas (com imagens)

Vídeo: Introdução ao MicroPython no ESP8266: 10 etapas (com imagens)
Vídeo: Introdução ao MicroPython com NodeMCU ESP8266 utilizando a IDE PyCharm: Projeto Blink. 2024, Novembro
Anonim
Introdução ao MicroPython no ESP8266
Introdução ao MicroPython no ESP8266

Você quer uma maneira diferente de programar as placas baseadas em ESP8266 em vez do método comum usando o IDE do Arduino junto com a linguagem de programação C / C ++?

Neste tutorial, aprenderemos como configurar e controlar uma placa ESP8266 usando MicroPython.

TEMPO DE CONSTRUÇÃO: 60 MINUTOS DIFICULDADE: CLASSIFICAÇÃO: Fácil

Etapa 1: O que é MicroPython?

MicorPython é uma das muitas linguagens de programação que podemos usar para programar o módulo ESP8266. É uma versão enxuta e rápida da linguagem de programação Python 3 e tem várias vantagens em relação às linguagens de programação tradicionais, como C e C ++.

O MicroPython foi projetado para ser compatível com o Python normal, tanto quanto possível. Ele tem um compilador Python completo e tempo de execução, e fornece um prompt interativo conhecido como REPL (Read-Eval-Print Loop).

MicorPython é projetado para suportar alguns tipos diferentes de microcontroladores. Mas, para este tutorial, vou trabalhar com apenas um modelo: a placa baseada em ESP8266 (NodeMCU). Observe que existem algumas placas diferentes que você pode comprar com o mesmo chip.

Leitura e recursos:

MicroPython

NodeMCU

Etapa 2: Requisitos

Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos

Para poder seguir este tutorial, você só precisa ter experiência básica de codificação com Python. Você não precisa ter nenhum conhecimento prévio de microcontroladores, eletrônicos ou mesmo MicroPython.

Você também precisará de um computador Windows, Mac ou Linux com uma porta USB livre, pois conectará um microcontrolador ao computador para programá-lo.

Peças necessárias:

1 x NodeMCU (ou outra placa baseada em ESP8266)

1 x LED vermelho de 5 mm

1 x resistor 220Ω 1 / 4W

1 x 10KΩ Potenciômetro Rotativo

1 x tábua de pão

1 x cabo USB para microUSB

Jumper Wires.

Etapa 3: Por que placa baseada em ESP8266?

Por que a placa baseada no ESP8266?
Por que a placa baseada no ESP8266?

Uma maneira de obter o máximo do ESP8266 é usando o MicroPython. Além disso, o módulo ESP8266 é uma das melhores plataformas para aprender a usar o MicroPython. Isso ocorre porque o ESP8266 fornece funções simples de controle de pino GPIO, bem como funcionalidade sem fio, permitindo que você teste todos os aspectos da linguagem de programação MicroPython.

O chip ESP8266 é popular na indústria de desenvolvimento de código aberto. Existem muitas placas de desenvolvimento de diferentes fabricantes que usam o chip ESP8266. MicroPython foi projetado para fornecer uma porta genérica que pode ser executada na maioria dessas placas, com o mínimo de limitações possível. A porta é baseada na placa Adafruit Feather HUZZAH Ao usar outras placas ESP8266, certifique-se de verificar seus esquemas e planilhas de dados para que você possa identificar as diferenças entre elas e a placa Adafruit Feather HUZZAH. Dessa forma, você pode acomodar as diferenças em seu código.

Leitura e recursos:

ESP8266

Pena Adafruit HUZZAH

Etapa 4: Configurando Seu Computador

Configurando Seu Computador
Configurando Seu Computador
Configurando Seu Computador
Configurando Seu Computador
Configurando Seu Computador
Configurando Seu Computador
Configurando Seu Computador
Configurando Seu Computador

Há várias coisas que você deve configurar antes de usar o MicroPython para programar sua placa ESP8266. Estaremos passando pelo processo de configuração nesta etapa. Desta forma, você saberá como configurar a placa ESP8266 para ser usada com MicroPython.

Preparando-se

Tudo que você precisa desta etapa à etapa 6 é o ESP8266 e um cabo USB. Conecte sua placa ESP8266 ao computador.

Como fazer isso…

ETAPA1: Instale os drivers do dispositivo

Se você tem um computador Linux, não precisa instalar nenhum driver de dispositivo para que os drivers do microcontrolador sejam reconhecidos. Mas se você tiver um Mac ou uma máquina Windows, é necessário um driver para permitir que o computador reconheça o microcontrolador como um dispositivo serial.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

ETAPA 2: Instale o Python

As ferramentas que você usará para se comunicar com o ESP8266 são escritas em Python, portanto, você precisa instalar o Python em seu computador.

Se o seu sistema operacional não fornece um Python pré-empacotado, você pode ir para https://python.org para baixar uma compilação oficial para qualquer um dos sistemas operacionais suportados.

ETAPA 3: Instale o esptool e o rshell

Instale dois pacotes que irão ajudá-lo a gerenciar sua placa usando pip. Para fazer isso, abra seu terminal e execute

pip install esptool rshell

ETAPA4: Faça download do MicroPython

Baixe o firmware mais recente do MicroPython.bin no seguinte link:

No momento em que estou escrevendo isto, a versão atual é 1.11 e o arquivo de firmware é chamado esp8266-20190529-v1.11.bin

Quando você fizer isso, poderá encontrar uma versão mais recente.

Etapa 5: Atualizando MicroPython com Esptool.py

Flashing MicroPython com Esptool.py
Flashing MicroPython com Esptool.py
Flashing MicroPython com Esptool.py
Flashing MicroPython com Esptool.py

Antes de inserir um novo firmware na placa, é uma boa ideia apagar todos os dados anteriores. Isso é algo que você sempre deve fazer para que o novo firmware seja executado em um estado limpo.

Vá para onde colocou o arquivo.bin. Use esptool.py para apagar o flash.

Para Linux:

esptool.py --port / dev / ttyUSB0 erase_flash

Para Windows:

esptool.py --port COM3 erase_flash

Pode ser necessário alterar a porta serial em seu comando para a porta serial à qual sua placa ESP8266 está conectada. Se você não souber o número da porta serial do seu ESP8266, verifique no IDE do Arduino. Basta abrir o IDE e clicar em Ferramentas | Portas. Você deve ver a porta serial da placa ESP8266 listada lá. Substitua a porta serial no comando (/ dev / ttyUSB0) pela porta serial de sua placa.

Agora que a placa está completamente apagada, você pode atualizar a compilação MicroPython que acabou de baixar. Isso também é feito com o comando esptool.py:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Este comando gravará o conteúdo do arquivo.bin do MicroPython na placa no endereço 0.

Certifique-se de alterar o nome do arquivo.bin do firmware no comando (esp82688-2019-080529-v1.11.bin) para o nome do firmware que você baixou.

Assim que o firmware for instalado com sucesso na placa ESP8266, você pode acessar o REPL na placa por meio de uma conexão com fio (porta serial UART) ou via WiFi.

Etapa 6: usando o REPL MicroPython com Rshell

Usando o REPL MicroPython com Rshell
Usando o REPL MicroPython com Rshell
Usando o REPL MicroPython com Rshell
Usando o REPL MicroPython com Rshell

Agora você está pronto para iniciar o MicroPython em sua placa ESP8266.

O que vou mostrar a você como se conectar ao prompt do Python em execução na placa. Isso é chamado de REPL, que significa "Read-Eval-Print-Loop". Este é o prompt padrão do Python que você provavelmente está acostumado a ver ao trabalhar com o interpretador regular do Python, mas desta vez ele será executado na sua placa e, para interagir com ele, você usará a conexão serial com o seu computador. Preparar?

Para se conectar à sua placa e abrir uma sessão REPL, digite o seguinte comando:

rshell --port

Este comando o levará ao prompt rshell. Veja a foto acima.

Se você estiver seguindo este tutorial no Windows, observe que rshell tem um histórico de problemas ao ser executado no Windows.

Portanto, para corrigir esse tipo:

rshell -a --port COM3

A partir desse prompt, você pode executar tarefas de gerenciamento relacionadas à placa do microcontrolador e também iniciar um REPL do Python que pode ser usado para interagir com a placa em tempo real. Basta inserir o seguinte comando:

repl

Para ter certeza de que tudo está funcionando, digite uma frase simples em Python:

imprimir ("Olá, Mundo")

Etapa 7: Controlar pinos usando MicroPython

Pinos de controle usando MicroPython
Pinos de controle usando MicroPython
Pinos de controle usando MicroPython
Pinos de controle usando MicroPython

Nesta etapa, aprenderemos como controlar os pinos ESP8266 com MicroPython. Para fazer isso, iremos criar uma configuração onde iremos alternar o estado de um LED conectado a um pino GPIO da placa ESP8266. Isso ajudará você a entender como controlar saídas digitais usando MicoPython.

Preparando-se

Você precisará das seguintes coisas para realizar esta ETAPA:

1 x NodeMCU

1 x LED vermelho de 5 mm

1 x resistor 220 Ω

1 x tábua de pão

Jumper Wires

The Build

Comece montando o LED na placa de ensaio. Conecte uma extremidade do resistor de 220 Ω à perna positiva do LED (a perna positiva de um LED geralmente é a mais alta das duas pernas). Conecte a outra extremidade do resistor ao pino D1 da placa ESP8266. Em seguida, conecte a perna negativa do LED ao pino GND da placa ESP8266. A conexão é mostrada no diagrama acima.

Quando a configuração estiver concluída, conecte a placa ESP8266 ao seu computador por meio de um cabo USB.

Como fazer isso…

Digite o seguinte código em seu REPL:

# pisca o LED a cada 1 segundo

def blink (pin = 5, time = 1) # função de piscar por padrão pin = 5, time = 1s importar máquina # o módulo da máquina mantém as configurações de pinos e modos de tempo importar sono # importar sono por algum atraso LED = máquina. Pin (led_pin, machine. PIN. OUT) # configurar LED como OUTPUT enquanto True: # run forever LED.value (1) # definir LED para HIGH sleep (time) # esperar 1 segundo por padrão LED.value (0) # definir LED para BAIXO hibernar (tempo) # aguarde 1 segundo por padrão

Digite blink () em sua sessão RPEL para testar este código. Isso piscará o LED conectado ao GPIO5 a cada 1 segundo.

Você pode alterar o PIN e / ou a hora ligando para:

piscar (pino =, tempo =)

Pressione ctrl + c para sair do código em execução.

Você pode usar o MicroPython para ler uma entrada de conectado ao ESP8266. Prossiga para a próxima etapa para aprender como fazer isso.

Verifique o vídeo se você travou.

Etapa 8: Esmaecimento do LED

Esmaecimento do LED
Esmaecimento do LED
Esmaecimento do LED
Esmaecimento do LED

Nesta etapa, aprenderemos como ajustar o brilho do LED usando um potenciômetro rotativo. Usaremos uma técnica chamada Modulação por Largura de Pulso (PWM), que nos permite escurecer o LED com até 256 configurações.

Aviso: Todos os pinos de ESP8266 podem ser usados como um pino PWM, exceto GPIO16 (D0).

Preparando-se:

Você precisará das seguintes coisas para realizar esta ETAPA:

1 x NodeMCU

1 x LED vermelho de 5 mm

Potenciômetro rotativo de 1 x 50 KΩ.

1 x tábua de pão

Jumper Wires

The Build

A conexão é mostrada no diagrama acima: Assim que a configuração for concluída, conecte a placa ESP8266 ao seu computador por meio de um cabo USB.

Como fazer isso…

Digite o seguinte código em seu REPL:

# LED de desbotamento a cada 0,5 lendo os dados do potenciômetro

import machine from time import sleep led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # criar objeto LED LED_pwm = machine. PWM (LED, freq = 500) # criar LED_pwm objeto e definir a frequência para 500 Hz enquanto Verdadeiro: LED_pwm.duty (POT.read ()) # obtém o valor do Pot e define-o para o ciclo de trabalho dormir (0,5) # aguarde 0,5

Isso mudará o brilho do LED conectado ao GPIO 5 alterando o valor do potenciômetro.

Pressione ctrl + c para sair do código em execução.

Verifique o vídeo se você travou.

Etapa 9: para onde vamos a partir daqui?

Até agora, vimos como configurar e executar MicroPython em placas baseadas em ESP8266. aprendemos como controlar os pinos para piscar um LED e então adicionamos um potenciômetro para controlar o brilho do LED usando a técnica de modulação por largura de pulso.

Agora podemos ler os dados do sensor e enviá-los para a nuvem, também podemos criar um servidor HTTP onde você pode imprimir nossos dados em uma página da web simples, etc …

Isso nos dá muitas ideias sobre a Internet das coisas (IoT).

Etapa 10: Conclusão

Aí está! Vá em frente e conquiste o mundo do MicroPython.

Se você tiver alguma dúvida, é claro, pode deixar um comentário.

Para ver mais sobre meus trabalhos, visite meu canal no YouTube:

myYouTube

myGitHub

myLinkedin

Obrigado por ler este instrutível ^^ e tenha um bom dia.

Até mais.

Ahmed Nouira.

Recomendado: