<commit_before>---
layout: post
title: ESP8266 Primeiros Passos
---

<img src="/img/posts/esp8266-intro/esp8266.jpg" style="float:right;max-height:230px;margin-left:15px" class="img-thumbnail img-responsive" alt="ESP8266">
No primeiro artigo desta página, falo sobre as primeiras experiências que tive com o módulo WiFi **ESP8266**, que para ser mais preciso é uma interface WiFi com suporte ao protocolo **TCP/IP** e serve para prover conectividade à microcontroladores, IoT e etc...

Este módulozinho me chamou atenção desde a primeira vez que o vi e das coisas que mais gostei nele foram, seu tamanho reduzido frente a outras opções de conectividade disponíveis e principalmente seu preço que é bem acessível. 

Agora vou demonstrar como utilizar o **ESP8266** em conjunto com o **Arduino UNO** utilizando comandos **AT**, mas esta não é a única forma de utilização deste módulo, uma vez que o mesmo possuí um pequeno processador interno que pode ser programado para operar de forma independente e também possuí um par de [portas GPIO](https://pt.wikipedia.org/wiki/General_Purpose_Input/Output) que permitem controlar outros dispositivos. Atualmente existem trabalhos na comunidade para utilizar o ESP8266 [sem o arduino](http://nodemcu.com/index_en.html), mas isto é assunto para outros artigos. (Interessou-se sobre este assunto? Já pode adicionar [isto](https://www.sparkfun.com/products/9873) a sua lista de desejos!)

###Ligação entre Arduino e ESP8266
Muita atenção nesta parte, poís, o ESP8266 utiliza apenas **3,3v** para alimentação e I/O. Já o arduino utiliza **5v** nos seu pinos de I/O e se você tentar conecta-lo diretamente, na melhor das hipóteses, pode simplesmente não funcionar e na pior poderá causar danos ao módulo ESP8266. Para contornar isto será necessário o desenvolvimento de um [divisor de tensão](https://en.wikipedia.org/wiki/Voltage_divider) para baixar os 5v do Arduino para os 3,3v suportados pelo ESP8266. Já vi alguns tutoriais que dispensam o uso do divisor de tensão ou ainda que usam os 3,3v do próprio arduino, eu sei que é frustrante chegar aqui e ter que adquirir mais alguns itens e isto pode demorar dias... Aconteceu comigo também, fique a vontade para fazer suas experiências, sempre levando em consideração que isto pode ser fatal para o seu ESP8266.

<img src="/img/posts/esp8266-intro/espconnection.jpg" style="float:left;margin-right:15px" class="img-thumbnail img-responsive" alt="ESP8266 Conexão">

A conexão do ESP8266 não serve em uma protoboard, resolvi isto soldando alguns jumpers para facilitar o manuseio, como mostra a imagem ao lado.

O consumo de corrente é ponto a ser observado, ESP8266 pode consumir até **250mA** e isto pode ser muito para o Arduino conseguir alimenta-lo. Foi o que aconteceu no meu caso, tive que adquirir uma fonte de **12v x 500mA** e um **adaptador de alimentação 3,3v/5v para protoboard** como [este](http://www.usinainfo.com.br/fontes-e-reguladores/fonte-ajustavel-para-protoboard-33v-e-5v-2537.html), para fazer tudo funcionar corretamente. 

E ai está a ligação do ESP8266 com o Arduino!<commit_msg>update tags kramdown<commit_after>---
layout: post
title: ESP8266 Primeiros Passos
---

<img src="/img/posts/esp8266-intro/esp8266.jpg" style="float:right;max-height:230px;margin-left:15px" class="img-thumbnail img-responsive" alt="ESP8266">
No primeiro artigo desta página, falo sobre as primeiras experiências que tive com o módulo WiFi **ESP8266**, que para ser mais preciso é uma interface WiFi com suporte ao protocolo **TCP/IP** e serve para prover conectividade à microcontroladores, IoT e etc...

Este módulozinho me chamou atenção desde a primeira vez que o vi e das coisas que mais gostei nele foram, seu tamanho reduzido frente a outras opções de conectividade disponíveis e principalmente seu preço que é bem acessível. 

Agora vou demonstrar como utilizar o **ESP8266** em conjunto com o **Arduino UNO** utilizando comandos **AT**, mas esta não é a única forma de utilização deste módulo, uma vez que o mesmo possuí um pequeno processador interno que pode ser programado para operar de forma independente e também possuí um par de [portas GPIO](https://pt.wikipedia.org/wiki/General_Purpose_Input/Output) que permitem controlar outros dispositivos. Atualmente existem trabalhos na comunidade para utilizar o ESP8266 [sem o arduino](http://nodemcu.com/index_en.html), mas isto é assunto para outros artigos. (Interessou-se sobre este assunto? Já pode adicionar [isto](https://www.sparkfun.com/products/9873) a sua lista de desejos!)

<h2><b>Ligação entre Arduino e ESP8266</b></h2>

Muita atenção nesta parte, poís, o ESP8266 utiliza apenas **3,3v** para alimentação e I/O. Já o arduino utiliza **5v** nos seu pinos de I/O e se você tentar conecta-lo diretamente, na melhor das hipóteses, pode simplesmente não funcionar e na pior poderá causar danos ao módulo ESP8266. Para contornar isto será necessário o desenvolvimento de um [divisor de tensão](https://en.wikipedia.org/wiki/Voltage_divider) para baixar os 5v do Arduino para os 3,3v suportados pelo ESP8266. Já vi alguns tutoriais que dispensam o uso do divisor de tensão ou ainda que usam os 3,3v do próprio arduino, eu sei que é frustrante chegar aqui e ter que adquirir mais alguns itens e isto pode demorar dias... Aconteceu comigo também, fique a vontade para fazer suas experiências, sempre levando em consideração que isto pode ser fatal para o seu ESP8266.

<img src="/img/posts/esp8266-intro/espconnection.jpg" style="float:left;margin-right:15px" class="img-thumbnail img-responsive" alt="ESP8266 Conexão">

A conexão do ESP8266 não serve em uma protoboard, resolvi isto soldando alguns jumpers para facilitar o manuseio, como mostra a imagem ao lado.

O consumo de corrente é ponto a ser observado, ESP8266 pode consumir até **250mA** e isto pode ser muito para o Arduino conseguir alimenta-lo. Foi o que aconteceu no meu caso, tive que adquirir uma fonte de **12v x 500mA** e um **adaptador de alimentação 3,3v/5v para protoboard** como [este](http://www.usinainfo.com.br/fontes-e-reguladores/fonte-ajustavel-para-protoboard-33v-e-5v-2537.html), para fazer tudo funcionar corretamente. 

E ai está a ligação do ESP8266 com o Arduino!
{'fraction_non_alphanumeric': 0.07397260273972603, 'fraction_numerical': 0.03416599516518937, 'mean_word_length': 4.967307692307692, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 6, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3305053', 'n_tokens_mistral': 2215, 'n_tokens_neox': 2064, 'n_words': 837}