#include <ESP8266WiFi.h>
static WiFiClient espClient;
#include <ArduinoJson.h>
#include <AliyunIoTSDK.h>
AliyunIoTSDK iot;
#define PRODUCT_KEY "dsfdfsdfdf"
#define DEVICE_NAME "Kdsfsdf2-01"
#define DEVICE_SECRET "sdfsdf"
#define REGION_ID "cn-shanghai"
#define WIFI_SSID "Netcore_2_4G"
#define WIFI_PASSWD "sdfdfd$"
void wifiInit(const char *ssid, const char *passphrase)
{
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, passphrase);
WiFi.setAutoConnect (true);
WiFi.setAutoReconnect (true);
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
Serial.println("WiFi not Connect");
}
Serial.println("Connected to AP");
}
void setup()
{
Serial.begin(115200);
pinMode(D4, OUTPUT);
wifiInit(WIFI_SSID, WIFI_PASSWD);
AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
AliyunIoTSDK::bindData("powerstate", powerCallback);
AliyunIoTSDK::subscribeUser("/get", callback);
AliyunIoTSDK::send("mode", 57);
}
void loop()
{
AliyunIoTSDK::loop();
}
void callback(JsonVariant p)
{
Serial.println("custom topic callback");
serializeJsonPretty(p, Serial);
Serial.println();
}
void powerCallback(JsonVariant p)
{
int PowerSwitch = p["powerstate"];
Serial.println("callback start ");
Serial.println(PowerSwitch);
if (PowerSwitch == 1)
{
digitalWrite(D4, HIGH);
}
else
{
digitalWrite(D4, LOW);
}
}