C/C++:基础编程语言,提供面向对象、泛型编程等能力,是系统级开发的“基石”;
Linux:开源操作系统,提供进程管理、内存管理、文件系统等核心服务,是系统编程的“运行载体”;
系统编程:基于Linux内核接口(如系统调用)开发底层功能(如多线程、设备驱动、内存管理);
Qt:跨平台C++ GUI框架,封装了Linux(X11/Wayland)、Windows、macOS等系统的窗口管理细节,是桌面/嵌入式GUI开发的“上层工具”;
网络编程:基于TCP/IP协议栈实现网络通信,可结合Qt(如QNetworkAccessManager)或原生Linux socket API完成。
项目名称:多层级物联网环境监控系统(设备-网关-用户三层架构)
核心目标:实现环境数据(温湿度/光照)从设备端到用户端的实时上报,支持双向指令控制及历史数据查询。
我的核心职责:
设备层(STM32+WiFi):驱动传感器(DHT22/BH1750)采集数据,通过TCP协议可靠上传至网关;基于FreeRTOS实现多任务并发(采集/上报/异常检测),解决多设备数据竞争问题(共享内存+消息队列)。
网关层(Linux):完成TCP→MQTT协议转换(QoS 1保障可靠性),通过UDP实现局域网设备搜索与配置回发;集成Mjpg_Streamer处理视频流(RTSP转UDP转发,延迟<300ms)。
用户层(Qt客户端):开发堆栈窗体界面(实时监控/设备控制/历史记录/视频监控模块);基于MQTT+JSON实现数据交互(解析/序列化),用Sqlite3实时存储数据流(支持历史查询);集成视频解码与截图功能。
关键成果:支持50+设备并发接入,数据上报延迟<500ms,视频流低延迟传输;系统稳定运行30天无崩溃,满足工业/智能家居场景的实时性与可靠性需求。
视频监控:mjpg-streamer生成流→UDP转发 解码 ,通过QLabel+QTimer(间隔33ms)实现视频帧渲染;支持截图功能(QPixmap::grabWidget捕获当前帧,保存为PNG格式)。
| 角色 | 职位 |
| 负责人 | c++开发工程师 |
| 队员 | UI设计师 |