實務專題報告書 -...

50
Z Z I I G G B B E E E E 師:林振漢 專題製作學生:四技子四甲 沈的葳 BQ95056 四技子四甲 雷雙瑜 BQ95049 四技子四甲 張桂豪 BQ95052 中華民國 九十八 十一 十一 DEPARTMENT OF ELECTRONIC ENGINEERING HSIU-PING INSTITUTE OF TECHNOLOGY

Upload: others

Post on 20-Jan-2020

3 views

Category:

Documents


0 download

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

    網路智慧居家監控

    指導老師:林振漢

    學生:沈的葳、雷雙瑜、張桂豪