Open-source Smart Home solution. Easy-to-use
SmartHomeBartOS
比赛/竞技、ESP32
⭐☆☆☆☆ (1/5)
🧩 软硬件结合
已发布
项目简介
开源智能家居方案,易用。
开源智能家居解决方案。易于使用。
标签
项目特点
支持 ESP32、ESP8266 和树莓派多种硬件平台,灵活适配不同场景
基于 MQTT 协议实现设备间高效、低延迟的通信
提供 RESTful API 接口,方便与其他系统或应用集成
前端采用 React + MobX 构建,界面响应迅速、交互流畅
后端基于 Quarkus 框架,启动快、资源占用低
模块化设计,易于扩展和自定义功能
技术规格
| 支持的硬件 | |
|---|---|
| 通信协议 | |
| 后端框架 | |
| 前端框架 | |
| 编程语言 | |
| 固件平台 | |
| 系统要求 | |
| 部署方式 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32 开发板 | 1 | — | 可选 ESP8266 |
| Raspberry Pi 3/4 | 1 | — | 用于运行后端服务 |
| DHT11/DHT22 温湿度传感器 | 1 | — | 可选 |
| 继电器模块 | 1 | — | 控制灯光/电器 |
| MQTT Broker (如 Mosquitto) | 1 | — | 软件组件 |
| 5V 2A 电源适配器 | 1 | — | 为树莓派供电 |
| 杜邦线(公对母/公对公) | 若干 | — | 连接传感器和主控板 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| Arduino IDE | 编写和烧录 ESP32/ESP8266 固件 | ✅ 是 |
| VS Code | 编辑前端/后端代码 | ▢ 推荐 |
| Node.js | 运行前端开发环境 | ✅ 是 |
| Java JDK 11+ | 编译和运行 Quarkus 后端 | ✅ 是 |
| Maven 或 Gradle | 构建后端项目 | ✅ 是 |
| Mosquitto 或类似 MQTT Broker | 设备间消息中转 | ✅ 是 |
| Git | 版本控制和代码同步 | ▢ 推荐 |
能力画像
**记忆与知识检索**:2/5 — 项目本身不涉及知识库或数据持久化,但可通过扩展集成数据库
**动手与操作**:4/5 — 需要动手连接传感器、烧录固件、部署服务,硬件操作较多
**编程与算法**:3/5 — 涉及 Arduino C/C++、Java 后端和 React 前端编程,算法复杂度不高
**设计与建模**:2/5 — 主要遵循现有架构,自定义功能需一定的系统设计能力
**实验与调试**:4/5 — 硬件调试、MQTT 通信测试、前后端联调都需要反复实验
**协作与分享**:3/5 — 开源项目,可通过 GitHub Issues 和 PR 协作,但社区较小
**学习与研究**:4/5 — 涵盖 IoT、MQTT、RESTful、前后端全栈,学习价值高
**系统集成**:3/5 — 支持 RESTful API 和 MQTT,可与其他智能家居系统对接
项目图库
所需技能
基本的电子电路知识(连接传感器、继电器等)
Arduino 或 C/C++ 编程基础(用于固件开发)
Java 后端开发基础(Quarkus 框架)
JavaScript/React 前端开发基础
MQTT 协议的基本概念和使用
RESTful API 的理解
Git 版本控制基础
Linux 基本命令行操作(树莓派部署)
适用场景
家庭自动化:自动控制灯光、窗帘、空调等设备
环境监测:实时采集温湿度、光照等数据并可视化
远程控制:通过手机或电脑远程开关家电
智能安防:结合传感器实现门窗状态监测和报警
学习 IoT 全栈开发:从硬件到云端的完整实践项目
创客教育:作为智能家居教学案例,培养动手和编程能力