.NET Core 跨平台物联网框架 ServerSuperIO.Core,一套设备驱动通吃嵌入式、上位机、云服务...
一、概述
我們的大數據平臺(云)平臺的數據接收服務基于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框架?,F在不現維護SuperIO框架,但是可以基于ServerSuperIO或ServerSuperIO.Core開發上位機程序,如下圖:
七、云服務應用
現在我們的大數據平臺的數據交互服務是基于ServerSuperIO開發,但是考慮到跨平臺和容器化,建議使用ServerSuperIO.Core進行開發。
當然也可以把嵌入式、上位機的驅動進行云化,部署在云端,不需要特別修改代碼?,F在我們平臺實時運行的服務:
八、應用和測試說明,以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、實際運行效果
Github地址:https://github.com/wxzz/ServerSuperIO
相關文章:
物聯網框架ServerSuperIO在.NetCore實現跨平臺的實踐路線
ServerSuperIO Designer IDE 發布,打造物聯網通訊大腦,隨心而聯。附:C#驅動源代碼。
C#跨平臺物聯網通訊框架ServerSuperIO(SSIO)
原文鏈接:https://www.cnblogs.com/lsjwq/p/9560736.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的.NET Core 跨平台物联网框架 ServerSuperIO.Core,一套设备驱动通吃嵌入式、上位机、云服务...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 当我们谈高性能时,我们谈些什么?(送书活
- 下一篇: asp.net core添加全局异常处理