本文简单介绍了基于阿里云提供的网关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