1. 程式人生 > >物聯網平臺技術漫談

物聯網平臺技術漫談

本文整理自PTR集團首席科學家Mike Anderson的報告《TECHNICAL TRADE-OFFS OF IOT PLATFORMS》

PTR集團簡介

  • PTR集團成立於2000年
  • 業務領域包括:
    • 機器人(NASA空間機械臂)
    • 飛行軟體(超過35個在軌執行的衛星)
    • 攻擊型或防禦型的網路空間戰

給你留下想象空間 J

  • RTOS/Linux/裸機上的嵌入式軟體移植
  • IoT系統架構和部署

Mike Anderson簡介

  • 在嵌入式領域超過39年的工作經驗
  • 開發部分VxWorks
  • Linux/Android核心講師
  • FRC #116 FIRST Robotics Team導師
  • 經常在以下場合演講:
    • 嵌入式Linux大會 Embedded Linux Conference
    • 嵌入式系統大會 Embedded Systems Conference
    • 美國中情局新技術大會 CIA Emerging Technology Conference
    • 其它

討論內容

  • 平臺到底是什麼?
  • 架構
  • 重量級玩家
  • IoT和IIoT的區別
  • 如何賺到錢?
  • 總結

什麼是Internet of Things?

  • Thing是能夠連線網路的任何裝置
    • 電源管理、無線通訊和CPU架構方面的進步能夠將智慧嵌入"啞"裝置
  • Thing產生的資料需要到某處使用
    • 在本地使用,如恆溫器
    • 邊界閘道器收集資料並預處理,以便轉發到伺服器
      • 霧模型 fog model
    • 直接傳送至伺服器
      • 雲模型 cloud model
  • 雲平臺提供指令、控制和資料分析

IoT核心

  • 究其核心,IoT只是一種訪問感測器資料並基於資料控制裝置的方式
    • 感測器的數量和型別及其連線是差異化的因素
  • 對資料的處理也是差異化的因素
    • 個人消費,如健身手環
      • 機器-人
    • 監控,如遙測/SCADA
      • 機器-機器
  • 預測到2020年將有3萬億美元的市場

什麼是平臺?

  • 取決於討論的物件
    • 帶有感測器的硬體
    • 針對感測器技術的作業系統
    • 通訊協議/正規化
    • 連線感測器到雲端並提供資料分析的端到端系統
  • 從某種角度講,它包括上述所有內容
    • 取決於你的關注角度

消費類IoT

  • 消費類IoT裝置主要有2種用途
    • 健身相關裝置
      • 可穿戴、鍛鍊器械等
    • 家庭監控或智慧家居
      • 恆溫器、煙霧探測器、攝像頭等
  • 健身市場比較新
    • 通常是電池供電的感測器
    • 藍芽、NFC、Wi-Fi或者USB連線
    • 私有解決方案是主流
      • 比如Garmin、Fitbit、Runtastic等

消費類IoT #2

  • 智慧家居又名家庭自動化(home automation)
    • home automation曾經成功希望不大,市場表現平平
  • 目前,這個領域的玩家很多
    • Thread
    • Apple HomeKit
    • ZigBee Alliance
    • Z-Wave Alliance
    • IoTivity
    • AllSeen
  • 幾十個元件生產商參與以上一個或多個生態中
  • 互操作是成功的關鍵

Edge, Middle and Cloud

  • IoT可以理解為包括邊緣裝置、中間盒子和雲平臺的生態系統
  • 邊緣裝置包括感測器、執行器
    • 通常是電池供電,低功耗網路
    • 消費類邊緣裝置可能採用牆插式供電

Edge, Middle and Cloud #2

  • 中間盒子是邊界路由器/閘道器
    • 將邊緣裝置的低功耗網路翻譯為標準的網際網路協議,如IPv4/IPv6
    • 可能提供資料預處理
  • 雲平臺提供:
    • 與外部控制器的連線(智慧手機、平板電腦等)
    • 資料彙集和分析
    • 連線和資料服務

邊緣裝置

  • 通常使用小型微控制器,如Atmel AVR、ARM Cortex M、MicroChip PIC32等
    • 8/16/32位處理器
    • 無MMU
  • IIoT的遺留邊緣裝置採用原有的有線通訊技術,如RS-232/RS-485/RS-170
    • 工業物聯網
    • 電線供電
  • 有些邊緣裝置期望電池供電,並且一次性使用數年
  • 無線連線,通過低功耗藍芽、NFC、IEEE 80.15.4
  • IPv4/IPv6/6LoWPAN或者私有技術如ZigBee或者Z-Wave

邊緣裝置 #2

  • 規格多樣,通常
    • RAM < 512 KB
    • Flash < 1-2 MB
    • CPU < 300MHz
  • 感測器可能整合到SoC
  • 軟體可能執行在裸機或者RTOS上
    • 商業系統,如Wind River/Intel,Micrium,Green Hills,Express Logic
    • 開源系統,如FreeRTOS,Contiki
  • C/C++是這部分的主流語言

邊界路由器

  • 中間盒子是邊緣裝置和網際網路的閘道器
    • 從低功耗的無線網路獲取資料並輸出IP資料,通過Wi-Fi或者Ethernet
  • 這類裝置執行在基於MMU的作業系統上
    • Linux,Tizen,Android,iOS,Windows
  • 採取形式如Apple TV、平板電腦或者其它帶有影象介面的裝置或者感測器,如Nest恆溫器
    • 提供本地指令、控制功能和系統監控
  • 你的系統可能有多個邊界路由器冗餘
  • Java,JavaScript,Python,C/C++是主流語言

雲平臺

  • 基於伺服器的平臺
    • 多核x86或者ARM,不間斷電源
  • 提供對裝置的下行指令和控制
    • 如手持式裝置介面
  • 關注資料彙集和資料分析
  • PB級的儲存,強大的處理能力
  • Apple Siri和很多其它智慧代理的後臺
  • Web語言,如Java,JavaScript,Python等
  • Hadoop等框架

PB有多大?

  • B (20):1粒大米
  • KB(210):1杯大米
  • MB(220):8袋大米
  • GB(230):3貨車大米
  • TB(240):2集裝箱
  • PB(250):覆蓋曼哈頓
  • EB(260):覆蓋英國
  • ZB(270):填滿太平洋

訊息協議

  • 很多訊息協議在爭奪霸主地位
  • MQTT - Message Queue Telemetry Transport
    • 星型方式
    • 為了訊息可靠性,可基於TCP
    • 側重於遙測資料收集
  • XMPP - Extensible Messaging and Presence Protocol
    • 被Facebook和Jabber訊息應用使用
    • 基於HTTP或者TCP上的XML
    • 通訊速率依賴於人的使用頻率

訊息協議 #2

  • DDS - Data Distribution Service
    • 側重於裝置到裝置通訊的訂閱/釋出式 M2M中介軟體
    • 物件管理組織的標準(Data Distribution Service)
    • 多種多樣的裝置和服務安全和互操作
  • REST - Representational State Transfer
    • 使用HTTP操作(GET/POST/PUT/DELETE等)進行訊息傳輸和儲存
  • CoAP - Constrained Application Protocol
    • HTTP協議的簡化版,基於UDP,用於記憶體受限的裝置
  • 私有協議
    • 消費類裝置經常使用這種方式

相容性

  • 很多物聯網裝置依賴於無線連線
    • Wi-Fi對於電池供電的裝置來說過於耗電
      • 如果裝置是電線供電則非常簡單
      • 通常用於邊界閘道器
    • 用於邊緣裝置的低功耗藍芽(Bluetooth Smart),NFC,蜂窩通訊和IEEE 802.15.4
      • IEEE 802.15.4三層以上各個廠家不一致
  • 資料交換包括
    • MQTT,XMPP,CoAP,REST,DDS和私有協議

Apple HomeKit平臺

  • 使用藍芽,Wi-Fi或者NFC
  • 產品終於上市了
    • 門鎖,恆溫器,攝像頭等各式俱全
    • 相容iOS 8+裝置
  • 控制裝置/邊界閘道器是iPhone,iPad,Apple TV
  • 端到端加密
  • 支援基於時間和位置的觸發器
  • 每個邊緣裝置需要配備專有晶片
  • 迄今為止,接入雲平臺尚不明確

Apple HomeKit平臺 #2

  • 目前沒有Apple HomeKit App
  • Apple依賴於廠家App
  • 一旦關聯,可以使用語音控制,相容Siri
  • 無人干預情況下,裝置之間可以通訊
    • 比如,電燈與百葉窗直接配合

IoTivity平臺

  • Open Connectivity Foundation(OCF)贊助的開源專案,由Linux基金會託管
  • 支援典型的無線互聯
  • 支援訊息通訊,目前包括CoAP,MQTT和REST
    • JSON表示資料
  • 仍是官方預覽版軟體
    • 支援Linux, Tizen, Android, Arduino (Mega 2560 and Due)
  • 通過加密保障安全,支援證書
  • 通過mDNS和uPNP支援服務發現
  • 裝置有認證流程

IoTivity平臺 #2

  • 不同的成員級別
    • 鑽石級 @ 35萬美元/每年
      • 董事會成員
    • 白金級 @ 5萬美元/每年
    • 黃金級 @ 2千美元/每年
    • 非盈利機構/教育機構 黃金會員 @ 1千美元一次性
    • 所有成員級別均有資格查詢OCF和UPnP認證的產品和服務
  • OCF與其它生態系統有合作關係

AllSeen(AllJoyn)平臺

  • 由AllSeen聯盟開發
    • 成員超過200家公司,包括微軟,高通,思科,松下和索尼
  • 由Linux基金會託管開源專案
  • 使用D-Bus訊息匯流排支援發現功能
  • 通過閘道器代理API支援Android,iOS,Windows,Linux
    • 支援邊緣裝置
  • 認證流程包括 "Design for AllSeen" logo計劃

AllSeen(AllJoyn)平臺 #2

  • 端到端加密,X.509證書和其它內建安全特性
  • 支援外掛協議轉換器,支援REST,XMPP,MQTT和TR-069
  • 支援藍芽,ZigBee,Z-Wave,Wi-Fi等
  • 軟體可以下載
    • 支援各類晶片
  • 產品案例
    • https://certify.alljoyn.org/certified-products

Thread組織

  • Thread組織成立於2014年,非盈利組織
    • 獨立的,中立的,開放的
    • 成員級別
      • 會員(2.5千美元/每年)
      • 貢獻者(1萬5千美元/每年)
      • 贊助者(10萬美元/每年)
    • 超過200個成員
  • Thread組織管理解決方案的釋出
    • 規範、證書、網站、商標、版權、Logos/Seals
  • 本質上是行業貿易組織,促進和保護Thread的智慧財產權

Thread標準

  • 基於現有的IEEE 802.15.4標準
    • 使用6LoWPAN作為3層以上的協議 [RFC6282]
      • 在修改後的IPv6上使用UDP傳輸
      • 易於連線到閘道器,雲平臺或者智慧手機
    • 每個網路支援250多個產品
  • 只需對現有的802.15.4射頻韌體升級即可
    • 工作在2.4GHz的ISM頻段
  • 安全方面使用Datagram Transport Layer Security (DTLS) [RFC6347]
    • 提供整合、認證和加密

其它IoT專案/平臺

  • Kaa – http://www.kaaproject.org
    • 開源平臺,支援Linux,Android,Windows,iOS
  • ThingSpeak – http://thingspeak.com
    • 開源API,使用XML, JSON, REST協議
  • Eclipse基金 – http://eclipse.org/kura
    • Kura是結合Apache Camel並基於Java/OSGi的API
    • 與Eurotech公司的Everywhere Cloud infrastructure有關
  • 其它IoT專案沒有什麼缺點
    • 問題是發現適合自已的

工業物聯網Industrial IoT

  • 儘管消費類IoT的大肆宣傳,很多人認為IIoT才是賺錢的地方
    • 大多數消費者實際上不關心PaaS方案
  • 主要玩家正在投入很多錢到這部分市場
    • 比如,建築物監控,流程控制感測器,製造工廠監控,SCADA等
      • 經常需要二類協議如MODBUS和BACNET
    • 一棟建築可能需要多達8000個感測器
  • 平臺必須考慮整個生態系統
    • 許多服務以PaaS形式出售

IIoT平臺的功能架構

IIoT平臺 – ThingWorx

  • 支援從邊界閘道器到雲平臺的PaaS
    • 對於小型的邊緣裝置沒有明確的途徑
  • 側重於工業和醫療系統
  • 提供資料儲存和資料分析
  • 加密保障安全
  • 提供RAD平臺快速開發應用,包括Android和iOS等
  • 大的合作伙伴生態系統
  • 支援MQTT,DDS,REST和其它開放協議

IIoT平臺 – IBM Bluemix

  • IBM的加入允許你使用第三方的API和服務
  • 支援MQTT,REST和其它API
  • 樂高積木式的服務、儲存和資料分析
    • 訪問基於Watson的資料分析
  • 最多20個裝置的免費版本
    • 更高級別的是支援1.5萬個裝置,100MB流量和1GB儲存
      • 第一個1.5萬個裝置之後按裝置個數收費

IIoT平臺 – PubNub

  • PubNub是一個全球資料流網路(DSN)
    • 安全、實時的IoT、移動和Web應用通訊API
  • 擴充套件至數億個裝置,250毫秒的全球時延,超過70個SDK
  • 免費版本包括1個數據中心、100個裝置、1百萬條訊息,附帶郵件技術支援
    • 1個數據中心、1000個裝置、1.5億條訊息~999美元/每月
  • 與IBM Bluemix合作

IIoT平臺 – Verizon

  • 新服務ThingSpace
    • 剛剛開始
  • API列表
    • 連線管理
    • 裝置訊息通訊
    • Verizon雲接入
  • 試圖利用LTE
    • 目標是低速率裝置的LTE新無線模式
  • 大量現有開發方案,包括BeagleBone Black和Raspberry Pi

IIoT平臺 – Xively

    • 原名Pachube, Cosm
    • LogMeln的一個部門
  • 工業應用的PaaS廠商
  • 提供庫和SDK整合到平臺
  • 使用訊息代理和REST API
  • 整合CRM,ERP和運維/調查分析
  • 同時出售儲存和服務

IIoT平臺 – Etherios

  • 側重於車隊管理、重型機械、醫療器械、製造等
  • 可擴充套件的雲管理服務,具備辦公系統整合能力
  • 出售平臺和服務
  • 為裝置整合移動應用、CRM、社交網路

IIoT平臺 – ThingSquare

  • 原來是一個Kickstarter專案
  • 開始側重於邊緣裝置
  • 目前整合後端服務
  • 整體服務到目前為止還未看到

總結

  • IoT/IIoT以平臺方式提供的產品沒有不足之處
  • 只要裝置可以工作,消費領域的接受度預期是好的
  • 工業領域的接受度依賴於從感測節點到資料分析和CRM的深度整合
  • 諸如MQTT、DDS、REST、XMPP標準有望利於互操作
    • 諸如低功耗藍芽、Wi-Fi和IEEE 802.15.4無線標準有助於解決物理連線問題
  • 許多開源專案有助於促進合作
  • 閉源實現將可能實現平滑互操作
    • 但是,被供應商繫結