1. 程式人生 > >開源物聯網框架ServerSuperIO 3.0正式釋出(C#),跨平臺:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套裝置驅動跨平臺掛載,附:開發套件和教程。

開源物聯網框架ServerSuperIO 3.0正式釋出(C#),跨平臺:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套裝置驅動跨平臺掛載,附:開發套件和教程。

3.0版本主要更新內容:

1.增加跨平臺能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate

2.統一裝置驅動介面:可以一套裝置驅動,跨平臺掛載執行,降低人力成本,提高開發效率。

3.增加二次開發套件:支援控制檯和UI介面兩種方式。

4.增加配置工具:引數配置、裝置驅動掛載、檢視掛載、服務例項的掛載。

5.修復BUG,優化程式碼。

SSIO的特點

1.輕型高效能通訊框架,適用於多種應用場,輪詢模式、自控模式、併發模式和單例模式。
2.不光是通訊框架,是裝置驅動、IO通道、控制模式場景的協調機制。
3.支援協議驅動器,可以按規範寫標準協議和自定義協議。
4.支援傳送資料快取器,支援命令快取重發和按優先級別傳送。
5.支援協議過濾器,按規則篩選資料,並且可以承繼介面,自定義過濾方式。
6.支援接收資料快取器,可以快取不符合過濾器的資料,和下次接收資料進行拼接。
7.支援按裝置命令優先級別進行排程裝置,保證有高級別命令的驅動及時傳送。
8.支援一個裝置驅動,同時支援串列埠和網路兩種通訊方式,可以監視IO通道資料。
9.支援一個裝置驅動,在網路通訊時可以支援TCP Server和TCP Client兩種工作模式。
10.支援多裝置共享同一IO通道進行通訊。
11.支援定時清理超時的網路IO通道。
12.支援顯示檢視介面,滿足不同顯示需求。
13.支援服務元件介面,可以自定義完成OPC服務、4-20mA輸出、LED大屏顯示、簡訊服務、以及多功能閘道器服務。
14.支援建立多服務例項,完成不同業務的拆分。
15.支援跨平臺部署,可以執行在Linux和Windows系統。
16.裝置驅動與裝置驅動,裝置驅動與伺服器(雲端)可以實時雙向互動,上傳資料和指令下發。

SSIO概述

     SSIO通訊框架的設計思想是在SuperIO(SIO)基礎上發展而來,並沒有高大上的技術,主要是工作經驗的積累,適合於不同應用場景的物聯網的資料採集與互動。SSIO和SIO並不是簡單的對IO高效能的操作,而是裝置驅動、IO通道、控制模式和實際硬體裝置之間的協調機制,各方面之間無縫銜接和執行,也是為了解決現實工作和應用場景的一些痛點。軟硬體之間的資料互動,並且面臨著複雜的現場環境:
(1)複雜的、多樣的通訊協議。有標準的協議,例如:Modbus等,也有很多根據標準協議修改的協議格式、以及自定義協議格式,並且千差萬別。對於不好的軟體架構,疲於應對,增加裝置或協議要對整個軟體進行梳理,往往在此過程中出現新的問題或BUG。
(2)針對不同使用者對軟體介面或功能的要求有很大不同,使之滿足不同使用者的顯示要求,可以自定義資料顯示介面。那麼就需要提供顯示檢視介面,與裝置驅動進行互動。
(3)既然現場裝置的資料被採集上來,那麼就需要對其進行處理,不僅僅是儲存、查詢、報表等,還有:資料轉發、資料輸出(OPC、模擬量、大屏等)等。那麼就需要提供服務性的介面,與裝置驅動進行互動。
(4)通訊鏈路的多種性,對於同一個裝置可能要支援RS232/RS485/RS422、RJ45、3G/4G等通訊方式,所以對於一個裝置要對應多種通訊方式(串列埠和網路),也給我們的開發造成很大的障礙。
(5)裝置驅動、IO通道和實際的現場硬體終端之間鏈路複雜,有可能:一個裝置驅動對應一個IO通道、一個裝置驅動對應多個IO通道、多個裝置驅動對應一個IO通道等情況。
(6)既然裝置與服務端進行資料互動,那麼就應該對裝置的通訊狀態、IO狀態、以及裝置本身的狀態進行監控,這樣裝置才處於可維護狀態。
(7)軟體各版本、以及軟體與硬體之間的相容性很差,管理起來錯綜複雜。在框架平臺穩定的情況下,只需要更新裝置驅動。
為了解決以上諸多問題,開發一個軟體框架,支援二次開發。在不對軟體框架改動的情況下,能夠很方便的接入裝置、維護裝置、整合裝置、處理裝置業務資料等。軟體框架相對穩定,把容易變化的部分進行靈活設計。

連載教程:

物聯網&整合技術(.NET) QQ群54256083