Octopod:面向家庭与工业的智能 IoT 自动化全能中枢
项目概述
Octopod 是一个模块化、多控制器协作的智能家居/工业自动化原型系统,集成环境监测、安防监控、植物养护、电器控制、门禁管理、AI 视觉识别于一体。核心架构:
- NodeMCU (ESP8266):主采集节点,接入温湿度 (DHT11)、可燃气体 (MQ2)、土壤湿度、PIR 人体红外、RGB LED、2 路继电器,经 WiFi 连接 Blynk App 实现远程监控与控制
- Arduino UNO:RFID 门禁控制器,驱动舵机/电子锁,配绿/红 LED 与蜂鸣器指示授权结果
- Raspberry Pi 3 + Camera:边缘 AI 视觉节点,运行 OpenCV (Haar/LBP 分类器) 实时检测人形,检测到人像即拍照邮件推送,同时提供 MJPEG 实时流(端口 5000)
外壳设计为独特的“立体八面体”纸板/3D 打印结构,兼具美观与功能分区。
核心组件与物料清单
| 模块 | 关键器件 |
|---|---|
| 主控采集 | NodeMCU ESP8266 / Arduino MKR WiFi 1010 / MAX32620FTHR + 外挂 ESP8266 |
| 门禁 | Arduino UNO、MFRC522 RFID、SG90/MG996R 舵机、红绿 LED、蜂鸣器 |
| AI 视觉 | Raspberry Pi 3/Zero W、Pi Camera V2、≥4 GB Class10 TF 卡 |
| 传感器 | DHT11、MQ2、土壤湿度、PIR(可选) |
| 执行器 | 2 路继电器模块、RGB LED、4× 单色 LED |
| 通讯 | HC-05 蓝牙(门禁可选)、WiFi 路由器 |
| 电源 | 2× 移动电源/墙适配器(分供 NodeMCU 侧与 Pi 侧) |
软件栈与关键流程
NodeMCU 固件
- 库:
ESP8266WiFi、BlynkSimpleEsp8266、DHT - Blynk 虚拟引脚映射:V0(PIR使能)、V1(土壤使能)、V5(湿度)、V6(温度)、V7(气体)
- 定时器 1s 上报温湿度;PIR/土壤使能开启时触发推送通知
- RGB LED 对应 zeRGBa 控件(GP15/GP3/GP1),继电器对应按钮(GP16/GP14)
Arduino 门禁固件(两版本)
- 串口版:串口监视器输出 UID 与授权日志
- 蓝牙版:HC-05 透传至手机串口终端,便于现场调试
- 核心逻辑:读取 MFRC522 UID → 与白名单比对 → 授权则舵机转 180° 保持 5 s 复位 + 绿灯/蜂鸣;拒绝则红灯/低音蜂鸣
Raspberry Pi AI 视觉管线
- Raspbian Stretch 全新安装 → 扩展文件系统 → 删除 LibreOffice/Wolfram 释放 1 GB 空间
- 安装依赖:CMake、GTK、FFmpeg、OpenBLAS、Python 2.7/3.5 开发包
- 编译 OpenCV 3.3.0 + contrib(约 4 小时,需将 swap 扩至 1024 MB,编译后恢复 100 MB)
- 建立
cv虚拟环境,安装 NumPy 与项目依赖(requirements.txt) - 配置
mail.py(Gmail SMTP,需开启“低安全性应用”)与main.py(分类器模型、邮件间隔 600 s、翻转画面) - 运行
python main.py,同网段浏览器访问https://<Pi_IP>:5000查看实时流;异地可用 ngrok 穿透
Blynk App 界面配置
- 三仪表盘:温度(V6)、湿度(V5)、气体(V7)
- zeRGBa 控制 RGB、4 按钮控制继电器/使能位
- SuperChart 记录历史趋势
- 第二标签页:Twitter、Email、Notifications、Eventor(定时/条件触发推文/邮件/通知)
机械结构制作
主机外壳(纸板版/3D 打印版)
- 纸板版:9×9.5 cm 矩形 8 张,135° 斜切拼接成立体八面体,亚克力透光纸覆盖三角窗,喷漆 3 遍
- 3D 打印版:提供
.f3d源文件,可直接切片打印
门禁盒
鞋盒喷漆 + 鸭舌胶带格纹装饰,预留 LED/舵机/RFID 窗口。
系统集成与调试
- NodeMCU 侧:大面包板供电总线,传感器/执行器按原理图接线(DHT11→D4、MQ2→A0、土壤→D2、PIR→D6、RGB→D8/Rx/Tx、继电器→D0/D5)
- Pi Camera 穿墙固定于主体一面,Pi 板内置
- 土壤探头伸出外壳,预留 1~2 个三角窗可开合维护
- 上电顺序:NodeMCU 先启动连 Blynk → Pi 启动跑视觉服务 → 门禁独立供电
代码资源
octopod.ino:NodeMCU 主固件(含 Blynk、DHT、传感器、执行器逻辑)octopod_door.ino:Arduino 门禁串口版octopod_door_bluetooth.ino:Arduino 门禁蓝牙版- Pi 端 Python 脚本包:Smart-Security-Camera
- 3D 模型:
octopod_v2.f3d(纸板展开参考)、octo_2_v3.f3d(可打印外壳)
后续规划
作者正在接入 Amazon Alexa 语音控制,预计后续更新代码与教程。
制造工艺
- 树莓派打造家庭自动化系统:手机远程控制灯风扇大门
- 智能窗帘:基于Arduino与太阳能的自动光控系统
- 智能物联网罐:ESP8266 + Arduino + 超声波传感器实时监测罐内物位
- 基于 1Sheeld 的智能家居安防系统:语音/短信控制与入侵报警
- Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
- 使用 SparkFun 7 段数码管构建可靠的 Arduino 倒计时器
- 自制 Arduino 遥控保时捷赛车:从改装底盘到手机 App 控制全攻略
- 基于 Arduino Mega 与物联网传感器的高级家庭监控系统
- 基于 Arduino 与 ESP8266 的 WiFi 智能门锁:手机扫码解锁
- 工业自动化4.0:革新生产效率
- 智能家居技术如何重塑日常生活
- 恶意广告威胁智能家居物联网:隐藏广告可攻陷设备