實務專題報告書 -...
TRANSCRIPT
-
實實務務專專題題報報告告書書
ZZ II GG BB EE EE 網網路路智智慧慧居居家家監監控控
指 導 老 師:林振漢
專題製作學生:四技子四甲 沈的葳 BQ95056
四技子四甲 雷雙瑜 BQ95049
四技子四甲 張桂豪 BQ95052
中華民國 九十八 年 十一 月 十一 日
修 平 技 術 學 院 電 子 工 程 系
DEPARTMENT OF ELECTRONIC ENGINEERING
HSIU-PING INSTITUTE OF TECHNOLOGY
-
摘要 近年來隨著科技的進步以及現代人的生活品質逐漸提高,目前大部分
有線的控制設備皆轉為無線,如果家電能夠與 ZigBee 感應器相結合,消費
者就能夠以一機掌控家中所有的家電開關。「ZigBee」是一種家庭區域網
路,是為了取代不斷增加的獨立遙控器而設計的,具有低成本、低耗電、
小體積,以及適合短距離無線傳輸等優點,不僅可無線遙控與設定任何燈
光、家電、門窗及空調設備,也可提供警察局或保全單位做家庭安全監控。
因此我們以 MEGAWIN 單晶片與 Ebox(SOC)當開發工具再加上 Xbee
模組當無線通訊工具,應用 ZIGBEE 的技術製作無線 VB 圖控監控系統、
ZIGBEE 網路遙控器、以及 PHP 遠端監控網頁,讓住戶可以透過網際網路
輕易掌握或設定家庭監控系統,大幅提升現代人的居家生活品質,輕鬆享
受嶄新的現代數位化家居生活。
這套系統不僅應用在居家上,也可以應用在其他地方,例如工業,醫
療及住宅的控制和監測等等。
關鍵字:無線感測網路(Zigbee)、MEGAWIN。
-
目錄 一、緒論 ─────────────────────────── 1
1.1、製作動機與目的 ──────────────────── 1
1.2、作品構想與系統架構 ────────────────── 2
二、軟硬體工具與原理簡介 ─────────────────── 3
2.1、無線感測網路(ZigBee) ───────────────── 3
2.2、Megawin 單晶片 ──────────────────── 7
2.3、Xbee 無線感測模組 ────────────────── 10
2.4、Ebox(SOC-Vortex86) ───────────────── 12
2.5、Visual Basic 6.0 ──────────────────── 14
2.6、Apache (PHP) ──────────────────── 15
三、系統測試與整合 ───────────────────── 18
3.1、Megawin 控制器 ─────────────────── 18
3.2、ZIGBEE 遙控器 ─────────────────── 21
3.3、人機介面監控 ──────────────────── 24
3.4、PHP 監控網頁 ──────────────────── 29
3.5、網站伺服器 ───────────────────── 32
3.6、展示模型屋 ───────────────────── 35
3.7、作品成果 ────────────────────── 36
四、結論 ────────────────────────── 37
五、參考文獻 ──────────────────────── 38
4.1、書籍 ──────────────────────── 38
4.2、網頁 ──────────────────────── 38
六、作者簡介 ──────────────────────── 39
-
圖目錄 圖 1:系統架構圖 ─────────────────────── 2
圖 2:Zigbee 技術的應用範圍 ────────────────── 4
圖 3:Zigbee 技術於居家設備 ────────────────── 4
圖 4:各項無線系統架構比較 ────────────────── 4
圖 5:ZigbeeOSI 協定堆疊(Zigbee protocol Stack) ────────── 5
圖 6:Zigbee 網路拓撲資料來源 ───────────────── 6
圖 7: MG84FL54B 單晶片電路圖 ──────────────── 8
圖 8:Megawin 微控器 ───────────────────── 8
圖 9:MG84FL54B 方塊圖 ─────────────────── 9
圖 10:ISP 軔體更新工具 ──────────────────── 9
圖 11:Digi Xbee 模組 ───────────────────── 11
圖 12:XBee 獨立感測驅動節點 ───────────────── 11
圖 13:SOC-Vortex86 ───────────────────── 12
圖 14:Vortex86DX 與其它系統晶片 ─────────────── 13
圖 15:Ebox(SOC 小電腦) ─────────────────── 13
圖 16:Apache軟體 ────────────────────── 15
圖 17:MEGAWIN 控制器 ─────────────────── 18
圖 18:MEGAWIN 控制器程式流程圖 ────────────── 19
圖 19:Zigbee 遙控器 ───────────────────── 21
圖 20:Zigbee 遙控器程式流程圖 ──────────────── 22
圖 21:人機介面監控系統的首頁 ──────────────── 24
圖 22:人機介面監控系統的操作面 ─────────────── 24
圖 23:人機介面監控系統流程架構圖 ────────────── 25
圖 24:人機介面監控自動排程系統 ─────────────── 25
圖 25:人機介面監控自動排程流程圖 ────────────── 26
圖 26:PHP 監控首頁 ───────────────────── 29
圖 27:PHP 監控網頁 ───────────────────── 29
圖 28:PHP 監控網頁流程圖 ────────────────── 29
圖 29:Dreamweaver(網頁編輯軟體) ─────────────── 30
圖 30:Ebox 網站伺服器+無線寬頻分享器───────────── 32
圖 31:Apache安裝主程式──────────────────── 33
圖 32:展示模型屋電燈全關 ────────────────── 35
圖 33:展示模型屋電燈全開 ────────────────── 35
圖 34:系統整合與作品成果 ────────────────── 36
圖 35:專題組員與指導老師合照 ──────────────── 36
-
1
一、緒論
1.1、製作動機與目的
近年來由於生活品質的提高,智慧型家庭概念也逐漸成為人們注重
的議題,因此我們就想到要做無線網路智慧居家監控這個題目,讓使用者
可以透過手中的 Zigbee 遙控器或隨時透過手中的 PDA 監控家裡的環境,使
用者也可以直接在 VB 監控系統上預設設備狀況,來達到智慧與自動化功
能。
整合單晶片技術、Zigbee 無線感測網路、建構一個 Web-Base 的網際
網路無線感測監控,因為應用在智慧型家庭自動化上,Ebox 的 SOC 技術當
作系統終端機。系統功能包括:智慧型監控居家房間的照明設備、空調設備
等,以達到居家省能化、省力化等效果,並且能維持良好室內環境 。
使用 Web-Base 人機界面執行遠端監控,只要利用網際網路與無線行
動上網裝置,隨時掌握家庭的狀況。
-
2
1.2、作品構想與系統架構
MEGAWIN 控制器:將控制碼程式寫入 MEGAWIN 單晶片內,在 MEGAWIN
單晶片的 I/O pins 接上繼電器電路,透過 Xbee 模組
可傳送或接收遠端的訊號,並可達到監控設備的功能。
ZIGBEE 遙控器:應用 MEGAWIN 單晶片結合 Xbee 模組,以 4x4 鍵盤輸入
控制碼,並在 LCD 上顯示要傳輸的功能碼,與 MEGAWIN
控制器透過 Xbee 模組做無線訊號傳輸。
人機介面監控:VB監控系統灌入內PC主機在連結Xbee模組,
並可直接監控 MEGAWIN 控制器。
PHP 監控程式:把 PHP 網站以 apache 軟體架設在 EBOX 小電腦內,連上
網際網路,可以透過網際網路監控系統的狀況。
圖 1:系統架構圖
ZIGBEE 無線網路
網際網路
MEGAWIN 控制器 1 MEGAWIN 控制器 2
ZIGBEE 遙控器
人機介面監控
Apache Web
Server
PHP監控程式
EBOX(SOC)
遠端監控電腦
PDA MySQL
資料庫
-
3
二、軟硬體工具與原理簡介
2.1、無線感測網路(ZigBee)
ZigBee 是一種開放式的基於 IEEE 802.15.4 協定的無線個人網路
(Wireless Personal Area Networks) 標準。IEEE 802.15.4 定義了物理層和媒
體接入控制層,而 ZigBee 則定義了更高層如網路層及應用層等。
ZigBee/IEEE 802.15.4 主要應用於需要較低的資料傳輸率的領域,相比於其
他的無線通信技術,ZigBee 聯盟成立於 2002 年,在不同區域有不同的定義
的頻段(全球 2.4GHz、美國 915MHz、歐洲 868MH), ZigBee/IEEE 802.15.4
有以下一些優勢:
· 低功耗 · 價格低廉
· 靈活,可靠並具備自癒功能 · 支持大量節點
· 配置快速便捷 · 使用安全
· 可以全球使用 · 產品相互相容
· 生產商互相獨立
ZigBee,這個名字來源於蜂群使用的賴以生存和發展的通信方式:蜜
蜂通過跳 ZigZag 形狀的舞蹈來分享新發現的食物源的位置,距離和方向
等資訊。
-
4
圖 2:Zigbee 技術的應用範圍(資料來源:zigbee.org)
圖 3:Zigbee技術於居家設備
圖 4:各項無線系統架構比較
-
5
圖 5:ZigbeeOSI 協定堆疊(Zigbee protocol Stack)資料來源:zigbee.org
ZigBee 標準主要是 IEEE 802.15.4 與 ZigBee Alliance 這二個組織,分
別制定硬體與軟體標準。在實體層(PHY)、媒體儲存控制層(MAC)、資料鏈
結層(Data Link)等發展由 IEEE 主導,而 ZigBee Alliance 負責制定邏輯網路、
資料傳輸加密機制、應用介面規範及各系統產品之間互通規範。
ZigBee 可使用的頻段,分別是 2.4GHz 的 ISM 頻段、915MHz 頻段以
及 868MHz 頻段,而不同頻段可使用的通道分別是 16、10、1 個。ZigBee
的傳輸速率介於 20kbps - 250kbps 之間,依使用頻段不同而有所差異,並隨
著傳輸距離的延長而減慢,不過藉著提高發射功率,還是可以提高傳輸速
率。
-
6
圖 6:Zigbee 網路拓撲資料來源/zigbee.org
ZigBee 一共支援三種不同的網路拓撲結構,分別是星形,樹形和網
狀結構。每種結構都有其自身的優點並能應用到不同的方案中。星形結構
是最常用和最簡單的,它是由若干節點連接到一個中心節點。網狀結構能
夠提供更高程度的可靠性。它由許多各種各樣的節點組成複雜的網狀結
構,節點間可以互相通信,資訊可以通過不同的路徑達到指定節點,當某
條路徑被干擾時,資訊還可以通過其他可用的路徑進行傳輸。樹形結構從
本質上來說是星形結構和網狀結構的一種結合。
-
7
2.2、Megawin 單晶片
MG84FL54B是基於高級嵌入Flash工藝的增強性單晶片式 8位元微處
理器。指令集與 8051 完全相容。藉由增強性內核,使其完成一條指令只需
要 1-7 個時鐘週期。相比與需要 12-48 個時鐘週期才能完成一條指令的傳統
8051 單晶片,它有著較高的性能。因此,在與 8051 具有相同的處理能力的
情況下,系統頻率可以更低,從而能大大降低系統功耗。
MG84FL54B 擁有 16KB 可並行編程(通過統用編程器)和 ISP 編程(通
過 USB DFU)的 Flash 存儲器。ISP 功能可以讓產品在不需要取下微控制器
的情況下更新程式。固件更新功能大大擴展了它的應用領域。另外一個很
有用的功能是在應用編程(IAP),它使設備可以利用 Flash 存儲器保存非易
失性數據。
MG84FL54B 除了 256 字節的 RAM 外,還在片內擴展了 576 字節的
外部存儲器(XRAM)。具有 4 個 8 位元 I/O 端口和 1 個 4 位元 I/O 端口,3
個 16 位元定時/計數器,多個中斷源兩級優先級的中斷結構,,一個增強型
UART 接口,更多新增的功能例如 KBI、SPI、TWSI 總線和 USB1.1 使它成
為適合廣泛應用領域的強大微控制器。
(資料來源: Megawin Technology Co.)
-
8
圖 7:MG84FL54B 單晶片電路圖
圖 8:Megawin 微控器(MG84FL54B 單晶片)
-
9
1T 8051 USB / 鍵盤控制 / 串列通訊 / 輸入輸出
圖 9:MG84FL54B 方塊圖(資料來源:Megawin (笙泉) )
圖 10:ISP軔體更新工具(工具\USB_FirmwareTools.exe)
1T 8051
On-chip
RAM
On-chip ROM for program code
5 I/O Ports
Timer 0/1/2
Serial
Port
Interrupt
Control
External interrupts
Timer /
Counter
Key-Pad
Control
GPIO
USB
Full Speed
-
10
2.3、Xbee 無線感測模組
XBee 是由 DIGI 公司以 ZIGBEE 規範所設計的產品其提供 9 個 DIO
與 6 個 ADC 的接腳,以及多種 AT Command 方便讓使用者運用。XBee 模
組只需極低的功耗,XBee 模組發送電流為 45 毫安,XBee-PRO 模組為 215
毫安。可以使產品更加降低功耗。在室內/城市範圍可高達 100 英尺(30 米)
傳輸距離,而在室外可視距離可高達 300 英尺(100 米)傳輸範圍,關電源睡
眠電流< 10 微安,其工作頻率於 2.4 GHz,RF 資料傳輸率為 250,000 bps。
這種耐用的無線電池感測器,可輕易地連接於嵌入式網路應用程式或
ZigBee 網路中。透過整合型的 XBee 感測器,客戶可以從 ZigBee 網路多節
點中方便地收集即時數據。此外,對於自動作業編程、安全、能源管理、
食物管理、貨物運輸/交通工具的監控等應用,XBee 感測器可提供一個理想
的選擇。
XBee 感測器是透過一個 ZigBee 網路,它們可以容易地與 Digi 嵌入式
網路家用閘道器、配接器和模組相連接以監控溫度和光度的組合或溫度、
濕度和光度的組合。這種感測器現在已經投入使用。
(資料來源:DIGI International)
http://www.eettaiwan.com/ART_8800407004_675327_NT_d8837d2f.HTM
-
11
圖 11:Digi Xbee 模組
圖 12:XBee 獨立感測驅動節點
Pin 1 : VCC(3.3)
Pin 2 : TXD(輸出)
Pin 3 : RXD(輸入)
Pin 10 : GND
Pin 11、15、16、17、18、19、20:分別可設定為 DIO/ADC接腳
-
12
2.4、Ebox(SOC-Vortex86)
圖 13:SOC-Vortex86
Vortex86 是系統基於一個 x86相容的核心,為 1 合 4 的 SoC,它將嵌
入到單一 27 × 27 BGA 包並節省空間,降低了成本,減少能源消耗的所有
主要的元件。
Vortex86 內置最新設計概念,如容錯(Redundancy)功能、MTBF 計數
線路、JTAG 偵錯線路,並可支持寬溫-40℃~85℃工作。還有無風扇設計,
以滿足新世代計算器產品設計需求。
Vortex86特性和優點:所有功能於一身的 x86架構,在一個單芯片封
裝。平均無故障時間 MTBF計數器和硬件冗餘,以支持關鍵任務應用。國際
標準化組織對芯片的生產跟蹤。
Vortex86DX 的 SoC 提供了理想的硬體平台設計及新一代工業單板計
算機和嵌入式控制器的工業自動化,醫療,汽車,公用儀表,防火牆路由
器,安全訪問,智能 RFID 讀寫器,家庭與樓孙自動化,和其他嵌入式應用。
-
13
圖 14:Vortex86DX 與其它系統晶片
支援 Microsoft 平臺:Windows Embedded CE、Windows XP 嵌入
Windows Embedded for 服務點的、Windows Embedded 企業。內置 BIOS:
國際標準組織的晶片、MTBF。作業系統:DOS、Windows CE 5 / 6 / 7、
Windows XP/XPe、QNX 6.3.2、Linux 2.4 / 2.6、Debian 4、Ubuntu 8.04、
FreeBSD。
圖 15:Ebox(SOC 小電腦)
Ebox 是具備綠色節能概念的超迷你環保電腦 eBox-3300 10 瓦電腦,
具有多項環保特點:小巧體積、高效能、低耗電、無風扇等,並採用最新
MSTI PDX-600 低耗電處理器,同時可支持 Windows 系列與 Linux 系列的
操作系統。其介面為:CF/MicroSD 槽孔(可安裝作業系統於記憶卡內)、1
個 UltraDMA 44p IDE 介面(可接 2.5 硬碟)、3 個 USB 2.0、1 個內建網路卡
(RJ45)、內建 VGA 顯示卡,其輸入功率只需+5V @ 2A。
-
14
2.5、Visual Basic 6.0
Visual 視覺化
建立圖形使用者介面時,不必撰寫程式來描述介面的外觀和配置,只需
使用工具箱的工具,可以直覺式設計,在設計的階段就可以看出執行時的
結果,讓設計者能簡單設計使用。
Basic:以傳統的 BASIC 語言為基礎,減少學習與開發的時程。
Visual Basic 具備設計視窗式的應用程式、視覺化的設計環境、
承襲 QBasic 的程式語法、物件導向的程式設計、提供快速的應用程式發
展工具。
Visual Basic 可應用在: 視窗式應用程式、資料庫系統、多媒體應用程
式、動態網頁設計(ASP)、Internet 應用程式、Active X 元件開發、Dll 動
態連結程式庫、VBA(Visual basic for application)。
Visual Basic 的版本分為普及版(具備基本的相關功能)、專業版(開發
Active X 元件、資料庫程式、ODBC 與主從架構應用程式、網頁製作)、企
業版(遠端存取物件、分散式應用程式開發、視覺化模組工具、應用程式效
能瀏覽器)。一般我們常使用專業版來進行程式設計。
-
15
2.6、Apache ( PHP )
Apache 是世界使用排名第一的 Web 伺服器軟體。它可以運行在幾乎
所有廣泛使用的電腦平臺上。Apache 的特點是簡單、速度快、性能穩定,
並可做代理伺服器來使用。
本來它只用於小型或試驗 Internet 網路,後來逐步擴充到各種 Unix 系統中,
尤其對 Linux 的支援相當完美。Apache 有多種產品, 可以支援 SSL 技術,
支援多個虛擬主機。Apache 是以進程為基礎的結構,進程要比線程消耗更
多的系統開支,不太適合於多處理器環境,因此,在一個 Apache Web 站點
擴充時,通常是增加伺服器或擴充群集節點而不是增加處理器。到目前為
止 Apache 仍然是世界上用的最多的 Web 伺服器,市場佔有率達 60%左右。
世界上很多著名的網站如 Amazon.com、Yahoo!、W3 Consortium、Financial
Times 等都是 Apache 的產物,它的成功之處主要在於它的原始碼開放、有
一支開放的開發隊伍、支援跨平臺的
應用(可以運行在幾乎所有的 Unix、
Windows、Linux 系統平臺上)以及它
的可攜性等方面。
圖 16:Apache軟體
-
16
Apache web 伺服器軟體具備的特性為支援最新的 HTTP/1.1 通信協
定、擁有簡單而強有力的基於檔的配置過程、支援通用閘道介面、支援基
於 IP 和基於功能變數名稱的虛擬主機、支援多種方式的 HTTP 認證、集成
Perl 處理模組、集成代理伺服器模組、支援即時監視伺服器狀態和定制伺服
器日誌、支援伺服器端包含指令(SSI)、支持安全 Socket 層(SSL)、提供用戶
會話過程的跟蹤、支持 FastCGI、通過第三方模組可以支援 Java Servlets。
PHP(―PHP: Hypertext Preprocessor‖,超文本預處理器的字母縮寫)是一種
被廣泛應用的開放源代碼的多用途腳本語言,它可嵌入到 HTML 中,尤其
適合 WEB 開發。 使用 PHP 的一大好處是它對於初學者來說非常的簡
單,同時也給專業的程式師提供了各種高級的特性。當看到 PHP 長長的特
性列表時,可以很快的入門,只需幾個小時就可以自己寫一些簡單的腳本。
PHP 主要是用於服務端的腳本程序,可以用 PHP 來完成任何其它的 CGI
程序能夠完成的工作,例如收集表單數據,生成動態網頁,或者發送/接收
Cookies。但 PHP 的功能遠不侷限於此。
服務端腳本是 PHP 最傳統也是最主要的目標領域。開展這項工作
需要具備以下三點:PHP 解析器、WEB 伺服器和 WEB 瀏覽器。您需要
在運行 WEB 伺服器時,安裝並配置 PHP,然後,可以用 WEB 瀏覽器來
訪問 PHP 程式的輸出,即瀏覽服務端的 PHP 頁面。
-
17
命令行腳本可以編寫一段 PHP 腳本,並且不需要任何伺服器或者瀏
覽器來運行它。通過這種方式,只需要 PHP 解析器來執行。這種用法對於
依賴 cron(Unix 或者 Linux 環境)或者 Task Scheduler(Windows 環境)
的日常運行的腳本來說是理想的選擇。這些腳本也可用來處理簡單的文本。
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
等。對於大多數的伺服器,PHP 提供了一個模組;還有一些 PHP 支援 CGI
標準,使得 PHP 能夠作為 CGI 處理器來工作。
PHP 可以自由地選擇作業系統和 WEB 伺服器。同時還可以在開發時
選擇使用面對過程和面對物件,或者兩者混和的方式來開發。使用 PHP 並
不侷限於輸出 HTML。PHP 還能被用來動態輸出圖像、PDF 檔甚至 Flash
動畫(使用 libswf 和 Ming)。還能夠非常簡便的輸出文本,例如 XHTML
以及任何其他形式的 XML 檔。PHP 能夠自動生成這些檔,在服務端開闢
出一塊動態內容的緩存,可以直接把它們列印出來,或者將它們存儲到檔
系統中。PHP 最強大最顯著的特性之一,是它支援很大範圍的資料庫。
-
18
三、系統測試與整合
3.1、MEGAWIN 控制器
選用 MEGAWIN 之 MG84FL54B 單晶片,在單晶片的 Port0 和 Port1
端接上繼電器,當作一般的開關器,就可以連接模型屋的家電裝置,執行
家電監控。Port3.0 和 Port3.1 分別接上 Xbee 的 RX、TX 腳,就可以透過無
線串列通訊進行傳輸和接收數據。在 MEGAWIN 控制器上有加裝光感應
器,可以直接感測白天或晚上進行燈光的控制。
以keil C軟體進行C語言程式撰寫,在程式內容設定每個Port0和Port1
bits 的功能編碼,單晶片會等待遠端傳來的訊號,進行核對數據後再執行繼
電器的控制。
圖 17:MEGAWIN 控制器
光感測電路 Megawin單晶片
Xbee
無線感測模組
繼電器電路
-
19
圖 18:MEGAWIN 控制器程式流程圖
初始化
接收
判斷字串
驅動 RELAY
開啟裝置
是
否
XBee
模組
Megawin
單晶片
模組
RELAY
控制板
(14個控制
relay)
連
接
居
家
裝
置 光感測
控制電路
-
20
Zigbee MG84 控制器控制碼
PO:開啟; FUN BITS
03 01//開啟"客廳燈光 1F" ;//P0.0;
03 02//開啟"客廳燈光 2F" ;//P0.1;
03 04//開啟"客廳空調" ;//P0.2;
03 08//開啟"廚房燈光" ;//P0.3;
03 16//開啟"廚房空調" ;//P0.4;
03 32//開啟"書房燈光" ;//P0.5;
03 64//開啟"書房空調" ;//P0.6;
P0:關閉; FUN BITS
04 01//關閉"客廳燈光 1F"
04 02//關閉"客廳燈光 2F"
04 04//關閉"客廳空調"
04 08//關閉"廚房燈光"
04 16//關閉"廚房空調"
04 32//關閉"書房燈光"
04 64//關閉"書房空調"
P1:開啟;
FUN BITS
05 01//開啟"主臥房燈光" ;//P1.0;
05 02//開啟"主臥房空調" ;//P1.1;
05 04//開啟"臥室燈光 1" ;//P1.2;
05 08//開啟"臥室燈光 2" ;//P1.3;
05 16//開啟"臥室空調" ;//P1.4;
05 32//開啟"ZIGBEE 插座 1" ;//P1.5;
05 64//開啟"ZIGBEE 插座 2" ;//P1.6;
P1:關閉;
FUN BITS
06 01//關閉"主臥房燈光"
06 02//關閉"主臥房空調"
06 04//關閉"臥室燈光 1"
06 08//關閉"臥室燈光 2"
06 16//關閉"臥室空調"
06 32//關閉"ZIGBEE 插座 1"
06 64//關閉"ZIGBEE 插座 2"
P0,P1 全開; FUN BITS
07 00
P0,P1 全關;
FUN BITS
08 00
-
21
3.2、ZIGBEE 遙控器
選用 MEGAWIN 之 MG84FL54B 單晶片,在單晶片的 Port0 接上 4x4
鍵盤、Port1 接上 LED、Port2 接上 LCD 顯示器,Port3.0 和 Port3.1 分別接
上 Xbee 的 RX、TX 腳,就可以輕易透過無線串列通訊進行傳輸和接收數據,
ZIGBEE 遙控器也可以同時遙控幾個 ZIGBEE 裝置。
以 keil C 軟體進行 C 語言程式撰寫,在程式內容設定每個裝置的功能
編碼,當 4x4 鍵盤按下時,LED 會顯示按鍵狀況,在 LCD 顯示器上會顯示
所輸入的功能碼,同時功能碼就從 MG84FL54B 單晶片透過 Xbee 模組傳送
出去。
圖 19:Zigbee 遙控器
Xbee
無線感測模組
LCD顯示器
Megawin單晶片
4x4鍵盤
-
22
圖 20:Zigbee 遙控器程式流程圖
初始化
4x4鍵盤輸入
LCD顯示
輸入功能碼
Zigbee
傳輸字串
XBee
模組
Megawin
單晶片
模組
4X4鍵盤
輸入功能碼
LCD顯示器
(顯示功能碼)
-
23
Zigbee 遙控器控制碼
PO:開啟; FUN BITS
A 1//開啟"客廳燈光 1F" ;//P0.0;
A 2//開啟"客廳燈光 2F" ;//P0.1;
A 3//開啟"客廳空調" ;//P0.2;
A 4//開啟"廚房燈光" ;//P0.3;
A 5//開啟"廚房空調" ;//P0.4;
A 6//開啟"書房燈光" ;//P0.5;
A 7//開啟"書房空調" ;//P0.6;
P0:關閉; FUN BITS
B 1//關閉"客廳燈光 1F"
B 2//關閉"客廳燈光 2F"
B 3//關閉"客廳空調"
B 4//關閉"廚房燈光"
B 5//關閉"廚房空調"
B 6//關閉"書房燈光"
B 7//關閉"書房空調"
P1:開啟;
FUN BITS
C 1//開啟"主臥房燈光" ;//P1.0;
C 2//開啟"主臥房空調" ;//P1.1;
C 3//開啟"臥室燈光 1" ;//P1.2;
C 4//開啟"臥室燈光 2" ;//P1.3;
C 5//開啟"臥室空調" ;//P1.4;
C 6//開啟"ZIGBEE 插座 1" ;//P1.5;
C 7//開啟"ZIGBEE 插座 2" ;//P1.6;
P1:關閉;
FUN BITS
D 1//關閉"主臥房燈光"
D 2//關閉"主臥房空調"
D 3//關閉"臥室燈光 1"
D 4//關閉"臥室燈光 2"
D 5//關閉"臥室空調"
D 6//關閉"ZIGBEE 插座 1"
D 7//關閉"ZIGBEE 插座 2"
P0,P1 全開; FUN BITS
* *
P0,P1 全關;
FUN BITS
# #
-
24
3.3、人機介面監控
人機介面監控系統的首頁,畫面比起已往的風格更為有質感,運用了
幾個簡單的元件組合而成,也應用了繪圖軟體,為了使畫面看起來更好看,
也讓人能夠簡單操作、使用,故將控制鍵放大許多 。
圖 21:為人機介面監控系統的首頁
圖 22:為人機介面監控系統的操作面
-
25
在圖 22 最上面 Command [客廳、廚房、書房、主臥室、臥室] 用到了 case
架構流程,如下圖:
圖 23:為人機介面監控系統流程架構圖
大多數的 Command 裡幾乎都有矩陣,為了方便編輯也避免程式衝
突,所以用矩陣來編輯。
圖 24:為人機介面監控自動排程系統
狀態 1
狀態 2
狀態 3
狀態 4
END index
Case0
Case1
Case2
Case3
-
26
自動排程輸入控制列表,右邊有控制板面可以自行輸入時間控制,
分別設定[日期、時、分、秒、控制點],簡單達到人不在位置上,也能控制
家電的目的,如果設定時間已逾時則會出現 MsgBox ("設定時間已過,無效
設定") ,沒有選擇控接點則 MsgBox ("請先選擇控制點"),當所有流程都
準備就緒時,點選[排入監控]即可依序做您所設定的動作。
圖 25:為人機介面監控自動排程流程圖
此版面運用到了資料庫的撰寫,使用純文字檔記錄微電腦的監控資
料,雖然具有極大的簡便性與流通性,但對於處理大量數據資料的能力。
在 Windows 平台上,Microsoft 提供許多功能強大的資料處理功能,而且可
以整合網際網路功能,進行遠端資料存取與管理等功能。
EOF
過期
開始執行工作
排入時程
END
刪除,執行
下一筆
是 否
是
否
-
27
步驟 1:
建立 Access 資料庫:VB 程式提供許多型式的資料庫檔案。在
MS-Office 就附有 Access。如果沒安裝 Access 也沒關係,VB 內建的[增益
集]就有提供建立 Access 資料庫的功能。
步驟 2:
ADO Data 控制項:ADO(Active Data Object)控制項是 Microsoft 將強
大的低階介面標準 OLE DB 簡化為高階的新型資料庫物件,可以讓程式設
計者使用簡單的 VB 程式,就能存取不同型態的資料來源。取代早期 VB 提
供的 Data 控制項。
步驟 3:
DataGrid 與 ADO 的連接:DataGrid 控制項具有像試算表的資料顯示
架構。通常它與 ADO 控制項結合,讓使用者很容易就能在 VB 程式中編輯
修改 ADO 資料庫的內容。
步驟 4:
ADO 的 Recordset 物件:ADO 依資料的連結、擷取與處理,提供 3
大主要物件:Connection、Command、與 Recordset。前兩項的連結與擷取,
至於 Recordset 是實際要進行資料的處理動作,因此出現在範例程式碼的機
會也最多。
-
28
VB6.0 的串列通訊控制物件,也是最重要的關鍵,為 RS-232 通訊埠
必頇擁有傳輸板連接 PC 並打好程式,通訊協定鮑率 MSComm1.Settings =
"9600,n,8,1"必頇與接收端相同,透過此通訊協定我們將他用來與
MEGAWIN 相連接,並傳輸資料給主控板。
VB 的串列通訊控制項 並非 VB 的基本控制項,因此以[標準執行檔]
方式開啟新專案,在工具箱內看不到這個控制項。使用者必頇選取功能表
[專案]-[設定使用元件]指令,在 [設定使用元件]對話方塊‖點選 ‖Microsoft
Comm Control 6.0‖ 項目,在[工具箱]才會出現一個以電話做為圖示
的‖MSComm 控制項‖。
-
29
3.4、PHP 監控網頁
圖 26:PHP 監控首頁
使用者登入:利用 Dreamweaver(網頁編輯軟體)編寫使用者登入網頁,
使用者必頇網頁上輸入帳號密碼才能進入監控網頁。
圖 27:PHP 監控網頁 圖 28:PHP 監控網頁流程圖
是
否
使用者登入
是否正確?
控制家電
無法登入跳回
使用者登入介
面
進入監控
主畫面
選擇要控制
家電功能
-
30
PHP 監控網頁:
利用 Dreamweaver(網頁編輯軟體)編寫 PHP 居家監控網頁,把所有要用到的
家電設備主要功能編寫在 PHP 網頁上,裡面包括溫濕度狀態環境控制裝
置,之後再編寫 PHP 和 Megawin 通訊協定之間的 Function Code,編寫完成
再把 PHP 網頁放置到 Apache 網站。
Dreamweaver(網頁編輯軟體)是一種人性化的操作環境與視覺化編輯方
式,即使是初次接觸網頁設計者也能輕鬆上手,你無頇撰寫任何程式碼即
可快速建立網頁。
圖 29:Dreamweaver(網頁編輯軟體)
-
31
網際網路監控的操作:
1、啟動 Apache 程式,開啟網際網路遠端監控功能。
2、使用可上網個人電腦或 PDA,連接 ZIGBEE 智慧居家監控網站。
3、選擇監看網路狀態。
4、下達指令透過 ZIGBEE 模組控制 MEGAWIN 主控板達到控制家電功能。
-
32
3.5、網站伺服器
圖 30:Ebox 網站伺服器+無線寬頻分享器
Ebox 安裝 XP 作業系統方法:
1. 頇先準備USB floppy 、USB
Keyboard/Mouse (or PS/2
Keyboard/Mouse) 、USB
CD-ROM、Storage device: CF
Card 2GB (or above) or 2.5‖
Hard Disk. 、Windows XP安裝
光碟。
2. 複製檔案(txtsetup.oem)和檔
案 (windows) 到 floppy。
-
33
3. 連接上USB floppy and external USB CD-ROM到eBox-3300的USB port。
4. 再執行光碟開機。
5. 等待螢幕出現「load third party SCSI or RAID driver.」,按下F6按鍵。
6. 系統會透過 USB floppy 尋找新的硬體驅動– 「Vortex86DX D1010
ATA/ATAPI Controller」按下 ―Enter‖,再按下 ―F8‖按鍵。
7. 執行 CF 卡或硬碟分割和格式化,就直接可以安裝作業系統。
8. 作業系統安裝完成再安裝 VGA 驅動程式、LAN 驅動程式即可使用。
-
34
Ebox 安裝 Apache 伺服器軟體:
從 Apache 網站(http://www.apachefriends.org/zh_tw/xampp-windows.html)
下載 Apache 安裝主程式,安裝成功會出現以下網頁。
圖 31:Apache 安裝主程式
Ebox 與 Xbee 連結:
PHP網頁要做 RS232通訊時必頇透過 Apache的 dio.dll來做通訊,
當 Apache 灌在 Ebox 平台內時,dio.dll會被關閉。
因此需在 php.ini檔內加入 extension=php_dio.dll 即可。
(**檔案位子在 C:\xampp\php\php.ini)
http://linux.vbird.org/linux_server/0360apache.php#www_advhttp://www.apachefriends.org/zh_tw/xampp-windows.html
-
35
3.6、展示模型屋
圖 32:展示模型屋電燈全關
圖 33:展示模型屋電燈全開
Megawin控制板
Zigbee 插座
Zigbee 遙控器
模型屋
-
36
3.7、作品成果展
圖 34:作品成果展
圖 35:專題組員與指導老師合照
-
37
四、結論
本作品主要是運用 XBee無線感測模組搭配 MEGAWIN之 MG84FL54B單
晶片,來建構一個 Zigbee網路的,應用在一套智慧居家監控系統內。
製作 Zigbee網路的 Megawin控制器,讓使用者可以利用 Megawin控
制器監控居家各種裝置。安裝方法也簡單化了,有了 Zigbee無線網路也可
減少複雜的系統配線。
結合 Web-Base來實現 Zigbee網路與 Internet網連結,實現無阻礙
通訊。就算人不在家也可以隨時監控居家的裝置。
VB的人機介面更讓使用者操作起來更簡單,並加入智慧控制利用資料
庫與排程的方式,建構一套能夠依照使用者需求與設定來進行監控管制的
系統。
-
38
五、參考文獻 4.1、書籍: 1. 8051 單晶片實作(附光碟) : 使用 C 語言
林振漢著 / 2005 / 博碩文化
2. 單晶片微電腦 8051/8951 原理與應用 : C 語言
蔡朝洋, 蔡承佑編著 / 2008 / 全華
3. Visual BASIC 6.0 入門與應用
許慶芳,許峻銘,許怡真編著 / 2004 / 文魁資訊
4. Visual Basic 與 RS-232 串列通訊控制
范逸之編著 / 1999 / 文魁資訊
5. Dream Weaver 3 : 網頁設計逍遙遊
黃啟銘編著 / 2000 / 第三波
6. Apache 網頁伺服器管理與應用
Charles Aulds 著 ; 馬樹奇,金燕譯 / 2002 / 五南
4.2、網頁: 1. 介面電路原理與應用:
http://jade.ee.hit.edu.tw/jadeweb/eclass/Interface/Interface.html
2. Vortex86DX(Soc)介紹:
http://www.vortex86dx.com/?page_id=197
3. ebox(Soc 電腦)介紹:
http://www.compactpc.com.tw/ebox-3300.htm
4. megawin 晶片介紹:
http://www.megawin.com.tw/UploadFiles/MG84FL54B_A2.pdf
5. XBee 模組介紹:
http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp
6. ZIGBEE 介紹與應用:
http://www.zigbee.org/
7. Apache 使用說明:
http://www.apachefriends.org/zh_tw/xampp-windows.html
-
39
六、作者簡介 來了台灣讀書不知不覺就快畢業了,回想三年級的時候,開始要想
專題了,就和班上的兩個同學組了一組,當時看到本系的老師帶學生做的
專題,大部分都是做太陽能研究,要不然就是材料研究,我們就對這些比
較沒有興趣,我們比較想做有關自動控制這方面的東西,可是那些只有電
機系的老師有在做。後來聽電機系的同學說林振漢老師有做無線控制方面
的研究,就非常感興趣和同學一同去找林振漢老師,當時老師已經收了三
組專題學生,不過後來老師還是收了我們這組。
剛開始發現我什麼都不會,VB 不懂得怎麼用,C 語言更不用說,這
些東西高職從來沒學過也沒碰過。老師說做每件都會起頭難,這句話說得
沒錯。當時老師就拿了一塊 MEGAWIN 的板子給我們玩,要用 C 語言寫程
式,這次難倒我們了,我們就去圖書館找書,可是有些還是看不懂,最後
還是去向老師請教。後來老師就拿 Xbee 感測器給我們,要我們結合
MEGAWIN 單晶片做無線傳輸控制,慢慢的就越玩越上手了,再來老師就
給我們一台 SOC Ebox 小電腦,要在小電腦裡灌入 XP 作業系統,當時還遇
到大問題,居然需要 USB 的軟碟機,不知道要去那裡找,沒有那種東西就
沒辦法灌作業系統,問了很多人都沒有那種東西,後來還好有個朋友剛好
有就借到了,完成了 XP 作業系統安裝。老師就我們去測試灌 linux 作業系
統,一直遇到問題最後放棄了,灌回原來的 XP 作業系統。
-
40
接下來我們這組專題的旅程正式開始,我們的題目就訂為 ZIGBEE
網路智慧居家監控,三個人就分工執行工作,一個負責 VB 設計,另一個就
負責 Web Base PHP 設計,我就負責 Megawin 單晶片程式和硬體。在當中我
們這組遇到的問題非常多,Megawin 單晶片的串列通訊問題、Xbee 模組字
串傳輸問題、VB 操作面狀態改變問題、Apache 灌入 EBOX 找不到 DIO 問
題、PHP 傳輸字串問題等等問題。我們就一直去找老師討論,老師真的好
強,我們想了幾天的程式,老師花不到半小時就幫我們寫出來了,真好佩
服老師,不過當中我們學到不少東西。剩下的就是展示用的模型屋,要在
模型屋裡進行配線安裝小電燈泡和小風扇,要讓它看起來比較逼真。
由於這次我們電子系的專題成果展要提早一個月辦,對我們來說算
是蠻趕的。而本來要在系統加上溫度感測模組,也因為時間的關係而減掉
這個功能。看到我們的專題完成了,雖然不是很有創意的題目,心裡也有
小小的成就感,其實結果並不是最重要的,重要的是過程中有沒有學習到
的東西,還有組員之間的團結精神才是最可貴的。感謝林振漢老師的細心
指導,老師也給我們不少方向讓我們從完全不懂的,到現在我們學習到很
多東西,在專題中可說是收穫不少,也算是大學四年裡得到最好的經驗。
希望所學到的東西和技術在畢業後有機會用得到,再回饋貢獻給社會造福
人群。(四子四甲 沈的葳 BQ95056)
-
41
在大三下時專題分組完後,跟大家討論完後決定追隨電機系的林振
漢老師開始我們的專題研究旅程,剛開始找老師,老師用最簡單的方式引
導大家,也帶所有他的專題學生到電腦教室去聽學長正在研究什麼,報告
裡的內容有哪些東西可以研究,提出了一大堆東西來,剛開始我們選擇了
HT46 是一塊實驗板而且它還有比賽在不停的摸索當中,我們學會了他的燒
錄方式,也玩過了許多的範例程式。
每次在去找老師都沒有方向性,老師也跟我們說有很多玩法,在這
之後老師便給我們一塊 MEGAWIN 的板子,叫我們好好的去研究一番,並
給我們一些範例程式,要我們自己回去試,之後又加了一個 Zigbee 要我們
玩通訊協定,我們便開始去找 MEGAWIN 與 Zigbee 的 Datasheet 來研究傳
送與接收腳位,從 Zigbee 接腳拉出 4 隻腳位連接 MEGAWIN 並看 Datasheet
裡的 UART 和 BD (Interface Data Rate) Command 者裡面的 BD 要一樣頻道,
如果沒有則不能傳接收,我們試出來之後,老師便開始加一些新的 ideal,
由於之前有學長做過餐廳點菜和智慧住宅為例,我便開始著手 VB 想說我們
來做個家電控制系統,剛開始用 VB 時都不是很熟而且邏輯也很差,預覽了
許多智慧家電的網路後,開始覺得自己的介面怎麼灰灰的,並開始尋找圖
片製造的軟體來修改讓他看起來更有質感,改到現在雖然 Command 不能變
圖形但是圖形看起來也很人性化;在 Command 上浪費了不少時間,剛開始
-
42
用 IF 寫迴圈以為很快就能解決,結果越寫越多導致出現很多衍生問題,自
己要看懂也很難,便一直去問老師尋求答案,老師也不厭其煩的教我,最
後用了 index(矩陣)解決了我的所有困擾,但是我以為可以一直用同一個儲
存狀態,但是 index 不能一直呼叫也不能重複存取,還弄出了個雙重矩陣問
題一大堆最後跑去問老師,老師便說不能這樣寫,這樣寫你需要跑回去找
所有程式的路線,而且也有重疊、才會有重複的問題出現,並在老師的建
議下分開所有的矩陣並分別儲存也解決了我所有的問題。
最後變開始用最重要的連接部份(RS-232),我們只會單一筆資料傳輸
而且還會覆蓋掉前一筆資料,之後問老師,老師便教我一次並舉例給我看,
我回去是還是問題一堆,在這打轉了許久,最後再去找老師也終於把通訊
方面給解決了,老師也叫我再增加一個資料庫,我也拿著老師給我的範例
程式開始試,並且開始更深入的研究,並且思考了很久也是了很多次,一
開始出現很多問題,也在那邊自己苦惱很久,也有稍微問了一下老師,之
後自己便拼拼湊湊的改來改去,最後也終於完成了。
跟著老師這麼久覺得 VB 有進步很多,邏輯思考能力也有變強,很多小細節
的東西都在範例程式裡幾乎都有,但是就看你想不想讓他看起來更美好,
花的時間一定要很多,但是學到比較重要,老師常說:要做你自己來找我,
我不會去找你,我喜歡有問題而且主動的學生。這句話也多少影響了我,
-
43
因為積極點真的會對自己比較好。(四子四甲 雷雙瑜 BQ95049)
-
44
因大學四年級畢業要做專題的關係,而做了這個專題,第一次接觸到
專題,發現專題跟我們上課的類型不大相同,做這個專題真的讓我學習到
好多,也讓我多了一個很好的經驗,這次的專題我找了班上兩個同學跟我
一起參與,也找了電機系的林振漢老師當我們的專題老師。
記得一開始做的時候沒有說很順利,問題一大堆,題目沒有方向,不知如
何下手,於是老師就開始丟了很多東西給我們試要我們從中去發現適合我
們的題目,也聽了很多有關學長歷屆的作品,但我們一直都沒興趣,直到
後來老師丟了個有趣的東西給我們 EBOX(SOC)它是一台小電腦,可以隨身
攜帶,很方便,於是我們就拿它來應用在我們的題目上,我們的題目是
ZIGBEE 網路智慧居家監控,一開始我對編寫網頁有著濃厚的興趣,於是我
在小組裡面負責的部分就是 WEB-BASE 的網頁編寫,要學著如何架設伺服
器,利用 Dreamweaver 撰寫 PHP 網頁,在當中也碰到了很多問題,如原本
題目一開始要利用觸控螢幕當媒介,不過後來因為經費的問題而作罷,
Apache 裡的 Dio 開啟,還有 PHP 跟 Megawin 之間連結的通訊協定,但到
後來我才發現這些問題都不難解決,觸控螢幕我們自己做了搖控器代替,
Dio 的問題是因他在 PHP 裡沒有顯示,所以我們要輸入指令讓他可以顯現,
而 PHP 跟 Megawin 之間的通訊協定則是要了解他程式的架構,而剩下的就
是要結合全部,做一個系統的整合,於是我們找了展示用的模型屋,裡面
-
45
就安裝一些我們日常生活要用的設備燈泡、電扇等。
就像老師所說的要真的花時間下去做,用心下去做才能找到解決問題
的方法。而老師也說了一句影響我甚深的一句話『我們是來學東西的,不
是學皮毛,而是學專精!』這句話真的震撼我很大,我很高興有這次的專
題製作,著實讓我學到不少的東西,包括彙整資料相關的專業知識還有解
決問題的方法,由於這次專題時間緊迫的關係專題如期能完成都要感謝老
師的耐心教導,還有感謝我兩個組員的責任心和參與感,真的讓我收穫良
多,也趁畢業之際給我了一個很好的經驗。 (四子四甲 張桂豪 BQ95052)
-
修平技術學院
電
子
工
程
系
98
實務專題報告書—
ZIG
BE
E
網路智慧居家監控
指導老師:林振漢
學生:沈的葳、雷雙瑜、張桂豪