大華技術學院
機電工程研究所
碩士論文
藉由自由軟體建置智慧家庭之實作
Establishment By The Open Software
Implementation Of Family Wisdom
研 究 生:陳 德 志
指導教授:何 世 偉 博士
共同指導教授:林 獻 堂 博士
藉由自由軟體建置智慧家庭之實作
Establishment by the Open Source Implementation Of
Family Wisdom
研 究 生:陳德志 Student:Te-Chih Chen 指導教授:何世偉 Advisor:Dr. Shr-wai Ho 共同指導教授:林獻堂 Advisor:Dr. Xian-Tang Lin
大華技術學院 機電工程研究所
碩士論文
A Thesis
Submitted to Institute of Mechatronic Engineering Ta Hwa Institute of Technology
in partial Fulfillment of the Requirements for the Degree of
Master of Science in
Mechatronic Engineering August 2010
誌謝 論文的完成,首先要感謝指導教授何世偉博士、林獻堂博士這三年來 殷切的指導,讓我在專業知識上與研究方法上,均有所啟迪與領悟,在此 致上最深的謝忱與敬意。還要感謝四位口試委員,王明誠博士、何世偉博 士、林獻堂博士、于善純博士,百忙之中抽空指教,並給予相關的建設性 建議及口頭上肯定,使本論文更加完整。 最後,感謝家人與公司長官的支持與諒解,使我無後顧之憂,順利 完成學業。也感謝同學與學弟的熱心幫忙。願以本論文獻給所有關心我的 人。
藉由自由軟體建置智慧家庭之實作
學生:陳德志 指導教授:何世偉 博士 共同指導教授:林獻堂 博士 大華技術學院 機電工程研究所 摘要 近年來智慧家庭概念,隨著網路盛行,以慢慢進入生活中。整合資訊、 保全、控制、娛樂四大功能,讓居家環境,更容易達到安全、舒適、居家 照護與節能的生活條件。 本研究利用自由軟體特性,建立智慧家庭中所需服務,包含作業系統、 網站伺服器、資料庫伺服器、智慧控制伺服器、多媒體影音伺服器、使用 者遠端遙控網頁等,並利用工業成熟之分散式資料蒐集器,在智慧家庭中 扮演控制系統(電燈與電源開關)之要腳,透過電腦或智慧型手機進行遠 端監控,並提供家庭多媒體影音服務,提昇居家生活品質,最後在智慧家 庭自動化後,仍然保留傳統配線與控制方法,讓一般家庭老中青三代,在進入智慧家庭中,都能享有帶的便利與智慧照護。本結果已建立在實際住 宅中。 本研究主要貢獻有五項:第一,使用自由軟體建置智慧家庭中之系統 及服務。第二,利用分散式架構配合分散式資料蒐集器控制家中相關電器 週邊。第三,透過網路進行圖形化遠端監控系統。第四,建立智慧家庭影 音多媒體服務,提昇優質生活品質。第五,將科技與網路的新技術帶入智 慧家庭的同時,仍保有傳統居家電器迴路與控制方式,除了讓不熟悉使用 新技術的人,不用改變個人的操作習慣,也可當成另一套備援系統。 關鍵字:智慧家庭、自由軟體、分散式架構、遠端監控
Establishment By The Open Software Implementation Of
Family Wisdom
Student:Te-Chih Chen Advisor:Dr. Shr-wai Ho Advisor:Dr. Xian-Tang Lin Institute of Electro-Mechanical Engineering
Ta Hwa Institute of Technology
Abstract
In recent years, the Intelligent Home concept is gradually getting into our daily life with popular network. To integrate four functions of information, security, control and entertainment is easier for home environment conditions in
achieving safe, comfort, energy-efficient home.
Using the characteristics of open source, this study establishes the service of Intelligent Home, including the operating system, Web server, database, intelligent control server, multimedia server and the web page of user remote control, etc. To use the distributed data collector of industrial maturity as an important play in Intelligent Home control system, like lights and power switch on/off. It provides the remote control and multimedia service through a
computer or smart phone to enhance the quality of home life. Finally, it still retains the traditional ways of wiring and control after Intelligent Home automation. Through this way, it brings the three generations of ordinary families to enter a smart home enjoying the convenience and intelligent care. The results are based on an actual residence.
There are five main contributions from this study. First, using open source for system and services build in Intelligent Home. Second, using the distributed
appliances. Third, having graphical remote monitoring system through internet. Fourth, to establish multimedia services (audio and video) for
intelligent home and enhance life quality. Fifth, as bringing the new technology and network/internet into Intelligent Home, it still maintains the traditional home electrical circuit and control method. In addition to those who are not familiar with new technologies, without changing the personal operation habits. It can also be as another backup system set.
目錄 中文摘要...I 英文摘要...II 目錄...III 圖目錄...VI 第一章 緒論 ……… 1 1.1 研究背景 ……… 1 1.2 研究動機 ……… 3 1.3 研究目的 ……… 4 1.4 論文架構 ……… 5 第二章 文獻探討 ……… 6 2.1 智慧家庭 ……… 6 2.1.1 何謂智慧化居住空間 ……… 6 2.1.2 智慧化居住空間的現況與問題 ……… 9 2.1.3 智慧化居住空間的評估方法 ……… 10 2.1.4 國內外對智慧建築研究案例……… 11 2.2 自由軟體 ……… 13 2.3 Linux 介紹 ……… 17 2.3.1 何謂 Linux?……… 17 2.3.2Ubuntu ……… 18 2.4 分散式監控 ……… 19 2.5 集中式監控 ……… 21 2.6 TCP/IP 網路協定……… 22 2.7 Modbus ……… 24 第三章 系統設計 ……… 26 3.1 系統架構 ……… 27 3.2 系統設計……… 28 3.2.1 兼顧傳統的電氣迴路與操控方式……… 28 3.2.2 分散式控制架構……… 32 3.2.3 遠端監視與控制 ……… 35 3.2.4 家庭多媒體服務 ……… 35 3.3 系統功能 ……… 37 3.4 開發工具 ……… 37 3.4.1 GCC 編譯器 ……… 37 3.4.2 Adobe Actionscript 3.0 ……… 38
第四章 系統實做 ……… 41 4.1 程式流程 ……… 42 4.2 實做環境說明 ……… 43 4.2.1 硬體設備規格……… 43 4.2.2 系統的電氣迴路配線……… 44 4.3 軟體設計與實作……… 45 4.3.1 系統安裝與架設……… 45 4.3.1.1Web 網站伺服器安裝……… 46 4.3.1.2 PHP 伺服器端語言安裝……… 46 4.3.1.3 MySQL 資料庫安裝……… 46 4.3.1.4 AMFPHP 安裝與測試……… 47 4.3.2 智慧控制伺服器……… 48 4.3.3 使用者圖形介面設計……… 43 4.3.4 家庭多媒體伺服器……… 54 4.3.5 系統整合……… 55 4.4 結果與討論……… 57 4.4 未來研究方向……… 58 第五章 結論 ……… 59 參考文獻 ……… 61 附錄一 安裝 Ubuntu 作業系統 ……… 64 附錄二 Ostube 2.6 多媒體影音伺服器安裝……… 69
圖目錄 圖 1、智慧居住空間概念圖 ……… 8 圖 2、智慧建築標章解說與評估手冊 ……… 8 圖 3、自由軟體的成長循環 ……… 16 圖 4、分散式架構 ……… 21 圖 5、集中式架構 ……… 22 圖 6、TCP/IP 傳輸狀態圖 ……… 23 圖 7、系統示意圖 ……… 27 圖 8、傳統電燈配置……… 29 圖 9、智慧電燈迴路配置 ……… 29 圖 10、eDAM-9050 分散式資料蒐集器……… 33 圖 11、集中式控制 ……… 34 圖 12、分散式控制 ……… 34 圖 13、Flash Player/Remotimg 架構圖……… 40 圖 14、AMF 傳輸資料圖表……… 40 圖 15、系統示意圖 ……… 42 圖 16、控制系統架構 ……… 43 圖 17、系統電氣迴路配線圖 ……… 45 圖 18、控制系統資料庫管裡介面……… 47 圖 19、amfphp 安裝測試完成圖……… 48 圖 20、控制伺服器程式設計流程圖……… 49 圖 21、使用者介面程式設計流程圖……… 52
1.緒論 環伺全球,在科技昌明、資訊發達等環境因素,以及人們對於生活品 質要求的推波助瀾下,造就了近代智慧型家庭以及數位家庭的成形。 根據國際數據資訊中心(IDC)的資料顯示,數位家庭意指,將電腦、 數位電視、遊戲機、DVD、DVR、MP3、機上盒等家用設備,以網路連接,藉 由 VOD、線上音樂、線上遊戲、安全監控等服務,播放及存取影音文字等 內容。 另外,資策會 MIC 認為,數位家庭代表將新世代的資通訊、消費電 子產品融合,在一個共通平台上,透過家庭網路串聯家中的各類電子設備, 達到分享控制的目的,對外透過寬頻網路,上傳、下載各種資訊,以及相 關應用服務。 1.1 研究背景 隨著科技產業的發達、智慧生活科技產業的發展,以及國人對生活品 質的要求逐漸提高,智慧化建築已成為當今熱門產業。透過智慧化與自動 化技術的提升,整合安全、IT、網路、服務相關產業,將科技融入建築, 未來的生活將更安全、便利、舒適。 智慧家庭在歐、美、日等先進國家,早已盛行多年。2004 年起,美國 在國家科技委員會大力推動智慧結構發展計畫之後,就積極研發將資通
訊、監測技術應用於建築當中,加速智慧家庭市場趨勢。歐洲則因為人口 逐漸老年化所帶來的健康照顧需求,積極利用相關技術發展智慧的照護生 活。歐盟在 2008 年啟動的「全面居家協助(AAL,Ambiant Assisted Living)」 資助計畫,其中的 CAALYX 計畫,研究可穿戴的微型裝置,隨時偵測使用 者狀況。日本政府從 2001 年開始推動 e-Japan、u-Japan 等計畫,主要是隨 時隨地透過任何終端設備上網並享受各項數位內容服務。 在台灣,近年來在產官學界不斷努力積極研發下,累積了相當豐碩的 成果,與相關產品陸續問世。例如政府相繼成立智慧建築認證單位及規範 標準,讓智慧建築有更好得品質保證。同時,也給予適當地獎助額,藉以 獎勵國內建商積極投入智慧建築的興建,以帶動智慧化技術的研發與整 合。除此之外,學界也積極投入與研究相關技術內容。例如台灣大學 INSIGHT Center,研究主軸就以『健康、呵護、永續』為目標。交通大學的 Eco-City,對於居家,辦公室,健身房,車內四大空間的科技化,進行深入 的探討。成功大學的 Touch Center,成立「優質生活體驗屋」,研發相關技 術,提昇智慧建築的功能及品質提昇,以達到建築物安全、健康、節能、 便利、舒適的目的。 數位雜誌 2010/6 月份對智慧家庭未來趨勢提到:「智慧居家主要建構在 家庭控制網路之上,以家庭自動化系統為核心,透過中央控制各項家用設
備,而達到便利舒適、節能環保、安全監控、健康照護及影音娛樂之應用」, 可見自動化系統在智慧家庭中,扮演不可缺少的重要角色。 家庭寬頻普及趨勢下,家電用品紛紛加入網路功能,希望透過網際網 路的豐富資訊,使家電變得更智慧。使用者利用電腦上網進行管理與搜尋, 也可透過電視享受精彩及豐富的數位多媒體娛樂。包括 DVD 欣賞、收看並 預約錄製電視節目、下載電影、放映家庭影片等。近年來雲端網路的普及 與 Youtube 影音分享的潮流,透過網路進行影音多媒體分享,讓親朋好友 們與你同時欣賞精彩難忘與高品質的影片。 1.2 研究動機 在硬體方面,目前智慧型家庭市場中,都是配合建設公司,或外包給 保全、電信業者,選購智慧控制的相關設備,安裝新的控制面板,使用者 也要熟悉複雜的控制操作,而控制面板有時也只有 1-2 個,便利性不夠, 最重要花費成本大。 智慧型家庭的興建必需具有前瞻性,而非隨波逐流一味的追求新潮, 而是必須兼顧現實面。最重要的是要秉持永續生存的概念,若一味的追求 極致科技化,而導致所花的資源比節省下來的資源還要多,那就得不償失。 在此研究中,我們就保有傳統控制面板,讓不熟悉的家中老年或小朋友,
在軟體方面,自由軟體受歡迎的原因不外乎能節省支出以及對於所有 元件更改及調整的最大可能性。例如大家常用的 MS Office 軟體,除了支 付軟體授權費外,主要是該軟體並非所有功能,都是必須的。所以肥大的 商業軟體,並非是唯一選擇。 自由軟體近年在各界的積極推廣下,已有卓越成效。例如政府單位以 開始積極導入自由軟體,規畫公家機關電腦使用 FireFox 瀏覽器,並階段性 選擇部份機關導入 Linux 作業系統。推動自由軟體最大目的還是能幫助政 府在軟體授權上,節省大筆支出。 坊間提出的家庭多媒體系統,大部分屬於封閉系統,僅能配合 Windows 作業平台,擴充性不佳,不然就是花費成本過高。 智慧手機近年來成長快速,已成為兼具商務及娛樂需求的行動通訊與 連網的裝置。手機不再只能打電話,智慧手機內建作業系統,及上網瀏覽 器,儼然是一個隨身攜帶的小型電腦。因此透過智慧手機上網遙控智慧家 中的電器設備,也是本研究目標之一。 1.3 研究目的 今日的建築以強調環保、節能、安全、舒適為訴求的智慧化居住空間。 為達到此目的,就必須整合自動化技術與新科技的資訊技術。
本研究利用自由軟體,建置一套智慧型家庭控制系統,包含作業系統, Web 伺服器,資料庫伺服器,智慧控制伺服器及影音多媒體伺服器。在智 慧型家庭中使用分散式架構的感測器,以控制相關電器設備。並保留傳統 居家電器迴路與控制方式,讓家中老中青成員可以使用傳統控制面板控制 家中設備,也可透過手機遠端遙控介面,下達命令後,透過智慧控制伺服 器分析與判斷來驅動各項電器設備。除此以外,結合家庭多媒體服務,提 昇智慧家庭優質生活品質,讓住在智慧家庭中的成員,享受安全安心、舒 適、居家照護與節能的生活條件。 1.4 論文架構 本論文共分四個章節,第一章說明本研究之背景、動機、目的。第二 章主要探討相關文獻。第三章主要討論系統架構與設計內容。第四章則說 明系統實做步驟及程式流程,並探討相關結果。第五章做出本研究結論, 以供各界參考。
2.文獻探討 2.1 智慧家庭 2.1.1 何謂智慧化居住空間 從 1990 年內政部建築研究所針對智慧建築的相關調查研究開始,智慧 建築的定義多以「智慧建築係指建築物及其基地設置建築自動化系統 (BAS),配合建築空間與建築體元件,從人體工學、物理環境、作業型態 及管理型態角度整合,將建築物內之電氣、電信、給排水、空調、防災、 防盜及輸送等設備系統與空間使用之運轉、維護管理予以自動化,使建築 物功能與品質提昇,以達到建築之安全、健康、節能、便利與舒適等目的。 其基本之構成要素需包括(1)建築自動化系統裝置(2)建築使用空間(3) 建築運轉管理制度」,廣泛地做為智慧建築之意涵與定義。及至 2005 年 行政院提出智慧化居住空間政策後,加入 ICT 產業的智慧化生活科技應 用,而將智慧化居住空間定義為「智慧化居住空間乃是以建築為載體透過 資訊基礎設施,結合電子、電機、資通訊相關產業技術與自動化設備,建 置智慧化居住空間,創造及享有安全、健康、便利、舒適與永續的生活型 態。」最大的異同點為過去智慧建築較重視設備系統的導入與整合成效, 而現今隨著資通訊(ICT)技術的成熟與發展,人們較著重於生活的安全、健 康、舒適與娛樂等需求,也就是把過去以空間、設備為主流的整合技術, 更進一步的以地球永續概念為出發,談論以人為本的智慧化居住空間情
境,因此人性化的人機介面、溫馨、健康、安全的生活情境模擬,成為智 慧化居住空間的主要議題。智慧建築的評估指標從安全防災、資訊通信、 設備節能、綜合佈線、系統整合、健康舒適到設施管理等系統面向的評估 項目,也逐漸發展出以安全監控、健康照護、舒適便利及永續節能等兼顧 人性需求以及環境永續的指標做為住宅的主要評估指標,並加入了服務的 商業模式。從這演變的過程,我們了解到科技的演進是為了能滿足人們的 生活需求,能觸動人性、啟發人心的科技產品,才會被廣大的群眾所接受。 智慧化居住空間的概念如圖一所示,首要需了解不同族群在不同時空 下的環境行為認知與需求,另一方面對人類賴以生存的建築空間,除了結 構性的安全外,在智慧居住空間的環境下,更要能隨時「感知」室內外環 境的變化、「決定」最佳途徑以提供服務以及能迅速的「反應」居住者的 需求,也就是具有辨識判斷能力的智慧建築。在智慧化居住空間中隨著自 動化、資訊化科技的日新月異,安全、健康、舒適、便利、娛樂等智慧化 科技產品應運而生,這些產品大多數在生活空間中獨立存在,成為生活的 數位型家電娛樂等用品,但有些如環境控制、設備整合等控制型的智慧化 設施設備,則必須考慮與建築空間的整合,甚至成為建築設計與建造過程 中的標準配備,目前消防設施設備以及門禁設備已成為或漸進式成為建物 建造時的標準配備,然而附與建築生命的神經系統(如感測器、控制器及綜
合佈線概念等),在目前的法令與規範中尚未被標準化與法規化,因此造成 建物的監控與感應尚不如理想中的智慧與人性化。
U
biqu
itou
s
Networ
k
圖一 智慧居住空間概念圖(資料來源:中國文化大學智慧建築模擬實驗室) 智慧化居住空間的範疇,包含家以及服務各戶的公共空間所圍成的建 築或社區,以住宅為例,談論智慧住宅無法僅談論各戶內的問題,除了獨 立建造的別墅住宅外,大多數的住宅均以集合住宅型式呈現,各戶內屬私 人空間的智慧化設施設備為獨立監控以外,尚有與社區消防安全以及公共 區域的門禁監視等安全相關的設施連結,以及健康中心遠距健康照護設施 的提供等,均與公共空間密不可分,與都市的關係也是智慧化居住空間必 須考量的範疇,例如家中老人的遠距健康照護系統,需與都市的醫院連線,或與社福機構整合做遠距的關懷照護,因此智慧化居住空間的範疇,必須 從家到建物到社區乃至都市,連為一個網絡,都市系統的智慧化與整合才 能呈現智慧的台灣。 2.1.2 智慧化居住空間的現況與問題 智慧化居住空間的發展需要跨領域產業的異業結盟,其產業範疇包含 服務業與製造業的異質整合,應用電子製造、資訊家電、建築、建材與家 具等技術,提供物業管理、保全、照護、能源管理等服務,才能將智慧化 居住空間落實與實現。 然而目前橫向跨產業領域的聯盟才正在萌芽期,因此要積極鼓勵整合 各產業技術,結合建築設備、材料與室內裝修,才能讓人們享有安全、健 康、便利、舒適的智慧化居住空間,以下列舉目前對於發展智慧化居住空 間的幾項現況問題: 1. 營建產業流程與機制 40 多年來傳統不變 2. 營建業過去系統設備商多為貿易商 3. 跨領域的整合,可提升營建產業的技術,創造新的產業契機,讓相 關產業共生共榮 4. 目前的永續建築、綠建築或智慧建築初期投資成本過高,如何降低 成本,並正確估算合理的投資金額,應是當前計畫應著力的方向
5. 如何擅用台灣高科技產業的優勢,創造永續智慧的生活空間系統技 術,應是台灣可以拓展的重要關鍵 6. 國人普遍居住生活於公寓大廈之中,住戶及權屬複雜,使用管理缺 乏自動化系統與監控設施 7. 居家生活之家庭連網普及率已達 61%,個人行動通訊平均每 100 人 擁有 99 個行動電話門號,但消費性家電與設備各自獨立,缺乏橫向溝通 之共通平台 8. 資通訊電子通信與自動化監控設備,尚未能整合應用於傳統建築居 住空間,機能強化安全防災、環保節能與環境監測效益 9. 建築相關法規、規範及技術對建築物智慧化要求明顯不足,應鼓勵 建構綜合佈線、系統整合等功能設施,以增進智慧化之居住空間發展。 2.1.3 智慧化居住空間的評估方法 為配合智慧化居住空間政策,以及鼓勵民間建設智慧建築,內政部建 築研究所委託財團法人建築中心於今年度修訂智慧建築標章評估手冊內 容,作為辦公類智慧建築之評估指標,並另外研訂智慧住宅評估指標,以 因應住宅類之智慧化居住空間的評估需求。評估要件為住宅內部必需有完 善的基礎設施,包含綜合佈線、系統整合與設施管理的基礎項目,另外可 依個別住宅、社區的特性或使用需求,設置安全監控、健康照護、便利舒 適或永續節能等各項目的設施設備,以提升住宅社區的生活品質並達到安
全、健康、舒適、節能的目的。內政部建築研究所基於鼓勵既有建築改善 居住品質,鼓勵國人朝向智慧化生活發展,訂定既有建築補助方案,凡既 有建築於整修時採用智慧劃設計手法將原有建築智慧化者均可向政府提出 申請,經審查委員會審核後核定補助金額,金額從 30 萬到最高額 300 萬 元不等,將視其智慧化改善項目之內容而定。智慧住宅導入智慧化設施的 考量要素包含在什麼空間導入何種設備,採用何種人機介面,以及對使用 者提供何種服務以創造智慧化的空間,提升生活品質等面向做為考量重點。 圖二智慧建築標章解說與評估手冊(資料來源:中國文化大學智慧建築模擬實驗室) 2.1.4 國內外對智慧建築研究案例 目前全球對於智慧建築都有相關研究與實驗,大部份還是以實驗性質 較多,但都有一個方向-「以人為本」的設計與研究方法。而跨領域的研究 包含了:電資、社會、心裡、認知、人類學、科技研究、工業設計、空間
設計...等。讓設計出來的實驗是有開放與創新的概念,也更貼近民眾 生活。
早在 1995 年 MIT 的 William Mitchell 教授提出「Living Lab」的觀 念。實際建構一個生活情境,進行體驗,並隨時與不斷地改進研究方法, 將實驗室環境帶入至使用者真實生活的環境進行驗證。到現在 Living Labs 是一個民間組織,負責推動資通訊(ICT)及行動服務的媒合,並推出符合市 民的服務。Living Labs Europe 已在歐洲數個城市進行實驗計畫。目前全 球共有 129 個「Living Labs」。目前「Living Labs」具有下列特性:
1.以使用者為中新的跨領域研究合作手法,強調透過「真實生活實驗」 產生「以使用社群為導向」的創新成果。 2.一種對於多重複雜的解決方案,進行感測、雛型化、驗證、精煉的 方法,並引伸出真實的生活情境。 3.它是一個以企業、公部門、學術與研究單位等單位,所組成的團體, 透過合作與政策推廣,以進行都市、鄉村、居家等真實環境中的創意研發、 雛型測試、創新產品與服務的效果驗證。 日本近年來提出 u-Japan 計畫,目標在解決社會問題與活絡經濟。南 韓則提出 u-Korea,政策目標在於提昇經濟發展與吸引外資。 現今 Living Labs 所形成的社群已經超過 100 個會員,除了歐洲以外, 亞洲、南美洲、非洲等,都有相關社群加入。我國的資策會民生實驗園區
(Living Lab Taipei)以及國科會人本智慧生活科技整合中心(Touch Center)都是會員之一。 各國都提出智慧家庭相關政策,不外乎透過產官學的互相研究與技術 整合,帶動國人整體素養,有效提昇生活品質、創新生活與文化,帶動相 關產業之產值,藉以提昇國家經濟與整體競爭力。 2.2 自由軟體 以 Linux 為首的自由軟體熱潮正席捲著全球,不斷地擴大其對全球知 識經濟體系與世界各國資訊工業的影響力,許多國際大廠紛紛投入各相關 自由軟體的開發工作上。IBM 的執行長 Lou Gerstner 在 2000 年底宣示: IBM 在一年內將在 Linux 上投資十億美金。海峽對岸更是將 Linux 與自 由軟體視為在這場全球知識經濟的競賽中。增強國家資訊安全、 提升軟體 實力、 縮短數位落差 的核心基礎建設與技術跳板。身為資訊大國的台灣 自然不能缺席於這股知識經濟的浪潮。 以下說明:「什麼是自由軟體?」、 「自由軟體的優勢在哪裡?」、「自由軟體和傳統商業軟體有何不同?」、 「自由軟體的趨勢為何?」,以做為之後討論的基礎。 一、什麼是自由軟體? 自由軟體前所未有的賦予軟體使用者以下的四種自由: [自由 0]使用的自由:可以不受任何限制地來使用軟體。 [自由 1]研究的自由:可以研究軟體運作方式、並使其適合個人需要。
[自由 2]散佈的自由:可以自由地複製此軟體並散佈給他人。 [自由 3]改良的自由:可以自行改良軟體並散佈改良後的版本以使全 體社群受益。 它和傳統商業軟體之間最顯著的差異在於: 自由軟體鼓勵你拷貝 自由軟體允許你研究、改良 正因為自由軟體允許你研究、改良,使得人們得以「站在巨人的肩膀上」, 而不必「重新發明輪子」,這種和全球基礎科學研究類似的作法,對於科 技的進步有著巨大的影響。 在數以萬計的自由軟體計劃中,Linux 作業系 統是最廣為人知而且影響深遠的自由軟體之一,而今天的 Internet 是以 Sendmail、BIND 等自由軟體為骨幹架構起來的,此外,絕大部分新開發出 來的中央處理器 (CPU) 上的第一個應用軟體開發系統都是自由軟體 Gcc。 二、自由軟體的優勢 控制權是自由軟體相對於傳統商業軟體的最大競爭優勢,特別是擁有 程式的源碼為國家在知識經濟時代確保資訊安全的基礎、軟體產業發展與 升級的捷徑。 另外從自由軟體的四項自由所衍生出來的 可靠 高效能 伸縮性佳
可快速升級 低成本
等競爭優勢,也使得自由軟體所採用的開放程式碼開發方式成為一種新的 標準與趨勢。微軟公司為了因應此潮流,對於其在資訊家電方面的主力產 品 Windows CE 和網路服務.Net 的程式碼部分,就開始以「微軟程式碼分 享授權」 (Microsoft Shared Source License)的方式,希望透過部分程 式碼的開放來增加工程師對微軟產品的掌握度,加速客戶的產品開發時程 與應用品質,由此可見自由軟體的威力。 三、自由軟體的運作方式 自由軟體是如何能擁有上節所說的各項優點呢?關鍵字是「社群」。 網路社群這種數千年首見的組織型態,讓人們在素未謀面的情況下,除了 可以透過網際網路上的電子郵件、網站等種種通訊工具進行互動之外,甚 至可以協同合作,共同開發程式,這是傳統軟體工程學者無法想像的事, 但它的的確確發生了。 這發生的機制 Linus' Law 說的很清楚:只要有夠 多的眼睛注視,所有的蟲兒 (bugs) 都很淺顯。也就是說,任何軟體的邏 輯錯誤,世界上總有那麼一個人,對他來講找到並修復這個錯誤是易如反 掌的,因此,一個人數眾多的社群是自由軟體成功的必要條件。
圖三:自由軟體的成長循環。 自由軟體的發展就是在開放網路社群這樣超現代化的運作方式下進 行,這和傳統的商業軟體的封閉的運作模式大異其趣。當社群人數到達一 定的臨界點之後,Linus' Law 就會成立,這個時候軟體進步的速度飛快, 品質大幅提升,吸引了更多人成為使用者,同時加入社群的人數也會成比 例增加。自由軟體的成長循環成形了:社群越大,軟體越好;軟體越好, 使用者越多;使用者越多,社群越大(如圖 1.1 所示見上圖)。總而言之, 社群是 Linux 發展的重要基石,此舉不但推翻了舊時代的軟體發展模式, 更重要的是,未來的資訊科技的腳步,一定會像滾雪球一樣的翻騰前進。 四、未來的趨勢 未來是網路與通訊的時代,不但是人和人可以利用手機、PDA、上網機、 電腦設備等彼此聯絡,設備與設備之間也將藉由網際網路、GSM、藍芽、家
同的專屬網路連結起來一樣,Linux 因為其開放的源碼,將有很大的潛力 成為各種軟體的共同作業系統!經過長時間的觀察與分析,我們認為以下 三大領域將成為知識經濟時代資訊產業的重點: 資訊家電,伺服器,大型系統。而自由軟體因其伸縮性、穩定性等優點, 在此三大領域均佔有優勢。軟體自由的概念與科技發展結合、社群與產業 的互動、配合程式碼的開放,形成網際網路時代一種新興、成功的程式開 發方式。軟體自由協會深信,在下一波知識經濟的循環中,以 Linux 為首 的眾多自由軟體將成為我國資訊工業的發展過程中不可或缺的角色。 2.3 Linux 介紹 2.3.1 何謂 Linux?
Linux 作業系統(Linux),是一類 Unix 電腦作業系統的統稱。Linux 作業系統的核心的名字也是「Linux」。Linux 作業系統也是自由軟體和開 放原始碼發展中最著名的例子。 嚴格來講,Linux 這個詞本身只表示 Linux 核心,但在實際上人們已經習慣了用 Linux 來形容整個基於 Linux 核心, 並且使用 GNU 工程各種工具和資料庫的作業系統(也被稱為 GNU/Linux)。 基於這些零件的 Linux 軟體被稱為 Linux 套件。一般來講,一個 Linux 發 行套件包含大量的軟體,比如軟體開發工具(例如 gcc)、資料函式庫(例 如 PostgreSQL、MySQL)、Web 伺服器(例如 Apache)、X Window、桌面
環境(例如 GNOME 和 KDE)、辦公套件(例如 OpenOffice.org)、腳本語 言(例如 Perl、PHP 和 Python)等等。 Linux 的優點: 穩定的執行效能 多人多工 跨平台操作 中文化介面 圖形整合介面 相容其他 UNIX 系統 內建應用程式 支援多種檔案系統 絕佳記憶體管理 完善網路功能 多樣程式開發工具 2.3.2Ubuntu 為近年來最火熱的 Linux 發行版本之一,Ubuntu 是自由軟體社群開發 的 Linux 作業系統,支援桌上系統,筆記型電腦與伺服器使用,Ubuntu 一 開始便以硬體支援度著名,許多新的資訊產品都在第一時間就納入其支援
項目中。目前提供兩大發行版本,桌上電腦與伺服器版本,並支援多項平 台。 特色: 國際化與開發理念(以服務為目的) 簡易圖形化安裝與管理介面 安全性高 支援多種平台與檔案格式 2.4 分散式監控 由於人類的努力,使用機器來達到自動化是世界的趨勢,這些各式各 樣的機器,配有各式各樣的先進設計,目的在於使用此機器可以大量且有 效地降低人類的負荷,增加產能。因為採用了機器或設備來作事情,使用 者必須隨時知道實際的狀況,以便知道如何因應,這就是監視;在了解機 器或設備的相關訊息後,使用者還必須針對不同的情形,給予不同的輸出 指令,以達到系統的要求,這就是控制。將現場結果傳回系統控制者,系 統控制者再就一定的判斷法則作出相對的控制輸出,就形成了一個監控系 統。 世界不斷地在前進,工廠的規模也愈來愈大;通常一個具有規模的廠 區所涵蓋的面積也不小。在自動化的領域中,我們希望能以機器來代替人
類工作,雖然機器可以為我們完成很多的事情,不過還是要有設備來監視 這些機器的動作是否正常,並據以作出一些控制的動作,這也就是監控。 以現在的環境來看,電腦及其他工業用的設備均不是很昂貴,因此一 部機器可能會配上一部監視的設備或是電腦作為工作輔助之用。就如上 述,一個廠區若是含有不少的機器設備或是廠區不小的話,如此的情形會 是監控用的設備到處都是,而且每個點都必須長時間有人在一旁看著,要 不然就是配人到處查看監視的情形。 最會發生此種情形的就是石化廠之類的大廠,此種類型的廠區通常很 大,而且廠內的設備極多,生產設備又必須注重一些控制參數,例如溫度、 壓力、流量等等。此種大廠在機器設備上經常會配有監控設備(常見的是盤 面顯示),每隔一段時間會有專人帶著紙筆來廠區內的所有設備巡視一番, 並將所有的數值記錄下來,帶回辦公室作數據分析及處理。若是比較重要 的設備的話,索性就派一位工程師駐在現場,不斷地看著顯示表呈現的值, 並在必要時作出對的改善動作。 如果只有一、二部機器的話,也許還好;問題是,通常廠區須監控機 器設備都不少,當然會耗去不少的人事成本及控制效能。於是有另外的一 種看法產生:是不是可以將這些機器設備的監測訊號全部都傳送到主控制 室,而由主控制室來統一管理?而且可以全盤地監控所有的情形?上述的想 法要成立的話,就必須將所有的感測器訊號拉至控制室,全部集合在一起。
不過,訊號不可能跑這麼遠的距離,一般的感測器訊號是電壓型式,如果 傳輸距離過遠的話,會造成訊號的衰減效應及雜散電容效應,如此一來, 將得不到正確的結果;因此,感測器的訊號處理工作必須在監測位置就予 以完成,處理完後的結果再回傳(或由主控制電腦輪詢)即可,這種分散各 地的監控工作,而監控結果可以集中管理的架構就是分散式的概念。如圖 四所示。 圖四 分散式架構 2.5 集中式監控 如果我們所處理的訊號均集中在一起,而訊號一起進入處理器(也就是 電腦)被處理,即使擁有前端訊號處理器的話,此前端處理器和電腦也是近 在呎尺,我們可稱之為集中式的系統,如圖五所示。
圖五 集中式架構 集中式系統是以訊號介面卡為主角,工業上用的介面卡規格眾多,功 能也各異,通常需視情形選擇適用的卡片;集中式系統由於均集中於一部 工業級腦內,透過電腦對各卡片下達資料擷取或控制的動作,一樣可以達 到監控的目的,只不過這種架構比較適合在距離較近的範圍內,若距離較 長的話,訊號必須經過長距離的傳輸才能進到電腦內的訊號處理卡,訊號 就有可能衰減,或是在傳輸過程中受到其他雜訊的干擾,當然資料的可信 度就會下降。 2.6 TCP/IP 網路協定
傳輸控制協定(Transmission Control Protocol, TCP)是一種面向 連線(連接導向)的、可靠的、基於位元組流的運輸層(Transport layer) 通訊協定,由 IETF 的 RFC 793 說明(specified)。在簡化的電腦網路 OSI
模型中,它完成第四層傳輸層所指定的功能,UDP 是同一層內另一個重要 的傳輸協定。
在網際網路協定族(Internet protocol suite)中,TCP 層是位於 IP 層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、 像管道一樣的連線,但是 IP 層不提供這樣的流機制,而是提供不可靠的封 包交換。 圖六 TCP/IP 傳輸狀態圖 TCP 連線包括三個狀態:連線建立、資料傳送和連線終止。TCP 用三路 握手(three-way handshake)過程建立一個連線,用四路握手(four-way handshake)過程來拆除一個連線。在連線建立過程中,很多參數要被初始 化,例如序號被初始化以保證按序傳輸和連線的強壯性。 特 點 基於 Intranet/Internet
(TCP/IP)網絡擴充性好,可隨時加入設備,即插即用。 無需架設專屬網絡,節省了布線,施工的成本 直接接入乙太網絡,可實現遠程監控 在網上就可控製相關的門禁 程序升級方便,通過網絡直接下載,設定,Reset 系統整合性強 2.7 Modbus Modbus 是一種串列通信協議,是 Modicon 於 1979 年,為使用可程式邏 輯控制器(PLC)而發表的。事實上,它已經成為工業領域通信協議標準, 並且現在是工業電子設備之間相當常用的連接方式。Modbus 比其他通信協 議使用的更廣泛的主要原因有: ◎公開發表並且無版稅要求 ◎相對容易的工業網路部署 ◎對供應商來說,修改移動原生的位或位元組沒有很多限制 Modbus 允許多個設備連接在同一個網路上進行通信,舉個例子,一個由測 量溫度和濕度的裝置,並且將結果發送給計算機。在數據採集與監視控制 系統(SCADA)中,Modbus 通常用來連接監控計算機和 remote terminal unit (RTU)。
節點,其他使用 Modbus 協議參與通信的節點是 slave 節點。每一個 slave 設備都有一個唯一的地址。在串列和 MB+網路中,只有被指定為主節點的 節點可以啟動一個命令(在乙太網上,任何一個設備都能發送一個 Modbus 命令,但是通常也只有一個主節點設備啟動指令)。 一個 ModBus 命令包含了打算執行的設備的 Modbus 地址。所有設備都 會收到命令,但只有指定位置的設備會執行及回應指令(地址 0 例外,指 定地址 0 的指令是廣播指令,所有收到指令的設備都會執行,不過不回應 指令)。所有的 Modbus 命令包含了檢查碼,以確定到達的命令沒有被破壞。 基本的 ModBus 命令能指令一個 RTU 改變它的暫存器的某個值,控制或者讀 取一個 I/O 埠,以及指揮設備回送一個或者多個其暫存器中的數據。
3.系統設計 本系體將整合資訊、保全、控制、娛樂四大功能,讓居家環境,更 容易達到安全、舒適、居家照護與節能的生活條件。 目前智慧家庭的建置主要有三種商業模式: 1. 自行選購與安裝設定。 2. 由建商提供完整系統,或相關服務。 3. 透過保全、電信業者提供相關服務等。 針對三種模式進行分析如下: 自行安裝與架設 適用於安裝簡單硬體或功能單純的影像監 控或無線感測設備,而且使用者要具備較 高的 3C 知識,成本最低。 建商提供系統 系統最完整,整合社區門禁保全等功能, 且維修也需配合業者,成本較高。 保全、電信業者 提供相關安全監控應用,雖有安裝與售後 服務保障,但每月須支付月租費,相對一 次買斷設備為高。 本研究採用第一種模式,並透過自由軟體建置智慧家庭控制系統。此 系統使用分散式架構並利用分散式資料蒐集控制器(e-DAM9050)透過區域
資料庫中。並且持續使用傳統電力控制面板開關,讓不熟悉新操作方式者, 繼續可執行操作與控制。而使用遠端監控者,僅需透過網路,使用瀏覽器 透過 HTTP 傳輸協定,就可進行監視與控制各感應器動作。對居家安全監控 與電力控制有很大的助益。 除了硬體控制外,本研究配合多媒體影音服務軟體,讓智慧家庭更增 加生活內容與品質。 3.1 系統架構: 資料庫 伺服器端 使用者端 資料庫 居家控制 Apache Web Server E-DAM9050 Application Service HTTP Request Response MySQL DATABASE Browser TCP/IP E-DAM9050 SSR Boar d 圖七 系統示意圖
3.2 系統設計 本研究先將系統區分硬體控制與軟體數位多媒體內容區分,最後在透 過整合介面,讓使用者輕鬆管理與監控家中設備 硬體部份包含:電器迴路設計、分散式架構之資料蒐集器、相關感測 器、電力開關。 軟體部份:自由軟體 Linux 系統建制、網站伺服器、資料庫伺服器; 智慧電器控制伺服器、多媒體影音伺服器。以下分別重點說明: 3.2.1 兼顧傳統的電氣迴路與操控方式 一般家庭的電氣迴路,主要為電燈與插座兩大類。圖 1 為傳統電燈迴 路的配線圖,電源由配電盤內的開關(一般為 NFB 無熔絲開關),經由電燈 開關、 燈具、再回到電源側,以構成完整的供電迴路。電燈開關一般為雙 切開關,有兩個固定位置,一個讓迴路斷路,另一個位置讓迴路接通。開 關所放置的位置,通常與所控制的燈具在同一個空間,而且位在住戶最容 易操作的位置。在智慧型居家中,這個開關可以有幾種可能的取代方法: 1.完全屏除:若是這個空間採取全自動的模式,電燈的所有開啟與關 閉行為,全部由中央控制主機控制,則這個開關可以完全去除,換言之這 個開關的位置,是由受電腦所控制的接點取代。這種方式在某些公共空間 中,或許可以使用,但是在居家生活中,有它的不方便性,所以不多見。
2.以整合式面板取代:這是目前最常看到的作法。在一般的辦公大樓 中,經常看到這樣子的組態。在這種組態中,空間內的照明全部集中到少 數的集中控制面板上。這個面板的開關數,約略等於總照明燈具數,而且 有全關或是全開的按鍵。圖 1 所示的神燈系統,基本上類似這個功能,可 以由單一面板控制所有的燈具。這個作法的好處是照明可以讓手動(由開關 切換)與自動(由控制邏輯決定)方法可以並存;而明顯的缺點是價位不低, 而且數量的多寡是一個成本效益的抉擇。若是要在傳統開關所在位置,都 以一個這樣子的面板取代,則所花費的成本會相當可觀,若是減少個數, 則在沒有安裝的地方,可能會造成一些不方便。 圖八. 傳統電燈配置 圖九. 智慧電燈迴路配置 3.以接觸式開關取代:將傳統切換開關改為按鍵式開關。傳統的開關 會停留在某一個位置,直到被更改為至為止(toggle switch),而按鍵開關 則是在按下時,會更改到另一個位置,當釋放時則會回復到原先位置。若
使用開關打開電燈,此時開關停留在燈亮的位置,稍後若是這個燈具由控 制器依據事先規劃的控制邏輯而關閉。此時就產生認知上的落差,因為電 燈已經熄滅,但是開關卻還是停留在燈亮的位置。因此,這個開關必須更 改為可以自動復歸的按鍵開關。延續剛才的例子,當要讓燈亮時,則按一 下按鍵燈就開啟,當使用者的手離開開關後,開關會復歸到原先的位置。 稍後燈具被控制器熄滅時,就不會發生認知上落差的情形。圖 4 就是一個 可能的組態,比較此兩個圖可以發現,傳統的切換開關被按鍵開關以及控 制器取代。但是因為控制器是放在配電盤內,所以就使用者的觀點來看, 只有將原先的切換開關改為按鍵開關罷了。這種方法是最接近目前的使用 習慣,兼顧智慧與傳統,所以比較好的建置方式。 傳統與智慧燈具控制的差異,除了前面所敘述的之外,還有其他需要 考量的點。傳統燈具控制的切換開關是一個很堅固(Robust)的元件,除非 是特殊情況(例如短路),否則幾乎不會損壞。反之,在智慧型控制中,控 制器的堅固性相對就脆弱許多。除非使用工業級的產品,否則故障在所難 免。而故障時,所需要的修復時間可能會比傳統的配線方式長。在這個講 究 DIY 的時代中,更換傳統電燈迴路的設備,並不會有太大的困難度,即 便要尋求外部的協助,也可以輕易地找到坊間的維修點(譬如水電行)。反 之,在智慧型環境中,因為目前尚未到達非常普及的情形,因此若是發生
故障時,大部分需要特定的廠家才可以維護,而這可能會耗費一些維修時 間。 所以,以實用性考量,應該要加上旁路(by pass)開關。這個旁路開關 可以直接開啟或是關閉燈具,就如同傳統的開關一般。這個開關是用在當 控制器故障,無法經由控制迴路來開啟或關閉電燈時使用。因為使用的機 會不多,所以安裝位置可以較不受限制,可能的位置是在配電盤內部,或 是配電盤的面板上,圖 9 就是一個範例。這個旁路迴路使用傳統的切換開 關,不過不會造成前面所談的認知混亂問題。因為這個開關很少使用,而 且使用的目的是很明確的,僅是緊急使用。 智慧電器迴路方式 全新智慧居家系統 控制面板 使用傳統電力面板 全新系統面板 維修方面 可自行更換,並隨處可 購買控制面板 通知系統廠商維修。 或更換系統控制面板 維護費用 經濟 昂貴 線路設計 簡單 複雜
表 1 智慧電器迴路與全新智慧居家系統比較表 3.2.2 分散式控制架構 智慧居家的控制迴路除了前面所介紹的電器迴路之外,另一個重點是 控制迴路部分,尤其是控制器。控制器可以有很多的建構方式,基本上它 必須滿足下列的要求 堅固(Robust):系統必須要可以長時間使用,而且必須有較好的平均故 障時間(MTBF: Mean Time Between Failure)。
簡單:此控制器是用在居家場合,因此必須要容易架設、安裝與維護。 容易擴充:科技日新月異,人們的想法也會隨著時間改變,因此系統必 須要能夠很容易更新以及擴充,以滿足長久的需求 接近現有經驗:在現今有能力進行系統安裝的熟練人員還不是很普及 之際,這類控制系統有可能需要現有的電氣施工從業人員來安裝,因此若 是安裝或是維護時,若偏離現有從業人員的經驗太遠,則會造成一些困擾。 可能的組態有: 專屬特製的控制器:專門為智慧空間所開發的控制器,它具有控制器與 通訊介面等。軟體也是採用專屬開發的軟體,屬於封閉的系統。由於目前 智慧空間的市場規模還不算大,所以鮮少看到這類的系統。這種系統的優 點是因為屬於專門為智慧空間設計的,所以應該有更好更適合的設計,至 於缺點則可能包含日後維修不易,以及價位較高等。
個人電腦加上輸出入卡:這是利用一般的桌上型電腦,加上控制用輸 入輸出介面卡所組成。這種系統因為使用常見的組件所構成,軟體也可能 使用常用的環境來開發,因此這種方法的優點是價位較合理,日後擴充性 也可以,但是缺點是堅固性,以及系統的穩定性。 個人電腦加上通用型控制元件:這種方式是用一般的桌上型電腦,加 上小型通用型分散式控制模組來建構。這種小型的分散模組通常是用於工 業界,因此具備兼顧可靠的優點。這類控制器會透過通訊介面跟電腦溝通, 以往常用的通信介面大多為 RS485,近來則開始有 TCP/IP 的介面出現。這 種組合幾乎可以滿足前面提到的幾個需求,因此本文建議使用這種組態來 建構控制器。 圖 10. eDAM-9050 分散式資料蒐集器 通用的工業用控制器:最常見的通用控制器為可程式控制器(PLC: Programmable Logic Controller)。這種控制器最常用在產業機器上,容 量可以由僅可以連接十數個控制點的小型控制器,到具有數百個控制點, 且具有複雜控制功能的大型控制器。通常較大型的控制器,都具有網路或
在軟體的製作上,也可以分成下列數種方式: 1.集中控制:程式作業是在單機上運作,也就是程式是位在控制主機 之上,使用者直接在該控制主機上下達控制命令,以及取得外部輸入的狀 態值等。這個方法的好處是直接控制,安全性最高,缺點是任何的操作行 為都要在固定位置的同一主機上進行,圖 8 是這種組態的一個示意圖。
電器設備
圖 11. 集中控制 2.分散式控制:控制主機只負責控制的行為,而不提供人機介面。人 機介面是透過遠端連線到主機來進行控制,目前對於這一個部分也有數個 解決方案,但是比較常用的是用透過瀏覽器作為人機介面,監控畫面是以 web-based 的方式呈現。這個方法的好處,隨處都可以進行控制,而不受 時空的限制。明顯的缺點是安全性議題,被入侵的風險會比高。3.2.3 遠端監視與控制 近年來智慧手機的普及,讓手機除了打電話以外,還可以上網收發信 件,簡訊等功能。手機已不再只是手機,電腦可以做的,手機也都可以做, 且體積小,攜帶方便,儼然成為次世代電腦。 因此原本可以在電腦上進行遠端圖形化監控作業,在智慧手機上也可 隨時 3G 上網,進行監控。 而商品要貼近人類生活,人機介面佔有重要地位,如何讓家庭老中青 成員,能方便的監控設備,又要設計的有現代感,圖形介面為不二選擇。 3.2.4 家庭多媒體服務 科技的發達,導致目前的手機都可錄影,配合網路,隨時錄影或照片 拍攝好後,即時傳至網路,與親戚好友們,一同分享影片內容。目前最流 行的 Google Youtube,Picasa,微軟 SkyDrive,雅虎等,都提供相關服務。
雖然這些大公司都有提供相關服務,但安全性,容量,空間等,也相 對有所限制。故建立智慧家庭多媒體伺服器,由自己管理居家多媒體影音 與照片,相對方便許多,但也需對電腦使用要有所瞭解。以下列出大公司 與自行架設伺服器的比較表。 以 Goole 為例 自行架設 容量空間 10G 以下 無限制(依硬碟大小) 檔案大小 10M 以下 無限制
安全性 做較多的安全防護,偶 而有聽到其他大廠 (AT&T) 有個資外洩的 狀況 普通,需懂電腦的專業 人士,加設相關的防護 設施軟體 頻寬大小 較大 需視家中頻寬申請大小 而定 表 2 公用雲端與私有雲端提供服務表較表 本研究中使用自由軟體 Ostube 影音多媒體伺服器,讓使用者只要透過上網 設備,就能隨時欣賞多媒體影片、音樂、照片、或預錄電視等內容。
3.3 系統功能: 本系統我們使用自行架設模式,選購相關硬體設施與系統軟體及寫控 制伺服器。將本系統功能整理如下: 安全監控分析: 節能電力分析: 智慧控制伺服器分析: 多媒體伺服器 監控畫面顯示 警告聲響 簡訊發送 Email 通知 傳統電力開關 遠端遙控開關 定時開關 建立智慧分析條件 提供查詢功能 提供遠端監控資訊 自由的延伸擴充智慧判 斷條件 系統設定 提供影片,照 片,音樂瀏覽 與播放 表 3 系統功能表 3.4 開發工具 3.4.1 GCC 編譯器 GCC 是 GNU 項目的編譯器組件之一,也是 GNU 最具有代表性的作品。在 GCC 設計之初僅僅作為一個 C 語言的編譯器,可是經過十多年的發展,GCC 已經不僅僅能支援 C 語言;它現下還支援 Ada 語言、C++語言、Java 語言、 Objective C 語言,Pascal 語言、COBOL 語言,以及支援函數式編程和邏 輯編程的 Mercury 語言,等等。而 GCC 也不再單是 GNU C Compiler 的意思,
而是 GNU Compiler Collection 也即是 GNU 編譯器家族的意思了,目前已 經成為 Linux 下最重要的編譯工具之一。 GCC 是一個交叉平台的編譯器,目前支援幾乎所有主流 CPU 處理器平 台,它可以完成從 C、C++、Objective C 等源檔案向營運在特定 cpu 硬體 上的目標代碼的轉換,GCC 不僅功能非常強大,架構也異常靈活,便攜性 (protable)與跨平台支援。 3.4.2 Adobe Actionscript 3.0 Flash 是目前市面上最優秀的動態網頁設計技術,不僅擁有跨平台、高 品質、檔案體積小、可嵌入字體與影音檔等優點外,加上其擁有物件導向 式程式語言支援,以及影音視訊應用的能力,使得 Flash 不再只是動畫編 輯工具,而是一個具備多媒體功能的編輯軟體,對於與使用者互動,有良 好的介面設計,其特色如下: 1.最為靈活小巧的前臺 Flash 堪稱最為靈活小巧的前臺,由於其獨特和時間片段分割 (TimeLine)和重組(MC 嵌套)技術,結合 ActionScript 的物件和流 程控制。使得在靈活的介面設計和動畫設計中成為可能。 2.跨平臺的特性
無論使用何種平臺,只要安裝支援的 Flash Player。就能保證它 們的顯示效果都一致。而不必像在以前那樣為 IE 和 FireFox 或 Chrome 各設計一個版本。 3.可攜性很強 如同 Java 一般,它的可攜性很強,特別是在小型網路中和小型設 備中,例如:手機、PDA 等。
ActionScript 是 Adobe Flash Player 執行階段環境的程式語言。這 套語言可為 Flash 內容和應用程式提供互動性、資料處理和更多功能。 3.4.3 Flash Remoting :
Flash Remoting 是 SWF 和後端溝通的一種技術,底層是以 HTTP 協定 傳送 AMF 格式的資料。AMF 是個二位元資料格式,可以減少頻寬的消耗。
Flash 則使用 NetConnection 類別進行 Remoting 呼叫。然進行資料 傳送。
Remoting 是一種分散式架構,用來讓兩端非對等技術相互溝通,如圖 下為 Flash Player/Remotimg 的架構,Flash Player 對伺服器的 Remoting Component 做溝通。
Flash Player Web Server Client Server Remoting Component 圖 13 Flash Player/Remotimg 架構圖 Flash Remoting 使用 HTTP 意味著: 1.HTTP 是非持續連續協定,有 request 才會建立新的連線,response 之 後就會斷線。Player 和 Remoting component 之間的溝通是『有要求才回 應』。
2.Remoting 可以藉由瀏覽器使用 SSL(Secure Sockets Layer)。
AMF 由 Adobe 制訂,是輕巧的二元格式。兩端傳輸資料時,Player 和 Remoting component 會自動將資料序列化(serialize,將物件轉換成資 料流)及反序列化(deserialize,將資料流轉換成物件)。如圖
4.系統實做
為了驗證上一章所提出的系統架構,將透過自由軟體 Linux Kernel Ubuntu System 為系統平台基礎架構,並在此架構上安裝 Apache Web 伺服 器及 MySQL DataBase 伺服器,Ostube 多媒體伺服器。此外,為了從分散 式資料控制器蒐集到感測器資料,我們將自行撰寫智慧控制伺服器,以便 監視與控制設備,或經由伺服器分析與判斷,進行智慧控制。我們在一個 實際興建的智慧家庭中實作。這個住家是一個三層半的透天住家,這個住 家在規畫之初就已經有了很完善的步驟,而且在結構體施工中,也都有顧 慮到要進行智慧控制的相關內容,因此讓後續的作業可以容易進行。這個 住家在還沒全面實施這種布線方式時,先以第三層樓作為一個先導性的實 驗,看看是否可以達成預定的目標。
圖 15 系統示意圖 4.1 程式流程
控制系統的配置情形如圖 15 所示,伺服器具有應用程式用來提供對於 現場設備的控制,以及取得現場開關信號的狀態,並且依據使用者所設定 的條件來進行智慧控制。
圖 16 控制系統架構圖 4.2 實做環境說明 4.2.1 硬體設備規格: 本系統硬體組成,包含 e-DAM9050 分散式資料控制器,磁簧感應器,繼電 器,ATOM 電腦主機。 4.2.1.1 e-DAM9050 分散式資料控制器:
本系統使用 inlog 公司的 eDAM (http://www.inlog.com.tw )分散式模組。 這個模組透過 TCP/IP 介面與系統訊,它可以依據系統的指令來設定 輸出 點的狀態,並且可以讓系統來取得輸入點的狀態。因為分散式模組的設計 是處理小信號,但是電燈插座等電氣迴路是屬於大信號,所以在分散式模 組與控制器之間,加入一個繼電器模組,做為控制迴路與電氣迴路的介面。 使用者可以在主機上存取控制器內容,也可以在具有網路能力的資訊設
網際網路的興起,使得利用網路上的資訊交換,達到遠端監控的目的得以 實現。因此我們選用網路型分散式資料蒐集模組 e-DAM9050,其規格如下:
通訊介面 10/100 Based-T Ethernet 網路協定 Modbus/TCP,TCP/IP,UDP,
ICMP and ARP 輸入通道(DI) 12 輸出通道(DO) 6 電源 10~30VDC 表 4 e-DAM9050 規格表 由於透過 Internet 的方式進行資料的傳送,故在資料的傳送上,由網 路上的每一個監控點所傳送的資料,必須先化成 TCP/IP 的方式做傳輸,故 熟悉 TCP/IP 的資料傳輸在這時候也是成為必須的知識了。 4.2.1.2 電腦主機:這台伺服器必須要 24 小時開啟,因此穩定性以及 省電是最重要的考量。本範例系統是使用(ACER)_Aspire R3600 微型電腦, 該電腦使用 Intel Atom 主機,根據規格耗電量只有 65W 約為一般電腦的 1/3。 4.2.2 系統的電氣迴路配線 圖 11 為本系統的電氣迴路配線,電燈迴路與開關迴路分別由各別的無 熔絲開關提供。L1~L3 為電燈,P1~P3 為插座,而 LS1~LS3 為電燈開關。
SW 內有四個開關,分別為四個電燈的旁路開關,當成系統故障時開啟電 燈的緊急開關用途。 乙太網路 L1 L2 L3 I0 I1 I2 com O0 O1O2 O3 O4 O5 0V I1 I2 I3 I4 I5 I6 com com com com L1 L2 L3 P1 P2 P3 1A 2A 3A 5B 6B 7B NFB1 NFB2 Relay Board 圖 17 系統電氣迴路配線圖 4.3 軟體設計與實作
本研究利用自由軟體特性,建制 Linux Ubuntu 系統,Web 網站伺 服器,MySQL 資料庫伺服器,php 動態網頁服務及 amfPHP 閘道器,提供 actionscript 與 php 連結溝通使用。 以上自由軟體,僅提供個人居家使用,並無販售行為,相關使用也 需符合自由軟體規範。 4.3.1 系統安裝與架設 系統使用 Linux Ubuntu OS 作業系統完整安裝步驟如附件一。 4.3.1.1Web 網站伺服器安裝
Web 網站伺服器使用目前最流行的 Apache 2,受歡迎主要原因不外乎 自由軟體外,其穩定性與效能佳,跨平台和安全性高等特性,是目前最流 行的 Web 伺服器軟體之一。利用 Ubuntu APT 軟體安裝程式,僅需輸入下 列指令既可安裝完成:
sudo apt-get install apache2 apache-mem-prefork 4.3.1.2 PHP 伺服器端語言安裝
PHP 程式語言,是在伺服器端執行的動態網頁語言,我們讀取及寫入 控制器時,需透過 php 程式語言。在 Ubuntu OS 下安裝指令如下:
sudo apt-get install php5 libapache2-mod-php5 php5-gd php5-mysql 4.3.1.3 MySQL 資料庫安裝
MySQL 是一個自由軟體,其性能高,成本低,穩定性高,以成為目前 最流行的關聯式資料庫,目前也廣泛應用於 Internet 上的中小型網站中。 在 Ubuntu OS 下安裝指令如下:
sudo apt-get install mysql-server mysql-client 研究中使用的資料庫結構設計如下:
欄位內容 欄位大小 說明
Index Int(10) e-DAM 編號 Time Timestamp 資料寫入時間
DO Int(1) DO 狀態 Pulse Int(10)
表 5 控制系統資料庫結構
圖 18 控制系統資料庫管裡介面
4.3.1.4 AMFPHP 安裝與測試
AMFPHP 是目前 PHP/FLASH REMOTING 函式庫中,最常使用的,除了 是自由軟體,容易取得,安裝也很容易。但近年開發有點停滯,目前版本 停在 1.9。下載解壓縮後,將 amfphp 放置 web server 目錄下,再修改 gateway.php 內容。
進入 amfphp/下,如果出現下列畫面,既表示設定完成。 圖 19 amfphp 安裝測試完成圖 4.3.2 智慧控制伺服器 伺服器利用 C 程式語言撰寫,只負責控制的行為,亦是負責數據變化 的收集(連接 e-DAM9050 資料控制器)或觸發(如有控制動作執行),而 不提供人機介面。 程式流程如下:
程式初始 寫入資料庫 讀取設備資料 讀取設備資料錯誤 寫入資料庫失敗 圖 20 控制伺服器程式設計流程圖 重點程式節錄如下: 程式初始: 定義通訊字串結構:依據規格書(如圖下),將 ModBus/TCP 封包 傳遞的規格定義在程式中,區分為傳送與
00 00 00 00 00 06 01 04 04 7F FF 7F FF
Byte 12: Low byte of second address Byte 11: High byte of second address Byte 10: Low byte of first address Byte 9: Hight byte of first address Byte 7: ModBus function code Byte 6: Unit indentifier-1 (always 1)
Byte 5: Length field-number of bytes following Byte 4: Length field
Byte 3: Protocol indentifier-0 Byte 2: Protocol indentifier-0 Byte 1: Transaction indentifier-0 Byte 0: Transaction indentifier-0
Byte 8: Byte count (each register need two byte) Response Command
Command Head Command Body
Request:
Char buffer[14];
Buffer[0]=0x00; //Common Head Buffer[1]=0x00; Buffer[2]=0x00; Buffer[3]=0x00; Buffer[4]=0x00; Buffer[5]=0x06; Buffer[6]=0x01;
Buffer[7]=0x0F; //Common Body Buffer[8]=0x00; Buffer[9]=0x10; Buffer[10]=0x00; Buffer[11]=0x01; Buffer[12]=0x01; Buffer[13]=0x01; Response:
Buffer[0]=0x00; //Common Head Buffer[1]=0x00; Buffer[2]=0x00; Buffer[3]=0x00; Buffer[4]=0x00; Buffer[5]=0x06; Buffer[6]=0x01;
Buffer[7]=0x02; //Common Body Buffer[8]=0x00;
Buffer[9]=0x00; Buffer[10]=0x00;
Socket 通道建立與連結:
sockfd = socket(PF_INET, SOCK_STREAM, 0); connect(sockfd, (struct sockaddr*) &dest, sizeof(dest))
寫入資料庫:
If(insertToMySQL){
Char sql[1024]={0};
sprint(sql,”insert into `eDAM9050`(`Time`,`DI`,`DO`) VALUES (NULL, %d, %d)”) if(mysql_query(mysql, sql)){ printf(“\nFailed, sql=%s\n”,sql); } } 4.3.3 使用者圖形介面設計 為了考量使用者容易操作及使用,我們使用 Adobe Actionscript 3.0 為開發工具。並以監測門窗感測器(磁簧開關 DI)及控制電力開 關(DO)為例,程式撰寫流程如下: 程式初始 按鈕監控 讀取資料庫 顯示資料 資料讀取錯誤
圖 21 使用者介面程式設計流程圖 重點程式節錄如下:
相關圖片載入及增加至舞台中。
lightOnBmpD = new light_on(0,0); lightOffBmpD = new light_off(0,0); powerOnBmpD = new btnPowerOn(0,0); powerOffBmpD = new btnPowerOff(0,0); controlLightBmp[0] = new Bitmap();
controlLightBmp[0].bitmapData = lightOffBmpD; controlLightBmp[0].x = 100; controlLightBmp[0].y = 130; addChild(controlLightBmp[0]); 按鈕進行監控: 按鈕進行監控,當按下時,寫入適當值。 btnLight[0].addEventListener(MouseEvent.CLICK, mouseDownHandle0); public function mouseDownHandle0(e:MouseEvent):void
{ if (! onStatu[0]) { tmpDO = 1; controlLightBmp[0].bitmapData = lightOnBmpD; btnLight[0].label = "OFF 關"; onStatu[0] = true; updateLightStatus(tmpDO); } else { tmpDO = 1; controlLightBmp[0].bitmapData = lightOffBmpD; btnLight[0].label = "ON 開"; onStatu[0] = false; updateLightStatus(tmpDO);
}
更新資料庫:
將讀取之值,寫入資料庫中。
public function updateLightStatus(tmpDO:int) {
updateDO = tmpDO * 65536; trace(updateDO.toString());
connection.call("edam9050.setStatus", responderSet, updateDO); }
顯示目前狀態(讀取資料庫):
public function onResult(Result:Object):void {
var lightData:Array = Result.serverInfo.initialData; tmpDI = lightData[0][2]; tmpDO = lightData[0][3]; tmpTime = lightData[0][1].toString(); msg_Time.text = tmpTime; trace("DO: "+tmpDO.toString(2)); for (x=0; x<3; x++) {
if (tmpDO & Math.pow(2,x)) { controlLightBmp[x].bitmapData = lightOnBmpD; btnLight[x].label = "OFF 關"; onStatu[x] = true; } else { controlLightBmp[x].bitmapData = lightOffBmpD; btnLight[x].label = "ON 開"; onStatu[x] = false; } }
{
if (tmpDO & Math.pow(2,x)) { controlLightBmp[x].bitmapData = powerOnBmpD; btnLight[x].label = "OFF 關"; onStatu[x] = true; } else { controlLightBmp[x].bitmapData = powerOffBmpD; btnLight[x].label = "ON 開"; onStatu[x] = false; } } } 4.3.4 家庭多媒體伺服器實做 本研究使用自由軟體 Ostube ,建置智慧家庭中影音服務,提昇居家 生活品質。架構於網際網路上,讓使用者隨時隨地可透過電腦、手機或上 網設備,欣賞影音檔案。 Ostube 主要提供影片、音樂、圖片檔案之管理。類似近年熱門的 YouTube 影片分享網站,隨時將手機或攝影機拍下的影片上傳,分享與管 理。 完整建置步驟如附件二,首頁畫面如圖 21。
圖 22 家庭多媒體伺服器 ostube 首頁 4.3.5 系統整合 操控介面與功能決定一個系統的成敗,為了整合智慧家庭中的各項 管理介面,讓家中成員,輕鬆與快速找到相關網站,本研究搭配 myfav.es 網站,所提供的管理介面,如圖 22,讓成員不管是上網,或 是控制家中設備,享受影音多媒體,透過該介面迅速進入所需服務中。
4.4 結果與討論
本實驗利用自由軟體特性完成研究中所架設系統及應用服務。包含 Ubuntu 作業系統,Apache 2 網站伺服器,PHP 網頁動態語言,MySQL 關聯 式資料庫,Ostube 影音多媒體服務。也利用 GCC Compiler 編譯器,製作 自行開發的智慧控制伺服器。 隨著網際網路的蓬勃發展,應用於自動控制與監控系統也以越來越成 熟。本研究將工業應用已成熟及穩定的分式模組資料蒐集器,架設於家庭 中,收集感測器所需資訊。在設計初期就考量其分散式特性,可輕鬆調整 或維護系統。 建置家庭多媒體服務(影音伺服器),主要提供居家主人收藏之多體 影音檔案,在現今科技的時代,傳統的 CD,DVD 保存的影片,音樂,相片 等檔案,可同時存入電腦中,方便於播放及查詢欣賞。
遠端監控主要是使用者利用 Flash 所製做的圖形介面,透過 Web Server HTTP 協定,及 Amfphp 閘道器,與智慧控制伺服器溝通,進行讀取最新狀 態與寫入等功能。管裡介面如圖
圖 23 智慧家庭電器控制介面 在完成以上自動化與資訊化的建制時,仍然保留傳統電氣迴路與控制 面板。讓不熟悉新科技的家中老少,能繼續使用傳統控制方式,或當另一 組備援系統。 4.5 未來研究方向 智慧建築已是未來發展趨勢,本研究僅是初步成果,上有許多功能未 完成,整理下列內容以供參考,未來如果經費與時間許可,可繼續朝此方 向研究。 *增加硬體感測器的結合,更方便的得到所需資訊。例如結合 RFID、 Zigbee、藍牙等相關技術,適時提供更人性化的服務。
*增強智慧控制伺服器功能,撰寫模組化結構,可依需求增加或刪除 相關服務,讓伺服器便於擴充及增加功能。 *遠端遙控方面,希望設計不要安裝軟體,透過瀏覽器就能進行遙控。 例如使用 Html5,Javascript 等新技術,就可不限於任何平台,均可進行 遙控。 *所使用之硬體應該結合環保與節能等相關規範,並透過軟體設計, 充分發揮與落實節能減碳,關愛地球的環保概念。 5.結論 本文探討興建智慧住宅時,在硬體上考量分散式架構,便於維修及更 換設備,建構電氣迴路時,也介紹了旁路設備的概念。就家庭中最常用到 的電燈與插座迴路,分別以電燈旁路開關以及使用常閉接點作為備援機 制。在軟體設計上,完全利用自由軟體特性,大幅降低使用者成本,最重 要的是依使用者的需求,建制完全符合需求的系統。 綜觀本研究後,提出下列論點: 1. 使用自由軟體建制智慧居家系統,確實可降低使用者成本。 2. 使用分散式架構,控制電器設備,更方便維護與更換。 3. 網路與智慧家庭結合,是未來趨勢,而且也是建築基礎之一,透過 智慧的手機,隨時可進行遠端監控,因為網路與各項設備結合,讓 家庭更智慧,方便且更安全。
4. 智慧家庭發展的內容,會以多媒體娛樂為主,配合週邊產品,大幅 提昇智慧家庭生活品質。
最後,智慧家庭不必然是全部的東西都需要智慧化,而是以實際的需 求來考量。本文中所介紹的實例,也可以作為傳統家庭,要進行智慧化時 的參考依據。