999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于百度云的物聯(lián)網(wǎng)應用搭建

2023-06-17 08:39:34王葦棋陳文印吳同德陳亞平謝飛武吳科甲
物聯(lián)網(wǎng)技術(shù) 2023年6期
關(guān)鍵詞:百度功能設(shè)備

王葦棋,陳文印,吳同德,陳亞平,謝飛武,吳科甲

(福建信息職業(yè)技術(shù)學院,福建 福州 350000)

0 引 言

物聯(lián)網(wǎng)是計算機、電子、通信等應用技術(shù)的集中體現(xiàn),是近些年科技發(fā)展的幾種體現(xiàn),是人民生活的重要技術(shù)支撐。隨著物聯(lián)網(wǎng)應用技術(shù)涉足的產(chǎn)業(yè)越來越廣、實際應用越來越多、相關(guān)產(chǎn)品越來越豐富,物聯(lián)網(wǎng)已經(jīng)成為了一個千億級的行業(yè)市場[1-3]。

隨著物聯(lián)網(wǎng)行業(yè)迅速發(fā)展,帶動了物聯(lián)網(wǎng)云服務應用的提升,國內(nèi)代表廠商有百度、阿里、騰訊、小米、海爾等。按照商業(yè)模式的不同,物聯(lián)網(wǎng)云平臺可以分為公有云和私有云。公有云物聯(lián)網(wǎng)平臺一般由相關(guān)企業(yè)提供,開放了大量物聯(lián)網(wǎng)服務和接口,方便設(shè)備接入和管理。物聯(lián)網(wǎng)公有云對設(shè)備的協(xié)議有更為嚴格規(guī)定,且大部分物聯(lián)網(wǎng)管理應用功能由廠家定義。而物聯(lián)網(wǎng)私有云平臺是用戶自己搭建底層運行框架,自定義業(yè)務邏輯功能,使用靈活但開發(fā)維護門檻高。近年來,部分公有云廠家也提供私有云部署業(yè)務,可以為客戶定制開發(fā)功能。對于個人用戶而言,想開發(fā)一套自己的物聯(lián)網(wǎng)私有云系統(tǒng),一般還需要租用一臺云服務器。

利用百度物聯(lián)網(wǎng)云平臺提供的一種通用的MQTT 發(fā)布訂閱功能,可以將私有云物聯(lián)網(wǎng)平臺部署到自己的個人計算機上。將百度物聯(lián)網(wǎng)云平臺當作一個數(shù)據(jù)轉(zhuǎn)發(fā)中心,把設(shè)備上報的數(shù)據(jù)轉(zhuǎn)發(fā)給部署私有云的服務端。同理,私有云也可以利用百度云將控制指令下發(fā)到設(shè)備。這樣,就可以無需租用云服務器也能實現(xiàn)對設(shè)備進行數(shù)據(jù)采集和控制下發(fā),能夠降低私有云的開發(fā)門檻,縮短項目驗證周期。

通過測試驗證表明,該方案實用性強、快速可靠,能有效提高私有云開發(fā)效率。若設(shè)計得當,還可以作為物聯(lián)網(wǎng)應用個人開發(fā)者的實際業(yè)務系統(tǒng)。

1 總體設(shè)計

基于百度云的物聯(lián)網(wǎng)應用系統(tǒng)的核心是具有MQTT 發(fā)布訂閱功能的百度云平臺,設(shè)備端包括采集設(shè)備和轉(zhuǎn)換協(xié)議的智能網(wǎng)關(guān),業(yè)務端是一個私有云服務端。

系統(tǒng)的通信協(xié)議使用了百度提供的MQTT。MQTT 協(xié)議的角色可以分為服務代理端(Broker)和客戶端(Client),代理服務器可以支持多種服務質(zhì)量,客戶端根據(jù)功能劃分為發(fā)布者(Publish)和訂閱者(Subscribe),客戶端通過協(xié)議與代理服務器進行連接[4]。總體架構(gòu)如圖1所示。

圖1 總體架構(gòu)圖

百度云平臺作為數(shù)據(jù)透傳的中轉(zhuǎn)站,不處理具體業(yè)務邏輯。設(shè)備和私有云都是MQTT 客戶端,利用發(fā)布訂閱功能實現(xiàn)數(shù)據(jù)交互,進而進行設(shè)備遠程監(jiān)控和運維升級。

物聯(lián)網(wǎng)網(wǎng)關(guān)通過RS 485 等采集總線和ModBus 等采集協(xié)議獲取到采集設(shè)備的數(shù)據(jù)后,將數(shù)據(jù)按照百度云規(guī)定的格式打包后發(fā)給平臺。接收到平臺的控制指令后,將指令轉(zhuǎn)換成控制設(shè)備可識別的信號,實現(xiàn)設(shè)備間聯(lián)動控制。

采集控制設(shè)備具有環(huán)境數(shù)據(jù)采集與控制功能,例如植物工廠中的溫濕度、CO2、LED 補光燈、光照傳感器、噴灌等。要具備現(xiàn)場通信能力和協(xié)議處理能力,接收處理網(wǎng)關(guān)下發(fā)的終端命令[5]。

私有云服務端是運行物聯(lián)網(wǎng)業(yè)務邏輯功能的主體,由于百度云的存在,服務端只需要能夠連上網(wǎng)絡即可實現(xiàn)業(yè)務數(shù)據(jù)采集。因此,服務端的載體可以是個人計算機、手機APP,甚至是嵌入式設(shè)備,在開發(fā)上更為靈活方便。

2 百度云配置

2.1 百度物聯(lián)云平臺與MQTT

百度物聯(lián)網(wǎng)云平臺是面向物聯(lián)網(wǎng)行業(yè)開發(fā)的云管理平臺,它提供設(shè)備接入與管理、規(guī)則引擎及物聯(lián)網(wǎng)邊緣等功能[6]。云端可接入、管理設(shè)備并建立安全可靠的連接;規(guī)則引擎提供物聯(lián)網(wǎng)設(shè)備與云平臺其他產(chǎn)品之間的數(shù)據(jù)互傳;物聯(lián)網(wǎng)邊緣可將云計算能力拓展至用戶現(xiàn)場,并且在工作條件差的區(qū)域也可以提供計算服務。

MQTT(消息隊列遙測傳輸)是一種基于發(fā)布訂閱(Publish Subscribe)模式的“輕量級”通信協(xié)議,該協(xié)議構(gòu)建于TCPIP 協(xié)議簇上。為了適應硬件功能不穩(wěn)定或者網(wǎng)絡條件差等情況下而設(shè)計的一款發(fā)布訂閱型消息協(xié)議。它的最大優(yōu)勢在于可以提供實時可靠的消息傳遞服務,用很少的代碼和有限的帶寬連接遠程設(shè)備,低開銷、低帶寬,因此被廣泛應用于物聯(lián)網(wǎng)、小型設(shè)備、移動應用等領(lǐng)域[7]。云平臺配置流程包括創(chuàng)建IoTCore 實例、創(chuàng)建模板、創(chuàng)建設(shè)備、獲取連接信息、測試MQTT 通信。

2.2 云平臺配置

百度云平臺作為物聯(lián)網(wǎng)網(wǎng)關(guān)、私有云服務端的“中介”,提供了MQTT 服務,需要注冊賬號并生成通信密鑰,實現(xiàn)智能設(shè)備與云端之間建立安全的連接,防止設(shè)備被不法分子攻擊。

(1)創(chuàng)建IoTCore 實例

在使用物聯(lián)網(wǎng)核心套件前,需要創(chuàng)建一個百度智能云賬號,登錄后在云平臺開通IoTCore,點擊“創(chuàng)建IoTCore”,輸入名稱與描述,即可創(chuàng)建實例。

(2)創(chuàng)建模板

設(shè)備模板是提供當前設(shè)備的主題描述,默認的設(shè)備模板包含兩個主題。按照圖2和圖3步驟新創(chuàng)建SertoCli 和ClitoSer 兩個主題。

圖2 創(chuàng)建一個模板

圖3 創(chuàng)建主題

(3)創(chuàng)建設(shè)備

填寫設(shè)備名稱、認證方式、描述、設(shè)備模板,其中認證方式選密鑰認證,描述可以不寫。

(4)獲取連接信息

在云平臺配置好設(shè)備信息后,自動生成新的設(shè)備信息和連接密鑰。進入設(shè)備詳情頁,在連接信息欄目,點擊右側(cè)圖標,即可查看設(shè)備信息:IoTCoreId、DeviceKey 和DeviceSecret。

針對不同項目需求創(chuàng)建相應IoT Core 實例庫,在庫中添加需要的物聯(lián)網(wǎng)傳感器,從而獲取傳感器采集傳輸?shù)南鄳膶崟r數(shù)據(jù),實現(xiàn)云端部署管理[8]。

2.3 MQTT 數(shù)據(jù)收發(fā)

2.3.1 生成用戶名和密碼

MQTT 測試需要將獲取到的設(shè)備信息生成登錄用戶名和密碼,然后通過MQTT 測試工具或者軟件實現(xiàn)通信,具體流程可以分為以下幾個步驟:

(1)生成用戶名

創(chuàng)建設(shè)備時選的認證方式為密鑰認證后需通過拼接連接成用戶名,使用拿到的IoTCoreId、DeviceKey 和DeviceSecret,生成MQTT 連接所需的用戶名及密碼。用戶名具體拼接如下:

{adp_type}@{IoTCoreId}|{DeviceKey}|{timestamp}|{algorithm_type}

具體含義見表1所列。

表1 用戶名字段定義

例如:IoTCoreId 為"avmbgrk",DeviceKey 為"zwgcDevice",則用戶名可以為"thingidp@avmbgrk|zwgcDevice|0|MD5"。

(2)生成密碼

組合加密字符串具體拼接如下:

{DeviceKey}&{timestamp}&{algorithm_type}{DeviceSecret}

具體含義見表2所列。

表2 用戶名字段定義

例如:DeviceKey 為"zwgcDevice",DeviceSecret 為"oGciBvqglTuaVKlu",則加密字符串可以為"zwgcDevice&0&MD5oGciBvqglTuaVKlu"。

使用MD5 對加密字符串的UTF-8 字符集比特數(shù)組進行加密,并將結(jié)果轉(zhuǎn)換為小寫形式,密碼為“53b1e44951df2329 70a624d8dc4945c8”。

具體Python 參考代碼如下:

2.3.2 MQTT 數(shù)據(jù)收發(fā)

MQTT 數(shù)據(jù)收發(fā)功能測試可以使用mqtt.fx 等軟件進行測試,使用方法與網(wǎng)絡調(diào)試助手類似。本文提供一種基于Python 代碼的MQTT 數(shù)據(jù)收發(fā)測試方法。

本文MQTT 代碼是基于Anaconda 環(huán)境,Python 版本為3.7.6,需要安裝paho-mqtt 模塊,可以通過指令安裝,也可以通過Anaconda 環(huán)境管理功能進行安裝。

使用paho-mqtt 模塊前需要導入相關(guān)模塊,然后需要編寫連接回調(diào)函數(shù)和收到消息的回調(diào)函數(shù),緊接著連接到對應的服務端,最后啟動線程服務就完成了paho-mqtt 功能開發(fā)。具體Python 參考代碼如下:

通過發(fā)布消息函數(shù),發(fā)布到對應主題就可以接受到對應的數(shù)據(jù):

In [6]:mqttser.publish(topicSertoCli,'{data:"mqttser1"}',qos = 1)

mqttser.publish(topicSertoCli,'{data:"mqttser2"}',qos = 1)

Out[6]:

dev_onmsg,$iot/zwgcDevice/user/SertoCli ,b’{data:"mqttser1"}’

dev_onmsg,$iot/zwgcDevice/user/SertoCli ,b’{data:"mqttser2"}'

3 服務端與設(shè)備端功能設(shè)計與實現(xiàn)

3.1 服務端與設(shè)備端設(shè)計

私有云服務端主要流程包括生成登錄賬號和密碼、登錄百度云平臺、通過MQTT 發(fā)送控制指令、通過MQTT 接收遙測數(shù)據(jù)等,具體流程如圖4所示。

圖4 服務端流程

接收到遙測數(shù)據(jù)后,根據(jù)需求進行處理,例如對數(shù)據(jù)進行解析、將報文存儲到數(shù)據(jù)庫中、將數(shù)據(jù)轉(zhuǎn)發(fā)至展示平臺、對數(shù)據(jù)進行告警判斷等[9]。

當發(fā)生告警時或者人為下發(fā)控制指令等情況需要對設(shè)備進行遠程控制時,服務端將命令通過MQTT 服務端下發(fā)至網(wǎng)關(guān),網(wǎng)關(guān)解析命令后實現(xiàn)對遠程設(shè)備進行調(diào)控。

設(shè)備端網(wǎng)關(guān)功能主要是硬件設(shè)備初始化、生成登錄賬號和密碼、登錄百度云平臺、接收服務端控制指令、采集傳感器數(shù)據(jù)并上報,具體流程如圖5所示。

圖5 設(shè)備端流程

硬件部分最重要的是智能網(wǎng)關(guān)模塊,網(wǎng)關(guān)一般包括采集電路、通信模塊、主控模塊。智能網(wǎng)關(guān)模塊主要負責將采集到的傳感器數(shù)據(jù)打包后上傳至云平臺,解析云平臺下發(fā)的指令并執(zhí)行,復雜的智能網(wǎng)關(guān)模塊還應具有邊緣計算能力。

3.2 參考測試代碼

為了更方便測試,首先將Token 生成相關(guān)代碼封裝成一個BaiduMqttTockenClass 類,將所有用到的參數(shù)存到類里,具體Python 參考代碼如下。同理,將MQTT 連接功能封裝成一個BaiduMqttConClass 類,將所有連接過程封裝到類里。

服務端測試代碼首先要創(chuàng)建一個MQTT 連接,并訂閱設(shè)備上報主題用于接收設(shè)備上報的數(shù)據(jù),具體Python 參考代碼如下:

測試代碼模擬一個服務端下發(fā)控制指令過程,每隔1 s,交替下發(fā)風扇開啟和關(guān)閉指令,具體Python 參考代碼如下:

同理,設(shè)備端測試代碼首先要創(chuàng)建一個MQTT 連接,并訂閱服務端下發(fā)指令主題,用于接收服務端下發(fā)的指令,具體Python 參考代碼如下:

測試代碼模擬一個設(shè)備端上報數(shù)據(jù)的過程,每隔2 s,隨機生成溫度和濕度值,并上報至服務端,具體Python 參考代碼如下:

4 測 試

測試運行結(jié)果具體Python 參考代碼如下,服務端每隔2 s 接收到設(shè)備端上報的數(shù)據(jù),設(shè)備端每隔1 s 接收到服務端下發(fā)的指令。

5 結(jié) 語

本文的研究充分證明了該物聯(lián)網(wǎng)模型的可行性和實用性,提供了一套搭建簡易物聯(lián)網(wǎng)模型的思路,實現(xiàn)了用戶快速搭建一套物聯(lián)網(wǎng)項目的需求。在此基礎(chǔ)上,開發(fā)者可以增加數(shù)據(jù)庫系統(tǒng)、可視化界面等其他模塊以便于構(gòu)建一套更完整的物聯(lián)網(wǎng)系統(tǒng)。

注:本文通訊作者為陳文印。

猜你喜歡
百度功能設(shè)備
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
諧響應分析在設(shè)備減振中的應用
Robust adaptive UKF based on SVR for inertial based integrated navigation
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
百度年度熱搜榜
青年與社會(2018年2期)2018-01-25 15:37:06
關(guān)于非首都功能疏解的幾點思考
500kV輸變電設(shè)備運行維護探討
百度遭投行下調(diào)評級
IT時代周刊(2015年8期)2015-11-11 05:50:22
原來他們都是可穿戴設(shè)備
消費者報道(2014年7期)2014-07-31 11:23:57
百度“放衛(wèi)星”,有沒有可能?
太空探索(2014年4期)2014-07-19 10:08:58
主站蜘蛛池模板: 中国毛片网| 在线看国产精品| a色毛片免费视频| 免费99精品国产自在现线| 麻豆国产原创视频在线播放| 欧美成人怡春院在线激情| 欧美yw精品日本国产精品| 自慰网址在线观看| 三级欧美在线| 亚洲视频在线青青| 国产综合色在线视频播放线视| 亚洲AV电影不卡在线观看| 一本久道久久综合多人| 日韩午夜伦| 激情亚洲天堂| 久久综合激情网| 欧美日韩第三页| 亚洲美女一区二区三区| 亚洲日本www| 国产精品毛片一区| 国产美女丝袜高潮| 久久免费成人| 91最新精品视频发布页| 天天色综网| 国产特级毛片| 亚洲天堂在线免费| 国产特级毛片| 国产最爽的乱婬视频国语对白 | 老色鬼欧美精品| 国产日韩精品一区在线不卡| 国产浮力第一页永久地址| 99在线视频免费| 日韩精品成人网页视频在线| 色噜噜综合网| 精品无码人妻一区二区| 亚洲 日韩 激情 无码 中出| 激情無極限的亚洲一区免费| 黄色网页在线观看| 欧洲免费精品视频在线| 香蕉在线视频网站| 国产精品永久不卡免费视频| 久久狠狠色噜噜狠狠狠狠97视色| 91成人在线免费观看| 国产精品女主播| 国产精品美乳| 国产免费久久精品99re丫丫一| 精品伊人久久大香线蕉网站| 九九热免费在线视频| 亚洲国产精品无码AV| 国产欧美自拍视频| 久久久久人妻一区精品色奶水 | 免费在线色| 久草国产在线观看| 国产无码网站在线观看| 亚洲无码在线午夜电影| 午夜天堂视频| 亚洲一级毛片在线观播放| 久久久久亚洲Av片无码观看| 三上悠亚一区二区| 国产毛片一区| 99这里精品| 国产精品自在自线免费观看| 国产亚洲视频免费播放| 国产日产欧美精品| 国产精品女同一区三区五区| 亚洲男人的天堂在线| 欧美午夜网| 一级全免费视频播放| 亚洲人成网站在线观看播放不卡| 亚洲av无码久久无遮挡| 成人毛片免费观看| 青青热久免费精品视频6| 高清无码不卡视频| Jizz国产色系免费| 久草性视频| 亚洲小视频网站| 久久www视频| 午夜福利无码一区二区| 一本久道热中字伊人| 午夜免费视频网站| 高清视频一区| 中文字幕波多野不卡一区|