博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.7 基于51单片机+MC20的路径显示【使用STC15W内核】
阅读量:5327 次
发布时间:2019-06-14

本文共 1659 字,大约阅读时间需要 5 分钟。

需要准备的硬件

  • MC20开发板 1个
  • GSM/GPRS天线 1根
  • IPEX接口转SMA接口转接线 1根
  • GPS有源天线 1根
  • 中国移动或者联通的SIM卡一张,micro sim尺寸的
    需要自备,如果只是测试GPRS可以购买物联网卡,该卡不能测试电话和短信功能
  • DC9V1A电源一个
    或者两节串联的18650电池
  • USB-TTL模块 1个
  • 杜邦线若干
  • STC15W或者IAP15W最小系统板

使用代码源码位置:

TB2PnfOi0fJ8KJjy0FeXXXKEXXa-63891318.png

功能:

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

其中STC15的串口3用于和MC20模块指令交互,串口1用于下载和观看调试信息。
这个例程不用STC89来编写主要因为和服务器交互需要存储服务器返回的数据的数组比较大,
而普通的STC89C52RC只有512B的RAM空间,不能满足要求,另外STC15单片机有4组串口,用于调试
观看最终代码运行等情况时候比较方便。

测试流程:

  1. 打开中国移动的OneNet网站,注册账号并登陆,这里省略,相信大家都能搞定。
  2. 创建项目流程,请参考官方教程:
    但是最后一步要注意,我们需要选择
    设备接入方式-->公有协议
    设备接入协议-->HTTP
    其它的都可以随意写,不影响测试
  3. 获取APIKEY
    TB2V3J_h3LD8KJjSszeXXaGRpXa-63891318.png
    设备ID是在设备管理里面自己新建的,名称什么的都可以随便写,记录下这个ID
    https://img.alicdn.com/imgextra/i2/63891318/TB2EM8Wh22H8KJjy0FcXXaDlFXa-63891318.png
  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

TB20Qx8h63z9KJjy0FmXXXiwXXa-63891318.png

  1. 下载程序到单片机后打开串口调试助手,等待接收数据,这时只看到AT,没有看到回复,说明MC20模块没通讯上,或者没开机启动
    TB21mEliZbI8KJjy1zdXXbe1VXa-63891318.png
  2. 如果MC20模块已经启动,NET指示灯开始闪烁,就进入了交互指令阶段
    TB2T7fZiZrI8KJjy0FhXXbfnpXa-63891318.png
    上面的CPIN指令可以查询是否插入识别SIM卡,如果卡在这里,往下不执行,说明没识别你用的SIM卡,检查下是否为移动联通卡,或者是否卡插正确,
    而CREG指令可以获取现在的SIM卡是否已经有服务信息了。
    下面的读取NMEA协议的RMC数据,刚开始是没有数据填充的,需要GPS天线在室外,等待一会儿才能定位到
    定外到后,我们可以看到PPS的指示灯开始闪烁,同时能看到GPS经纬度数据能解析出来了
    TB2GIcpi4PI8KJjSspoXXX6MFXa-63891318.png
    然后我们会看到数据开始发送post给Onenet服务器
    https://img.alicdn.com/imgextra/i4/63891318/TB2k9wHiY_I8KJjy1XaXXbsxpXa-63891318.png
    得到Onenet服务器的回复succ
    https://img.alicdn.com/imgextra/i3/63891318/TB2FFcbi4rI8KJjy0FpXXb5hVXa-63891318.png
  3. 到这里就可以在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定位时候,数据就会准确起来。
    然后就可以自己出去走一圈看下路径记录了。
    当我们出去不用电脑看调试信息时候,可以看STC15板子上的L指示灯,每上传一组定位数据,L的指示灯闪烁一下,所以当你看到L指示灯在切换状态,那说明至少已经发送数据了。
  4. 当然你也可以自己研究下Onenet后台的应用,可以添加地图信息成为某个网页,网页可以直接公布给别人直接看定位,不过目前Onenet的应用只支持显示单个点。
    另外也可以在Onenet官网最下面的二维码下载手机app,用手机观看定位效果。
    以前app也可以看路径的,现在官方软件更新目前这个功能不让用,期待某一天更新版本重新能手机看路径。
    上传一张显示路径的测试效果图
    https://img.alicdn.com/imgextra/i1/63891318/TB2O4l2h8HH8KJjy0FbXXcqlpXa-63891318.jpg

转载于:https://www.cnblogs.com/Mysterious/p/8060244.html

你可能感兴趣的文章
盒子box在网页中居中的方法
查看>>
Python之旅Day14 JQuery部分
查看>>
二十一、 Memento 备忘录(行为型模式)
查看>>
python 3.X中打包二进制数据存储字符串出错原因分析
查看>>
core--线程池
查看>>
B+树介绍
查看>>
redux-effect
查看>>
kaike的FLAGs
查看>>
Swift和OC混编
查看>>
深度学习文献阅读笔记(6)
查看>>
Android轻量级的开源缓存框架ASimpleCache
查看>>
让页面上图片不变形
查看>>
pyspider--post
查看>>
他山之石:加载图片的一个小问题
查看>>
设计模式讲解2:static proxy和decorator的不同点
查看>>
IOS 多个UIImageView 加载高清大图时内存管理
查看>>
shell - 常识
查看>>
[PHP] excel 的导入导出
查看>>
圆角进度条,带数字居中显示的圆角进度条
查看>>
docker-containerd 启动流程分析
查看>>