You are on page 1of 69

7 修平技術學院

電機工程系
DEPARTMENT OF ELECTRICAL ENGINEERING
HSIU-PING INSTITUTE OF TECHNOLOGY

實務專題報告書
無線網路智慧居家監控

指 導 老 師 : 林 振 漢

專題製作學生:四技電四甲 張勻碩

四技電四甲 游順淳

四技電四甲 詹文吉

四技電四甲 陳永昕

中華民國 九十七 年 十二 月 八 日
修 平 技 術 學 院
電機工程系
HSIUPING INSTITUTE OF TECHNOLOGY
Department of Electrical Engineering

指導老師:林振漢
專題製作學生:張勻碩,游順淳,詹文吉,陳永昕

製作日期:97 年 12 月 08 日

2
無線網路智慧居家監控

摘 要
近年來資訊化建築與智慧型家庭自動化科技蓬勃發展,在此新興科技領域中,
無線感測網路(Zigbee)、無線射頻身份辨識(RFID)…等技術,大量應用在智慧型
家庭。在這些網路監控系統中,需要搭配大量的單晶片微控制器,做為感測與驅
動的控制端點元件。因此選用適合的微控制器,整合到系統中,使其功能效用最
大化,是此領域發展重要課題之一。盛群半導體公司的 HT-46 系列 8 位元單晶片
具高抗雜訊,低功率耗電、價格便宜、嵌入式控制介面…等功能特性,廣泛應用
在一般消費電子、資訊家電上,很適合運用在智慧型家庭自動化科技。本作品將
使用 HT46F49E/HT46R24 微控制器,整合單晶片技術、Zigbee 技術、建構一個
Web-Base 的無線感測網路監控系統,應用在智慧型家庭自動化上。系統功能包
括:智慧型居家照明設備、溫濕空調設備、防災保全設備的監控,確保居家安全
與維持良好家庭環境。本作品採用線上燒錄功能晶片-HT46F49E,將可提供更方
便的系統維護與韌體修改需求。此外,監控系統採用 PHP 程式撰寫的 Web-Base
人機界面執行遠端監控,只要利用網際網路與無線行動上網裝置,隨時掌握家
庭的狀況。
關鍵字:無線感測網路(Zigbee)、Web-Base 監控系統、智慧型家庭。

3
無線網路智慧居家監控

目 錄
Chapter 1 序論

1-1 動機 ………………………………….…………………..……..()
1-2 作品功能與架構圖說明 …….…………………………..……()
1-3 專題特色/創新與實用法 ……………………..……….…….…..()

Chapter 2 相關硬體原理介紹與說明

2-1 晶片原理說明與介紹
2-1-1.HT46F49E 晶片介紹 ………………………………………..()
2-1-2.HT46F49E 基本功能介紹 …………………………………..()
2-1-3.HT46E49E 內建功能介紹 …………………………………..()
 類比-數位轉換介面 (Analog to Digital Converter)
 PWM ( Pulse Width Modulation ) 輸出介面
 低電壓自動重置電路(Low Voltage Reset Circuit ; LVR)

2-2 無線感測通訊原理說明與介紹
2-2-1. Zigbee 原理 …………………………………………………..()
 Zigbee 標準制定
 Zigbee 實體層使用頻帶
 Zigbee 傳輸傳輸模式與 Zigbee 網路層
 ZigBee/802.15.4 規範之技術特性

4
無線網路智慧居家監控

2-2-2. Zigbee 與藍芽的分析與比較 ………………..……………()


 系統複雜性
 可靠性
 消耗功率
 主要技術及性能參數比較

2-3. EE8 系列感測器原理與應用


2-3-1. EE8 系列感測裝置簡介…………………………….….……()
2-3-2.輸出特性:…………………………………………….………()
2-3-3.一般特性………………………………..……………………()
2-3-4.接線圖 ……………………………………………………..…()

Chapter 3 相關軟體原理介紹與說明

3-1. Protel 電路製作工具 ……………………………………………..()

3-2. HT-IDE3000 開發工具 ……………………………………….…..()

3-3. EVER Pro S1000 線上燒錄 ………………………………….…..()

3-4. 程式發展工具-Visual Basic 6.0…………………………….…...()

3-5 Apache Server 架設與 PHP 程式


3-5-1. 架設 Apache Server……………………….…….….…...…..()
3-5-2. PHP 簡介 ………………………………………….….…........()
3-5-3. Dreamweaver CS3…………………….……...………….…..()
3-5-4. PHP 的串列通訊 …………………….……...……………….()

Chapter 4 工作原理

4-1. Zigbee 模組元件 …………………….……...…………………....()

5
無線網路智慧居家監控

4-2. 系統作業原理
4-2-1 感測與驅動監控層 …………………….………………...…..()
4-2-2 Zigbee 監控網路 …………………….…….......................…..()
4-2-3 Web-Base 監控系統 (Apache-PHP) …………………....…..()

4-3. Holtek 微控制器的核心功能 …………………….……….....…..()

Chapter 5 硬體電路製作與軟體程式

5-1. 硬體電路部分
5-1-1. HT46F49E 晶片線上燒錄電路 …………………….….....…..()
5-1-2. Zigbee 無線發射接收模組電路 …………………….………..()
5-1-3. 感測與驅動介面電路 …………………….……………...…..()
5-1-4. Zigbee 搖控器電路 ………………………………...……...…..()
5-1-5. Zigbee 基地台電路 ……………………………..….……...…..()
5-1-6.展示用模型屋 …………………….……..............................…..()
5-2. 軟體程式部分
5-2-1. Zigbee 網路通訊協定 ……………………………...……...…..()
5-2-2. Zigbee 感測監控裝置程式 …………………….……..…...…..()
5-2-3. Zigbee 搖控器程式 …………………….……………..…...…..()
5-2-4. 監控軟體 …………………….………………………….....…..()

6
無線網路智慧居家監控

Chapter 6 實作呈現

6-1. 測試方式
6-1-1. 測式方式解說 …………………………………………...…..()
6-1-2. 電路板測試…………………….………………….…...…..()
6-1-3. Zigbee 無線網路測試 …………………….……...…..()
6-1-4. 監控系統整合測試 …………………….……...…..()
 PC 電腦主機基本監控
 Zigbee 搖控器監控
 智慧居家環境監控
 PC 電腦主機保全監控
 Web-Base 網際網路遠端監控

Chapter 7 結論

7-1. 專題作品結論 ………….……...…..()

Chapter 8 附錄

8-1. 操作手冊
8-1-1.系統安裝與啟動 …………………….……...…..()
8-1-2.電腦無線監控 HT 模組的操作…………………….……...…..()
8-1-3.PHP 網際網路無線監控的操作 …………………….……...…..()
8-2. 本作品所使用參考的文獻資料書籍 …………………….……...…..()

7
無線網路智慧居家監控

8
無線網路智慧居家監控

Chapter 1 序論

1.1. 動機
科技的發展與進步,最重要的目的是,提供人類一個舒適與便利的生活與居
住環境,此外還能顧及環保生態,達到人類永續生存與發展的目標。近年來資訊
化建築與智慧型家庭自動化科技蓬勃發展,在此新興科技領域中,最新的無線
感測網路-Zigbee、無線射頻身份辨識-RFID…等技術,大量應用在智慧型家庭。
在這些監控網路系統中,需要使用到大量的單晶片微控制器,做為感測與驅動
的控制端點元件。因此選用適合的單晶片微控制器,應用到此系統中,亦是此領
域發展重要課題之一。
盛群半導體公司的 HT-46 系列 8 位元單晶片具高抗雜訊,低功率耗電、價格便宜、
嵌入式控制介面…等功能特性,廣泛應用在一般消費電子、資訊家電上,很適合
運用在智慧型家庭自動化科技。HT-46 系列單晶片微控制器應用在網路監控上,
本系學長在第二屆盛群杯的參賽得獎作品-” HOLTEK 晶片在網路監控的整合
應用 ”,使用 HT-46 晶片建立 RS-485 網路,已經累績許多實務經驗。本屆我們
的參賽作品中,藉由此一經驗技術,進一步擴充到 Zigbee 無線感測網路,並建
構一個 Web-Base 的網際網路無線感測監控,應用在智慧型家庭自動化上。
1.2. 作品功能與架構圖說明
本作品使用多顆 HT46F49E 具有線上燒錄功能(ISP)的 8 位元微控制器,結合
Zigbee 無線感測網路技術(IEEE 802.15.4 標準),與 Web-Base 網際網路監控,建
構一套智慧居家監控系統。作品結構如圖 1,功能說明如下:
(1) HT46F49E 微控制器的 I/O 控制埠可驅動燈光、家電、空調、門禁…等設備數位
開關;微控制器內建 10 位元的 ADC 功能用來擷取溫度、濕度、CO2 等類比訊
號,做為感測與驅動的控制端點元件。
(2) HT46F49E 晶片透過 Zigbee 模組與其他監控設備做網路連線。在 Zigbee 網路
上,我們建立一套簡易的通訊協定,讓每一個 HT46 晶片的監控訊號狀態,
可相互的傳達與連繫,達到無線網路監控的目的。例如,使用 HT46 晶片製作
的 Zigbee 搖控器,無線搖控與設定任何燈光、家電、門窗、空調設備。
(3) 透過 Zigbee 基地台可將網路連接到具有 Web-Base 監控能力的 PC 電腦伺服
機(Apache 網站),透過 PHP 程式與 MySQL 的資料庫存取,提供網際網路遠
端監控服務功能。例如,可提供警察局或保全單位做家庭安全監控。外出的家

9
無線網路智慧居家監控

人也可透過行動裝置(如手機、筆記型電腦或 PDA),直接連接回家中,隨時掌
握或設定家庭監控系統。

圖 1:架
構 圖
1.3. 專


色/



實用法
本作品採用盛群半導體公司最新推出可線上燒錄的 HT46F49E 晶片,整合
Zigbee 無線感測技術與 Web-Base 網路監控功能,提供智慧型家庭自動化的一套
具體無線監控方案。作品創新與特色,說明如下:
(1) HT46F49E 具有線上燒錄功能微控制器,應用在 Zigbee 網路上,提供晶片韌
體即時便捷的修改與維護,例如監控方式改變或網路通訊協定修正,都可直
接下載更新韌體程式。
(2) 使用 HOLTEK 微控制器做為感測與驅動的控制端點元件,應用在資訊家電、
消費電子裝置上,可透過程式的撰寫,做智慧型環境溫濕度、照明、門禁保全
監控,充份發揮嵌入式晶片的功能特性。
(3) 使用 Zigbee 搖控器,取代傳統紅外線搖控器,可同時控制多個家電裝置。網
路型的搖控範圍擴大,雙向式的通訊型態,大幅提昇家電與保全監控功能。
採用 Web-Base 監控方式,讓家裡外出家庭人員,警察局或保全公司,利用
網際網路與無線行動上網裝置,隨時掌握家庭安全與智慧型監控的狀況。此外,
使用 PHP 網路監控程式,可以很容易移植到 Linux 系統上。由於 PHP 監控程式
可架設在免費的 Linux 平台,而且目前為產業界廣泛使用。

10
無線網路智慧居家監控

11
無線網路智慧居家監控

Chapter 2 相關硬體原理介紹與說明

2-1. 晶片原理說明與介紹
2-1-1.HT46R24 晶片介紹
HT46F4XE 系列為盛群半導體公司所推出的『八位元 A/D Type 微控制器』,
此系列 IC 採用先進的 COMS 技術製造,因此具有『低功率消耗』、 『高速執行』的
特性,其中包含了:
 13 to 23 bidirectional I/O lines
 8-bit programmable Timer/Event Counter
 4 channels 8 or 9-bit resolution A/D converter
 1 or 2 channel 8-bitPWMoutput shared with I/O lines
 Low Voltage Reset Circuit ; LVR
 Power down and wake-up functions to reduce power consumption
 Watchdog Timer function

Block Diagram

12
無線網路智慧居家監控

13
無線網路智慧居家監控

2-1-2.HT46F49E 基本功能介紹
編 號 名 稱 說 明
1 工作電壓 2.2V~5.5V (FSYS = 4MHZ)
3.3V~5.5V (FSYS = 8MHZ)
4.5V~5.5V (FSYS = 12MHZ)
2 外部中斷 外部中斷
( External Interrupt )
3 內部中斷 A/D
(Internal Interrupt) Timer/Event Counter
4 程式計時/計數器 具溢位中斷與七位元預除功能的
8Bit Timer/Event 8Bit Timer/Event Counter
Counter
5 振盪器 具內建晶體及 RC 振盪器
6 看門狗 WDT 當機時,系統具自動回復功能
7 程式記憶體 4Kx15
Program Memory
8 資料記憶體
Data Memory Rom 128x8
10 PFD 可做為音效之產生
(Programmable
Frequency Divider )
11 採用 CMOS 結構,具有 在 4MHz、VDD = 5V 時所須之電
強大的 I/O 驅動能力 流約為 2mA
(VDD = 5v 時,I/O Port
Source Current =-
10mA;Sink
Current≒20mA)
12 A/D Converter 為四個通道,解析度 9-Bit。
13 PWM PWM 輸出介面
14 低壓自動重置電路 LVR 將電源下降偵測功能整合於微控
(Low Voltage Reset 制器內。
Circuit)

14
無線網路智慧居家監控

2-1-3.HT46F49E 內建功能介紹
 類比-數位轉換介面 (Analog to Digital Converter)
ADRL (24h):低位元組 A/D 轉換值暫存器 ( A/D Result Register Low Byte)
ADRH (25h):高位元組 A/D 轉換值暫存器 ( A/D Result Register Low Byte)
ADCR (26h):A/D 轉換控制暫存器 (A/D Converter Control Register)
ACSR (27h):A/D 轉換時脈設定暫存器 (A/D Converter Control Register)
四個通道(PB3-PB0)做為類比-數位轉換功能,解析度為 9-Bit

類比輸入信號由 PB 的接腳輸入,轉換的結果 (D0-D8)則存放於 ADRH 和


ADRL 暫存器中

HT46F49E 之 A/D 轉換結果存放


格式

15
無線網路智慧居家監控

A/D Converter Structure

A/D Converter Clock Source Register

16
無線網路智慧居家監控

A/D Clock Period Examples

A/D Conversion Timing

A/D Conversion Time

依 時 序圖所示 A/D 轉換器完


成一次轉換約需花費 32 個 TAD 的時間 (即為轉換時間 『Conversion Time』),而
TAD 所指的就是轉換之時脈週斯。以 FSYS =2 為例,若選擇 ADCS1 - ADCS0 = 0 1
,則此時之 TAD = 2μS ,轉換時間 = 64μS。原廠的 Data Sheet 中有一項限制:
TAD ≧ 1μS ,也就是說其 A/D Converter 最短的轉換時間為 32μS,如果所選擇

17
無線網路智慧居家監控

的轉換時脈 ( ADC Clock Source ) < 1μS 的話,則並不保證轉換結果的正確性。

A.C. Characteristics

Ideal A/D Transfer Function

18
無線網路智慧居家監控

 PWM ( Pulse Width Modulation ) 功能


PWM0:PWM0 週期控制暫存器 (PWM0 Duty Cycle)
PWM1:PWM1 週期控制暫存器 (PWM0 Duty Cycle)

HT46F49E 提供 2 個通道
的 PWM 輸出;必須在 Options 中選用此功能,此時 PWM 信號將由 PD0、PD1
輸出,PWM 計數器所需時脈來源為 FSYS,而其 Duty Cycle 及調變週期
(Modulation Cycle)分別由 PWM0 與 PWM1 暫存器控制。當於 Options 選用
PWM 之功能後,若設定 PD.0 / PD.1 為「1」,PWM 信號即開始由 PD.0 / PD.1
輸出;若設定為「0」,則 PWM 訊號停止輸出,並強迫使 PD.0 / PD.1 接腳維持
在低電位狀態。
HT46F49E 提供了兩種 PWM 模式:

19
無線網路智慧居家監控

1.( 6+2 ) Mode:


此時 PWM 週期被分割成四個調變時段 ( Modulation Cycle 0-3) ,每個
Modulation Cycle 為 64 個工作時脈,而 PWM 暫存器之控制位元區分為
DC( PWM.7-PWM2 ) ,AC ( PWM.1-PWM.0 )

6+2 PWM Mode

6+2
Mode Pulse Width Modulation Register

2.( 7+1 ) Mode:


此時 PWM 週期被分割成兩個調變時段 ( Modulation Cycle 0-1) ,每個

20
無線網路智慧居家監控

Modulation Cycle 為 128 個工作時脈,而 PWM 暫存器之控制位元區分為 DC


( PWM.7-PWM1 ) ,AC ( PWM.0 )。

7+1 PWM Mode

7+1
Mode
Pulse
Width

Modulation Register

21
無線網路智慧居家監控

 低電壓自動重置電路(Low Voltage Reset Circuit ; LVR)


HT46XX 提供了低電壓重置電路(LVR)用以監測微控制器電源電壓的變化,欲
使用此項自動重置之功能,必須在 Options 中加以應用。
選用 LVR 功能後,若晶片工作電壓範圍在 0.9v~VLVR,而且維持 1mS 以上,
則 LVR 會自動將微控制器重置。
Low Voltage Reset Timing Chart

Low Voltage Reset

22
無線網路智慧居家監控

2-2. 無線通訊原理說明與介紹
2-2-1. Zigbee 原理
ZigBee 是一種家庭區域網路,為取代不斷增加的獨立遙控器而設計。當初建
構 ZigBee 是為了滿足市場對支援低資料速率、低功耗、安全可靠的基於標準的低
成本無線網路的需求。為滿足此一需求,ZigBee 聯盟在 IEEE 802.15.4 無線標準
之上開發了標準化的應用軟體。該聯盟與 IEEE 密切合作以保證為市場提供一個
整合的、完整的和可互操作的網路。
 Zigbee 標準制定
標準制定上為 IEEE 802.15.4 小組主導實體(PHY)層、媒體存取控制(MAC)層、
資料鏈結層,以及傳輸過程中的資料加密機制等發展。ZigBee Alliance 主導
軟體標準,並共同針對 ZigBee Protocol Stack 的發展進行研議,未來還能依
系統客戶的需求,為不同應用修正其所需之應用介面。
Zigbee 通訊協定分工圖

 Zigbee 實體層使用頻帶
實體層負責啟動和停止無線電收發器、選擇通道、能量偵測以及封包的傳
送和接收等功能 。DSSS 直序展頻技術,頻段有三,共 27 頻道:

23
無線網路智慧居家監控

 Zigbee 傳輸模式與速率
ZigBee 資料傳送模式可分為二種模式三種類型,第一種模式同步模式(有信
標 之 網 路 ) : 裝 置 須 先 取 得 信 標 與 協 調 者 同 步 , 並 以 時 槽 式 (slotted
CSMA/CA)方式傳送資料。第二種非同步模式(無信標之網路):裝置利用非時
槽(unslotted CSMA/CA)方式傳送資料。三種類第一為裝置→協調者;第二為
協調者→裝置;第三則是裝置(協調者)→裝置(協調者)是將前面兩種運作方式
的結合。

24
無線網路智慧居家監控

傳輸速率 介 於 20kbps ~
250kbps 之間,並隨著傳輸距離的延長而減慢。
不 過 藉 著提 高 發 射 功 率 , 還 是 可 以 達 到 100 公尺 的傳 輸 距 離 內 , 每 秒
250kbps 的傳輸速率。由於具備高鏈結數與低耗電的特性,對於 ZigBee 在感
應式網路(Sensor Network)上的使用,就具有相當大的優勢。例如:在工廠內
的作業溫度量測及遠端監視、水電瓦斯計度的記錄、保全防護的監控上,業
者不需經常更換電池或佈建供電網路,只需極少的人力與設備,即可取得
所需的資訊。
 Zigbee 網路層
網路拓樸型態(Topology)。一般大多數的無線網路都只採行 Star(星狀、放
射狀)方式,而 ZigBee 則較為靈活,除 Star 狀外也可用 Peer-to-Peer(成對
配接,如電視配電視遙控器、冷氣配冷氣遙控器,互無關連 )的方式,不
過 Star、Peer-to-Peer 是使用、應用層面的邏輯拓樸,而更底層的實際溝通、
聯繫運作的拓樸則允許用各種複雜且多樣變化的連接,如 Cluster Tree(叢
串樹狀)、Cluster Star(叢串星狀)、Mesh(雜網狀)、Hybrid(雜混狀)。ZigBee
網路最多可支援 65000 個節點,也就是說每個 ZigBee 節點可以與數萬結點
相連接。
網路拓樸型態圖

25
無線網路智慧居家監控

Zigbee 居家網路拓樸圖



 Z
i
g
B
e
e
/
8
0
2
.15.4 規範之技術特性
有三種操作頻帶共 27 個通道提供三種資料傳輸速率。 低功率消耗,因為資
料傳輸速率低(傳輸資料量少)以及極短之執行週期且有睡眠模式,因此功率
消耗非常低。網路連接之拓樸方式可選用星型、叢集型及網狀。使用類似於
IEEE 802.11 之 CSMA/CA 之碰撞避免機制。支援低延遲設備。具有連線品質
指示(Link Quality Indication, LQI)功能。

2-2-2.Zigbee 與其藍芽的分析與比較
ZigBee 是一種近距離、低複雜度、低功耗、低數據速率、低成本的雙向無線通信
技術,主要適合於自動控制、傳感、監控和遠程控制等領域,可以嵌入各種設備
中,同時支持地理定位功能。IEEE802.15.4 工作組定義了一種廉價的供固定、攜
帶或移動設備使用的極低複雜度、成本與功率消耗低和無線連接技術。ZigBee 聯
盟在制定 ZigBee 標準時,採用了 IEEE802.15.4 作為其物理層和媒體接入層規範。
在其基礎之上,ZigBee 聯盟制定了數據鏈路層(DLL)、網絡層(NWK)和應
用編程接口(API)規範,並負責高層應用、測試和市場推廣等方面的工作。
藍芽也是一種短距離無線通信技術,自藍牙規範發佈以來,它在越來越多的

26
無線網路智慧居家監控

領域得到了應用。比如工業自動控制、家庭自動化、電信級的音頻傳輸、PDA、手機
和 PC 機外設等。

 系統複雜性
ZigBee 的系統複雜性要遠小於藍牙的系統複雜性。ZigBee 協議簡單,實現
相對容易,需要的系統資源也較少,據估計運行 ZigBee 需要系統資源約
28Kb;藍芽協議相對複雜,它需要系統資源約為 250Kb。
ZigBee 定 義 了 兩 種 類 型 的 設 備 : 全 功 能 設 備 FFD ( Full Functional
Device)和簡化功能設備 RFD(Reduced Function Device)。網絡為主從結構,
一個網絡有一個網絡協調者(Coordinator)和最多可達 65535 個從屬設備。網絡
協調者必須是 FFD,它負責管理和維護網絡,包括路由、安全性、節點的附著
與離開等。一個網絡只需要一個網絡協調者,其他終端設備可以是 RFD,也
可以是 FFD。RFD 的價格要比 FFD 便宜得多,其佔用系統資源僅約為 4Kb,
因此網絡的整體成本比較低。從這一點來說,ZigBee 非常適合有大量終端設
備的網絡,如傳感網絡、高樓自動化等。
 可靠性
信號在無線環境中傳輸,必然存在大尺度衰落、陰影衰落、多徑和干擾等
問題。ZigBee、藍芽和 WLAN(IEEE802.11b)都是工作於 2.4GHzISM 頻段,相
互間的干擾是不可避免的,因此保證可靠性極為重要。下面分別討論 ZigBee
和藍芽為保證可靠性所採取的措施。
ZigBee 有 三 個 工 作 頻 段 : 2.402 ~ 2.480GHz 、 868 ~ 868.6MHz 、 902 ~
928MHz,共 27 個信道。信道接入方式採用 CSMA-CA,能有效地減少了彼
此的衝突。
為抗干擾和多徑,ZigBee 在物理層採用直接序列擴頻 DSSS 和頻率捷變
FA 技術 。ZigBee 的 DSSS 在 900MHz 頻段採用了每符號 15 個碼片,在
2.4GHz 頻段採用了每符號 32 個碼片,這比 IEEE802.11b 的 DSSS 所採用的
每符號 11 個碼片有更強的抗干擾和多徑的能力。
為了保證資料的正確傳輸,ZigBee 在 MAC 層採用了兩個措施:ARQ 和
資料暫存。當一資料傳給一個設備時,如果接受設備處於忙或者休眠狀態而
不能接收該資料,那麼網絡協調設備就暫時存進該資料,直到收端能接收該
資料。在網絡層上,ZigBee 能夠利用網狀網路拓撲特性下,保證了無線網絡
的穩定性。
藍芽的工作在 2.402~2.480GHz 頻段,它採用了跳頻擴頻 FHSS,在 79 個
信道上每秒鐘 1600 次跳頻,查尋狀態時,跳變速率為每秒 3200 跳,有效地
降低了干擾。
在差錯控制方面,基帶控制器採用三種檢除錯方式: 1/3 前向除錯編碼
(FEC)、2/3 前向除錯編碼和自動請求重傳(ARQ)。分組報頭含有重要的

27
無線網路智慧居家監控

連接信息和糾正信息,始終採用 1/3FEC 方式保護性傳輸。


 消耗功率
低功率消耗是 ZigBee 的一個重要特徵。在一個典型的 ZigBee 傳感網絡中,
一塊普通鹼性電池可以供 ZigBee 設備工作六個月到兩年!下面討論 ZigBee
獲得低功率消耗的方法。
ZigBee 的 MAC 信號接收機制有兩種:無信標(Beacon)模式和有信標模
式。無信標模式就是標準的 ALOHACSMA-CA 的信號接收機制,終端節點只
在有數據要收發的時候才和網絡會話,其餘時間都處於休眠模式,這樣低平
均功率消耗非常低。有信標模式下,終端設備可以只在信標被呼叫時醒來,
並偵測位址,如果沒有偵測到自己的位址,則又轉入休眠狀態。信標對簇形
網絡(Clustertree network)和網狀網(mesh network)的節點同步尤為重要,
節點不用長時間偵測信號而消耗能量。
網絡拓撲結構對功率節省也有很重要的關係。星形和簇形網絡結構比網狀
網結構更有利於功率節省。因為前者的終端節點不充當路由器的功能,只收
發自己的數據,這樣可以更節省更多功率。
藍芽主要採用兩種方式來控制功率:自適應發射功率和調整基帶連接模
式。 在自適應發射功率控制方式中,當從屬設備檢測到接收信號強度指示值
(RSSI,Receive Signal Strength Indicator)小於最低值時,從屬設備可以請
求主控設備增大的發射功率,反之,當 RSSI 大於某個規定的值時,從屬設
備也可以請求主控設備降低發射功率。
藍芽基帶有四種連接模式:活躍(Active)、呼吸(Sniff)、保持(Hold)
和休眠(Park)。通過調節基帶連接模式,也可以實現節約功率的目的。活躍、
呼吸、保持、休眠這四個狀態消耗的平均功率依次減小,但設備響應時間也依
次增加。
 主要技術及性能參數比較
比較 ZigBee 藍芽

使用頻段 2.4GHz/915MHz/868 2.4GHz


MHz
擴頻方式 DSSS FHSS

Data rate 20-250kb/s 1Mb/s

調變方式 BPSK/O-QPSK GFSK

數據傳輸速率 2.4GHz:250Kbit/s 1Mb/s


915MHz:40Kbit/s
868MHz:20Kbit/s

28
無線網路智慧居家監控

傳輸距離 10-100m 10m


Up to 400m 100m dep.on
網路傳輸時間
New slave enumeration 30 ms 20 s
Sleeping slave changing 15 ms 3s
to active 156 ms 2 ms
Active slave channel
access
安全性 128 bit 64bit.128bit
AESandapplication
layer user defnable
複雜性 Simple Complex

網路結構 Adhoc. star. mesh Adhoc piconets


hybrid
單個網絡的設備數量 2 to 65000 8 個,最多可達
8+255(休眠)
個設備
功率消耗 極小 中等
連接狀態模式 活躍/休眠 活躍/呼吸/保持/
休眠
靈活性 Very high Mediu profile
dependent

2-3. EE80 系列感測簡介


本專題中所使用到的類比感測器為 ELEKYRONIK 公司所生產的 EE80 系列
的感測裝置,結合了標準的 CO2 感測、濕度感測(relative humidity)與溫度感測
(temperature)的三種感測功能。

29
無線網路智慧居家監控

應用上可用在於住宅和辦公室區域换器控制的房屋管理等,有效的能夠掌控
該室內裡的 CO2 濃度與濕度溫度等,能有效的防範例如在密閉室空間內如有
CO2 濃度過量的意外發生。
EE80 感測器
2-3-1. EE8 系列感測裝置簡介
 CO2

量測原則 Non-Dispersive Infrared


Technology (NDIR)
運作範圍 0~2000ppm /0~5000ppm

精確度(在 20 度 C 下) 0-2000ppm: < ± (50ppm +2% of


measuring value)
0-5000ppm: < ± (50ppm +3% of
measuring value)
反應時間 <90 秒

溫度依賴性 typ. 2ppm CO2/°C

長期穩定性 typ. 20 ppm/年

取樣時間 0.5 min

 Relative Humidity

量測原則 capacitive

感測元素 HC103
運作範圍 10...90%
30 RH

精確度(在 20 度 C 下) ±3% RH (30...70% RH) ±5%


(10...90% RH)
無線網路智慧居家監控

 Temperature

精確度(在 20 度 C 下) ±0.3°C (±0.54°F) version with


current output 4 - 20mA: ±0.7°C
(±1.26°F)

2-3-2.輸出特性

Analogue Output
0~2000/5000 ppm 0 - 5V -1mA < IL < 1mA
0~100% RH 0 - 10V -1mA < IL < 1mA
0~50°C 4 - 20mA RL < 500 Ohm
 Switching Output

Max 開關電壓 50V AC / 60V DC


Max 開關負載 1A at 50V AC 1A at 30V DC
Min 開關負載 1mA at 5V DC
Contact material Ag+Au clad

 EE80 voltage / current output:

31
無線網路智慧居家監控

 EE80 switching output:

2-3-3.一班特性

Supply voltage SELV 24V AC ±20% /15 - 35V DC


Power requirement <3W
Warm up time 2) < 5 min

2-3-4.接線圖:

32
無線網路智慧居家監控

Chapter 3 相關軟體原理介紹與說明

3-1. Protel 電路製作工具


我們利用暑期工讀計畫與”友新公司”合作來學習 Protel 軟體來製作本專題所
要使用到的電路板,藉由這次機會我們也了解到一塊電路板的製作過程是相當
複雜且困難的,所以在此也感謝學校有這個機會能讓我們學習一套新的技術。
 首先是利用 Protel 來製作我們在電路上所需要用到的元件並建立元件庫

方便選取使用。

 第二步則是開始繪製整個電路的電路圖,這部分是最重要的步驟關係的
一塊電路板是否能夠正常的使用,所以在繪製電路圖時必須額外的細心

33
無線網路智慧居家監控

與專心。

 第三步是在完成所有電路圖繪製後在執行的偵錯。

 最後一部是將繪製完成且無錯誤的電路圖轉換到佈線圖上執行電路板佈
線步驟。因電路板線路繁雜所以必須使用 2 至 3 層圖層來佈線。

34
無線網路智慧居家監控

35
無線網路智慧居家監控

3-2. HT-IDE3000 開發工具


此軟體為盛群公司所自行開發的一套單晶片書寫編譯軟體,其功能與 8051
之書寫軟體” Keil”極為類似,所以對於第一次接觸盛群單晶片的我們來說可以
說是非常容一上手的。

第一部是在專案內開啟新專案,並設定專案名稱、儲存路徑、晶片 MCU 與語
言工具選擇。

第二步則是在 Configuration Options 內設置該晶片的電壓、頻率、腳位數、與個


Pin 點的高低電位觸發設定等。

36
無線網路智慧居家監控

在所有設定都完成後,並開啟新檔案儲存檔案時務必加入副檔名,如利用 C
語言所書寫時副檔名則輸入” .C”,如此一來在呼叫檔案時才會出現所要書寫的
C 語言檔案。

在 程式書寫完成後,
並且組 譯完成後而且有
出現副 檔 名 為 ” MTP” 之
檔案,即代表書寫內容正確並可執行線上燒錄之功能。

37
無線網路智慧居家監控

3-3. EVER Pro S1000 線上燒錄


EVER Pro S1000 程式是盛群開發具備有線上燒錄之功能,必須搭配 EIC-100
之硬體連接才能使用線上燒錄功能。

38
無線網路智慧居家監控

在 EIC-100 與電腦、單晶片連接完成後只要在程式內呼叫所編譯成功的 MTP


檔案即可直接直接線上燒錄。

燒錄成功後會跳出”Successful Program Downlaod”視窗代表線上燒錄成功。

39
無線網路智慧居家監控

3-4. 程式發展工具 -Visual Basic 6.0


3-4-1. VB 程式設計觀念
在電腦程式發展的過程中,早期傳統程式語言如 Basic, Fortran, C,是以一連
串的程式指令敘述,一步一步的執行。這種” 程序式”的程式語言在程式變大與
複雜時,就變得沒有效率。改進式的"結構化程式語言”,將程式分割為許多的小
程序與模組,雖然這個型式的程式語言解決了部份問題,但面對日益變大的資
料量,再度遭到困境。因此物件導向程式設計於焉誕生。微軟公司(Microsoft)出
品的 Visual Basic(VB)就是一套採用”物件導向,事件驅動”程式設計觀念的程式
發展軟體。這套軟體雖然號稱易學易用,但它與傳統的程式設計觀念有很大的差
異,因此學習 VB 程式設計,首先必須建立物件導向的程式設計觀念。
物件導向基本的觀念,簡單的說就是將物件做為程式的主體。例如一個
Windows 環境下的視窗應用程式,可見到的外觀都是物件所構成。在 VB 程式設
計環境中,視窗本身就是一個”表單(Form)”物件。此外,功能表,工具列,指令
按鈕,下拉式清單,圖片,文字,檔案…等,被稱為控制項(Control)的都是物
件。這些物件基本上包含下列三個重要的特性:
■ 屬性 (Properties)-該物件內存放的資料,可提供讀取、 寫入或變更。例如,
物件的名稱、物件的大小、背景顏色、前景顏色、文字...等。透過這些屬性資
料的類別,繼承,與封裝等觀念,可以大量減少程式對資料處理的負擔,
達到程式存取與控制資料的目的。
■ 事件(Events)-程式執行的動作,主要來自物件對外部動作的反應。例如
在視窗應用程式的”指令按鈕”控制項物件,本身並不會自動去執行任何
程式動作,當”按一下滑鼠鍵”這個事件發生在這個”指令按鈕”控制項物
件時,程式設計師可以寫一段副程式,讓程式去執行某些動作。這就是所
謂的事件驅動的程式寫作觀念。有了這個觀念,你就能理解,大部份的VB
程式都被分割撰寫在某些事件副程式上。
■ 方法 (Metholds)-物件提供使用的函式功能。例如VB的表單物件
(Form),提供許多繪圖功能,如Line(畫直線)、Circle(畫圓)、Cls(清除畫面) 、
Pset(畫點),這些都稱為Form物件的方法。利用這些方法,可使物件內含
的程式功能更容易在程式中使用。
目 前 以 物 件 導 向 的 程 式 發 展 工 具 有 Visual C++ , Boland C ++ , Visual
Basic(VB)。其中又以 VB 易學易用,成為學習物件導向應用程式的入門工具。同
時亦是 Windows 作業環境中,應用程式開發的主流。在 VB 程式發展工具中,它
提供許多的控制項,是組成程式的基本元件。每個控制項中都具有內含的資料與
可用函式,如屬性,方法與事件。尤其是對於程式設計初學者,只要建立正確的

40
無線網路智慧居家監控

程式設計觀念,並熟悉 VB 程式發展環境的操作使用,很容易就能在 Windows


作業平台上寫出漂亮的圖形監控程式。
3-4-2. VB 程式串列通訊
串列通訊控制項主要是利用它的屬性設定,達成資料傳送與接收的目的。它
的重要屬性如表 3-15 所示。其中最重要屬性為前 6 項。例如使用串列通訊埠之前
必須指定通訊埠位置,設定傳輸參數,以及開啟通訊埠等動作。以本書準備跟
單板微電腦通訊為例,若串列通訊控制項 Name= MSComm1,使用 COM1 埠
執行串列傳輸,程式啟動時必須執行下列程式碼:
MSComm1.CommPort = 1 ‘ 設定輸出入 PORT
MSComm1.Settings = “9600,n,8,1” ’ 設定通訊埠
MSComm1.PortOpen = True ‘ 開啟通訊埠

這裡的傳輸參數使用”9600,n,8,1”,是配合第二章單晶片程式內設定的通訊設
定。在程式結束時,可以使用下列指令,將通訊埠關閉,程式碼如下:

MSComm1.PortOpen = False ‘ 關閉通訊埠

41
無線網路智慧居家監控

串列通訊控制項的重要屬性

屬性 功能說明
CommPort 指定開啟的通訊埠,如 1=COM1,2=COM2
Settings 設定傳輸參數,如傳輸率,同位檢查,資料長度,如
”9600,n,8,1”
PortOpen 設定開啟(true)或關閉(False)通訊埠
InputMode 輸入資料的模式,0:字串;1:二進位碼
Input 讀取通訊埠資料
Output 傳送資料到通訊埠
HandShaking 設定所要使用的通訊協定
InputLen 資料暫存區讀到系
OnComm 通訊埠觸發的事件
Sthreshold 設定 OnComm 事件所傳送字元數,設 0 表示不會觸

Rthreshold 設定 OnComm 事件所接收字元數,設 0 表示不會觸

InBuffersize 設定輸入資料暫存區的大小,一般預設 1024
串列傳輸的資料格式,我們使用 Byte 的陣列資料方式傳送。例如若要傳送
”a”,” b”,” c”,這 3 個 ASCII 資料,我們可以宣告一個 Tx(2)的陣列資料,並
分別存入 ASCII 資料,利用 Output 將整個陣列資料傳送的通訊埠,程式碼如下:
Dim Tx(2) As Byte ' 宣告 3 個 byte 的傳送暫存陣列資料
wx(0) =&H60 '第一個存入”a”字元
wx(1) =&H61 '第一個存入”b”字元
wx(2) =&H62 '第一個存入”c”字元
MSComm1.Output = wx '將陣列資料傳送到通訊埠

42
無線網路智慧居家監控

3-5 Apache Server 架設與 PHP 程式


3-5-1. 架設 Apache Server
許多人從他們的經驗中得知安裝 Apache 網站伺服器是相當不容易的一件事
情, 尤其是如果要再安裝 MySQL、PHP 及 Perl 等,那就變得更加困難了。
XAMPP 是一個相當容易安裝的 Apache 擴充版本,它已經包括了 MySQL、PHP
及 Perl 等軟體在其中。XAMPP 非常容易安裝及使用,你只需要:下載、解壓縮
及啟動就可以了。
在安裝完 Apache 後在主網頁上(http://127.0.0.1/xampp)必須出現”dio”狀態為
”enabled”才算安裝 Apache 成功完成。

在安裝完成後在桌面上點選 開啟 Apache,並且將 Apache 與 MySql

選項按下 Start 開始 Running。

43
無線網路智慧居家監控

3-5-2. PHP 簡介
PHP(PHP: Hypertext Preprocessor)是一種被廣泛應用的開放原始碼的多用
途腳本語言,它可嵌入到 HTML 中,尤其適合 WEB 開發。
PHP 主要是用於伺服端的腳本程序,因此您可以用 PHP 來完成任何其它的
CGI 程序能夠完成的工作,例如收集表單資料,產生動態網頁,或者發送/接收
Cookies。但 PHP 的功能遠不局限於此。
PHP 腳本主要用於以下三個領域。

 伺服端腳本。這是 PHP 最傳統,也是最主要的目標領域。開展這項工作您


需要具備以下三點:PHP 解析器(CGI 或者伺服器模塊)、WEB 伺服器和
WEB 瀏覽器。您需要在執行 WEB 伺服器時,安裝並配置 PHP,然後,可
以用 WEB 瀏覽器來連接 PHP 程序的輸出,即瀏覽伺服端的 PHP 頁面。
 命令行腳本。您可以編寫一段 PHP 腳本,並且不需要任何伺服器或者瀏覽
器來執行它。通過這種方式,您僅僅只需要 PHP 解析器來執行。這種用法
對於依賴 cron (Unix 或者 Linux 環境)或者 Task Scheduler (Windows
環境)的日常執行的腳本來說是理想的選擇。這些腳本也可以用來處理簡
單的文本。

44
無線網路智慧居家監控

 編寫客戶端的 GUI 應用程序。對於基於視窗式的應用程序來說,PHP 或許


不是一種最好的語言,但是如果您非常精通 PHP,並且希望在您的客戶
端應用程序中使用 PHP 的一些高級特性,您可以利用 PHP-GTK 來編寫
這些程序。用這種方法,您還可以編寫跨平台的應用程序。PHP-GTK 是
PHP 的一個擴展,在通常發布的 PHP 包中並不包含它。如果您對 PHP-
GTK 感興趣。
 PHP 能夠用在所有的主流操作系統上,包括 Linux、Unix 的各種變種(包
括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、Mac OS X、RISC OS
等。今天,PHP 已經支援了大多數的 WEB 伺服器,包括
Apache、Microsoft Internet Information Server (IIS)、Personal Web Server
(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro
Server、Caudium、Xitami、OmniHTTPd 等。對於大多數的伺服器,PHP 提供
了一個模塊;還有一些 PHP 支援 CGI 標準,使得 PHP 能夠作為 CGI 處
理器來工作。
PHP 最強大最顯著的特性之一,是它支援很大範圍的資料庫。您會發現利用
PHP 編寫資料庫支援的網頁簡單得難以置信。目前,PHP 支援如下資料庫:

45
無線網路智慧居家監控

3-5-3. Dreamweaver CS3


Dreamweaver 可 以 說 是 目 前 設 計 網 頁 最 強 的 工 具 軟 體 , 因 為 它 可 以 設
計 出 互 動 式 的 網 頁 , 也 具 有 圖 層 和 樣 版 功 能 , 都 是 非 常 重 要 有 用 的 功 能,
Dreamweaver 以所見及所得及專業快速的網頁設計能力,能讓不懂網頁
設計的人,也可以在短其間內,設計出專業的網站。
我 們 利 用 Dreamweaver 強大的功能特性用來撰寫 PHP 程式,讓我們更
有效率的完成監控網頁的製作。

46
無線網路智慧居家監控

3-5-4. PHP 的串列通訊


在撰寫 PHP 時最重要的一個程式部分就是 PHP 串列通訊上的編寫,此部份
我們分為三個階段來達成 PHP 串列通訊的功能。第一部份為寫入 RS232 的串列
通訊;第二部分為讀取 RS232 的串列通訊;第三部分則是位元轉換的部分。

第一部份:寫入 RS232 的串列通訊。


//RS232lib.php
//WRCom () 寫入 COM1 埠
function WRCom ($PID,$fcode,$data1) {
set_time_limit(0);
exec('mode COM1: baud=9600 data=8 stop=1 parity=n xon=on');
$fd = dio_open('COM1:', O_RDWR);
if(!$fd)
die("Error when open COM1");
$ff = dio_stat($fd);
dio_write($fd,chr($PID).chr($fcode).chr($data1).chr(0).chr(0).chr(0x02))
;
///寫入完畢
}

第二部分:讀取 RS232 的串列通訊

47
無線網路智慧居家監控

//function RDCom () 讀取 COM1 埠


//$len = 6;
function RDCom ($PID,$fcode,$Len) {
set_time_limit(0);
exec('mode COM1: baud=9600 data=8 stop=1 parity=n xon=on');
$fd = dio_open('COM1:', O_RDWR);
if(!$fd)
die("Error when open COM1");
$ff = dio_stat($fd);
dio_write($fd,chr(0x02).chr($PID).chr($fcode).chr(0).chr(0).chr(0));
usleep (300000);
$t=0;while(($t++)<1000){
$data = dio_read($fd, $Len);
if (strlen ($data) == $Len) break;
}
Return $data;
// echo "[data]:".bin2hex ($data)."[".$data."]";

//dio_close();
//exit;
}
//接收完畢

第三部分:位元轉換

48
無線網路智慧居家監控

// HexToDec 16 進制轉 10 進制
function HexToDec ($Str) {
$CntData=0;
for($i=0;$i<2;$i++){
$TData=substr($Str,$i,1);
switch ($TData) {
//case "0":break;
case "1":$CntData=$CntData+pow(16,1-$i);break;
case "2":$CntData=$CntData+2*pow(16,1-$i);break;
case "3":$CntData=$CntData+3*pow(16,1-$i);break;
case "4":$CntData=$CntData+4*pow(16,1-$i);break;
case "5":$CntData=$CntData+5*pow(16,1-$i);break;
case "6":$CntData=$CntData+6*pow(16,1-$i);break;
case "7":$CntData=$CntData+7*pow(16,1-$i);break;
case "8":$CntData=$CntData+8*pow(16,1-$i);break;
case "9":$CntData=$CntData+9*pow(16,1-$i);break;
case "A":$CntData=$CntData+10*pow(16,1-$i);break;
case "B":$CntData=$CntData+11*pow(16,1-$i);break;
case "C":$CntData=$CntData+12*pow(16,1-$i);break;
case "D":$CntData=$CntData+13*pow(16,1-$i);break;
case "E":$CntData=$CntData+14*pow(16,1-$i);break;
case "F":$CntData=$CntData+15*pow(16,1-$i);break;
}
}
Return $CntData;
//轉換完畢
}

49
無線網路智慧居家監控

Chapter 4 工作原理

4-1.Zigbee 模組元件
本 作 品 採 用 MaxStream 公 司 出 品 符 合 802.15.4 規 範 的 Zigbee 模 組 元 件 -
XBee。此一元件的操作頻率在 ism2.4G 頻段模組,1mw 的傳輸功率,傳輸範圍
在室內 30m,室外 100m。20Pin 的 IC 接腳,可透過串列方式與 HT46 晶片進行
資料與指令的傳輸。

4-2.系統作業原理
本作品的作業原理可區分為:感測與驅動監控層(HT46 晶片)、監控網路層
(Zigbee 網路)、Web-Base (Apache-PHP)三層級,圖 4 顯示作業流程說明如下:
4-2-1 感測與驅動監控層
使用 HT46 微控制器的 I/O 介面與內建的在類比訊號 A/D 通道,配合感測與
驅動元件,直接擷取居家環境狀態,或驅動控制接點。例如讀取環境溫度、濕度、
瓦斯…,或是啟動或關閉家電、燈光、警報器開關。監控端點的狀態與擷取的資料,
可暫時儲存在微控制器的記憶體緩衝區中,等待上一層 Zigbee 網路的指示,上
傳資料,或執行上層監控系統的指令動作。

4-2-2 Zigbee 監控網路


每 一 個 HT46 微 控 制 器 皆 配 置 Zigbee 的 RF 無 線 發 射 與 接 收 模 組 , 加 入
Zigbee 監控網路系統。透過網路通訊協定的制訂,整合系統的每個監控端點,包
括單晶片或可獨立作業的 Zigbee 搖控器,以及可連線到上一層的 PC 電腦伺服
主機端。在 Zigbee 無線網路中,我們採用主僕式(Client-Server)控制模式,由監
控網路上層做主機端,每個具有獨立的位址的單晶片作為客戶端,主機傳來的
位址與指令訊號,採中斷方式傳送到每個單晶片節點,只有符合位址的單晶片
裝置才會執行主機下達的指令。
4-2-3 Web-Base 監控系統 (Apache-PHP)
在 Zigbee 網路的一個
節 點 , 透過串列通訊埠,
連 接 到 PC 電 腦 伺 服 主 機
上。在此 電 腦 我 們 架 設
Apache 網站,並使用 PHP

50
無線網路智慧居家監控

程式的 Direct IO Functions,可直接讀寫 RS-232 串列通訊埠。執行 Zigbee 網路監


控工作,並使用 MySQL 資料庫記錄監控資料,並提供遠端行動裝置的監控與
查詢。

51
無線網路智慧居家監控

4-3. Holtek 微控制器的核心功能


HT46F4XE 晶片為 8 位元 RSIC 晶片,具高抗雜訊,低功率耗電,價格便宜、
嵌入多元化功能介面,目前已廣汎應用在資訊家電與消費電子裝置上。本作品即
用利用 Holtek 微控制器的此一優勢,加入 Zigbee 無線感測網路功能,讓微控制
器的特色充份發揮。例如,無線感測監控的實務應用上,類比訊號的擷取是重要
功能需求,例如溫/濕度的感測與監控,一般微控制器需要用到大量的接腳與轉
換電路,才能達到此一功能。本系統即使用 HT46F4XE 內建的 4 通道 9 位元的
ADC 功能,可簡化電路,提供更方便的功能服務。此外,HT46 內建的 PWM 功能,
還可以做調光控制,提供智慧家庭的燈光照明調整使用。
本作品嘗試採用 HT46F49E 微控制器提供的線上燒錄功能(ISP),利用此一功
能可即時線上修改單晶片韌體程式與網路通訊協定。方便系統維修,或移植到任
何其它的 Zigbee 無線感測監控系統上。

52
無線網路智慧居家監控

Chapter 5 硬體電路製作與軟題程式

本作品的系統結構有硬體電路、Zigbee 網路通訊協定、展示用模型屋、軟體程
式等四個部份。分別說明如下。

5-1. 硬體電路部分
本作品的硬體電路包括 HT46F49E 晶片線上燒錄電路、Zigbee 無線發射接收
模組 電路、與控制電路、Zigbee 搖控器電路,Zigbee 基地台電路,分別說明如下:
5-1-1. HT46F49E 晶片線上燒錄電路
線上燒錄功能所需要的 5 隻接腳設為多功接腳,在燒錄完成後,PA0/PA4 腳
可用指撥開關切換成一般的 I/O 接腳,如下圖所示。

5-1-2. Zigbee 無線發射接收模組電路

使用 HT46F49E 的 PA6、PA7 腳連接 Xbee


模組的 Rx、Tx 腳,PA5(INT)中斷觸發腳並
接在接收腳,如下圖。這種電路配置方式,讓 Zigbee 網路傳入的訊息以中斷方
式讀取。

5-1-3.
感測
與驅
動介

53
無線網路智慧居家監控

面電路
HT46F49E 晶片的所有 I/O 接腳連接排針,如下圖左側所示。在使用排線連接
到家電、燈光,空調開關控制,以及擷取環境溫度、濕度、瓦斯…等類比訊號的感
測與驅動介面電路上。

5-1-4. Zigbee 搖 控器電路


Zigbee 無 線 發 射接收模組電路再配置 LCD
液晶顯示器與 4×4 鍵 盤 , 就 可 做 成 Zigbee
搖控器的輸出入 裝置。LCD 資料埠採用四位元
的傳輸方式,以節省 HT46F49E 晶片的 I/O 埠腳位,如下圖所示。

5-1-5. Zigbee 基地台電路


在 Zigbee 無線發射接收模組電路上配置 RS-232/ RS485 串列通訊傳輸介面,
就可將 Zigbee 網路延伸到 PC 電腦伺服機(乙太網路、無線網路與網際網路),以
及 RS485 網路上,如下圖所示。

54
無線網路智慧居家監控

由 HT46F49E 晶片線上燒錄電路,Zigbee 無線發射接收模組電路,與感測與


驅動介面電路組合而成的 Zigbee 感測監控裝置,是 Zigbee 感測網路節點上所需
配置的基本裝置。由於本作所需的數量不止一個,因此我們使用 Protel 做電路設
計與佈線,整合成一塊電路板,並大量洗製,以提供作品在系統配置與做整合
測試的需求使用,如下圖。

5-1-6.展示用模型屋
為了測試與展示本作品的功能特性,我們特別製作了一展示用模型屋,如下
圖。模型屋中配置二個 Zigbee 感測監控裝置,連接到 Zigbee 無線感測網路。監控
的設備包括門 禁控制、溫濕度監控、照明設
備、家電控制、 防災保全等。透過此一模型
屋,我們可以 進行智慧家庭自動化遠端監
控的系統整合 測試與功能展示。

55
無線網路智慧居家監控

5-2. 軟體程式部分
5-2-1. Zigbee 網路通訊協定
在一個 Zigbee 無線感測監控系統中,網路上配置有多個 Zigbee 感測監控裝
置。每個網路節點的 Zigbee 裝置在傳送與接收資料時都必須遵守一套網路通訊
協定。本作品採用主僕式架構(Client-Server)的通訊協定。每個 Zigbee 網路節點都
指定一個 ID 碼。在監控系統中,PC 伺服機為最重要的控制主機,它也可以指定
一個或多個 Zigbee 搖控器為控制主機,直接下達控制命令,或取得每一個
Zigbee 感測監控裝置的監控狀態。
當系統啟動時,主機立即掃描系統中的每一個 Zigbee 感測監控裝置並要求回
報狀態。若節點處於正常運作狀態,主機隨時可下達指令(功能碼),指定該一節
點執行動作,然後處理資料或傳回資料,單一動作結束後,即傳送結束碼恢復
等待狀態並檢查狀態。傳送的資料封包格式,以及本作品四個 Zigbee 感測監控
裝置的裝置碼與功能如表:

56
無線網路智慧居家監控

裝置碼 0X50

功能碼 功能說明 埠位 特性

0x10 啟動 1 樓電燈 PB0 數位輸出


0x11 關閉 1 樓電燈 PB0 數位輸出
0x12 啟動 2 樓電燈 PB1 數位輸出
0x13 關閉 2 樓電燈 PB1 數位輸出
0x14 啟動 3 樓電燈 PB2 數位輸出
0x15 關閉 3 樓電燈 PB2 數位輸出
0x16 啟動 4 樓電燈 PB3 數位輸出
0x17 關閉 4 樓電燈 PB3 數位輸出
0x18 啟動 5 樓電燈 PB4 數位輸出
0x19 關閉 5 樓電燈 PB4 數位輸出
0x20 開啟 Zigbee(1)插座 PB5 數位輸出
0x21 關閉 Zigbee(1)插座 PB5 數位輸出
0x22 開啟 Zigbee(2)插座 PB6 數位輸出
0x23 關閉 Zigbee(2)插座 PB6 數位輸出
0x24 1 樓防盜磁簧開關 PC0 數位輸入
0x25 2 樓防盜磁簧開關 PC1 數位輸入
0x26 3 樓防盜磁簧開關 PC2 數位輸入
0x27 4 樓防盜磁簧開關 PC3 數位輸入
0x28 5 樓防盜磁簧開關 PC4 數位輸入
0x29 光敏感測 PD0 數位輸入

裝置碼 0X60

功能碼 功能說明 埠位 特性

0x10 啟動冷氣機(1) PA0 數位輸出


0x11 關閉冷氣機(1) PA0 數位輸出

57
無線網路智慧居家監控

0x12 啟動冷氣機(2) PA1 數位輸出


0x13 關閉冷氣機(2) PA1 數位輸出
0x14 啟動暖氣機(1) PA2 數位輸出
0x15 關閉暖氣機(1) PA2 數位輸出
0x16 啟動暖氣機(2) PA3 數位輸出
0x17 關閉暖氣機(2) PA3 數位輸出
0x18 啟動除濕機 PB0 數位輸出
0x19 關閉除濕機 PB0 數位輸出
0x20 啟動 1 樓電動大門 PB1 數位輸出
0x21 關閉 1 樓電動大門 PB1 數位輸出
0x22 啟動電動窗簾 PB2 數位輸出
0x23 關閉電動窗簾 PB2 數位輸出
0x24 啟動遮雨棚 PB3 數位輸出
0x25 關閉遮雨棚 PB3 數位輸出
0x26 CO2 感測器 PB4 類比輸入
0x27 溫度感測器 PB5 類比輸入
0x28 濕度感測器 PB6 類比輸入
0x29 電動門開門微動 PC0 數位輸入
0x30 電動門關門微動 PC1 數位輸入
0x31 電動窗簾開微動 PC2 數位輸入
0x32 電動窗簾關微動 PC3 數位輸入
0x33 遮雨棚開微動 PD0 數位輸入
0x34 遮雨棚關微動 PD1 數位輸入

受控的 Zigbee 感測監控裝置除了定時擷取資料存放在記憶緩衝區外,並等待


主機下達指令。當確認主機呼叫本裝置時,立即提取功能碼與相關參數(資料碼),
執行指定動作,並回報執行結果。
本作品 HT46F4XE 微控制器使用 HT-IDE3000 開發工具撰寫 Holtek C 語言程
式。單晶片程式依電路與功能特性區分為兩下列兩個主要程式:
5-2-2. Zigbee 感測監控裝置程式
程式啟動後,設定串列通訊中斷,並進入單機監控狀態,採輪詢方式讀取
I/O 埠與 ADC 通道,存放在資料緩衝區。由溫度濕度與光度等讀取資料,適時利
用冷氣風扇、窗廉等開關,自動調節溫度與照明, 達到智慧居家環境的監控目
標。程式利用串列通訊傳輸與 Zigbee 網路連繫。當觸動警報時,採最優先回報。
當中斷發生,確定網路主機呼叫本裝置,立即提取功能碼,執行指定動作,並
回報執行結果。Zigbee 感測監控裝置程式流程如圖。

58
無線網路智慧居家監控

5-3-3. Zigbee 搖控器程式

啟動串列通訊中斷、LCD 顯示器,掃描鍵盤輸入資料。使用者可透過鍵盤輸入
下達指令,透過串列傳輸到指定的 Zigbee 感測監控裝置,改變監控狀態,或是
要求回傳感測狀態,如溫度、濕度、開關狀態…等等資料,並顯示在 LCD 上 。
Zigbee 搖控器程式流程如圖。

59
無線網路智慧居家監控

5-2-4.監控軟體

PC 電腦伺服主機端,我們使用兩套方式撰寫網路監控程式。第一種較簡單的
方式是在 Windows XP 作業平台上,使用 VB6.0 程式,透過讀寫串列通訊(RS-
232),對 Zigbee 無線網路上,其中一個 Zigbee 感測監控裝置下達監控指令,並
要求回傳監控狀態。我們透過 VB6.0 提供的圖形物件,將展示模型屋的圖面配置,
製作圖形監控的人機介面程式,方便監控者進行網路監控。由於這種方式電腦只
能單機操作,如果要透過網際網路做遠端監控,必須另行架設網站,撰寫 Web-
Base 監控程式。
建立 Web-Base 監控方式,首先必須在 PC 監控電腦上架設網站,並使用撰寫
網頁監控程式,提供監控人員在遠端電腦或行動裝置使用網頁瀏覽器直接監控
系統。在 Windows XP 平台上,以往通常採用 IIS 架設網站,再使用 ASP 撰寫網

60
無線網路智慧居家監控

際網路監控程式,透過 ADO 資料庫與 VB6.0 圖形監控程式之間的資料交換,


達到遠端監控的目的。本作品為了符合目前業界實際需求,並進一步提昇電腦伺
服機監控程式的效能,我們改採 PHP 程式。首先在 PC 上架設 Apache 網站
(Windows XP 或 Linux 平台皆可),使用 Dreamweaver 製作網頁型人機介面。使用
PHP 撰寫監控程式,RS232 串列埠的讀寫,採用 PHP 的 direct I/O。使用 MySQL
資料庫記錄並提供資料查尋。

61
無線網路智慧居家監控

Chapter 6 實作呈現

6-1. 測試方式
6-1-1. 測式方式解說
本作品在規劃三階段的測試工作。第一階段測試所有的電路是否正常運作,
第二階段做 Zigbee 無線網路傳輸測試,第三階段結合電路、模型屋、Zigbee 無線
網路與 Web-Base 網路遠端監控,進行系統整合測試。測試的方法與結果分別說
明如下。

6-1-2.電路板測試
Zigbee 感測監控裝置電路板製作完成後,首先進行 HT46F49E 的線上燒錄
(ISP)、基本 I/O 的功能測試、ADC 擷取類比訊號功能。結果單晶片程式很順利的
燒錄到晶片上,基本 I/O 也都正常動作。規劃為 AD 輸入的 PB 埠也都順利讀取
到溫度、濕度感測器訊號。Zigbee 搖控器電路的測試包括 LCD 顯示功能與鍵盤輸
入功能。測試結果 LCD 可正常顯示,鍵盤輸入動作正常。

6-1-3.Zigbee 無線網路測試
Zigbee 無線網路首先進行 Zigbee 感測監控裝置與 PC 主機之間的單機發射與
接收測試。在實際測試過程中,我們發現 Zigbee 模組的 Data Sheet 的資料有錯,
經過一番測試,後來將第 5 腳的 Reset 與第 6 腳的 RSSI 對調後,才能正確動作。
由於 HT46F49E 並無提供串列通訊功能,我們使用孕龍公司提供 LAP-16128U
邏輯分析儀,經過幾天的測試,最後終於測試成功。
接著我們進行 Zigbee 搖控器與 Zigbee 感測監控裝置的無線傳輸測試。Zigbee
搖控器透過鍵盤的輸入發出指令,Zigbee 感測監控裝置收到指令後執行動作,
並將結果回傳到 Zigbee 搖控器,顯示在 LCD 上。測試結果皆能正常動作。
在多機測試時,PC 主機能識別 Zigbee 網路每個感測監控裝置,透過裝置識
別碼,對不同兩個 Zigbee 感測監控裝置下達指令,並能正確回傳監控訊息。

6-1-4.監控系統整合測試
Zigbee 感測監控裝置連接到模型屋,Zigbee 網路也配置完成後,系統啟動,
進行下列各項功能測試:
 PC 電腦主機基本監控:使用 PC 電腦主機透過 Zigbee 網路,對模型屋的燈光

62
無線網路智慧居家監控

照明、家電開關進行遠端搖控。模型屋目前的房間溫度、濕度、門窗與家電開關
狀態,透過 Zigbee 網路傳回 PC 電腦主機,並顯示在圖形監控程式視窗上。

圖為中央主控端基本家電監控畫面
 Zigbee 搖控器監控:使用 Zigbee 搖控器遠端搖控模型屋的燈光照明、家電開
關。模型屋目前的房間溫度、濕度、氣體、門窗與家電開關狀態,透過 Zigbee 網
路傳回 Zigbee 搖控器,並顯示在 LCD 上。

圖為 Zigbee 無線遙控器

 智慧居家環境監控 :使用 PC 電腦主機或 Zigbee 搖控器,設定最舒適溫/濕/


光度範圍後,當設定範圍超出設定,自動啟動冷氣、窗簾開關,將溫/濕/照明
調整回原設定範圍。

63
無線網路智慧居家監控

圖為中央主控端智慧居家環境監控畫面
 PC 電腦主機保全監控:PC 電腦主機或 Zigbee 搖控器,下達啟動保全後,門
窗狀態、或氣體感測異常,發出警報,傳回 PC 電腦主機或 Zigbee 搖控器。
 Web-Base 網際網路遠端監控 :使用筆記型電腦與 PDA 行動裝置,透過網際
網路與無線網路,連接到 PC 電腦伺服主機,前(1)、(3)、(4)項的功能測試,以
確認網際網路遠端監控 Zigbee 無線感測網路,可達到正常動作與預期功能。

圖為 PDA
家 電 控 制
畫 面 圖 為
PDA
環境監控畫面

64
無線網路智慧居家監控

圖為遠端電腦監控畫面

65
無線網路智慧居家監控

Chapter 7 結論

7-1. 專題作品結論

66
無線網路智慧居家監控

Chapter 8 附錄

8-1.操作手冊
8-1-1.系統安裝與啟動
 HT 模組程式修改與燒錄
 本系統可由使用者自行設定 HT 晶片 I/O 程式功能即可利用線上
燒錄功能來變更設定內容。
 Zigbee 無線網路連線
 電腦與 2 個 HT 驅動模組和 HT 鍵盤模組,並開啟電源。當利用電
腦或 HT 鍵盤控制時在 HT 驅動版上 Zigbee 的接收指示燈會亮時
即代表 HT 驅動版有接收到無線信號。
 電腦監控程式安裝與啟動
 將 HTZBVB 目錄下的 VB 程式, 監控資料庫複製到電腦伺服主機
上, 並連接 Zigbee 無線基地台模組在 VB 程式內設定好 Port 位址
在啟動程式執行無線監控動作。
 建立與啟動 PHP 監控網站
 在電腦伺服主機上安裝 Apache-PHP, 建立網路網址,並開啟無線
基地台 IP 分享器,利用有 Wi-Fi 功能之筆記型電腦或 PDA 等連
上網路即可執行監控動作。
8-1-2.電腦與鍵盤模組無線監控 HT 驅動模組的操作

 電腦啟動 HTZBVB 的 VB 主程式,鍵盤模組啟動電源。


 先利用電腦 VB 來控制 2 個 HT 驅動模組的家電功能,在鍵盤模組上
則可直接執行無線控制 HT 模組。
 利用電腦無線監控時選擇指定的 HT 模組裝置, 監看裝置執行狀態。
 電腦與鍵盤模組無線下達指令,改變指定 HT 模組裝置的家電控制狀
態。
8-1-3.PHP 網際網路無線監控的操作

 啟動 Apache-PHP 監控網站。
 啟動無線基地台 IP 分享器。

67
無線網路智慧居家監控

 使用 Wi-Fi 功能的個人電腦或 PDA,連接 Apache-PHP 網站。


 選擇指定的 HT 模組裝置, 監看裝置執行狀態。
 下達指令,改變指定 HT 模組裝置的控制狀態。

68
無線網路智慧居家監控

8-2.本作品所使用參考的文獻資料書籍
[1] Mikhail Galeev,“採用 Zigbee 建立家庭網路“,電子工程專輯,2005/07/11
[2] 郭長祐, “ZigBee 無線技術新趨勢“,EE Watch 2008/03/10
[3] 王暑衛, “滿足嵌入系統小型化及高整合度需求, 高速 8 位元網路 MCU 興起”,
新電子科技雜誌第 246 期 2006 年九月號
[4]HoltekSemiconductorInc.,”HT46F46E/HT46F47E/HT46F48E/HT46F49E”,Dat
Sheet, 2008/04/21,
[5] MaxStream, Inc. , XBee/XBee‐PRO 802.15.4 OEM RF Modules v1.xAx
[2006.10.13]
[6] 鍾啟仁著,“HT46 微控制器理論與實務寶典”,全華科技,台北市,民國 95

[7] 林振漢著,“8051 單晶片實作-使用 C 語言”,博碩文化,台北縣,民國 94 年

69