結合無線體感技術與 arduino 平台之智慧居...

14
德霖學報「第 29 期」 2016 1 結合無線體感技術與 Arduino 平台之智慧居家系統 結合無線體感技術與 Arduino 平台之智慧居 家系統 廖文淵 1 、陳垣凱 1 德霖技術學院資訊工程系助理教授 中文摘要 本論文提出結合無線體感技術與 Arduino 平台之智慧居家系統,本系統由數個子系統組成,本系 統開發主要分為 3 個部份,包含體感辨識子系統程式之設計、Arduino 主控制子系統之電路實作與程 式設計、ZigBee 無線感測網路家電控制電路之實作。本系統首先發展出感測辨識程式,以偵測人體 骨架,當使用者進入感測器偵測範圍內,透過偵測到特定的動作,再經由網路傳送到主控端 Arduino 模組進行分析,最後經由 ZigBee 無線感測網路傳輸指令至週邊家電模組,讓使用者藉由簡單的身體 動作就可以控制家中的電器產品,達到提升生活便利性的目的。 本研究利用 Kinect 體感器配合 ZigBee 無線感測網路,並結合 Arduino 模組來控制電燈電扇等家 電,讓使用者在家庭生活上可有更便利的環境。藉由本系統的完成,前端各種家電設備可透過無線 方式將收到的資料傳至後端處理系統,有建立具有提昇生活環境的舒適性安全性的智慧家庭環境。 關鍵字:ZigBeeKinect 體感器、智慧居家、Arduino 平台。

Upload: others

Post on 18-Oct-2019

9 views

Category:

Documents


0 download

TRANSCRIPT

  • 德霖學報「第 29期」

    2016年 1 月 結合無線體感技術與 Arduino 平台之智慧居家系統

    結合無線體感技術與 Arduino 平台之智慧居家系統

    廖文淵 1、陳垣凱

    1德霖技術學院資訊工程系助理教授

    中文摘要

    本論文提出結合無線體感技術與 Arduino 平台之智慧居家系統,本系統由數個子系統組成,本系

    統開發主要分為 3 個部份,包含體感辨識子系統程式之設計、Arduino 主控制子系統之電路實作與程

    式設計、ZigBee 無線感測網路家電控制電路之實作。本系統首先發展出感測辨識程式,以偵測人體

    骨架,當使用者進入感測器偵測範圍內,透過偵測到特定的動作,再經由網路傳送到主控端 Arduino

    模組進行分析,最後經由 ZigBee 無線感測網路傳輸指令至週邊家電模組,讓使用者藉由簡單的身體

    動作就可以控制家中的電器產品,達到提升生活便利性的目的。

    本研究利用 Kinect 體感器配合 ZigBee 無線感測網路,並結合 Arduino 模組來控制電燈電扇等家

    電,讓使用者在家庭生活上可有更便利的環境。藉由本系統的完成,前端各種家電設備可透過無線

    方式將收到的資料傳至後端處理系統,有建立具有提昇生活環境的舒適性安全性的智慧家庭環境。

    關鍵字:ZigBee、Kinect 體感器、智慧居家、Arduino 平台。

  • 德霖學報第 29 期

    The Intelligent Home System Combining Body Sensing

    Technology and the Arduino Platform Wen-Yuan Liao1 Yuan-Kai Chen

    1Assistant Professor, Department of Computer Science and Engineering De-Lin Institute of Technology

    Abstract In this paper, we proposed a intelligent home application system that combines body sensing

    technology and Arduino platform. In the proposed system, we have three subsystem, including ZigBee

    system, Arduino control system and Kinect body sensing system.

    In our system, The Kinect first senses the activities of the human body, and the recognized result

    detected form Kinect subsystem is used to control the remote appliance. Then the Arduino system could

    make decision by receiving from the ZigBee wireless signal. According to the environment condition, the

    system would send the control signal to control the electrical appliance by the Arduino platform. Thus, the

    user could control the home appliance by human body activities. With the functions described as above, the

    system can provide a comfortable and safe environment for living space.

    Key word: ZigBee, Kinect, intelligent home application, Arduino platform,.

  • 結合無線體感技術與 Arduino 平台之智慧居家系統

    I. 前言

    在電腦技術發展飛躍的時代裡,人們生活空間也越來越趨近於智慧化,透過各項科技

    的引進,使人類生活變得更便利、舒適、節能及安全。現今科技的發展,許多工作都是由

    電腦和機器來控制,人力漸漸地被取代。智慧型居家系統的應用也逐漸普及到居家的環境

    之中,期望能使人類有更便利、安全的生活。

    隨著無線網路通訊技術的蓬勃發展,以及電子元件製程技術的進步,加速體感裝置與

    無線網路之結合。由於體感裝置輕薄短小,讓使用者易於攜帶與使用。因此,越來越多的

    使用者,因不同的工作屬性或個人需求,開始使用體感裝置進行遊戲、操控之介面。此外,

    現有的無線網路隨著頻寬的逐漸提升,使利用體感體感裝置結合無線網路,應用於無線遠

    端監控的可行性大為增加,加上現代人的生活忙碌,對於居家保全、遠端居家看護、家電

    自動化監控等的需求大為增加。因此,如果能利用無線遠端操控系統將可協助人們更容易

    地掌控遠端物之動態。因此,許多智慧居家生活系統的需求也就應運而生。此外,智慧化

    居家生活系統科技正不斷的發展[13],其中包含的重要議題與應用包括有:居家安全、健康生活照護、環保節能、舒適便利等,因此在智慧居住系統的發展下,舉凡生活空間的相關

    應用,希望都能透過科技的運用,能讓生活變得更舒適、便利、環保、安全。

    本系統設計原理係運用體感辨識技術來偵測使用者的身體骨架,當使用者進入偵測範

    圍內,只要辨識到預設好的動作,便可決定使用者下達的指令,將控制命令傳送到主控端

    子系統,再利用無線感測網路將控制訊號傳輸到遠端的家電控制子系統,藉以控制日常生

    活中的電器,達到提升生活便利性的目的。因此,本研究設計一個能方便於使用者操作的

    智慧居家生活系統,只需運用身體感應,能夠遠距離利用手、腳、頭等肢體去操控家電;

    隨著科技越來越進步,如何讓體感辨識技術融入生活之中,也是重要的課題之一。

    II. 技術背景

    A. 智慧家庭生活系統相關研究

    許多智慧家庭生活系統已被提出[10],S. Meyer 與 A.Rakotoniariny 則提出無縫智慧型居家生活整合原理,將目前廣泛應用的家電、感測器、無線網路、RFID 及處理器整合在一完整系統中。A. M. Suva 等利用無線感測網路,整合溫度、溼度及亮度感測器,設計並實作一個家庭監控環境的監測與控制系統。

    在國內的研究中,成功大學則發展 ZigBee 無線感測網路之智慧型照明環境設計,在系統中設計了照明服務系統,當使用者回到家時,使用者手持裝置之 ZigBee 與 RFID 會加入家中的 ZigBee 無線感測網路,並自動開啟所設定的入口及客廳的相關照明設備。

  • 德霖學報第 29 期

    B. ZigBee 無線感測網路架構

    無線感測器網路使用 Ad-hoc 通訊技術,它是指即使沒有諸如特定 AP 或中繼器,也可以在各無線節點之間組成獨立網路的技術。由 Honeywell 公司組成的 ZigBee Alliance 所制定之 ZigBee 無線網路協定[17]是基於 IEEE 802.15.4 低速率無線個人網路標準所發展訂定之無線感測網路標準,它可以將許多小型獨立運作的無線感測器安裝在空間上的運算裝置

    上,並透過無線網路,對環境之物理資訊進行監控和管理,這些感測資訊包括亮度、溫度、

    加速度及磁場等。

    在 ZigBee 網路標準之架構上,主要須考慮的有感測裝置之佈署與隨意(Ad hoc)無線網路之連結,在整個系統架構主要依功能運作區分出三個角色裝置,這此角色裝置包含:(1) ZigBee Coordinator:其工作為建置一個無線網路,設定各項網路參數初始值,並分派每個週邊設備特定之網路位址。(2) ZigBee Router 主要為作為路由器使用,負責在網路上進行路由尋找與封包轉送的工作。(3) ZigBee End Device:則為網路遠端裝置,它通常會嵌入一感測器以作為遠端資訊收集器之用。

    藉由無線感測器節點的內置感測器、控制電路、CPU、無線通訊模組、天線、電源等元件,可與遠端的節點以無線的方式連接,將資料傳輸收集到資料主節點。這樣的應用適

    合各種規模大小之應用,諸如智慧型商業大樓、家庭智慧生活、遠端自動化監控、環境監

    測等。本系統所使用的 XBee 無線網路模組如圖 1 所示。

    圖 1:XBee 無線感測網路模組

    C. Kinect 技術原理

    Kinect 為具有擷取包含彩色影像、3D 深度影像、以及聲音訊號三種體感資訊之感測裝置,本系統利用 Microsoft Kinect SDK 程式開發並使用 Kinect 硬體裝置將所讀取到的深度值以及骨架以建構出物體的三維空間資訊[2]。其相關技術說明如下:

    1. 彩色影像

    Kinect 機身上有 3 顆鏡頭,中間的鏡頭是一般常見的 RGB 彩色攝影機,也就是網路攝影機,網路攝影機一般具有視訊攝影/傳播和靜態圖像捕捉等基本功能,它是藉由鏡頭採集圖像後,由網路攝影機內的感光元件電路及控制元件對圖像進行處理並轉換成電腦所能識

  • 結合無線體感技術與 Arduino 平台之智慧居家系統

    別的數位訊號,然後藉由並列埠或 USB 連接輸入到電腦後由軟體再進行圖像還原。

    2. 3D 深度影像

    Kinect 以紅外線發出人眼看不見的雷射光,透過鏡頭前的光柵(擴散片)將雷射光均勻分佈投射在測量空間中,再透過紅外線攝影機記錄下空間中的每個散斑,擷取原始資料

    後,最後由晶片計算成具有 3D 深度的圖像。

    深度影像主要是由 Kinect 內部的感測晶片進行影像處理,其晶片進行影像分析之原理為運用 Light Coding 技術。Light Coding 技術原理為利用連續光中的近紅外線,對測量空間之物理進行編碼,經感應器讀取光線編碼,交由晶片運算進行解碼後,產生成一張具有深

    度的影像。

    3. Kinect 相關之應用

    Kinect 推出後相關的應用與技術被大量的研究,例如:醫學研究、教學研究、太空發展、音樂藝術與復健等。 面對高齡化社會的挑戰,相關單位已日漸重視居家老人照護,紛紛研發相關的影像監控系統,但傳統影像能提供的訊息有限,無法得知如深度距離與人體動作

    分析等資訊。運用 Kinect 體感感應器,改善了傳統警示按鈕通報器距離的限制與影像監控設備對於光源的依賴,藉由主動式紅外線深度資料得知人體位置與雙手揮手動作,並使用

    陣列式麥克風取得聲音來源方向確定音源,未來裝上電動雲台即可轉動感應器進行關注。

    以主動式的方式來偵測與分析事故發生時,能立即發現揮手求救並發出警報連絡相關人員

    給予適度的照護。

    D. Arduino 開放式發展平台介紹

    Arduino 是一開放程式碼的開發平台[5],近年來常應用在感測器互動式設計中。它提供一個簡易的控硬體控制平台,可以讓系統設計者更容易建置欲設計的硬體,將大部份的

    工作時間花在系統的創意、軟體及流程控制設計上。Arduino 互動式開發平台核心使用ATmega 作為中央運算處理器[8],且依據搭配的晶片不同而配置不同大小的記憶體,其中Arduino UNO 為其第一個的硬體平台,使用型號 Atmel Mega328 微處理單晶片作為核心,並內建 32KB 的程式區與 2KB 的資料暫存區。

    Arduino 平台同時具有完整的周邊模組,提供與外界互動溝通,例如 Arduino UNO 有13 個數位 I/O 埠與 6 個類比輸入埠可連接至感測器、控制器、致動器或其他輸出裝置。在軟體開發平台上,Arduino 提供標準介面,輸入裝置可以藉由標準介面跟互動軟體作溝通,互動軟體包括:使用 Flash、Processing 或其他,增加了 Arduino 在互動式設計上的人機介面的擴展性。

  • 德霖學報第 29 期

    III. 系統架構

    本系統在前端是透過Xbox 360 Kinect[1] 裝置搭配Microsoft Kinect SDK製作出一套可以偵測骨架與動作姿勢的辨識系統;在控制家電操作系統方面,則運用 Arduino 單晶片進行運算處理,並經由 ZigBee 無線感測網路以無線的方式傳送控制指令至遠端的各個家電。本系統架構圖如圖 2 所示:

    圖 2:系統整體架構圖

    A. 系統設計

    系統設計分為三個子系統,包括 Kinect 感測辨識子系統、Arduino 智慧監控子系統及ZigBee 控制家電子系統,分別說明如下:

    1. Kinect 感測辨識子系統:

    本子系統主要由 Kinect 體感器辨識使用者的姿態。首先系統將偵測到的 3D 深度圖像,轉換到骨架追蹤系統,此系統記錄 20 個骨架細節:包含軀幹、四肢以及手指等都是追蹤的範圍,達成全身體感操作。本子系統主要辨識 4 個動作,包括:(1)舉左手、(2)舉右手、(3)雙手交叉抱胸、(4)雙手平行於胸前。

    2. Arduino 智慧監控子系統:

    本子系統設計一個主控制端電路,主要功能為自 Kinect 感測辨識子系統經由網路

    使用者 Kinect 體感器

    Arduino 主控制子系統

    ZigBee 無線感測網路

    環境感測

    控制家電設備

    動作辨識子系統

    家電控制子系統

    網路連線

  • 結合無線體感技術與 Arduino 平台之智慧居家系統

    取得控制之命令,將控制訊號經由 Arduino 主控端模組處理分析送出至家電控制子系統。主要架構為藉由在 Web Server 上設計一網頁,使用網頁參數的方式接收來自Kinect 感測辨識子系統的控制參數。

    控制家電網頁後端使用 PINK 網路伺服器模組連接 Arduino,PINK 網路模組主要作為嵌入式 Web Server,將控制家電的指令接輸出至 Arduino 主控端模組,以作進一步的處理。相關模組包括:Web Server 網路模組、Arduino 主控端模組,以下分別介紹各個模組功能:

    (1) 網路模組主要功能為自網路(TCP/IP)取得使用之命令,PINK 網路模組將控制家電的指令直接輸出至 Arduino 主控端模組。

    (2) Arduino 主控端模組包含 Arduino 與 XBee,運作原理為:首先 Arduino 接收自Web Server 之訊號後,判斷並將控制家電之命令,經由 XBee 無線模組傳送到控制家電 Client 端。

    3. ZigBee 控制家電子系統:

    Arduino 為可獨立運作之單晶片套件,其可搭配使用的感測器及致動器。本系統將利用無線 Arduino 模組接收後端傳來的控制訊號,以控制室內的家電作開啟或者關閉。此外,藉由 Client 子系統上的感測器,亦可自動控制家電週邊的開關,同時將感測資訊傳回後端,以做為決策的依據。

    B. 系統流程

    本系統整個流程從偵測使用者姿態開始,透過 Kinect 體感器辨識動作後,再利用Arduino 主控制子系統將控制指令經由 ZigBee 無線感測網路子系統,來控制門禁、電燈及電扇等設備。本系統開發主要分為 3 個部份,包含體感辨識子系統程式之設計、Arduino 主控制子系統之電路實作與程式設計、ZigBee 無線感測網路家電控制電路之實作。

  • 德霖學報第 29 期

    圖 3: 系統流程圖

    IV. 系統實作

    A. 實驗方法與硬體配置

    本系統實作之家庭智慧屋後端主控系統如圖 4 所示,每個家電都連接一個 ZigBee 無線感測模組,之後電腦會透過網路連線各家電之 ZigBee 模組,藉由控制家電開、關。此系統主要將家電控制子系統與 ZigBee 無線網路控制家電子系統作一整合,實作成果分別說明如下:

    圖 4:家庭生活智慧屋系統硬體配置

    使用者動作

    Kinect 動作辨識子系統

    Arduino 主控制子系統

    ZigBee 家電控制子系統

    門鎖控制

    模組

    電燈控制

    模組

    電扇控制

    模組

    無線傳輸

  • 結合無線體感技術與 Arduino 平台之智慧居家系統

    1. 家電控制子系統:

    本子系統將每個家電都使用對應的參數名稱予以控制,只用正確設定參數的值,

    即可控制相對應的家電,包含:(1)門鎖開關、(2)電扇開關、(3)電燈開關、(4)電燈自動感應開關。完成之實作電路包括 Arduino 主監控模組與 Web Server 網路模組,如圖5 所示。

    圖 5:Arduino 主監控模組(左) 與 Web Server 網路模組(右)

    2. ZigBee 無線網路控制家電子系統:

    本子系統控制的電器包含門禁系統及燈光系統、風扇系統,在每一個家電加裝一

    個 ZigBee/Arduino 的模組,家電控制子系統透過 ZigBee 無線網路傳送控制訊號給各個室內家電。已完成能夠操作的家電包括:

    (1) 門禁控制模組:利用 ZigBee 接收命令後,透過 Arduino 模組控制門的開關。

    (2) 情境燈/光感控制模組:利用 ZigBee 接收命令後,透過 Arduino 模組燈光,同時裝有感測器可自動依情境亮度來控制燈光的的明暗,實作完成作品如圖 6 所示。

    (3) 風扇控制模組:透過網路訊號的控制風扇的開關。

  • 德霖學報第 29 期

    圖 6:情境燈與控制模組

    3. Kinect 感測辨識子系統:

    本系統設計與開發工具包含 Windows Kinect SDK 與 Visual Studio 2010,子系統由電腦讀取 Kinect 骨架動作,再網路連線至 Arduino 主控制子系統,透過 ZigBee 無線網路將控制電燈、電扇的之命令傳送至遠端,執行家電開關的動作。

    本系統首先利用 MS Visual Studio2010 先設計出 Kinect 感測辨識程式,並將操控結果呈現在畫面上,當電燈打開的狀態時,電燈的 OFF(紅)會變成 ON(綠)。圖 7、圖8 所示為以左手舉高的姿勢來開啟電燈,並將開啟電燈的狀態顯示於視窗程式,圖 9、圖 10 所示為雙手抱胸的姿勢來關閉電燈。電扇開啟則經由電腦的監控畫面按鍵變色可知右手舉起時電扇開啟,如圖 11 所示,右手平行舉在胸前電扇關閉,如圖 12 所示。

    圖 7:控制畫面-感測到左手舉高,程式顯示開啟電燈

  • 結合無線體感技術與 Arduino 平台之智慧居家系統

    圖 8:左手舉高,電燈開啟

    圖 9:控制畫面-手臂交叉抱胸動作使電燈關閉

    圖 10:雙手抱胸,電燈關閉

  • 德霖學報第 29 期

    圖 11:右手舉起,電扇開啟

    圖 12:右手平行舉在胸前,電扇關閉

    V. 結論 本研究實作一個完整的系統,讓使用者藉由Kinect體感器,使用特定動作就能控制家電,

    讓使用者不用走到家電面前,因而可以增加使用者的便利性以及省下使用者的時間。 系統使用 Arduino 和 ZigBee 等技術,透過無線網路來控制家電,因此讓行動不便者和

    老年人生活得更便利。 系統未來還可以延伸至操作其他家電,如操作冷氣—調節冷氣的溫度高低,操作窗簾—

    控制窗簾上升與下降的動作,以利於使用者生活更方便,故系統能夠延伸的更多元化,將

    更多的住家安全,或者室內家電整合為一。此外在使用者端,即使利用 Kinect 體感器控制家電用品,但智慧型手機普及的情況下,不單單局限於 Kinect 體感器,也能使用 Android手持裝置去控制延伸到更多方便的應用。因此,本研究可作為進一步研究之基礎技術。

    本研究還可以延伸至利用手機感應到特定 NFC Tag 等無線感測元件 ,便可以自動將指定之電燈、電扇等家電依設定進行亮度與強度上的調整,使其達到具有情境自動化功能的

    完整、完善。

  • 結合無線體感技術與 Arduino 平台之智慧居家系統

    VI. 參考文獻

    [1] Robert Faludi 原著,林義翔、士達譯(2012)。建置無線感測網路。碁峰,。

    [2] 小林茂著、許郁文譯(2012)。Prototyping Lab「邊做邊學」。Arduino 的運用實例。馥林文化。

    [3] 李俊賢(2007) 。ZIGBEE 技術規格與測試方案之發展。電腦與通訊期刊,第 119 期。

    [4] 孫棣譯(2009),ZigBee 開發手冊,全華。

    [5] 梅克.施密特(Maik Schmidt)著、曾吉弘譯(2012)。Arduino 快速上手指南。馥林文化。

    [6] 盛暘科技(2009)。FT-6260 高功率 ZIGBEE MESH 快速開發套件使用手冊R1.3。

    [7] 黃凱聖(2009)。數位家庭中的智慧型控制機制。大同大學碩士論文。

    [8] 陳光雄(2011)。體感創作 DNA ─「想」與「做」間的拔河與結合。藍海文化。

    [9] 陳世興(2012)。Google 雲端技術─ Maps、Android、App Engine CloudSQL 與電子商務 API 實務。全華。

    [10] 陳柏皓(2008)。基於 UPNP 與 ZIGBEE 的家庭自動化系統設計與實作。國立台北科技大學自動化科技研究所碩士論文。

    [11] 陳朝陽(2010)。ZigBee 無線感測網路結合紅外線遙控之網際網路端控制系統。僑光科技大學碩士論文。

    [12] 黃鴻翔(2007)。支援跳頻之 IEEE 802.15.4 ZIGBEE 無線隨身網路機制設計與實現。國立中央大學通訊工程研究所碩士論文。

    [13] 劉明誌(2010)。基於 ZigBee 家庭自動化系統設計與實作。國立台北科技大學碩士論文。

    [14] 劉超群。Kinect 體感程式探索-使用 C#。松崗出版社。

    [15] 曾煜棋、潘孟鉉、林致宇(2011)。無線區域及個人網路:隨意及感測器網路之技術與應用。碁峰。

    [16] 傅子恆(2007)。ZIGBEE 技術縱橫(上)。新通訊期刊。第 80 期。

    [17] 楊群期(2008)。寬頻無線網路於遠距居家照護之研究。國立東華大學資訊

  • 德霖學報第 29 期

    工程學系碩士論文,花蓮縣。

    [17] Pottie, G.J.,& Kaiser, W.J.(2001). Wireless Integrated Network Sensors, Communication of the ACM, Vol.43, No.3, pp. 121-133.

    [18] Ahn, G.S., Campbell, A.T., Veres, A.,& Sun¸ L.H.(2002). SWAN: Service Differentiation in Stateless Wireless Ad Hoc Networks. In Proc. IEEE INFOCOM'2002.

    [19] Microsoft Inc. Kinect. Available: http://www.xbox.com/zh-TW/kinect

    [20] Microsoft Inc. NKinect. Available: http://nkinect.codeplex.com/

    [21] OpenKinect. The OpenKinect project Available: http://openkinect.org/wiki/Main_Page

    [22] Hea, T., Stankovic J.A, Lu, C.,& Abdelzaher, T.(2003). SPEED: a stateless protocol for real-time communication in sensor networks. in Proc. IEEE International Conference on Distributed Computing Systems, pp. 46-55.

    [23]Raghunathan, V., Schurgers, C., Park, S. & Srivastava, M.B.(2002). Energy-Aware Wireless Microsensor Networks. IEEE Signal Processing Magazine, 19: 40–50.

    http://www.xbox.com/zh-TW/kinecthttp://nkinect.codeplex.com/

    I. 前言II. 技術背景A. 智慧家庭生活系統相關研究B. ZigBee無線感測網路架構C. Kinect技術原理D. Arduino開放式發展平台介紹

    III. 系統架構A. 系統設計B. 系統流程

    IV. 系統實作A. 實驗方法與硬體配置

    V. 結論VI. 參考文獻