學科課程內容綱要表

物聯網技術與應用人才養成班

學科課程內容綱要表

物聯網技術與應用人才養成班

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

MQTT教學(一):認識MQTT


MQTT是由IBMAndy Stanford-Clark博士和Arcom(已更名為Eurotech)的Arlen Nipper博士於1999年發明的通訊協定。他們當時是為了在狹窄的網路頻寬和微小電力損耗的需求前提之下,提供石油管線感測器和人造衛星之間一個輕量、可靠的二進制通訊協定。201111月,IBMEurotechMQTT協定捐贈給負責管理開放原始碼專案的Eclipse基金會,並且加入Eclipse M2M Industry工作組織。2014年十月,MQTT正式變成一個開放的OASIS國際標準(Organization Advancement Structured Information Standards,資訊標準架構促進會,一個制定電子商務、網路服務和電子出版的非營利機構)。

MQTT最初代表的意思是Message Queueing Telemetry Transport(訊息佇列遙測傳輸),現在已經不用這種說法,MQTT就是MQTT,不是其他單字的縮寫。由於MQTT協定的訊息內容很精簡,非常適合用於處理器資源及網路頻寬有限的物聯網裝置,再加上已經有許多MQTT程式庫被陸續開發出來,用於Arduino控制板(C/C++)、JavaScript(Node.js, Espruino控制板), Python,…等等,還有開放原始碼的MQTT伺服器,使得開發MQTT物聯網、機器之間(Machine-to-Machine, M2M)的通訊變得非常簡單。Facebook Messenger的即時通訊也是用MQTT協定。

採用ArduinoESP8266實作MQTT之前,本文先提供有關MQTT的背景知識和一些術語說明。

比較HTTPMQTT通訊協定

MQTTHTTP的底層都是TCP/IP,也就是物聯網裝置可以沿用既有的網路架構和設備,只是在網路上流通的「訊息格式」以及應用程式的處理機制不同。




假設某個裝置透過Web瀏覽器,以HTTP協定傳送溫度值給網站伺服器,此HTTP POST訊息內容大概像這樣:




除了HTTP請求指令以及代表21度的訊息本體,這段訊息中間夾帶了一堆描述用戶端的的標頭(header)資訊,相當於向伺服器介紹:我來自Chrome瀏覽器、作業系統是Android 7、我讀懂中文和英文…等等。這些額外的標頭訊息在許多物聯網通訊應用不僅僅是多餘的,還會佔用網路頻寬、記憶體並且浪費處理時間。

MQTT訊息格式

採用MQTT發布溫度的訊息格式類似這樣:



不同於HTTP的標頭採用文字描述,MQTT的標頭採用數字編碼,整個長度只佔2位元組,等同兩個字元,後面跟著訊息的主題(topic)和內容(payload),實際格式如下:



MQTT標頭裡的訊息類型、品質…等內容,留待下文說明。除了精簡的標頭,讀者可以發現,MQTT的標頭區並沒有標示傳送目標的IP位址。

MQTTPublisher, BrokerSubscriber

根據MQTT 3.1.1版本規格書的描述,MQTT是一種基於「發布∕訂閱」機制的訊息傳輸協定(MQTT is a Client Server publish/subscribe messaging transport protocol),我們可以把它想成雜誌發行和訂閱的機制。MQTT訊息發送端,相當於雜誌出版社,雜誌出版之後並不直接寄給消費者,而是交給經銷商或者書店一般的代理人(broker),來統籌管理發行和訂閱事宜。每一個訊息來源(刊物)都有個唯一的主題名稱(刊物名稱)。

代理人是個伺服器軟體,向伺服器發送主題的一方是發布者(publisher),從伺服器獲取主題的一方則是訂閱者(subscriber)。以下圖為例,傳送感測器資料的一邊是發布者,接收感測器資料的一邊則是訂閱者。每個感測器∕微控器的訊息都需要有個主題名稱以利識別,像下圖的主題ABC



代理人(broker)可儲存發布者的訊息,在發布者中斷連線的情況下,提供訂閱者最近更新的訊息。「訂閱者」需要告知代理人想要訂閱的主題,每當「發布者」傳入新訊息時,代理人就會依照主題,傳送給所有訂閱者。「發布者」和「訂閱者」都是用戶端,代理人是伺服器。由於兩個用戶端之間有伺服器當作中繼站,所以兩邊並不需要知道彼此的IP位址。

MQTT的主題(Topic)名稱

MQTT主題名稱是UTF-8(萬國碼)編碼的字串,我們可以自行決定主題名稱,例如,傳送溫度的訊息主題可命名成「溫度」、傳送亮度的訊息主題叫做「照度」…等等。主題名稱也支援類似檔案路徑的階層式命名方式,假設住家裡面有許多感測器,我們可依照測器所在位置,規劃如下的命名階層結構:



每個階層之間用斜線分隔,例如,位於庭院的人體感測器#1,其主題名稱可命名為:





命名主題的注意事項:
l   由於某些微控器或程式語言不支援UTF-8編碼或中文,主題名稱請使用英文,並且取個有意義的名字。
l   名稱長度不可超過216位元組(65536個字元)。
l   自訂的主題名稱請勿用$開頭(“$SYS”是MQTT伺服器的控制介面主題的保留字),也不可包含#+字元;減號和乘號(*)在程式語言中有特殊意義,為了避免誤會,也不建議使用。
l   名稱的英文大小寫有區別,homeHome是兩個不同的名稱。
l   雖然名稱可以包含空格,但是英文的「半形」空格和中文的「全形」空格的內碼不一樣,若輸入名稱時沒有統一,會導致程式讀取不到,因此名稱最好不要加入空格。
l   階層名稱可以空白,像這樣的命名(連續的斜線)是合法的:“home//yard”,代表有三個階層,中間階層沒有名字,在語意上怪怪的。
l   有些程式設計師習慣在主題名稱最前面加上一個斜線(在Linux系統中,檔案路徑開頭的斜線代表根目錄),但這是不必要的。請注意,“/home”和“home”是兩個不同的名稱,前者代表「空白名稱的根階層」底下的“home”,單一個“/”也是合法的名稱。



除了依據裝置安裝地點來命名主題,當同一個地點包含許多感測器的時候,用編號或者唯一識別碼來命名主題是比較合理的選擇。例如,假設某個位於廚房的裝置的MAC位址是DEADBEEFFEED,它可以被命名成:Home/kitchen/DEADBEEFFEED



30個關鍵字讓你搞懂物聯網


自從台積電董事長張忠謀大喊「物聯網是Next Big Thing」之後,台灣的物聯網開始熱起來。但到底什麼是物聯網?物聯網和我們生活有什麼關係?物聯網又會帶來什麼樣的商業模式?

物聯網30個關鍵字

1.          1兆美元
2.          2017
3.          6.58
4.          少量多樣
5.          RFID
6.          Sensors
7.          ZigBee
8.          霧運算
9.          IPv6
10.      智慧家庭
11.      智慧城市
12.      智慧汽車
13.      物聯網金融
14.      Tony Fadell
15.      Maker
16.      Google
17.      小米
18.      Tesla
19.      奇異
20.      聯發科
21.      物聯智慧
22.      羊毛出在狗身上,豬來買單
23.      資料銀行
24.      零成本社會
25.      無物不商
26.      開放硬體
27.      資料新政
28.      圓形監獄
29.      IP Camera
30.      有感服務



1995年,比爾蓋茲在《未來之路》一書中,展開他的智慧家居狂想,成為物聯網概念的濫觴。1998年,美國麻省理工學院Auto-ID中心主任愛斯頓(Kevin Ashton)提出物聯網(Internet of Things,簡稱IoT)一詞,全球化的網路基礎建設,透過資料擷取以及通訊能力,連結實體物件與虛擬數據,進行各類控制、偵測、識別及服務,從此這詞廣泛流傳。

在物聯網時代,手機、冰箱、桌子、咖啡機、體重計等物體變得「有意識」且善解人意。我們以智慧冰箱為例,冰箱壞掉時會自動發出維修訊息,「主人我們家冰箱溫度飆到10度,要不要找人來看看?」更厲害一點的,冰箱還會和瓦斯等資料庫串聯,跟你說:「我們沒有瓦斯了,向瓦斯行訂購一桶瓦斯嗎?」物聯網不僅讓我們的生活更「方便」,也帶來更多的「安全」。例如英特爾在物聯網論壇曾展示輸油管檢測系統,漏油時感測器會發出訊號,可以避免高雄氣爆事件重演。中興保全在嘉義某國小裝置地震警報電梯,讓學生不因地震被關在電梯裡。

物聯網概念於1998年出現,但技術價格昂貴,因此「只聞樓梯響,不見人下來」,直到2007年,iPhone出現才為物聯網拉開序幕。「物聯網起飛最重要的因素就是智慧型手機,我們使用手機控制智慧車、智慧家庭與智慧手環,手機是物聯網裝置的操控中樞。」友訊董事長高鶴軒說。除了智慧型手機,10年內各類感測器價格從1.3美元滑落到0.6美元,RFID標籤(無線射頻識別技術)的價格也下滑到0.1美元。全球家庭Wi-Fi通訊協定覆蓋率已達25%,更省電的ZigBee進入一般家庭。

1兆美元的新市場

根據BI Intelligence估計,到2017年連網裝置出貨量將超越智慧型手機,連網裝置正在急起直追。而Harbor Research也調查,2020年將有100億個以上的連網物體,潛藏商機超過1兆美元。

網際網路的力量已經顛覆零售、教育、金融、旅遊與交通等各個行業,在物聯網時代又重新定義產業疆界。其中,智慧家庭領域進入門檻較低,競爭最白熱化,網路公司、電信公司與新創團隊紛紛切入家電產業。智慧運輸領域則是成長最快的,Tesla等智慧車顛覆汽車產業。物聯網甚至顛覆金融產業。舉例來說,AllState保險公司利用汽車感測器蒐集駕駛人資料,分析駕駛行為、駕車風險高低,制定不同的保費,駕駛習慣良好的人保費較低。

科技巨頭大亂鬥

在這股顛覆的力量中,科技巨頭們也沒缺席,Google與蘋果布局重疊度最高、戰況最激烈,在智慧車、智慧家庭、健康醫療等領域競爭客戶。Google在智慧家庭方面進展最快,今年以32億美元買下Nest Labs新創團隊,販售硬體,跨進「能源」領域。Nest Labs主要產品溫控器,可記錄家庭能源消耗量。

Nest不僅在30億美元的全球溫控器市場經營業務,更會協助6兆美元的能源部門。」《哈佛商業評論》分析。
同時科技巨頭奇異(General Electric)也虎視眈眈,除了布局內燃機、引擎與風力發電等工業物聯網外,也投資群募平台Quirky,進軍智慧家庭。奇異也有能源部門,可提供家庭節能服務,Google與奇異將在物聯網時代碰頭。「我們期待與Google競爭,雖然Google不生產內燃機、發動機與風力發電設備,但Google這種公司的創新能力是我們非常尊重的。」奇異副總裁約翰.賴斯(John Rice)接受媒體採訪時說。

「我希望有一天你掏出小米手機,家裡的智能設備都能連在一起,一切都在掌握之中。」小米創辦人雷軍接受《富比士》(Forbes)雜誌專訪時強調。在中國,騰訊、阿里巴巴與百度以「開放硬體」策略布局物聯網,但是巨頭們最害怕的不是彼此而是小米。智慧型手機是智慧家庭、智慧車、健康醫療的重要操控中心,小米不但是中國智慧型手機霸主,今年第三季出貨量還躍居全球第三位,但是巨頭們的手機卻不暢銷。

台灣物聯網時代的科技巨頭,則是全球第三大晶片設計商聯發科與全球第一大晶元製造商台積電。Gartner就估計,2018年半導體產業營收為3,840億美元(約119,200億元台幣),物聯網占了其中240億美元,而2013年台灣半導體產業產值則為17,938億元台幣。聯發科設計LinkLt平台進攻物聯網,而晶元製造商台積電也和富士通、瑞昱、安謀(ARM)等8家半導體大廠合作,打造超低耗電技術平台。

除了大企業,新公司也扮演重要角色。Gartner大膽預測,至2017年,50%的物聯網解決方案將源自創業3年以內的新創公司。Gartner旗下的Maverick研究機構則認為,有創意的創客(Maker)和新創公司才是真正形塑物聯網樣貌的人,新創公司善於以低成本的電子產品、3D列印工具以及開放硬體,創造物聯網裝置。




圍繞著資料的新商業模式

物聯網時代的新商業模式是圍繞著資料轉,其中,「資料販售與交換」也就是俗稱的「羊毛出在狗身上,豬來買單」模式,台廠最需要警惕。例如Nest Labs與電力公司Electric Ireland達成協議,只要民眾和該電廠簽署兩年合約,就可以獲得免費的Nest溫控器,讓原本售價為250美元的溫控器變成0元。本來由民眾買單的Nest溫控器硬體改由電力公司買單,而電力公司則享有Nest使用者的用電大數據,Nest溫控器的價值從硬體轉移到資料上。

第二種商業模式則是產品即服務模式,透過軟體升級和大數據,提供更好的售後服務。例如奇異公司在波音787飛機的GEnX引擎中裝設感測器,記錄每次飛行數據,藉此提前一個月預知飛機引擎需要維修,準確率高達70%,減少飛機突然故障的問題。智慧車商Tesla則透過OTAon-the-air)線上軟體升級,直接修復有問題的汽車,車主不需用跑維修廠。這兩個案例都是利用軟體與大數據分析提供服務,值得台廠學習。

「資料能載舟亦能覆舟」,物聯網帶給我們更便利的生活,但麻煩可能也不小。雖然物聯網的成長可期,但仍有許多安全問題待解決。最近物聯網被駭客攻擊,送出75千封垃圾信,便顯示出物聯網的安全性漏洞。

方便,但卻可能侵犯我們隱私的交換,你願意嗎?我們就像住在社會學家傅柯(Michel Foucault)所延伸的圓形監獄(Panopticon)概念,一天洗幾次澡?每天上幾次大號?坐在沙發前面摳腳挖鼻孔?一舉一動都被各式儀器記錄下來,存放在資料銀行,然後被打包成商品販售。因此麻省理工學院(MIT)教授潘特蘭(Alex Sandy Pentland)提出「資料新政」(New Deal on Data)概念,重新檢視資料所有權與資料應用的問題。

除了資料問題,現行物聯網最大的瓶頸其實是「物不聯網」。物聯網才剛起飛,因此各大廠採用不同作業系統、資料格式與通訊標準,還沒有統一。因此你家的智慧家電彼此若是不同廠牌,可能無法溝通。這也難怪,Nest Labs創辦人法戴爾(Tony Fadell)認為物聯網根本就是一個偽趨勢,「物聯網就是行業裡硬造出來的一個名詞,搪塞大眾罷了,根本就沒個定義。」他強調,對消費者而言,他們只買有特定目的的產品或應用,而不是一件物品,「不要專注於硬體,應專注於你正在解決的問題!」

物聯網可能創造一個如張忠謀口中的美麗新世界,但也可能成為哲學家傅柯所擔心被監控的圓形監獄,一念之差將失之千里。掌握物聯網關鍵核心概念,在這場正在加速的革命之中,我們才能找到真正立足之處。

物聯網時代最重要的3個商業模式

1.資料販售與交換(羊毛出在狗身上,豬來買單)

特徵:資料為王:硬體定價很低,甚至0元,廠商販售或交換使用者的資料盈利
知名案例:Nest
備註:硬體價值壓縮,台廠需警惕

2.產品即服務

特徵:有感服務:廠商售出硬體產品後,利用大數據分析、軟體升級、直接提供人力、售後服務盈利
知名案例:Tesla、奇異、中興保全MyVITADropcam
備註:透過軟體升級,提供給使用者更好的服務,台廠應學習

3.產品共享

特徵:共有共享:廠商擁有硬體產品,使用者依硬體使用量付費
知名案例:YouBikeZipcar
備註:產品共享趨勢,台廠需注意