亞寵展、全球?qū)櫸锂a(chǎn)業(yè)風(fēng)向標——亞洲寵物展覽會深度解析
981
2022-05-30
物聯(lián)網(wǎng)全棧活動的第二階段的考核目標:
如何上報 1000 條數(shù)據(jù)?
這個操作并不難,并且方法也比較多:
1.最笨的方法,人工把MQTT模擬器的“Publish”按鈕點擊1000次,這個方法可行,卻肯定沒有人愿意這么干
2.使用按鍵精錄或者Automate等自動化操作軟件,把MQTT模擬器的“Publish”按鈕點擊1000次,這個也比較可行
3.上報數(shù)據(jù)就是向服務(wù)器上提交數(shù)據(jù)嘛,把我們要提交的數(shù)據(jù)寫成腳本,循環(huán)運行就不行了?Java,Python都可以的
后來官網(wǎng)給出的方法是使用華為云自帶的虛擬設(shè)備自動功能,但在群里看到有同學(xué)反映虛擬設(shè)備自動上報時,設(shè)備會自動離線。
我使用的是第3種方法,在這里簡單分享一下:Python腳本自動上報。
也是挺簡單的,只需要3步:下載,修改,運行
1.下載Demo
在設(shè)備接入服務(wù)的主頁右下角點擊“SDK下載”
依次從左側(cè)展開 “開發(fā)指南”--“設(shè)備側(cè)開發(fā)”--“使用MQTT Demo接入”--“Python Demo使用說明”
https://support.huaweicloud.com/devg-iothub/iot_02_2129.html
基本上就是按照文檔中的方法一步步向下操作就可以了。
我把關(guān)鍵的幾步分享出來
1.在這一步點擊下載Demo樣例
2.安裝庫文件
2.修改Demo文件
打開PyCharm,導(dǎo)入項目,在IoT_device_demo下3個Demo文件,我們打開 properties_sample.py
需要配置的地方有2處:
1.客戶端配置
# 客戶端配置 client_cfg = IoTClientConfig(server_ip='服務(wù)地址', device_id='設(shè)備ID', secret='設(shè)備密鑰', is_ssl=False)
2.上報屬性配置
這里需要注意一點,你連接了什么設(shè)備,這個設(shè)備有什么屬性,就在propterty中填寫相應(yīng)的屬性名,在“value”中填寫相應(yīng)的屬性值,不要搞錯了
我使用的是Smart_Door設(shè)備,所以它的屬性設(shè)置如下所示。
# 定時上報屬性 while True: # 按照產(chǎn)品模型設(shè)置屬性 service_property = ServicesProperties() service_property.add_service_property(service_id="sensor", property='lock_state', value="ON") service_property.add_service_property(service_id="sensor", property='body_state', value="0") iot_client.report_properties(service_properties=service_property.service_property, qos=1) time.sleep(5) #上報間隔
3.運行
設(shè)置好之后,運行,mid的值會不斷增加,當看到mid的輸出結(jié)果大于2000,約一個半小時,就可以結(jié)束運行,等待服務(wù)器端統(tǒng)計數(shù)據(jù)更新
Publish success---mid = 2109
(PS:你也可以把這個Demo復(fù)制2份,分別配置Smart_Light和Smart_Humidifier,再把時間間隔調(diào)低,3個腳本同時運行,可以更快達成目標)
設(shè)備接入 IoTDA
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。