资讯详情

esp8266 阿里云 加湿器 天猫精灵

#include <ESP8266WiFi.h> //安装esp8266arduino开发环境 static WiFiClient espClient; #include <DNSServer.h> #include <ESP8266WebServer.h> #include <CustomWiFiManager.h> #include <ArduinoJson.h> //引入 DHT 库 #include <DHT.h> #include <AliyunIoTSDK.h> //引入阿里云 IoT SDK,需要安装crypto库、PubSubClient库 AliyunIoTSDK iot;  //从阿里云设备信息中设置产品和设备信息 #define PRODUCT_KEY "xxx" //替换自己的PRODUCT_KEY #define DEVICE_NAME "xxx" //替换自己的DEVICE_NAME #define DEVICE_SECRET "xxx" //替换自己的DEVICE_SECRET #define REGION_ID "cn-shanghai" //默认cn-shanghai  unsigned long lastMsMain = 0; int powerPin = 2;  #define DHTPIN 3 //GPIO3 RXD #define DHTTYPE DHT11 // DHT 11  DHT dht(DHTPIN, DHTTYPE);  bool waterShortage;///缺水状态 float targetHumidity;///目标湿度 enum FOGLEVEL{ 
       yidang = 1,erdang,sandag,sidang,wudang};//雾量档位
enum FOGLEVEL fogLevel;
enum MODE{ 
       zidong = 2,chushi = 13,shuimian = 14,zhienng = 32,putong = 39,biaozhun = 48};//模式
enum MODE mode;
int fog;//雾量
bool powerstate;//开关
float temperature;//温度

// web配网页面自定义我的图标请随便使用一个图片转base64工具转换https://tool.css-js.com/base64.html, 64*64
const char Icon[] PROGMEM = "data:image/png;base64,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";


void setup() { 
       

  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  //digitalWrite(LED_BUILTIN, LOW);

  //开始连接WiFi
  WiFiManager wifiManager;//实例化WiFiManager
  wifiManager.setHeadImgBase64(FPSTR(Icon)); //设置图标
  wifiManager.setPageTitle("ESP8266物联网设备WiFi配置页");  //设置页标题
  wifiManager.autoConnect("ESP8266-IoT");// AP模式,可以修改成你的ESP8266WiFi热点名称
  Serial.println("connected...恭喜!一切就绪。");
  
  //初始化 iot,需传入 wifi 的 client,和设备产品信息
  AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);

  dht.begin();
  
  //绑定一个设备属性回调,当远程修改此属性,会触发函数
  AliyunIoTSDK::bindData("powerstate", powerstate1);
  AliyunIoTSDK::bindData("targetHumidity", targetHumidity1);
  AliyunIoTSDK::bindData("waterShortage", waterShortage1);
  AliyunIoTSDK::bindData("fog", fog1);
  AliyunIoTSDK::bindData("fogLevel", fogLevel1);
  AliyunIoTSDK::bindData("mode", mode1);

}
int test=0;
void loop() { 
       
  powerstate  = !digitalRead(LED_BUILTIN);
  AliyunIoTSDK::loop(); //必要函数
  //发送数据的间隔,2秒发送一次,“云智能APP”上电源按钮的UI实时显示会有2秒延时。
  if (millis() - lastMsMain >= 2000)
  { 
       
    lastMsMain = millis();
    //humidity = dht.readHumidity();
    //temperature = dht.readTemperature();
    AliyunIoTSDK::send("powerstate", powerstate);
    //AliyunIoTSDK::send("temperature", temperature);
    //AliyunIoTSDK::send("humidity", humidity);
    //Serial.println(humidity);
    //Serial.println(temperature);
    test = test + 2;
  }
  delay(1000);
  
  // 发送事件到阿里云平台
  if (test > 180){ 
       
    AliyunIoTSDK::sendEvent("filterExpired"); //滤芯寿命到期
    Serial.println("滤芯寿命到期");
    }
  if (test == 360){ 
       
    test = 0;
    
    Serial.println("已更换滤芯");
    }
  
  // AliyunIoTSDK::sendEvent("filterExpired"); //滤芯寿命到期

}
//电源的属性修改的回调函数1
void powerstate1(JsonVariant L)//固定格式,修改参数l
{ 
       
  bool i = (L["powerstate"]);//参数l
  powerstate = not i;
  Serial.printf("powerstate:"); Serial.println(powerstate);
  digitalWrite(LED_BUILTIN, powerstate);
  AliyunIoTSDK::send("powerstate", !digitalRead(LED_BUILTIN));
}
void targetHumidity1(JsonVariant L)//固定格式,修改参数l
{ 
       
  targetHumidity = L["targetHumidity"];//参数l
  Serial.printf("targetHumidity:"); Serial.println(targetHumidity);
  AliyunIoTSDK::send("targetHumidity", targetHumidity);
}
void waterShortage1(JsonVariant L)//固定格式,修改参数l
{ 
       
  waterShortage = L["waterShortage"];//参数l
  Serial.printf("waterShortage:"); Serial.println(waterShortage);
  AliyunIoTSDK::send("waterShortage", waterShortage);
}
void fog1(JsonVariant L)//固定格式,修改参数l
{ 
       
  fog = L["fog"];//参数l
  Serial.printf("fog:"); Serial.println(fog);
  AliyunIoTSDK::send("fog", fog);
}
void fogLevel1(JsonVariant L)//固定格式,修改参数l
{ 
       
  fogLevel = L["fogLevel"];//参数l
  Serial.printf("fogLevel:"); Serial.println(fogLevel);
  AliyunIoTSDK::send("fogLevel", fogLevel);
}
void mode1(JsonVariant L)//固定格式,修改参数l
{ 
       
  mode = L["mode"];//参数l
  Serial.printf("mode:"); Serial.println(mode);
  AliyunIoTSDK::send("mode", mode);
}

标签: 度180度连接器8px连接器cn

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台