Tutorial SONOFF: Um interruptor inteligente Wi-Fi por $5
Neste guia, você aprenderá como controlar qualquer aparelho de 110-240V por apenas $ 5, usando o dispositivo SONOFF da Itead . Comparado com os plugues inteligentes Wi-Fi de $ IoT em larga escala. Além disso, ele é baseado no popular chip Wi-Fi ESP8266, o que o torna compatível com o ambiente Arduino e outros recursos, como nossas bibliotecas ESP na Ubidots .
O SONOFF vem com seu próprio firmware e aplicativo para celular, mas acreditamos que seu principal valor reside em seu formato compacto e preço acessível. Por isso, decidimos fazer algumas modificações e liberar todo o seu potencial!
Visão geral
Atenção! Não manipule o SONOFF enquanto ele estiver conectado à rede elétrica de 110/240V
O SONOFF contém um relé, um chip Wi-Fi ESP8266 e o circuito necessário para alimentá-lo com a corrente alternada de uma tomada. Ele também vem em uma embalagem elegante que lhe confere um aspecto mais profissional do que um projeto caseiro comum.
Requisitos
Configurar
- Desmonte o dispositivo SONOFF para acessar a pinagem TTL, necessária para programar o ESP8266 integrado. Você precisará soldar quatro pinos, conforme mostrado na imagem abaixo.
- Conecte os pinos UARTbee aos pinos SONOFF, seguindo este esquema de pinagem:
| UARTbee | FILHO DA PUTA |
|---|---|
| VC | CVCC |
| TX | RX |
| RX | TX |
| GND | GND |
Acesse a IDE do Arduino, clique em Arquivo -> Preferências e insira este URL para poder acessar as bibliotecas do ESP8266 para Arduino:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
No "URLs adicionais do Gerenciador de Quadros" . Este campo aceita vários URLs, separando-os por vírgulas, caso você já tenha outros URLs digitados.
- Abra o Gerenciador de Placas em Ferramentas -> Menu Placa e instale a plataforma ESP8266. Após a instalação, selecione sua placa ESP8266 em Ferramentas > Menu Placa.
- Faça o download da biblioteca Ubidots aqui .
- Agora, clique em Sketch -> Incluir Biblioteca -> Adicionar Biblioteca .ZIP.
- Selecione o arquivo .ZIP do Ubidots ESPMQTT e clique em “Aceitar” ou “Escolher” .
- Feche a IDE do Arduino e abra-a novamente.
Criar uma variável Ubidots
- Ubidots .
- Acesse "Fontes" e clique no símbolo de mais laranja .
- Defina o nome da fonte de dados e verifique o rótulo
4. Crie uma nova variável para o relé e verifique o rótulo
Criar um widget de botão
Agora, para controlar o dispositivo SONOFF, você precisará criar um widget de botão em sua conta Ubidots . Este widget definirá sua variável RELAY para “1” ou “0”:
- Acesse o Dashboard e clique no ícone de mais laranja .
- Clique em Controle -> Alternar e selecione a fonte de dados e a variável a serem controladas, criadas anteriormente.
Programando seu SONOFF
Aqui está o código que liga/desliga o dispositivo SONOFF. Para usar este código, não se esqueça de substituir o TOKEN pelo token da sua conta Ubidots. Substitua WIFISSID e PASSWORD pelas credenciais da sua rede.
Para carregar o código no SONOFF, você precisará:
- Conecte o UARTbee à porta USB do seu computador.
- Pressione o botão do SONOFF e desconecte o USB ao mesmo tempo.
- Enquanto mantém o botão pressionado, conecte o USB novamente.
Esses passos têm como objetivo colocar o SONOFF em modo de programação.
Quando estiver pronto, carregue o código a partir da IDE do Arduino:
/**************************************** * Incluir Bibliotecas ****************************************/ #include "UbidotsESPMQTT.h" /**************************************** * Definir Constantes ****************************************/ #define TOKEN "..." // Seu TOKEN Ubidots #define WIFINAME "..." // Seu SSID #define WIFIPASS "..." // Sua Senha do Wi-Fi #define MQTTCLIENTNAME "..." // Seu Nome de Cliente MQTT. Ele deve ser único, por isso recomendamos escolher um nome ASCII aleatório #define RELAY 12 #define LED 13 Ubidots client(TOKEN, MQTTCLIENTNAME); /**************************************** * Funções Auxiliares ****************************************/ void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Mensagem recebida ["); Serial.print(tópico); Serial.print("] "); for (int i=0;i <length;i++) { Serial.print((char)payload[i]); } Serial.println(); if ((char)payload[0] == '1') { digitalWrite(RELAY, HIGH); //On relay digitalWrite(LED, LOW); //On led } if ((char)payload[0] == '0') { digitalWrite(RELAY, LOW); //Off relay digitalWrite(LED, HIGH); //Off led } } /**************************************** * Main Functions ****************************************/ void setup() { // put your setup code here, to run once: Serial.begin(115200); client.wifiConnection(WIFINAME, WIFIPASS); pinMode(RELAY, OUTPUT); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); client.begin(callback); client.ubidotsSubscribe("relay","sonoff"); //Insira a fonte de dados e os rótulos das variáveis } client.loop(); }
Conecte seu interruptor inteligente e comece a controlar tudo
Agora é hora de tornar as coisas "inteligentes" adicionando seu SONOFF a elas; controle suas luzes, abra ou feche sua garagem, etc.
Dando um passo além…
Ubidots é um serviço em nuvem que permite a milhares de engenheiros em todo o mundo criar IoT , tanto na área educacional quanto corporativa. Para saber como Ubidots pode ajudar sua empresa, confira nossos recursos ou envie-nos uma mensagem.