fangtaonj 发表于 2013-3-19 20:08:33

求教如何从读串口数据中挑到自己想要的?

各位arduino高手你们好!我是arduino初学者,打算用arduino的试验板读取GPS0183格式的数据,但对下面这样的GPS数据串不知如何读取,求高手帮忙!
看资料都是读取一个字符,如
http://bbs.iqrobot.com/forum.php?mod=viewthread&tid=51&extra=page%3D2
里都是读取一个字符,我如何过滤掉不要的数据,只读取下面数据的经纬度信息
N,139,446667,E,32,002354并变成N型变量?
格式举例:$GPGGA,062320,3537.8333,N,139,446667,E,32,002354,99.9,0100,M,,M,000,0000*7D
求各位高手帮忙!

ChunYong 发表于 2013-3-20 06:38:16

不知道ARDUINO有没有 SPLIT这样的分隔函数哎……

沧海笑1122 发表于 2013-3-20 11:10:31

arduino那边有json解析库---ajson。坛子里有文章可以搜一下,结构化的串口数据传送。我用过,非常不错。

fangtaonj 发表于 2013-3-20 21:23:14

沧海笑1122 发表于 2013-3-20 11:10 static/image/common/back.gif
arduino那边有json解析库---ajson。坛子里有文章可以搜一下,结构化的串口数据传送。我用过,非常不错。

沧海笑朋友你好,看到您在这个帖子里的回复
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=3407
这个帖子楼主写得我没太看得懂,您方便的话解释一下好吗?谢谢了!

沧海笑1122 发表于 2013-3-21 09:55:31

本帖最后由 沧海笑1122 于 2013-3-21 09:56 编辑

fangtaonj 发表于 2013-3-20 21:23 static/image/common/back.gif
沧海笑朋友你好,看到您在这个帖子里的回复
http://www.geek-workshop.com/forum.php?mod=viewthread&ti ...

json我也刚接触,和你交流一下使用体会。是一种结构化的数据格式(标准),详细你可以查阅有关json的资料,百度百科:http://www.baidu.com/link?url=dGNKGJqjJ4zBBpC8yDF8xDhiqDSn1JZjFWsHhEoSNd85PkV8Xil-rc5nR8KrynaE

json官网:www.json.org/

主要的作用就是把结构化的数据,从串口送下去,arduino那边有ajson库,可以解析从串口收到的json格式的数据(就是你希望的从一串数据中,挑选你需要的数据,只不过由ajson库来解析,你只需调用即可)。然后进行处理、响应。

例如那篇帖子作者举例的一段数据,
{
      "motor":{
                "left":100,
                "right":20
      },
       "servo":{
               "servo_1":90
      }
}
就是对motor和servo进行角度控制的参数。下发给arduino后,arduino用ajson库解析为:
aJsonObject *motor_left = aJson.getObjectItem(motor, "left"); //从串口数据中解析出左速度
motor_left->valueint;//将该变量转换整型值
剩下你就可以根据你的需要处理了,比如显示到液晶上等。

ajson库也有详细的资料、语法。你可以搜搜看。
至于是否满足你的需要,请你学习研究后,作出判断吧。
我觉得,json适合结构化的、大量的串口数据通信。
我用json数据格式,从树莓派向arduino串口下发水滴控制指令,非常顺畅,已经调试成功。



fangtaonj 发表于 2013-3-21 10:13:42

本帖最后由 fangtaonj 于 2013-3-21 10:22 编辑

沧海笑1122 发表于 2013-3-21 09:55 static/image/common/back.gif
json我也刚接触,和你交流一下使用体会。是一种结构化的数据格式(标准),详细你可以查阅有关json的资 ...

感谢沧海笑兄弟,根据你的提示,对JSON有了一点还比较模糊的认识,具体我再琢磨一下,总之太谢谢你啦!你们高手的热心是我等新手坚持下去的动力!
页: [1]
查看完整版本: 求教如何从读串口数据中挑到自己想要的?