C#工業物聯網和整合系統解決方案的技術路線(資料來源、資料擷取、資料上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)

來源:互聯網
上載者:User

標籤:

目       錄

工業物聯網和整合系統解決方案的技術路線... 1

前言... 1

第一章           系統架構... 3

1.1           硬體構架圖... 3

1.2           組件構架圖... 4

第二章           技術選型與介紹... 5

2.1           開發環境... 5

2.2           資料來源... 5

2.3           資料擷取... 5

2.4           資料上傳服務... 6

2.5           訊息中介軟體... 6

2.6           資料接收服務... 6

2.7           資料存放區... 6

2.8           資料介面... 7

2.9           Web業務系統... 7

2.10        手機移動終端App. 7

第三章           Demo的介紹... 8

3.1           目錄介紹... 8

3.2           Demo調試... 8

 

前言

    2000年以後,互連網在中國的大地上如火如荼的發展,在這個行業競爭中比的是加速度。我清晰的記得《世界是平的》中有這樣一段話:在非洲,羚羊每天早上醒來時,它知道自己必須跑得比最快的獅子還快,否則就會被吃掉;獅子每天早上醒來時,它知道自己必須追上跑得最慢的羚羊,否則就會被餓死;不管你是獅子還是羚羊,當太陽升起時,你最好開始奔跑!我們奔跑的這10多年的時間裡,互連網技術帶動了各行各來的發展,同時也席捲了各行各來。

    2006年時,工業行業還在普遍使用電話線進行資料轉送和遠程協助。網路技術慢慢的在向各行各業傳導,工業行業也在發展,區域網路、光纖乙太網路、WIFI\3G\4G等已經應用很廣泛了。互連網技術在推動製造業發展的同時,也帶動了眾多公司的與時俱進,升級技術、提供更好的服務。

    我們在思考,後互連網時代將如何發展?將是互連網與各行各業深度融合的過程,例如現在常被提及的物聯網,我認為它本質上是工業互連網,是製造技術與互連網技術無縫對接。不管是叫物聯網還是工業互連網,未來物與物的互動、物與人的互動將無法避免。硬體與軟體的協同發展,更快的推動了這個進程,例如:智能晶片的發展、嵌入式作業系統的發展、智能感應器的發展等。

    大資料、分布式、雲端運算等也在以驚人的速度發展,有些人可能認為這些東西離我們生活還比較遙遠。但是並非是這樣的,距離2006年只不過10年左右,現在的發展卻是以前你無法想象的,而這種加速度的發展方式,2年的發展可能是你過去10年的發展之和。不管這些技術現在是否能夠落地,但是這種趨勢是無法改變的。

    資料的流動可以變現,現金的流動可以增加GDP。技術的進步就是生產力的提升,將來組織圖和關係也勢必發生變化。不管是否懂技術技術、是否懂管理,思維方式不轉變肯定會被淘汰。

    下面對物聯網和整合系統的解決方案的技術路線進行介紹,只對技術選型和系統流程,對於架構的演變以及技術哪個更好不做具體說明。只供參考!!!

第一章     系統架構

     架構圖這塊主要表達一個大概的結構化的意思,可以不太準確,希望大家能夠理解。作為一個系統來講還包括網路部署架構圖,根據應用情境和網路環境不一樣網路架構圖也不一樣,所以不在本文的討論範圍內。

1.1    硬體構架圖

 

1.2    組件構架圖

 

 

第二章     技術選型與介紹

文章不介紹代碼部分,在Demo案例中有完整的代碼和注釋,可以下載調試。

2.1    開發環境

開發語言:全部使用C#,配有少量的JS代碼。

開發工具:除App部分,所有組件都採用VS2012開發,App程式採用VS2015開發,VS2015是一個超級開發工具工廠,在Win10作業系統上開發IoT嵌入式程式,也沒有問題。

作業系統:Windows 8.1,用習慣了也不錯,聽說要停止服務了,不過還有人在使用XP呢,不必擔心。

2.2    資料來源

    資料來源也就是產生資料的東西,也有人把這塊統稱為感應器,但是我認為這個叫法不太準確,所以我一般把這塊統稱為資料來源。

    資料來源包括的內容很多,例如:各類感應器、大中小型裝置、硬體電路、軟體組件等。各類資料來源的通訊協議不同、通訊鏈路不同、通訊機制不同,在沒有統一標準的情況下,這部分的工作比重要。因為有了資料之後,你的業務系統才有應用的價值。

    資料來源我是寫了一個模組的小程式,包括串口通訊和網口通訊。至於通訊協議,請參見《C#通訊(串口和網路)架構的設計與實現(SuperIO)- 12.二次開發及應用》。

2.3    資料擷取

     資料擷取部分使用的是SuperIO架構,因為它支援串口和網口統一的外掛程式式裝置驅動開發,也就是說開發一個驅動可以支援串口和網口通訊。另外,可擴充性比較強,可以大大減小工作量。

     開發了一個驅動程式,在SuperIO平台下增加兩個驅動執行個體,負責與資料來源程式進行串口和網路通訊。

2.4    資料上傳服務

     資料上傳服務是在SuperIO平台下開發的,可以繼承IAppService介面開發外掛程式服務,並且掛載到SuperIO平台下運行,裝置驅動採集完資料後,可以通過介面傳遞到服務外掛程式內,通過記憶體互動資料。如果涉及到資料完全性的資料互動,可以通過介質進行資料互動,例如:資料庫、文字檔等。

    資料上傳服務直接與訊息中介軟體(ActiveMQ)進行互動,再由AcitveMQ進行訊息轉寄。資料上傳服務實際上是訊息生產者的角色。

2.5    訊息中介軟體

     訊息中介軟體採用ActiveMQ,需要部署Java運行環境。可用的訊息中介軟體比較多,例如:RabbitMQ、ZeroMQ等。

     根據應用情境不同,可以選擇的技術方案和技術路線也不一樣。訊息中介軟體這塊也完全可以使用通訊群組件來代替,例如:Netty和SuperSocket。

2.6    資料接收服務

     資料接收服務是在SuperIO平台下開發的,可以繼承IAppService介面開發外掛程式服務,並且掛載到SuperIO平台下運行。

     資料接收服務直接與ActiveMQ進行互動,接收ActiveMQ轉寄過來的訊息,實際上是訊息消費者的角色。

2.7    資料存放區

    資料存放區採用的是MongoDB,不太喜歡大而臃腫的東西,而且不需要ORM了,部署簡單,可以使用MongoVUE工具對資料庫進行管理。如果是大拿,可以直接cmd。

2.8    資料介面

    資料介面採用Web Api,符合RESTful風格的http協議,操作調用簡單、方便。拋棄了WebService的Soap協議,更沒有選擇WCF架構。

    這塊並沒有實現許可權、安全管理。

2.9    Web業務系統

    業務系統採用MVC架構,但是前端並沒有與背景控制器進行互動,而是與資料介面的WebAPI進行互動。前後端完全分離。

2.10     手機移動終端App

     手機移動端使用VS2015開發,使用Xamarin架構進行開發,這個架構支援跨平台。Xamarin是個很不錯的東西,唯一的缺點就是需要付費,對於中國IT人員來講,這一點應該不是障礙。

第三章     Demo的介紹3.1    目錄介紹

項目目錄介紹如下:

ClientService:上傳資料與互動組件。

DeviceDemo:裝置驅動,負責採集資料。

DeviceExport:資料輸出組件,在Demo沒有使用。

DeviceShowUI:資料顯示視圖組件,負責顯示採集過來的資料資訊。

FormTest:測試各部分的主工程。

ProtocolPackage:公用協議包。

ServerService:資料接收資料與互動組件。

SuperIO_App:移動APP端,需要VS2015開啟。

SuperOPCClient:OPC用戶端組件。

SuperOPCServer:OPC服務端組件。

TestDevice:類比用戶端測試程式。

WebAPI:WebAPI和Web業務端資料顯示。

3.2    Demo調試

 :http://pan.baidu.com/s/1pJ7lZWf

(1)    下載DEMO和工具

    下載SuperIO v2.2.7\SuperIO_Demo v2.rar;下載mongodb資料庫;下載ActiveMQ訊息中介軟體。

(2)    啟動服務和程式

     啟動mongodb,mongodb-win32-x86_64-2008plus-3.0.3-1\start.bat,預設監聽連接埠為:2222。

     啟動ActiveMQ服務,apache-activemq-5.12.0\bin\win64\activemq.bat,需要JAVA運行環境。

     啟動SuperIO_Demo.sln解決方案,需要VS2012開發IDE,也可以轉成VS2015工程,重新編譯。

     啟動SuperIO_App.sln解決方案,需要VS2015開發IDE,如果使用VS內建的模擬器,需要執行<adb connect 模擬器的IP>,才能把程式成功部署到模擬器,並且進行調試,否則VS工具一直處於部署階段。

(3)運行

 

(4)調試視頻

    youku視頻不是太清楚,請下載高清調試視頻,地址:http://pan.baidu.com/s/1pJ7lZWf中的【視頻示範】。

 

 

唯笑志在

Email:[email protected]

QQ:504547114

.NET開發技術聯盟:54256083

文檔下載:http://pan.baidu.com/s/1pJ7lZWf

官方網址:http://www.bmpj.net

C#工業物聯網和整合系統解決方案的技術路線(資料來源、資料擷取、資料上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.