本文简单介绍了基于阿里云提供的网关SDK进行网关设备快速接入,建立与Alibaba Cloud Link WAN平台连接通道,目标为帮助网关设备厂商快速了解设备接入的流程。
下载代码
使用阿里云账号登录官网后,通过工单咨询的方式获取Link WAN 网关SDK。
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_vX.X.X.pdf。
网关接入要求
详情请参见网关接入规范文档:docs/阿里云Link WAN网关接入规范vX.X.X.pdf。