需要准备的硬件

使用代码源码位置:

功能:

使用STC15板子发送GPS定位的经纬度到中国移动的Onenet服务器,然后用网页端看地图路径

其中STC15的串口3用于和MC20模块指令交互,串口1用于下载和观看调试信息。

这个例程不用STC89来编写主要因为和服务器交互需要存储服务器返回的数据的数组比较大,

而普通的STC89C52RC只有512B的RAM空间,不能满足要求,另外STC15单片机有4组串口,用于调试

观看最终代码运行等情况时候比较方便。

测试流程:

  1. 打开中国移动的OneNet网站,注册账号并登陆,这里省略,相信大家都能搞定。

    https://open.iot.10086.cn/
  2. 创建项目流程,请参考官方教程:

    https://open.iot.10086.cn/doc/art243.html#66

    但是最后一步要注意,我们需要选择

    设备接入方式-->公有协议

    设备接入协议-->HTTP

    其它的都可以随意写,不影响测试
  3. 获取APIKEY



    设备ID是在设备管理里面自己新建的,名称什么的都可以随便写,记录下这个ID

  4. 修改代码中的APIKEY和设备ID为自己的
  code char device_id[] = "3225187";    //修改为自己的设备ID
code char API_KEY[] = "R9xO5NZm6oVI4YBHvCPKEqtwYtMA"; //修改为自己的API_KEY
  1. 代码编译正常通过
  2. 接线方式
  STC15W			MC20
3.3V ---> V_IO
GND ---> GND
GSM_TX ---> P0.0
GSM_RX <--- P0.1



7. 下载程序到单片机后打开串口调试助手,等待接收数据,这时只看到AT,没有看到回复,说明MC20模块没通讯上,或者没开机启动



8. 如果MC20模块已经启动,NET指示灯开始闪烁,就进入了交互指令阶段



上面的CPIN指令可以查询是否插入识别SIM卡,如果卡在这里,往下不执行,说明没识别你用的SIM卡,检查下是否为移动联通卡,或者是否卡插正确,

而CREG指令可以获取现在的SIM卡是否已经有服务信息了。

下面的读取NMEA协议的RMC数据,刚开始是没有数据填充的,需要GPS天线在室外,等待一会儿才能定位到

定外到后,我们可以看到PPS的指示灯开始闪烁,同时能看到GPS经纬度数据能解析出来了



然后我们会看到数据开始发送post给Onenet服务器



得到Onenet服务器的回复succ



9. 到这里就可以在Onenet后台看到发送上去的数据流了



我们能到名字为location的数据流,也可以展开看定位地图



这里因为刚开始定位卫星较少时候定位不准确,定位会有波动,当卫星数增加,GPS定位模式成3D定位时候,数据就会准确起来。

然后就可以自己出去走一圈看下路径记录了。

当我们出去不用电脑看调试信息时候,可以看STC15板子上的L指示灯,每上传一组定位数据,L的指示灯闪烁一下,所以当你看到L指示灯在切换状态,那说明至少已经发送数据了。

10. 当然你也可以自己研究下Onenet后台的应用,可以添加地图信息成为某个网页,网页可以直接公布给别人直接看定位,不过目前Onenet的应用只支持显示单个点。

另外也可以在Onenet官网最下面的二维码下载手机app,用手机观看定位效果。

以前app也可以看路径的,现在官方软件更新目前这个功能不让用,期待某一天更新版本重新能手机看路径。

上传一张显示路径的测试效果图

最新文章

  1. winForm连接数据库(sqlserver2005)
  2. PHP 链接多种数据库 的方法
  3. pptpd
  4. js localStorage 设置和取值
  5. 微信小程序 教程及示例
  6. tornado 学习笔记1 引言
  7. Mysql忘记用户密码的解决办法
  8. JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)
  9. 【GOF23设计模式】外观模式
  10. 关于lib,dll,.a,.so,静态库和动态库的解释说明
  11. 学习Swift -- 构造器(中)
  12. iOS-NSTimer-pause-暂停-引用循环
  13. MVC in Javascript
  14. 开源组件NanUI一周年 - 使用HTML/CSS/JS来构建.Net Winform应用程序界面
  15. oracle管理权限和角色
  16. As-If-Serial 理解
  17. mac 下 clang++ 找不到头文件 stdlib.h
  18. vs11 微软下载地址
  19. 用Jedis调用Lua脚本来完成redis的数据操作
  20. elasticsearch5.6.3插件部署

热门文章

  1. Atitit.&#160;visual&#160;studio&#160;vs2003&#160;vs2005&#160;vs2008&#160;&#160;VS2010&#160;vs2012&#160;vs2015新特性&#160;新功能.doc
  2. centos配置IP地址
  3. Android Studio 使用笔记: 重命名和重构
  4. LeetCode532. K-diff Pairs in an Array
  5. POJ2947 DAZE [Gauss]
  6. asp.net中TextBox只能输入数字的最简洁的两种方法
  7. Classification week3: decision tree 笔记
  8. FFmpeg总结(六)AV系列结构体之AVPacket
  9. spring-security+hibernate4+quartz实现的心跳检测项目(转 收藏)
  10. Android无线测试之—UiAutomator工程建立