浅析工业级物联网项目的快速开发
發(fā)表于2015-11-10 15:01| 1567次閱讀| 來源CSDN| 4 條評論| 作者蒲婧
CTO俱樂部CTOCTO講堂物聯(lián)網(wǎng)工業(yè)級劉洪峰葉帆 width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-11-10%2F2826174-CTO&type=3&count=&appkey=&title=%E5%B7%A5%E4%B8%9A%E7%BA%A7%E7%89%A9%E8%81%94%E7%BD%91%E5%92%8C%E5%85%B6%E4%BB%96%E7%89%A9%E8%81%94%E7%BD%91%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF%EF%BC%9F%E6%99%BA%E8%83%BD%E7%BB%88%E7%AB%AF%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E7%BB%84%E6%80%81%E5%8C%96%E8%BD%AF%E4%BB%B6%E6%94%AF%E6%8C%81%E5%AE%9E%E7%8E%B0%E5%B0%91%E6%88%96%E5%85%8D%E7%BC%96%E7%A8%8B%E5%AE%8C%E6%88%90%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86%E3%80%81%E6%8E%A7%E5%88%B6%E5%92%8C%E9%80%9A%E4%BF%A1%EF%BC%9F%E5%8F%B6%E5%B8%86%E7%A7%91%E6%8A%80%E5%88%9B%E5%A7%8B%E4%BA%BA%E5%85%BCCEO%E3%80%81%E5%89%8D%E5%BE%AE%E8%BD%AF.NET%20Micro%20Framework%E6%88%90%E5%91%98%E3%80%81%E5%BE%AE%E8%BD%AF%E5%85%A8%E7%90%83%E6%9C%80%E6%9C%89%E4%BB%B7%E5%80%BC%E4%B8%93%E5%AE%B6%E5%88%98%E6%B4%AA%E5%B3%B0%E5%9C%A8CTO%E8%AE%B2%E5%A0%82%E5%88%86%E4%BA%AB%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1449995808406" frameborder="0" scrolling="no" allowtransparency="true">摘要:工業(yè)級物聯(lián)網(wǎng)和其他物聯(lián)網(wǎng)的區(qū)別是?智能終端如何通過組態(tài)化軟件支持實現(xiàn)少或免編程完成數(shù)據(jù)采集、控制和通信?葉帆科技創(chuàng)始人兼CEO、前微軟.NET Micro Framework成員、微軟全球最有價值專家劉洪峰在CTO講堂分享。為了幫助IT從業(yè)者職業(yè)之路擁有更多收獲,在諸多C粉的殷切期待下,由?CTO俱樂部打造的CTO線上講堂自登場以來獲得大家好評。本期邀請葉帆科技創(chuàng)始人兼CEO、前微軟.NET Micro Framework成員、微軟全球最有價值專家劉洪峰帶來“淺析工業(yè)級物聯(lián)網(wǎng)項目的快速開發(fā)?”的主題分享。
歡迎加入CTO講堂微信群與業(yè)界大咖零距離溝通,11月12日本期講堂報名方式拖至文末查看。
分享嘉賓:葉帆科技創(chuàng)始人兼CEO、微軟全球最有價值專家 ?劉洪峰
嘉賓簡介:劉洪峰,網(wǎng)名葉帆,葉帆科技創(chuàng)始人兼CEO,前微軟(中國).NET Micro Framework開發(fā)團隊成員,微軟全球最有價值專家(MVP),CSDN十大MVB。以微軟.NET Micro Framework系統(tǒng)為核心,研發(fā)了物聯(lián)網(wǎng)智能網(wǎng)關(guān)、物聯(lián)網(wǎng)智能終端,YFIOs和YFHMI等物聯(lián)網(wǎng)中間件軟硬件平臺。
劉洪峰有十余年工控經(jīng)驗,是國內(nèi)最早一批接觸微軟.NET Micro Framework技術(shù)的人,從2007年.NET Micro Framework剛開始引入中國就開始研究。并于2008年加入微軟亞太集團.NET Micro Framework項目組,進行了為期四年的深入學(xué)習(xí)。不僅完成了.NET Micro Framework第一個版本的文件系統(tǒng)(FAT32),也是全球第一個成功把.NET Micro Framework移植到ARM Cortex-M3架構(gòu)上的人。博客:http://blog.csdn.net/yfiot、 微博:http://weibo.com/yfsoft
公司簡介:北京葉帆易通科技有限公司(簡稱:葉帆科技)是一家軟硬結(jié)合的高科技公司。專注于物聯(lián)網(wǎng)中間件、物聯(lián)網(wǎng)二次開發(fā)和軟硬件集成技術(shù)方案研究和開發(fā),以成熟的.NET Micro Framework技術(shù)為核心,用組態(tài)軟件的架構(gòu)和思想去構(gòu)建物聯(lián)網(wǎng)應(yīng)用方案。
以下是11月6日CTO講堂現(xiàn)場完整速記:?
主持人:講堂正式開始,現(xiàn)在歡迎嘉賓葉帆科技創(chuàng)始人兼CEO劉洪峰,請您做個自我介紹吧。
劉洪峰:大家好,我是劉洪峰,葉帆科技創(chuàng)始人兼CEO。2001年進入工控行業(yè),開發(fā)了一些諸如二型計量系統(tǒng)、焦?fàn)t四大機車自動行走系統(tǒng)、LED廣告大屏顯示系統(tǒng)、WinCE嵌入式組態(tài)和地鐵隧道廣告通信系統(tǒng)等等。
08年進入微軟研發(fā)集團.NET Micro Framework項目組做相關(guān)軟硬件開發(fā),做了一些比如養(yǎng)牛場遠程監(jiān)控,遠程醫(yī)療系統(tǒng)等案例。2013年創(chuàng)立葉帆科技,開始深入開發(fā)物聯(lián)網(wǎng)系統(tǒng),比如智能網(wǎng)關(guān),智能終端及YFIOs數(shù)據(jù)組態(tài)及YFHMI嵌入式組態(tài)等。
主持人:看您的經(jīng)歷有豐富的工控領(lǐng)域經(jīng)驗,在什么情況下你決定開始創(chuàng)業(yè)?最初的想法是怎樣的?創(chuàng)業(yè)中遇到的挑戰(zhàn)有哪些?
劉洪峰:在給別人打工的生涯中,你想做什么,其實是沒有主導(dǎo)權(quán)和決定權(quán)的。你擅長的技術(shù)或你看好的產(chǎn)品研發(fā)方向,往往和公司的決策背道而馳,這是讓人很痛苦的一件事。
在各種軟硬件技術(shù)能力積累到一定程度的時候,就想按自己的想法和思路做一些產(chǎn)品了。創(chuàng)業(yè)最大的挑戰(zhàn),應(yīng)該是在硬件研發(fā)方面,因為我是從1995年開始的軟件開發(fā)學(xué)習(xí),而真正的硬件開發(fā)學(xué)習(xí)才是從2010年左右開始,所以在硬件設(shè)計、器件采購、生產(chǎn)和調(diào)試方面遇到了很多坎,中間也曾更替過三個硬件合作伙伴。直到今天才相對熟練的掌握了硬件的設(shè)計、開發(fā)、生產(chǎn)和調(diào)試流程。
主持人:請介紹一下目前葉帆科技目前的情況以及技術(shù)團隊構(gòu)成。
劉洪峰:由于物聯(lián)網(wǎng)開發(fā)需要各方面的技術(shù),比如網(wǎng)絡(luò)Web服務(wù)開發(fā),手機平板移動開發(fā),PC程序開發(fā)及嵌入式硬件開發(fā),還有各種通信類程序開發(fā),所以對人的技術(shù)能力要求比較高,但是作為一個創(chuàng)業(yè)型公司,很難一時找到比較合適的全職人員。所以技術(shù)團隊主要一些核心人員和外圍各種技能的兼職開發(fā)人員構(gòu)成。
主持人:請您介紹下葉帆科技目前提供的產(chǎn)品及服務(wù)吧,相對同類產(chǎn)品競爭優(yōu)勢有哪些?
劉洪峰:有三種類型:
- 1.? 面向教育領(lǐng)域,向一些智能硬件愛好者或教育類機構(gòu)和企業(yè)提供物聯(lián)網(wǎng)學(xué)習(xí)套件。
- 2.? 面向硬件定制領(lǐng)域,通過.NET Gadgeteer快速原型化硬件為客戶做出最初的原型,客戶認可后,重新設(shè)計硬件,從而完成最終的產(chǎn)品。
- 3.? 面前傳統(tǒng)工控領(lǐng)域及物聯(lián)網(wǎng)領(lǐng)域,向客戶提供物聯(lián)網(wǎng)軟硬件產(chǎn)品及物聯(lián)網(wǎng)整體解決方案。
最大的優(yōu)勢有三點:
- 一、從軟到硬,從嵌入式到PC,到手機平板,到云端服務(wù)器,都可以是同一個開發(fā)環(huán)境,同一種開發(fā)語言,開發(fā)快捷,對開發(fā)人員的要求很低。
- 二、.NET 平臺,垃圾自動回收,對工控7*24連續(xù)運行要求的產(chǎn)品來說,會相對容易的開發(fā)出很可靠的產(chǎn)品。
- 三、支持組態(tài)化開發(fā),少編程甚至免編程就可以快速完成物聯(lián)網(wǎng)項目的搭建。
主持人:請您談?wù)勎锫?lián)網(wǎng)和互聯(lián)網(wǎng)+的異同?
劉洪峰:簡單的說:互聯(lián)網(wǎng)+,是通過互聯(lián)網(wǎng)把人和設(shè)備建立了直接的關(guān)聯(lián),人可以方便的遠程操控各種智能設(shè)備。物聯(lián)網(wǎng),我一直認為是工控網(wǎng)的外延,是有數(shù)據(jù)采集,具備自動控制能力系統(tǒng)。人的角色只是監(jiān)視其中的異常情況,主要的控制邏輯是智能設(shè)備自動完成,所以也就是所謂的自動化控制。
相同點:都是依托互聯(lián)網(wǎng)和移動互聯(lián),還有需要云服務(wù)及移動端設(shè)備。
不同點:互聯(lián)網(wǎng)+,更多的體現(xiàn)在云服務(wù)層面,特別是和人交互方面,對智能硬件的要求并不是太高;物聯(lián)網(wǎng),需要一定的自動化能力,并且對設(shè)備要求高,一般要求7*24連續(xù)運行,并且大型物聯(lián)網(wǎng)系統(tǒng),會非常復(fù)雜,不僅傳感器總多,控制設(shè)備及控制邏輯也是多而繁雜。
主持人:工業(yè)級物聯(lián)網(wǎng)和其他物聯(lián)網(wǎng)都有哪些區(qū)別(比如智能家居產(chǎn)品),請談?wù)勀目捶ā?/span>
劉洪峰:一般情況下,對產(chǎn)品來說,有這么幾個級別:商用級(民用)、工業(yè)級、軍用級和汽車航空類級。其最大的指標(biāo)差異就是工作溫度,比如民用的是0~70度,工業(yè)的是-20-85度,軍用-40-125度。當(dāng)然可靠性,抗電磁干擾性要求也是逐步提高。
所以做產(chǎn)品的時候,工業(yè)級和非工業(yè)級在器件選購及板子設(shè)計方面都有比較大的區(qū)別,比如工業(yè)上,往往都是要做寬電壓輸入,光電隔離,抗電磁干擾等等處理。另外對程序要求也很高,可靠性要很強,并且工控項目網(wǎng)關(guān)周期短,變化大,需要產(chǎn)品提供更多二次開發(fā)的支持。
主持人:典型工業(yè)級物聯(lián)網(wǎng)項目都包含哪些部分?
劉洪峰:三大部分:一、數(shù)據(jù)采集及設(shè)備控制(輸入和輸出);二、業(yè)務(wù)邏輯處理;三、遠程動畫監(jiān)控、視頻監(jiān)控、報表及曲線。當(dāng)然由于是工控項目,比如遠程調(diào)試及遠程升級工具等等也是非常必要的。
我舉兩個例子來詳細說明一下,一個是門禁系統(tǒng),一個是污水處理系統(tǒng)。我先簡單介紹一下門禁系統(tǒng),一個相對典型的門禁系統(tǒng)的架構(gòu)示意圖如下:
輸入設(shè)備:RFID讀卡器+ID卡,串口攝像頭,常見的RFID讀卡器的通信協(xié)議接口一般是WG26(韋根26),電壓12V的比較多,也有5V的(如果是5V的一般可以直接對接主芯片,如果不是,需要做一些光隔或電平轉(zhuǎn)換處理)。智能網(wǎng)關(guān)封裝了WG26的功能庫(最多可以同時支持8路,并且不僅僅限定為26位數(shù)據(jù),最多可以100多位)。當(dāng)然不僅僅是ID號,輸入的數(shù)字鍵和門鈴鍵也是以編碼信息提供給用戶(一般是4位編碼)。串口攝像頭通過RS232連接到網(wǎng)關(guān),網(wǎng)關(guān)封裝了一些常見攝像頭的協(xié)議庫,調(diào)用函數(shù)即可以獲取當(dāng)前的圖像。
輸出設(shè)備:繼電器模塊,語音模塊,門磁裝置。繼電器模塊控制比較簡單,調(diào)用標(biāo)準(zhǔn)的.NET Micro Framework庫,寫入True就是通,寫入False就是斷開。語音模塊,支持WAV語音文件播放。門磁裝置由繼電器來進行控制。
業(yè)務(wù)邏輯處理:
- (1)? 當(dāng)輸入正確的密碼后,語音模塊輸出“歡迎”的語音,并控制繼電器打開門磁裝置。
- (2)? 當(dāng)訪客按門鈴的時候,除了語音模塊,發(fā)出“叮咚”的聲音外,網(wǎng)關(guān)還自動拍一個照片傳到已經(jīng)開啟并連接成功的客戶端程序。
- (3)? 當(dāng)用戶刷ID卡的時候,把ID號和數(shù)據(jù)庫中已經(jīng)存入ID號比較,如果正確,則語音模塊輸出“歡迎”語音,并且開門。如果比對失敗,則發(fā)出“ID號不存在的”語音。
遠程監(jiān)控:
這個遠程監(jiān)控比較簡單,主要就是接收攝像頭圖片和控制門磁開閉。當(dāng)訪客按門鈴后,客戶端程序會自動彈出,并顯示攝像頭圖片,用戶可以直接用鼠標(biāo)單擊按鈕,就可以遠程開門(同時語音模塊,發(fā)出“請進”的語音)。
以上的門禁系統(tǒng)比較簡單,也談不上真正的工業(yè)級,但是整個的環(huán)節(jié)和工業(yè)級項目類似。下面我們介紹一下污水處理系統(tǒng)。
輸入設(shè)備/輸出設(shè)備:
常見的工業(yè)級現(xiàn)場,輸入輸出一般這么幾種,一種是干點輸入輸出,輸入一般是0-24V的電壓,高電壓表示1,低電壓表示0。輸出就是繼電器輸出了。當(dāng)然也有可控硅控制的輸出,優(yōu)點是開關(guān)次數(shù)多。另一種就是模擬量輸入輸出,輸入一般有三種,0-5V,0-10V,4-20mA,輸出0~20mA。這之外比較常見的通信接口就是RS485/422,RS232,CAN,以太網(wǎng)通信接口了。智能終端和智能網(wǎng)關(guān)設(shè)備的型號有十幾種之多,主要就是這些接口的各種組合。
針對這個污水項目,輸入主要就是若干路24V左右的開關(guān)信號,比如高低水位信號,各種電機是否開啟反饋信號等等。輸出信號就是通過控制繼電器,控制各種電機的啟停。另外還通過RS485,讀取電表或水表的讀數(shù)。
業(yè)務(wù)邏輯:
這個邏輯相對復(fù)雜,我們簡單說一下,比如檢測到了高水位,我們開啟提升泵(還要根據(jù)配置及主設(shè)備是否正常,來開啟備用設(shè)備等等,其他泵類似),延時指定時間后,開啟鼓風(fēng)機等。根據(jù)定時開啟回流泵或排污泵。同時還要檢測報警信息,如鼓風(fēng)機溫度超高,則要自動關(guān)閉鼓風(fēng)機等等。同樣當(dāng)檢測到低水位,要關(guān)閉相關(guān)的設(shè)備。
遠程監(jiān)控:
這是現(xiàn)場監(jiān)控圖,動畫基于Html5實現(xiàn),我們有一個組態(tài)軟件,可以直接導(dǎo)出html5的畫面。通過WebSocket進行數(shù)據(jù)通信,各種動畫IO,都是導(dǎo)出的時候 自動綁定的。
這是運行日志,記錄一些運行情況,這個程序是物聯(lián)網(wǎng)中間件的一個策略程序,用戶可以自己把相關(guān)的內(nèi)容寫入,供最終用戶查詢。
這是攝像頭監(jiān)控,支持1~32個。
工藝報表,兩種方式,一個日報表,一個是統(tǒng)計報表,可以切換顯示。這些字段都是可以自定義的。
工藝參數(shù),這個也是可以自定義的。以上是部分功能的頁面,工控中也常包括一些系統(tǒng)診斷方面的頁面。我們還有一個系統(tǒng)用戶的后臺頁面,可以對上述的頁面靈活定制。除了在PC上通過瀏覽器瀏覽外,也可以通過手機或平板來進行操控。后續(xù)還將支持手機APP或微信接入操控。
主持人:再談到一些具體的技術(shù)方面,也就是今天的主題——工業(yè)級物聯(lián)網(wǎng)項目的快速開發(fā),組態(tài)畫面如何快速轉(zhuǎn)換為Html5動畫?
劉洪峰:如果身處工控領(lǐng)域,那么對組態(tài)軟件不會陌生,為什么需要組態(tài)軟件呢?
因為工控項目工期相對較緊,及時同樣的項目,每個現(xiàn)場都會有一定的區(qū)別,如果新開發(fā)代碼,很難保證代碼的可靠性。所以用組態(tài)軟件,采用搭積木的方式,快速完成項目,由于每個模塊都是考驗過的,所以整體可靠性也會很高。
我們的組態(tài)軟件的特色是除支持輕量級組態(tài)硬件(一個單片里面也可以跑組態(tài)),還支持PC組態(tài)及Html5組態(tài)。針對Html5動畫來說,實現(xiàn)起來并不是特別難,難的是各種動畫元素和設(shè)備變量的綁定及對應(yīng)關(guān)系,組態(tài)軟件轉(zhuǎn)換為Html5的優(yōu)勢是,不僅僅動畫完全一一實現(xiàn),并且IO綁定關(guān)系還在,可以直接和后臺服務(wù)通信,快速顯示現(xiàn)場的設(shè)備狀態(tài)。
這是我們的組態(tài)開發(fā)環(huán)境,最早是WinCE的組態(tài)開發(fā)環(huán)境,后期我們調(diào)整為.NET Micro Framework的組態(tài)。再后來就是PC組態(tài)及現(xiàn)在的Html5組態(tài)。這個平臺可擴展性強,Html5組態(tài)就是通過插件導(dǎo)出的。上面的畫面是一個 垃圾處理的組態(tài)畫面。
導(dǎo)出到網(wǎng)頁上就是這個樣子:當(dāng)然需要傳入一些參數(shù),比如websocket服務(wù)器的ip,端口號。當(dāng)然也可以在網(wǎng)頁中直接嵌入,不過為了靈活,為了讓一個html5文件,顯示多個相同的現(xiàn)場,采用參數(shù)的方式。
這個是污水處理的畫面,綁定關(guān)系要復(fù)雜一些,特別是流動的動畫。早期的這種畫面,不用組態(tài)方式,用代碼寫,是很繁瑣的。
導(dǎo)出到網(wǎng)頁上,就是這個樣子。
主持人:請談?wù)劵赪ebSocket協(xié)議,通過IO字典快速和后臺服務(wù)器進行通信的技術(shù)特點。
劉洪峰:正是因為有了WebSocket才使得基于Html5組態(tài)有了實現(xiàn)的可能。我這樣表達可能不是太嚴謹。早期這種動畫 一般都是flash,但是我們也知道 iOS系統(tǒng)已經(jīng)不支持flash了。如果用 其他基于http通信協(xié)議做 動畫,代價也會很高。WebSocket天然的比較適合,并且一旦做好,目前可以說 全平臺支持。
通過Html5提供的繪圖指令,可以構(gòu)建組態(tài)圖元庫,每個圖元有一個或多個動畫點,每個動畫點和一個IO字典里面的變量進行綁定,根據(jù)這個變量的值顯示不同的顏色或圖案。組態(tài)軟件在導(dǎo)出Html5組態(tài)畫面的時候,會自動進行圖元和IO字典變量的綁定,WebSocket負責(zé)把這些變量和后臺WebSocket服務(wù)程序進行對接(組態(tài)軟件導(dǎo)出組態(tài)畫面的同時,會導(dǎo)出一個IO字典表,直接導(dǎo)入服務(wù)器后臺就可以實現(xiàn)對接)。
這里需要強調(diào)一下,做基于html5的組態(tài)和pc或嵌入式上的不同。后者程序都是編譯好的,通過配置,反序列化出來組態(tài),包括IO綁定。
但是 html5的是通過js腳本,是代碼形式存在,這就有最大的靈活度,意味著我們可以不用配置,代碼本身就是配置。另外就是js腳本在當(dāng)前硬件條件下,做復(fù)雜的動畫和通信,效率是非常高的,超出我們的意料。
主持人:請介紹下智能網(wǎng)關(guān)/智能終端等通過組態(tài)化軟件支持,實現(xiàn)少編程或免編程完成數(shù)據(jù)采集,控制和通信的過程。
劉洪峰:舉一個簡單的例子,比如采集溫濕度,溫濕度傳感器種類很多,通信鏈路和通信協(xié)議也多樣,比如有RS485、I2C、單總線、AD等等。這個時候如果是組態(tài)軟件支持,可以選擇部署對應(yīng)的驅(qū)動即可,對應(yīng)的都是兩個變量T和H(溫度和濕度),用戶直接讀取這兩個變量值即可。
我們這個組態(tài)是可以自動添加IO變量的,加入驅(qū)動的同時,IO變量也就有了。(當(dāng)然對比如modbus這種非明確IO的,不能實現(xiàn)自動添加)。如果希望把溫度和濕度傳遞到云端去,這個時候直接配置一個系統(tǒng)策略(云和端通信),配置好需要上傳的IO字典即可(對應(yīng)服務(wù)器上的中間件,也需要配置一下,設(shè)定好對應(yīng)的上傳IO字典,一般都是導(dǎo)入IO的xml文件即可)。
如果需要控制,那么可以加一個一路或多路繼電器的驅(qū)動,每一路繼電器也對應(yīng)一個IO字典變量,向其中寫入1,就是開啟繼電器,寫入0,就是斷開繼電器。這個時候可以用一個標(biāo)準(zhǔn)系統(tǒng)策略,通過配置建立關(guān)系,比如T大于多少,就想繼電器的變量寫入1,低于多少,就寫入0。
當(dāng)然你也可以自己寫一個簡單的策略(C#或VB.NET),直接讀取對應(yīng)的變量,經(jīng)過邏輯判斷后,向輸出變量寫入對應(yīng)的數(shù)據(jù),可以實現(xiàn)相對復(fù)雜的控制。
主持人:請展開介紹一下Windows Azure + Windows 10 IoT + .NET Micro Framwork, 一體化的開發(fā)體驗,全程軟硬件.NET支持。
劉洪峰:?Windows Azure是微軟早就發(fā)力的一個云平臺,不同于一般的云服務(wù)公司,微軟不僅僅提供所謂的云主機,更多的是體現(xiàn)在云計算層面,并且和Visual Studio開發(fā)工具緊密結(jié)合,可以直接在線開發(fā)、上傳、調(diào)試。開發(fā)效率和開發(fā)能力被大大拓展。
Windows 10橫空出世最吸引人的地方就是UWP(通用平臺程序)的提出,這就意味著,只要是Windows 10的系統(tǒng),UWP程序都可以運行,無論是X86還是ARM架構(gòu),無論是PC,還是XBOX,手機或平板。
Windows 10 IoT是一款完全免費的系統(tǒng),專門針對物聯(lián)網(wǎng)研發(fā)的系統(tǒng),除了UWP等特性的支持外,還對GPIO,SPI,I2C等等芯片層面的直接開發(fā),提供了支持。并且在樹莓派這種ARM低端開發(fā)板上也可以運行。大大擴展了Windows 10的應(yīng)用范圍。這次我去參加微軟的技術(shù)大會,Windows 10 IoT 又出來兩個版本, 當(dāng)前是Windows 10? IoT core, 新出的是 移動版和企業(yè)版。
.NET Micro Framwork是微軟2001年就開始研發(fā)的輕量級系統(tǒng),可以在單片上運行,目前可以看,是Windows 10 IoT的一個補充。最近剛剛推出了最新V4.4版本,支持UWP接口,AllJoyn通信協(xié)議。另外.NET Micro Framework家族也衍生了一個產(chǎn)品LLILUM,支持把標(biāo)準(zhǔn)UWP程序直接編譯為本地二進制代碼,直接部署到芯片中運行(更小,更快)。
我是從2006年開始了解.net mf,2007年這個技術(shù)進入中國,2008年去微軟去學(xué)習(xí)這個,2003那個時候的智能手表就是基于這個系統(tǒng)。LLILUM產(chǎn)品 其實目前德國的一個企業(yè)在做,就是把C#直接編譯成二進制代碼,一年授權(quán)使用費十幾萬,而微軟是完全免費開源的。這個的執(zhí)行效率就很高了,對資源的要求也非常小了。
一言以蔽之,由于這些平臺全部都支持.NET平臺開發(fā),一樣的開發(fā)環(huán)境,一樣的開發(fā)語言,一致的開發(fā)調(diào)試體驗,會讓一個人的能力發(fā)揮最大,可以讓更少的人在更短的時間內(nèi)快速開發(fā)出可靠又實用的物聯(lián)網(wǎng)項目。
微軟的技術(shù)做深入的產(chǎn)品研發(fā)也許不是好選擇,但是做項目,做集成確是最好的選擇。特別是需要用戶做二次開發(fā)的。
主持人:看到您已經(jīng)在CSDN寫了10多年的技術(shù)博客,能做到這一份長期的積累實屬不易,請結(jié)合您自己這一路技術(shù)之路上的提升談?wù)劶夹g(shù)人該如何做到高效學(xué)習(xí)和提升技能?
劉洪峰:從1995年開始學(xué)習(xí)編程,從最初的TB(Ture Basic)到TC(Ture C),再到BC(Borland C/C++),在DOS平臺上花了近乎4年的時間去學(xué)習(xí)編程,把一些書籍上的數(shù)學(xué)算法一一實現(xiàn),各種功能的重復(fù)練習(xí),在興趣的支撐下去感受編程,鑄造一種編程思維。如果沒有這些作為基礎(chǔ),那么2008年進入嵌入式領(lǐng)域,做嵌入式開發(fā)和硬件設(shè)計,是很難順利切入的。
技術(shù)本身,說到底都是相通的。只要學(xué)習(xí)的早期很扎實和深入的學(xué)習(xí)一門語言及相關(guān)技術(shù),那么幾年學(xué)成后,再學(xué)習(xí)其他的就簡單了。需要值得一提的是,C/C++是一切開發(fā)語言基礎(chǔ),學(xué)好這個,其他的就不在話下了。
我到現(xiàn)在唯一比較感慨的就是,在DOS那個資訊相對貧瘠的時代,三年的時間專心在640*480分辨率的DOS系統(tǒng)上學(xué)習(xí)C和C++。所謂十年磨一劍,“十萬小時”定律,莫不是這個道理。選對一件事,一個方向,堅定的走下去,肯定會有所成就的。
主持人:請結(jié)合您的切身體會談?wù)勔幻细竦腃TO或技術(shù)團隊管理者應(yīng)該是怎樣的?
劉洪峰:技術(shù)領(lǐng)導(dǎo)者,需要選擇技術(shù)路線和方向,另外就是設(shè)計相關(guān)的架構(gòu)平臺,有了這個為基礎(chǔ),可以針對性的進行選人用人。
另外我比較習(xí)慣談心的方式,基本一兩個月就會和相關(guān)的人談一下,當(dāng)然這是團隊規(guī)模不是太大的情況下,比較好的方式。目前其實很多公司,要的是業(yè)績和進度,往往這方面對員工關(guān)心不夠,現(xiàn)在人的壓力比以前大多了。多一些人情關(guān)懷,另外在技術(shù)上 一定是技術(shù)領(lǐng)導(dǎo)者,領(lǐng)先者,至少思想上是,要起到指導(dǎo)作用,這樣才能在技術(shù)層面上,降低團隊人員的壓力。
主持人:在提升葉帆技術(shù)團隊方面,有哪些思考?
劉洪峰:團隊需要看到希望,這個希望不僅僅是技術(shù)層面的,也有經(jīng)濟層面的。要做最有價值的項目,讓每個團隊參與人員,都能感受到自身的價值所在。
我以前太過于偏重技術(shù),很多事都是自己去了解,很深依賴團隊,這是一個比較大的缺點。所以最近幾年,也是走了出去,多進行交流和合作,其實是給自己的團隊,擴展了一個更大的空間和舞臺,讓他們可以更好的發(fā)揮自己的能力,同時可以有更好的未來。
主持人:可否跟大家談?wù)勅~帆的技術(shù)團隊氛圍是怎樣的?公司招人過程中,比較看重新人的哪些特質(zhì)?
劉洪峰:只要團隊目標(biāo)一致,氣氛就會比較融洽。比較看重的就是興趣,興趣是最好的老師,如果不喜歡自己所從事的工作,無論能力多強,都是不可取的。時間有限,先簡單說這些。
主持人:對想在技術(shù)路線上走得更遠的人,您都有什么建議和忠告?推薦一些您覺得非常不錯的書籍吧。
劉洪峰:還是那句話,興趣是最好的老師,選擇任何一個切入點都可以,深入研究幾年,然后再談其他。現(xiàn)在是網(wǎng)絡(luò)的時代,技術(shù)變化很快,書籍往往會比較延遲,所以建議還是多上網(wǎng),多思考,培養(yǎng)自己的自學(xué)能力。
我個人的經(jīng)驗,如果想切入一個新的領(lǐng)域,或者是學(xué)習(xí)一門新的語言,那么最好選擇一個最入門的書籍,越簡單越好,比著做一遍,有了感覺后。在利用網(wǎng)絡(luò)資源,有所側(cè)重的去深入學(xué)習(xí)。
互動環(huán)節(jié):LLILUM編譯的二進制代碼,在芯片上運行可以采集到單總線協(xié)議的溫濕度值嗎?單總線協(xié)議需要識別微妙級別的脈沖。在IOT下實現(xiàn)的,非常不穩(wěn)定。劉洪峰:LLILUM 并不都是C#代碼,底層還是C,其實目前是 mbed,所以 這種肯定用C實現(xiàn),然后C#接口調(diào)用,目前.net mf也支持單總線,也是底層C++驅(qū)動。mf的好處是,讓一般初學(xué)者,也可以直接使用,復(fù)雜的留給高手 做驅(qū)動,做底層。
問:智能網(wǎng)管\智能終端 可以運行自己寫的應(yīng)用嗎?
劉洪峰:當(dāng)然,這是我們最主推的功能。代替部分PLC或PC應(yīng)用場景,C#+VB.net開發(fā),VS在線直接調(diào)試。
問:如果有些傳感器的驅(qū)動沒有,怎么辦?
劉洪峰:.net mf官方不支持一般用戶開發(fā)C++驅(qū)動,要寫必須移植的時候加入,我們擴展了一個功能,類似wince的流式驅(qū)動,支持用mdk等工具 寫C++驅(qū)動。然后C#直接調(diào)用。
互動環(huán)節(jié):關(guān)于控制網(wǎng)絡(luò)安全問題,以及業(yè)界常用的防范方法。
劉洪峰:SPI,I2C,AD,DA,CAN,RS232,RS485這些都是常見的支持。由于我們是中間件平臺,策略用戶可以自己寫,用戶可以選擇,這是一。我們也有自己的協(xié)議,比如是二進制協(xié)議,采用常見的非對稱加密。其實我們更希望用戶自主來選擇,這樣技術(shù)多樣化,防范其實會更好,我們只是提供基礎(chǔ)平臺而已。 互動環(huán)節(jié):如您所講,html5組態(tài)后臺是有一個基于WebScoket協(xié)議的WebScoket服務(wù)程序在支撐對吧,這個服務(wù)程序是云端在線提供還是本地化部署?它與嵌入組態(tài)的應(yīng)用系統(tǒng)的Web服務(wù)器是怎么一個部署關(guān)系?代理?
劉洪峰:web服務(wù)器都不需要,因為是客戶端的程序。是的,我們這個有一個云端中間件,提供了websocket的服務(wù)。
問:websocket核心服務(wù)跟組態(tài)頁面建立的是無刷新推送機制還是請求響應(yīng)機制?
劉洪峰:
這個放在本地也可以,也是一個二次開發(fā)平臺。目前我們是放在 阿里云,是的,這也是一個二次開發(fā)平臺,用戶只需要關(guān)注具體業(yè)務(wù)邏輯即可,換句話說,可以最快的速度,開發(fā)出比較專業(yè)的物聯(lián)網(wǎng)系統(tǒng)。而不是簡單的和幾個智能硬件進行對接
我們有模板 ,模板其實高一些層次的抽象。中間件平臺是更低一層。
問:那你這個中間件往下對數(shù)據(jù)網(wǎng)關(guān)接入有何要求?有標(biāo)準(zhǔn)協(xié)議輸出嗎?
劉洪峰:我們自己有自己的標(biāo)準(zhǔn)協(xié)議,通過導(dǎo)入,就可以直接對接。
比如這里定義好 上傳IO,發(fā)布IO,上傳的 就是現(xiàn)場設(shè)備。
問:往上的話有沒有什么標(biāo)準(zhǔn)化的接口給上層業(yè)務(wù)系統(tǒng)用?說穿了就是只需要你采集數(shù)據(jù),其他都我們自己干
劉洪峰:發(fā)布的 就是websocket對接的。
直接可以導(dǎo)入 設(shè)備組態(tài)的時候 上傳IO。
問:那目前有其他研發(fā)團隊用你們的中間件嗎?而不是你自己的團隊,說穿了各方面標(biāo)準(zhǔn)化的輸出就好了,別人才能用,文檔API之類
劉洪峰:當(dāng)然,我們不做具體的項目,都是合作伙伴 配合完成最終的項目的。文檔目前還沒有太更新,后續(xù)會有比較新的。 互動環(huán)節(jié):我現(xiàn)在是做PHP開發(fā)的,以前專業(yè)是電氣自動化。我想要轉(zhuǎn)型到物聯(lián)網(wǎng)行業(yè),那么我需要從哪里做起呢?
劉洪峰:應(yīng)該先側(cè)重服務(wù)端,然后再考慮和硬件對接。 互動環(huán)節(jié):哪兒可以看到價格信息?
劉洪峰:netmf.taobao.com 有我們一些產(chǎn)品。 問:產(chǎn)品很強大的樣子。支持vs2015community開發(fā)嗎?
劉洪峰:硬件支持 VS2010 VS2012 VS2013 VS2015開發(fā)。 互動環(huán)節(jié):這些產(chǎn)品都有光隔離嗎?可以可靠用在工業(yè)現(xiàn)場嗎?
劉洪峰:當(dāng)然,我們這就是工業(yè)級的產(chǎn)品,最早的一代已經(jīng)在現(xiàn)場運行3年了,新的也已經(jīng)一年半以上了。寬電壓,光電隔離,是一般的工控要求。
總結(jié)
以上是生活随笔為你收集整理的浅析工业级物联网项目的快速开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度?广度?浅析技术人员的职业发展之路
- 下一篇: 微服务架构在云端的应用