為什么物聯(lián)網(wǎng)要有邊緣計(jì)算?
物聯(lián)網(wǎng)平臺(tái)為您提供海量設(shè)備的接入和管理能力,您能便捷高效的接入各種形態(tài)的終端設(shè)備,還能在云端進(jìn)行豐富完備的設(shè)備管理。但是云端物聯(lián)網(wǎng)平臺(tái),離終端設(shè)備較遠(yuǎn),且終端設(shè)備本身又不具備強(qiáng)大的計(jì)算能力,對(duì)于實(shí)時(shí)性要求較高的場(chǎng)景,云端因網(wǎng)絡(luò)延時(shí)、網(wǎng)絡(luò)擁塞等原因?qū)е聠?wèn)題處理不及時(shí);以及物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)量大,如果全部上報(bào)云端,數(shù)據(jù)傳輸成本也高。
針對(duì)這種情況,物聯(lián)網(wǎng)平臺(tái)結(jié)合邊緣計(jì)算能力,通過(guò)在靠近終端設(shè)備的地方建立IoT邊緣節(jié)點(diǎn),將云端物聯(lián)網(wǎng)平臺(tái)的設(shè)備管理能力延伸到靠近終端設(shè)備的邊緣節(jié)點(diǎn),即IoT邊緣服務(wù)。
· 提供輕量化的設(shè)備管理能力(包括設(shè)備接入、設(shè)備鑒權(quán)、云邊數(shù)據(jù)同步等)。
· 在邊緣節(jié)點(diǎn)與云端斷鏈情況下也能提供設(shè)備的本地自治(包括設(shè)備數(shù)據(jù)緩存)。
· 為您提供低成本、本地自閉環(huán)、邊緣智能、云邊協(xié)同的方案。
業(yè)務(wù)流程
IoT邊緣基于物聯(lián)網(wǎng)平臺(tái)的設(shè)備接入服務(wù),給您提供邊緣側(cè)設(shè)備接入、低時(shí)延業(yè)務(wù)聯(lián)動(dòng)和本地閉環(huán)管理的解決方案。
使用IoT邊緣服務(wù)的關(guān)鍵流程如下:
圖1 業(yè)務(wù)流程
華為云IoT邊緣對(duì)物聯(lián)網(wǎng)邊緣網(wǎng)關(guān)的硬件規(guī)格要求說(shuō)明
IoT邊緣服務(wù)并不強(qiáng)制配套邊緣盒子,僅對(duì)邊緣盒子的硬件規(guī)格有一些基本要求,只要是滿足要求的硬件,無(wú)論型號(hào),均可基于Docker容器方式部署邊緣服務(wù)軟件包,獲取邊緣側(cè)的設(shè)備接入、設(shè)備聯(lián)動(dòng)和低時(shí)延本地閉環(huán)管理等基本能力。
IoT邊緣支持的操作系統(tǒng)有:Huawei Cloud EulerOS、CentOS、 Ubuntu、EulerOS、Debian、OpenEuler、可信國(guó)產(chǎn)操作系統(tǒng)等,經(jīng)過(guò)實(shí)測(cè)驗(yàn)證的版本如表2所示。
IoT邊緣服務(wù)是軟件,需要部署在硬件上,支持兩種硬件規(guī)格,一種是容器化,一種是非容器化(進(jìn)程級(jí)),其硬件規(guī)格和運(yùn)行環(huán)境要求如表1和表3所示。
注:如需邊緣節(jié)點(diǎn)的主備方案,則要預(yù)留備節(jié)點(diǎn)的硬件資源,規(guī)格與主節(jié)點(diǎn)一致。
表1?對(duì)各場(chǎng)景下的網(wǎng)關(guān)硬件規(guī)格要求
場(chǎng)景
|
規(guī)格要求
|
CPU架構(gòu)
|
CPU核心數(shù)
|
RAM內(nèi)存
|
磁盤(pán)存儲(chǔ)空間
|
備注
|
---|---|---|---|---|---|---|
僅應(yīng)用托管 |
容器底座部署起步規(guī)格 |
x86_64、ARM |
1U |
256M |
>2G |
Docker環(huán)境 |
進(jìn)程底座部署起步規(guī)格 |
x86_32 |
1U |
128M |
>1G |
進(jìn)程環(huán)境 |
|
工業(yè)設(shè)備/系統(tǒng)數(shù)采 |
每個(gè)數(shù)采通道支持1千點(diǎn)位,最大10點(diǎn)位WPS |
x86_32/64、ARM |
1U |
1G |
>2G |
硬采場(chǎng)景,默認(rèn)工業(yè)網(wǎng)關(guān)硬件數(shù)采; 若通過(guò)軟采方式對(duì)接設(shè)備,則與軟采場(chǎng)景約束一致 |
每個(gè)數(shù)采通道支持1萬(wàn)點(diǎn)位,最大2千點(diǎn)位WPS |
x86_64、ARM |
2U |
8G |
>20G |
軟采場(chǎng)景: 單數(shù)采通道的規(guī)格,每增加1萬(wàn)點(diǎn)位,增加0.5核CPU、2G內(nèi)存;多數(shù)采通道的規(guī)格,按對(duì)接協(xié)議個(gè)數(shù)計(jì)算,N個(gè)協(xié)議需N個(gè)數(shù)采通道的資源; 單個(gè)邊緣節(jié)點(diǎn)最大支持10萬(wàn)點(diǎn)位,2萬(wàn)點(diǎn)位WPS WPS:每秒上報(bào)給平臺(tái)的點(diǎn)位數(shù) |
|
園區(qū)/城市/工業(yè)子系統(tǒng)數(shù)采 |
1000設(shè)備接入,100TPS消息并發(fā) |
x86_64、ARM |
6U |
12G |
>20G |
每增加1000設(shè)備,100TIPS,增加0.5U、1G內(nèi)存 最大支持10000設(shè)備,1000TIPS TIPS:每秒上報(bào)給平臺(tái)的消息數(shù) |
表2?支持的操作系統(tǒng)版本(支持標(biāo)準(zhǔn)版、輕量版)
支持的操作系統(tǒng)
|
OS版本
|
---|---|
Huawei Cloud EulerOS |
1.0 64bit |
CentOS |
CentOS 8.2 64bit(40GB)、CentOS 7.9 64bit(40GB)、CentOS 6.9 64bit(40GB)、CentOS 6.9 64bit(40GB)、7.6 64bit、7.2 64bit |
Ubuntu |
18.04 server 64bit、16.04 server 64bit、Ubuntu 20.04 server 64bit(40GB) |
EulerOS |
2.5 64bit、2.5.4-x86_64 |
Debian |
Debian 9.0.0 64bit(40GB)、Debian 10.0.0 64bit(40GB) |
OpenEuler |
openEuler 20.03 64bit(40GB) |
Fedora |
Fedora 29 64bit with ARM |
KylinOS |
Kylin Linux Advanced Server for Kunpeng V10 |
UnionTech |
UnionTech OS Server 20 Euler (1000) 64bit with ARM |
表3 硬件操作系統(tǒng)的環(huán)境依賴要求
依賴項(xiàng)
|
容器化規(guī)格(標(biāo)準(zhǔn)版)
|
進(jìn)程級(jí)規(guī)格(輕量版)
|
---|---|---|
Docker |
Docker版本必須高于17.06,推薦使用18.06.3版本。 (請(qǐng)勿使用18.09.0版本Docker,該版本存在嚴(yán)重bug,詳見(jiàn)https://github.com/docker/for-linux/issues/543;如果已使用此版本,請(qǐng)盡快升級(jí)。Atlas 500小站預(yù)置的Docker 18.09.0.60軟件版本已經(jīng)修改該問(wèn)題。) Docker安裝方法請(qǐng)參見(jiàn)https://docs.docker.com/install/overview/。 可以選擇使用開(kāi)源的Docker CE或者使用Docker企業(yè)版(Docker EE),使用Docker EE時(shí),需要支付Docker額外費(fèi)用,更多Docker EE相關(guān)細(xì)節(jié)請(qǐng)參考Docker官方文檔:https://docs.docker.com/ee/supported-platforms/ 。 須知: Docker安裝完成后,請(qǐng)將Docker進(jìn)程配置為開(kāi)機(jī)啟動(dòng),避免系統(tǒng)重啟后Docker進(jìn)程未啟動(dòng)引起的系統(tǒng)異常。 |
不涉及 |
glibc |
版本不低于2.17,Linux默認(rèn)自帶,如需下載,參見(jiàn)官網(wǎng)鏈接 |
版本不低于2.17,Linux默認(rèn)自帶,如需下載,參見(jiàn)官網(wǎng)鏈接 |
wget |
版本不低于1.10,Linux默認(rèn)自帶,如需下載,參見(jiàn)官網(wǎng)鏈接 |
版本不低于1.10,Linux默認(rèn)自帶,如需下載,參見(jiàn)官網(wǎng)鏈接 |
openssl |
版本不低于1.0.2,Linux默認(rèn)自帶,如需下載,參見(jiàn)官網(wǎng)鏈接 |
版本不低于1.0.2,Linux默認(rèn)自帶,如需下載,參見(jiàn)官網(wǎng)鏈接 |
端口使用 |
邊緣節(jié)點(diǎn)需要使用如下端口,請(qǐng)確保這些端口能夠正常使用。 7883:提供節(jié)點(diǎn)南向MQTTS設(shè)備接入 |
邊緣節(jié)點(diǎn)需要使用如下端口,請(qǐng)確保這些端口能夠正常使用。 7883:提供節(jié)點(diǎn)南向MQTTS設(shè)備接入 |
NTP(可選) |
可靠的授時(shí)服務(wù)器,要求誤差不大于5秒。 |
不涉及 |
華為云IoT邊緣-最佳實(shí)踐
華為云IoT邊緣平臺(tái)開(kāi)發(fā)使用文檔
-
Io邊緣平臺(tái)開(kāi)發(fā)前必讀
基于華為云物聯(lián)網(wǎng)IoT邊緣平臺(tái)去實(shí)現(xiàn)一個(gè)物聯(lián)網(wǎng)解決方案,涉及使用華為IoT邊緣服務(wù)開(kāi)發(fā)的部分在架構(gòu)上涉及部分為:應(yīng)用側(cè)開(kāi)發(fā)、插件開(kāi)發(fā)。
基于華為云物聯(lián)網(wǎng)IoT邊緣平臺(tái)去實(shí)現(xiàn)一個(gè)物聯(lián)網(wǎng)解決方案,涉及使用華為IoT邊緣服務(wù)開(kāi)發(fā)的部分在架構(gòu)上涉及部分為:應(yīng)用側(cè)開(kāi)發(fā)、插件開(kāi)發(fā)。
-
IoT邊緣平臺(tái)開(kāi)發(fā)資源獲取
在設(shè)備和對(duì)接邊緣節(jié)點(diǎn)場(chǎng)景中,需要在設(shè)備側(cè)集成相應(yīng)證書(shū)。包括ModuleSDK(java)、MQTT.fx、plt-device-ca、證書(shū)文件、Modbus Slave。
在設(shè)備和對(duì)接邊緣節(jié)點(diǎn)場(chǎng)景中,需要在設(shè)備側(cè)集成相應(yīng)證書(shū)。包括ModuleSDK(java)、MQTT.fx、plt-device-ca、證書(shū)文件、Modbus Slave。
-
IoT邊緣應(yīng)用側(cè)開(kāi)發(fā)調(diào)試API指南
使用paw/postman等工具調(diào)試API。前提條件在調(diào)用API之前需要獲取token,調(diào)用查詢應(yīng)用列表API。查看API說(shuō)明(關(guān)注API地址、請(qǐng)求類型、請(qǐng)求參數(shù)、返回參數(shù))
使用paw/postman等工具調(diào)試API。前提條件在調(diào)用API之前需要獲取token,調(diào)用查詢應(yīng)用列表API。查看API說(shuō)明(關(guān)注API地址、請(qǐng)求類型、請(qǐng)求參數(shù)、返回參數(shù))
-
IoT邊緣平臺(tái)插件開(kāi)發(fā)指南
華為IoT邊緣提供ModuleSDK,用戶可通過(guò)集成SDK讓設(shè)備以及設(shè)備數(shù)據(jù)快速上云。IoT邊緣平臺(tái)應(yīng)用功能有自定義處理設(shè)備數(shù)據(jù)(即數(shù)據(jù)處理),自定義協(xié)議設(shè)備快速接入(即協(xié)議解析),IT子系統(tǒng)接入(即IT應(yīng)用),并且支持容器化部署和安裝包部署的方式。
華為IoT邊緣提供ModuleSDK,用戶可通過(guò)集成SDK讓設(shè)備以及設(shè)備數(shù)據(jù)快速上云。IoT邊緣平臺(tái)應(yīng)用功能有自定義處理設(shè)備數(shù)據(jù)(即數(shù)據(jù)處理),自定義協(xié)議設(shè)備快速接入(即協(xié)議解析),IT子系統(tǒng)接入(即IT應(yīng)用),并且支持容器化部署和安裝包部署的方式。
-
IoT邊緣插件開(kāi)發(fā)數(shù)據(jù)處理架構(gòu)介紹
IoT邊緣云服務(wù)為應(yīng)用提供總線對(duì)接能力、設(shè)備命令下發(fā)能力。IoTEdge對(duì)應(yīng)用的日志、數(shù)據(jù)存儲(chǔ)目錄進(jìn)行統(tǒng)一配置,應(yīng)用相關(guān)設(shè)置通過(guò)環(huán)境變量傳遞給應(yīng)用。
IoT邊緣云服務(wù)為應(yīng)用提供總線對(duì)接能力、設(shè)備命令下發(fā)能力。IoTEdge對(duì)應(yīng)用的日志、數(shù)據(jù)存儲(chǔ)目錄進(jìn)行統(tǒng)一配置,應(yīng)用相關(guān)設(shè)置通過(guò)環(huán)境變量傳遞給應(yīng)用。
-
IoT邊緣插件開(kāi)發(fā)協(xié)議轉(zhuǎn)換(驅(qū)動(dòng)應(yīng)用)架構(gòu)介紹
驅(qū)動(dòng)提供子設(shè)備管理和數(shù)據(jù)上報(bào)功能。子設(shè)備管理功能包括子設(shè)備增刪和配置子設(shè)備數(shù)據(jù)采集協(xié)議。設(shè)備的增刪有兩種形式,一是在云端增刪,二是在本地增刪。數(shù)據(jù)上報(bào)功能可以將設(shè)備狀態(tài)和設(shè)備數(shù)據(jù)上報(bào)到云端。
驅(qū)動(dòng)提供子設(shè)備管理和數(shù)據(jù)上報(bào)功能。子設(shè)備管理功能包括子設(shè)備增刪和配置子設(shè)備數(shù)據(jù)采集協(xié)議。設(shè)備的增刪有兩種形式,一是在云端增刪,二是在本地增刪。數(shù)據(jù)上報(bào)功能可以將設(shè)備狀態(tài)和設(shè)備數(shù)據(jù)上報(bào)到云端。
-
IoT邊緣插件開(kāi)發(fā)工業(yè)子系統(tǒng)接入(IT應(yīng)用)架構(gòu)介紹
IT應(yīng)用利用APIGW與云端協(xié)同提供下行通道、上行請(qǐng)求代理(鑒權(quán)終結(jié))等能力,實(shí)現(xiàn)了云端(NA)與IT應(yīng)用的相互調(diào)用。
IT應(yīng)用利用APIGW與云端協(xié)同提供下行通道、上行請(qǐng)求代理(鑒權(quán)終結(jié))等能力,實(shí)現(xiàn)了云端(NA)與IT應(yīng)用的相互調(diào)用。
-
IoT邊緣ModuleSDK開(kāi)發(fā)方案概述
基于ModuleSDK開(kāi)發(fā)應(yīng)用實(shí)現(xiàn)數(shù)據(jù)處理或自定義驅(qū)動(dòng)時(shí),分為開(kāi)發(fā)和使用兩個(gè)部分。App應(yīng)用的開(kāi)發(fā),利用AppClient和DriverClient進(jìn)行自定義的業(yè)務(wù)處理。
基于ModuleSDK開(kāi)發(fā)應(yīng)用實(shí)現(xiàn)數(shù)據(jù)處理或自定義驅(qū)動(dòng)時(shí),分為開(kāi)發(fā)和使用兩個(gè)部分。App應(yīng)用的開(kāi)發(fā),利用AppClient和DriverClient進(jìn)行自定義的業(yè)務(wù)處理。
-
IoT邊緣集成ModuleSDK(C)架構(gòu)
模塊SDK用于開(kāi)發(fā)運(yùn)行在邊緣節(jié)點(diǎn)中的應(yīng)用,包括數(shù)據(jù)處理應(yīng)用(簡(jiǎn)稱應(yīng)用,例如數(shù)據(jù)清洗)和協(xié)議驅(qū)動(dòng)(簡(jiǎn)稱驅(qū)動(dòng),例如EdgeAccess)。
模塊SDK用于開(kāi)發(fā)運(yùn)行在邊緣節(jié)點(diǎn)中的應(yīng)用,包括數(shù)據(jù)處理應(yīng)用(簡(jiǎn)稱應(yīng)用,例如數(shù)據(jù)清洗)和協(xié)議驅(qū)動(dòng)(簡(jiǎn)稱驅(qū)動(dòng),例如EdgeAccess)。