上次说到定位成功后,显示的数据准确性问题。专门查询了下我所在地区的经纬度信息。 MagicBox的显示数据是这样的: ![]() 网络上查到的经纬度数据是这样的: ![]() 可以看出定位精度还可以,毕竟我这个查询的数据没有具体到所在的小区。其他的卫星数据暂时不计较。接下来是要将经纬度信息通过MQTT发布到服务器,供其他客户端来订阅。 首先要提一点就是MQTT协议虽然是所谓的发布/订阅模式的轻量级通信协议,但依然是建立在TCP/IP之上的。使用它的意义在于低开销,低带宽占用。对于老王这个经纬度数据来说再合适不过了。网络上的一张图很好的说明了它的拓扑: ![]() 明白了以上内容,那么我们将MagicBox820作为一个客户端,发布消息到服务器,PC上的处理软件作为另一个客户端从服务器订阅820发布的主题,就实现了一条通路。这就是一个小的物联网实例。 ![]() 通常情况下需要搭建一个MQTT服务器(Broker),或是租用一些商业的平台,当然也是有开源的软件可以选择的。老王这里偷了个懒,先用通信猫的小工具调试。 忍不住再夸一下LuatOS的API,也得益于Lua语言的便捷,MQTT发布主题的代码可以简单到下面这样:
结合工具测试代码运行正常: ![]() 通信没有问题了,自然是将MQTT的消息负载替换为经纬数据了。在该任务所在的文件中,引入中科微GPS模块,重新定义本文件中使用GPS变量,代码如下:
代码是每10秒钟发布一条消息到服务器,通信猫小工具以客户端身份订阅同一服务器的820主题。因为测试,老王又需要拿着Box板卡伸手到窗外去搜星,高处不胜寒,冷风也特别猖狂。不过看到结果符合预期,心里还是美滋滋的。 ![]() 老王顺手也把屏幕显示给改了下 ![]() 给自己安排下,接下来将经纬度信息展示到地图上。同时在这个过程使用Qt的WebEngineView模块。 |
只有小组成员才能发言,加入小组>>
【合宙Air780E开发板趣味应用】Air780E开发板方言打麻将
3037 浏览 0 评论
7015 浏览 0 评论
8330 浏览 0 评论
4909 浏览 0 评论
【合宙Air551G双频定位开发板试用体验】Part2:与其他定位模块进行对比
41196 浏览 0 评论
电子发烧友网
电子发烧友开云(中国)官方