Índice:
- Etapa 1: O que é MicroPython?
- Etapa 2: Requisitos
- Etapa 3: Por que placa baseada em ESP8266?
- Etapa 4: Configurando Seu Computador
- Etapa 5: Atualizando MicroPython com Esptool.py
- Etapa 6: usando o REPL MicroPython com Rshell
- Etapa 7: Controlar pinos usando MicroPython
- Etapa 8: Esmaecimento do LED
- Etapa 9: para onde vamos a partir daqui?
- Etapa 10: Conclusão
Vídeo: Introdução ao MicroPython no ESP8266: 10 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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
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?
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
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
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
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
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
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:
Introdução aos circuitos de infravermelho: 8 etapas (com imagens)
Introdução aos circuitos IR: IR é uma peça de tecnologia complexa, mas muito simples de trabalhar. Ao contrário dos LEDs ou LASERs, o infravermelho não pode ser visto com o olho humano. Neste Instructable, demonstrarei o uso do infravermelho através de 3 circuitos diferentes. Os circuitos não serão u
Introdução ao radioamador: 5 etapas (com imagens)
Introdução ao radioamadorismo: Como um licenciado recém-formado, quero passar adiante o processo que fiz para entrar no radioamadorismo. Fui seduzido pelo aspecto de autossuficiência do hobby, dando às pessoas uma maneira de se comunicar quando outros métodos são interrompidos. Mas também é gratificante
Introdução ao Arduino: 15 etapas (com imagens)
Introdução ao Arduino: Um Arduino é uma placa de desenvolvimento de microcontrolador de código aberto. Em inglês simples, você pode usar o Arduino para ler sensores e controlar coisas como motores e luzes. Isso permite que você carregue programas para este fórum, os quais podem interagir com as coisas
Micro: bit Zip Tile Introdução: 9 etapas (com imagens)
Micro: bit Zip Tile Introdução: Antes de continuar minha série de sensores de visão MU instrutíveis para o Micro: bit, preciso torná-los instrutíveis para o Kitronik Zip Tile, pois irei usá-lo. basta chamá-lo de Zip de agora em diante, é um tapete de neopixel 8x8
Sinalizador de notificação - ótima introdução ao Wi-Fi, IFTTT e Huzzah ESP8266: 9 etapas (com imagens)
Sinalizador de notificação - ótima introdução ao Wi-Fi, IFTTT e Huzzah ESP8266: Estou sempre perdendo coisas importantes … então criei o Sinalizador. Um dispositivo de Internet das Coisas (IoT) para notificar ou me lembrar dessas coisas importantes! Agora, com uma rápida olhada em minha mesa, posso ver se … Tenho um e-mail que fui mencionado em um twe