物聯網框架ServerSuperIO.Core(.netcore)跨平臺,一套設備驅動通吃嵌入式、上位機、雲服務

1.      概述... 2html

2.      ServerSuperIO.Core跨平臺開發環境... 2linux

3.      ServerSuperIO.Core特色... 2git

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

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)網絡通信時能夠設置多個控制器,負載平衡對設備運行調度。

(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)    下載測試程序

           到https://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地址:https://github.com/wxzz/ServerSuperIO

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

 物聯網&集成技術 QQ羣:54256083 

物聯網&集成項目合做QQ羣:727664080

相關文章
相關標籤/搜索