從裝置花卉監護端系統開發,到雲平台裝置模型及遠端調試,再到手機端釘釘小程式開發。整個全鍊路打通過程,不過1小時。
1、裝置端的環境搭建
萬事開頭難,請打開參考文檔
HaaS快速開始 ,裡面會教你如何一步步拉取、編譯、下載下傳代碼,整個過程非常簡單哦!
2、雲端配置
請先點選登陸
物聯網平台(未注冊阿裡雲賬戶的使用者,請先完成賬戶注冊),按下面步驟一步步去打造
2.1、建立項目
注冊登入後,如下圖所示,前往管理控制台。
注意:我們為購買了HaaS闆的開發者使用者提供了免費一年的公共執行個體資源包。
如您有需要,可加入開發者支援釘釘群(見文章尾部),聯系相關同學領取。
2.2、建立HaaS養花産品
點選建立産品,見下圖所示,這裡建立了一個名稱“HaaS養花”産品。
2.3、裝置管理
2.3.1、添加裝置
在裝置清單中增加對應産品的裝置。
2.3.2、裝置資訊
檢視裝置資訊
建立後的裝置四元組資訊需要同步到裝置端的開發代碼段中,在3.1章節會介紹。待裝置端開發結束,就可以在物聯網平台中參看裝置線上狀态。
3、HaaS養花系統全鍊路功能開發
3.1、裝置端的軟體配置
HaaS100裝置端養花盒子參考代碼的路徑在:/application/example/flower_demo下。
将雲端建立裝置的四元組資訊填寫到linkkit_event.c中。
aos make flower_demo@haas100 -c config
aos make
将生産的bin檔案按照
固件燒入指引方式寫的裝置中。
3.2、裝置配網連雲
Haas養花系統硬體上電啟動以後,可以通過指令行進行配網,序列槽輸入如下指令可完成配網:
netmgr -t wifi -c {ssid} {password}
例如
ssid:xxx-test-Hass
password:88888888
netmgr -t wifi -c xxx-test-Hass 88888888
然後裝置就連到阿裡雲物聯網平台了
3.3、HaaS養花釘釘小程式開發
為了支援雲端一體開發,我們推出了小程式SDK,可以幫助使用者快速打通小程式到物聯網平台的鍊路。開發者可以使用如下指令擷取SDK:
git clone -b dev_3.1.0_haas https://github.com/alibaba/AliOS-Things.git
注意:如果在之前開發HaaS養花裝置端的時候有下載下傳過 AliOS-Things代碼倉庫,小程式SDK就在其中,無需重新下載下傳。
在/application/miniapp目錄下,就是對應的小程式開發代碼,使用者需要使用支付寶小程式IDE打開/application/miniapp目錄,這裡同時需要申請小程式的APPID。
分别在 app.js 及 HaasFlower.js 中填寫您的 AccessKey 以及 裝置資訊,可以參考這篇README。
// app.js
accessKey: {
accessKeyId: '<- accessKeyId ->', // 填入阿裡雲平台生成的 assessKeyId 以及 Secret
accessKeySecret: '<- accessKeySecret ->',
},
// HaasFlower.js
haasFlower: {
DeviceName: '<- DeviceName ->', // 填入目标裝置 DeviceName 以及 ProductKey
ProductKey: '<- ProductKey ->'
},
并在小程式詳情中,勾選忽略 request 域名合法性檢查(僅在本地模拟、預覽和遠端調試時生效)。
點選真機調試,即可下拉重新整理頁面,即可看到更新溫濕度資訊(需要裝置線上并連接配接到物聯網平台)。
3.4、溫濕度傳感器開發
3.4.1、DHT11 溫濕度傳感器
3.4.2、DHT11 溫濕度傳感器時序
DHT11 溫濕度傳感器工作時序:主機發開始信号-》DHT11響應輸出-》DHT11資料信号。
預設平時高電平,起始信号為低電平。
1、主機發開始以及DHT11響應的信号
主機發開始信号:低電平大于18ms,高電平20-40us;
DHT11響應的信号:低電平80us,高電平80us;
2、DHT11資料信号
DHT11資料信号規則
一次完整的資料傳輸為40bit,高位先出。
資料格式:8bit濕度整數資料+8bit濕度小數資料+8bit溫度整數資料+8bit溫度小數資料+8bit校驗和
校驗和資料=“8bit濕度整數資料+8bit濕度小數資料+8bit溫度整數資料+8bit溫度小數資料”所得結果的末8位。
DHT11傳感器如果沒有接收到主機發送開始信号,不會主動進行溫濕度采集。
‘0’數信号
低電平50us,高電平26-28us
‘1’數信号
低電平50us,高電平70us
3.4.3、土壤濕度傳感器
下圖是土壤濕度檢測的傳感器
可以通過調節來設定傳感器的探測靈敏度,通過DO pin腳信号即可擷取目前土壤的濕度狀态。
土壤濕度比較幹燥,DO輸出高電平,需要澆水;
土壤濕度濕潤,DO輸出低電平;
3.4.4 代碼示例
具體的代碼實作,請參考flower_app.c。
4、小結
至此,一個簡單的能手機遠端管理的HaaS花卉養植系統就做好了。是不是很簡單?
當然,這個HaaS花卉養植系統的打造僅僅是一個抛磚引玉,還有很大的擴充空間,比如 濕度過低觸發自動灑水,溫度過高自動開家裡的空調等裝置。還有非常大的想象和發揮空間。
同理,做一個 HaaS家庭魚缸 遠端監測包括喂食 等系統,也就很簡單了。
另外,也希望大家能一起攜手來豐富Haas的應用案例化,打造出更多更有意思的場景,比如:HaaS+人感打造智慧辦公室、HaaS+Mic/Speaker打造和諧校園、HaaS+空淨打造呼吸守護系統等等。
5、開發者技術支援
如需更多技術支援,可加入釘釘開發者群,或者關注微信公衆号
更多技術與解決方案介紹,請通路
阿裡雲AIoT首頁