Tutorial SONOFF: um switch inteligente Wi-Fi por $ 5
Neste guia você aprenderá como controlar qualquer aparelho 110-240V por $ 5, usando o dispositivo SONOFF da Itead . Comparado com os plugues inteligentes WiFi de $ IoT em maior escala. Além disso, é baseado no popular chip Wi-Fi ESP8266, tornando-o compatível com o ambiente Arduino e outros recursos como nossas bibliotecas ESP em Ubidots .
O SONOFF vem com seu próprio firmware e aplicativo móvel, mas achamos que seu principal valor está realmente em seu formato e preço baixo. É por isso que decidimos hackear e liberar todo o seu poder!
Visão geral
Tome cuidado! Não manipule o SONOFF enquanto ele estiver conectado às linhas 110/240V AC
O SONOFF contém um relé, um chip WiFi ESP8266 e o circuito necessário para alimentá-lo com a linha CA de uma tomada elétrica. Ele também vem em um belo pacote que o faz parecer mais profissional do que um projeto DIY comum em casa.
Requisitos
Configurar
- Desmonte o dispositivo SONOFF, para acessar a pinagem SONOFF TTL, que precisaremos para programar o ESP8266 integrado. Você precisará soldar quatro pinos, mostrados na imagem abaixo.
- Conecte os pinos UARTbee aos pinos SONOFF, seguindo esta pinagem:
UARTbee | FILHO |
---|---|
VC | CVCC |
Texas | RX |
RX | Texas |
GND | GND |
Vá para o IDE do Arduino, clique em Arquivos -> Preferências e digite esta 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 placas . Este campo suporta múltiplas URLs, separando-as por vírgulas, caso você já tenha outras URLs digitadas.
- Abra o Boards Manager em Ferramentas -> menu Board e instale a plataforma ESP8266. Selecione sua placa ESP8266 no Ferramentas> Placa após a instalação.
- Baixe aqui Ubidots ESPMQTT .
- Agora clique em Sketch -> Incluir Biblioteca -> Adicionar Biblioteca .ZIP.
- Selecione o arquivo .ZIP do Ubidots ESPMQTT e clique em “Aceitar” ou “Escolher” .
- Feche o IDE do Arduino e abra-o novamente.
Crie uma variável Ubidots
- Ubidots .
- Vá para 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
Crie 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 como “1” ou “0”:
- Vá para Dashboard e clique no ícone de adição laranja .
- Clique em Controle -> Alternar e selecione a fonte de dados e a variável para controlar criada anteriormente.
Codificando seu SONOFF
Aqui está o código que liga/desliga o dispositivo SONOFF. Para usar esse código não esqueça de trocar o TOKEN pelo token da sua conta Ubidots . Altere WIFISSID e SENHA com suas credenciais de rede.
Para enviar o código para o SONOFF você precisará:
- Conecte o UARTbee ao USB do seu PC.
- Pressione o botão SONOFF e desconecte o USB ao mesmo tempo.
- Enquanto ainda pressiona o botão, conecte novamente o USB.
Estas etapas têm como objetivo colocar o SONOFF no modo de programação.
Quando estiver pronto, carregue o código do Arduino IDE:
/**************************************** * Incluir bibliotecas ****** **********************************/ #include " Ubidots ESPMQTT.h" /****** ********************************** * Definir Constantes ************* ***************************/ #define TOKEN "..." // Seu TOKEN Ubidots #define WIFINAME "..." / /Seu SSID #define WIFIPASS "..." // Seu Wifi Pass #define MQTTCLIENTNAME "..." // Seu nome de cliente MQTT, deve ser exclusivo, portanto recomendamos escolher um nome ASCCI aleatório #define RELAY 12 #define Cliente LED 13 Ubidots (TOKEN, MQTTCLIENTNAME); /************************************** *Funções Auxiliares****** **********************************/ void callback(char* topic, byte* payload, unsigned int length) { Serial.print("A mensagem chegou ["); Serial.print(tópico); Serial.print("] "); para (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.ubidots Subscribe("relay","sonoff"); //Inserir o dataSource e os rótulos da variável } client.loop(); }
Conecte seu Smart Switch e comece a controlar as coisas
Agora é hora de tornar as coisas “inteligentes” adicionando seu SONOFF a elas; controlar suas luzes, abrir ou fechar sua garagem, etc.
Dando um passo adiante…
Ubidots é um serviço em nuvem que capacita milhares de engenheiros em todo o mundo a construir IoT , tanto na educação quanto na empresa. Para saber como Ubidots pode ajudar o seu negócio confira nossas funcionalidades ou deixe-nos uma mensagem.