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

物联网网关

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同步切换,同时启动主平台恢复探测(周期性尝试重连),主平台恢复后平滑切回;所有上行数据在切换期间零丢失——发送队列在主备切换时保持不变,确保数据最终送达。

示例图片视频


张工
30天前活跃
方向: 后端-C、物联网-物联网、
交付率:100.00%
相似推荐
C++分布式RPC框架-AetherRPC
为微服务场景自研的C++ RPC框架,解决服务间高性能通信问题。 核心功能:①服务注册与发现,节点上下线自动感知;②多策略负载均衡(随机/轮询/一致性哈希);③节点故障自动转移,调用方无感切换;④连接池管理与断线指数退避自动重连。适用于后端服务拆分、分布式系统教学与企业内部微服务改造。
面向感知任务的大模型智能体记忆压缩优化系统‑AgentMemoryOpt-AgentMemoryOpt
本系统针对感知类智能Agent存在记忆上下文冗余、token消耗过高问题,设计记忆筛选与压缩算法。实现对Agent历史感知对话、环境观测记录做过滤、摘要压缩,减少大模型输入token开销。提供API接口,可对接各类感知Agent,完成多组对比实验,验证压缩后Agent任务效果损失可控,显著降低调用成本,可用于智能体原型开发与学术研究。
科技门户云平台管理系统
系统以门户首页为总控中心,主要功能模块如下: 【门户首页】提供快捷操作入口(创建虚拟机、上传文件、发布应用、系统备份等)、通知公告、资源概览图表、资源明细卡片(虚拟机/物理机/云存储/容器)、健康状态评分、告警信息、多云平台状态、最近操作日志与活动记录等一站式总览能力。 【资源管理】涵盖虚拟机管理、物理机管理、云存储管理、容器管理,支持资源列表查询、状态监控、使用率统计与资源警报展示。 【运营管理】提供运营分析页面,支持平台运营数据统计、用户行为分析与资源使用趋势可视化。 【监控管理】包含网络拓扑展示、操作系统性能监控、服务器硬件监控、存储信息监控,实时展示 CPU/内存/磁盘/网络等指标及硬件告警。 【业务管理】提供大数据中心对接页面,展示 4A 统一账号认证授权审计管理能力及与大数据平台的集成方案。 【大屏展示】提供全屏数据可视化大屏,集中展示资源使用情况、系统运行状态、告警分布、地理节点及实时数据图表,支持全屏/刷新控制,适配指挥中心展示场景。 【系统管理】涵盖用户管理、角色权限管理(功能权限树形配置)、日志审计(操作记录查询与详情)、系统配置、备份恢复等后台管理能力。 全系统采用暗色科技风 UI 设计(深蓝/紫渐变 + 动态粒子背景),顶部导航与侧边栏双导航结构,响应式布局适配桌面端与移动端。
单机键值存储引擎-kvs-system
项目地址:https://github.com/thedevplus/kvs-system 1、立项背景和目标 基于PingCap的Practical Networked Applications in Rust,使用 Rust 从零实现一个高性能日志结构键值存储系统。目标是深入掌握存储引擎设计(Bitcask 模式)、并发线程池架构、自定义网络协议与性能调优等系统编程核心能力,并通过 Criterion 基准测试与 Sled 等生产级引擎横向对比,验证自研方案的吞吐表现。 2、软件功能、核心功能模块 - Bitcask 存储引擎 (src/kvs.rs):追加写日志 + 内存 HashMap 索引,1 MiB 段轮转,O(1) 点读取经 read_at 定位,后台压缩线程按陈旧条目阈值触发,原子替换索引,WAL。 - 可插拔线程池 (src/thread_pool.rs):统一 spawn API,三种后端——Naive(一任务一线程)、SharedQueue(定长 worker + crossbeam 通道,含 catch_unwind 容错)、Rayon(工作窃取,第三方对比库)。 - 自定义 TCP 线协议 (src/protocol.rs):2 字符 opcode + 双 tab 分隔的行帧格式,手写 Serde 序列化/反序列化,Set/Get 共用 value 帧,错误码内联消息。 - 客户端连接池 (src/client.rs):预建立多条长连接,AtomicUsize 轮询分配请求,读写半分离避免锁竞争,双包 Sd 实现优雅关闭。 - CLI 与库双模式 :支持命令行(kvs-client/kvs-server)和 Rust 库两种调用方式。 3、业务流程、功能路径描述 - 写入路径 :客户端构造 ClientArgs → 协议层序列化为 st 帧 → 连接池原子轮询选连接写入 → 服务端线程池 spawn 处理 → 追加写日志段 + 更新内存索引 → 返回成功响应。 - 读取路径 :客户端发送 gt 帧 → 服务端查询 HashMap 获取 KvPointer{log,pos,sz} → read_at 精确定位读取 → 命中返回值 / 未命中返回 Gn。 - 压缩路径 :后台线程监测陈旧条目达 1000 → 重写活跃记录到新段 → 写锁下原子替换索引 → 两级反压(yield_now + sleep)防止写饥饿。 - 关闭路径 :客户端发 Sd 到池连接置 exit_status 标志 → 再经新 TcpStream::connect 发 Sd 唤醒阻塞的 accept 循环 → 服务端优雅退出。
大众点评开发
1.1 立项背景 大众点评由张涛于2003年4月在上海创立。立项的背景主要有以下几个方面: 时代背景:2003年正值移动互联网开始兴起之际,人们希望能够更方便、更智能地获取餐饮消费等信息。同时,自2003年以来,每年的政府工作报告都明确表示要“扩大内需、刺激消费”,生活服务领域迎来了巨大的发展机遇。 用户痛点:2003—2004年,在上海众多餐馆中寻找合适的就餐地点是一件困难的事情,缺少有效的信息获取渠道。消费者需要一种能够便捷获取本地生活服务商家信息、消费评价的途径。 灵感来源:大众点评受美国《查氏餐馆评鉴》和欧洲《米其林餐饮指南》的启发,结合Web2.0理念而建,初期以餐饮点评信息聚合为核心业务。 1.2 发展目标 大众点评的愿景是“帮助用户找到、发现并体验真实世界的美好”。作为美团公司旗下聚焦本地生活吃喝玩乐的消费方式分享平台,大众点评帮助用户探索和发现城市内外的精彩好去处。 从业务发展来看,平台经历了几个关键阶段: 早期探索(2003年起) :以餐饮点评信息聚合为核心,逐步构建用户评价体系 稳步提升:业务从单纯的餐饮搜索拓展至“吃喝玩乐”全品类,为城市白领提供本地生活服务发表评论、分享信息的平台 合并发展(2015年) :与美团合并,融入新美大商业版图
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服