定時控制esp8266
要實現定時控制,需要先實現手動控制,或者app控制。
實測定時精度,北京時間,誤差不超過1秒。
第一、遠端App控制或手動控制
下載esp8266示例程式
下載地址: 點選下載
本demo 是利用arduino IDE開發,關於arduino IDE 的ESP8266環境配置可參考:環境配置: 點選跳轉
程式下載好,需要修改的資訊有:
需要修改的資訊有WIF名稱,WIFI密碼,使用者私鑰UID,裝置主題topic。
//********************需要修改的部分*******************// //WIFI名稱,區分大小寫,不要寫錯 #define DEFAULT_STASSID "Air_mbs" //WIFI密碼 #define DEFAULT_STAPSW "air123456" //使用者私鑰,可在控制檯獲取,修改為自己的UID #define UID "4d9ec352e0376f2110a0c601a2857xxx" //主題名字,可在控制檯新建 #define TOPIC "light002" //微控制器LED引腳值 const int LED_Pin = D4; //**************************************************//
使用者私鑰可以巴法雲控制檯點選跳轉獲取,註冊繫結郵箱即可在巴法創客雲控制檯點選跳轉獲取。
登陸完成後,可在控制檯看到自己的私鑰UID,如圖所示:
建立主題,在控制檯,可建立主題。
- 第一輸入主題,字母或數字或字母+數字組合。
- 點選建立主題。
WIFI名稱為自己的路由器WIFI名稱,區分大小寫,寫錯會導致連線不上網路的。
下載程式到esp8266即可,可以通過串列埠除錯助手檢視通訊詳情。
當檢測到訊息為on 時,執行開燈,當檢測到訊息為off 時,執行關燈。開發者可在控制檯推送on或者off,然後檢視串列埠,看esp8266是否收到,如果收到,說明正常可進行下一步app編寫。
說明:訊息不單單侷限於on或off,開發者可以張大腦洞隨意定義的,你推送什麼訊息,在微控制器處做什麼訊息檢測就可以了。
第二 app開發
app 採用 app inventor 開發,通過拖拽程式設計生成安卓app,簡單便捷。
在appInventor 點選跳轉國內站建立賬號,並登陸。
本操作只提供一個app的demo,介面過於醜陋,大家可自由發揮更改介面。
demo 下載點選下載
頂部導航欄,依次點選(專案-->匯入專案aia),選擇上一步驟下載的aia檔案匯入即可。點選匯入的專案,即可看到控制面板,面板主要分為在組建設計和邏輯設計,使用者可在右上角進行模式切換。
(組建設計)面板可以向螢幕新增組建以進行二次開發。(邏輯面板)則進行相關邏輯編寫。
匯入aia檔案後,如果只是簡單使用,只需要修改兩個地方,一個是主題名字,一個是UID,均需開發者置換成自己的topic(主題名字)和UID(使用者私鑰),均可在創客雲控制檯獲取
此處的主題topic應該和ESP8266程式裡面設定的主題修改為一樣,不然會收不到訊息。UID修改為自己的私鑰。
下載後,安裝到手機即可。
第二、定時控制
如果在第一步可以在控制檯推送on或者off控制esp8266,或者使用app進行控制。下面可以設定定時控制。
在巴法雲控制檯,點選第一步建立的主題下方的定時控制按鈕。
可自定義推送訊息的時間,自定義推送的訊息。由於步驟一中的ESP8266檢測到on後,控制引腳電平置高電平,故定時開啟設定定時如下。
點選新增定時後,以後每天都會在18:12:10向esp8266推送一條on訊息,以達到定時控制的目的。當然如果在esp8266內做字串匹配檢測其他訊息的話,就推送自定義的訊息,協議開源,有較強的自主性。