当前位置: 首页 > news >正文

腾讯云物联网开发平台 LoRaWAN 透传接入 更新版

前言

之前有一篇文章介绍LoRaWAN透传数据,不过还是用物模型+云端数据解析脚本,不是真正的透传。腾讯云物联网开发平台也支持对LoRaWAN原始数据的透传、转发。今天来介绍下。

腾讯云 IoT Explorer 是腾讯云主推的一站式物联网开发平台,IoT 小能手从设备侧开发、平台功能操作、应用侧开发三个部分来进行学习分享,另外还分享了一些动手实践作品及收录官方发布的产业合作案例,帮助读者更好地理解整个开发链路。详情可点此查看。

1 云控制台操作

创建产品、配置LoRaWAN基础参数、创建设备。这样即可,不用做过多配置。

原本的 设备开发-云端解析 页面中 “设备数据解析功能” 不需要打开,默认也是关闭的。

2 实物透传测试

实物测试,使用LoRaWAN模组进行通信测试,验证通过。

上行通信

设备调试-设备云端日志-内容日志 页面中,选择日志类型为“二进制透传”则可以看到相关的透传数据,是经过base64编码的数据。设备调试-设备云端日志-透传日志-原始日志 页面中,也能看到经过base64编码的原始数据。

25d950c394fd2ee3547a09a625a8ca5a.png

下行通信

下行控制可以通过平台提供的云API,具体见文档 设备透传指令控制。关于下行API的调用代码,接口文档中给出了 API Explorer 工具,点击跳转即可使用。这个工具可以方便生成各个语言的调用代码。

下面是下行通信示例:假设我要下发“1234”的字符串,对应原始数据是0x31,0x32,0x33,0x34,从LoRa通道下发的话还得增加上 FPort 和 MType 字段。

  • 第1字节:下发给设备的 LoRaWAN 协议数据的 FPort 字段。

  • 第2字节:bytes 为下发给设备的 LoRaWAN 协议数据的 MType(0表示 Unconfirmed Data Down,1表示 Confirmed Data Down)。

因此,原始下行HEX数据补齐为:07 00 31 32 33 34。

API请求格式参考:

{
"Action": "PublishMessage",
"ProductId": "yourProductID",
"DeviceName": "yourDeviceName",
"Topic": "$thing/down/raw/yourProductID/yourDeviceName",
"Payload": "BwAxMjM0",
"PayloadEncoding": "base64"
}

设备侧实测收到下行数据:

time="2023-04-10T16:23:12+08:00" level=debug msg="downlink phypayload: {\"mhdr\":{\"mType\":\"UnconfirmedDataDown\",\"major\":\"LoRaWANR1\"},\"macPayload\":{\"fhdr\":{\"devAddr\":\"20201107\",\"fCtrl\":{\"adr\":true,\"adrAckReq\":false,\"ack\":true,\"fPending\":false,\"classB\":false},\"fCnt\":5577,\"fOpts\":[{\"bytes\":\"A0D/AAEFAEgaTQ==\"}]},\"fPort\":7,\"frmPayload\":[{\"bytes\":\"MTIzNA==\"}]},\"mic\":\"093c7f4a\"}\n"

MTIzNA== 经过 Base64 解码,得到 HEX 数据:31 32 33 34

3 数据转发到第三方服务器

自定义透传可以将数据转发到第三方服务器,或者消息队列CKafka。注意,自定义透传设备不能将数据转发到 云MySQL,因为非物模型协议,无法落表。

具体转发到第三方服务器的操作可以参考:https://cloud.tencent.com/document/product/1081/61105

规则引擎配置

功能配置界面位于 基础服务 -> 规则引擎。

筛选数据 填写参考:94311e0be9eb4111d11206bfa3324f3e.png

行为操作 填写参考:5c1c725e168e379d245c664700343b2a.png

最后的整体配置参考:

e28a07c786a3c1c011859b35ca04623b.png

工具测试

我用工具 pipedream 做个第三方服务器的转发测试。

这是 pipedream 上收到的物联网开发平台发出的LoRaWAN透传数据。

ec83fca3b0305ebe8ba09c7dc94567ab.png

将透传数据的payload进行base64解码可以看到原始数据。

eyJyYXciOiJNVEl6TkE9PSIsIm1ldGFMb1JhIjoie1wiZnJhbWVUeXBlXCI6NCxcImZQb3J0XCI6NSxcImZDbnRcIjowLFwiZnJlcXVlbmN5XCI6NDcwMzAwMDAwLFwiZHJcIjo0LFwicnNzaVwiOi03MyxcInNuclwiOi00LjMsXCJwYXlsb2FkU2l6ZVwiOjR9In0=

base64解码后得到:

{"raw":"MTIzNA==","metaLoRa":"{\"frameType\":4,\"fPort\":5,\"fCnt\":0,\"frequency\":470300000,\"dr\":4,\"rssi\":-73,\"snr\":-4.3,\"payloadSize\":4}"}

End

That's all


IoT小能手的其他精彩文章:

* 行业围观

LoRaEdge LR1120 卫星直连通信解读

深度报道 第1个从太空发回的LoRa信号(含视频)

* 技术分享

LoRaWAN介绍 - LoRa从业者读这篇就够了

干货 | LoRaWAN 协议中文版,你要的pdf来了

无线节点的空中唤醒技术解析

* 玩玩硬件

13块钱DIY微信小程序远程浇花神器

自制一个 LoRa PM2.5 监测器

语音控制智能家居的抽风小仓鼠

* 心得分享

文档啊,最重要的还是层次感

技术管理入门课_先做个不讨厌的人

你没中过勒索病毒,不知道备份有多重要

7af2168194362a4baf1da9c9d6e8c3df.jpeg

http://www.lryc.cn/news/59594.html

相关文章:

  • 4.6--计算机网络之TCP篇之TCP的基本认识--(复习+深入)---好好沉淀,加油呀
  • 一文吃透Elasticsearch
  • CPU占用率高怎么办?正确解决方法在这里!
  • ChatGPT实现用C语言写一个学生成绩管理系统
  • Swagger文档注释
  • pdf怎么转换ppt格式,两个方法转换
  • 深度学习编译器相关的优秀论文合集-附下载地址
  • vue全局使用svg
  • 每天一点C++——杂记
  • Document Imaging SDK 11.6 for .NET Crack
  • 数据挖掘(3.1)--频繁项集挖掘方法
  • 2023年信息安全推荐证书
  • 基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域应用
  • 基于ZC序列的帧同步
  • 配置NFS服务器-debian
  • 正点原子STEMWIN死机
  • PMP考试中的固定答题套路
  • STM32 学习笔记_2 下载,GPIO 介绍
  • Centos搭建k8s
  • Flutter Flex(Row Column,Expanded, Stack) 组件
  • 《深入探讨:AI在绘画领域的应用与生成对抗网络》
  • al文章生成-文章生成工具
  • 【云原生之Docker实战】使用docker部署webterminal堡垒机
  • 《低代码PaaS驱动集团企业数字化创新白皮书》-IDC观点
  • LoRA 指南之 LyCORIS 模型使用
  • [C#]IDisposable
  • ROS开发之如何使用RPLidar A1二维激光雷达?
  • 【谷粒商城之JSR303数据校验和集中异常处理】
  • 限流算法(计数器、滑动时间窗口、漏斗、令牌)原理以及代码实现
  • C++回溯算法---图的m着色问题01