前言
利用腾讯云物联网开发平台的设备数据引擎,可以非常灵活地调整设备上报上来的数据,将其转化成产品的数据模版JSON协议,方便应用的统一处理。
这篇笔记是一个示例,演示如何将四字节的设备数据转化成单精度浮点数。
腾讯云 IoT Explorer 是腾讯云主推的一站式物联网开发平台,IoT 小能手从设备侧开发、平台功能操作、应用侧开发三个部分来进行学习分享,另外还分享了一些动手实践作品及收录官方发布的产业合作案例,帮助读者更好地理解整个开发链路。详情可点此查看。
1 示例介绍
常见的两个字节的数据转化成16位整数,做个简单的移位就可以。
但如果是四字节的数据需要转化成单精度的浮点数,采用 IEEE-754 标准,需要考虑符号位、阶码和尾数,非常复杂。
例如,C1480000 为 16 进制表示一个浮点数, 为 32 位,四字节,单精度, 转换结果为: -12.5。
2 解析脚本
代码语言:txt复制function RawToProtocol(fPort, bytes) {
var data = {
"method": "report",
"clientToken" : new Date(),
"params" : {}
}
let buffer = new ArrayBuffer(4);
let s = new Uint8Array(buffer);
s[0] = '0x' bytes[0].toString(16);
s[1] = '0x' bytes[1].toString(16);
s[2] = '0x' bytes[2].toString(16);
s[3] = '0x' bytes[3].toString(16);
let view = new DataView(buffer);
data.params.all_flow_value = view.getFloat32();
return data;
}
3 调试结果
在平台的模拟调试界面输入上行测试数据:193,72,0,0
点击“运行”后得到输出结果:
代码语言:txt复制{
"method": "report",
"clientToken": "2020-06-29T10:47:54.631Z",
"params": {
"all_flow_value": -12.5
}
}
下图是界面操作截图。
END
That's all
IoT小能手的其他精彩文章:
- 行业围观 深度报道 第1个从太空发回的LoRa信号(含视频) 从工信部发文解读政府对LoRa产业的态度
- 技术分享 LoRaWAN介绍 - LoRa从业者读这篇就够了 干货 | LoRaWAN 协议中文版,你要的pdf来了 无线节点的空中唤醒技术解析
- 玩玩硬件 自制一个 LoRa PM2.5 监测器 语音控制智能家居的抽风小仓鼠 一些有关电子的好玩东西
- 心得分享 文档啊,最重要的还是层次感 技术管理入门课_先做个不讨厌的人 你没中过勒索病毒,不知道备份有多重要