zoey不种土豆 发表于 2024-11-25 16:06:17

用行空板M10做一个全屋智能家居控制终端

本帖最后由 zoey不种土豆 于 2024-11-26 14:51 编辑

本项目的作者用行空板M10开发了一款智能家居终端,解决了普遍存在的系统复杂操作、隐私安全性、断网数据未上传、不同品牌App切换和互联等问题。

界面设计
项目概况
项目主要由以下三个部分共同实现:
行空板:处理数据并提供用户界面的枢纽
ESP32:部署在各个房间,用于收集传感器数据和控制设备
本地网络:用于行空板和ESP32节点之间的通信
控制示意图
项目功能①显示实时时钟
②设备控制开关
③查看各房间的温度和湿度等数据
④在不同系统页面(数据仪表盘、参数修改、自动化、设置)之间导航

基于上述项目功能,我们可以总结这个项目的五大特点:
1.实时监控:显示每个房间的当前温度和湿度
2.控制: 控制不同房间的灯、风扇、空调和其他电器
3.直观的界面: 易用的触摸屏界面,以及带有图标的导航
4.可扩展性:一键添加新房间或电器
5.离线操作:核心功能无需联网即可工作

软硬件准备
硬件:
1.行空板M10
2.ESP32 模块 若干
3.各类传感器(用于家电控制的继电器模块)
4.发光二极管 若干

软件:
1.Tkinter GUI:为用户创建与系统交互的界面
2.Socket Programming:启用行空板M10和 ESP32节点之间的通信
3.SON 数据格式:用于设备之间的结构化数据交换
4.线程:允许并发操作,如定期数据更新和用户交互
5.PIL(Python 图像处理库):处理图标和视觉元素的图像处理

分步指南
Step1 连接行空板
连接行空板M10到本地WIFI,访问 Jupyter Notebook,安装库文件后,创建并运行“Smart Home Dashboard”代码。另外还需要准备一些图标文件,把它们上传到 Jupyter 界面,之后就可以在带有智能家居仪表板代码的 Jupyter Notebook 中开始运行数据看板。
Step2 连接ESP32
在 Arduino IDE 添加 ESP32 后,将传感器和用于控制设备的继电器连接到指定的引脚。完成连接后,在 Arduino IDE 选择正确的端口,上传代码至ESP32,并验证连接。在实际情况中,我们通常会添加多个房间和设备,因此,需要对每个房间的设备重复以上操作。
Step3 检查与测试
确保所有终端和模块都连接在同一个 Wi-Fi 下,运行行空板脚本,验证是否可以看到所有房间并控制设备。



界面展示
Room 和 Dashboard 类代码
完成上面的步骤后,一个功能齐全的全屋智能家居控制系统就完成了!有了它,你可以:
√ 控制各家用电器开关
√ 一键添加新的房间或设备
√ 拥有本地化私密性数据安全
√ 个性化定制自己的智慧家居生活
√ 查看各房间的实时温湿度等数据
部分功能展示-控制亮灯
本项目展示了开源软硬件在创建可协同、可定制的智能家居解决方案的强大功能。希望这个案例能让你在智能家居IoT、嵌入式系统编程、网络和UI设计方面有所收获~

作者:tech_nickk
发布时间:2024.10.14
原文链接:UNIHIKER Smart Home Terminal
译文首发于微信服务号“行空板”,欢迎关注

代码下载:

延伸阅读:
行空板+AI|通过监听工业设备运行声音 预报故障
动画片创意实现:Rick's Wrist 瑞克腕表:远程控制智能家居
基于行空板和霍尔传感器做一个无需GPS的运动记录设备



hnyzcj 发表于 2024-11-25 19:19:59

感觉速度很快

rzegkly 发表于 2024-12-14 20:57:10

厉害,触屏速度快进?

zoey不种土豆 发表于 2024-12-16 17:20:59

rzegkly 发表于 2024-12-14 20:57
厉害,触屏速度快进?

稍微加速了下 不然太慢了 文件就很大 下载不了哈哈哈
页: [1]
查看完整版本: 用行空板M10做一个全屋智能家居控制终端