本頁目錄
1.設備端環境搭建
2.雲端配置
3 設備端配置
4 端雲聯調
本文詳細介紹如何基於HaaS平臺快速接入阿里雲IoT,搭建智能生活應用場景。
1.設備端環境搭建
參考HaaS快速開始。
2.雲端配置
登陸智能生活物聯平臺(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:
至此,雲端配置完成。
3 設備端配置
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 端雲聯調
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口操作真實的外設。