物聯網框架ServerSuperIO在.NetCore實現跨平臺的實踐路線

        正所謂天下大勢,不跟風不行。你不跨平臺,很low嘛。java說:大家能跨嘛,跨給我看看。C#說:不要強人所難嘛。java說:能部署在雲上嗎?docker?微服務?C#說:不要強人所難嘛。java說:你能幹啥?C#說:能幹啥有必要和你說嘛,我只本身玩。Php說:就服你兩裝B的樣子。哈哈! 噢java更名了,叫Jakarta。html


1.跨平臺實踐環境java

     操做系統:Ubuntu 16.04linux

     開發工具:Vscode 1.21git

     中間件:.Net Core 2.0github

2..NetCore安裝docker

     參見:https://www.microsoft.com/net/learn/get-started/linux/ubuntu16-04ubuntu

3. Vscode安裝網絡

    下載:https://code.visualstudio.com/ ,我是直接下載的.tar.gz壓縮包。框架

4.串口通信的問題curl

     原來使用的是自帶的SerialPort類,在.netcore2.0裏並無,可是在官方的docs裏是有介紹的,以下圖:

 

      我感受這東西應該很好集成到.netcore裏,不改動的狀況下在mono跨平臺下運行沒有任何問題,如今都是MS一家的了,更不是問題了。

      ServerSuperIO在串口方面跨平臺臨時使用的是開源的SerialPortStream,若是.netcore2.1版本集成了SerialPort,再使用該類。使用SerialPortStream,須要注意的是須要編譯和安裝libnserial.so類庫,以下圖:

5.網絡通信的問題

     網絡通信使用的是SocketAsyncEventArgs類庫,並無出現什麼太多問題,在設置參數的時候須要注意以下:

 

6.關於.NetCore版本的問題

     我電腦上安裝的是.NetCore 2.1.4版本,只能使用2.0版本,不知道爲何,在Linux平臺,以下圖:

 

     在Windows平臺,以下圖:

 

7.最後實現結果

     Ubuntu的虛擬串口尚未測試,回家(正在出差中)拿樹苺派測試。網絡通信效果以下圖:


 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.助力中小企業級連雲端,促進工業互聯網平臺蓬勃發展,全套解決方案。

物聯網&集成技術(.NET) QQ羣:54256083 

相關文章
相關標籤/搜索