2.6 基于ARDUINO UNO+MC20的路径显示功能

article/2025/9/13 3:21:29

需要准备的硬件

  • 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

使用代码源码位置:
TB2OI1JhZLJ8KJjy0FnXXcFDpXa-63891318.png

功能:

使用ARDUINO UNO板子发送GPS定位的经纬度到中国移动的Onenet服务器,然后用网页端看地图路径
现在的代码基本上已经把ARDUINO UNO的RAM资源用完了,总共2K的RAM,已经用了95%左右了。
如果想添加其他功能或者想稳定,建议换ARDUINO mega2560的板子,RAM空间大,而且有4组硬件串口可用。不用用虚拟的串口。
下载程序和调试也都方便很多。

测试流程:

  1. 打开中国移动的OneNet网站,注册账号并登陆,这里省略,相信大家都能搞定。
    https://open.iot.10086.cn/
  2. 创建项目流程,请参考官方教程:
    https://open.iot.10086.cn/doc/art243.html#66
    但是最后一步要注意,我们需要选择
    设备接入方式-->公有协议
    设备接入协议-->HTTP
    其它的都可以随意写,不影响测试
  3. 获取APIKEY
    TB2V3J_h3LD8KJjSszeXXaGRpXa-63891318.png
    设备ID是在设备管理里面自己新建的,名称什么的都可以随便写,记录下这个ID
    https://img.alicdn.com/imgextra/i2/63891318/TB2EM8Wh22H8KJjy0FcXXaDlFXa-63891318.png
  4. 修改代码中的APIKEY和设备ID为自己的
const char device_id[] = "3225187";    //修改为自己的设备ID
const char API_KEY[] = "R9xO5NZm6oVI4YBHvCPKEqtwYtMA";    //修改为自己的API_KEY
  1. 代码编译正常通过
    TB2jo8gcMjN8KJjSZFkXXaboXXa-63891318.png
  2. 把程序下载进ARDUINO UNO开发板
    然后根据连接图连接MC20板子和UNO板子,因为接上线就会影响下载程序了,下载程序和接MC20模块的D0和D1两个IO是复用的。
    TB2dItQhxPI8KJjSspoXXX6MFXa-63891318.png
  3. 这里如果你想要看到调试信息,可以用一个USB-TTL模块接调试输出的那个虚拟串口,如果不想知道就不用接打开串口调试助手,对应那个USB-TTL模块,等待接收调试信息
    TB21wBPhwfH8KJjy1zcXXcTzpXa-63891318.png
  4. 打开arduino开发环境内的串口监视器,观看程序发送出去的指令效果
    TB2ypquh_vI8KJjSspjXXcgjXXa-63891318.png
    上面的CPIN指令可以查询是否插入识别SIM卡,如果卡在这里,往下不执行,说明没识别你用的SIM卡,检查下是否为移动联通卡,或者是否卡插正确,
    而CREG指令可以获取现在的SIM卡是否已经有服务信息了。
    在USB-TTL对应的串口可以看到发送给MC20和MC20返回的数据的调试信息
    TB29SOsh22H8KJjy1zkXXXr7pXa-63891318.png
    刚开机时候因为GPS没定位到,看到调试信息是GPS DATA is not usefull
    耐心等待,记得GPS天线一定是要在室外,以为室内没卫星信号,或者说卫星信号不穿墙,
    当GPS定位到可以粗略以MC20板子上的PPS指示灯闪烁为准,当PPS闪烁就基本上定位到了,
    有经纬度输出了。
    当定位到经纬度,就会连接Onenet服务器然后发送数据了,我们能在arduino的串口看到Post数据流
    https://img.alicdn.com/imgextra/i3/63891318/TB2DUkrcKLM8KJjSZFqXXa7.FXa-63891318.png
    在调试串口看到服务器返回的信息,发送数据成功 succ
    https://img.alicdn.com/imgextra/i1/63891318/TB2Efadh8DH8KJjy1zeXXXjepXa-63891318.png
  5. 到这里就可以在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定位时候,数据就会准确起来。
    然后就可以自己出去走一圈看下路径记录了。
    当我们出去不用电脑看调试信息时候,可以看ARDUINO板子上的L指示灯,每上传一组定位数据,L的指示灯会切换下状态,比如从亮变灭,或者灭变量。一般大概10秒左右能上传一组数据。
    所以当你看到L指示灯在切换状态,那说明至少已经发送数据了。
  6. 当然你也可以自己研究下Onenet后台的应用,可以添加地图信息成为某个网页,网页可以直接公布给别人直接看定位,不过目前Onenet的应用只支持显示单个点。
    另外也可以在Onenet官网最下面的二维码下载手机app,用手机观看定位效果。
    以前app也可以看路径的,现在官方软件更新目前这个功能不让用,期待某一天更新版本重新能手机看路径。
    上传一张显示路径的测试效果图
    https://img.alicdn.com/imgextra/i1/63891318/TB2O4l2h8HH8KJjy0FbXXcqlpXa-63891318.jpg

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


http://chatgpt.dhexx.cn/article/SAS1ZikD.shtml

相关文章

2.2 使用ARDUINO控制MC20发短信

需要准备的硬件 MC20开发板 1个https://item.taobao.com/item.htm?id562661881042GSM/GPRS天线 1根https://item.taobao.com/item.htm?id531979567261IPEX接口转SMA接口转接线 1根https://item.taobao.com/item.htm?id531979903836GPS有源天线 1根https://item.taobao.com/i…

2.4 使用ARDUINO控制MC20进行GPS数据的获取和解析

需要准备的硬件 MC20开发板 1个https://item.taobao.com/item.htm?id562661881042GSM/GPRS天线 1根https://item.taobao.com/item.htm?id531979567261IPEX接口转SMA接口转接线 1根https://item.taobao.com/item.htm?id531979903836GPS有源天线 1根https://item.taobao.com/i…

STM32+MC20实现GPS定位及基站LBS,发送到云平台,可以轨迹回放

使用STM32F103单片机+MC20 无线通信模块,MC20集成GPS、蓝牙、LBS基站定位、GPRS等功能是一款非常强的模块。使用它做一个GPS定位及基站定位,在室内或者隧道等没有GPS信号的情况下,自动切换成基站定位。将数据发送到湖畔物联云平台…

MC20 AT指令无反馈

自己做了一个MC20的小模块板子,今天使用的时候,发现无论我发送什么AT指令,他都没反馈。 确认过了如下这些条件: 1. 波特率115200 2. AT回车换行 3. powerkey一直保持高电平,网络led保持闪烁 然并卵,MC…

4.3 使用STM32控制MC20进行GPRS通讯

需要准备的硬件 MC20开发板 1个https://item.taobao.com/item.htm?id562661881042GSM/GPRS天线 1根https://item.taobao.com/item.htm?id531979567261IPEX接口转SMA接口转接线 1根https://item.taobao.com/item.htm?id531979903836GPS有源天线 1根https://item.taobao.com/i…

stm32+mc20上传gps信息至onenet 可路径显示

开发环境: 芯片: STM32F103C8T6 GSM模块: 移远MC20 开发软件: Keil5 协议 :多协议接入——TCP透传 手机端显示图像 使用STM32F103C8T6 通过串口AT指令控制MC20模块TCP协议,登录OneNet服务器上传GPS数据 。 核心: 串口解析GP…

计算机的功能mc,1.2使用计算机测试MC20模块的GPS功能

使用SSCOM发送指令 ATQGNSSC1 启用模块的GPS功能,这时PPS指示灯将点亮 2. 发送 ATQGNSSRD? 说明,您可以获得GPS NMEA协议数据 开机时上图所示的数据. 每个数据帧中的逗号和逗号为空. 这是因为尚未获得卫星信号. 卫星定位成功后,将填写所有数…

MC20 OpenCPU开发记录

MC20 OpenCPU开发笔记 OpenCPU软件体系结构 资源 32-bit ARM7EJ-STMRISC 260MHz 4MB flash 4MB RAM 串口 提供两个UART端口:MAIN UART、DEBUG UART。分别命名为UART1和UART2。 UART1是9-pin串行接口。UART2是3-wire接口,具有调试功能,…

STM32+移远MC20模块采用MQTT协议登录OneNet上传GPS数据

一、环境介绍 MCU: STM32F103C8T6 GSM模块: 移远MC20 (MT2503D)(GSMGPS共存)功能很强大 开发软件: Keil5 MQTT协议采用OneNet的旧版协议,登录OneNet控制台创建应用时要选择旧版本。 如果想使用新版本的标准MQTT协议连接OnetNet请参考这…

OpenCV-最大极值稳定区域MSER分析

最大稳定极值区域MSER是一种类似分水岭图像的分割与匹配算法,它具有仿射不变性。极值区域反映的就是集合中的像素灰度值总大于或小于其邻域区域像素的灰度值。对于最大稳定区域,通过局部阈值集操作,区域内的像素数量变化是最小的。 MSER的基…

【转载】项目实战—文档区域MSER检测实战(十)

上次已经讨论过相关的理论,这次我们来进行相关的实战。 OCR相关工作都有一个第一步,那就是检测图像中的文本区域,只有找到了文本区域,才能对其内容进行识别,也只有找到了文本区域,才能更有针对性地判断该文…

opencv 中将 MSER 修改成 Hierarchical MSER 方法

http://code.opencv.org/issues/1577 描述 I attach a patch implementing the Hierarchical MSER. It extends the OpenCV MSER implementation to return the underlying component tree used by the MSER algorithm. The tree is returned in the CvSeq tree fields (h_next…

OpenCV实践之MSER/MSCR极值区域检测算法

MSER/MSCR极值区域检测算法 OpenCV中features2d.hpp中MSER类接口实现了MSER极值区域检测算法,MSER类根据输入参数判断是否为彩色or灰度图像进行不同的算法检测。若输入为灰度图像,那么采取MSER极值区域检测算法,若输入为彩色图像,…

MSER仿射不变特征匹配算法

MSER原理简述 个人博客 OpenCV实践之MSER仿射匹配算法 已更新讲述MSER仿射匹配算法代码      区域检测(Region Detection)方法是根据图像中具有某种同类性质的像元进行分类(例如相同像素值大小的点),然后把具有相同性质的像元合并成区域,实现区域的检测即图像分割。MSER…

OpenCV用MSER 算法提取特征区域

计算图像 MSER 的基础类是 cv::MSER&#xff0c;继承自 cv::Feature2D 类&#xff0c;cv::MSER 类的实例可以通过create 方法创建。我们在初始化时指定被检测区域的最小和最大尺寸&#xff0c;以便限制被检测特征的数量&#xff0c;调用方式如下&#xff1a; cv::Ptr<cv::M…

车牌定位之MSER — 文本检测

最大稳定极值区域&#xff08;MSER-Maximally Stable Extremal Regions&#xff09;可以用于图像的斑点区域检测。它是基于分水岭的概念。 SIFT和SURF算法高效实现了具有尺度和旋转不变性的特征检测&#xff0c;但这些特征不具有仿射不变性。区域检测针对各种不同形状的图像区域…

图像局部特征(十四)--MSER特征

原文: http://blog.csdn.net/zhaocj/article/details/40742191 最大稳定极值区域&#xff08;MSER-Maximally Stable Extremal Regions&#xff09;可以用于图像的斑点区域检测。该算法最早是由Matas等人于2002年提出&#xff0c;它是基于分水岭的概念。 MSER的基本原理是对…

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节&#xff0c;文字检测的主要目标是将图片中的文字区域位置检测出来&#xff0c;以便于进行后面的文字识别&#xff0c;只有找到了文本所在区域&#xff0c;才能对其内容进行识别。 文字检测的场景主要分为两种&#xff0c;一种是…

MSRCR

带色彩恢复的多尺度视网膜增强算法&#xff08;MSRCR&#xff09;的原理、实现及应用。 Retinex这个词是由视网膜(Retina)和大脑皮层(Cortex) 两个词组合构成的。Retinex理论主要包含了两个方面的内容&#xff1a;物体的颜色是由物体对长波、 中波和短波光线的反射能力决定的&a…

mser场景文字检测及筛选

发现很多人都用mser,swt等进行场景文字的检测&#xff0c;最近也去实现了一下&#xff0c;虽然swt较新的算法&#xff0c;但实现过程中传统的mser算法反而更稳定&#xff0c;速度也会更快&#xff0c;可能是我还没有完全领会swt的精髓。ps:暂时只做水平及水平倾斜的文字 demo …