4.6 基于STM32+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 - STM32F103最小系统板
https://item.taobao.com/item.htm?id=523336310868
使用代码源码位置:
功能:
使用STM32板子发送GPS定位的经纬度到中国移动的Onenet服务器,然后用网页端看地图路径
测试流程:
- 打开中国移动的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
- 代码编译正常通过
- 接线
接线说明:
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地图显示路径功能的更多相关文章
- 4.5 基于STM32+MC20远程短信控制开关
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- 基于stm32的水质监测系统项目基础部分详细记录
基于stm32的水质监测系统项目基础部分详细记录 软件环境:MDK5 硬件环境:STM32F103ZET6 开发板.颜色传感器.串口屏.串口打印机 搭建工程模板 在进行项目软件的撰写时,首先新建一个基 ...
- 基于STM32+华为云IOT设计智能称重系统
摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...
- 详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )
写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题. 稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...
- 基于STM32单片机光学指纹识别模块(FPM10A)全教程(基于C语言)
本文转载,其来源在参考中:1,稍加修改,因为近期使用到这个模块,故而加以整理! 1.平台 首先我使用的是 奋斗 STM32 开发板 MINI板 基于STM32单片机光学指纹识别模块(FPM10A)全教 ...
- 基于STM32的uCGUI移植和优化
基于STM32的uCGUI移植和优化 首先在开始这个说明之前,要简要说明下具体的环境: 编译工具:MDK4.20 开发板:安富莱v2版开发板 调试器:JLink v8盗版 移植篇 相信大家有移植经验 ...
- 基于STM32的学习型通用红外遥控设备的设计实现(三)
CPU: STM32 调试平台: STM32F103ZET和STM32F103VBT 软件平台: Keil uVision4 电路设计: Altium Designer v6.9 http://blo ...
- 基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)
—设计完整,功能可全部实现,有完整报告文档说明.程序以及pcb文件— 可作为:课程设计,STM32实践学习,电子制作等 设计所实现的功能: 利用STM32的AD采集功能实时采集心率传感器信号输出引脚输 ...
- 单片机DIY制作-基于STM32单片机甲醛二氧化碳温度湿度采集系统
基于STM32单片机甲醛二氧化碳温度湿度采集系统 实践制作DIY-GC008-甲醛二氧化碳温度湿度采集系统 一.功能说明: 基于STM32单片机设计-甲醛二氧化碳温度湿度采集系统 二.功能介绍: 1. ...
随机推荐
- Atitit.编程语言原理---方法重载的实现与设计 调用方法的原理
Atitit.编程语言原理---方法重载的实现与设计 调用方法的原理 1. 重载包括:普通方法的重载和构造方法的重载 1 1.1. 横向重载”和“纵向重载”1 1.2. 方法签名通过 方法名称,参数 ...
- osd char
osdchar.c #include<stdio.h> #include "TimeNewRoman.h" #define TNR 0x00 //Time New Ro ...
- C# 运行时中的泛型
将泛型类型或方法编译为 Microsoft 中间语言 (MSIL) 时,它包含将其标识为具有类型参数的元数据. 泛型类型的 MSIL 的使用因所提供的类型参数是值类型还是引用类型而不同. 第一次用值类 ...
- java - day15 - NonameInner
匿名内部类 public interface Inter {} interface Inter2{ void show(); } main(){ //错误,接口不能实例化 Inter t = new ...
- jquery中绑定点击事件
$("body").on("click",".tab-contentBox td",function(){}; $(".tab-c ...
- Havel--Hakimi定理推断可图化 python
介绍: 哈维尔[1955]--哈吉米[1962]算法能够用来判读一个度序列d是否是可图化的. 哈维尔[1955]--哈吉米[1962]定理: 对于N > 1,长度为N的度序列d可以可图化当且仅当 ...
- Spring MVC复选框
以下示例显示如何在使用Spring Web MVC框架的表单中使用复选框(Checkbox).首先使用Eclipse IDE来创建一个WEB工程,并按照以下步骤使用Spring Web Framewo ...
- spring入门之JdbcTemplate 操作crud
Spring 通过调用 JdbcTemplate来实现对数据库的增删改查,主要用到JdbcTemplate类的4个方法,首先,配置数据库信息,创建对象,代码通用: //设置数据库信息 DriverMa ...
- db2 blob EMPTY_BLOB()
--针对BLOG类型的列,写入一个0长度的字符串
- HTML学习笔记——常用元素及其属性(二)
一.HTML表单 -- form标签 -- 与浏览者交互 1.form 标签 -- 代表HTML表单 form标签是成对出现的,以<form>开始,以</form>结束 属性. ...