本文简单介绍了基于阿里提供的网关SDK进行网关设备快速接入,建立与Alibaba Cloud Link WAN平台连接通道,目标为帮助网关设备厂商快速了解设备接入的流程。

下载代码

代码库提供稳定版的网关SDK。进入代码库可选择直接下载zip文件,或者在代码库中设置好SSH登录方式获得代码。

说明 SDK中modules/pktfwd是基于semtech官方的LoRaWAN协议栈已增加了阿里修改的功能patch,厂商可以根据自己平台需要合入相应代码到SDK中。

修改配置文件

make.settings为编译配置脚本文件,配置选项说明如下: 厂商根据自己本地的toolchain路径、toolchain对应的host修改以下2个配置。

export __PATH__=\$(pwd)/toolchain/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09\_linux/bin:\$PATH
export __BUILDHOST__=arm-linux-gnueabihf

编译

./build.sh all
说明 编译后生成的最终文件在out目录下。

配置网关三元组

auth\_key.json为网关三元组配置文件,厂商根据自己所申请到的网关三元组进行加密后修改相应配置项。

说明 网关三元组可在Link WAN密钥管理控制台购买取得。

运行

运行mqtt日志输出如下,表示网关上下行已联通。

mqtt.c-publish\_gwmp\_msg\_uplink:356__publish mqtt gwmp msg__
mqtt.c-event\_handle:156__publish success__, packet-id=16checkCnt=1
mqtt.c-callback\_gwmp\_msg\_downlink:469__received mqtt gwmp msg__
mqtt.c-callback\_gwmp\_msg\_downlink:477__send gwmp msg__            

架构总览

从底部到顶部,采用分层架构,包括:

  • 硬件层:由厂商网关硬件提供。
  • OS层:基于Linux系统。
  • HAL层:SX1301/1308驱动(libloragw)。
  • 上层:包括LoRaWAN协议栈packet_forwarder、IPC通讯、系统服务、系统应用。

目录结构

目录名称 内容描述
external SDK使用的第三方开源库,包括:cJSON、dbus、hiredis和libexpat。
libraries 阿里所提供的库,包括:iotx-sdk-c和ipc-bus。
modules LoRa网关功能模块,包括:mqtt和pktfwd。
packages 预先编译的功能模块。
make.settings SDK编译配置脚本。
build.sh 编译SDK的命令脚本。
docs SDK文档,包括:网关接入规范文档、 SDK使用手册。
README.md 编译说明。

SDK使用说明

详情请参见SDK使用手册:docs/loragw\_sdk\_manual.pdf

网关接入要求

详情请参见网关接入规范文档:docs/阿里云Link WAN网关接入规范.pdf