物聯網架構ServerSuperIO.Core(.netcore)跨平台,一套裝置驅動通吃嵌入式、上位機、雲端服務

來源:互聯網
上載者:User

1.      概述... 2

2.      ServerSuperIO.Core跨平台開發環境... 2

3.      ServerSuperIO.Core特點... 2

4.      ServerSuperIO.Core與ServerSuperIO區別... 2

5.      嵌入式應用... 2

6.      上位機應用... 2

7.      雲端服務應用... 2

8.      應用和測試說明,以Linux平台為例... 2

  概述

       我們的大資料平台(雲)平台的資料接收服務基於ServerSuperIO開發,因為整合的功能比較多,無法實現跨平台,現在跑在Windows下。但是雲端體系化、標準化建設,跨平台是必走的技術路線。在ServerSuperIO基礎上做裁剪和適配,實現ServerSuperIO.Core跨平台應用。

      ServerSuperIO.Core跨平台的意義在於一套裝置驅動可以部署在任何地方,核心裝置驅動介面始終保持一致,例如:嵌入式、上位機(PC)、雲端等,從底層到雲端的整體鏈路實現了任意部署,大大提高了效率和節省了成本。

ServerSuperIO.Core跨平台開發環境

       ServerSuperIO.Core現在是基於.netcore 2.0開發,對串口(com)操作和網路(net)操作進行了跨平台的適配。原始版本使用的是vs2017環境進行開發,跨平台開發調試使用的是vscode工具。全宇宙第一IDE+跨平台開發工具,還是比較方便。ServerSuperIO在沒有整合OPC的時候,也可以基於mono實現跨平台,但是感覺mono還是比較重,如果是基於服務或事務性的應用基於.netcore更好。類地圖如下:

 ServerSuperIO.Core特點

(1)輕型高效能物聯網通訊架構,結合應用業務,適用於多種應用情境,輪詢模式、自控模式、併發模式和單例模式。

(2)裝置驅動、IO通道、控制模式情境協調統一。

(3)裝置驅動內軒命令磁碟機、命令緩衝器、自訂參數和即時資料元素。

(4)架構平台支援按裝置命令優先順序別進行調度,保證進階別命令及時發送。

(5)一個裝置驅動同時支援串口和網路兩種通訊方式,可以監視IO通道資料。

(6)一個裝置驅動,在網路通訊時可以支援TCP Server和TCP Client兩種工作模式。

(7)網路通訊時可以設定多個控制器,Server Load Balancer對裝置運行調度。

(8)支援WebSocket網路通訊協議。

(9)內建服務元件介面,可以自訂完成OPC服務、4-20mA輸出、LED大屏顯示、簡訊服務、以及多功能網關服務。

(10)可以建立多服務執行個體,完成不同業務的拆分。

(11)支援跨平台部署,可以運行在Linux和Windows系統。

(12)支援裝置驅動之間的資料連線器互動。

(13)支援裝置驅動與服務驅動之間的資料連線互動。

ServerSuperIO.Core與ServerSuperIO區別

 嵌入式應用

      使用ServerSuperIO.Core可以運行在Ubuntu Mate、raspbian等嵌入式操作上,如果在純linux核心上裁剪的系統上運行,沒有實際應用這,有興趣的網友可以測試一下。

 上位機應用

     ServerSuperIO本身是基於SuperIO發展面來的,SuperIO一開始主要應用在上位機的開發,但是隨著雲、大資料、工業互連網的發展,適應高並發、標準化、體系化應用的新趨勢,重構開發了ServerSuperIO架構。現在不現維護SuperIO架構,但是可以基於ServerSuperIO或ServerSuperIO.Core開發上位機程式,如:

  雲端服務應用

      現在我們的大資料平台的資料互動服務是基於ServerSuperIO開發,但是考慮到跨平台和容器化,建議使用ServerSuperIO.Core進行開發。當然也可以把嵌入式、上位機的驅動進行雲化,部署在雲端,不需要特別修改代碼。現在我們平台即時啟動並執行服務:

應用和測試說明,以Linux平台為例

(1)    環境準備

           在Ubuntu 16.04作業系統上安裝.netcore 2.0以上版本,以及vscode開發工具。到官網下載,過程不再贅述。

(2)    下載測試程式

           到github.com/wxzz/ServerSuperIO.Core下載測試程式,下載解壓後直接複製到Ubuntu操作上。

(3)    使用vscode開啟程式目錄

          因為已經使用vscode調試過,可以直接啟動調試,運行TestSelfMain工程項目。預設偵聽連接埠為:6670。

(4)    使用TestDevice.exe類比裝置

(5)    實際運行效果

1.[連載]《C#通訊(串口和網路)架構的設計與實現》

 2.[開源]C#跨平台物聯網通訊架構ServerSuperIO(SSIO)介紹

 2.應用SuperIO(SIO)和開源跨平台物聯網架構ServerSuperIO(SSIO)構建系統的整體方案

 3.C#工業物聯網和整合系統解決方案的技術路線(資料來源、資料擷取、資料上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)

 5.github地址:github.com/wxzz/ServerSuperIO

 6.助力中小企業級連雲端,促進工業互連網平台蓬勃發展,全套解決方案。

 物聯網&整合技術 QQ群:54256083 

物聯網&整合項目合作QQ群:727664080

 

相關關鍵詞:
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.