成都 html5网站,国外案例网站,适合35岁女人的培训班,安装wordpress时出现空白摘要
针对电动自行车实时监管不便的问题#xff0c;设计了一种基于STM32的电动自行车信息采集系统#xff0c;通过获取电池、位置和行驶状态信息并上报到服务器中#xff0c;实现实时监管。
通过多路串口请求电池、行驶状态和位置信息#xff0c;以并发方式进行数据接收、…摘要
针对电动自行车实时监管不便的问题设计了一种基于STM32的电动自行车信息采集系统通过获取电池、位置和行驶状态信息并上报到服务器中实现实时监管。
通过多路串口请求电池、行驶状态和位置信息以并发方式进行数据接收、解析、模块控制和数据上报等操作
为方便系统软件升级将系统存储器分为Bootloader区、APP区、Download区和数据区并设计了Bootloader使系统具有在线升级功能。
引言
目前电动自行车在我国市场上有很大的保有量给人们的生产生活带来了便利但也存在违规停放、超速、被盗等问题因此如何实时监督电动自行车是当下亟待解决的问题。
监管电动自行车需要实时获取它们的位置、行驶状态、电池状态等信息由电池管理系统输出。
根据STM32单片机高性能、低功耗的特点结合开源嵌入式操作系统RT-Thread上下文切换速度快、体积小、实时性好的优势利用STM32搭载RT-Thread操作系统以并发的方式采集和缓存位置、行驶状态、电池状态等相关数据后上报到服务器中并监测实现了电动自行车的实时监管。
总体设计
系统可以分为主控模块、蓝牙广播模块、GPS模块、4G模块、内部电压监测模块。
主控模块包括单片机、外部FLASH和RS485接口电路负责解析接收的数据缓存后发送至上传模块同时控制系统通过串口进行本地升级或通过4G网络进行在线升级。
行驶里程和登录服务器的账号密码是系统掉电后不能消失的数据需要保存到外部Flash中。
单片机通过RS485串口发送请求帧向控制器和电池管理系统请求数据在接收到控制器和电池管理系统发送的数据帧后进行解码获取行驶状态和电池状态等。
GPS模块使用GPS获取系统当前位置信息通过串口发送至主控模块主控模块将数据解码后获取电动自行车的位置信息。
由于系统每次上传的数据量少场景变化大且要尽量节省流量因此使用MQTT协议进行数据传输。 4G模块在4G网络下通过MQTT协议将主控模块发送的数据上传到服务器中考虑功耗因素每30s上报一次。
加入内部电池使系统在电动车停车或故障后依然可以工作。 ACC有效时外部电池给系统供电同时主控模块开启充电模块内部电池充电ACC无效时关闭充电模块。
电压监测模块负责监测内部电池电压由单片机通过IIC接口控制在内部电池电量低于20%时关闭内部电池供电防止内部电池过度放电。 分区设计 首先对存储程序和数据的Flash进行分区 Bootloader程序设计
Bootloader是一段被固化在内部Flash的APP区是系统上电复位后最先执行的程序。
上电复位后首先检查更新标志位如果有更新标志将程序从外部Flash的Download区复制到内部Flash的APP区再关闭所有中断防止由于静电干扰触发中断信号导致跳转失败然后跳转到APP区的起始地址。 盲区缓存程序设计
如果设备进入网络盲区采集到的数据便无法发出影响电动自行车的监测所以需要保存盲区中的数据并在离开网络盲区后依次发送。
考虑到电动自行车大多在有网络覆盖的区域行驶进入盲区的时间很少所以在盲区中保存帧每种类型的数据即保存分钟的数据。当数据多于帧后从第帧开始依次覆盖。设备离开盲区后依次发出缓存的数据如果在发送过程中采集到了新的数据则先将新数据保存等盲区中的数据发送完成后再发送新数据。