Mudancas Recentes - Buscar:

Principal

 Objetivos  
 Ementa  
 Livros 

OAC

LOAC

Professores:

  JOSEANA
  ELMAR

CONTATO

CRÉDITOS

editar



Como usar o ESP12 em casa

O Guia de Laboratório para as aulas se encontra neste link.

Informações para ajudar monitores da disciplina na preparação da aula estão aqui.

Alimentação

ET-MINI USB-TTL

Circuit Regulator 3.3V fornece 800 mA, FT232RL consome 15mA, ESP-12 consome no máximo 300 mA. No entanto, um capacitor de 2200uF e mais outro de 100nF em cima do chip são necessários para estabilizar a alimentação.

LM317 na protoboard

Uma tensão de 3.3V é necessário. Se o pino ADJ do LM317 estiver com uma ponte 220Ohm - 330Ohm coloque um resistor de 1kOhm de ADJ para VDD. Precisa de um capacitor de 470uF e um de 100nF.

Pilhas

Duas pilhas descartáveis 1.5V AA funcionam sem capacitor 470uF, só com o de 100nF.

Placa Arduino

Uma placa de Arduino (veja aqui) pode ser usada para alimentar o ESP12. No entanto, uma alimentação externa de 9V (rabinho) deve ser conectada à placa Arduino para ela ser capaz de fornecer corrente suficiente para o ESP e Precisa de um capacitor de 470uF e um de 100nF.

Pinos

Aqui pull up/down significa um resistor de ca. 10kOhm para VDD/GND. Não deve-se conectar um GPIO diretamente a VDD ou GND.

  • GPIO15 - pull down
  • EN ou CH_PD - pull up
  • RST - parece ter um pull up interno ao ESP12, mas pode reforçar com pull up externo.
  • GPIO0 - parece ter um fraco pull up interno ao ESP12, mas é melhor reforçar com pull up externo.
  • GPIO2 - parece ter um pull up interno ao ESP12, mas pode reforçar com pull up externo.

Conexão serial

Pode ser usado um ET-MINI USB-TTL conectando RXD com TXD e TXD com RXD, ou pode ser usada uma placa Arduino após ter retirado a microcontrolador, ou a montagem aqui. Com alguns exemplares do ESP12F, um pull down de 2.7kOhm parece ser necessário em RXD.

Usando Minicom é preciso dar CRTL-J depois de dar Enter. A opção "add linefeed" do minicom não resolve porque coloca o linefeed antes do carriage return, não depois.

Usando Kermit funciona só dar Enter.

Usando Arduino IDE, no Tools -> Serial Monitor coloque Both NL & CR.

Comandos AT

O ESP12 vem de fábrica com firmware de comandos AT.

Se o ESP12 ficar doido:
AT+RESTORE
Para listar os pontos de acesso alcançáveis:
AT+CWMODE=1
AT+CWLAP
Para enviar dados para o servidor do Labarc:
AT+CWMODE=1
AT+CWJAP="labarc","senha_wifi"
AT+CIFSR
AT+CIPSTART="TCP","labarc.ufcg.edu.br",80
AT+CIPSEND=31
agora vai aparecer > no início da linha e não terá mais echo
GET /php/?name=Fulano&data=29
termine só esta última linha com um ou mais Ctrl-J (Newline) em vez de Enter

Arduino IDE

Para instalar a IDE, siga o ítem 1. destas instruções para Linux, não para Windows.

No arquivo hardware/esp8266com/esp8266/boards.txt troque a linha
nodemcuv2.upload.resetmethod=nodemcu
pela linha
nodemcuv2.upload.resetmethod=ck
para que um break enviado pela linha serial do PC possa acionar o RST do ESP.

Aparentemente, Python 2.6 funciona, não precisa de Python 2.7. Recomenda-se fazer yum install nss-mdns.

No menu Tools da IDE, selecione como Board o NodeMCU 1.0 (ESP-12E Module).

No menu Tools -> Port escolha a porta de comunicação, por exemplo /dev/sttyS0.

Para obter exemplos ​selecione o item Blink no caminho File -> Examples -> Examples from Custom Libraries. Observe que o LED azul da ESP12 está conectado no pino 2 da GPIO. Exemplos bonitinhos são ESP8266 -> Blink e ESP8266WebServer -> HelloServer.

Verifique que o ESP12 tem comunicação com PC (vide secção Comandos AT) e que a opção em Tools -> Port esteja correta.

Conecte o pino RST do ESP12 conforme este esquemático.

Conecte a GPIO0 do ESP12 a uma chave através de um resistor de 12 KOhm. Antes de fazer "Upload" coloque a chave na posição 0, depois coloque em posição 1 (3.3 V).

Upload sem fio (OTA)

Segue estas instruções para fazer upload sem fio. Observe que upload sem fio requer que já tenha sido feito upload de um código que suporta upload sem fio, ou seja, o primeiro upload tem que ser pela serial. Diferente do upload pela serial, o GPIO0 precisa sempre ter pull up para upload sem fio. Por esta razão, depois do upload pela serial, é preciso colocar pull up no GPIO0 e dar boot. No menu Tools -> upload using: deve-se escolher a opção OTA. Em qualquer computador conectado na mesma rede, seja pelo WiFi ou conectado no ethernet do roteador WiFi, o ESP deve aparecer no meu Tools -> Port. Caso isso não acontecer, feche a IDE e lance-a de novo. Se ainda não aparece, verifique a firewall do computador. Com alguns Sketches aparece "[ERROR]: No Answer" em cada primeira tentativa de upload sem fio, tentando uma segunda vez em seguida funciona.

Este exemplo de pisca-pisca faz piscar o LED azul da ESP12.

Crie um servidor que visualiza um valor que indica água ou cachaça e regula a intensidade do LED e envia este valor regularmente para o servidor do Labarc. A montagem está sendo alimentada pelo PC e ligado no PC pela conexão serial:

Alimentado com pilha, com inversor implementado em software:

Upload pelo Browser

Caso seu computador não esteja conectado na mesma rede, use o método do update pelo browser.

Sketch OTA usado no Labarc, sem a senha.

Reinstalar Comandos AT

Usando o Arduino IDE, o firmware original do ESP12 é sobreescrito.

Para recolocar-lo, é preciso fazer download da versão 0.50 em http://bbs.espressif.com/viewtopic.php?f=46&t=1123

As versões 0.60 e o patch para 0.60 aparentemente não funcionam.

Instalar Esptool.

Resetar o ESP12 (pull down RST por um momento ou dar Ctrl-\ b no Kermit) mantendo GPIO0 pull down.

Dar o seguinte comando:

esptool.py --port /dev/ttyS0 write_flash -fm dio 0xfe000 blank.bin 0x7c000 esp_init_data_default.bin 0x7e000 blank.bin 0x40000 eagle.irom0text.bin 0x0 eagle.flash.bin

Recomenda-se dar como primeiro comando AT+RESTORE.

Links úteis

Getting Started, observando que RST deve ser conectado com a porta serial e GPIO0 com a chave.

AT Command Set

Arduino IDE

Espressif SDK API

Xtensa® Instruction Set Architecture (ISA)

ESP cookbook

© 2008 Profs. Elmar Melcher e Joseana Fechine. Monitores: Sergio Espinola e Fabricio Lelis - DSC/UFCG
Modificada em March 23, 2020, at 01:48 PM