程序聚合 软件案例 物联网网关

物联网网关

2026-07-03 10:36:43
行业:物联网
载体:嵌入式软件
技术:Keil MDK

业务和功能介绍

本产品旨在解决工业物联网场景下,传感器终端设备数据无法远程采集、设备无法远程管理与配置的痛点。在电力设备在线监测、工业设备状态监控等业务场景中,大量分散部署的传感器需要通过低功耗无线方式将采集数据汇聚上传至云平台,同时接收云平台下发的配置指令、参数调整、固件升级等操作。传统有线采集方案布线成本高、部署不灵活,而纯无线方案又面临数据可靠性、安全性和实时性的挑战。本网关通过 BLE+4G 双模通信架构,实现了传感器数据的高效汇聚与云端同步,填补了工业现场低功耗传感器到云平台之间"最后一公里"的通信链路空白。

项目实现

"我"负责该物联网网关从底层驱动到应用层协议的全栈嵌入式软件开发,核心工作包括:(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)和备用MQTT Broker两套连接上下文,独立管理各自的KeepAlive心跳定时器,主循环中通过MQTT PINGRESP超时检测(默认1.5倍KeepAlive时间)判断主平台是否存活,主平台故障时自动将上行数据发布Topic切换至备用平台、下行订阅Topic同步切换,同时启动主平台恢复探测(周期性尝试重连),主平台恢复后平滑切回;所有上行数据在切换期间零丢失——发送队列在主备切换时保持不变,确保数据最终送达。

示例图片视频


张工
5天前活跃
方向: 后端-C、物联网-物联网、
交付率:100.00%
相似推荐
某手机厂商-云控项目
云控是一款云端跨终端配置管理平台,全面适配某手机厂商旗下手机、电视、平板、汽车等各类智能终端设备,核心面向终端内置各类APP,提供云端配置文件动态更新、下发管控全流程能力,支撑业务无需客户端版本迭代,即可完成功能配置调整、策略灰度上线、参数动态更新,极大提升终端业务迭代效率与运营灵活性。 平台核心覆盖四大核心业务能力,全方位支撑云控业务落地:一是配置云端更新与下发,支持多终端、多APP配置文件的统一管理、远程推送与动态更新,保障终端配置实时生效;二是全维度数据管控,搭建完整的数据管理、数据统计、数据预估体系,支撑业务精准把控配置下发态势;三是大数据实时计算分析,实现配置下发数量预估、下发数据实时统计,解决业务数据无量化、展示不直观的痛点;四是高可用服务支撑,负责平台架构运维、性能优化、成本管控及业务对接,保障平台高并发、低成本稳定运行,同时为各业务方提供日常技术支持与需求对接服务。
Stack栈数据管理-stack.cpp
栈(Stack)数据结构实现 项目概述 本项目使用C++语言,基于单向链表实现了一个完整的栈数据结构。栈是一种后进先出(LIFO,Last In First Out)的线性表,所有操作仅在栈顶一端进行。本项目将栈的底层实现细节完全封装,对外提供简洁、安全的操作接口。 功能模块与API说明 核心操作(O(1)时间复杂度) · push(int value):将元素压入栈顶。动态创建新节点,挂接到链表头部,栈顶指针上移,元素个数自增。 · pop():弹出栈顶元素。保存栈顶节点,栈顶指针指向下一节点,释放原栈顶内存,元素个数自减。若栈为空,输出错误提示。 · top():返回栈顶元素的值(不删除)。直接读取栈顶节点的数据域。若栈为空,返回-1并输出错误提示。 辅助操作 · isEmpty():判断栈是否为空。检查栈顶指针是否为nullptr,时间复杂度O(1)。 · size():返回栈中元素个数。直接返回count成员变量,时间复杂度O(1)。 · clear():清空栈。循环pop所有节点,释放全部内存,重置栈顶指针和计数器。 资源管理 · 构造函数:初始化栈顶指针为nullptr,计数器归零。 · 析构函数:自动调用clear()释放所有动态分配的内存,确保无内存泄漏。
智慧监控及算法识别监管
1.本项目是一个面向加油站场景的智能视频监控系统,核心业务是 油罐车卸油作业的全程自动化监控与合规检测。系统通过海康威视 SDK 拉取摄像头实时视频流,利用 YOLO 目标检测 + YOLOv8-pose 姿态估计进行实时分析,自动完成"油罐车到达 → 静电消除 → 接地线连接 → 消防器材就位 → 卸油中持续监控 → 油罐车离开"的全流程合规检查,并自动录像归档。同时具备通用的事件规则引擎、动作识别、运动检测、音频检测等能力。 2.业务用途: 通用的规则评估与事件触发引擎,基于区域人数/物品统计和时间窗口判断是否触发告警事件。
异构边缘实时信号处理与通信系统
用 STM32MP257 和 ESP32-S3 搭了一套双芯片系统。M33 负责硬实时采集和控制,A35 跑 Linux 做复杂一点的推理和通信,ESP32-S3 当无线通信模块用和安全模块。数据通过 MQTT 传到 Docker 后端存储和可视化。训练框架 PyTorch,边缘推理引擎 ONNX Runtime,可视化 TensorBoard + Plotly。从硬实时控制芯片到云端训练,再到边缘端异构部署 的全栈式群体智能系统。系统底层采用 STM32MP257(A35+M33+NPU)与 ESP32-S3 双芯异构架构,确保微秒级安全响应与高算力 AI 推理共存;中层通过 EMQX + TimescaleDB + Grafana 实现千万级消息的实时数据中枢与时空可视化;上层接入课题组的多智能体强化学习(MARL)算法库(HetDPS、LazyAgents、MADPS 等),解决异构集群在稀疏奖励、通信受限、责任分散等挑战下的协同决策问题。
基于CloudStack实现可视化管理端与后端服务
1.企业用来构建内部私有云,将现有硬件资源池化,为内部用户提供按需、弹性的计算环境 2.能统一管理 KVM、VMware、XenServer 等多种主流 hypervisor 3.CloudStack 是异构虚拟化的,能统一管理 KVM、VMware、XenServer 等多种主流 hypervisor。它采用 “区域(Zone) -> 集群(Cluster) -> 主机(Host)” 的三层资源模型,将物理资源进行逻辑分组。区域(Zone)通常对应一个数据中心,集群(Cluster)内的主机共享存储,支持虚拟机在线迁移
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服