Włączanie światła przez internet

Przy pracy korzystałem z poradnika Ubidots: Smart Switch Tutorial – Ubidots IoT platform

Biblioteki:

PubSubClient

UbidotsESPMQTT

Z tej drugiej wybieramy skecz subscribe.ino
Należy go lekko zmodyfikować, bo w oryginale nie ma zdefiniowanego MQTTCLIENTNAME i części umożliwiającej włączenie diody na D0 (pin16)

Niestety nie wiem jak uruchomić więcej diód.


/****************************************
* Include Libraries
****************************************/
#include "UbidotsESPMQTT.h"
 
/****************************************
* Define Constants
****************************************/
#define TOKEN "xxxxxxxxxxxxxxx" // Twój Ubidots TOKEN
#define WIFINAME "xxxx" // Identyfikator Twojej sieci WiFi (SSID)
#define WIFIPASS "xxxx" // Hasło dostępu do sieci
#define MQTTCLIENTNAME "xxxxxx" // Twoja nazwa klienta. Sami ją tworzymy i wpisujemy, powinna być trudna do odgadnięcia
 
Ubidots client(TOKEN, MQTTCLIENTNAME);
 
/****************************************
* Auxiliar Functions
****************************************/
 
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
for (int i=0;i<length;i++) {
Serial.print((char)payload[i]);
}
Serial.println();
if((char)payload[0] == '1'){
digitalWrite(16, HIGH);
}
else{
digitalWrite(16, LOW);
}
}
 
/****************************************
* Main Functions
****************************************/
 
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
client.setDebug(true); // Pass a true or false bool value to activate debug messages
client.wifiConnection(WIFINAME, WIFIPASS);
client.begin(callback);
pinMode(16, OUTPUT);
client.ubidotsSubscribe("switch","my-switch"); //Insert the dataSource and Variable's Labels
}
 
void loop() {
// put your main code here, to run repeatedly:
if(!client.connected()){
client.reconnect();
client.ubidotsSubscribe("switch","my-switch"); //Insert the dataSource and Variable's Labels
}
client.loop();
}

Dodatkowe informacje:

SSID (ang. service set identifier) – identyfikator sieci składający się maksymalnie z 32 znaków, dodawany do nagłówków pakietów wysyłanych przez bezprzewodową sieć lokalną. Pełni on rolę loginu przy próbie nawiązywania połączeń z punktami dostępowymi.

Dodaj komentarz