关注分享主机优惠活动
国内外VPS云服务器

阿里云开发板HaaS510解析串口JSON数据并发送属性(阿里云开发板)

总结:实验目的是向上位机发送一个字符串,通过分析提取指定的属性值,并发送给云平台。 更多信息请参见阿里云开发板响应串口命令文档。 阿里云开发板响应串口命令的第二个知识点是如何将字符串解析为关键属性值。

总结:本文演示了如何使用HaaS510从串口接收数据,从数据中提取所需的属性值,并将其发送到物联网平台。 从串口接收到的数据格式为JSON格式。

实验目的:当您通过主机向haas510发送JSON字符串时,HaaS510解析并提取指定的属性值并发送。它到云端。 平台。

硬件:haas510(2.0版本)、USB串口

软件:win7 x64、vscode

目录

软件:win7 x64、vscode

目录

p >

1.重要知识点介绍

2.编写源码

3.观察操作效果

1.关键知识点介绍

本实验以一台计算机作为上位机,主机计算机通过 USB 连接到 HaaS510。 串口。 如果您使用不同的微处理器,发送 JSON 格式的字符串就足够了,并且具有相同的效果。 这个实验有两个重要的知识点。

第一个知识点是如何将串口接收到的数据转换为字符串。 我们知道,串行通信时,接收的数据是8位格式的。 这对应于 8 位数据的数组。 该数组最初不是字符串。 可以理解为一系列的十六进制数字。 因此,在解析之前需要将这些数据恢复为字符串。

详情参见文档

阿里云开发板HaaS510响应UART串口命令 https://blog.csdn.net/youngwah292/article/details/120377994 ?spm=1001.2014.3001.5501 https://blog.csdn.net/youngwah292/article/details/120377994?spm=1001.2014.3001.5501

第二个知识点是如何将字符串解析为关键属性值。 这个知识点在文档中也有详细的解释。

阿里云开发板HaaS510解析JSON数据

2、编写源码

本文直接提供源码

var iot = require("iot");var network = require ("network");var uart = require("uart");var net = network.openNetWorkClient();/* 设备三元组信息参见公共目录 iot 参见组件说明*/var ProductKey = "gcCCCCCCu2" ;var deviceName = "ceCCCCCCC01";var deviceSecret = "eeSSSSSSSSSSSSSSSSSSSSSSSSSSSSb3a9";//构建物联网连接实例 var device;var lightSwitch = 0;//测试分析1json 字符串。 这里不解析串口字符串,而是解析固定数组字符串。 var json = "{"uid":"123456","北注":"5557589","Shijian":"20210919"}"; // 用户 uart var serial = uart. open({ id: "UART2" }); var msgbuf = [97, 98, 99, 100]; 函数 ArrayToString(fileData) { var dataString = ""; for (var i = 0; i < fileData.length ; i++ ) { dataString += String.fromCharCode(fileData[i]); 返回数据字符串。 }net.on("connect", function () { device = iot.device({ ProductKey: ProductKey, deviceName: deviceName, deviceSecret: deviceSecret , 地区: "cn-shanghai", success: function () { console; log("iot: [成功] 连接"); }, failure: function () { console.log("iot: [失败] 连接") });})setInterval(function () { lightSwitch = 1 - lightSwitch; // 用户uart发送数据 serial.write(msgbuf); // 解析后的内容显示在下面 console.log(obj); console.log(obj.uid) ; console.log(obj.beizhu); console.log(obj.shijian);/* 错误演示 iot.postProps({ Payload: {LightSwitch:"0"} })*// *如果要发送正确的演示属性,必须使用stringify */ device.postProps( JSON.stringify({ LightSwitch: lightSwitch }) ) }, 5000);// 用户串口接收数据serial.on("data ", function(data) { console . log("uart receive data is " + ArrayToString(data)); //接下来解析字符串。 obj = JSON.parse(json); // 以下任意发送“{”uid”的关键属性值: "123456","beizhu":"5557589","shijian":"20210919"}" device.postProps( JSON.stringify({ uid:obj.uid,beizhu:obj.beizhu,shijian:obj.shijian }) );});

keycode是串口接收到数据后进行解析的操作。

json = ArrayToString(data); //接下来解析字符串 obj = JSON.parse(json); // 发送下面一些关键属性值。 json = "{"uid":"123456","beizhu":"5557589","shijian":"20210919"}" device.postProps( JSON.stringify({ uid: obj.uid,beizhu:obj.beizhu, shijian:obj.shijian }) ); 3. 观察行为。 效果

先连接硬件

当你运行本实验提供的源代码时,你会看到几个实验效果,如下图所示。 。 不再需要一一截图进行演示。 有兴趣的读者应该查看我的其他 HaaS510 文章。

本次实验的重点是第五个实验效果。 这是通过上位机发送一个JSON字符串,看看HaaS510是否可以实时解析它并报告一个值。 到云端。

通过计算机将数据发送到HaaS510的用户串口。

{"uid":"888888","beizhu":"666666", "shijian":"20210920"}

你可以观察这个通过调试串口对数据进行解析并相应显示。

数据将上传到云端。 注释、时间、UID 和主灯开关均已相应更改。

至此,实验成功了。

完成这项工作后,您可以使用HaaS510来设计物联网设备。 使用 MCU 编写功能代码。 您可以通过将需要上传到云端的数据以JSON格式发送到HaaS510来实现属性值上报功能。 你觉得怎么样?

如果您不理解全部内容,建议您参考作者的其他文章。

当你送给某人一朵玫瑰花时,香味会留在你的手上。

未经允许不得转载:主机频道 » 阿里云开发板HaaS510解析串口JSON数据并发送属性(阿里云开发板)

评论 抢沙发

评论前必须登录!