C#工業物聯網和集成系統解決方案的技術路線(數據源、數據採集、數據上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)

目       錄php

工業物聯網和集成系統解決方案的技術路線... 1html

前言... 1前端

第一章           系統架構... 3mongodb

1.1           硬件構架圖... 3數據庫

1.2           組件構架圖... 4apache

第二章           技術選型與介紹... 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:504547114@qq.com

QQ:504547114

.NET開發技術聯盟:54256083

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

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

相關文章
相關標籤/搜索