久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: ArduinoIDE 開發esp8266連接mqtt阿里云+sntp [打印本頁]

作者: LeeBA    時間: 2020-4-5 14:29
標題: ArduinoIDE 開發esp8266連接mqtt阿里云+sntp
Arduino環境編譯esp8266  mqtt連接阿里云,實現設備運云端雙向通信,并同時獲取sntp網絡時間

Arduino源程序如下:
  1. //13=D7 16=D0  15=D8  14=D5  12=D6  4=D2  3=D9  2=D4=GPIO2  1=D10  0=D3=GPIO0
  2. #include <ESP8266WiFi.h>//安裝esp8266arduino開發環境
  3. #include <AliyunIoTSDK.h>//引入阿里云 IoT SDK
  4. #include <NTPClient.h>
  5. #include <WiFiUdp.h>
  6. #define PRODUCT_KEY     "***********"//替換自己的PRODUCT_KEY
  7. #define DEVICE_NAME     "***********"//替換自己的DEVICE_NAME
  8. #define DEVICE_SECRET   "***********"//替換自己的DEVICE_SECRET
  9. #define REGION_ID       "cn-shanghai"//默認cn-shanghai

  10. #define WIFI_SSID       "***********"//替換自己的WIFI
  11. #define WIFI_PASSWD     "***********"//替換自己的WIFI
  12. #define ledPin  0
  13. static WiFiClient espClient;
  14. WiFiUDP   ntpUDP;
  15. NTPClient timeClient(ntpUDP,"ntp1.aliyun.com",0,0);//30*60*1000
  16. unsigned long lastMsMain = 0;
  17. String  rxbuff="";

  18. void setup()
  19. {
  20.   Serial.begin(9600);
  21.   pinMode(ledPin, OUTPUT);
  22.   digitalWrite(ledPin, HIGH);

  23.   //連接到wifi
  24.   wifiInit(WIFI_SSID, WIFI_PASSWD);

  25.   timeClient.begin();//SNTP begin

  26.   //初始化 iot,需傳入 wifi 的 client,和設備產品信息
  27.   AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);

  28.   //綁定一個設備屬性回調,當遠程修改此屬性,會觸發LED函數
  29.   AliyunIoTSDK::bindData("PowerSwitch",   Relay_Control);//電器開關
  30.   AliyunIoTSDK::bindData("VehACSwitch",   Air_Control);//空調開關
  31.   AliyunIoTSDK::bindData("LightLuminance",PWM_Control);//主燈亮度PWM
  32. }

  33. void loop()
  34. {
  35.   int t=36;
  36.   AliyunIoTSDK::loop();//必要函數

  37.   
  38.   //時刻讀取硬件串口數據
  39.   while (Serial.available())   
  40.   {
  41.     rxbuff += char(Serial.read());
  42.   }
  43.   while (Serial.read() >= 0) {} //清除串口緩存
  44.   if (rxbuff.length() > 0)
  45.   {
  46.     Serial.println(rxbuff[2]);
  47.     rxbuff="";
  48.   }


  49.   
  50.   if (millis() - lastMsMain >= 2000)//每2秒發送一次
  51.   {
  52.     lastMsMain = millis();

  53.     //發送溫度到云平臺
  54.     AliyunIoTSDK::send("IndoorTemperature", t);//溫度上傳
  55.     timeClient.update();
  56.     //Serial.println(timeClient.getFormattedTime());
  57.     //Serial.println(timeClient.getEpochTime());
  58.   }
  59. }

  60. //wifi 連接
  61. void wifiInit(const char *ssid, const char *passphrase)
  62. {
  63.   WiFi.mode(WIFI_STA);
  64.   WiFi.begin(ssid, passphrase);
  65.   while (WiFi.status() != WL_CONNECTED)
  66.   {
  67.     delay(1000);
  68.     Serial.println("WiFi not Connect");
  69.   }
  70.   Serial.println("Connected to AP");
  71. }

  72. //繼電器開關的屬性修改的回調函數
  73. void Relay_Control(JsonVariant L)//固定格式,修改參數l
  74. {
  75.   int Relay = L["PowerSwitch"];//參數l   “”為aliyun 的標志符
  76.   AliyunIoTSDK::send("PowerSwitch", Relay);
  77.   if (Relay == 1)
  78.   {
  79.     Serial.println("Relay On_____________");
  80.     digitalWrite(ledPin,HIGH);
  81.   }
  82.   else
  83.   {
  84.     Serial.println("Relay Off____________");
  85.     digitalWrite(ledPin,LOW);
  86.   }
  87.   
  88. }

  89. //空調開關的屬性修改的回調函數
  90. void Air_Control(JsonVariant L)
  91. {
  92.   int Air = L["VehACSwitch"];//參數l   “”為aliyun 的標志符
  93.   AliyunIoTSDK::send("VehACSwitch", Air);
  94.   if (Air == 1)
  95.     Serial.println("Air PowerOn___________");
  96.   
  97.   else
  98.     Serial.println("Air PowerOff__________");
  99. }
  100. //PWM變頻的屬性修改的回調函數
  101. void PWM_Control(JsonVariant L)
  102. {
  103.     int PWM = L["LightLuminance"];//參數l   “”為aliyun 的標志符
  104.     AliyunIoTSDK::send("LightLuminance", PWM);
  105.     Serial.println("PWM value:");
  106.     Serial.println(PWM);
  107. }
復制代碼

以上程序51hei提供下載:
esp.zip (1.61 KB, 下載次數: 98)



作者: vince    時間: 2020-6-1 19:58
不錯,正在學習,應該還需要下載對應的庫才可以吧!不知哪里有離線下載的
作者: carlson-chuo    時間: 2020-6-2 17:48
謝謝,正要學習,感謝分享。
作者: dongfang08    時間: 2020-6-3 09:50
正在學習,謝謝分享!
作者: wxdx8320    時間: 2020-6-3 15:43
正在學習這方面的知識呢,感謝樓主無私分享
作者: wy820    時間: 2020-7-21 10:30
不錯   esp8266板子應用廣泛
作者: 維超    時間: 2021-1-18 15:21
請問樓主用的哪個庫來編譯的?我試了下,出錯如下:D:\My Documents\Arduino\libraries\AliyunIoTSDK\src\AliyunIoTSDK.cpp:4:20: fatal error: SHA256.h: No such file or directory
作者: li429768032    時間: 2021-1-23 10:14
維超 發表于 2021-1-18 15:21
請問樓主用的哪個庫來編譯的?我試了下,出錯如下:D:\My Documents\Arduino\libraries\AliyunIoTSDK\src\Aliy ...

你這是沒有阿里云庫




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲国产成人av好男人在线观看 | 欧美a免费 | 中文字幕一区二区三区精彩视频 | 国产日韩欧美精品一区二区 | 国产精品免费观看 | 欧美a级成人淫片免费看 | 国产精品久久一区二区三区 | 蜜桃一区二区三区 | 激情五月婷婷在线 | 免费在线a视频 | 亚洲二区在线 | 日韩一级电影免费观看 | 成人一区二区三区在线 | 免费视频成人国产精品网站 | 在线视频成人 | 国产成人精品一区二三区在线观看 | 成人综合视频在线 | 色精品| 亚洲综合在线视频 | 久久伊人精品一区二区三区 | 中文字幕成人在线 | 九九在线视频 | 精品一区二区三区四区五区 | 日韩在线观看网站 | 亚洲人精品 | 男女网站视频 | 亚洲精品在线免费观看视频 | 国产高清在线 | 日韩福利片 | 欧美一区二区三区大片 | 久久精品一级 | 精品亚洲一区二区三区四区五区 | 成人在线黄色 | 日韩在线视频一区 | 免费高潮视频95在线观看网站 | 日韩成人在线网址 | 亚洲一区二区在线视频 | 国产一区在线看 | 999久久久 | 操人视频在线观看 | 91大神xh98xh系列全部 |