将 USB 串行数据解析为可用变量

Posted

技术标签:

【中文标题】将 USB 串行数据解析为可用变量【英文标题】:Parsing USB Serial Data to Usable Variables 【发布时间】:2018-08-06 07:42:31 【问题描述】:

我有一个设置,其中 android 和 Arduino 设备通过 USB 通信数据。我让 Arduino 定期从我的车辆中读取数据并将其发送到 Android 设备,例如(这些格式中的任何一种都是可行的):

XML:

<instance>
    <vin> A13GF12345NFH </vin>
    <speed> 78 </speed>
    <runtime> 1425 </runtime>
    <distance> 23 </distance>
</instance>

JSON:


    "vin" : "A13GF12345NFH",
    "speed" : "78",
    "runtime" : "1425",
    "distance" : "23"

我以字节数组的形式接收数据,然后将其转换为字符串。鉴于我的字符串化 XML(或 JSON)数据是字符串类型的变量 data,我如何获得消息中描述的变量 vinspeedruntimedistance?我将使用最简单的任何数据格式。

【问题讨论】:

【参考方案1】:

您可以按照here 的描述使用 JSONObject 类。

JSONObject jo = new JSONObject(dataString);
String vin = jo.getString("vin");
long runtime = jo.getLong("runtime");

【讨论】:

以上是关于将 USB 串行数据解析为可用变量的主要内容,如果未能解决你的问题,请参考以下文章

串行输入输出和并行输入输出的区别解析

转Arduino 控制USB设备解析USB键盘的例子

Photoshop 变量 - 无法将文件内容解析为数据集。

将USB串行设备桥接到Cloud Jupyter笔记本电脑

在 python 中即时解析二进制串行数据

请教Qt如何解析出Json的数据