物聯網(IoT)正在改變世界。物聯網具有巨大潛力,能在網路邊緣結合超低功率的智慧型裝置,且雲端運算能從龐大的資料量中判別模式,藉此產生實用資訊。物聯網的興起源自於兩方面,一方面是高效能處理器晶片的出現,另一方面則是智慧網路邊緣裝置的製造成本和能耗大幅降低,因此無論是在技術或經濟層面上都讓大量部署達到可行程度。
網路和大數據是區分物聯網和傳統遠端監測與控制的兩大關鍵因素。物聯網具備保護環境、提升營業績效以及改變日常生活形態的潛能,其憑藉的不單是針對一兩項變數進行偵測和做出反應,而是分析多個資料管道來找出趨勢,並決定合適的反應。
汽車產業就有一些例子,領導製造商已開始從現場的眾多汽車中擷取其感測器資訊並加以利用,以提供更好的客戶服務並開發新產品。在家電等其他消費性巿場中,領導製造商開始利用物聯網的能力,從客戶的設備收集資料,藉此改善產品並提升營業績效。在建築服務產業方面,從世界各地安裝的電梯和電扶梯收集資料,會傳到雲端IoT平台,預期能提升維護品質和未來的產品設計。
感測資料組合亦可用於其他許多情況,其中包括:
‧ 環境感測,例如在礦場中進行氣體偵測,以提高工作場所安全性。
‧ 道路上的接近感測器,以及車載加速和高度感測器,可支援自動駕駛並避免交通意外。
‧ 飯店房間內的感測器,可偵測房內是否有人且不侵犯隱私,如此一來,工作人員就可在不打擾客戶的情況下清理房間並提升工作效率。
‧ 醫療感測器可記錄病患和環境資料,並傳送給專業醫護人員。
‧ 遠距資訊系統可記錄車輛資料,以根據駕駛習慣來決定保險費率,促進更安全的駕駛行為。
多感測器解決方案的需求和開發
若要使用感測器同時監控多項變數,可將感測器和支援電子元件整合,即可降低成本並簡化安裝。高度整合的感測器評估平台,有助於開發能夠隨時連接 IoT 的多感測器智慧型產品。
Arduino 是能夠簡化多感測器解決方案開發作業的環境之一。舉例而言,Arduino Lucky Shield 擴充板就相容於所有5 V和3.3 V的標準Arduino板件。此擴充板結合眾多感測器,可感測氣壓、相對高度、光度、溫度、動作和存在。這些感測器全都裝進68.6 mm x 53.4 mm的小型尺寸中。
Arduino.org提供Arduino Lucky Shield的多項教學,協助您開始使用,其中包括氣象站應用,示範如何讀取溫度、濕度和壓力感測器的輸出,並將讀數傳送到OLED顯示器上。圖1截取自隨附的程式碼,圖2是運行的程式碼,顯示出讀取到的感測器數值。
圖2 : 使用Arduino Lucky Shield多感測器擴充板感測環境狀況。 |
|
tmp_lbl = "Temper.:";
hum_lbl = "Humidity:";
pre_lbl = "Pressure:";
tmp_um = " C.";
hum_um = " %";
pre_um = " hPa";
}
void loop() {
luck.oled().clearDisplay();
tmp_val = String(luck.environment().temperature());
lucky.oled().setCursor(5, 10);
lucky.oled().print(tmp_lbl + tmp_val + tmp_um);
Serial.print(tmp_lbl + tmp_val + tmp_um);
hum_val = String(luck.environment().humidity());
lucky.oled().setCursor(5, 30);
lucky.oled().print(hum_lbl + hum_val + hum_um);
Serial.print(hum_lbl + hum_val + hum_um);
pre_val = String(luck.environment().temperature() / 100.0F);
lucky.oled().setCursor(5, 50);
lucky.oled().print(pre_lbl + pre_val + pre_um);
Serial.printIn(pre_lbl + pre_val + pre_um);
ST的X-NUCLEO-IKS01A2板件與SensorTile
STMicroelectronics 的STM32生態系統中,擁有若干款多感測器評估板。X-NUCLEO-IKS01A2 環境感測擴充板,就可搭配STM32 Nucleo微控制器基板使用。此擴充板含有 MEMS 加速計、陀螺儀、磁力計、絕對氣壓感測器,以及電容式相對溫濕度感測器。
STM32Cube的生態系統提供工具和軟體,能初始化並運行STM32微控制器。此外,X-CUBE-MEMS1 環境感測器軟體擴充函式庫更提供在X-NUCLEO-IKS01A2上打造應用程式所需的驅動程式。在圖3的系統整體架構示意圖中,X-CUBE-MEMS1滿足了驅動層的要求。
圖3 : 在STM32生態系統中進行感測器開發的系統架構。 |
|
圖3的中介軟體層納入了更多的軟體範例,可使用感測器進行特定功能,例如動作及/或手勢辨識。這些範例包括:
osxMotionAW:STM32Cube的即時手腕活動辨識軟體擴充項目
osxMotionID:STM32Cube的即時動作頻率偵測軟體擴充項目
osxMotionFX:STM32Cube的即時感測器融合軟體擴充項目
osxMotionGC:STM32Cube的即時陀螺儀校準軟體擴充項目
osxMotionPE:STM32Cube的即時姿勢估測軟體擴充項目
圖4的擬碼顯示 MotionFX如何實現即時動作感測器的資料融合。
擬碼序列初始化(執行一次)
1.初始化感測器(加速計和陀螺儀達6倍融合,磁力計達9倍融合);為獲得良好的資料樣本,電源開啟後應等到暫態完成為止
2.初始化 MotionFX 融合:osx_MotionFX_initialize()
3.初始化磁力計校準:osx_MotionFX_compass_Init()
4.osx_MotionFX_getKnobs(); modify settings; _setKnobs()
5.透過停用融合來重置:osx_MotionFX_enable_6X(0) / _9X(0)
開始融合
1.若可行,初始化陀螺儀校準:sx_MotionFX_setGbias()
2.若可行,初始化磁力計校準:osx_MotionFX_compass_setCalibrationData()
3.啟用資料融合:osx_MotionFX_enable_6X(1) / _9X(1)
接著即可讀取感測器資料,並可使用 osx_MotionFX_propagate()與 osx_MotionFX_update()等指令控制交易。
小尺寸IoT實驗元件
ST近期推出一款尺寸更小的多感測器模組,可作為嵌入式系統的感測和連線中樞,或作為利用智慧手機應用程式擷取感測器資料的獨立裝置。此 SensorTile會將MEMS加速計、陀螺儀、磁力計、絕對壓力感測器和麥克風以及 STM32L4微控制器和低功耗藍牙(BLE)無線電,整合在郵票大小的電路板上,然後焊接或插在主板上。
若要在獨立模式中使用,ST提供另含溫濕度感測器的底座板,也可在必要時輕鬆進行改裝,以增添其他感測器。使用此模式時,可透過BLE設定SensorTile,以便在智慧型手機上快速開始擷取感測器資料。
若是嵌入式開發,可透過不同的擴充底座板將SensorTile插入STM32 Nucleo 評估板。
Samsung的ARTIK平台搭載企業安全性
Samsung的ARTIK平台提供一系列可擴充模組,從搭載ARM Cortex-M4微控制器且支援藍牙4.2的小型設備,到採用雙Cortex-A7處理器且支援藍牙、Wi-Fi、ZigBee和Thread的ARTIK 5系列,再到搭載Cortex-A35應用處理器的 ARTIK 7系列。ARTIK 5和ARTIK 7系列功能強大,可用於閘道器或控制器。這些系列內建企業級安全功能,包括可儲存金鑰並安全執行加密演算法的硬體安全性元件,以及有助於建立可信任執行環境的安全作業系統。
許多績優廠商正使用ARTIK生態系統打造IoT解決方案,此外也提供套件可進行嵌入式開發,例如 ARTIK 020 藍牙 4.2 IoT 終端裝置套件、ARTIK 520 藍牙/Wi-Fi/ZigBee/Thread 套件,以及高階 ARTIK 710 套件。可利用相容於ARTIK 5和 ARTIK 7套件的 ARTIK 感測器擴充板,快速進行多感測器開發作業。此擴充板含有加速計、陀螺儀、濕度感測器、磁力計、壓力與溫度感測器,並可透過邊緣連接器作為輔助單元連接至主評估板(如圖5所示)。
圖5 : 使用感測器擴充板搭配ARTIK 5或ARTIK 7套件。 |
|
結論
目前市場推出的感測器開發板均為小型多感測器模組,可直接或稍經修改後,用於物聯網邊緣的終端產品上。隨著使用者需求升高,加上雲端分析應用愈來愈複雜且經濟實惠,將逐漸出現更多充滿想像的服務,並帶動感測器資料多樣性的成長。
(本文作者Rich Miron為Digi-Key應用工程師)