AliOS Things是面向IOT領域的輕量級物聯網嵌入式作業系統。2017年10月20日, AliOS Things正式開源。AliOS Things支援多種CPU架構,包括:ARM,C-Sky,MIPS,RISCV等,下圖是AliOS Things的系統框架圖,架構圖中跟網路連線相關的模組有網路元件、藍芽元件、連線協議族。從官網的描述看到AliOS Things支援的連線協議包括區域網連線(WiFi、BLE、Ethernet等)、廣域網連線(NB-IoT、LoRa、2G/3G/4G等)、網路應用協議(LwIP、HTTP/s、MQTT、CoAP、WebSocket等)。
AliOS Things架構(圖片來源於https://gitee.com/mirrors/AliOS-Things)
藍芽
在AliOS Things的開原始碼中可以看到,藍芽元件支援BLE Host(4.0/4.2/5.0協議規範)和BLE Mesh。BLE Host支援Generic Access Profile(GAP),Generic Attribute Profile(GATT),Security Manager(SM)和HCI介面。 BLE Mesh支援Bluetooth Mesh Profile 1.0版本規範所定義的從bearer layer到Model layer各個層級的功能。
AliOS Things BLE Mesh主要支援的特性包括:Bluetooth Mesh配網,PB-ADV,PB-GATT,relay,proxy,friend,LPN,Configuration Client Model & Configuration Server Model,Mesh Controlled Relay。更多關於AliOS Things藍芽元件的介紹可以參考如下連結。
https://gitee.com/mirrors/AliOS-Things/tree/master/components/ble_mesh
https://gitee.com/mirrors/AliOS-Things/tree/master/components/ble_host
連線協議族
從開原始碼看到,連線協議族支援的協議包括WebSocket、HTTP、CoAP、MQTT、DTLS、LwIP、WiFi、ModBus、Ethernet、GPRS、nb-iot、LoRa。
CoAP/MQTT/DTLS/LwIP協議:在上一篇博文中已做簡要介紹,在這裡不做贅述。
WebSocket協議:瀏覽器和伺服器只需要完成一次握手,兩者之間就可以建立永續性的連線,並且允許服務端主動向客戶端推送資料,相比HTTP更高效。WebSocket通訊協議於2011年被IETF定為標準RFC 6455。關於WebSocket的詳細資訊可以參考:https://datatracker.ietf.org/doc/rfc6455/
ModBus協議:是一種序列通訊協議,由Modicon公司於1979年為可程式設計邏輯控制器(PLC)通訊而推出。Modbus是工業領域通訊協議的重要標準。關於Modbus的詳細資訊可以參考:https://www.modbustools.com/modbus.html
LoRa協議:是semtech公司推出的低功耗無線廣域網協議,它最大特點就是在低功耗條件下實現無線遠距離傳輸,當前LoRa協議由LoRaWAN聯盟維護。關於LoRa協議的詳細資訊可以參考:https://lora-alliance.org/
GPRS(General Packet Radio Service),即通用分組無線服務,是基於2G系統的無線分組技術,可以提供低速的資料連線。nb-iot(narrow band iot),即窄帶iot,是基於4G系統的低成本低功耗協議。這兩個協議都出自於3GPP(3rd Generation Partnership Project,即第三代合作伙伴專案,它是一個行動通訊領域國際組織,2G/3G/4G/5G協議都是由這個組織釋出),在AliOS things系統中沒有實現相關的協議棧,需要整合相應的模組來實現。
上述協議連線能力透過Link SDK提供給裝置廠商,裝置需要支援TCP/IP協議棧才能整合Link SDK。另外,類似於Zigbee的非IP裝置需要透過集成了Link SDK的閘道器接入到網路。
關於連線協議族相關的詳細資訊可以參考如下連線:
https://gitee.com/mirrors/AliOS-Things/tree/master/components/linkkit
https://gitee.com/mirrors/AliOS-Things/tree/master/components/linksdk