57| 0
|
[K10项目分享] 暂无图形化的传感器数据通用提取方法初探——K10展示 |
本帖最后由 许培享 于 2024-12-1 20:04 编辑 暂无图形化的传感器数据通用提取方法初探——K10展示 背景 DF商城有以下两款GPS导航模块: 我们在Mind+软件中选好控制器(如下图Arduino)之后,再通讯模块中很容易发现有上款模块的支持,而下款模块根本没有。 查看K10行空板,两款模块均暂无支持!要在K10中使用它们,怎么办? 最直接的办法就是请技术人员赶快编制图形化模块,然后我们拿来使用,可是这么一来可缺少了更多探索的乐趣呀~ 我手头上有第二款GPS-BDS导航模块。先找来资料看看行不行。 GPS+BDS北斗双模卫星导航模块 资料中有Arduino代码: 串口显示数据类似如下:结合上面的链接资料,很快就能看懂串口数据的意义了,你一定会发现数据还相当丰富呢~ 数据的确丰富,但是我们想提取数据中的感兴趣部分比如经度值,纬度值等,这个就需要编程熟练使用字符串函数。在资料的最后,的确有ArduinoC数据解析程序,但是它并不支持k10(MicroPython程序)。 所以,我们得尝试从K10的积木块中发现提取方法。 实践1 目标:尝试探索从电脑Mind+串口0中显示GPS数据信息 GPS-BDS模块与K10连线图:P1 作为K10接收GPS-BDS模块数据的入口(串口1),再通过K10的USB接口(串口0)连接电脑Mind+,在小黑窗口中显示GPS数据信息 Mind+代码及小黑窗口显示的GPS-BDS模块数据信息(省略前N次不成功的代码哈) 以上在K10图形化编程中实现了GPS数据整体显示。 实践2 目标:尝试探索电脑Mind+下,K10积木块有没有基本的解析GPS数据信息的能力 例:其中GPS数据有一行字符串是“$GPTXT,01,01,01,ANTENNA OK*35”(共29个字符,"OK*35"位于第25~29),指天线状态输出,ok 表示天线已经检测到,open 代表天线断开。 我们想确定"OK*35"在这一行的具体位置,如果能够准确定位,那么提取其它有用数据就不远了。 连线图等不变,只修改图形化编程。(下同) 我们发现,修改后的程序能够捕捉并准确确定"OK*35"的具体位置。 实践3 目标:提取特定行中的有用数据,如:卫星时间UTC,并处理成中国北京时间(时区东八区)显示在K10的第6行上;UTC + 时区差 = 本地时间 ;时区差东为正,西为负。在此,把东八区时区差记为 +08。 例:其中GPS数据有一行字符串是“$GNZDA,120202.000,30,11,2024,00,00*4C”,120202.0000就是UTC,所以北京时间为(12+08):02:02,即北京时间20:02:02。 以上程序合并过长,所以分段展示给读者,运行后K10上可以实时自动更新时间。 小结 至此,我们确定能够实现在K10或者其它控制器下的所有传入传感器数据的任意提取与使用! |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed