Translate

terça-feira, 8 de dezembro de 2015

Iniciando com testes AT+ do ESP8266 ESP-12 via CP2102


Por vários meses corri atrás da tal IoT, a Internet das Coisas. Resumindo, conectar as "coisas" (interruptores, motores, sensores, etc) à Internet (subentende-se que o interior de nossa casa também faça parte da Internet - por exemplo, nosso computador, celular, smarTV, vídeogame, etc).

Nas andanças atrás de peças eletrônicas baratas no Aliexpress, me deparei com um adaptador de Wi-Fi para o Arduino e que surpresa eu tive ao pesquisar mais sobre o componente e saber que ele poderia ser programado como um Arduino. Uma peça do tamanho da ponta do nosso dedo indicador ser um Arduino com Wi-Fi. Para quem conhece um pouco, é uma miniaturização fantástica. E barata! Existe até uma versão Arduíno com o ESP-12 no lugar do ATMega chamado WeMos.

Isso nos possibilita fazer nosso próprio aparelho com tecnologia embarcada e conectada à Internet (DIY - Do It Yourself), permitindo ser controlado e monitorado pelo nosso celular, por exemplo, em qualquer lugar em que haja conexão à Internet.

Vou explicar aqui o primeiro passo que consegui dar nessa área, utilizando um ESP-12 conectado à um PC, através do monitor serial da IDE Arduino.

O objetivo é fazer a conexão do ESP-12 com o Access Point (roteador) de casa, para uma familiarização inicial com estes módulos. O mais mastigado que posso, pois tive que colher informações de outros módulos para conseguir fazê-lo funcionar.

Apesar de ter usado um Breakout board para o ESP-12, pois o espaçamento da conexão não é do padrão que utilizamos para prototipação de 2 mm, é bem menor, o esquema do projetinho ficou assim:



O Breakout board que usei foi um bem barato encontrado no mercado livre e que já contém alguns resistores e espaço para um regulador de tensão de 3.3v. Usei um LD1086v33 o que deixou meio grosseiro e fui obrigado a acrescentar mais um à protoboard para energizar outros pinos para o funcionamento.

Esp8266 WIFI série módulo porta IO placa de placa de terminais ( apenas adaptador frete grátis(China (Mainland))
O CP2102 é genérico, sem pinos de CTS nem DTR. Ground, VCC (5v), TX e RX já bastam para fazer funcionar. Não utilize o 3.3v, pois nunca tem corrente suficiente para alimentar o ESP8266.
Novo USB 2.0 para TTL UART módulo conversor Serial CP2102 STC 5PIN PRGMR cabo livre SG051-SZ(China (Mainland))
Aliás, quando for utilizar em portas USB de microcomputadores, não utilize cabos longos e/ou finos, e prefira utilizar diretamente (sem cabo) as portas onboard traseiras. Pelo que pesquisei, o ESP8266 precisa de pelo menos 500mA de corrente.

Reforçando, o ESP8266 só trabalha com tensão 3.3v. Deve ser utilizado um LD1086v33 ou LM1117 para que não force e queime o componente.

O circuito correto, segundo o site esp8266/Arduino é com o esquema abaixo. Acabei por não utilizando os resistores nem o capacitor, mas funcionou para os testes de conexão com AP.


Abaixo fotos da montagem.

Utilizei o próprio IDE Arduíno 1.6.5, para fazer os testes. O monitor serial é simples e deu certo sem muitos entraves. 

Conforme orientações pesquisadas, deve ser utilizada essa versão ou mais recente, mas a 1.6.6 tem alguns problemas de projeto, por isso não recomendam utilizá-la. 

Após conectar o CP2102 na porta USB e ser detectado, escolha a COM correta em Ferramentas/Porta. Escolha Ferramentas/Monitor Serial. 

Na janela, escolha na caixa à direita, "115200 velocidade" e na caixa ao lado, "Ambos, NL e CR".

Agora podem ser dados os comando AT+ das tabelas NurdspacePridopia,Sparkfun

Observem que o erro foi por ter digitado o comando em minúsculas, isto é, não podem ser.

Caso a placa responda com caracteres estranhos, provavelmente a velocidade está errada.

Mais orientações podem ser conseguidas nos endereços:
Provavelmente o próximo post deva ser sobre upload de firmware, especificamente o NodeMCU para programação via IDE Arduino.