Skip to content

Repository files navigation

🏠 基于 OneNET 云的远程居家监控系统

运行于 GEC6818 开发板的嵌入式智能家居监控项目 支持本地交互 + 传感器采集 + 远程控制 + 云平台扩展


✨ 项目简介

本项目基于嵌入式 Linux 平台开发,结合 触摸屏交互、环境传感器采集、设备控制以及网络通信,实现一个完整的智能家居监控系统。

系统支持本地 UI 操作,同时预留 OneNET 云平台扩展接口,可实现远程监控与控制,适用于:

  • 📘 嵌入式 Linux 课程设计
  • 🌐 物联网(IoT)实训项目
  • 🧪 开发板综合实验
  • 💼 毕业设计/项目展示

🚀 核心功能

🖥️ 人机交互界面

  • 800×480 LCD 彩色触摸屏
  • 多页面 UI(封面 / 菜单 / 功能模块)
  • 支持点击 + 滑动操作

🖼️ 电子相册

  • 按钮切图(上一张 / 下一张)
  • 手势滑动切换
  • 百叶窗动画过渡效果
  • UI 流畅切换体验

🌡️ 传感器监测

集成多种环境数据采集:

  • 烟雾浓度(MQ2)
  • 光照强度
  • 温度
  • 湿度
  • 气压(GY39)

📊 实时数据显示 + 页面刷新


🚨 智能报警系统

基于温度阈值的蜂鸣器报警策略:

温度区间 报警方式
≥ 28°C 慢速报警
≥ 30°C 加快报警
≥ 33°C 急促报警

👉 温度越高,报警越频繁


💡 LED & 蜂鸣器控制

支持两种控制方式:

📱 本地触摸控制

  • 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 last

TCP 示例

arm-linux-gcc client/tcp_client.c -o tcp_client
arm-linux-gcc server/tcp_server.c -o tcp_server

▶️ 运行方式

chmod +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*

📌 注意: 不同开发板设备节点可能不同,需要在源码中调整路径。


🌐 TCP 通信说明

默认配置:

#define SERVER_IP "127.0.0.1"
#define SERVER_PORT 8888

📌 如果跨设备通信:

  • 修改 SERVER_IP 为服务端实际 IP
  • 确保网络互通

☁️ OneNET 云扩展(未来方向)

当前系统已具备:

✅ 本地采集 ✅ 数据展示 ✅ 设备控制

可进一步扩展为完整 IoT 系统:

  • 📤 上传环境数据(温湿度 / 烟雾 / 光照)
  • 📥 云端下发控制指令(LED / 蜂鸣器)
  • 📊 历史数据可视化(曲线 / 报警记录)
  • 📱 手机 App / Web 页面远程监控

💡 项目亮点总结

  • 🧠 完整嵌入式系统闭环(输入 → 处理 → 输出 → 网络)
  • 🎨 图形界面 + 动画效果(百叶窗)
  • 🔄 多模块协同(UI / 传感器 / 控制 / 网络)
  • 📡 可扩展 IoT 云平台
  • 🎮 增强交互体验(小游戏)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages