1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

OpenMV与JSON编码问题分析

OpenMV与JSON编号

作为一种简约高效率的互换数据库的文件格式,JSON在通讯传输中具有很大的优势。在OpenMV中,我们可以使用json模块控制API完成Python目标和JSON数据类型的转换。

OpenMV与JSON编码问题分析

使用JSON进行串口通信

如果你想迅速实现两个单片机之间的通讯,建议使用串口通信传送json字符串数组。JSON字符串数组可以是很简单的,例如以下代码就能够推送出OpenMV里的图形的x,y坐标:

[[12,0],[10,12],[22,10],[99,11]]

也可以是比较复杂的,例如以下代码可以把OpenMV收集到颜色信息,通过wifi通知到另外一个服务器中:


{
"number": 10,
"color": [255,0,0],
"rate": 0.65
}

甚至可以是非常复杂的,例如以下代码可以包含多种不同类型的数据:


{
"firstName":"John",
"lastName":"Smith",
"sex":"male",
"age":25,
"address":
{
"streetAddress":"212nd Street",
"city":"New York",
"state":"NY",
"postalCode":"10021"
},
"phoneNumber":
[
{
"type":"home",
"number":"212555-1234"
},
{
"type":"fax",
"number":"646555-4567"
}
]
}

JSON编号与解密

OpenMV内置的json模块提供了json.dumps(obj)和ujson.loads(str)函数,方便我们快速生成JSON字符串数组和解析JSON字符串数组。例如以下代码可以把Python数组转换为JSON字符串数组:


import json
obj = [[12,0],[10,12],[22,10],[99,11]]
print(json.dumps(obj))
obj = {
"number" : 10,
"color" : [255,0,0],
"rate" : 0.65
}
print(json.dumps(obj))

通过串口发送JSON字符串数组,另一边可以轻松解析成Python目标/二维数组,然后进行下一步操作。常用的函数有:

  • 形成JSON字符串数组:ujson.dumps(obj)
  • 分析JSON字符串数组:ujson.load(stream)
  • 分析JSON目标:ujson.loads(str)

以上就是关于OpenMV与JSON编号的介绍,希望对大家有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5764.html