AliOS Things网络连接技术概述
摘要: AliOS Things具有非常豐富的連接組件和能力,主要包括: 自組織網絡協議(uMesh), 套接字適配層(SAL),TCP/IP網絡協議棧(LwIP)和連接協議(WiFi,BLE, LoRaWAN, GPRS和NB-IoT等)
AliOS Things 是 AliOS 家族旗下的、面向 IoT 領域的、輕量級物聯網嵌入式操作系統。 AliOS Things 致力于搭建云端一體化 IoT 基礎設施,具備極致性能、極簡開發、云端一體、豐富組件、安全防護等關鍵能力,并支持終端設備連接到阿里云 Link,可廣泛應用在智能家居、智慧城市、新出行等領域。
AliOS Things不僅是一個傳統的RTOS,而是一個具有豐富組件的,云端一體的運行在嵌入式MCU上的嵌入式操作系統。它具有豐富的連接組件和能力,主要包括:
自組織網絡協議(uMesh)
套接字適配層(SAL)
TCP/IP網絡協議棧(LwIP)
連接協議(WiFi,BLE, LoRaWAN, GPRS和NB-IoT)
自組織網絡(uMesh),套接字適配層(SAL)和TCP/IP網絡協議棧(LwIP)主要是功能和使用場景的介紹。連接協議部分除了功能性介紹,還會根據場景給出AliOSThings網絡組件的建議使用方法。
自組織網絡
AliOS Things核心組件之一uMesh提供了AliOS Things原生自組織網絡能力,提供了AliOS Things本地互聯互通的能力。uMesh具有自組織、自修復、多跳的特性。適用于需要大規模部署的場景。主要功能特性包括:
無縫支持IPv4 和IPv6
支持WiFi、BLE和802.15.4等通信媒介
支持不同通信媒介間的異構組網
支持樹狀拓撲和網狀拓撲
支持低功耗特性
使用ID2對設備進行認證,AES-128對數據進行加密
uMesh自組織網絡協議位于MAC層之上,及IP層之下。整個協議包括三個部分,協議核心部分,連接協議抽象層,及IP協議適配層。如下圖所示。
uMesh適用于需要大規模部署的場景,如室內定位,智能照明,及商業場景。目前,主要支持WiFi,正在開發對低功耗和BLE mesh的支持。
套接字適配層
AliOS Things為了能夠適配不同的連接協議,和不同連接芯片的能力,提供了SAL開發組件,來加速MCU+通信連接芯片的應用場景開發和部署。在此類應用場景中,主控MCU芯片通過UART或SPI總線與WiFi、NB-IoT等通信芯片相連,AliOS Things操作系統和用戶APP運行在主控MCU中,需要網絡數據訪問時,通過外接的通信芯片進行網絡負載的接收和發射。主控MCU和外接通信芯片之間的通信,可以是AT Command通道,也可以是廠商私有協議通道。主要設計方案如下圖。
IP網絡協議棧
AliOS Things IP網絡協議棧是基于LwIP 2.0.0,深度定制和優化的TCP/IP協議棧,主要功能特性包括:
IPv4
IPv6
ICMP (Internet Control Message Protocol)
UDP (User Datagram Protocol)
TCP(Transport Control Protocol)
ARP (Address Resolution Protocol)
NDP(Neighbor Discovery Protocol)
MLD (Multicast Listener Protocol)
IGMP (Internet Group Management Protocol)
DHCP client
TFTP Server
TFTP Client
除了上述提供的功能特性,還對TCP/IP協議棧在多并發連接,大數據量條件下進行了深度優化。
連接協議
AliOS Things支持豐富的連接芯片和協議,目前主要支持WiFi,BLE和LoRaWAN,并且在不斷添加新的支持。
WiFi
WiFi協議棧通常由芯片廠商提供,AliOS Things提供了極簡的WiFi HAL層,開發者完成HAL對接后,即可使用AliOS Things提供的豐富的應用層功能組件。同時,AliOS Things也支持外接WiFi通信芯片,由SAL(Socket Adapter Layer)完成對接和抽象。完成SAL對接后,開發者同樣可以使用豐富的應用層功能組件。
WiFi芯片是目前支持最廣泛的連接芯片之一。主要可以分為四種不同類型:
集成WiFi芯片,不支持TCP/IP協議棧
集成WiFi芯片,支持TCP/IP協議棧
外接WiFi芯片,不支持TCP/IP協議棧
外接WiFi芯片,支持TCP/IP協議棧
根據這四種不同的形式,AliOS Things提供了不同的功能組件組合,如下表。LwIP和SAL是根據WiFi芯片類型的必選項。WiFi配網和WiFi uMesh的支持是根據實際的需要。
LoRaWAN
LoRaWAN組件支持端側Class A和Class C兩種模式,開發者可以利用LoRa接口實現端側與服務端數據的收發。開發者可以使用AliOS Things的LoRaWAN sample完成與LoRa網關和服務器之間的基本連接和通信。
LoRa通常是MCU外接Semtech LoRa芯片。目前AliOS Things已經集成支持sx1276,芯片開發者可以直接使用AliOS Things提供的LoRaWAN協議棧進行開發。如果外接其它Semtech LoRa芯片,可以根據AliOS Things集成的LoRa radio層接口完成接口的對接。
AliOS Things LoRaWAN協議棧不僅提供端上LoRaWAN協議,同時也提供整套測試環境,開發者使用AliOS Things LoRaWAN協議棧完成開發后,可以利用AliOS Things提供的測試環境進行前期測試和驗證。應用示例測試環境搭建和使用請猛戳這里。
目前,LoRaWAN開發者可以使用LoRa協議層接口進行開發。我們正在根據LoRa應用及場景特點,開發應用層接口,讓應用開發者使用了AliOS Things LoRa接口后,做到極簡開發,不需要過多的理解LoRaWAN協議細節。
Bluetooth
目前,BLE組件已經在mk3239上支持Bluetooth 4.2,應用編程框架和應用框架接口。應用編程框架對BLE協議細節進行抽象,對應用開發者提供應用框架接口。應用開發者不再需要關心BLE協議棧細節,專注于業務邏輯開發,做到極簡開發。對于網絡開發者,BLE組件提供完整的協議層接口,供網絡開發者使用完整的BLE協議能力。
應用框架主要提供能力包括:
BLE連接的建立
傳感器數據的讀取和更新
廣播數據
開發者可以根據應用開發框架提供的接口,將外設采集到的數據由GATT服務端發送到GATT客戶端。提供應用開發框架最主要的原因是藍牙應用開發者很有可能不希望花費精力在藍牙技術的細節上,而是希望通過極簡的接口快速搭建起自己的應用。目前,AliOS Things提供外設端的應用開發接口,主要解決傳感器數據的讀取和更新,開發者可以利用這套接口在mk3239上快速搭建基于藍牙的應用。
我們正在加速豐富應用開發框架,開發Bluetooth 5.0,并擴展藍牙芯片支持的規模,同時uMesh也正在加入BLE mesh支持,它將完全兼容SIG BLE mesh。
GPRS和NB-IoT
目前,NB-IoT和GPRS作為通信芯片外接在運行AliOS Things主芯片上,通過SAL對接到通信芯片的AT命令集已經可以支持。
對于NB-IoT和GPRS作為AliOS Things支持協議族一部分,直接運行在一塊SoC的相關工作正在進行中。
總結
AliOS Things提供了豐富的連接組件和能力。包括近場、遠場通信芯片和協議的支持,網絡協議棧,自組織網絡及應用層物聯網協議,并在快速持續演進中。
總結
以上是生活随笔為你收集整理的AliOS Things网络连接技术概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Gartner:全行业投入人工智能,计算
- 下一篇: 云上更安全?亚马逊云科技宣布将持续加大在