Índice:

3 maneiras simples de programar um módulo ESP8266 12X: 5 etapas (com imagens)
3 maneiras simples de programar um módulo ESP8266 12X: 5 etapas (com imagens)

Vídeo: 3 maneiras simples de programar um módulo ESP8266 12X: 5 etapas (com imagens)

Vídeo: 3 maneiras simples de programar um módulo ESP8266 12X: 5 etapas (com imagens)
Vídeo: 3 Simple ways of programming an ESP-12 Module 2024, Novembro
Anonim
3 maneiras simples de programar um módulo ESP8266 12X
3 maneiras simples de programar um módulo ESP8266 12X

Se você não está familiarizado com o microcontrolador ESP8266, realmente sinto que você está perdendo! Essas coisas são incríveis: elas são baratas, potentes e o melhor de tudo tem Wi-Fi integrado! O ESP8266 começou sua jornada como um complemento de Wi-Fi para placas Arduino mais tradicionais, mas logo depois, a comunidade percebeu o poder delas e adicionou suporte para ser capaz de programar diretamente com o IDE do Arduino.

Hoje em dia, se você está procurando usar um ESP8266 para seu projeto, eu recomendaria usar uma placa de desenvolvimento como o Wemos D1 Mini * ($ 2,50 entregue !!) ou Adafruit Feather Huzzah. Essas placas têm todos os pinos utilizáveis quebrados, são facilmente programáveis por meio de seu conector micro USB e têm um regulador de 3,3 V integrado. Mas e se você quiser usar um ESP8266 em um projeto com um PCB personalizado? A maneira mais fácil é usar um módulo ESP12 e, neste Instructable, mostrarei algumas maneiras simples de programá-los. * = Link de afiliado

Etapa 1: Confira o vídeo

Aqui está um vídeo com todas as informações contidas no Instructable, se você quiser dar uma olhada. No meu canal eu trabalho muito com ESP8266s, então meu canal em geral talvez valha a pena conferir se esse tipo de coisa interessa a você!

Etapa 2: Pré-etapa: Configuração para programar o ESP8266

Image
Image

Se você nunca usou o ESP8266 ou o Arduino antes, precisaremos configurar um pouco o software. Tenho um vídeo dedicado a isso. Tem apenas 5 minutos de duração e passa por tudo que você precisa para configurar.

Se os vídeos não são realmente o seu lugar, confira a lição 2 da incrível aula de IoT de Becky, ela aborda tudo que você precisa também.

Antes de passar para a próxima seção, você deve ser capaz de enviar um esboço simples para um ESP8266 (como o exemplo de piscar mencionado no vídeo e na lição de Becky)

Etapa 3: Método 1: Programador de alfinetes "Frog"

Método 1
Método 1

Esta é provavelmente a maneira mais fácil de programar um módulo ESP12. Você basicamente coloca o módulo na placa e ele se comporta exatamente como uma das placas de desenvolvimento mencionadas anteriormente. Selecionei a mini placa Wemos D1 na lista suspensa de placas durante a programação. As desvantagens desse método são:

  • O programador é um pouco caro se você estiver fazendo apenas algumas placas.
  • As placas só podem ser programadas desta forma antes de serem soldadas ao seu PCB

O que comprei é da Aliexpress, mas acredito que o designer original é um usuário do Tindie chamado Fred. Eles estavam esgotados na época, então acabei indo com o Aliexpress, mas vou vincular os dois.

  • Programador de Módulo ESP Pop-in Aliexpress *
  • Fred's Frog Pin ESP Module Programmer

* = Link de afiliado

Etapa 4: Método 2: usando basicamente qualquer conversor USB para serial

Método 2: usando basicamente qualquer conversor USB para serial
Método 2: usando basicamente qualquer conversor USB para serial
Método 2: usando basicamente qualquer conversor USB para serial
Método 2: usando basicamente qualquer conversor USB para serial
Método 2: usando basicamente qualquer conversor USB para serial
Método 2: usando basicamente qualquer conversor USB para serial

Para o próximo método, vamos colocar manualmente o módulo ESP no modo de programação e, em seguida, usar basicamente qualquer conversor USB para serial para programar o ESP8266, até mesmo este PL2303 * que custa 50c entregue funciona!

Operação normal:

Antes de começarmos a programar, primeiro precisamos dar uma olhada em quais componentes externos o ESP8266 precisa para ser executado. Para operação normal, um módulo ESP-12 precisa do seguinte

  • EN, RST e GPIO 0 precisam ser puxados para cima usando um resistor de 10K
  • GPIO 15 precisa ser puxado para o terra usando um resistor de 10K
  • Fonte de alimentação de 3,3 V capaz de cerca de 250mA de corrente (um limite entre VCC e GND é recomendado)

Com a configuração acima, o ESP8266, quando ligado, estará no modo de operação normal, portanto, executará quaisquer esboços que você tenha programado para ele. Você pode comprar placas de breakout para módulos ESP-12 * que são realmente úteis para testar as diferentes configurações. Os módulos têm os resistores configurados para EN e GPIO 15 pinos, então você ainda precisará adicionar o resistor pull-up para RST e GPIO 0,

Habilitando o modo de programação:

Para colocá-lo no modo de programação, o GPIO 0 precisa ser puxado para baixo quando o ESP estiver inicializando. A maneira mais fácil de fazer isso é adicionar botões ao GPIO 0 e ao pino RST que se conecta ao aterramento quando pressionado. Então, para habilitar o modo flash, você simplesmente

  • Mantenha pressionado o botão GPIO 0
  • Pressione o botão RST
  • Em seguida, solte os dois botões

Você não precisa executar essa sequência em nenhum momento específico durante o processo de upload ou qualquer coisa, uma vez que o ESP está no modo de programação, ele permanecerá lá até a próxima reinicialização, portanto, execute as etapas a qualquer momento antes de fazer o upload.

Programando com um adaptador USB para serial:

Habilitar o modo de programa é apenas metade da batalha, agora precisamos realmente programar o módulo. A maioria dos adaptadores USB para serial não pode fornecer corrente suficiente para o ESP8266, portanto, é recomendado que você ligue o ESP8266 usando uma fonte externa de 3,3 V.

Para conectar o programador, você precisa conectar os seguintes pinos (também mostrados na imagem acima):

  • Conecte o TX do programador ao RX do ESP8266 (Não é um erro de digitação, as conexões são invertidas)
  • Conecte o RX do programador ao TX do ESP8266
  • Conecte o aterramento do programador ao aterramento do ESP8266

Para fazer upload do seu esboço, siga os seguintes passos:

  • Selecione o número da porta do seu adaptador serial (Ferramentas-> Porta)
  • Ative o modo de programação em seu ESP8266 conforme descrito acima
  • Clique no botão de upload. (Se falhar, verifique a fiação e tente descansar a placa no modo de programação novamente)
  • Clique no botão reset quando o upload terminar

Aqui estão as configurações de placa que usei ao enviar usando este método:

  • Placa: Módulo ESP8266 Genérico
  • Modo Flash: DIO
  • Tamanho do Flash: 4M (3M Spiffs)
  • Método de reinicialização: ck
  • Frequência de flash: 40 MHz
  • Velocidade de upload: 115200

A última coisa a notar é que a definição LED_BUILIN para um módulo ESP8266 genérico aponta para o pino 1, mas o LED embutido de um módulo ESP12 é conectado ao pino 2 (é ativo baixo também como um FYI). Então, se você estiver testando um esboço intermitente, você precisará usar o número 2 em vez de LED_BUILTIN

* = Link de afiliado

Etapa 5: Método 3: Reinicialização automática do programador usando um NodeMCU

Método 3: Reinicialização automática do programador usando um NodeMCU
Método 3: Reinicialização automática do programador usando um NodeMCU
Método 3: Reinicialização automática do programador usando um NodeMCU
Método 3: Reinicialização automática do programador usando um NodeMCU

Se você usou placas de desenvolvimento ESP, deve ter notado que basicamente todas elas não exigem que você habilite manualmente o modo de programação usando os botões, então como eles fazem isso?

A maioria dos chips USB para serial tem pinos adicionais que emitem sinais em diferentes estágios do processo de upload e com o uso de alguns circuitos externos é possível acionar o GPIO 0 e os resets necessários. O RuiMoteiro possui um instrutivo sobre este tema utilizando uma placa FTDI e ESP8266.

Mas acho que há uma abordagem mais simples para isso, e o que é ainda melhor é que há uma boa chance de você já ter tudo de que precisa para fazer isso! Você pode usar uma placa de desenvolvimento ESP8266 como um NodeMCU como o programador *.

Qual é a vantagem de usar um NodeMCU?

As principais vantagens de usar o NodeMCU como programador são as seguintes:

  • Você pode alimentar o ESP8266 diretamente dos pinos de 3 V do NodeMCU
  • Cuidará da reinicialização / habilitação automática do modo de programação
  • Custa cerca de US $ 2,50 (e pode ser usado como placa de desenvolvimento regular quando não estiver programando outros!)

Você pode usar essa mesma abordagem com qualquer placa de desenvolvimento que expõe o pino de ativação do chip do ESP8266.

Como funciona?

Tive a ideia disso de um YouTuber chamado Mika Kurkela, em seu vídeo ele estava usando o NodeMCU para programar um módulo ESP-01, mas podemos usar a mesma ideia para o módulo ESP12.

Basicamente, vamos desabilitar o ESP8266 no NodeMCU forçando o pino EN para baixo, isso impedirá o módulo ESP8266 no NodeMCU de inicializar. Em seguida, iremos conectar todos os pinos relevantes da placa NodeMCU ao nosso ESP8266 externo.

Ligando

Para conectá-lo, você precisará da fiação ESP8266 padrão conforme mostrado na etapa anterior e, em seguida, adicionar as seguintes conexões (também mostradas na imagem acima):

  • Conecte 3 V do NodeMCU ao VCC do ESP8266
  • Conecte GND a GND
  • Conecte o TX do NodeMCU ao TX do ESP8266 (isso é diferente da etapa anterior)
  • Conecte o RX do NodeMCU ao RX do ESP8266
  • Conecte D3 do NodeMCU ao GPIO 0 do ESP8266 (D3 é GPIO 0 do ESP8266)
  • Conecte o RST do NodeMCU ao RST do ESP8266
  • Conecte EN do NodeMCU ao GND

Carregando um esboço

Depois de conectar o ESP8266, você precisa fazer o seguinte:

  • Selecione o número da porta do NodeMCU (Ferramentas-> Porta)
  • Selecione o tipo de placa "NodeMCU 1.0 (Módulo ESP12-E)"
  • Clique em upload

E é isso! Ele ativará automaticamente o modo de programação e será redefinido automaticamente quando terminar o upload, para que comece a executar o esboço.

Usando isso em seus designs de placa

Para usar este método em seus designs de placa, você simplesmente precisa quebrar os seguintes pinos:

  • Chão
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

E quando você quiser programar suas placas, conecte-as como acima.

Esperamos que você ache este Instrutível útil, se você tiver alguma dúvida, sinta-se à vontade para perguntar!

* = Link de afiliado

Recomendado: