2.6 基于ARDUINO UNO+MC20的路径显示功能

需要准备的硬件

使用代码源码位置:

功能:

使用ARDUINO UNO板子发送GPS定位的经纬度到中国移动的Onenet服务器,然后用网页端看地图路径
现在的代码基本上已经把ARDUINO UNO的RAM资源用完了,总共2K的RAM,已经用了95%左右了。
如果想添加其他功能或者想稳定,建议换ARDUINO mega2560的板子,RAM空间大,而且有4组硬件串口可用。不用用虚拟的串口。
下载程序和调试也都方便很多。

测试流程:

  1. 打开中国移动的OneNet网站,注册账号并登陆,这里省略,相信大家都能搞定。
    https://open.iot.10086.cn/
  2. 创建项目流程,请参考官方教程:
    https://open.iot.10086.cn/doc/art243.html#66
    但是最后一步要注意,我们需要选择
    设备接入方式-->公有协议
    设备接入协议-->HTTP
    其它的都可以随意写,不影响测试
  3. 获取APIKEY

    设备ID是在设备管理里面自己新建的,名称什么的都可以随便写,记录下这个ID
    https://img.alicdn.com/imgextra/i2/63891318/TB2EM8Wh22H8KJjy0FcXXaDlFXa-63891318.png
  4. 修改代码中的APIKEY和设备ID为自己的
const char device_id[] = "3225187";    //修改为自己的设备ID
const char API_KEY[] = "R9xO5NZm6oVI4YBHvCPKEqtwYtMA";    //修改为自己的API_KEY
  1. 代码编译正常通过
  2. 把程序下载进ARDUINO UNO开发板
    然后根据连接图连接MC20板子和UNO板子,因为接上线就会影响下载程序了,下载程序和接MC20模块的D0和D1两个IO是复用的。
  3. 这里如果你想要看到调试信息,可以用一个USB-TTL模块接调试输出的那个虚拟串口,如果不想知道就不用接打开串口调试助手,对应那个USB-TTL模块,等待接收调试信息
  4. 打开arduino开发环境内的串口监视器,观看程序发送出去的指令效果

    上面的CPIN指令可以查询是否插入识别SIM卡,如果卡在这里,往下不执行,说明没识别你用的SIM卡,检查下是否为移动联通卡,或者是否卡插正确,
    而CREG指令可以获取现在的SIM卡是否已经有服务信息了。
    在USB-TTL对应的串口可以看到发送给MC20和MC20返回的数据的调试信息

    刚开机时候因为GPS没定位到,看到调试信息是GPS DATA is not usefull
    耐心等待,记得GPS天线一定是要在室外,以为室内没卫星信号,或者说卫星信号不穿墙,
    当GPS定位到可以粗略以MC20板子上的PPS指示灯闪烁为准,当PPS闪烁就基本上定位到了,
    有经纬度输出了。
    当定位到经纬度,就会连接Onenet服务器然后发送数据了,我们能在arduino的串口看到Post数据流
    https://img.alicdn.com/imgextra/i3/63891318/TB2DUkrcKLM8KJjSZFqXXa7.FXa-63891318.png
    在调试串口看到服务器返回的信息,发送数据成功 succ
    https://img.alicdn.com/imgextra/i1/63891318/TB2Efadh8DH8KJjy1zeXXXjepXa-63891318.png
  5. 到这里就可以在Onenet后台看到发送上去的数据流了
    https://img.alicdn.com/imgextra/i4/63891318/TB2rC7DcJHO8KJjSZFHXXbWJFXa-63891318.png
    我们能到名字为location的数据流,也可以展开看定位地图
    https://img.alicdn.com/imgextra/i1/63891318/TB2BPqCh_nI8KJjy0FfXXcdoVXa-63891318.png
    这里因为刚开始定位卫星较少时候定位不准确,定位会有波动,当卫星数增加,GPS定位模式成3D定位时候,数据就会准确起来。
    然后就可以自己出去走一圈看下路径记录了。
    当我们出去不用电脑看调试信息时候,可以看ARDUINO板子上的L指示灯,每上传一组定位数据,L的指示灯会切换下状态,比如从亮变灭,或者灭变量。一般大概10秒左右能上传一组数据。
    所以当你看到L指示灯在切换状态,那说明至少已经发送数据了。
  6. 当然你也可以自己研究下Onenet后台的应用,可以添加地图信息成为某个网页,网页可以直接公布给别人直接看定位,不过目前Onenet的应用只支持显示单个点。
    另外也可以在Onenet官网最下面的二维码下载手机app,用手机观看定位效果。
    以前app也可以看路径的,现在官方软件更新目前这个功能不让用,期待某一天更新版本重新能手机看路径。
    上传一张显示路径的测试效果图
    https://img.alicdn.com/imgextra/i1/63891318/TB2O4l2h8HH8KJjy0FbXXcqlpXa-63891318.jpg
原文地址:https://www.cnblogs.com/Mysterious/p/8025244.html