物聯網概念與應用

概念

物聯網(Internet of Things)每年都在重新定義,它無所不在;它讓我們的生活便利;它記錄一切;也監視著我們。任何一個連接感測器並具備計算、通訊能力的小型電子設備,都是物聯網的一個節點,這些節點彼此間可以相互傳遞資料,或將資料傳送到雲端,目的是將資料送交到能綜合記錄、解析或進行決策的平台上。舉凡交通號誌、路燈、冰箱、洗衣機、掃地機器人、車輛等,甚至偵測著你心率的智慧手錶都是物聯網的機器節點,這些節點交錯形成了複雜的網路。

物聯網爆發點會是在5G通訊服務裡網狀網路(Mesh Network)普及時,在未來6G低軌衛星的佈建後,更是會重設社交、產業甚至社會政治結構。無邊界的通訊不只改變我們的通訊,當加入 AI 應用,它即成為智慧物聯網(AIoT),加入虛擬實境(VR)/擴增實境(AR)/混合實境(MR) 之後,將陸續改變電玩、旅遊、運動、飲食…等生態,未來我們視它為理所當然,無遠弗屆卻也無感,因為它將是我們生活元素之一。

應用

未來所有的產業都會和物聯網扯上關係,IoT Analytics分析2022年全球企業花費 IoT 的預算已高達 1940 億美金,預測未來每年 22% 的成長率,在 2027 年將到達 5250 億美金的規模。

我們可以分別從硬體、服務、軟體及安全來了解當前物聯網的應用:

硬體

硬體可以細分具備高速邊緣計算能力的電腦;低功耗功能單一的電腦;感測器等,在硬體的選擇上,要注意其佈建的生態系方向與完善負責任的態度,生態系要看它面向主要的是消費、工業或學習市場,所謂的負責任指的是這些硬體相應的韌體及開發軟體,是否能持續更新?開發文件是否齊全?

更多細節只能從業界口碑或網路論壇裡去發掘,畢竟科技日新月異且競爭激烈,你絕不會希望花了數百個小時以上培養的專業,或數萬個人工時累積的產品,一覺醒來就被放生了,有句名言「選擇比努力重要」,在此可謂金科玉律。

邊緣計算電腦

nVidia Jetson Xavier NX 開發套件

圖1:nVidia Jetson Xavier NX 開發套件

nVidia Jetson Xavier NX 嵌入式系統模組

圖2:nVidia Jetson Xavier NX 嵌入式系統模組

主要應用於現場即時 AI 識別與決策,具備高速邊緣計算能力的電腦,市面上熟知、通用: nVidia Jetson, Raspberry Pi, Intel 系列,工業量產方案推薦 AMD Xilinx, NXP i.MX 系列,車聯網使用的電腦通常也屬於邊緣計算。

微型單板電腦

BBC micro:bit

圖3:BBC micro:bit

Arduino Nano

圖4:Arduino Nano

此處泛指的是單晶片系統(System on a Chip, SoC)與微控制器(Microcontroller Unit, MCU)的整合單板電腦,功能單一、具備低功耗特性,SoC 常見是低階的 ARM, RISC-V 架構,如:Arduino, Micro:Bit, Raspberry Pico, NXP, STM32, Mediatek Linkit 系列,過去幾年這領域裡中國有許多優秀的廠商,基於西方國際抵制與資訊安全,本文不列舉也不建議採用。

感測器

感測器要注意工業級及消費級別的差異,看似相同的規格卻有數倍甚至百倍的價差,價差會體現在精度、耐候及穩定性上,如果你只是初學,或許可以挑便宜的。可一旦是要用於實驗室或產品,該花的錢千萬不要省。

感測器

圖5:感測器

專業如Keyence提供專業感測器如下:

  • 光電感測器
  • 光纖感測器
  • 雷射感測器
  • 近接感測器
  • 位置感測器
  • 位移感測器
  • 安全感測器
  • 流量、壓力感測器
  • 靜電感測器
  • 影像感測器
  • 特殊用途感測器

Element14TaiwanIoT代理玩家 DIY 所需感測器,通常分類如下:

  • 溫度
  • 聲音
  • 電磁
  • 超音波
  • 壓力
  • 光(光纖、光電)
  • 空氣
  • 水質
  • 土壤
  • 定位
  • 空間量測

服務

主要是雲端服務,需要大型基礎建設的雲端服務(運算),預期只能是世界科技巨擘的禁攣,如:Google, Microsoft, Amazon, Salesforce, IBM, Oracle 等,相對較小規模的廠商,基於專業、成本與佈署考量,如智慧家電、車輛等所提供的雲端應用服務,多數會建置在前述寡頭的基礎建設上。

因此學習或開發物聯網應用,如果您已是具備資訊基礎的開發人員,先選擇一家科技寡頭提供的服務平台作為起點,是最直觀且前瞻的方式。如果您是學生,可參考自身的需求,使用您所選擇的電腦類型對應的開發軟體,再介接市面上第3方的自動化整合服務,如: IFTTT, Zapier, Microsoft Power Automate, Automate.io 等,可以加速您的學習成果。

軟體

這裡我們再細分:開發軟體、程式語言、應用軟體及通訊協議

開發軟體

始於 MIT ScratchGoogle Blockly 及積木式的程式設計平台,因其開放原始碼,許多第3方業界又再衍生了許多版本,如:Machine Learning for KidsWebduino:BitWeb:Bit教育版

程式語言

  • Python:教育學術研究及AI最常用。
  • Micropython:IoT 微型單板電腦專用。
  • Javascirpt:網頁應用唯一使用。
  • C++:最資深、硬體韌體、驅動等非它不可。
  • Golang:號稱21世紀 C 語言

應用軟體

我們可以在手機 APP 上輸入關鍵字:IoT Smart Home,可以找到許多應用,例: Arduino IoT Cloud Remote for AndroidArduino IoT Cloud Remote for Apple

通訊協議

  • MQTT :由IBM的Andy Stanford-Clark博士、Eurotech 及 Arlen Nipper 博士於1999年發明的通訊協定,為硬體效能低下的遠端裝置以及網路狀況糟糕的情況下而設計的發布/訂閱型訊息協定。
  • Pub/Sub:為不同應用程式之間提供可靠的、多對多非同步傳訊功能。 發佈者應用程式能將訊息傳送到「主題」,其他應用程式訂閱這個主題後就能收到訊息。
  • REST API:是Roy Thomas Fielding博士於2000年在他的博士論文中提出來的一種全球資訊網軟體架構風格,目的是便於不同軟體/程式在網路(例如網際網路)中互相傳遞資訊。
  • gRPC:是Google發起的一個開源遠端程序呼叫系統。該系統基於HTTP/2協定傳輸,使用Protocol Buffers 作為介面描述語言。

安全

有個不好笑的笑話,當你的電腦被駭客通過網路入侵時,最快且即時的防護手段是:拔掉網路線。可現實是,你所維護使用的 IoT 裝置,它可能在被入侵後幾個月後,你仍是不知不覺的,即使你知道被入侵了,你也不能驟然關閉機器的網路,因為它可能會造成客戶無法交易、生產線機器停擺,更嚴重如交通事故、生命維持系統停止等。

從物聯網面向來看,以下就資訊安全在佈署配置、預防措施、緊急應變及追蹤溯源等介紹:

佈署配置

預防措施

緊急應變

追蹤溯源