更新具體細節參見:[更新設計]跨平臺物聯網通訊框架ServerSuperIO 2.0 ,功能、BUG、細節說明,以及升級思考過程! 聲明:公司在建設工業大數據平臺,SSIO正好能派上用場,所以抓緊時間進行了完善,並且升級到了2.0版本,希望對大家有幫助。僅供開源學習,商用請聯繫作者。 1.SSIO特 ...
更新具體細節參見:[更新設計]跨平臺物聯網通訊框架ServerSuperIO 2.0 ,功能、BUG、細節說明,以及升級思考過程!
聲明:公司在建設工業大數據平臺,SSIO正好能派上用場,所以抓緊時間進行了完善,並且升級到了2.0版本,希望對大家有幫助。僅供開源學習,商用請聯繫作者。
1.SSIO特點
- 輕型高性能通信框架,適用於多種應用場,輪詢模式、自控模式、併發模式和單例模式。
- 不光是通訊框架,是設備驅動、IO通道、控制模式場景的協調機制。
- 支持協議驅動器,可以按規範寫標準協議和自定義協議。
- 支持發送數據緩存器,支持命令緩存重發和按優先順序別發送。
- 支持協議過濾器,按規則篩選數據,並且可以承繼介面,自定義過濾方式。
- 支持接收數據緩存器,可以緩存不符合過濾器的數據,和下次接收數據進行拼接。
- 支持按設備命令優先順序別進行調度設備,保證有高級別命令的驅動及時發送。
- 支持一個設備驅動,同時支持串口和網路兩種通訊方式,可以監視IO通道數據。
- 支持一個設備驅動,在網路通訊時可以支持TCP Server和TCP Client兩種工作模式。
- 支持多設備共用同一IO通道進行通訊。
- 支持定時清理超時的網路IO通道。
- 支持顯示視圖介面,滿足不同顯示需求。
- 支持服務組件介面,可以自定義完成OPC服務、4-20mA輸出、LED大屏顯示、簡訊服務、以及多功能網關服務。
- 支持創建多服務實例,完成不同業務的拆分。
- 支持跨平臺部署,可以運行在Linux和Windows系統。
2. 測試過程的協議
協議頭(2個位元組),客戶端編號(ASCII,4個數字字元),文件名稱,文件內容,協議尾(2個位元組)
事例:0x35,0x35,0001,yyMMddHHmmss.txt,文件內容,0x33,0x33
3. 測試結果
從2016-8-16 14:00左右開始測試,到2016-8-17 13:00左右截圖。每間隔5s發送一個65kb的文件,SSIO負責接收,並且存儲數據。如下圖:
紅圈標註的內容,為什麼會出現錯誤數據呢?這是因為協議中以0x35、0x35開頭,以0x33、0x33結尾,但是協議數據中包括文件名稱,是以時間為命名規則:yyMMddHHmmss.txt,所以文件名稱在協議中的數據有可能包括0x35或0x33的數據,所以會出現截取數據錯位的情況,這是正常現象。但是在設計通訊協議的過程需要特別註意。
4.開源分支
SSIO 2.0版本是在SSIO1.3版本基礎上修改的,修改的內容比較多,所以新建了一個分支,在github上下載時需要註意,如下圖:
2.[開源]C#跨平臺物聯網通訊框架ServerSuperIO(SSIO)介紹
2.應用SuperIO(SIO)和開源跨平臺物聯網框架ServerSuperIO(SSIO)構建系統的整體方案
3.C#工業物聯網和集成系統解決方案的技術路線(數據源、數據採集、數據上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)
5.ServerSuperIO開源地址:https://github.com/wxzz/ServerSuperIO
物聯網&集成技術(.NET) QQ群:54256083