//Logo Image
「世大智科/天才家居」-我們創業囉
PDF Version

第二章 Body-Cerebellar-Brain物聯網資訊架構

2.1    系統介紹

現行物聯網架構已達成一共識,將其分為感測層、網路層、應用層,目前智慧家庭應用所使用的通訊技術有許多,如ZigBeeZ-WaveAnt等,以ZigBee為最常被使用無線通訊技術,感測器透過ZigBee連接主要的閘道器,閘道器可以與每個感測器進行資料存取與參數設定。閘道器定時收取感測器資訊,以JsonXML資料格式傳遞資訊至網路層。網路層負責儲存資料與數據分析,SQL類型資料庫軟體被廣泛使用,感測器大量的資料通常須要分散式處理的軟體框架,數據分析在物聯網的眾多技術裡相對成熟。應用層最為廣泛,目前以智慧型裝置App為應用層主要的終端設備,顯示智慧家庭產品的狀態。理想的物聯網應為物品與物品間互相的溝通(Machine to Machine, M2M),非經由人為的操作,控制另一物品或做資料交換,但目前物聯網一般泛指物品或感測器資料的傳遞,並於終端設備產生互動或顯示。

Body-Cerebellar-Brain (BCB)物聯網資訊架構是設計給物聯網產品所使用,清楚的劃分了物聯網架構中的三個部分,並因應目前物聯網技術近端互動應用的不足,提供一物聯網技術的變形。BCB架構亦提供高度客製化、參數化、以及修改、擴充彈性,適合多元應用與互動情境,更加速了各項產品與功能的開發。以產品的觀點,共用相同的資訊架構,共享電子元件與資訊系統,減少研發與材料成本,資訊架構的一致性也有利於產品後續的管理與維修。以下描述BCB架構的各部分。

如圖2-1,「身體(body)」是指如床墊、床架、巧拼、地墊、坐墊等現有居家生活產品,核心技術在於如何利用現有材料與居家生活產品開發成為感測器,而非額外加入電子式測器;微處理器是「小腦(cerebellar)」,僅負責接收、傳輸感測訊號和致動訊號,老人福祉科技研究中心以BCB資訊架構需求,開發一物聯網微處理器,建Wi-Fi與雲端伺服器溝通。系統的智慧建置在「大腦」,「大腦」為雲端伺服器負責各類資料儲存及分析演算法,並運行一物聯網通訊協議MQTT(Message Queuing Telemetry Transport),負責作為各「小腦」溝通的訊息中介站(MQTT Broker),亦可與智慧型裝置進行即時訊息的推送,同時智慧型裝置也作為使用者介面,可存取物聯網產品的各項訊息。使用者亦可利用智慧型裝置App將相關感測資訊或使用狀況訊息轉貼於Facebook

2-1. Body-Cerebellar-Brain物聯網資訊架構

2.2    物聯網微處理器

物聯網微處理器是BCB資訊架構遠端應用中的Cerebellar角色,負責了感測器資料的收集與傳遞,並透過自身的Wi-Fi晶片執行連網服務,同時也是與平台式智慧家庭產品有所區別的主要技術,由元智大學老人福祉科技研究中心所開發的物聯網微處理器可產生一無線區域網路稱為AP模式,在此模式下,可透過智慧型裝置對此微處理器做網路環境或參數設定,此應用方式可簡化大部份智慧家庭產品安裝繁雜的問題。

此物聯網微處理器基於SparkFunESP8266 Thing Dev微處理器修改,共有10GPIO腳位,包括1ADC,透過Analog Switch可擴增至8個,附有512KB的程式撰寫空間,另有64KBFlash Memory可以儲存必要資訊,具有UARTI2C通訊功能,可透過Arduino開發環境編寫程式語言,內建有Wi-Fi晶片支援DHCP與固定IP模式,亦可將自身轉變成為AP模式,詳細規格如表2-1

微處理器

ESP-12ED, NodeMCU 1.0

 

 

 

 

 

 

 

工作電壓

3.3V

輸出電壓

3.3V

GPIO

17

Sketch Size (KB)

512

Flash (KB)

64

EEPROM (KB)

4

時脈(MHz)

80

I2C

1

SPI

1

UART

1

ADC

10-bit, 1 channel

Wi-Fi

PCB Size (W´L)

40mm´20mm

2-1 物聯網微處理器

2.3    雲端伺服器資料庫與智慧型裝置App

此部分為BCB資訊架構下的Brain,負責數據分析、事件決策、介面顯示、提醒通知,MQTT通訊協議在此扮演了相當重要的角色,透過此技術使「天才家居」系列產品間可互相溝通,也可以將資訊傳送至智慧型裝置,主動提醒使用者,非被動式的查看感測器資訊;透過雲端伺服器演算法的增修,產品的功能即可被更新與修正;同時軟體App功能不斷更新,可以增加應用的多樣性且延長硬體產品的生命週期,亦可透過Google Play所提供的評論平台取得使用者的回饋以進行即時的回覆與修正。

本研究所使用的雲端伺服器作業系統為Windows Server 2008IIS網頁伺服器,使用MSSQL資料庫,使用C#語言編寫ASP.NET網頁服務。無論感測器的資訊或者App所需要的顯示結果,皆透過ASP.NET的網頁服務獲取必要資料。演算法採用批次處理的方式,以固定的間隔時間從資料庫取出感測器資訊,進行演算法的執行,最後將結果回寫資料庫。

智慧型裝置App在本研究中以Android系統為主,以Android Studio開發環境開發智慧型裝置App,主要編寫語言為JAVA,相較過去以Eclipse搭配Android Development Tool(ADT)的集成開發環境,Android Studio提供的Gradle專案建置自動化工具,使開發上更加便利,智慧型裝置App的開發上需要許多與使用者相關的介面設計,良好的使用流程也是物聯網系統能更加親近使用者的重要課題。

以下第三章節將會詳細介紹MQTT協議;第四章、第五章、第六章將以天才床邊踏墊(WhizMAT)為範例,介紹”Body””Cerebellar””Brain”各部分的建置方法。