【LoRaWAN活动】IoT Explorer接入单通道LoRaWAN网关与终端设备 应用笔记

2021-05-27 10:34:22 浏览数 (1)

1 前言

HT-M0L 是Heltec Automation与“腾讯连连”小程序联名推出的一款小体积、低成本的单通道LoRaWAN网关,主要面向智能家居、通信方案评估等应用场景,HT-M00L具有以下特性:

  • 硬件特性
    • 由ESP32驱动SX1278芯片;
    • 内置470频段与2.4G频段弹簧天线
    • 使用Type-C接口供电
    • 收发状态RGB指示
  • 软件特性
    • 支持GWMP(UDP)协议
    • 软件LoRa解调器,实现对125KHz SF7~SF12扩频因子的监听(特色);
    • 支持单通道的LoRaWAN协议(Class AClass C}的终端设备接入
    • 可通过Web界面自定义监听频点、速率等

2 准备工作

2.1 LoRaWAN服务器-腾讯云的物联网开发平台(IoT Explorer)

LoRaWAN服务器采用腾讯云的物联网开发平台(IoT Explorer)提供的LoRa开放社区网络

  • https://cloud.tencent.com/product/iotexplorer。

2.2 LoRaWAN单通道网关

单通道LoRaWAN网关HT-M00L :

  • https://heltec-automation.readthedocs.io/zh_CN/latest/gateway/ht-m00l/index.html

2.3 LoRaWAN终端设备

  • 如果采用标准LoRaWAN节点,HT-M00L需要设置为固定速率(即MAX SF = MIN SF)。
    • Preamble = 8
  • 如果需要单通道LoRaWAN网关支持多速率,则需要修改LoRaWAN终端设备的Premble
    • Preamble= 16

3 基于腾讯云物联网开发平台搭建LoRaWAN网络

登录腾讯云物联网开发平台(IoT Explorer),腾讯云物联网开发平台LoRaWAN产品开发流程如下图所示

  • https://cloud.tencent.com/product/iotexplorer

腾讯云物联网开发平台LoRaWAN产品开发流程

首先在 物联网开发平台 ->“公共示例”-> "新建项目",比如新建项目为 LGW_SC01_M00L

接下来,在新建的项目“LGW_SC01_M00L”下面完成以下两类操作:

  • 一是LoRa网络搭建(服务中心)
  • 二是应用产品开发(开发中心)

3.1 服务中心

“服务中心”->“网络管理”->“LoRa网关管理”可用于搭建LoRaWAN网络与服务。

3.1.1 LoRa网关管理

点击“服务中心”->“网络管理”->“LoRa网关管理”,即可进入LoRa社区网络。

“LoRa网关管理”-->“社区网络”-->“添加网关”,填写LoRa网关的相关信息

  • GwEUI
    • HT-M00L的网关ID

注意GwEUI必须与实际所使用LoRa网关EUI保持一致,否则LoRa网关将加入不了LoRa社区网络。

3.1.2 对接LoRaWAN网关

LoRaWAN网关是LoRaWAN终端设备与LoRaWAN服务器(腾讯云物联网开发平台)相互通信的桥梁。

3.1.2.1 配置网关

网关采用的是HT-M00L,首先进入网关的Web配置界面

  1. 保持”USR”键处于按下状态,单次按下”RST”并松开
  2. 待RGB灯变成黄绿色后,松开”USR”键。此时网关将创建一个名为”M00L_XXXX”的WiFi。
  3. 将电脑或手机接入此WiFi,密码heltec.org,在浏览器中输入”192.168.4.1”,进入网关配置界面。

  • WiFi名称 – HT-M00L网关将接入的WiFi名称,配置提交后,将通过此WiFi连接腾讯云;
  • WiFi密码 – HT-M00L网关将接入的WiFi密码;
  • 信道频率Hz – 该网关LoRa将要监听的频率,该频率必须与服务器、节点发射频率相对应;
  • 最小扩频因子(MIN SF:7~12) – LoRa通信的最小扩频因子;
  • 最大扩频因子(MAX SF:MIN SF ~12) – LoRa通信的最大扩频因子,该值必须大于等于“最小扩频因子”;
  • 网关ID – 网关的唯一序列号,根据硬件Mac地址自动产生,已绑定;
  • 服务器地址 – 已绑定腾讯云;
    • loragw.things.zijiebao.com
  • 端口号 – HT-M00L网关与LoRa服务器通信的端口,已绑定为1700;
  • 时区 – 网关所在位置的时区。
3.1.2.2 用户自定义频点

单通网关,可根据实际需要添加自定义频点模板,以更好的适配单通道LoRaWAN网关

3.1.2.3 添加网关

“频点信息”这里选择“3.1.2.2”定义的单通道频率模板。

3.1.2.4 查看网关状态
  • 网关配置完成并保存后自动复位网关,或者按RST按键重启网关
  • 在用户网关界面就能看到网关在线
  • 进入“物联网开发平台”-->“服务中心”-->“LoRa网关管理”-->“用户网关”,选中目标网关,查看该LoRa网关的当前状态信息(如网关名称、GwEUI、最后上报时间等等

3.2 开发中心

腾讯云物联网开发平台“开发中心”可用于创建基于LoRaWAN终端设备的应用产品。

3.2.1 新建产品

点击 “开发中心” ->“新建产品”,在“新建项目”页面填入产品的相关信息

  • 通讯方式 LoRaWAN

创建完产品后,就可以根据实际产品需求,按照产品开发流程向导,完成所需要内容。

3.2.1.1 数据模板

“数据模板”允许用户根据项目实际需要定义物模型。

注意: 必须正确定义数据模板,才能在“4 设备调试”正常显示设备上报的数据,否则即使终端侧通信正常,物联网开发平台侧也只能看到有数据上报行为(上行帧序列号下行序列号会发生变化),但未显示预期的内容。

3.2.1.2 设备开发

“设备开发”可用于配置LoRaWAN的部分通信参数(协议版本、入网方式、设备类型、RX1 Delay、频率模板等)

“云端解析”可用于定义二进制数据(终端侧)与JSON数据(平台侧)格式相互转换的JS脚本。

上行数据解析脚本示例

代码语言:javascript复制
function RawToProtocol(fPort, bytes) {
    var data = {
        "method": "report",
        "clientToken" : new Date(),
        "params" : {}
    };

    data.params.period = bytes[2] | (bytes[3] << 8);
    data.params.temperature = ( bytes[8] | (bytes[9] << 8) )/100;
    data.params.humidity = ( bytes[10] | (bytes[11] << 8) )/100;
    return data;
}

function RawToProtocol(fPort, bytes) {
    var data = {
        "method": "report",
        "clientToken" : new Date(),
        "params" : {}
    };
    data.params.temperature = bytes[0];
    data.params.humidity = bytes[1];
    data.params.period = bytes[2] | (bytes[3] << 8);
    return data;
}
3.2.1.3 交互开发

“交互开发”提供配置"腾讯连连"小程序等服务

  • 在”交互开发”——>"配置小程序"->配置设备信息"显示面板"。
  • 节点和网关正确配置完成后
  • 打开“设备调试”页面对应设备的”二维码”,通过”腾讯连连”小程序扫描该设备二维码可快速添加设备。
  • 设备添加完成后,可在”腾讯连连”小程序点击对应设备查看设备数据。
3.2.1.4 设备调试

“设备调试”可用于添加待接入的LoRaWAN终端设备,填写设备DevEUI与设备密钥(AppKey),以便进一步调试验证。

“设备调试”可以查看到“设备日志”、“设备事件”、“设备上下行日志”等信息。

“在线调试”可以进行查看上行数据(必须符合数据模板中定义的数值范围),下发下行数据包

4 参考

  • 惠利特Heltec官方文档
    • HT-M00L快速入门
    • HT-M00L单通道网关简介
    • 准备工作
    • 在腾讯云上注册设备(云平台操作)
    • 配置设备(硬件操作)
    • 验证通信
    • 展示数据
    • LoRaWAN 用户自定义频点
  • 腾讯云 HT-M00L 单通道网关接入指引

0 人点赞