//表示通過wifi接入 #define BLINKER_WIFI #include <ESP8266WiFi.h> #include <DNSServer.h> #include <ESP8266WebServer.h> #include <WiFiManager.h> //開啟服務器端口 //WiFiServer server(80); //String header; //小愛:設備類型為插座 #define BLINKER_MIOT_MULTI_OUTLET //天貓:類型為插座 #define BLINKER_ALIGENIE_MULTI_OUTLET //小度:類型為插座 #define BLINKER_DUEROS_MULTI_OUTLET #define IN D5 //14 #define OUT D6 //12 #define PWM D7 //13 //這是點燈的核心庫 #include <Blinker.h> //設備的密鑰(key) char auth[] = "f1c431a4702a"; // f68445548327 。71269c24851d /** * wifi 的SSID和密碼,SSID就是你連接wifi時對方顯示的名稱,最好不要有空格、中文 * 密碼必須是8位起 * 注意:無法連接5G頻段的wifi,務必使用2.4G 的信號連接 * 如果自家的路由連不上,就用手機開一個熱點測試(熱點也不要選擇5G類型哦) * 連不上的常見可能: * 1、ID或密碼錯; * 2、使用了5G頻段或者自動切換頻段 * 3、路由本身的設置問題(非常見加密方式) * 4、公共場所的路由有額外驗證,比如星巴克等 */ //char ssid[] = "nova"; //char pswd[] = "12345678"; // 定義內置繼電器 BlinkerButton InBtn("a"); bool in_state = false; // 定義外置繼電器 BlinkerButton OutBtn("b"); bool out_state = false; // 定義電子開關 BlinkerSlider PwmSlider("c"); bool pwm_state = false; int32_t pwm_number = 0; //pwm滑塊的默認值 //啟動函數 void setup() { //設置波特率115200 Serial.begin(115200); BLINKER_DEBUG.stream(Serial); // WiFiManager wifiManager; // wifiManager.resetSettings(); // Serial.println("ESP8266 WiFi Settings Cleared"); // wifiManager.autoConnect("AutoConnectAP"); // Serial.println(""); // Serial.print("ESP8266 Connected to "); // Serial.println(WiFi.SSID()); // Serial.println(WiFi.localIP()); // BLINKER_DEBUG.stream(Serial); //設置OLED燈的針腳為輸出模式,注意部分芯片可能無此燈,也就無法控制 pinMode(LED_BUILTIN, OUTPUT); //設置 OLED燈的電平為 LOW=低,HIGH 則=高 digitalWrite(LED_BUILTIN, LOW); pinMode(IN, OUTPUT); pinMode(OUT, OUTPUT); pinMode(PWM, OUTPUT); digitalWrite(IN, HIGH); digitalWrite(OUT, HIGH); digitalWrite(PWM, LOW); //連接wifi //一鍵配網 //#include <ESP8266WiFi.h> //#include <DNSServer.h> //#include <ESP8266WebServer.h> //#include <WiFiManager.h> WiFiManager wifiManager; // wifiManager.resetSettings(); // Serial.println("ESP8266 WiFi Settings Cleared"); wifiManager.autoConnect("AutoConnectAP"); //server.begin(); //按鈕綁定函數 Blinker.attachHeartbeat(heartbeat); InBtn.attach(in_callback); OutBtn.attach(out_callback); PwmSlider.attach(pwm_slider_callback); //綁定小愛的控制函數 BlinkerMIOT.attachPowerState(mi); BlinkerMIOT.attachQuery(miQuery); //綁定天貓的控制函數 BlinkerAliGenie.attachPowerState(genie); BlinkerAliGenie.attachQuery(genieQuery); //綁定小度的控制函數 BlinkerDuerOS.attachPowerState(duer); BlinkerDuerOS.attachQuery(duerQuery); } void loop() { //blinker的啟動函數 Blinker.run(); } |