IT技術互動交流平臺

物聯網建設中通訊互聯層的終極解決方案

作者:唯笑志在  來源:IT165收集  發布日期:2016-12-16 20:35:31

1.自我介紹

      本人已經工作10年,一直在工業領域。在一線干過實施,下過礦井;干過項目,帶過團隊;干過軟件研發,出過產品;干過項目群管理,售前和市場也接觸過;期間在純軟件公司也干過將近兩年的時間,熟悉軟件開發流程與管理。雖然沒有取得多大成績,也算經歷豐富了。

      互聯網“行業”如火如荼的發展,曾經也想過轉行去做“互聯網”,奈何猶豫太久,已然提不起太多興趣。憑借當年的沉淀與積累,有個半成品的框架,在工作索然無味的情況下,毫不猶豫的投身到物聯網框架的開發與產品化的進程中。別人都說物聯網的時代來了,如果真的是這樣,也不知道是自己的選擇好,還是命好。

這方面的工作純屬個人愛好,業余時間在干,一般晚上21點到23點是自己的第二個工作時間。這兩年積極的投身到新的框架開發中,提高性能、統一接口、跨平臺……等方面的工作。也做了自己的基礎硬件產品,智能網關。

      有人會問,那你正式工作是干什么的?在某集團公司工業版塊負責大數據建設的相關工作。在沒有大數據、云服務概念的時候,做過遠程E服務相關的項目。說實話,對于傳統行業來講,是很困難的一件事。但是作為企業來講,要么等死,要么在改變中死,完全在于自己的選擇。

2.占領大腦和丟了腳

      不知道從什么時候,物聯網、大數據、云服務、云計算……等一批概念流行起來。大廠都在爭奪高制高點,大數據、云服務、各種標準……,做這些事情都很有意義。但是我在想,大家都去占領大腦,腳就不重要了嘛?!顯然不是,應該是同等重要。華為設備部、中興儀器儀表……對于基礎物聯層,也是很頭痛的一件事,這是大廈的根基,特別是工業領域。所以,我堅信對于我們的框架有很大的市場應用空間,創造的直接價值那是另外一回事。

3.物聯的現實困難

      對困難理解的前提是對現實世界的認知,有些傳統制造業都不具備物聯的基礎條件,更談不上物聯網、智能制造、智能工廠,但是至因為落后,才有廣闊的市場空間。就算有物聯的基礎,條件比較落后,底子比較薄,面臨四個多樣性:設備多樣性、協議多樣性、通訊機制多樣性、數據多樣性。這就是我們面臨的問題,難道問題有多大嗎?為了生存,企業都說能做。但是結構化的多樣性問題,要用結構化的手段或框架來解決,這是各方面保障的前提。

4.效率與成本

     接觸一家上海公司,有專人負責網關層的數據采集,有專人負責服務(云)端的對接,不太穩定、經常出現問題。解決細節問題,不能用細節的思維方式去解決,而是要有更廣闊的思維、結構化思路才能夠徹底的、更好的解決問題。網關層、服務端是否可以使用同一套框架?并且框架之間是否可以無縫對接?如果可以實現,應用同一套框架,開發效率會提高,用人成本和時間成本會降低。好的組織結構、好的框架總之要解決效率和成本,否則沒有任何價值。

5.逆向思維

     大廠都在搞云平臺、協議標準……,當然他們有資本和實力這樣搞,軟件用他們的、硬件用他們的,對于他們來講,養這么多人,反而成本是最低的。他們奉行一流企業定標準,用這種思維模式去整合資源,競爭比的就是占領資源的多少。我們認真考慮一下,對于傳統企業來講,本來生存就很困難,和房地產、互聯網拿投資的沒法比,他們有能力一下子完全統一化的更新換代嘛?!參加上海工業博覽會,也進行了市場調查,簡直是開玩笑。我們再認真考慮一下,用框架性的東西去解決設備多樣性、協議多樣性、通訊機制多樣性、數據多樣性的問題,在物聯網和集成系統的建設中是否也是整合資源的一種手段?!先解決企業互聯監控的問題,再解決企業標準化的問題,這樣是否也是一種思維模式?!是的,我們就先這樣干!

5.智能網關,跑Windows 10 IOT和Ubuntu Mate

     網關在物聯網和集成系統建設中是重要的一個環節,實現數據的初步整合(采集),再進行數據的轉發,形成體系層次清晰的級聯網絡系統。市場的網關大至分為兩類:純硬件接口的轉換、搭載操作系統的小型機。當然也有在硬件基礎上搭載自己的軟件框架,但是不多見。在我們的智能網關上可以實現搭載我們ServerSuperIO物聯網框架,使軟件和硬件無縫結合,設備驅動的接口統一,可以開發一套驅動跑在不同的嵌入式操作系統上,Windows 10 IOT和Ubuntu Mate,對于系統建設的方案選擇更靈活。

     智能網關的硬件配置:

l  四核1.2GHz Broadcom BCM2837 64位CPU。

l  1GB RAM。

l  板載BCM43143 WIFI和藍牙低功能耗(BLE)。

l  40引腳擴展GPIO。

l  4個USB接口。

l  全盡寸HDMI,并且轉VGA接口。

l  微型SD卡端口,用于運行操作系統和存儲數據的介質。

l  升級切換的微型USB電源,高達2.5A。

l  可搭載的操作系統:Ubuntu Mate、Windows 10 IOT。

     智能網關實體機照片:

 

6.SuperIO到ServerSuperIO發展歷程和解決的實現問題

      SuperIO&ServerSuperIO最早的雛形于2010年開始開發,當時主要是解決公司內部硬件產品眾多、協議眾多、以前的軟件經常出問題、維護成本高、搞集成系統時各方面都很累。經過兩三年的發展,確實解決了公司內部的產品體系問題,所有硬件產品都可以掛載到平臺下運行。離開公司之后,感覺這個平臺從代碼、應用等方面還有很大發展空間,2014年逐步產品化后才形成了SuperIO(SIO)這個平臺。

     但是SIO也只是解決了設備驅動(眾多協議)插件式掛載的問題,不過只限于運行在Windows系列操作系統下,一般性的PC機和工控機上數據采集完全沒有問題。但是在運行效率方面還有很大提升空間、設備驅動的接口還可以進一步標準化(為了各層級都可以應用)、跨平臺運行必須攻克、設備(驅動)之間信息交互與控制必須實現、框架在不同層級應用的級聯與控制必須實現、多服務實例的應用等等,一系列的框架和技術性問題還可以進一步完善。從整體物聯網建設的框架性方面考慮,從2015年初開始,基于SIO的核心思想重新開發新一代物聯網框架,也就是現在的ServerSuperIO(SSIO)框架,經過兩年多的發展,搭載在智能網關的基礎上,可以形成綜合性的解決方案。

7.一套設備驅動,支持多種IO通訊

     不管是zigbee、wifi、有線網絡,還是RS485、RS232、RS422,總之主要分為兩種硬件接口:網口和串口。至于OPC協議,可以用SSIO服務接口的形成間接實現,形成服務插件的一部分。如果不結構化的設計IO,網口和串口獨立存在,隨著產品越來越多,是很頭痛的一件事,也不一定運行穩定。對于ServerSuperIO框架,在此基礎上開發一套設備驅動可以分別實現通過網口或串口與硬件設備(傳感器)進行交互,非常方便。有人認為通訊很簡單,其實如果把眾多問題都考慮進去,那么將變得很復雜。也有很多純網絡通訊框架,業務場景、通訊機制的不同,純網絡通訊框架也未必能夠完全的適用于現場環境。根據多年的工作經驗,針對SSIO增加了通訊機制與應用場景,參見:《連載 | 物聯網框架ServerSuperIO教程》1.4種通訊模式機制。

     示意圖如下:

8.一套設備驅動,統一接口,多種平臺掛載運行

     針對ServerSuperIO框架的設備驅動接口進行標準化設計,另外針對ServerSuperIO框架本身進行了跨平臺運行的移植工作,所以一次開發設備驅動,可以在多種平臺下掛載運行。現在支持的平臺包括:Windows xp SP3以上的版本操作系統(包括Server)、Windows 10 IOT嵌入式操作系統、Ubuntu&Ubuntu Mate操作系統。

     示意圖如下:

 

9.物聯通訊的級聯

      如果單單是采集硬件的數據與控制,也只能算是本地的系統,但是在物聯網和集成系統建設中,必須形成體系化、網絡化框架。所以ServerSuperIO在采集本范圍內的數據信息與控制外,還要形成與上一級的ServerSuperIO進行數據交互,以及接收下一級的ServerSuperIO的交互數據,那么ServerSuperIO之間就形成了級聯的關系,主要完成兩大職責:數據的級聯上傳和反向控制,進而對設備本身進行級聯控制。

      結構示意圖如下:

 

10.設備之間的通訊、控制

      采集與控制單個設備,在實際應用中還遠遠不夠,還要能夠設備與設備之間進行信息傳遞與控制,并且返回給發送控制源設備確認信息。例如:在監測流量計嚴重報警的情況下,是否應該調節或控制液體源頭的閥門。類似的例子很多。

     在ServerSuperIO最新的3.1版本中(還沒有發布),支持設備向另一個設備發起傳遞信息和控制后,被控制設備是否立即返回確認信息,還是自主異步決定返回確認信息。增加了異步返回確認信息的功能,因為控制命令只是發給了另一個設備驅動,設備驅動還會進一步與實際的硬件設備進行交互,與實現硬件交互成功后,再返回確認信息給發起的源設備驅動。

     示意圖如下:

 

11.與云端的交互、控制

     ServerSuperIO提供了服務驅動的接口,一些除設備驅動類的功能以外,都可以以服務驅動的方式存在,例如:多設備采集的數據的融合模型計算、與其他平臺或上層進行交互等等,在此僅以與服務端進行交互為實例進行介紹。與設備驅動之間的交互與控制不同的是,設備驅動主動把采集的數據信息傳遞給服務驅動,服務驅動與云端進行交互,在接收云端指令后,發起傳遞信息或控制設備驅動,設備驅動再返回確認信息給服務驅動。

     示意圖如下:

 

12.未來的規劃

     從大環境來講,肯定是有很廣泛的應用;從本公司來講,將來在工業基礎物聯層面,肯定也會用的上;從個人興趣來講,也樂意能夠繼續做這方面的工作,當然是除正式工作之外。

     從ServerSuperIO本身來講,3.1版本(未發布)對代碼進行優化以及增加了異步返回確認信息的交互能力。后期會增加對數據安全方案的驗證機制,以保障在工業領域應用數據交互與控制的安全性。另外從體系結構來講,以ServerSuperIO框架為基礎,增加云端的建設能力,例如:數據分布式持久化等。從嵌入式應用為講,要增加遠程可配置能力等。

13.結束語

     在現在的社會,長期堅持做一件事很不容易,做成產品級以及配合體系方案更不容易。慢慢往下走吧,希望機會會眷顧那些踏實、實干的人。天道酬勤!!!


1.[連載]《C#通訊(串口和網絡)框架的設計與實現》

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

Tag標簽: 終極   解決方案   通訊  
  • 專題推薦

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
香港最快开奖现场直播结果