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

news2024/12/27 5:19:06

前言

之前有一篇文章介绍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.coloradmin.cn/o/425405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大话数据结构-C(1)

一:数据结构绪论 1.1 数据: 描述客观事物的符号,计算机中可以操作的对象,能被计算机识别并输入给计算机处理的符号集合。 1.2 数据元素 是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记…

Linux系统如何设置开机自启脚本

Linux系统开启自启脚本的配置,我这里记录了三种办法,对于绝大多数linux系统,这三种方法里肯定有合适的。 1. 设置/etc/rc.local文件 /etc/rc.local文件是 /etc/rc.d/rc.local文件的软连接,rc.local文件本质上就是一个shell脚本 …

电商TO B背后:谁在重构产业带?

在这盘产业带大旗里,京东、淘宝、拼多多正在成为鲜活的新注解。 作者|思杭 编辑|皮爷 出品|产业家 有一座城,这里的百姓在40年前靠“鸡毛换糖”起家,他们聚集了全国各地的商品,再转卖出去。这样一来,就形成了销路…

金三银四最近一次面试,被阿里P8测开虐惨了.....

都说金三银四涨薪季,我是着急忙慌的准备简历——5年软件测试经验,可独立测试大型产品项目,熟悉项目测试流程...薪资要求?5年测试经验起码能要个20K吧 我加班肝了一页半简历,投出去一周,面试电话倒是不少&a…

itop-3568开发板驱动学习笔记(17)内核中断

《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录中断基础中断中断上下文中断号中断源类型内核中断 API获取中断号中断申请释放中断禁止中断使能中断实验程序中断基础 中断 CPU 在正常运行期间,由外部或者内部引起的事件,让 CPU 停下…

研报精选230411

目录 【行业230411华安证券】智能家居行业深度:ChatGPT等大模型催化智能家居行业进一步发展【行业230411信达证券】食品饮料行业2023年第12周周报:从当前时间点看今年液奶的投资机会【行业230411东方财富证券】食品饮料行业专题研究:BC两端需…

2023年信息安全推荐证书

随着网络安全行业的不断升温,相关的认证数量也不断增加,对于在网络安全行业发展的人才来说,提升职业竞争力最有效的办法之一,就是取得权威认证。 那么如何从繁多的适合网络安全从业者的证书中选择含金量高、发展潜力大的证书&…

Java分布式事务(七)

文章目录 🔥Seata提供XA模式实现分布式事务_业务说明🔥Seata提供XA模式实现分布式事务_下载启动Seata服务🔥Seata提供XA模式实现分布式事务_搭建聚合父工程构建🔥Seata提供XA模式实现分布式事务_转账功能实现上🔥Seata提供XA模式实现分布式事务_转账功能实现下🔥Se…

什么是车规级芯片?

目录 1、AEC-Q系列标准 2、ISO26262功能安全标准 芯片按照应用场景,通常可以分为消费级、工业级、车规级和军工级四个等级,其要求依次为:军工>车规>工业>消费。 车规级芯片,顾名思义,是应用到汽车中的芯片…

GMP调度

目录 A1 基础 协程 映射关系 N:1关系 1:1关系 M:N关系 概念 G M P go协程 GM模型 GMP模型 设计策略 复用线程 并行利用 抢占 全局G队列 "go func()"调度过程 ​编辑 特殊的M0和G0 M0 G0 Go调度器执行过程全解析 场景1 场景2 场景3 场景…

栈实现学生信息管理(C语言)

文章目录Stack.hmain.cStack.c用栈实现学生信息管理。这里放一下有哪些文件。Stack.h #pragma once防止库函数的重复引用,因为库函数会在预编译的时候在程序中展开,会增大程序的体积。   通过typedef对数据重命名,之后需要修改数据就十分方…

C/C++|物联网开发入门+项目实战|C语言基础|玩转c代码---从输入输出开始-学习笔记(6)

文章目录玩转c代码---从输入输出开始参考教程:C语言编程:一本全面的C语言入门教程(第3版)第16章需要掌握的内容需要了解的内容常见的人机交互接口串口的输入输出PC常用的几个输入输出函数示例代码3 printf函数使用难点分析A.格式控制字符串的基本形式:示…

【毕业论文】| 基于Unity3D引擎的冒险游戏的设计与实现

📢博客主页:肩匣与橘 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由肩匣与橘编写,首发于CSDN🙉 📢生活依旧是美好而又温柔的,你也…

NVIDIA CUDA核函数编写注意事项之In-place

CUDA系列文章目录 文章目录CUDA系列文章目录前言总结参考资料前言 CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是其对于GPGPU(A General-Purpose Graphics Processing U…

【源码解析】JDK 动态代理实现

基本流程 主方法 在该方法中,我们呈现了在日常使用 JDK 动态代理机制的方法。 public class VehicleDynamicProxy { /** * 被代理对象 */ public Vehicle targetVehicle; public VehicleDynamicProxy(Vehicle targetVehicle) { this.targetVehicle target…

注册中心要集成 SpringCloud实现负载均衡,需要哪些接口和规范?

前几天有个大兄弟问了我一个问题,注册中心要集成SpringCloud,想实现SpringCloud的负载均衡,需要实现哪些接口和规范。 既然这个兄弟问到我了,而我又刚好知道,这不得好好写一篇文章来回答这个问题,虽然在后面…

Omniverse Extensions Command 写在其他.py 文件内 导致找不到Command 无法运行 不生效 的解决方案

提要: Command扩展不在extension.py内 例如我的Command:ScatterCreatePointInstancerCommandLJ 在 commands.py 内 然后使用时报错: 2023-04-10 18:16:11 [Error] [omni.kit.commands.command] Cant execute command: "ScatterCreat…

基于springboot和ajax的简单项目 05 日志界面的查找功能

01.这个是基于input标签的查找功能。 02.修改更新table标签的函数,把username这个参数,加到getjson函数的params中,实现依靠username来查询数据。 var username$("#searchNameId").val();//如下语句的含义是什么?动态在…

STM32F4_PWM输出详解

目录 1. PWM简介 2. PWM原理 3. 定时器PWM输出比较 4. 定时器PWM捕获/比较通道 5. PWM输出相关寄存器 5.1 捕获/比较模式寄存器 TIMx_CCMR1 5.2 捕获/比较使能寄存器 TIMx_CCER 5.3 捕获/比较寄存器 TIMx_CCR1~4 5.4 刹车(断路)和死区寄存器 TIMx_BDTR 6. 库函数配置…

【Python_Scrapy学习笔记(一)】Scrapy框架简介

Scrapy框架简介 前言 Scrapy 框架是一个用 python 实现的为了爬取网站数据、提取数据的应用框架,使用 Twisted 异步网络库来处理网络通讯,可以高效的完成数据爬取。本文主要介绍 Scrapy 框架的构成与工作原理。 正文 1、Scrapy安装 Windows安装&…