需要准备的硬件
使用代码源码位置:
STM32F103单片机例程---->5.STM32F103路径显示功能代码
功能:
使用STM32板子发送GPS定位的经纬度到中国移动的Onenet服务器,然后用网页端看地图路径
测试流程:
-
打开中国移动的OneNet网站,注册账号并登陆,这里省略,相信大家都能搞定。
https://open.iot.10086.cn/
-
创建项目流程,请参考官方教程:
https://open.iot.10086.cn/doc/art243.html#66
但是最后一步要注意,我们需要选择
设备接入方式-->公有协议
设备接入协议-->HTTP
其它的都可以随意写,不影响测试
-
如何获取APIKEY和项目ID参考这个教程
http://www.waaax.top/forum.php?mod=viewthread&tid=87&extra=page%3D1
-
修改代码中的APIKEY和设备ID为自己的
const char device_id[] = "3225187"; //修改为自己的设备ID
const char API_KEY[] = "R9xO5NZm6oVI4YBHvCPKEqtwYtMA"; //修改为自己的API_KEY
-
代码编译正常通过
-
接线
接线说明:
STM32 F21
3.3V ------> V_IO
GND <-----> GND
PA3 <------ GSM_TX
PA2 ------> GSM_RX
//用于调试可不接
STM32 USB-TTL模块
GND ------> GND
PA9/TX1 ------> RXD
-
这里如果你想要看到调试信息,可以用一个USB-TTL模块接调试输出的那个虚拟串口,如果不想知道就不用接打开串口调试助手,对应那个USB-TTL模块,等待接收调试信息
-
给F21开机,并启动F21模块,如果之前已经启动过了,那就不用重复启动了
在USB-TTL对应的串口可以看到发送给F21和F21返回的数据的调试信息
刚开机时候因为GPS没定位到,看到调试信息是GPS DATA is not usefull
耐心等待,记得GPS天线一定是要在室外,以为室内没卫星信号,或者说卫星信号不穿墙,
当GPS定位到可以粗略以F21板子上的PPS指示灯闪烁为准,当PPS闪烁就基本上定位到了,
有经纬度输出了。
当定位到经纬度,就会连接Onenet服务器然后发送数据了,我们能在串口看到Post数据流
在调试串口看到服务器返回的信息,发送数据成功 succ
-
到这里就可以在Onenet后台看到发送上去的数据流了
我们能到名字为location的数据流,也可以展开看定位地图
这里因为刚开始定位卫星较少时候定位不准确,定位会有波动,当卫星数增加,GPS定位模式成3D定位时候,数据就会准确起来。
然后就可以自己出去走一圈看下路径记录了。
当我们出去不用电脑看调试信息时候,可以看STM32的PC13引脚的LED闪烁情况,当发送出去一组数据,该LED会闪烁一次
-
当然你也可以自己研究下Onenet后台的应用,可以添加地图信息成为某个网页,网页可以直接公布给别人直接看定位,不过目前Onenet的应用只支持显示单个点。
另外也可以在Onenet官网最下面的二维码下载手机app,用手机观看定位效果。
以前app也可以看路径的,现在官方软件更新目前这个功能不让用,期待某一天更新版本重新能手机看路径。
上传一张显示路径的测试效果图
|