
EdgeX Foundry
EdgeX Foundry是一個供應(yīng)商中立的邊緣網(wǎng)絡(luò)開源軟件平臺,它與物理設(shè)備相互作用,例如每天工作的設(shè)備、傳感器、執(zhí)行器以及其他物聯(lián)網(wǎng)對象。其目的在于構(gòu)建一個工業(yè)化的物聯(lián)網(wǎng)邊緣計算的通用框架。EdgeX 平臺鼓勵快速增長的物聯(lián)網(wǎng)供應(yīng)商社群共同工作于一個互操作組件的生態(tài)系統(tǒng),該系統(tǒng)能減少不確定性,加速市場化,并促進(jìn)規(guī)模化。
通過帶來此急需的互操作性,EdgeX 使得一些工作都變得更容易,例如監(jiān)控物理世界的設(shè)備、收集其數(shù)據(jù)、傳送數(shù)據(jù)到云(云是數(shù)據(jù)被存儲、集合、分析,以及變成信息、驅(qū)動信號、發(fā)揮作用等的地方)上。因此 EdgeX 使數(shù)據(jù)從南區(qū)傳輸?shù)皆贫撕团赃叺南嚓P(guān)網(wǎng)關(guān),或返回給設(shè)備、傳感器和執(zhí)行器。
MQTT協(xié)議
為什么使用MQTT 協(xié)議?
MQTT(英語全稱,Message Queue Telemetry Transport),中文翻譯過來就是遙測傳輸協(xié)議:其主要提供訂閱/發(fā)布模式,更為簡約、輕量,易于使用,針對受限環(huán)境(帶寬低、網(wǎng)絡(luò)延遲高、網(wǎng)絡(luò)通信不穩(wěn)定),屬于物聯(lián)網(wǎng)(Internet of Thing)的一個傳輸協(xié)議。設(shè)計思想是開放、簡單、輕量、易于實(shí)現(xiàn)。這些特點(diǎn)使它適用于受限環(huán)境。例如,但不僅限于此:
MQTT協(xié)議的優(yōu)勢是可以支持所有平臺,它幾乎可以把所有的聯(lián)網(wǎng)物品和互聯(lián)網(wǎng)連接起來。特別適合于網(wǎng)絡(luò)代價昂貴,帶寬低、不可靠的環(huán)境。能在處理器和內(nèi)存資源有限的嵌入式設(shè)備中運(yùn)行。
使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,從而解除應(yīng)用程序耦合。
準(zhǔn)備工作
主機(jī)需要提前安裝好docker與docker-compose,docker安裝方式參見前幾篇文章,docker-compose自行安裝即可。
本教程docker安裝好后docker版本信息如下:

初始時主機(jī)上的docker容器鏡像如下:

這里表示一個鏡像文件都沒有。
我們需要準(zhǔn)備以下四個必要步驟:
1.edgex運(yùn)行所需的容器(一個docker-compose文件即可)
本次運(yùn)行我們采用最簡單最快速的運(yùn)行fuji版本的edgex:通過docker-compose文件下載docker鏡像并運(yùn)行的方式,并且通過Edgex UI的方式添加設(shè)備:
edgex foundry的fuji版本的docker-compose文件鏈接如下:
https://github.com/edgexfoundry/developer-scripts/blob/master/releases/fuji/compose-files/docker-compose-fuji-no-secty.yml

2.模擬mqtt設(shè)備的腳本文件;
模擬mqtt發(fā)送數(shù)據(jù)的腳本,鏈接地址如下:
https://github.com/SHILIANG17671467654/mock-device-driver
大家根據(jù)自己的情況選擇相應(yīng)的腳本運(yùn)行,這個示范運(yùn)行的是python的腳本(注:這里運(yùn)行需要的是python2環(huán)境,Python3環(huán)境需要適當(dāng)?shù)恼{(diào)整代碼,建議還是python2環(huán)境)
3.一個eclipse-mosquitto容器,通過這個broker用于發(fā)布訂閱mqtt的消息,部署的過程中將broker與edgex部署在同一個設(shè)備上,該設(shè)備的ip為:192.168.194.131)
先通過docker pull eclipsemosquitto-mosquitto拉取鏡像,然后通過:
docker run -mosquitto -p 1883:1883 eclipse-mosquitto
運(yùn)行broker容器。
4.一個mqtt設(shè)備的配置文件,添加設(shè)備時需要上傳的。
mqtt設(shè)備配置文件鏈接地址:
https://github.com/edgexfoundry/device-mqtt-go/blob/fuji/cmd/res/example/mqtt.test.device.profile.yml
來一條長長的分界線?。?!
———————————————————————————————
準(zhǔn)備工作結(jié)束,接下來我們開始正式部署edgex。
轉(zhuǎn)下一篇: