本产品旨在解决工业物联网场景下,传感器终端设备数据无法远程采集、设备无法远程管理与配置的痛点。在电力设备在线监测、工业设备状态监控等业务场景中,大量分散部署的传感器需要通过低功耗无线方式将采集数据汇聚上传至云平台,同时接收云平台下发的配置指令、参数调整、固件升级等操作。传统有线采集方案布线成本高、部署不灵活,而纯无线方案又面临数据可靠性、安全性和实时性的挑战。本网关通过 BLE+4G 双模通信架构,实现了传感器数据的高效汇聚与云端同步,填补了工业现场低功耗传感器到云平台之间"最后一公里"的通信链路空白。
项目主要功能模块包括:(1)BLE主机扫描与多从机白名单管理模块,支持最多30台传感器从机设备的认证接入与按需轮询连接;(2)4G蜂窝网络通信模块,通过Air780E模组实现LTE Cat.1联网,基于MQTT协议与云平台双向数据交互;(3)自定义应用层协议引擎,支持命令ID/功能码两级路由,涵盖参数配置、波形数据传输、日志查询、历史数据读取、传感器标定等全业务流程;(4)安全认证模块,基于SHA-256挑战-应答机制实现网关与从机之间的双向身份鉴权;(5)传感器波形数据高效传输组件,采用复合帧打包技术将4个原始采样帧合并发送,减少75%的4G发送次数,显著降低流量消耗和传输延迟;(6)自检测试模块,支持BLE校时和4G数据发布的全链路自动化验证;(7)系统容错与运维功能,包含独立看门狗、HardFault异常现场持久化日志、空指针全链路防御、BLE数据锁防混淆、4G模块断线自动重连保序等机制;(8)远程固件升级(OTA)模块,通过4G模块从云平台下载bin固件包,采用双分区(A/B分区)存储架构,升级失败时自动回滚至上一版本,确保设备"永远不死",支持断点续传与完整性校验;(9)双平台冗余切换模块,同时连接主备两套MQTT云平台,实时检测主平台心跳状态,一旦主平台无响应则自动无缝切换至备用平台,并在主平台恢复后平滑切回,实现网络连接可靠性最大化,杜绝单点故障导致的数据丢失和指令丢失。
"我"负责该物联网网关从底层驱动到应用层协议的全栈嵌入式软件开发,核心工作包括:(1)基于STM32WBA52平台完成HAL库外设全驱动配置,涵盖USART+DMA串口通信、GPIO指示灯控制、RTC时钟同步、IWDG独立看门狗、TIM定时器调度、Flash双分区固件存储;(2)基于ST BLE协议栈(STM32_WPAN)实现中央主机模式:从机广播扫描与SN前缀过滤、GATT服务发现与服务特征值枚举、Notification分片拼包及CCCD描述符使能;(3)基于分层状态机架构实现Air780E 4G模块的AT指令8阶段初始化链和MQTT紧凑字节流环形发送队列(50KB,支持断线重连保序、CME ERROR 767退避保护、损坏条目跳过);(4)设计实现自定义二进制应用层协议,包含帧头帧尾四层校验链、命令ID+功能码两级路由、流控帧ACK/NACK序号确认与丢包重传机制;(5)实现SHA-256挑战-应答双向安全认证与白名单Flash持久化;(6)实现系统级容错:HardFault异常寄存器捕获+备份寄存器持久化日志、全API空指针防御宏、IWDG看门狗复位原因诊断、BLE数据锁4状态机防止多从机数据混淆;(7)实现远程OTA升级系统:MCU内部Flash划分为Bootloader区、A区(运行区)和B区(升级区),通过MQTT订阅固件升级Topic接收bin分片数据包,支持分片序号校验、MD5/SHA-256完整性校验,下载完成后写入B区并设置升级标志,复位后Bootloader校验B区固件合法性,合法则跳转B区运行(A/B角色互换),若B区固件校验失败或新固件运行异常(启动超时/连续HardFault),Bootloader自动回滚至A区原固件,保障设备在线升级零风险;(8)实现双平台冗余切换系统:同时维护主MQTT Broker(101.126.154.219)和备
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论