物聯網微服務Edgex Foundry入門

2021-09-28 22:56:54 字數 3840 閱讀 9257

目錄

1、安裝基礎軟體

2、執行 edgex

2.2檔案修改好後,執行下面的命令:

3連線裝置測試

4 服務連線

4.1安裝hivemq

4.2註冊應用到edgex

5 裝置控制

5.1 device profile

5.2 執行命令

6 總結

以windows 10為例,使用windows 10 自帶hyper-v。

1、安裝基礎軟體

執行edgex 最快的方式就是使用預先構建好的docker images。首先要把docker安裝好。

docker 分為 docker ce(社群版) 和docker ee(企業版)。我們這裡直安裝docker ce

安裝手冊見:

安裝docker的手冊:

檔案中 有部分被注釋掉的配置開啟如下:

2.2檔案修改好後,執行下面的命令:

一定要cd到在docker-compose.yml所在的資料夾內執命令。

(2)通過docker-compose啟動所有的服務,-d: 表示後台執行容器,並返回容器id;

docker-compose up –d

(3)檢查是否啟動成功,檢視容器的狀態。

docker-compose ps

3連線裝置測試

edgex foundry 提供了乙個用於測試 的裝置服務random number device service,它可以返回配置範圍內的乙個隨機數。就是上面我放開注釋的那個裝置配置。這個裝置服務會註冊乙個裝置random-integer-generator01,它會不停的傳送隨機數到edgex。

4 服務連線

edgex 為雲服務和應用提供了很多的訊息推送方式。我們使用 hivemq 作為mqtt的基礎訊息元件,然後檢視edgex是否能夠將random-integer-generator01裝置的訊息推送到hivemq中。

docker run -p 8080:8080 -p 1883:1883 hivemq/hivemq4

4.2註冊應用到edgex

然後通過hivemq 客戶端,檢視到訊息是否已經推送成功

5 裝置控制

5.1 device profile

從裝置中讀取資料只是edgex的部分功能,它還可以用來控制裝置。edgex提供了乙個device profile 功能,它用來註冊裝置。device profile包含兩部分內容,一部分是如何從裝置讀取資料,另一部分就是控制裝置的命令。如下圖所示:

device profile 包含deviceresources和devicecommands兩部分的定義。

下面擷取了device profile中 devicecommands的部分內容:

name: "generaterandomvalue_int8"

get:

- set:

- -

可以通過裝置服務提供的查詢介面來獲取裝置命令列表,查詢到的是乙個json串。可以看到查詢到的裝置命令就是device profile配置的命令。

]}5.2 執行命令

每個命令都 包含get 和put操作。以上面的第乙個命令為例:

get 會返回乙個隨機數,這個請求會自動的傳送命令到裝置,並將採集的資料通過rest介面返回給edgex。這裡把 edgex-core-command 替換成了localhost,因為edgex-core-command是docker容器中定義的內部網域名稱,我們要從docker外部呼叫就要使用localhost。

返回結果如下:] }

隨機數預設的取值範圍是 -128到127。可以通過put命令重新設定 取值範圍,

這時再去執行get命令的時候,返回值就會在 0 到100之間。

6 總結

按照上面的流程操作完,你就有了乙個完整的edgex開發環境,你可以從裝置採集資料傳送到雲端,也可以通過edgex控制你的裝置。

物聯網之邊緣服務

邊緣服務,主要是在本地提供就近服務,滿足實時性 成本 安全與隱私保護等方面的訴求。許多業務將通過本地裝置實現而無需交由雲端,大大提公升處理效率,減輕雲端的負荷。邊緣服務其實繼承了很多傳統自動化控制理念和業務概念,其又稱邊緣計算,則會涉及更多關於資料計算處理功能。在傳統的自動化控 務中,諸如資料歸一化...

關於微服務和物聯網的未來五件事

微服務正在成為建立企業應用程式的首選方式。就像五年前的移動應用開發應用一樣,缺乏專業知識可能會降低一些公司的追求。然而,隨著物聯網發展的不斷上公升,微伺服器將成為開發者在今天和未來的首選架構。降低成本 iot感測器和裝置現在相當實惠。也就是說,推出數百個小型感測器幾乎總是更具成本效益,每個小型感測器...

物聯網專題1 物聯網簡介

1 物聯網 internet of things iot 萬物互聯 注意 是internet 不是internet internet 互連網,使用tcp ip協議族作為通行規則的特殊的互連網 即網際網路 物聯網最重要的屬性,就是裝置接入網際網路 如兩個裝置使用2.4g射頻模組進行無線通訊,這不能算是...