资讯详情

LoRaWAN 全球区块链 Helium 网络接入腾讯云IoT 物联网平台实战

Helium People’s Network 是一个全球性、分布式的开放网络。通过热点网关,可以支持 LoRaWAN 协议的物联网设备提供公共无线网络覆盖,使物联网设备更容易访问互联网并传输数据。

本文介绍Helium Console使用标准LoRaWAN终端加入到Helium People’s Network,并通过腾讯云IoT Explorer物联网开发平台集成,在微信公众号以及腾讯连连小程序推送消息和展示数据。

01

准备工作

设备准备:

  • 一台Helium Miner LoRaWAN网关

  • 一个标准LoRaWAN CN470 OTAA中国使用的终端频点信息如下表所示:

  • 本文使用Rejeee以温湿度传感器为参考示例:

02

Helium Console使用

2.1创建Helium Console 账户

登陆Helium 可使用控制台注册用户google账户直接登录或通过电子邮件创建新账户。新账户完成后,您需要登录注册电子邮件进行确认。确认后,您可以使用新账户登录Helium Console 控制台。

https://console.helium.com

注册Helium Console帐户,成功登录Helium Console控制台:

2.2 数据积分(Data Credits)

使用Helium People’s Network 需要发送和接收数据Data Credits(简称DC),新账户正式赠送1万元DC, 每1DC可以发送24byte数据.

假设一个LoRaWAN终端每5分钟发包一次,每包24次Byte,所以1美元,即6美元.5元RMB每5分钟发送10万个数据包,可持续发送1年。

1 DC = 24 Byte Packet = $0.00001 USD

若账户中DC消耗完,需要通过燃烧HNT来获取DC,否则,数据无法通过网络接收和发送。

Data Credits:

2.3 添加设备(Add Devices)

  • Helium People’s Network 仅支持LoRaWAN OTAA设备和固定Region频点计划;

  • 从设备制造商处获取LoRaWAN设备三元组信息:Deveui、Appeui、Appkey,如下图所示Console添加设备信息;

  • 当设备第一次加入网络时,需要将密钥添加到区块链中,并将更新的区块发送到热点网关,最多需要20分钟;

添加设备三元组:

设备成功进入网络,并报告数据:

2.4 解码应用数据(My Functions)

在最后一步中,我们已经获得了设备上报的原始数据,下面我们需要分析原始数据,使这部分数据更容易读取,Helium Console 提供My Functions 通过这个功能,你可以通过一个简短的脚本文件Hex数据转化为更容易读取的数据Json格式数据,比如:上报Hex数据:00 3e 24 04 01 00 05 3a, 分析数据:{ "power": 30,"temp_value": 25.6,"hum_value": 58 }

  • Step 1 :创建函数名称, decoder、Customer Script

  • Step 2 :创建函数脚本,并通过右脚本验证器调试输出结果

My Funcitons 配置:

2.5 应用集成(Integrations)

Helium Console 支持各种应用程序集成方案呈现数据,但大多数集成是海外工具,不适用于中国,这里我们将介绍MQTT与腾讯云集成工具IoT explorer结合物联网开发平台,腾讯和微信公众号通过腾讯系统下的微信小程序呈现数据和报警信息。

呈现的数据包括两类:

  • 应用payload这里使用温湿度数据

  • 网络信息包括上传的网关信号强度、信噪比、帧序列号等

03

腾讯云IoT使用开发平台

3.1在腾讯云IoT创建开发平台MQTT接入终端

Step 1:登录腾讯云物联网开发平台,创建项目和产品

  • 产品名称:输入用户定义产品名称;

  • 产品类型:选择用户自定义;

  • 设备类型:选择设备;

  • 认证方法:选择密钥认证;

  • 通信方式:选择其他

新建产品:

Step 二、配置模型

  • 网络相关数据

    • rssi:信号强度

    • snr:信噪比

    • frequency:上报数据使用频点

    • dev_eui:Deveui,设备EUI编号

    • fcnt:帧序列号

    • channel:信道编号

    • name:网关名称

    • spreading:扩频因子

  • 应用数据

    • power:剩余电量

    • temp_value:温度

    • hum_value:湿度

提供模型文件样本JSON格式文件通过下图直接导入产品。

https://iot-1258125146.cos.ap-nanjing.myqcloud.com/helium_iotmodel.json

导入模型文件:

成功导入模型文件:

Step 3 :创建MQTT设备

  • 新设备:创建新设备,使用设备名称helium console设备名称,

  • 获取设备信息(用于创建)MQTT连接帐户和密钥)

    • 设备名称

    • 产品ID

    • 设备密钥

Step 4:创建MQTT连接使用的帐户和密钥

腾讯云通过个设备生成唯一的密钥,通过Step 3 创建获得的信息MQTT域名、名、帐户、密码。生成方法有以下两种:

  • 通过password获取生成工具

参考链接:https://cloud.tencent.com/document/product/1081/46507

password生成工具:

  • 通过python、C语言、Java等各种语言脚本生成

    参考链接:https://cloud.tencent.com/document/product/634/32546?from=10680

获取MQTT连接账户、密钥、域名和Topic:

  • username

  • password

  • 域名:Product_ID.iotcloud.tencentdevices.com

  • 上行Topic:$thing/up/property/Product_ID/${deviceNames}

  • 下行Topic:$thing/down/property/Product_ID/${deviceNames}

3.2 Helium Console 创建MQTT集成

Step 1 :Helium Console 创建MQTT集成

Step 2 :配置MQTT连接信息, 使用上一步获取的账户、密钥、域名等信息填入下述规则 

  • Endpoint: mqtt://username:password@mqtt.example.com:1234

  • uplink Topic:$thing/up/property/PRODUCT_ID/{ {device_name}}

  • downlink Topic:$thing/down/property/PRODUCT_ID/{ {device_name}}

MQTT 配置示例:

Step 3 :设置Integration 名称

Step 4 : 设置Json模版,需要与腾讯云配置的物模型属性对应

{
  "method":"report",
  "params":
  {
   {
     
       {#decoded}}{
     
       {#payload}}
   "power": {
     
       {power}},
   "temp_value": {
     
       {temp_value}},
   "hum_value": {
     
       {hum_value}},
  {
     
       {/payload}}{
     
       {/decoded}}
  "dev_eui": "{
     
       {dev_eui}}",
  "fcnt": {
     
       {fcnt}},
  {
     
       {#hotspots}}
  "channel": {
     
       {channel}},
  "frequency": {
     
       {frequency}},
  "name": "{
     
       {name}}",
  "rssi": {
     
       {rssi}},
  "snr": {
     
       {snr}},
  "spreading": "{
     
       {spreading}}"
  {
     
       {/hotspots}}
  }
}

Step 4 : 设置数据流Flows

Helium Console 提供了强大的Flows功能,通过图形化拖拽就可以建立设备,功能和集成之间的关系。下面我们把设备Device、解码器Fuctions、应用集成Integrations三个组件串接在一起,把数据流打通。

Helium MQTT集成 成功与腾讯云IOT建立连接:

腾讯云成功获取到设备终端数据

3.3 配置腾讯连连小程序

腾讯连连提供官方小程序,用户无需关注底层实现,只需通过配置专属交互界面,即可实现小程序应用开发,通过小程序快速呈现数据,提高开发效率。

Step 1 : 进入腾讯云IoT控制台,在交互开发中配置腾讯连连呈现数据面板,可以选择面板样式,并通过右侧面板预览

Step 2 : 在微信中搜索并打开腾讯连连小程序,扫描设备二维码,将设备添加到腾讯连连小程序中

Step 3 : 腾讯连连小程序中点击设备,可以观察到设备上报数据

3.4 腾讯云数据开发,实现公众号数据推送

腾讯云IoT可以满足开发者根据设备上报的数据及状态,通过在云端定义规则,即可实现将告警、通知消息实时推送至腾讯连连公众号或 App 推送,降低开发者处理设备上报数据的成本。下面通过简单的案例来实现公众号推送。

数据开发配置参考链接:https://cloud.tencent.com/document/product/1081/40292?from=10680

Step 1: 新建数据开发

Step 2: 设置推送到设备数据

Step 3:设置过滤规则

Step 4:设置公众号推送

Step 5: 关注腾讯连连公众号,获取数据推送信息

1、HarmonyOS到底是不是Android套壳?

2、2021国内主流 IoT 物联网平台研究报告

3、IoT平台如何实现大规模设备控制

4、如何成为 IoT 物联网万亿市场的操盘人

5、IoT物联网 4 本好书推荐

标签: lorawan无线温度传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台