需要准备的硬件

使用代码源码位置:

功能:

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

测试流程:

  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为自己的
  const char device_id[] = "3225187";    //修改为自己的设备ID
const char API_KEY[] = "R9xO5NZm6oVI4YBHvCPKEqtwYtMA"; //修改为自己的API_KEY
  1. 代码编译正常通过
  2. 接线
  	接线说明:
STM32 MC20
3.3V ------> V_IO
GND <-----> GND
PA3 <------ GSM_TX
PA2 ------> GSM_RX //用于调试可不接
STM32 USB-TTL模块
GND ------> GND
PA9/TX1 ------> RXD



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



8. 给MC20开机,并启动MC20模块,如果之前已经启动过了,那就不用重复启动了

在USB-TTL对应的串口可以看到发送给MC20和MC20返回的数据的调试信息



刚开机时候因为GPS没定位到,看到调试信息是GPS DATA is not usefull

耐心等待,记得GPS天线一定是要在室外,以为室内没卫星信号,或者说卫星信号不穿墙,

当GPS定位到可以粗略以MC20板子上的PPS指示灯闪烁为准,当PPS闪烁就基本上定位到了,

有经纬度输出了。

当定位到经纬度,就会连接Onenet服务器然后发送数据了,我们能在串口看到Post数据流



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



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



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



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

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

当我们出去不用电脑看调试信息时候,可以看STM32的PC13引脚的LED闪烁情况,当发送出去一组数据,该LED会闪烁一次

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

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

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

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

4.6 基于STM32+MC20地图显示路径功能的更多相关文章

  1. 4.5 基于STM32+MC20远程短信控制开关

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  2. 基于stm32的水质监测系统项目基础部分详细记录

    基于stm32的水质监测系统项目基础部分详细记录 软件环境:MDK5 硬件环境:STM32F103ZET6 开发板.颜色传感器.串口屏.串口打印机 搭建工程模板 在进行项目软件的撰写时,首先新建一个基 ...

  3. 基于STM32+华为云IOT设计智能称重系统

    摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...

  4. 详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )

    写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题.  稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...

  5. 基于STM32单片机光学指纹识别模块(FPM10A)全教程(基于C语言)

    本文转载,其来源在参考中:1,稍加修改,因为近期使用到这个模块,故而加以整理! 1.平台 首先我使用的是 奋斗 STM32 开发板 MINI板 基于STM32单片机光学指纹识别模块(FPM10A)全教 ...

  6. 基于STM32的uCGUI移植和优化

    基于STM32的uCGUI移植和优化 首先在开始这个说明之前,要简要说明下具体的环境: 编译工具:MDK4.20 开发板:安富莱v2版开发板 调试器:JLink  v8盗版 移植篇 相信大家有移植经验 ...

  7. 基于STM32的学习型通用红外遥控设备的设计实现(三)

    CPU: STM32 调试平台: STM32F103ZET和STM32F103VBT 软件平台: Keil uVision4 电路设计: Altium Designer v6.9 http://blo ...

  8. 基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)

    —设计完整,功能可全部实现,有完整报告文档说明.程序以及pcb文件— 可作为:课程设计,STM32实践学习,电子制作等 设计所实现的功能: 利用STM32的AD采集功能实时采集心率传感器信号输出引脚输 ...

  9. 单片机DIY制作-基于STM32单片机甲醛二氧化碳温度湿度采集系统

    基于STM32单片机甲醛二氧化碳温度湿度采集系统 实践制作DIY-GC008-甲醛二氧化碳温度湿度采集系统 一.功能说明: 基于STM32单片机设计-甲醛二氧化碳温度湿度采集系统 二.功能介绍: 1. ...

随机推荐

  1. 使用CSS3实现响应式标题全屏居中和站点前端性能

    要实现标题全屏居中(同一时候在垂直和水平方向居中).有若干种方法,包含使用弹性布局.表格单元.绝对定位和自己主动外边距等. 全屏居中 当中眼下比較流行也比較easy理解的方法是使用绝对定位+偏移实现. ...

  2. Atitit.收银系统模块架构attilax 总结

    Atitit.收银系统模块架构attilax 总结 1. 常规收银系统模块结构1 1.1. 商品管理1 1.2. 会员系统1 1.3. 报表系统1 1.4. 会员卡系统1 1.5. 库存管理1 2.  ...

  3. UML类图详解_泛化关系

    泛化其实就是继承关系,还是比较简单的,那么我们就把之前有些问题的博客UML类图重新来实现一次. 依旧是这个图 下面我们来看一个例子 Account.h #include <cstdlib> ...

  4. jedis连接池的参数配置

     <!-- 连接池的配置信息 --> <bean id="jedisConfig" class="redis.clients.jedis.Jedis ...

  5. Ubuntu安装Sun JDK

    Ubuntu 14.04 下安装 Sun JDK 1.8.0 1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...

  6. springboot开启事务管理

    spring中开启事务管理需要在xml配置文件中配置,springboot中采取java config的配置方式. 核心是@EnableTransactionManager注解,该注解即为开启事务管理 ...

  7. 【Mac + Appium】之运行报错:[UiAutomator] UiAutomator exited unexpectedly with code 0, signal null

    产生下面的原因是因为:与uiautomator2的weditor冲突,两者不能同时使用. 有时打开appium时会报错: [UiAutomator] UiAutomator exited unexpe ...

  8. JavaBean属性

    一个JavaBean对象的属性应该是可访问的.这个属性可以是任意合法的Java数据类型,包括自定义Java类. 一个JavaBean对象的属性可以是可读写,或只读,或只写.JavaBean对象的属性通 ...

  9. 通过ssh隧道访问mysql(转载)

    我的机器可以连接服务器A,A可以访问服务器B上的mysql,但是我的机器不能访问B,所以我需要建立一个我本地机器到服务器A的ssh隧道来访问服务器B上的mysql. 理一下思路: 1.我要ssh的服务 ...

  10. linux系统启动过程具体解释-开机加电后发生了什么 --linux内核剖析(零)

    本文參考了例如以下文章 深入理解linux启动过程 mbr (主引导记录(Master Boot Record)) 电脑从开机加电到操作系统main函数之前执行的过程 详细解释linux系统的启动过程 ...