前言:深耕物聯網技術,是社會創新的根基
物聯網不該只有導論,應該有持續的闡述。就像《物聯網 ABC 》是由 臺大電機系所開授的「物聯網導論」的教材淬鍊而成,本書係集結每學年下 學期所開授的「物聯網應用系統專題」內容,取名「物聯網 DEF 」是因為本
書重視 部署( deployment )、 賦能( enablement ) 及 實踐( fulfillment ) 的 議題。
寫這本書的另外原因是為了開課方便,當作補充教材。物聯網課程以實
作為主,修課人數必須有限制。不少同學對物聯網有興趣,上學期選課選不 到,下學期直接來修「物聯網應用系統專題」,因此修課學生不只跨不同學
院,背景迥異,而且對物聯網的造詣,層次懸殊。如何讓所有學生都有收 獲,成為很大的挑戰。這本書就是把基礎的實作內容翔實記下來,初學的學 生至少可按圖索驥而跟得上進度;對於物聯網已有相當專業知識的同學,不
應以此處所列的內容為滿足,本書列了五個專題都是開放性的技術議題,應 該要以開放的態度,創新的精神,精益求精,好還要更好。
物聯網包含物端及雲端,其中物端包含數以千萬計的端點設備,透過 感知與控制整合真實與虛擬(數位)世界,這是網聯物;而雲端包含前 端( front-end )與後端( back-end ),是物聯網可否成功運行的關鍵,在實
際產業應用上特別重要,吾人將之歸類第五層的 永續進化層( continuity layer ),在一般導論的課並不會接觸,因此本書首先就討論物聯網系統的 全
端開發( full-stack development ),包括前端與後端,前端用於資料視覺化
與系統管理操作,需提供使用者介面( user interface, UI ),而後端則著眼於 資料的儲存與整個網路的連結設計。
第二個實用議題是 裝置的管理問題 ,物聯網的端點數目快速增多,必須
能夠透過遠端遙控;種類及功能也會繁多,必須要考量端點相異性,同時 也要考慮聯網端點的識別,這些都牽涉管理議題,需要考慮裝備的部署與組 態的管理,需注重伺服器及裝置部署的初始化議題,其次就要進行裝置的識 別、認證與授權議題。
接著本書提及兩個非常重要的議題,一個是 物聯網資安 ,除了介紹資安
的基本知識以及加解密原理以外,也設計了實戰演練,以早期基於無線加密 協定所設計的 WEP ,讓學生了解如何進行滲透測試與解密。另一個是 無線
室內定位 ,本書詳述了如何蒐集資料,並利用場景分析法來求得待定物體的 位置,進而可以進行定位的服務( location-based service )。實作上讓學生發 想各種機器學習( machine learning )方法,求得定位的更高準確度,是典 型結合 AI 與 IoT 的應用,可說是 AIoT 的範例。
本書最後介紹 無人車自動化搬運貨物專題 ,這是智慧物流的基礎,除了 結合上述室內即時定位技術外,還需要動態路線規劃與物料空間存放管理, 使學生能組裝其無人車隊與管理系統,以了解無人搬運車與系統的特性,實 現穩定且有效率的物流搬運工作。本章會詳細介紹硬體料件單元及組態,系 統架構含前端使用者介面,及後端系統開發,可以說結合本課程的各單元的 完整範例。
本書承襲前冊特色,每個內容均會設計實作,讓讀者從實作中學習整個 單元的內容。全學期共有五個專題,每個專題三週,第一週授課,第二週實 作,第三週則為展示或競賽,課程十分緊湊。前兩個專題以展示為主,為確 保學習成效,提供自我檢視表,檢討所建置系統是否具有基本功能,也是未 來進一步功能強化的努力方向。第三個專題實作則以有無成功突破資安弱點 為檢視標準,而室內定位及無人搬運車隊專題則設計為跨組競賽,前者以 定位準確度結果為指標,後者則以成功過關且使用時間最短為優勝。值得 提醒的是本書所述僅為最基本之設計,把前人的學習經驗寫下來作為未來加 速學習的參考,但它絕不應該成為創意發想的限制,學生需要跳脫框架思考 ( think outside the box ),隨時追求創新與突破。
這本書的完成要感謝許多優秀學生的共同創作,他們非常努力學習,同 時也產生傑出成果,而本人僅是將之綜整而成,可謂是教學相長。為此,我 要特別感謝參與撰寫的修課學生,把他們的設計分享出來,包括曾思銓/吳 奕寶的智能家居系統、吳孟橋/施星宇的裝置管理、以及陳秉嘉/歐鎧豪就 無人搬運車隊管理的實戰演練。尤其要特別感謝前後三年的助教趙汝晉、李 兆祥及白佳灝同學,他們花了最多心力把這幾年的教學內容精華整理列出, 沒有他們,這本書將無法完成。
前言:深耕物聯網技術,是社會創新的根基 趁著本書出版之便,我們也把近幾年優秀學生修習物聯網專題的期末專
題實作範例收錄其中,包括黃泰誠/黃鳳翎的「災害預防及危害檢測遙控 車」、王威凱/侯冠哲的「智慧鼠籠」、吳少鈞/郭東穎的「兒童視力保健
居家智慧服務解決方案」、楊雅婷/謝宗儒的「加入雲端應用和即時監測的
智慧植物澆水系統」、李育倫/羅國泰的「太陽能板監控系統」、陳芃 彣 /
洪緯濬的「智慧停車整合管理系統」。我們喜見學生所關切的面向愈來愈多
元,而以物聯網為基礎的解決方案也愈來愈豐富。
最後本書撰寫的因緣也值得一提。 2021 年 4 月 2 日臺灣發生嚴重的鐵路
列車出軌事件,造成 262 人死傷,當時臺大電資學院張耀文院長感於書生報
國,學校師生應積極關切社會問題,並以創新解決方案貢獻於社會,因此提
出以物聯網為基礎解決軌道問題的學生創意競賽,並鼓勵繼續出版專書以推 廣物聯網應用,且提供經費支援本書之編撰。相關學生創意競賽也引起不少 迴響,第一名得獎作品則邀稿並收錄書中,參見吳沛林/謝明圜/李宇烜的 「軌道異物入侵偵測系統」。
臺灣經過多年努力,在硬體技術與產品已有長足進步,建立深厚的實 力,下一步就該以硬體為基礎推動軟硬整合,致力於解決未來人類面臨的人 口、環境以及公義問題,而深耕物聯網技術,是社會創新的根基,需要大家 共同努力。
於臺灣大學電機系 2022 年 9 月
0.1 由構想到實踐的物聯網
物聯網( Internet of Things, IoT ) 是一門入世的學科。顧名思義,物
聯網就是將有形或無形的世間萬物,透過萬物相聯為手段,希望透過其間相
聯所促成之資訊交換,以及更進一步的新資訊之創造,達成使用者所想要的 對真實世界、以及真實世界所對應之數位世界「倒影」所帶來的(對使用者 而言)有用之變動。換言之,物聯網從社會意義的角度來看,是讓資通訊技
術所能帶來的「變革」,透過聯網「流」入過去資通訊化程度相對仍低的產 業或領域,從而引發或促進這些產業/領域的加速演化
不只是把現在能
做的事做得更好(更快、更自動、更有效率、錯誤或耗能更少等等),還要
能做到過去難以達成的事;而這些都必須在真實世界中發生。
關於物聯網是什麼,筆者已經在本書前作《物聯網 ABC 》 [1] ,引用
國際電信聯盟電信標準化部門( International Telecommunication Union
Telecommunication Standardization Sector, ITU-T ),及歐盟物聯網研究平台
( European Research Cluster on the Internet of Things, IERC )對物聯網的定
義加以闡述。上述兩大國際機構對 IoT 的定義皆強調: IoT 是全球等級的基
礎建設,有形或無形的物件透過相容的通訊協定在此基礎建設中彼此互通,
並讓真實世界與各種數位化機制無縫整合為一整體,以自我感測與自我調控
來提供使用者所需的最佳服務。為便利本書讀者,在此再將 IoT 的定義引用 於下:
ITU-T 對 IoT 的定義 [2]
A global infrastructure for the information society, enabling advanced services by interconnecting (physical and virtual) things based on existing and evolving interoperable ICT.
IERC 對 IoT 的定義 [3]
A dynamic global network infrastructure with self-configuring capabilities based on standard and interoperable communication protocols where physical and virtual “ things ” have identities, physical attributes, and virtual personalities and use intelligent interfaces, and are seamlessly integrated into the information network.
對於 IoT 的「 what is 」,也就是定義,雖可以有上開具公信力的國際機 構加以統整,然而對於 IoT 的「 how to 」,也就是物聯網在現實世界中如何 成功實踐的方式,卻少見到有系統性、組織性且兼具方法論基礎的探討。究 其所以,除了 IoT 本身仍是方興未艾的學科之外, IoT 要解決的各個不同產
業或領域的問題、與該目標產業或領域之結合方式及其切入點外、還有常 常被提出來(非屬教育政策而是教學內容)的「產學落差」,或更直白一點 的「產學脫鉤」。學校或實驗室的場所裡,一切(客觀一點說,大部分)都 是設計好的沙盒( sandbox ) 一個獨立、隔絕、簡化過的情境,幾乎等 同理想上的完美真空般清淨,然後要學習者在這樣的條件下練習解決(罐 裝式)問題,能做出來預定答案就算成功。但對於將該答案帶進充滿各種 挑戰、干擾、不確定與危機的現實世界中之際,要如何維持一定程度的有 效性,則少有提及。更遑論,該如何將成果普及化(即應用場域上的延伸) 及永續化(應用時間上的延伸),翻譯成白話就是「做出來的東西沒辦法實 用」。
IoT 必定需要應對這個「實用性」挑戰,這個想法在我們籌備前作《物
聯網 ABC 》之時就已經浮現,畢竟要從事 IoT 的探索,恰恰無法迴避這「充
滿各種挑戰、干擾、不確定與危機的現實世界」。原因正是我們在前面所
提, IoT 先天上就是要「入世」,因為 IoT 就是要來解決現實世界各行各業
中所遭遇的各種問題。然而即令我們深知其重要性,礙於與篇幅所限卻難以
在《物聯網 ABC 》中多所著墨,畢竟以物聯網世界的廣闊度,要在一本書
中探討除新技術之外等眾多議題,是不切實際的。這是在籌備本書時,我們
將原來《物聯網 ABC 》尚未涵蓋、物聯網架構定義中第二層(見《物聯網
ABC 》第零章,及稍後會再談到)的議題,與這個如何讓物聯網解決方案 成功「入世」、縮短產學落差的嚴肅課題相結合,作為貫穿本書的主軸,並 試著提出一些可供參考的方向。
就像任何具象有形之物、尤其是生命體,任何一個(特別是工程)系
統也有其特有的演進歷程,也就是 生命週期( life cycle ) 或俗稱「從搖籃
到墳墓」( cradle-to-grave )過程。若要完成一個系統並放進現實世界中正
常運行,就不能不提到 系統開發生命週期( system development life cycle, SDLC );若為商用產品,常會用到的相關概念則稱 產品生命週期管理
( product life cycle management, PLM )。許多組織或機構有自己的開發
流程,也有許多公司使用或甚至開發 PLM 工具,例如德國工業巨擘西門子
( Siemens )或法國達梭系統( Dassault Systèmes S.A )等都是。為不偏頗於
特定公司或商品、與避免置入性行銷之嫌,以下關於系統生命週期的各個重
要階段,我們依據國際標準,先簡化整理出圖 0.1 請讀者參考(後另詳述)。
0.2 物聯網與系統生命週期之重要性
圖 0.1 簡化版 SDLC 主要階段
在圖 0.1 中,以長箭頭所表示的系統生命週期各主要階段,我們分別以
Requirement /需求(簡稱「
某種目的、也就是為滿足某種尚未被滿足的需求而誕生;可以說無需求則 無計畫,當然也就不會有什麼成品的誕生。所以作出任何成品之前,了解 市場(目標使用者族群)需求是絕對必須的。
Acquisition /籌獲(簡稱「 獲 」):有了使用者需求,並不一定代表需要 做什麼研發,因為市面上可能已有能滿足或部分滿足那些需求的產品(也 就是零組件)可購買得到;又或許不必購買而是透過其他方式取得,例如 捐贈或所有權移轉等,或者根本只要直接使用就行了,公共建設就是好例 子。
Development /開發(簡稱「 發 」):就是字面意義上的發展,常和研究
相提並論而通稱研發( R & D ),也就是把系統、產品、服務從需求到規 格再到實施的過程,且很可能會包括將上一步驟「籌獲」來的滿足部分功 能的零組件「加工」與自製的部分相整合
其實這才是常態,現代幾
乎沒有任何商品是 100% 由某個公司企業全部自製的,就算是 ASIC 也是 找晶圓代工廠製造的不是嗎?軟體面來說也很難不去用上現成的作業系統 吧?
一個簡明扼要的字詞來描述,由左至右(由始至終)分別為:
需 」):所有系統無論是否為 IoT ,都是因應
Qualification /品質測試(簡稱「 測 」):做出的成品到底符不符合原先 設計目標、有沒有真正滿足目標使用者需求、能不能透過業界或國際公認 的規範標準等等,都必須用科學化、系統化方式加以驗證,以保證其品 質,這是成品推出給終端使用者運用前所必經的步驟,也是與現實世界接 軌之前重要的一步。
Commission /運轉(簡稱「 運 」):或以軍事用語來說是「服役」,透過 測試的成品進入複製擴散階段(量產),並且派送到、安裝在真實應用場 域中、做好因地制宜的設定、來開始服務真實世界的使用者,解決此成品 原先設計好待處理的問題。
Maintenance /維護(簡稱「 維 」):成品在現實世界使用後難免有需要 維修、補強、更新、改良、替換的時機,部分是消耗材需要常態補充(常 見如燃料、電源),真正到使用壽命極限時,就需要讓舊品退役、報廢、 甚至回收再利用。
至於圖 0.1 中,以圓角矩形所表示的各階段中的重要行動( activitiy )
或進程( process ),其用語則基本參考 ISO/IEC/IEEE 15288 Systems and Software Engineering–System Life Cycle Processes (系統與軟體工程 – 系統
生命週期進程)國際標準 [4] ,及 IEEE 與 EIA 定義的 ISO/IEC/IEEE 12207 Systems and software engineering–Software life cycle processes (系統與軟
體工程 – 軟體生命週期進程)標準 [5] 。 ISO/IEC/IEEE 15288 是由國際標準
化組織( ISO )和國際電工委員會( IEC )制定的系統工程技術標準,其從
工程觀點定義了一整套通用進程和相關用語,涵蓋過程和生命週期階段,
並且可廣泛應用於各種系統架構和層級上(當然也適用於 IoT )。 1994 年,
當工程界體認到需要一個系統工程進程的通用框架時,即開始規劃 ISO/
IEC 15288 ,第一版在 2002 成為標準,並在 2004 年由電子電機工程師學會
( IEEE )採用為 ISO/IEC/IEEE 15288 ;歷經 2008 年改版融合 ISO/IEC/IEEE 12207 以統一兩標準用語後,目前最新版本為 ISO/IEC/IEEE 15288: 2015 。
ISO/IEC/IEEE 15288 定義的「進程」可分為四大類,即 籌獲進程
(acquisition process)、 組織專案賦能(organizational project enabling)、 技 術( technical ) 及 技術管理( technical management ) 等進程(如圖 0.2 )。
若依各種進程在標準中的屬性,透過檢索表方式整理(此引用 ISO/IEC/
物聯網 DEF
IEEE 12207 的表現方式,如圖 0.3 )。至於其他各進程與行動定義,有興趣 的讀者可查閱最新版的 ISO/IEC/IEEE 15288 與 12207 內容,在此不另贅述。
ISO/IEC/IEEE 15288:2015 Processes
ISO/IEC/IEEE 15288:2015
Acquisition Processes 籌獲進程
• Acquisition
• Supply
Organizational project-enabling processes
組織專案賦能進程
• Life cycle model management
• Infrastructure management
• Portfolio management
• Human resource management
• Quality management
• Knowledge management
Technical Processes 技術進程
• Business or mission analysis
• Stakeholder needs and requirements definition
• System requirement definition
• Architecture definition
• Design definition
• System Analysis
• Implementation
• Integration
• Verification
• Transition
• Validation
• Operation
• Maintenance
• Disposal
圖 0.2ISO/IEC/IEEE15288:2015
Technical Management Processes
技術管理進程
• Project planning
• Project assessment and contro l
• Decision
• Risk
• Configuration
• Information
• Measurement
• Quality assurance
所定義四大類進程
Acquisi on process Supply
Life cycle
Technical process
Technical management process
HR mgmt
Quality mgmt
Por olio mgmt
Knowledge mgmt
Infrastructure mgmt
Life cycle model mgmt
0.3
Project Planning
Business or mission analysis
Acquisi on Stakeholder needs and requirements defini on System requirements defini on
Architecture defini on
Design defini on System Analysis
Project assessment & control
Decision
Implementa on Integra on Verifica on
Risk Configura on
Informa on
Organiza onal & project enabling process
目前到此,讀者可能會問,除了能應用
Transi on
Valida on
Opera on Maintenance
Measurement
Quality Assurance
Disposal
描述或管理 IoT 系統外, 生命週期 還有什麼重要性?事實上答案昭然若揭,
在 IoT 世界中,絕不可低估非研發階段生命週期之重要性,其原因有:
IoT 先天上是一個軟體和硬體整合、有較高複雜度的組合;
IoT 除軟體和硬體外,更是結合了有形產品和無形服務;
IoT 解決方案裝設到真實世界場域時,經常必須有足夠的可塑性進行各種 調整,以配合現場環境,以及對場域的限制妥協;
IoT 解決方案一旦裝設完成開始運轉,因先天上與各種產業領域相結合的 關係,操作年限相對都較單一電資產品來得長(很少有別的產業變動速度 與電資相當),所以維修與更新的機會都相對增加,甚至移轉與退役的過 程也跟著複雜化。
一言以蔽之, IoT 系統(或為廣義「解決方案」)生命週期中,發展 ( development )只占一小部分。和主流應用軟體 app 或 IC 設計截然不同,軟
體或 IC 設計研發投注時間精力資源龐大,但其成果再製、運送與布建成本
相對很低 一片晶圓能產出成千上萬顆 IC ,焊在一片片電路板上, app 更 是按一下就傳到你我行動裝置上了。與其相對, IoT 系統研發時間與成本雖
難說低廉,但布建所要解決的挑戰,從設備登錄( device onboarding )、服
務發現( service discovery )、組態管理( configuration management )、派送
布建( provisioning & deployment )、更新升級( update & upgrade )等,還
要能達到強健性( robustness )要求。上述這些挑戰,在圖 0.1 簡化生命週期
中,特別是 commission (「運」)階段,所占比重與重要性絕不下於研發。
然而,許多 IoT 著作(甚至包括《物聯網 ABC 》在內)不免都將焦點放
在系統開發上,而鮮少觸及這些「入世」課題。由於這僅涵蓋整個 IoT 系統
生命週期一小部分,如此再要求讀者要做出「入世」系統,未免有失公允。
是故,本書除仍維持研發的重要性,並導入相對較現代的研發概念:如全
端開發( full-stack development )、開發維運( DevOps )等介紹,另特闢專
章,以布建( deployment )為主軸,探討上述提及的「入世」課題,用以強
調 IoT 在研發外其他生命週期階段的重要性,並嘗試縮減一點產學落差;這 也是本書標題 DEF 的 D ( deployment )部分的命名由來。
國家圖書館出版品預行編目(CIP)資料
物聯網 DEF = Internet of things : deployment/ enablement/ fulfillment /
吳瑞北、賴怡吉著 . -- 初版 . -- 臺北市:國立臺灣大學出版中心出版 : 國立
臺灣大學發行, 2023.07
面; 公分
ISBN 978-986-350-738-3(平裝)
1.CST: 物聯網 2.CST: 系統程式 3.CST: 資訊安全 4.CST: 技術發展
484.6 112008605
物聯網DEF
Internet of Things: Deployment/ Enablement/ Fulfillment
作 者 吳瑞北、賴怡吉
總 監 張俊哲 責任編輯 李協芳 編輯協力 陳俊傑、白佳灝、趙汝晉
封面設計 鄧宜琨
內文排版 黃秋玲
發 行 人 陳文章
發 行 所 國立臺灣大學
出 版 者 國立臺灣大學出版中心
法律顧問 賴文智律師
印 製 辰皓國際出版製作有限公司
出版年月 2023年 7 月初版
定 價 新臺幣 770 元整
展 售 處 國立臺灣大學出版中心
106319 臺北市羅斯福路四段1號
電話:(02) 2365-9286
100047 臺北市思源街18號澄思樓1樓
電話:(02) 3366-3991~3分機18
傳真:(02) 2363-6905
傳真:(02) 3366-9986
E-mail:ntuprs@ntu.edu.tw https://press.ntu.edu.tw
國家書店松江門市
104472 臺北市松江路209號1樓 電話:(02) 2518-0207
國家網路書店 http://www.govbooks.com.tw
五南文化廣場 電話:(04) 2226-0330
400002 臺中市中區中山路6號 http://www.wunanbooks.com.tw
ISBN:978-986-350-738-3
GPN:1011200669
本書已通過國立臺灣大學出版中心教科書審查