EnigmaIOT

EnigmaIOT

智能家居, ESP32 ⭐⭐☆☆☆ (2/5) 已发布
gmag11 248 Stars MIT BOM 完整度: /5 教程完整度: /5

项目简介

基于ESP8266和ESP32的安全传感器与网关平台。


EnigmaIOT是一个专为无线多传感器系统设计的开源解决方案,旨在解决家庭或小型场景中部署大量无线传感器节点时面临的网络拥堵、安全性和硬件成本问题。项目由两个核心组件构成:多个传感器节点和一个中央网关,节点与网关之间通过自研的EnigmaIOT协议以星型网络拓扑进行安全通信。

标签

项目特点

**安全设计**:使用 ChaCha20/Poly1305 加密算法,动态密钥协商,防止重放攻击和中间人攻击。
**自动密钥管理**:密钥自动生成、过期和续期,对用户完全透明。
**无需互联网**:所有通信在本地局域网内完成,不依赖外部网络。
**低功耗**:支持深度睡眠模式,适合电池供电的传感器节点。
**高节点容量**:节点数量仅受网关内存限制(每个节点约60字节)。
**即插即用**:节点自动注册和连接,无需手动配置。
**双工通信**:支持下行链路,网关可向节点发送控制命令。
**广播消息**:支持向所有节点发送广播消息。
**Home Assistant 集成**:节点库包含自动配置 Home Assistant MQTT 发现的方法。
**REST API**:提供简单的 REST API 用于获取信息和发送命令。
**OTA 更新**:支持通过 MQTT/ESP-NOW 进行无线固件更新。
**可插拔物理层**:目前支持 ESP-NOW 协议,但可轻松添加其他通信方式。

技术规格

微控制器
通信协议
加密算法
网络拓扑
节点容量
密钥管理
电源模式
配置方式
集成支持
API

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP8266 开发板 (如 NodeMCU) 1 用于节点
ESP32 开发板 1 用于网关 (可选)
任意传感器 (如 DHT22, BME280) 1+ 根据需求选择
电池或 USB 电源 1 节点可用电池供电
面包板、跳线等 若干 用于原型搭建

所需工具

工具用途是否必需
Arduino IDE 或 PlatformIO 编写和上传固件 ✅ 是
USB 数据线 连接开发板到电脑 ✅ 是
焊台 焊接传感器和连接线 ▢ 推荐
3D打印机 打印外壳 ▢ 推荐

能力画像

记忆与知识检索
逻辑推演
表达与交流
感知与观察
数理与计算
动手与操作
狂热与坚持
创造与创新

所需技能

🔧 **动手能力**:能够搭建简单的电路,连接传感器和开发板。 💻 **编程能力**:熟悉 C/C++,能够使用 Arduino IDE 或 PlatformIO 编写和上传固件。 ⚡ **电子电路**:了解基本电子元件和电路连接,能够为传感器供电。

适用场景

**家庭自动化**:部署多个无线传感器(温度、湿度、光照、门窗磁等)监控家庭环境。
**智能农业**:在农田或温室中部署传感器节点,监测土壤湿度、温度等参数。
**工业监控**:在工厂或仓库中部署传感器,监测环境条件或设备状态。
**实验室环境监测**:在实验室中部署传感器,实时监测温度、湿度、气压等关键参数。