Sonoff R2 basic: Hack simples com Arduino

Sonoff R2 basic: Hack simples com Arduino
Gostou? Compartilhe em sua rede

Visits: 755

Olá makers! Atualmente o mercado tecnológico está em alta com os dispositivos IOT’s, de casa inteligente. Dispositivos que permitem nos dar mais conforto e controle. Quem imaginava que chegaria um tempo onde poderíamos apagar uma lâmpada com apenas um clique na tela de seu aparelho celular? Ou por comando de voz? Até mesmo por gestos? Pois é, tudo isso é possível há algum tempo!

Sonoff R2 Basic

Um dispositivo que nos permite realizar o controle remotamente de uma lâmpada é o Sonoff R2 Basic, de baixo custo e é encontrado facilmente no mercado. É um dos dispositivos mais simples porque ele apenas acende uma lâmpada e não tem nenhum sensor que monitora o consumo da lâmpada. O funcionamento dele é bem simples e através de um comando enviado remotamente via aplicativo aciona um relé que liga a lâmpada. Atualmente ele vem pronto para instalar e utilizar com o aplicativo eWeLink – Smart Home.

Vantagens:

  • Controle remoto
  • Programar horários para ligar e desligar
  • Compartilhar o acesso ao dispositivo
  • Compatível com outros dispositivos (Amazon Alexa, Google, IFTTT)

Desvantagens:

  • Não é possível instalar o botão físico com o um interruptor tipo gangorra.
  • Acionamento apenas pelo aplicativo.
  • O aplicativo se conecta em um servidor “desconhecido” para o usuário. Algumas pessoas preferem ter o controle “total” em seus dispositivos, pois não sabemos se estes aplicativos são 100% confiáveis.

Mas no mundo maker necessitamos buscar algo a mais, criar, melhorar, customizar. Por este motivo muitos makers estão utilizando firmware’s alternativos opensource como o Tasmota (https://tasmota.github.io/docs/) ou desenvolvendo os seus próprios.

Tem um Sonoff? Quer alterar o firmware? Preste atenção nos avisos abaixo, realize os procedimentos por sua conta e risco! Uma vez compilado um firmware o Sonoff não irá funcionar com o aplicativo! E muito cuidado com a rede elétrica se não tiver experiência.

Hora de colocar a mão na massa! Muita atenção com as recomendações abaixo:

  • Uma vez compilado o código no Sonoff o aplicativo deixa de funcionar com o dispositivo, com isso se perde a possibilidade de programar horário por exemplo.
  • Tomar muito cuidado ao realizar ligações com rede elétrica, não inverter o Fase e Neutro da rede. Tem a indicação no corpo do Sonoff (L – ligado à FASE, N – ligado ao NEUTRO).
  • Nunca ligar o dispositivo na rede elétrica com o conversor USB FTDI conectado ao Sonoff e USB do computador (risco de queimar os dispositivos).
  • Conversor USB FTDI com o jumper configurado para 3.3V.

Componentes necessários:

  • Conversor USB 3.3V FTDI
  • Sonoff Basic R2
  • Ferro de solda, estanho e barra de pinos (para soldar na placa do Sonoff e conectar ao Conversor USB)
  • Programa Arduino instalado com as bibliotecas do ESP8266
Placa Sonoff R2 Basic

Após a soldagem dos pinos, é necessário realizar a ligação através de jumper’s (cabos com conectores) entre a placa de conversor FTDI USB e o Sonoff. os pinos RX e TX devem ser ligados invertidos para que haja a correta comunicação entre as placas e o firmware seja atualizado.

Ligação serial Sonoff e Conversor USB
Ligação serial Sonoff e Conversor USB

Esse modelo utiliza o chip microcontrolador ESP8285 e o pino que aciona o relé é o pino 12, abaixo temos o código simples acionando o relé e alterando o estado a cada 1 segundo. A placa na IDE Arduino que deve ser selecionada para compilar o código e realizar o upload para o Sonoff é “Generic ESP8285 Module”. Para realizar o upload o botão do Sonoff deve estar pressionado ao inserir o cabo na porta USB do computador, com isso ele entra em modo de “boot”, após conectar o botão deve ser solto e a partir daí é só realizar o upload do código.

//define o valor de RELE = 12
#define RELE 12

void setup() {
  //define que o pino 12 é output
  pinMode(RELE, OUTPUT);
  //seta o relé como desligado
  digitalWrite(RELE,LOW);
}

void loop() {
  //aciona o relé com o estado oposto do estado atual
  digitalWrite(RELE,!digitalRead(RELE));
  //pausa de 1s entre os estados
  delay(1000);
}


Este código é bem simples e tem o objetivo de demonstrar que é possível alterar o firmware, com isso é possível de utilizá-lo de várias formas. Como o Sonoff utiliza um ESP8285 e ele funciona com as bibliotecas do ESP8266 existem diversas possibilidades para acionamento remoto via internet, rede local, desenvolvimento de aplicativo, etc. Como exemplo posso citar o acionamento via MQTT, via requisição HTTP/HTTPS, via Telegram(utilizando chatbot), utilizando comandos de voz com Amazon Alexa ou Google.

Pensando além, podemos utilizar banco de dados para registrar os acionamentos, características das lâmpadas como a potência, com isso criar estatísticas de tempo de uso e consumo com base nos registros. Claro que é essa informação é aproximada porque não temos um sensor para realizar a leitura do consumo utilizada pela lâmpada neste dispositivo.

Gostou? Compartilhe em sua rede

Luis Felipe Pereira

Graduado em Tecnologia em Análise e Desenvolvimento de Sistemas pela UFPR. Técnico em Eletrônica pela Sociesc, Atuo como Desenvolvedor WMS na SSI-Schaefer Ltda. Associado e colaborador do espaço CMaker. Como hobby, gosto de programar sistemas embarcados, montar robôs e aprender novas tecnologias.

2 comentários sobre “Sonoff R2 basic: Hack simples com Arduino

    1. Isso ai Luccas, também achamos top o projeto e o artigo, o Luis mandou bem. O seu é o próximo. Logo teremos muito mais conteúdo.
      “O conhecimento é como a felicidade, só é pleno se for compartilhado!”

Deixe um comentário