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
主站蜘蛛池模板: 婷婷丁香在线观看| 精品国产一区91在线| 九一九色国产| 亚洲第一成人在线| 午夜精品国产自在| 日韩少妇激情一区二区| 伊人久久久久久久| 国产成人资源| 在线日韩一区二区| 国产福利小视频在线播放观看| 久久网欧美| 亚洲人成网站日本片| 中文字幕av一区二区三区欲色| 蜜芽一区二区国产精品| 国产香蕉97碰碰视频VA碰碰看 | 国产成人久视频免费| 国内精品免费| 99热亚洲精品6码| 成人无码一区二区三区视频在线观看| 精品夜恋影院亚洲欧洲| 精品黑人一区二区三区| 伊人久久婷婷| 欧日韩在线不卡视频| 狠狠色丁香婷婷| 成年A级毛片| 三上悠亚在线精品二区| 中国特黄美女一级视频| 操操操综合网| 99国产精品国产高清一区二区| 久久9966精品国产免费| 亚洲综合欧美在线一区在线播放| 亚洲视频四区| 精品久久久久久中文字幕女 | 久久人人97超碰人人澡爱香蕉| 国产国模一区二区三区四区| 国产丝袜91| 亚洲综合久久成人AV| 国产精品视屏| 亚洲国产中文综合专区在| 国产成人高清精品免费5388| 中国一级毛片免费观看| 99成人在线观看| 国产精品久久久久久久久kt| 国产一区二区网站| 中文字幕亚洲综久久2021| 国产福利大秀91| 天堂av综合网| 无码一区二区波多野结衣播放搜索| 国产乱肥老妇精品视频| 无码一区二区波多野结衣播放搜索 | 日韩在线播放欧美字幕| 伦精品一区二区三区视频| 国产精品30p| 性色生活片在线观看| 精品国产Ⅴ无码大片在线观看81| 日韩毛片在线播放| 亚洲视频影院| 国产呦精品一区二区三区下载| 欧美日韩精品综合在线一区| 青草视频免费在线观看| 色成人亚洲| 国产人成午夜免费看| 亚洲av综合网| 久久这里只精品国产99热8| 波多野结衣一区二区三区88| 91无码视频在线观看| 国产亚洲精品在天天在线麻豆| 无码福利日韩神码福利片| 大乳丰满人妻中文字幕日本| 日韩欧美中文字幕在线韩免费| 亚洲综合九九| 免费国产无遮挡又黄又爽| 亚洲国产成人在线| 日韩毛片在线视频| 幺女国产一级毛片| 国产精品v欧美| 久久精品亚洲中文字幕乱码| 午夜性爽视频男人的天堂| 国产精品欧美在线观看| 亚洲综合日韩精品| 成人在线观看一区| 无码一区中文字幕|