定時控制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內做字符串匹配檢測其他消息的話,就推送自定義的消息,協議開源,有較強的自主性。