基于STM32的智能GPS定位系统(云平台、小程序)

本文介绍了一种基于GPS的电瓶车防盗系统设计方案,利用STM32与4G模块进行数据传输,并通过低功耗技术减少能耗。系统还计划加入电子围栏等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------------------------------如需源码或成品可以私我------------------------------

背景及目标

前阵子,准确的说是好几个月前买了一辆电瓶车,当时呢因为车停得很随意,所以想给小电驴装一个GPS,一方面是防盗,另一方面是为了测速和绘制骑行轨迹,要是能联动电瓶车状态远程监测就更好了。当然我尽可能的在不改装电瓶车原有电路的基础上实现,毕竟改装有风险。

当然也有人说:现在的很多电瓶车不都可以手机控制、定位啊之内的。但是作为一名物联网工厂专业的毕业生,刚好手头有几块正点原子的GPS模块和STM32、ESP8266、以及传感器若干。初步思路呢是在正点原子原有GPS代码基础上加上一些条件触发位置更新,同时加入ESP8266完成数据上传(后期会换成4G模块)。

用户可以通过小程序实时了解一些定位信息,和设备运行信息,比如GPS信号强度、电池剩余电量之类的。同时也实现对定位的手动更新,因为后期我打算使用一些低功耗手段,让这套系统的功耗尽可能降低,比如获取定位可以从自动更新改变为位置移动后主动上传和手动更新两种方法,尽可能减少不必要的通信。

目前还有一个想法就是加入电子围栏,这个功能感觉实现也不是很难,后面再看吧。

背景及目标更新时间:2022年12月4日00:42:34

应用范围

这套基于GPS的定位系统其实适用范围是非常广泛的,我们可以做成电动车或者自行车的防丢,野生动物保护、以及农场养殖(比如牛羊)

开发日志

1、时间:2022年12月4日00:49:09

完成了对OLED屏幕的显示,目前整体可以实现GPS数据上传onenet(基于8266)

4G模块使用DTU固件可以实现onenet平台的链接,并且数据可以正常上传

如何找到我

如果你也喜欢嵌入式,可以一起交流。

下面开始正式的内容干货**********************************************************************************

先放几张实物图吧,是目前正在做的版本

更新线-------------------------------------2022年12月11日21:18:48------------------------------------

成功打通STM32和4g模块

stm32和4G模块的配合我还是头一回,4G模块使用和宙的air724UG模块配合DTU固件。

之所以没有使用AT指令去配4G模块是因为我只想让stm32做好主控部分的事情,与网络平台的连接交给4G模块去做。

后期打算让STM32在发完数据后就进入低功耗模式,与平台之间的数据交换留给4g模块去做

说了这么多开始进入主题:

1、4g模块与onenet之间的链接

银尔达4g模块如何链接ONENET云平台,这个步骤直接参考银尔达官方的文档就好,非常详细

下面给出一个链接吧,自行参考:

更新线-------------------------------------2022年12月11日21:18:48------------------------------------

完成了STM32和4G模块的初始化内容,初始化的目的在于确保模块联网工作,并且后面更新模块配置时也可以确保数据可以及时更新,贴个图吧

分界线------------------------------------------------------------------------------------------------------------------------

2023年3月10日,好久没有更新这个项目了,后续会尽量更新一下,目前初步打算使用Lora配合GPS实现,这样的话可以降低大范围分布的成本,只需要一个网关节点和众多子节点即可,后续也可以改为智慧城市控制系统。

目前正在进行的是Lora模块通信的打通,及协议的制定

### 实现STM32小车远程控制的方案 为了实现通过随身Wi-Fi和4G模块对基于STM32的小车进行远程控制,可以采用分层架构设计来简化开发流程并提高系统的可靠性。 #### 1. 系统结构概述 整个控制系统由三部分组成:客户端应用、云端服务器以及车载控制器。其中,车载控制器负责接收来自云平台下发的操作指令并通过驱动电机完成相应动作;而客户端应用程序则用于发送操作命令给云服务端口[^1]。 #### 2. 车载硬件配置 - **核心处理器**:选用高性能低功耗的STM32系列单片机作为主控单元; - **无线通信模块**:集成ESP8266 Wi-Fi模块连接至本地路由器形成局域网环境,并配备SIM7000E 4G Cat M1/NB-IoT模块提供广域数据传输能力; - **电源管理电路**:确保各个组件稳定供电的同时支持多种输入电压范围; - **传感器接口扩展板**:便于后续功能拓展如加速度计、陀螺仪等感知设备接入[^2]。 #### 3. 数据交互协议制定 定义一套简单易懂的数据包格式用于表示不同类型的请求消息及其参数列表。例如,“前进”可被编码成特定字符串或二进制序列,在接收到该信号后MCU会解析其含义进而调用对应API函数改变马达状态以执行实际运动行为。 #### 4. 客户端软件编写 利用Python或其他高级编程语言快速搭建图形界面程序供用户直观操控模型车辆。此阶段需重点考虑用户体验优化方面的工作,比如按钮布局合理性、反馈机制及时性等问题。此外还需注意网络安全防护措施以免遭受恶意攻击影响正常使用体验。 ```python import socket def send_command(command_str): """向指定IP地址的目标机器发送自定义命令""" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: host_ip = 'YOUR_SERVER_IP' # 替换成真实的服务端公网ip port_num = 9999 # 设置监听端口号 s.connect((host_ip, port_num)) s.sendall(command_str.encode()) response_data = s.recv(1024).decode() print(f"Received from server:{response_data}") finally: s.close() if __name__ == "__main__": cmd_input = input("请输入要发送到小车上的命令:") send_command(cmd_input) ```
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值