物聯網(Internet of Things, IoT)的發展非常快速,大幅擴展到任何智慧型硬體設備上,手機、心律調節器、穿戴式體適能感測器、或甚至是冰箱等都可以連接至網路來產生與接收資料。
這些透過網路連接的裝置結合了雲端運算、機器學習、及其他資料解析方法,便產生了能夠改變我們生活及工作方式的產品與解決方案。如今,我們生活中許多事都可以透過物聯網協助來進行,利如:
* 醫生可以遠端監控病患身上心律調節器的作用頻率。
* 運動員可以測量每次運動消耗的卡路里。
* 農民可以優化作物灌溉。
* 大樓管理者可以透過優化對HVAC設備的控制來節省電力。
* 哮喘患者可以通過使用手機應用程式來監測他們的喘息水平,以管理他們的狀況。
* 汽車製造商用來開發能在市區街道自主導航的無人駕駛車。
IoT系統運作
一個典型的IoT系統大致以這樣的方式運作 (圖1):
1.一個智慧連接裝置產生感測器資料後,最終將資料傳送至雲端。這些裝置通常內嵌有嵌入式的處理器可執行資料縮減後的演算法的能力。
2.一個可處理及儲存感測器資料的分析平台。這個平台要能整合不同資料來源的資訊,例如企業系統。負責分析匯入的資料,並對這些資料採取進一步動作。
3.系統工程師或資料科學家從雲端或裝置取得歷史資料,並開發演算法來對資料進行前處理及分析。這些演算法可能涉及用到機器學習技術來預測未來感測器品質或者是對感測器資料進行分類。
4.將開發出來的演算法轉檔佈署到雲端或智慧型裝置上,能處理匯入的即時資料。
透過MATLAB與Simulink建立物聯網系統
MATLAB與Simulink支援物聯網系統,幫助使用者開發、測試連接的智慧裝置,取得、收集雲端資料,以及分析感測器資料。現在,讓我們來看看以下兩個範例。
範例1:交通監測器
有兩位工程師對於每次從住家駕車至工作場所時被困在車陣當中的情況感到相當厭煩,於是決定來研究建築物外面的高速公路在尖峰時段的車流趨勢。他們在一間辦公室中架設了一組網路攝影機來監測高速公路,這組攝影機與執行電腦視覺演算法的Raspberry Pi板子相連(圖2)。
圖2 : 網路攝影機連接到Raspberry Pi |
|
攝影機收集到的資料經過匯整後,放到一個可以執行MATLAB程式碼的IoT解析平台上-ThingSpeak。
這兩位工程師利用Simulink的模塊圖建立了一個系統,包含濾波器-Median Filter來過濾影像,以及可透過影像來辨識車輛的Blob Analysis模塊 (圖3)。他們接著撰寫了客製的模塊來計算車輛數、並將摘要後的資料傳送到ThingSpeak。
圖3 : 利用Simulink模塊圖找出車輛並計算數量 |
|
在演算法被轉檔佈署實現到Raspberry Pi之前,有必要對該演算法進行驗證,因此他們利用Simulink提供的外部模式(external mode)的Video Display來進行驗證 (圖4)。
圖4 : 在演算法開發階段利用Simulink外部模式進行車輛偵測 |
|
當演算法驗證後實現到偵測裝置之後即開始進行車輛辨識,並將資料存放在ThingSpeak上,他們利用MATLAB 的應用函式庫(app)在ThingSpeak進行資料整合,對48小時內每一個方向的即時交通密度進行視覺化呈現與分析,並對當前交通擁擠的程度做了色彩編碼 (輕度 = 綠色,中等 = 黃色,重度 = 紅色) (圖5)。
圖5 : 在ThingSpeak進行即時交通狀況資料分類 |
|
範例2:潮水水位警報系統
船隻陷入泥中,極有可能是水深未正確量測所造成。由於大部分的海灣及河口並無潮汐的預測及即時水位的資料可以取得。有一位船員,同時也是MATLAB使用者,建立了一個低成本、即時的潮水水位表。他也很快地發現潮水水位的時間及漲幅與所在地點有相當程度的關聯。
這個潮水水位表主要的硬體元件包含一塊Arduino Mega板、一個SparkFun Electronics cellular shield、及一個超音波測距器。Cellular shield提供了Arduino和網路的連結,Arduino則被用來讀取超音波感測器上的資料。
這位船員同時也使用了IoT的雲端平台-ThingSpeak來收集與處理傳送到雲端的資料。超音波感測器回報的距離以公厘為單位。為了要將距離轉換為水深,船員在ThingSpeak上架設了ThingSpeak TimeControl,用來執行MATLAB程式碼來讀取範圍資料、將資料轉換為水深,再把資料編寫進新的ThingSpeak頻道。最後一個跟網路連接、可從手機或網路瀏覽器查看的潮水水位表就這樣產生了。
這位船員還撰寫了另外的MATLAB程式碼來偵測潮汐的臨界值,並利用ThingSpeak中的Twitter整合器,可在特定情況發生時發送警報。
如同上面兩個範例所示,資料解析是物聯網創新過程中相當關鍵的成分。透過MATLAB與Simulink,使用者可以開發出能在智慧型裝置或雲端執行的解析方法;透過ThingSpeak,則可以輕鬆地從智慧型裝置或物聯網收集資料,接著利用MATLAB分析從感測器收集而來的資料,最終獲得重要的見解與知識。
(本文由鈦思科技提供 ; 作者Eric Wetjen任職於MathWorks公司)