ESP8266: Comandos AT

Entendendo os comandos AT do ESP8266 sem cair na armadilha das referências incompletas ou desatualizadas.

Comandos AT são a forma básica de configurar e acionar o ESP8266 quando ele está sob controle de um equipamento externo (como um Arduino, por exemplo).

Os atuais comandos AT são descendentes diretos do chamado "Padrão Hayes", de 1981, usado para permitir que os computadores pessoais interagissem com conexões telefônicas controlando diretamente um modem.

As definições básicas do Hayes (incluindo o prefixo AT, que significava "atenção") estão presentes nas linguagens de comando de muitos aparelhos modernos, incluindo vários periféricos de computadores – e dificilmente alguém que não seja um programador de drivers ou de firmware precisa chegar a conhecê-las.

Mas quando estamos programando um Arduino para enviar instruções a um módulo WiFi ESP8266, estamos no papel de programadores de firmware, e aí acaba sendo necessário dominar a sintaxe dos comandos AT aceitos pela família ESP.

O ESP8266 se caracteriza por firmwares que avançam aos saltos a cada versão, introduzindo novos comandos que sobrepõem outros que já existiam, experimentando com novas convenções, alterando o formato e delimitação das respostas, etc., e assim merece consultas frequentes às referências dos seus comandos.

Eu uso a referência oficial publicada pela Espressif, que é o nome corporativo por trás da família ESP. A imagem acima mostrando um rodapé de página do documento é um indicativo da forma como esses documentos chegam às mãos dos usuários: a empresa os distribui inicialmente a seus parceiros com termo de confidencialidade, e eles acabam vazando para a comunidade ou, após algum tempo em relação à disponibilização inicial, acabam publicados pela própria Espressif.

Tenho também uma versão antiga do guia, para interagir com algum eventual ESP8266 cujo firmware seja anterior e não possa ser atualizado. Na prática esse tipo de coisa acontece...

A qualidade técnica do guia da Espressif não é das melhores do ramo, embora não chegue a ser ruim. As explicações não são detalhadas, os exemplos não são exaustivos, etc. Mesmo assim, ajuda bastante, especialmente quando está em dia em relação à versão do firmware em uso.

Entre as referências ainda não atualizadas para a versão corrente, o guia publicado pelo Room-15 é bem amigável e fácil de consultar, e não posso deixar de recomendá-lo também, especialmente pelos comentários pessoais do autor, que registra inconsistências e dúvidas juntamente com a descrição oficial.

A versão de firmware do primeiro semestre de 2015 tornou obsoletos a maioria dos bons guias publicados antes de seu lançamento.

Eu mantinha listas de links para outros guias com informações adicionais relevantes mas, infelizmente, a maior parte deles ficou desatualizado com a versão atual, que introduziu a convenção de comandos com sufixos CUR e DEF (para escolher entre atualizar apenas o valor corrente ou o valor default de vários parâmetros) e passou a não mais recomendar o uso dos comandos anteriores nestes casos, então não vou continuar listando todos neste espaço (e fica o alerta sobre isso para a referência do Room-15, acima).

Nota 1: este artigo de referência foi criado para uso pessoal do autor, mas está publicado para facilitar as referências aos comandos AT em outros artigos do site, ou para os usos que os leitores preferirem.

Nota 2: os comandos AT são relacionados ao firmware default da maioria dos módulos ESP8266 existentes no mercado, mas não estão disponíveis quando se usa firmwares alternativos (como o NodeMCU) que acrescentam funcionalidades e interfaces adicionais.

Comentar

Dos leds ao Arduino, ESP8266 e mais

Aprenda eletrônica com as experiências de um geek veterano dos bits e bytes que nunca tinha soldado um led na vida, e resolveu narrar para você o que descobre enquanto explora esse universo – a partir da eletrônica básica, até chegar aos circuitos modernos.

Por Augusto Campos, autor do BR-Linux e Efetividade.net.

Recomendados

Livro recomendado


Artigos já disponíveis

Comunidade Arduino

O BR-Arduino é integrante da comunidade internacional de entusiastas do Arduino, mas não tem relação com os criadores e distribuidores do produto, nem com os detentores das marcas registradas.

Livros recomendados