本頁目錄
1.裝置端環境搭建
2.雲端配置
3 裝置端配置
4 端雲聯調
本文詳細介紹如何基于HaaS平台快速接入阿裡雲IoT,搭建智能生活應用場景。
參考HaaS快速開始。
登陸智能生活物聯平台(
https://living.aliyun.com/)。未注冊阿裡雲賬戶的使用者,請先完成賬戶注冊。
2.1 建立項目
如下圖所示,點選右上角建立新項目。

2.2 建立産品
項目建立完成後,建立新産品。
2.2.1 産品類型選擇
如下圖,産品建立時資訊填寫說明:
1.産品名稱,按您喜好填就行;
2.所屬品類,智能生活平台提供覆寫行業内大部分的産品種類的物模型,我們這裡使用HaaS開發闆模拟智能燈,是以選擇“電工照明/燈”;
3.節點類型,直連裝置,選“裝置”;
4.直連接配接入,選非網關接入;
5.我們使用HaaS Wi-Fi網絡接入,連網方式選擇“WiFi”;
6.資料格式,選擇“ICA”即Alink Json格式,也可以選擇raw資料格式(裝置端不了解具體使用者協定,需在雲端平台設定js腳本将二進制協定轉換稱ICA協定);
7.裝置端預設不支援ID2認證,選“否”。
2.2.2 完善産品資訊
如下圖所示:
1.勾選使用公版APP控制産品;
2.完善左側驚歎号提示的配置設定,預設設定按确認即可;
3.需要注意的是配網引導頁面點自定義配網設定;
4.建立一個裝置,并拷貝其三元組資訊。
5.同時拷貝産品密鑰,用于配置裝置端配網:
6.完成開發:
7.安裝手機端APP,如圖掃描二維碼下載下傳雲智能APP:
至此,雲端配置完成。
1.修改端上代碼 application/example/linkkit_demo/linkkit_example_solo.c 中四元組資訊,如下圖,其中四元組資訊從2.2.2章節擷取。
2.修改屬性設定回調函數,可在此函數中加上自己的代碼,如根據雲端屬性控制IO操作等:
2.編譯
aos make linkkit_demo@haas100 -c config
aos make
3.按章節1指導方式燒入固件。
4.1 配網與綁定
4.1.1 裝置配網
1.通過指令行配網,序列槽輸入如下指令可完成配網:
netmgr -t wifi -c {ssid} {password}
關鍵日志:
ssid=aos_test_01
ip_address=192.168.18.109
address= 0:80:3d:64: 8:77
wpa_state=COMPLETED
擷取到IP位址後程式會立即進行linkkit連雲;連上雲關鍵日志:
[Jan 01 00:00:11.613]<I>HAL_TLS ok
[Jan 01 00:00:11.613]<I>HAL_TLS . Setting up the SSL/TLS structure...
[Jan 01 00:00:11.613]<I>HAL_TLS ok
[Jan 01 00:00:11.614]<I>HAL_TLS Performing the SSL/TLS handshake...
[Jan 01 00:00:11.731]<I>HAL_TLS ok
[Jan 01 00:00:11.731]<I>HAL_TLS . Verifying peer X.509 certificate..
[Jan 01 00:00:11.731]<I>HAL_TLS certificate verification result: 0x00
[Jan 01 00:00:11.731]<I>MQTT connect params: MQTTVersion=4, clientID=a1Oi7Q7h3LV.haas_01|timestamp=2524608000000,_v=sdk-c-3.0.1,securemode=2,signmethoV
[Jan 01 00:00:11.772]<I>MQTT mqtt connect success!
至此裝置已經完成配網并使用我們自己建立的三元組(product key/device name/device secret)連接配接到智能生活平台。
注:HaaS100開發闆APP配網功能還在開發中,請持續關注代碼更新。
4.1.2 裝置與雲智能APP綁定
打開步驟2.2安裝的雲智能APP,保證手機更裝置連接配接同一個APP.點選右上角紅色标注"+" 按鈕,開始裝置查找。
約數秒鐘後找到裝置,如下圖,點選完成。
至此綁定完成。
4.2 控制測試
裝置綁定完成後,進入如下頁面,可以通過點選圖中不同子產品進行指令下發。同時關注裝置端日志列印。
典型日志:
[Jan 01 00:02:12.197]<I>MQTT Downstream Topic: '/sys/a1Oi7Q7h3LV/haas_01/thing/service/property/set'
[Jan 01 00:02:12.197]<I>MQTT Downstream Payload:
< {
< "method":"thing.service.property.set",
< "id":"575303451",
< "params":{
< "HSVColor":{
< "Saturation":84,
< "Value":5,
< "Hue":232
< }
< },
< "version":"1.0.0"
< }
[Jan 01 00:02:12.198]<I>DM thing/service/property/set
[Jan 01 00:02:12.198]<I>DM Send URI: /sys/a1Oi7Q7h3LV/haas_01/thing/service/property/set_reply, Payload: {"id":"575303451","code":200,"data":{}}
[Jan 01 00:02:12.200]<I>MQTT Upstream Topic: '/sys/a1Oi7Q7h3LV/haas_01/thing/service/property/set_reply'
[Jan 01 00:02:12.200]<I>MQTT Upstream Payload:
> {
> "id":"575303451",
> "code":200,
> "data":{
> }
> }
當然你還可以在屬性或服務下發回調函數中添加自己的代碼完成更多的功能,比如控制IO口操作真實的外設。