运行于 GEC6818 开发板的嵌入式智能家居监控项目 支持本地交互 + 传感器采集 + 远程控制 + 云平台扩展
本项目基于嵌入式 Linux 平台开发,结合 触摸屏交互、环境传感器采集、设备控制以及网络通信,实现一个完整的智能家居监控系统。
系统支持本地 UI 操作,同时预留 OneNET 云平台扩展接口,可实现远程监控与控制,适用于:
- 📘 嵌入式 Linux 课程设计
- 🌐 物联网(IoT)实训项目
- 🧪 开发板综合实验
- 💼 毕业设计/项目展示
- 800×480 LCD 彩色触摸屏
- 多页面 UI(封面 / 菜单 / 功能模块)
- 支持点击 + 滑动操作
- 按钮切图(上一张 / 下一张)
- 手势滑动切换
- 百叶窗动画过渡效果
- UI 流畅切换体验
集成多种环境数据采集:
- 烟雾浓度(MQ2)
- 光照强度
- 温度
- 湿度
- 气压(GY39)
📊 实时数据显示 + 页面刷新
基于温度阈值的蜂鸣器报警策略:
| 温度区间 | 报警方式 |
|---|---|
| ≥ 28°C | 慢速报警 |
| ≥ 30°C | 加快报警 |
| ≥ 33°C | 急促报警 |
👉 温度越高,报警越频繁
支持两种控制方式:
- LED 流水灯效果
- 蜂鸣器开关控制
通过 SecureCRT / 终端输入命令控制:
open7 打开 led_d7
open8 打开 led_d8
open9 打开 led_d9
open10 打开 led_d10
openall 打开全部 LED
cloze7 关闭 led_d7
cloze8 关闭 led_d8
cloze9 关闭 led_d9
cloze10 关闭 led_d10
clozeall 关闭全部 LED
内置 4 个小游戏:
- 🐍 贪吃蛇(支持分数统计)
- ⚫ 五子棋(支持悔棋)
- 🔢 2048(步数记录)
- 🧱 俄罗斯方块(优化刷新减少闪烁)
👉 用于展示 UI + 触摸交互能力
┌──────────────┐
│ 触摸屏输入 │
└──────┬───────┘
↓
┌──────────────┐
│ 页面状态机 │ ← main.c
└──────┬───────┘
↓
┌──────────────┬──────────────┬──────────────┐
│ LCD 显示模块 │ 传感器模块 │ 控制模块 │
│ lcd.c │ uart.c │ beepled.c │
└──────────────┴──────────────┴──────────────┘
↓
OneNET 云扩展(可选)
.
├── main.c 主程序(状态机 + 业务逻辑)
├── lcd.c/.h LCD 显示驱动
├── bmp.c/.h BMP 图片显示 & 动画效果
├── touch.c/.h 触摸屏输入处理
├── beepled.c/.h LED / 蜂鸣器控制
├── uart.c/.h 串口通信(传感器数据)
├── word.c/.h 字符绘制
├── client/ TCP 客户端示例
├── server/ TCP 服务端示例
└── *.bmp UI 图片资源
arm-linux-gcc main.c word.c beepled.c lcd.c bmp.c touch.c uart.c -o lastarm-linux-gcc client/tcp_client.c -o tcp_client
arm-linux-gcc server/tcp_server.c -o tcp_serverchmod +x last
./6818📌 注意:
- BMP 图片需与程序放在同一目录(如
/tmp) - 程序优先读取
/tmp/xxx.bmp - 若不存在则读取
./xxx.bmp
- GEC6818 开发板(或兼容 ARM Linux)
- 800×480 LCD 屏幕
- 电容/电阻触摸屏
- LED / 蜂鸣器模块
- MQ2、GY39 传感器
- Linux 系统
arm-linux-gcc交叉编译工具链- 串口驱动设备(如
/dev/ttySAC*)
📌 注意: 不同开发板设备节点可能不同,需要在源码中调整路径。
默认配置:
#define SERVER_IP "127.0.0.1"
#define SERVER_PORT 8888📌 如果跨设备通信:
- 修改
SERVER_IP为服务端实际 IP - 确保网络互通
当前系统已具备:
✅ 本地采集 ✅ 数据展示 ✅ 设备控制
可进一步扩展为完整 IoT 系统:
- 📤 上传环境数据(温湿度 / 烟雾 / 光照)
- 📥 云端下发控制指令(LED / 蜂鸣器)
- 📊 历史数据可视化(曲线 / 报警记录)
- 📱 手机 App / Web 页面远程监控
- 🧠 完整嵌入式系统闭环(输入 → 处理 → 输出 → 网络)
- 🎨 图形界面 + 动画效果(百叶窗)
- 🔄 多模块协同(UI / 传感器 / 控制 / 网络)
- 📡 可扩展 IoT 云平台
- 🎮 增强交互体验(小游戏)