路内停车物联网扫码支付平板车位锁(嵌入式系统的构思)

功能需求

硬件功能描述
高性能MCU自研高性能超低功耗90nm制程的Cortex-M3内核单片机
实时时钟业务逻辑依赖RTC计时,并且可以在上电和定期使用NTP协议同步北京时间
水浸检测感应雨水洪水,可以设定泡水后的降板功能,并且通知服务器
车位探测内置轻量级神经网络算法框架,精确探测车辆存在与否,不受胶带纸,树叶,灰尘,雨水,光线等影响
故障自检传感器故障,电机故障,通信信号差,SIM卡状态,ICCID,LBS经纬度坐标等上报服务器或者在蓝牙APP端查询
内置存储器可以掉电存储日志,运行参数,固件自动备份,自动恢复,远程OTA升级固件和算法
电池欠压保护内置电池欠压保护电路和防反接保护,防止铅酸电池因为过放电而报废
挡板遇阻反弹内置电流检测电路,适应各种底盘高度的汽车,升板遇阻比例反弹,防止底盘卡住地锁挡板,降板卡板检测并报警
电机电池保护精确检测挡板位置、堵转电流、超时三重保护机制保护电机和电池
语音提示真人发音,上电可以提示故障状态,联网状态,信号质量,电池电压等,升降板提示车主注意挡板的变化
太阳能充电内置太阳能充电管理芯片,可以自主管理充电过程,并且远程可以查看充电电压、充电时长等
软件功能描述
操作系统强大的国产操作系统RT-Thread加持,支持webclient,KV数据库,LWIP协议栈等各种组件,保障嵌入式系统的安全稳定
存储系统存储备份固件和下载固件,参数持久化存储,擦写磨损平衡算法保障外部FLASH存储器寿命
商业级的云服务器使用阿里云、腾讯云等商业服务器,MQTT协议,JSON数据流格式,支持二次开发或者独立平台对接
重连机制内置看门狗和独立守护线程保证主板永不死机,断网自主重连,断通信,断服务器,断基站多级退避机制
远程OTA升级地锁通过http协议自主下载固件升级,不占用服务器资源,可以指定时间段自动升级,升级不影响收费。
二次升板在升板时恶意踩板会触发多次升锁
参数设定可以通过蓝牙APP和远程服务器页面设置地锁各项工作参数,包含检测阈值,免费时段,升板间隔时间,检测间隔时间等参数;可以查询地锁的序列号,故障状态,检测值等参数。也可以进行重启,重置地锁、校准挡板位置传感器等操作。
地锁管理完善的地锁以及SIM卡充值管理后台 地锁将IMEI号,地锁编号,SIM卡的ICCID号,基站编号,小区号,运营商名称,使用无线电频段等信息传递给服务器后台,以便进行地锁的资产管理、资费充值管理、故障远程诊断
超低功耗无论有车无车都始终保持在线,基站低功耗寻呼功能与MQTT心跳机制保障实现百万级终端设备在线,可以实时了解每台地锁的电池电压,CPU温度,工作状态,网络信号,基站等信息,订单关联日志回溯功能可以排查车主计时纠纷问题。
动态加密国密SM3+动态加密算法,支持断网离线开锁

性能指标

主要参数描述
输入电源12V 9Ah铅酸电池
太阳能充电18V 5W,内置太阳MPPT充电管理芯片,自主智能充电管理
车位检测方式微波雷达,红外,地感线圈等多种检测方式
无车检测准确率大于95%
有车检测准确率大于99%
工作功耗小于24W(2A@12V,电机动作电流)
休眠功耗小于0.02W(1.5mA@12V保持TCP长连接)
理论续航大于90天(无太阳能板的情况下)
网络类型4G LTE CAT.1全网通,兼容GSM/GPRS
其他通信蓝牙BLE4.2(用于配置系统工作参数、联网参数、动态秘钥降板等)
车位检测方式微波雷达,红外,地感线圈等多种检测方式

硬件架构

Alt
基于以上功能需求,大概就能可以构思出大致的硬件架构了,硬件上非常简单,主要分为两大板块:
1、放置于车底的检测部分是一个串口模块,模块内有单片机,控制激光雷达,超声波雷达,微波雷达等传感器采样,经过滑动滤波滤波等基础操作以后通过RS485总线与机箱部位的主板进行通信。
2、位于机箱部位的主控板主要进行传感器、位置传感器、电机正反转(升降板)、网络通信、蓝牙通信等控制。完成停车计费,支付结算降板等上层业务逻辑。

桥式电机驱动电路

升降板对于驱动直流电机来说就是控制正反转,那么就需要控制电流的方向,可以采用继电器来控制电机两端的电源极性,当然这种方式对于电池供电来说冲击太大了。H桥是一个比较简单的电路,通常它会包含四个独立控制的开关元器件(例如MOS-FET),它们通常用于驱动电流较大的负载,可以通过单片机调节PWM来控制电机启动电流,防止启动电流过大,并且采样流过电机的电流实现电流环的控制,让电流稳定在某一个值。
在这里插入图片描述

软件架构

RT-Thread 概述

RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。事实上,一个处理器核心在某一时刻只能运行一个任务,由于每次对一个任务的执行时间很短、任务与任务之间通过任务调度器进行非常快速地切换(调度器根据优先级决定此刻该执行的任务),给人造成多个任务在一个时刻同时运行的错觉。在 RT-Thread 系统中,任务通过线程实现的,RT-Thread 中的线程调度器也就是以上提到的任务调度器。

RT-Thread 主要采用 C 语言编写,浅显易懂,方便移植。它把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。针对资源受限的微控制器(MCU)系统,可通过方便易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 版本(NANO 是 RT-Thread 官方于 2017 年 7 月份发布的一个极简版内核);而对于资源丰富的物联网设备,RT-Thread 又能使用在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,无缝地导入丰富的软件功能包,实现类似 Android 的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。

相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此以外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合。虽然 32 位 MCU 是它的主要运行平台,实际上很多带有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列级别 CPU 的应用处理器在特定应用场合也适合使用 RT-Thread。

组件和软件包搭配

在这里插入图片描述

基本业务逻辑

业务逻辑是基于时间和事件的状态机,系统内运行有主业务,蓝牙通信,网络通信,控制台等线程,这些线程通过RT-Thread多线程、邮箱、消息队列、信号量等IPC机制进行协同工作。
地锁状态在空闲、入场、锁车、支付等待离场之间切换。

部分成果演示

系统启动过程

系统上电启动后经BootLoader加载APP镜像:
1、APP启动,创建串口,PWM设备,传感器等驱动程序,加载文件系统;
2、初始化数据库,网络接口,物联网SDK等;
3、启动自检程序进行传感器,位置传感器,电机,网卡等扫描和检测;
4、等待网络注网成功,获取小区号,LBS定位经纬度,ICCID等蜂窝网参数;
5、使用NTP协议同步时间;
6、开始上报基础设备信息和设备状态;
7、按照预定的逻辑运行:检测->心跳->接收指令->休眠等操作
请添加图片描述

升降板的实现

上图的串口日志中可以看到,锁在收到远程下发的升板指令以后执行了升板操作,升降板过程中会启动PID算法,电流环和位置环会作为反馈给PWM输出信号,用以调节启动电流和控制挡板停留的位置。
在完成了升降板以后,系统会记录本次的挡板位置和本次升降板过程中统计到的最高电流,最低电流,平均电流等参数,传输至后台管理系统,用以进行机械故障分析等。

远程OTA升级固件

请添加图片描述

技术交流

WX搜索:uutotoyang

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值