物联网框架ServerSuperIO在.NetCore实现跨平台的实践路线
? ? ?正所謂天下大勢,不跟風(fēng)不行。你不跨平臺,很low嘛。java說:你們能跨嘛,跨給我看看。C#說:不要強人所難嘛。java說:能部署在云上嗎?docker?微服務(wù)?C#說:不要強人所難嘛。java說:你能干啥?C#說:能干啥有必要和你說嘛,我只自己玩。Php說:就服你兩裝B的樣子。哈哈! 噢java改名了,叫Jakarta。
1.跨平臺實踐環(huán)境
???? 操作系統(tǒng):Ubuntu 16.04
???? 開發(fā)工具:Vscode 1.21
???? 中間件:.Net Core 2.0
2..NetCore安裝
???? 參見:https://www.microsoft.com/net/learn/get-started/linux/ubuntu16-04
3. Vscode安裝
??? 下載:https://code.visualstudio.com/?,我是直接下載的.tar.gz壓縮包。
4.串口通訊的問題
???? 原來使用的是自帶的SerialPort類,在.netcore2.0里并沒有,但是在官方的docs里是有介紹的,如下圖:
?
????? 我感覺這東西應(yīng)該很好集成到.netcore里,不改動的情況下在mono跨平臺下運行沒有任何問題,現(xiàn)在都是MS一家的了,更不是問題了。
????? ServerSuperIO在串口方面跨平臺臨時使用的是開源的SerialPortStream,如果.netcore2.1版本集成了SerialPort,再使用該類。使用SerialPortStream,需要注意的是需要編譯和安裝libnserial.so類庫,如下圖:
5.網(wǎng)絡(luò)通訊的問題
???? 網(wǎng)絡(luò)通訊使用的是SocketAsyncEventArgs類庫,并沒有出現(xiàn)什么太多問題,在設(shè)置參數(shù)的時候需要注意如下:
?
6.關(guān)于.NetCore版本的問題
?????我電腦上安裝的是.NetCore 2.1.4版本,只能使用2.0版本,不知道為什么,在Linux平臺,如下圖:
?
???? 在Windows平臺,如下圖:
?
7.最后實現(xiàn)結(jié)果
???? Ubuntu的虛擬串口還沒有測試,回家(正在出差中)拿樹苺派測試。網(wǎng)絡(luò)通訊效果如下圖:
?1.[連載]《C#通訊(串口和網(wǎng)絡(luò))框架的設(shè)計與實現(xiàn)》
2.[開源]C#跨平臺物聯(lián)網(wǎng)通訊框架ServerSuperIO(SSIO)介紹
2.應(yīng)用SuperIO(SIO)和開源跨平臺物聯(lián)網(wǎng)框架ServerSuperIO(SSIO)構(gòu)建系統(tǒng)的整體方案
3.C#工業(yè)物聯(lián)網(wǎng)和集成系統(tǒng)解決方案的技術(shù)路線(數(shù)據(jù)源、數(shù)據(jù)采集、數(shù)據(jù)上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)
5.github地址:https://github.com/wxzz/ServerSuperIO
6.助力中小企業(yè)級連云端,促進工業(yè)互聯(lián)網(wǎng)平臺蓬勃發(fā)展,全套解決方案。
原文:https://www.cnblogs.com/lsjwq/p/8531046.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的物联网框架ServerSuperIO在.NetCore实现跨平台的实践路线的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EF Core下利用Mysql进行数据存
- 下一篇: 拥抱.NET Core系列:Memory