2.6 基于ARDUINO UNO+MC20的路径显示功能
需要准备的硬件
- MC20开发板 1个
https://item.taobao.com/item.htm?id=562661881042 - GSM/GPRS天线 1根
https://item.taobao.com/item.htm?id=531979567261 - IPEX接口转SMA接口转接线 1根
https://item.taobao.com/item.htm?id=531979903836 - GPS有源天线 1根
https://item.taobao.com/item.htm?id=26241892024 - 中国移动或者联通的SIM卡一张,micro sim尺寸的
需要自备,如果只是测试GPRS可以购买物联网卡,该卡不能测试电话和短信功能
https://item.taobao.com/item.htm?id=562257211778 - DC9V1A电源一个
https://item.taobao.com/item.htm?id=41915338664
或者两节串联的18650电池
https://item.taobao.com/item.htm?id=530904849115 - USB-TTL模块 1个
https://item.taobao.com/item.htm?id=39481188174 - 杜邦线若干
https://item.taobao.com/item.htm?id=562848773709 - ARDUINO UNO R3开发板
https://item.taobao.com/item.htm?id=27554596680 - ARDUINO MEGA2560 R3开发板
https://item.taobao.com/item.htm?id=38041409136
使用代码源码位置:

功能:
使用ARDUINO UNO板子发送GPS定位的经纬度到中国移动的Onenet服务器,然后用网页端看地图路径
现在的代码基本上已经把ARDUINO UNO的RAM资源用完了,总共2K的RAM,已经用了95%左右了。
如果想添加其他功能或者想稳定,建议换ARDUINO mega2560的板子,RAM空间大,而且有4组硬件串口可用。不用用虚拟的串口。
下载程序和调试也都方便很多。
测试流程:
- 打开中国移动的OneNet网站,注册账号并登陆,这里省略,相信大家都能搞定。
https://open.iot.10086.cn/ - 创建项目流程,请参考官方教程:
https://open.iot.10086.cn/doc/art243.html#66
但是最后一步要注意,我们需要选择
设备接入方式-->公有协议
设备接入协议-->HTTP
其它的都可以随意写,不影响测试 - 获取APIKEY

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

- 修改代码中的APIKEY和设备ID为自己的
const char device_id[] = "3225187"; //修改为自己的设备ID
const char API_KEY[] = "R9xO5NZm6oVI4YBHvCPKEqtwYtMA"; //修改为自己的API_KEY
- 代码编译正常通过

- 把程序下载进ARDUINO UNO开发板
然后根据连接图连接MC20板子和UNO板子,因为接上线就会影响下载程序了,下载程序和接MC20模块的D0和D1两个IO是复用的。

- 这里如果你想要看到调试信息,可以用一个USB-TTL模块接调试输出的那个虚拟串口,如果不想知道就不用接打开串口调试助手,对应那个USB-TTL模块,等待接收调试信息

- 打开arduino开发环境内的串口监视器,观看程序发送出去的指令效果

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

刚开机时候因为GPS没定位到,看到调试信息是GPS DATA is not usefull
耐心等待,记得GPS天线一定是要在室外,以为室内没卫星信号,或者说卫星信号不穿墙,
当GPS定位到可以粗略以MC20板子上的PPS指示灯闪烁为准,当PPS闪烁就基本上定位到了,
有经纬度输出了。
当定位到经纬度,就会连接Onenet服务器然后发送数据了,我们能在arduino的串口看到Post数据流

在调试串口看到服务器返回的信息,发送数据成功 succ

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

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

这里因为刚开始定位卫星较少时候定位不准确,定位会有波动,当卫星数增加,GPS定位模式成3D定位时候,数据就会准确起来。
然后就可以自己出去走一圈看下路径记录了。
当我们出去不用电脑看调试信息时候,可以看ARDUINO板子上的L指示灯,每上传一组定位数据,L的指示灯会切换下状态,比如从亮变灭,或者灭变量。一般大概10秒左右能上传一组数据。
所以当你看到L指示灯在切换状态,那说明至少已经发送数据了。 - 当然你也可以自己研究下Onenet后台的应用,可以添加地图信息成为某个网页,网页可以直接公布给别人直接看定位,不过目前Onenet的应用只支持显示单个点。
另外也可以在Onenet官网最下面的二维码下载手机app,用手机观看定位效果。
以前app也可以看路径的,现在官方软件更新目前这个功能不让用,期待某一天更新版本重新能手机看路径。
上传一张显示路径的测试效果图

2.6 基于ARDUINO UNO+MC20的路径显示功能的更多相关文章
- 3.7 基于51单片机+MC20的路径显示【使用STC15W内核】
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- 基于arduino UNO R3+ESP8266控制LED灯的开关(无USB转TTL工具实现)
最近由于项目要求,需要开发物联网云平台,而本人对硬件和通信技术一窍不通,故而选择arduino这一简单单片机来实现学习掌握基础的硬件和通信技术. 下面就是本人通过查阅大佬资料做的一个整合版本的通过手机 ...
- 基于Proteus仿真的Arduino学习(1)——Arduino Uno最小系统及LED的简单使用
一.前言: A.Arduino简介 Arduino是由一个欧洲开发团队于2005年冬季开发.其成员包括Massimo Banzi.David Cuartielles.Tom Igoe.Gianluc ...
- Arduino + RFID 读取 IC 卡 Arduino uno中获得RFID的UID 并通过串口转发RFID卡号
RFID简介:射频识别即RFID(Radio Frequency IDentification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定 ...
- 基于 Arduino 的 RFID 识别实验
http://www.it165.net/embed/html/201512/3287.html 2015年12月04日(周五) 上午 博士的智能卡实验--RFID识别实验,基于51单片机: 我们的 ...
- [Arduino] Arduino Uno R3 中文介绍
Arduino UNO是Arduino USB接口系列的最新版本,作为Arduino平台的参考标准模板.UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出 ...
- Arduino UNO的原理图
Arduino UNO的原理图是开源的,所以可以从arduino网站上下载它: https://www.arduino.cc/en/Main/ArduinoBoardUno 原理图PDF: https ...
- 2.4 使用ARDUINO控制MC20进行GPS数据的获取和解析
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- 2.3 使用ARDUINO控制MC20进行GPRS的TCP通讯
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
随机推荐
- CentOS 6.5 X64 U盘启动盘制作
本教程是在Linux系统下制件,可以使用虚拟机安装Linux 1.准备一个8G的U盘,在Linux下分成Fat32---500M----root, 剩下的分成Ext3 ----data,并格式化. 2 ...
- [na]esxi6.5的vmware安装
安装exsi6.5(最新的软件见评论区) ,安装 ,激活(可选) ,浏览器登录(.5好像没客户端了,所以就用浏览器,挺方便的) 安装包和key包在网盘里: 链接:https://pan.baidu.c ...
- ffffff
http://www.ibm.com/developerworks/cn/linux/l-cn-linuxglb/ http://blog.csdn.net/wocjj/article/details ...
- mysql之select into outfile
参见:http://dev.mysql.com/doc/refman/5.1/en/select-into.html 例子: SELECT a,b,a+b INTO OUTFILE '/tmp/res ...
- C# 子类实例化过程
刚研究了一下C#子类实例化的过程. 首先我遇到了如下一个问题: 有类A,里面写了一个有参的构造函数,并没有提供默认的无参构造函数.现在类B继承了类A,没有写任何的构造函数. 这时如果想实例化类B就会产 ...
- HDU高精度总结(java大数类)
HDU1002 A + B Problem II [题意]大数相加 [链接]http://acm.hdu.edu.cn/showproblem.php?pid=1002 Sample Inpu ...
- Hibernate标准查询语言
Hibernate标准(Criteria)查询语言(HCQL)用于根据具体条件获取记录.Criteria接口提供了应用标准的方法,例如检索薪水大于50000的表的所有记录. HCQL的优势 HCQL提 ...
- 关于c中volatile关键字
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存 ...
- servlet部署到tomcat中
引用:http://blog.csdn.net/shuidao/article/details/1738059 配置,部署 servlet: 1. 在tomcat的安装目录下 找到webapps 文件 ...
- Unity3D学习笔记——NGUI之Property Binding
Property Binding:用于绑定两个组件,然后可以将一个组件的信息发送给另一个组件. 效果图如下: 一:使用步骤 1.建立一个Sprite 2.建立一个Label 3.为Sprite添加Pr ...