1. 程式人生 > 實用技巧 >定時控制esp8266

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