技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 談?wù)勥吘売?jì)算在物聯(lián)網(wǎng)

談?wù)勥吘売?jì)算在物聯(lián)網(wǎng)

時(shí)間:2018-06-13 16:22:05來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?邊緣計(jì)算,是一種分散式運(yùn)算的架構(gòu),它將應(yīng)用程序、數(shù)據(jù)資料與服務(wù)的運(yùn)算,由網(wǎng)絡(luò)中心節(jié)點(diǎn),移往網(wǎng)絡(luò)邏輯上的邊緣節(jié)點(diǎn)來處理。

邊緣計(jì)算,是一種分散式運(yùn)算的架構(gòu),它將應(yīng)用程序、數(shù)據(jù)資料與服務(wù)的運(yùn)算,由網(wǎng)絡(luò)中心節(jié)點(diǎn),移往網(wǎng)絡(luò)邏輯上的邊緣節(jié)點(diǎn)來處理。邊緣運(yùn)算將原本完全由中心節(jié)點(diǎn)處理大型服務(wù)加以分解,切割成更小與更容易管理的部分,分散到邊緣節(jié)點(diǎn)去處理。

基于邊緣計(jì)算物聯(lián)網(wǎng)解決方案,從架構(gòu)上可以分為:傳感控制層、網(wǎng)絡(luò)層、敏捷控制器和應(yīng)用層。

傳感控制層:包含大量的傳感器、控制部件(比如開關(guān)等)和測(cè)量部件(比如電表等),另外還有通信部件。這些通信部件可能是獨(dú)立的,也可能是和其它部件結(jié)合在一起的。

網(wǎng)絡(luò)層:主要實(shí)現(xiàn)融合和互聯(lián),它的功能除了網(wǎng)絡(luò)聯(lián)接和管理之外,還包括邊緣計(jì)算,進(jìn)行現(xiàn)場(chǎng)處理,同時(shí)保障業(yè)務(wù)在本地的存活。本地存活和現(xiàn)場(chǎng)處理對(duì)物聯(lián)網(wǎng)尤其是工業(yè)和民用大型設(shè)施是非常重要的。此外,協(xié)議轉(zhuǎn)換也是這一層的重要功能。在IoT領(lǐng)域有特別多的協(xié)議,這些協(xié)議來自于各個(gè)行業(yè)歷史上的積累,所以需要在網(wǎng)關(guān)上做協(xié)議的轉(zhuǎn)換,將數(shù)據(jù)統(tǒng)一承載在IP網(wǎng)絡(luò)上向外傳輸。

敏捷控制器:將網(wǎng)關(guān)送上來的數(shù)據(jù)進(jìn)行統(tǒng)一的處理,向上送給應(yīng)用層。并對(duì)下層的網(wǎng)絡(luò)、傳感器、控制部件、測(cè)量部件、計(jì)算資源進(jìn)行管理,提供網(wǎng)絡(luò)布署、配置的自動(dòng)化工具。

業(yè)務(wù)應(yīng)用層:集成各種行業(yè)應(yīng)用。

“兩端一云”的物聯(lián)網(wǎng)解決方案IoTSuite

萬物互聯(lián)的蓬勃發(fā)展,互聯(lián)網(wǎng)接入的用戶和設(shè)備越來越多,無論是個(gè)人用戶,還是物聯(lián)網(wǎng)接入設(shè)備,每時(shí)每刻都在產(chǎn)生大量的數(shù)據(jù)。數(shù)據(jù)量不斷增多的情況下,同時(shí)要求對(duì)于設(shè)備的響應(yīng)、本身的計(jì)算能力越來越強(qiáng)?;趥鹘y(tǒng)設(shè)備連接中央服務(wù)器,網(wǎng)絡(luò)延遲和帶寬會(huì)產(chǎn)生巨大成本,設(shè)備無法通過網(wǎng)絡(luò)即時(shí)連接到云和中央服務(wù)器。

為了解決上述問題,騰訊云提出了“兩端一云”的物聯(lián)網(wǎng)解決方案IoTSuite,幫助實(shí)現(xiàn)設(shè)備的快速物聯(lián)網(wǎng)化。同時(shí),平臺(tái)提供標(biāo)準(zhǔn)TLS1.2、雙向認(rèn)證保護(hù)設(shè)備與云端通道安全,對(duì)于計(jì)算能力偏弱的設(shè)備,采用動(dòng)態(tài)令牌,實(shí)現(xiàn)一機(jī)一鑰的能力,完成設(shè)備端-云-應(yīng)用端的雙向安全通信。

如上圖所示,騰訊云物聯(lián)網(wǎng)平臺(tái)整體包括三層架構(gòu),包括平臺(tái)核心處理層,設(shè)備連接層以及應(yīng)用連接層。平臺(tái)核心處理層提供統(tǒng)一的云端中控管理平臺(tái),提供包括數(shù)據(jù)模版,日志存儲(chǔ),影子服務(wù),規(guī)則引擎等功能。設(shè)備連接層和應(yīng)用連接層通過開放的APIs提供封裝的固件SDK和應(yīng)用SDK,向上集成不同行業(yè)應(yīng)用,向下連接各種傳感器、終端和中控網(wǎng)關(guān)設(shè)備,完成跨硬件設(shè)備接入。

整個(gè)平臺(tái)提供的開發(fā)支持,包括設(shè)備端的嵌入式固件SDK,云端開放式API接口,以及用戶應(yīng)用端的集成式SDK等。設(shè)備與云之間的通訊平臺(tái)封裝了標(biāo)準(zhǔn)的MQTT、CoAP、HTTP等不同的通訊協(xié)議,支持2G/4G/NB/lora/wifi等連接方式。同時(shí),應(yīng)用端提供MQTT、WebSocket、HTTP協(xié)議及中間件,方便企業(yè)應(yīng)用、手機(jī)應(yīng)用等不同應(yīng)用的接入。

設(shè)備端固件SDK

提供基于Linux、Android及主流Rtos的設(shè)備接入SDK,支持各種包括2/3/4G、WIFI、LORA、NB-IOT通訊模式的通訊模組,SOC開發(fā)板、SIP開發(fā)板,封裝了與云端鑒權(quán)、通信的全套接口,支持MQTT/CoAP/WebSocket等多種協(xié)議,可移植至不同硬件環(huán)境運(yùn)行。

應(yīng)用端SDK

封裝了APP應(yīng)用端與騰訊云物聯(lián)網(wǎng)開發(fā)中心的通訊過程,包括設(shè)備的配置入網(wǎng)、發(fā)現(xiàn)、連接、控制、狀態(tài)上報(bào)、告警和故障通知等。使用SDK,可以使得用戶快速完成APP開發(fā),從而降低對(duì)復(fù)雜的協(xié)議與錯(cuò)誤處理等事項(xiàng)。

開放式通訊云API

提供從設(shè)備接入,賬號(hào)管理,設(shè)備綁定,遠(yuǎn)程監(jiān)控&升級(jí)等設(shè)備高級(jí)數(shù)據(jù)服務(wù),并提供對(duì)應(yīng)的云端API調(diào)用接口給到用戶進(jìn)行訪問使用,同時(shí)打通騰訊云大數(shù)據(jù),AI等各種云產(chǎn)品的接口,滿足客戶根據(jù)自身業(yè)務(wù)對(duì)數(shù)據(jù)的使用。

整個(gè)框架從產(chǎn)品創(chuàng)建,設(shè)備功能設(shè)置,數(shù)據(jù)指令的上傳下發(fā),數(shù)據(jù)的存儲(chǔ)到發(fā)布環(huán)境的應(yīng)用,基本上實(shí)現(xiàn)了設(shè)備物聯(lián)網(wǎng)化所需要的所有組件??傮w而言,基于“兩端一云”的騰訊云IoTSuite物聯(lián)網(wǎng)云平臺(tái),能夠?qū)崿F(xiàn)包含設(shè)備接入、設(shè)備管理、數(shù)據(jù)分析處理、數(shù)據(jù)可視化、終端智能在內(nèi)的多項(xiàng)功能。

如何實(shí)現(xiàn)邊緣計(jì)算?

騰訊云IoT邊緣計(jì)算架構(gòu)

基于物聯(lián)網(wǎng)的邊緣計(jì)算實(shí)現(xiàn),主流的主要為兩條路徑,一是微服務(wù)的升級(jí)模式,簡(jiǎn)單理解就是允許用戶在邊緣平臺(tái)運(yùn)行應(yīng)用程序,且提供開放的編程環(huán)境,與近年來來軟件定義的路徑相似;二是邊緣向云的滲透,利用邊緣能力滲透進(jìn)云領(lǐng)域的核心產(chǎn)品及服務(wù),如數(shù)據(jù)庫、計(jì)算、存儲(chǔ)、安全的邊緣化。

騰訊云物聯(lián)網(wǎng)邊緣計(jì)算解決方案,主要為物聯(lián)邊緣設(shè)備提供一套本地服務(wù),解決物聯(lián)網(wǎng)應(yīng)用場(chǎng)景下的高可用、實(shí)時(shí)性、帶寬限制、私密性等問題。騰訊云IoT邊緣計(jì)算提供設(shè)備管理、消息收發(fā)、本地計(jì)算、緩存及同步能力,可以在邊緣設(shè)備完成本地化的物聯(lián)設(shè)備管理和通訊。

同時(shí)結(jié)合騰訊云SCF無服務(wù)函數(shù)agent,用戶只需在云端完成業(yè)務(wù)邏輯代碼編寫,運(yùn)行方式配置,消息規(guī)則配置,下發(fā)至在網(wǎng)設(shè)備。在設(shè)備上,系統(tǒng)將自動(dòng)完成代碼和配置同步,云函數(shù)運(yùn)行,并在設(shè)備上提供消息收發(fā)、緩存、與云端進(jìn)行消息同步等能力。當(dāng)數(shù)據(jù)產(chǎn)生時(shí),底層的物聯(lián)網(wǎng)設(shè)備將數(shù)據(jù)上報(bào)至智能網(wǎng)關(guān)設(shè)備,觸發(fā)云函數(shù)的運(yùn)行,將數(shù)據(jù)進(jìn)行離線處理,通過本地的IoT網(wǎng)關(guān),再將離線處理的數(shù)據(jù)下發(fā)至物聯(lián)網(wǎng)底層設(shè)備。整個(gè)數(shù)據(jù)最主要的計(jì)算處理部分運(yùn)行主要是在云函數(shù)中進(jìn)行。

未來,我們會(huì)將更多的智能化服務(wù)如圖像識(shí)別,包裝為SCF云函數(shù),逐步替換目前的SDK模式,通過調(diào)用云函數(shù)的方式就可以完成智能化應(yīng)用的開發(fā)。

執(zhí)行環(huán)境:無服務(wù)器云函數(shù)SCF

無服務(wù)器云函數(shù)(ServerlessCloudFunction)是騰訊云提供的無服務(wù)器(Serverless)執(zhí)行環(huán)境,通過托管用戶代碼,使用用戶配置的觸發(fā)器,根據(jù)觸發(fā)器的觸發(fā)事件,能夠自動(dòng)執(zhí)行用戶應(yīng)用。SCF云函數(shù)由事件觸發(fā)執(zhí)行,事件來源即觸發(fā)器,通常是由其他產(chǎn)品資源對(duì)象作為觸發(fā)器,例如COSBucket,CMQTopic隊(duì)列,定時(shí)器,IoT設(shè)備等。

云函數(shù)更多是對(duì)用戶的計(jì)算進(jìn)行托管,用戶將代碼和配置提交到云函數(shù)平臺(tái)上,此處的代碼是指用戶的一份代碼或者代碼包。配置,一個(gè)是指本身對(duì)于函數(shù)運(yùn)行環(huán)境的配置,包括使用的是哪種環(huán)境、所需的內(nèi)存、超時(shí)時(shí)間等;另一個(gè)是指觸發(fā)器的配置。

因?yàn)檎麄€(gè)函數(shù)即服務(wù)的運(yùn)行方式是觸發(fā)式運(yùn)行,觸發(fā)就需要有一個(gè)事件來源,而事件來源是和騰訊云其他產(chǎn)品進(jìn)行關(guān)聯(lián)后而產(chǎn)生。例如COS對(duì)象存儲(chǔ)產(chǎn)品,它的關(guān)聯(lián)就在COS的存儲(chǔ)桶中,當(dāng)用戶上傳一張圖片或者刪除一張圖片時(shí),就會(huì)產(chǎn)生一個(gè)事件,這個(gè)事件會(huì)觸發(fā)云函數(shù)的運(yùn)行。

例如和API網(wǎng)關(guān)的對(duì)接,也可以作為事件來源,在用戶的HTTP請(qǐng)求到達(dá)網(wǎng)關(guān)之后,API網(wǎng)關(guān)會(huì)把該請(qǐng)求作為事件轉(zhuǎn)發(fā)給云函數(shù),觸發(fā)云函數(shù)的運(yùn)行,云函數(shù)拿到請(qǐng)求之后進(jìn)行處理,生成響應(yīng)給到用戶。

上圖為云函數(shù)的計(jì)算過程,用戶先代碼和配置提交到云函數(shù)平臺(tái)進(jìn)行保存,真正事件產(chǎn)生后,針對(duì)每一個(gè)事件都會(huì)拉起一個(gè)函數(shù)實(shí)例,實(shí)現(xiàn)觸發(fā)式運(yùn)行。真正事件來臨時(shí),用戶函數(shù)才會(huì)運(yùn)行,用戶代碼運(yùn)行時(shí)才有云函數(shù)代碼的數(shù)據(jù)運(yùn)算和費(fèi)用計(jì)算。

因?yàn)楹瘮?shù)本身是托管型的,用戶本身無法感知到實(shí)例在哪里運(yùn)行。云函數(shù)平臺(tái)背后有個(gè)大的計(jì)算資源池,用戶實(shí)例觸發(fā)之后,從資源池中隨機(jī)選取可運(yùn)行的位置,把用戶的函數(shù)實(shí)例在對(duì)應(yīng)位置上運(yùn)營起來。因此整個(gè)調(diào)度過程,或者事件來臨之后的函數(shù)擴(kuò)縮容過程,都是由平臺(tái)進(jìn)行的。云函數(shù)帶來的價(jià)值主要包括四點(diǎn):

簡(jiǎn)化架構(gòu):函數(shù)粒度的微服務(wù)架構(gòu),使得系統(tǒng)的各個(gè)功能天然解耦,能像搭積木一樣組合自有及外部服務(wù),實(shí)現(xiàn)所看即所得的后臺(tái)服務(wù);

簡(jiǎn)化開發(fā):無需關(guān)注底層硬件配置、OS,服務(wù)啟停、網(wǎng)絡(luò)收發(fā),故障容災(zāi),服務(wù)擴(kuò)縮容等,只需寫最核心的業(yè)務(wù)邏輯,實(shí)現(xiàn)真正的代碼即服務(wù);

簡(jiǎn)化運(yùn)維:無須關(guān)注服務(wù)部署,服務(wù)器運(yùn)維,安全管控,擴(kuò)縮容配置等,且應(yīng)用能無縫升級(jí),實(shí)現(xiàn)無痛切換到DevOps模式。

減少支出:無閑置成本,僅對(duì)函數(shù)資源大小,執(zhí)行時(shí)間,執(zhí)行次數(shù)按需計(jì)費(fèi),相對(duì)云主機(jī)平均5%~15%的使用率,價(jià)格優(yōu)勢(shì)明顯,實(shí)現(xiàn)了最徹底的按需計(jì)費(fèi)。

物聯(lián)網(wǎng)主要是和設(shè)備打交道,云函數(shù)交由平臺(tái)托管的調(diào)度,可以把云函數(shù)調(diào)度到用戶設(shè)備上去。通過云函數(shù),用戶能夠在邊緣平臺(tái)運(yùn)行應(yīng)用程序,幫助實(shí)現(xiàn)設(shè)備上的邊緣計(jì)算。開發(fā)者只需通過編寫核心代碼并設(shè)置代碼運(yùn)行的條件,即可進(jìn)行實(shí)時(shí)文件處理和數(shù)據(jù)處理。

硬件設(shè)備如何接入?

接入IoTSuit

因?yàn)橹饕δ芗稍贗otSuite中,因此硬件設(shè)備的接入比較簡(jiǎn)單,只需獲取SDK、配置開發(fā)環(huán)境、將相關(guān)文件進(jìn)行移植即可。

SDK獲取

git clone https://github.com/tencentyun/tencent-cloud-iotsuite-embedded-c.git

開發(fā)環(huán)境

SDK在Linux環(huán)境下的測(cè)試和驗(yàn)證,主要基于Ubuntu16.04版本,gcc-5.4(建議至少gcc-4.7+),Python2.7.12+(代碼生成及控制臺(tái)命令行腳本)。安裝cmake工具h(yuǎn)ttp://www.cmake.org/download/

編譯及運(yùn)行

a.執(zhí)行命令,編譯示例程序

cd tencent-cloud-iotsuite-embedded-c

mkdir-pbuild

cd build

cmake../

make

b.編譯后,build目錄下的關(guān)鍵輸出及說明如下:

bin

|--demo_mqtt#MQTT連接云服務(wù)演示程序

|--demo_shadow#Shadow影子設(shè)備操作演示程序

|--iotsuite_app#通用數(shù)據(jù)模板演示程序

|--light#基于數(shù)據(jù)模板的RGB LED Light演示程序

lib

|--libtc_iot_suite.a#SDK的核心層,libtc_iot_hal、libtc_iot_common提供連接云服務(wù)的能力

|--libtc_iot_common.a#SDK基礎(chǔ)工具庫,負(fù)責(zé)http、json、base64等解析和編解碼功能

|--libtc_iot_hal.a#SDK的硬件及操作系統(tǒng)抽象,負(fù)責(zé)內(nèi)存、定時(shí)器、網(wǎng)絡(luò)交互等功能

c.執(zhí)行示例程序

cd bin

#運(yùn)行demo程序

./demo_mqtt

#or

./iotsuite_app

移植說明

SDK抽象定義了硬件及操作系統(tǒng)平臺(tái)抽象層(HAL層),將所依賴的內(nèi)存、定時(shí)器、網(wǎng)絡(luò)傳輸交互等功能,都封裝在HAL層(對(duì)應(yīng)庫libtc_iot_hal)中,進(jìn)行跨平臺(tái)移植時(shí),首先都需要根據(jù)對(duì)應(yīng)平臺(tái)的硬件及操作系統(tǒng)情況,對(duì)應(yīng)適配或?qū)崿F(xiàn)相關(guān)的功能。

平臺(tái)移植相關(guān)的頭文件及源文件代碼結(jié)構(gòu)如下:

include/platform/

|--linux#不同的平臺(tái)或系統(tǒng),單獨(dú)建立獨(dú)立的目錄

||--tc_iot_platform.h#引入對(duì)應(yīng)平臺(tái)相關(guān)的定義或系統(tǒng)頭文件

|--tc_iot_hal_network.h#網(wǎng)絡(luò)相關(guān)定義

|--tc_iot_hal_os.h#操作系統(tǒng)內(nèi)存、時(shí)間戳等相關(guān)定義

|--tc_iot_hal_timer.h#定時(shí)器相關(guān)定義

src/platform/

|--CMakeLists.txt

|--linux

|--CMakeLists.txt

|--tc_iot_hal_net.c#TCP非加密直連方式網(wǎng)絡(luò)接口實(shí)現(xiàn)

|--tc_iot_hal_os.c#內(nèi)存及時(shí)間戳實(shí)現(xiàn)

|--tc_iot_hal_timer.c#定時(shí)器相關(guān)實(shí)現(xiàn)

|--tc_iot_hal_tls.c#TLS加密網(wǎng)絡(luò)接口實(shí)現(xiàn)

C-SDK中提供的HAL層是基于Linux等POSIX體系系統(tǒng)的參考實(shí)現(xiàn),但并不強(qiáng)耦合要求實(shí)現(xiàn)按照POSIX接口方式,移植時(shí)可根據(jù)目標(biāo)系統(tǒng)的情況,靈活調(diào)整。所有HAL層函數(shù)都在include/platform/tc_iot_hal*.h中進(jìn)行聲明,函數(shù)都以tc_iot_hal為前綴。

使用IoTSuit和SCF完成邊緣計(jì)算

以搭建一個(gè)電子圍欄應(yīng)用為例,用戶只需配置簡(jiǎn)單五步即可快速開發(fā):

在云端創(chuàng)建設(shè)備,云端將為設(shè)備分配設(shè)備標(biāo)識(shí),分配通訊通道,分配配置認(rèn)證信息;

編寫電子圍欄消息處理函數(shù),配置消息轉(zhuǎn)發(fā)規(guī)則;

綁定設(shè)備與函數(shù),綁定設(shè)備與規(guī)則;

在設(shè)備中安裝邊緣計(jì)算agent,配置設(shè)備標(biāo)識(shí),認(rèn)證信息,配置通訊通道信息;

啟動(dòng)agent,云端將電子圍欄函數(shù)下發(fā)至本地,驗(yàn)證函數(shù)與規(guī)則在邊緣端生效。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:SC-VP系列電液伺服閥液壓系統(tǒng)...

下一篇:運(yùn)動(dòng)控制執(zhí)行器的幾種主要類型

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)