Caramelo, o watchdog viralata para roteadores remotos
Revisão de 08h58min de 16 de dezembro de 2020 por Brunovianna (discussão | contribs)
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
- É 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.