此前的一些文章中分享LoRaWAN开发板接入腾讯云物联网开发平台的实践笔记,大部分都是使用物模型来开发,利用了平台的数据解析引擎,将设备原始数据转化成了json字符串,方便应用及小程序的开发。
不过也有存量应用已经自己完成了设备数据解析,因此这里分享下如何利用腾讯云物联网开发平台实现自定义上下行透传,以及将数据透传至第三方服务器。
腾讯云 IoT Explorer 是腾讯云主推的一站式物联网开发平台,IoT 小能手从设备侧开发、平台功能操作、应用侧开发三个部分来进行学习分享,另外还分享了一些动手实践作品及收录官方发布的产业合作案例,帮助读者更好地理解整个开发链路。详情可点击下方文章合集查看。
{
"version": "1.0",
"properties": [
{
"id": "rawdata",
"name": "透传数据",
"desc": "",
"mode": "rw",
"define": {
"type": "string",
"min": "0",
"max": "2048"
},
"required": false
},
{
"id": "fport",
"name": "端口",
"desc": "",
"mode": "rw",
"define": {
"type": "int",
"min": "1",
"max": "233",
"start": "1",
"step": "1",
"unit": ""
},
"required": false
},
{
"id": "confirm",
"name": "确认模式",
"desc": "",
"mode": "rw",
"define": {
"type": "bool",
"mapping": {
"0": "关",
"1": "开"
}
},
"required": false
}
],
"events": [],
"actions": [],
"profile": {
"ProductId": "A2T8Q6RJDG",
"CategoryId": "1"
}
}
将rawdata转成十六进制形式字符串。
function RawToProtocol(fPort, bytes)
{
var data =
{
"method": "report",
"clientToken" : new Date(),
"params" : {}
};
var i=0;
var allstr="", tempstr="";
while (i
调试数据测试:
function ProtocolToRaw(obj) {
var data = new Array();
var len1 = obj.params.rawdata.length/2;
data[0] = obj.params.fport; //Fport
data[1] = obj.params.confirm; //是否需要应答
//之后的数据即为Lora payload
var str=obj.params.rawdata;
var i=0;
while (i
调试数据测试:
{
"params": {
"rawdata": "1234",
"fport": 8,
"confirm": 1
}
}
实物测试,使用LoRaWAN模组进行通信测试,验证通过。
这是使用在线调试功能,直接测试下发数据的情况。
下行控制也可以通过平台提供的云API,具体见文档 https://cloud.tencent.com/document/product/1081/34973。关于下行API的调用代码,接口文档中给出了 API Explorer 工具,点击跳转即可使用。这个工具可以方便生成各个语言的调用代码。
我用工具 pipedream 做个第三方服务器的转发测试。
功能配置界面位于 基础服务 -> 数据流转 -> 服务端订阅 -> HTTP转发。
这是 pipedream 上收到的物联网开发平台发出的LoRaWAN透传数据。
将透传数据的payload进行base64解码可以看到原始数据。
That's all
IoT小能手的其他精彩文章:
* 行业围观
* 技术分享
LoRaWAN介绍 - LoRa从业者读这篇就够了
无线节点的空中唤醒技术解析
* 玩玩硬件
13块钱DIY微信小程序远程浇花神器
自制一个 LoRa PM2.5 监测器
语音控制智能家居的抽风小仓鼠
* 心得分享
文档啊,最重要的还是层次感
技术管理入门课_先做个不讨厌的人
你没中过勒索病毒,不知道备份有多重要