1.C#跨平臺物聯網通信框架ServerSuperIO(SSIO)介紹html
《連載 | 物聯網框架ServerSuperIO教程》1.4種通信模式機制。git
《連載 | 物聯網框架ServerSuperIO教程》2.服務實例的配置參數說明github
《連載 | 物聯網框架ServerSuperIO教程》- 3.設備驅動介紹windows
《連載 | 物聯網框架ServerSuperIO教程》-4.如開發一套設備驅動,同時支持串口和網絡通信。緩存
《連載 | 物聯網框架ServerSuperIO教程》- 5.輪詢通信模式開發及注意事項。網絡
《連載 | 物聯網框架ServerSuperIO教程》- 6.併發通信模式開發及注意事項併發
《連載 | 物聯網框架ServerSuperIO教程》- 7.自控通信模式開發及注意事項框架
《連載 | 物聯網框架ServerSuperIO教程》- 8.單例通信模式開發及注意事項ide
《連載 | 物聯網框架ServerSuperIO教程》- 9. 協議過濾器,解決一包多發、粘包、冗餘數據函數
《連載 | 物聯網框架ServerSuperIO教程》- 10.持續傳輸大塊數據流的兩種方式(如:文件)
《連載 | 物聯網框架ServerSuperIO教程》- 11.實現設備(驅動)與設備(驅動)交互和級聯控制。
《連載 | 物聯網框架ServerSuperIO教程》- 12.服務接口的開發,以及與雲端雙向交互
目 錄
13.自定義視圖顯示接口開發,知足不一樣的顯示需求... 2
13.1 概述... 2
13.2 視圖顯示接口... 2
13.3 設備驅動開發及注意事項... 4
13.4 運行效果... 5
若是ServerSuperIO部署在服務端,那麼徹底沒有必要在SSIO視圖接口上進行視圖顯示開發,能夠用WEB端來作。若是ServerSuperIO部署在PC機端或者嵌入式主機,而且帶現場顯示屏幕,那麼就須要有實時顯示的界面,以及知足現場用戶的不一樣需求。針對這種狀況,ServerSuperIO內部提供了視圖顯示接口,設備驅動提取完成數據後,能夠把數據實時傳輸給視圖接口,能夠當即顯示,也能夠先緩存數據,定時進行顯示; 能夠幾個設備驅動的數據顯示在一個視圖,也能夠所有設備驅動的數據顯示在一個視圖。示意以下圖:
視圖抽象類GraphicsShow繼承自IGraphicsShow接口,進行二次開發能夠繼承GraphicsShow抽象類。在ServerSuperIO上開發好視圖接口後,徹底能夠在二次開發套件下掛載和運行(二次開發套件下載)。在進行二次開時,有幾點特別須要注意:
GraphicsShow接口代碼定義以下:
public interface IGraphicsShow : IPlugin { /// <summary> /// 視圖Key,要求惟一 /// </summary> string ShowKey { get;} /// <summary> /// 視圖名稱 /// </summary> string ShowName { get; } /// <summary> /// 顯示窗體 /// </summary> /// <param name="windows"></param> void ShowGraphics(IWin32Window windows); /// <summary> /// /// </summary> void CloseGraphics(); /// <summary> /// 更新設備 /// </summary> /// <param name="devCode">設備code</param> /// <param name="obj">設備對象</param> void UpdateDevice(string devCode, object obj); /// <summary> /// 移除設備 /// </summary> /// <param name="devCode">設備code</param> void RemoveDevice(string devCode); /// <summary> /// 關閉窗體事件時發生 /// </summary> event GraphicsShowClosedHandler GraphicsShowClosed; /// <summary> /// 單擊右鍵,調用上下文菜單 /// </summary> event MouseRightContextMenuHandler MouseRightContextMenu; /// <summary> /// 是否被釋放 /// </summary> bool IsDisposed { get; } }
List<string> list = new List<string>(); list.Add(_devicePara.DeviceCode); list.Add(_devicePara.DeviceName); list.Add(_deviceDyn.Dyn.Flow.ToString()); list.Add(_deviceDyn.Dyn.Signal.ToString()); OnDeviceObjectChanged(list.ToArray());
2.顯示上下文菜單,視圖接口的MouseRightContextMenu會調用設備驅動的ShowContextMenu接口函數。代碼以下:
public override void ShowContextMenu() { this._contextMenuComponent.ContextMenuStrip.Show(Cursor.Position); }
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