Mudanças entre as edições de "Caramelo, o watchdog viralata para roteadores remotos"
Linha 32: | Linha 32: | ||
**https://github.com/coolabnet/caramelo/archive/main.zip | **https://github.com/coolabnet/caramelo/archive/main.zip | ||
*Abra o arquivo caramelo.ino no programa acima | *Abra o arquivo caramelo.ino no programa acima | ||
+ | *Edite as linhas com o texto: | ||
+ | #define MY_SSID "wifissid" | ||
+ | #define MY_PSK "wifipass" | ||
+ | Trocando wifissid e wifipass pelo nome da rede wifi e senha. Deixe só as aspas "" caso não tenha senha. | ||
+ | *Apague as duas barras do começo da linha que diz | ||
+ | //#define USING_I2C 1 | ||
+ | <br>Deixando assim: | ||
+ | #define USING_I2C 1 | ||
*É possível que seja necessário instalar esses drivers no computador, para que a placa ESP8266 seja reconhecida (no linux não precisa, só mac e windows): | *É possível que seja necessário instalar esses drivers no computador, para que a placa ESP8266 seja reconhecida (no linux não precisa, só mac e windows): | ||
**http://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers | **http://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers | ||
* Adicione a placa ESP8266 ao programa: | * Adicione a placa ESP8266 ao programa: | ||
− | ** Vá no menu File->Preferences | + | **Vá no menu File->Preferences |
− | ** Adicione o texto "http://arduino.esp8266.com/stable/package_esp8266com_index.json" no "Additional boards manager URLs" | + | **Adicione o texto "http://arduino.esp8266.com/stable/package_esp8266com_index.json" no "Additional boards manager URLs" |
− | ** Agora entre em menu->tools->board->board manager. Procure por esp8266 e instale. | + | **Agora entre em menu->tools->board->board manager. Procure por esp8266 e instale. |
*Adicione a biblioteca de Ping ao programa: | *Adicione a biblioteca de Ping ao programa: | ||
**Entre em Sketch->Include Libraries->Manage Libraries | **Entre em Sketch->Include Libraries->Manage Libraries | ||
**Procure a biblioteca ''ESP8266-Ping'' e instale | **Procure a biblioteca ''ESP8266-Ping'' e instale | ||
− | * Se o relé tiver chip, adicione a biblioteca qwiic relay à plataforma arduino: | + | *Se o relé tiver chip, adicione a biblioteca qwiic relay à plataforma arduino: |
**Entre em Sketch->Include Libraries->Manage Libraries | **Entre em Sketch->Include Libraries->Manage Libraries | ||
**Procure a biblioteca qwiic relay e instale a biblioteca ''sparkfun qwiic relay'' | **Procure a biblioteca qwiic relay e instale a biblioteca ''sparkfun qwiic relay'' | ||
− | * Baixe o arquivo com o programa do chip httpL/.. | + | *Baixe o arquivo com o programa do chip httpL/.. |
− | * Abra com um editor instalado acima Nas linhas xxx e yyy, substitua os nomes das redes e senha | + | *Abra com um editor instalado acima Nas linhas xxx e yyy, substitua os nomes das redes e senha |
− | * Conecte a plaquinha por USB no PC | + | *Conecte a plaquinha por USB no PC |
− | * Selecione a placa ESP8266 no menu board | + | *Selecione a placa ESP8266 no menu board |
− | * Clique na seta para subir o programa para a plaquinha | + | *Clique na seta para subir o programa para a plaquinha |
<br> | <br> | ||
Edição das 11h39min de 16 de dezembro de 2020
A ideia desse projeto é criar um dispositivo que reinicia um roteador caso se perca o acesso a internet, desligando a eletricidade do aparelho e ligando de novo. A conexão é checada pelo wifi, portanto o roteador precisa tem um ponto de acesso, e precisamos da senha do wifi caso tenha alguma.
Lista de materiais:
- O chip controlador com wifi. Usamos um chip baseado em ESP8266, mas outros chips com wifi como o ESP32 serviriam. Você pode comprar de marca, como Adafruit, ou uma versão chinesa como NodeMCU. Aqui vão alguns links para busca e compra:
- Um relé que vai ser acionado pelo chip e funciona como interruptor para o roteador. O melhor é comprar um que já vem completo com o circuito para ser controlado. Existem pelo menos dois tipos:
- Simples, que só tem um circuito de proteção contra descargas elétricas (diodo). Como esse:
- Com chip, que se comunica com o controlador através de um protocolo chamado i2c. Como esse (que é o que usamos de teste):
- Custo: 15-30 reais
- Cabo USB Micro B para programar o chip
- Alimentação do chip e relé.
- Caso o roteador seja alimentado por bateria 12V, você precisa de um transformador do tipo de carros, de 12V para 5V. https://lista.mercadolivre.com.br/carregador-celular-12v
- Caso esteja ligado em 110/220v, vai precisar de um carregador USB normal.
- Normalmente o chip e o relé vem sem conexões e você precisa soldar um ao outro. Você pode optar por soldar diretamente na placa, ou soldar um "header" e usar "jumper cables". Veja as fotos para entender a diferença. Não recomendamos soldar na placa, já que vai ser difícil desfazer caso necessário, e há mais risco de soldar errado. De um jeito ou de outro, vai precisar de um ferro de soldar e estanho
Essa é a placa ESP8266 usada. Vamos primeiro conectar ela por USB no PC e programá-la.
Programação:
- Instale e rode o software para programação do chip, a plataforma Arduino:
- Baixe o programa principal daqui:
- Abra o arquivo caramelo.ino no programa acima
- Edite as linhas com o texto:
#define MY_SSID "wifissid" #define MY_PSK "wifipass"
Trocando wifissid e wifipass pelo nome da rede wifi e senha. Deixe só as aspas "" caso não tenha senha.
- Apague as duas barras do começo da linha que diz
//#define USING_I2C 1
Deixando assim:
#define USING_I2C 1
- É possível que seja necessário instalar esses drivers no computador, para que a placa ESP8266 seja reconhecida (no linux não precisa, só mac e windows):
- Adicione a placa ESP8266 ao programa:
- Vá no menu File->Preferences
- Adicione o texto "http://arduino.esp8266.com/stable/package_esp8266com_index.json" no "Additional boards manager URLs"
- Agora entre em menu->tools->board->board manager. Procure por esp8266 e instale.
- Adicione a biblioteca de Ping ao programa:
- Entre em Sketch->Include Libraries->Manage Libraries
- Procure a biblioteca ESP8266-Ping e instale
- Se o relé tiver chip, adicione a biblioteca qwiic relay à plataforma arduino:
- Entre em Sketch->Include Libraries->Manage Libraries
- Procure a biblioteca qwiic relay e instale a biblioteca sparkfun qwiic relay
- Baixe o arquivo com o programa do chip httpL/..
- Abra com um editor instalado acima Nas linhas xxx e yyy, substitua os nomes das redes e senha
- Conecte a plaquinha por USB no PC
- Selecione a placa ESP8266 no menu board
- Clique na seta para subir o programa para a plaquinha
A parte elétrica:
- Solde os pinos no chip e relé conforme as fotos. Vamos soldar 4 headers nos buracos RST, 3V, NC, GND (de onde vamos tirar os 3V para alimentar o relé) e mais 4 nos buracos SDA, SDL, 2, 16, de onde sai a comunicação via i2c.
No relé, vamos soldar 4 headers - GND, 3.3V, SDA, SCL.
- Agora é só usar 4 fios jumper fêmea-fêmea para conectar os headers GND, 3V, SDA e SCL.
- Para que o relé funcione como interruptor, o fio de alimentação elétrica do roteador tem que passar "por dentro" do relé. Então vamos cortar e desencapar um dos lados do fio, não importa se positivo ou negativo.
Agora use os parafusos NC (normally closed) e COM (comum) para conectar os fios desencapados. Não importa qual vai em qual.
- Instruções para proteger.