【物聯網智能網關-12】以網關爲核心,互聯網爲基礎構建物聯網平臺

 在我眼中,所謂物聯網智能網關,至少應該有如下幾個特色:一,對下可以和主流傳感器進行對接,可以相對容易的獲取傳感器數據;二、對上可以和後臺或雲進行通信,可以把數據進行上傳;三、用戶可以進行編程處理,對獲取的數據進行打包及一定的邏輯判斷處理,當然和傳感器及後臺通信,用戶除調用標準系統庫外,也可以自行編程實現。

以上幾點只是一個上行通道,當然用戶通過手機、平板和PC等常用用戶終端可以通過雲或後臺和智能網關進行通信,對相應設備進行操控。上行、下行通道、數據處理邏輯和用戶接口界面搭建容易與否,是衡量一個物聯網智能網關是否成熟及實用的標誌。

其實從某種意義上說,物聯網網關不僅僅是一個產品,而已經成爲一個平臺最關鍵的樞紐,整個物聯方案以此爲核心,進行構建。 

1強化網絡功能

紫藤系列的物聯網網關(紫藤207),最近對網絡部分的代碼進行了重構,不僅通信性能、併發能力大幅度提高,並且已經支持網絡方式調試(在基於網絡安全的前提下,防火牆開放26000端口,可以直接支持VS2010遠程調試)。 

2優化文件系統及提供外部訪問能力

文件系統是構建WebServer和數據庫的一個基礎,其穩定性和可靠性非常重要。針對NandFlash驅動添加了損耗平衡算法之後,使文件系統的可靠性和穩定性得到了進一步的提升。

不過官方標準功能中,並沒有提供PC平臺訪問.NET Micro Framework文件系統的能力,這大大限制了.NET Micro Framework文件系統功能的使用。我編寫了一個類似WinCE的遠程文件管理系統,可以很方便的對.NET Micro Framework文件系統進行格式化,創建目錄,刪除,上傳和下載文檔等操作。

 

這個軟件其實我已經在2010年初就已經編寫完成,只是由於最近基於文件系統要構建數據庫和物聯網組態軟件平臺(YFIOs),所以才進一步推廣使用。詳細的操作,請參見我以前寫的博文《【玩轉.Net MF – 03】遠程文件查看器》和《【玩轉.Net MF – 05】加載文件系統中的Pe文件》。

3 Web Server網頁發佈直接支持

.NET Micro Framework除了提供標準Socket類庫接口爲,也提供了HttpListener類,可以直接進行Http協議相關方面的編程。我在博文《IP地址設定及簡單web演示》、《Http Server功能演示》和《獲取雅虎天氣(HttpClient示例)》寫了相關的應用,但是根據這些示例,來構造一些複雜的,可以交互的動態網頁還是有一段距離的。

故開發了一個基於HttpListener類的WebServer庫,如果網頁文件存放在文件系統,可以兩句代碼就可以構建一個Web Server。

WebServer server = new WebServer(80);

server.SetWebRoot("\\ROOT\\web");

 

YFSoft.WebServer庫地址下載(含文檔和示例):

http://www.sky-walker.com.cn/MFRelease/library/v42/YFSoft.WebServer.rar

我基於該庫已經完成的Web Server如下,詳情我還會另外專門寫篇文章介紹。 

(通過xmlHttp協議和後臺服務進行交互,可以遠程操控紫藤開發平臺

4 前端網頁和後臺服務動態交互能力

(1)       基於xmlHttp實現動態網頁

YFSoft.WebServer庫,除了直接提供了網頁的發佈能力外,還提供兩個有用的事件通知,一個是POST的事件,一個是GET事件,用戶可以在這兩個事件裏,進行數據處理。詳情我會寫專門的文章去介紹。用戶也可以直接下載該庫文件,裏面有文檔和示例說明。

(2)       基於Html5構建動態畫面

Html5是未來發展的趨勢,而基於canvas容器進行動畫繪製,將使前端畫面更爲豐富多彩。目前無論是PC上的主流瀏覽器,還是一些IOS和安卓平臺上的手機和平板都已經支持。

(3)       基於WebSocket實現實時數據通信

   有了畫面展現能力,剩下的就是靠實時數據通信,來動態顯示畫面了。當然實時遠程操控的操作也必不可少。下圖就是我基於Html5 Canvas+WebSocket技術實現的遠程動態操控紫藤開發平臺

 

相關操作視頻: 

http://v.youku.com/v_show/id_XNDY3NzM1Mzky.html

 

YFSoft.Html5.WebSocket庫下載(含文檔和代碼示例):

http://www.sky-walker.com.cn/MFRelease/library/v42/YFSoft.Html5.WebSocket.rar

這部分內容我會另寫文章詳情介紹,敬請關注。

5 推出以Web Server爲核心的物聯網組態軟件

以前編寫的無論是YFIOServer還是TinyIOs等系統,都離不開PC平臺的軟件,這大大限制了一些用戶想通過手機和平板進行系統搭建和配置的能力。所以目前推出的YFIOs就是以WebServer爲核心,基於網頁方式進行驅動加載配置,運行時監控等操作。

TinyIOs(升級後的基於網絡模式的平臺,改名爲YFIOs),百度百科上的介紹如下:

http://baike.baidu.com/view/4401476.htm

後期我將發佈該平臺的SDK,以供大家方便構建自己的物聯網平臺。

 

MF簡介:http://blog.csdn.net/yefanqiu/article/details/5711770

MF資料:http://www.sky-walker.com.cn/News.asp?Id=25

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章