ModuleInterface ModuleInterface

智能家居, ESP32 1/5 已发布
fredilarsen 72 Stars NOASSERTION BOM 完整度: 0/5 教程完整度: 0/5
ModuleInterface

项目简介

Easy config与IoT模块、数据库及网页间的值同步。


ModuleInterface 是一个面向物联网与自动化场景的开源通信总线框架,旨在帮助开发者用低成本、低代码的方式快速搭建由多个设备(模块)组成的本地控制系统。项目基于 PJON 通信库构建,支持通过单线(最长2000米)、以太网、WiFi、LoRa、RS485、光脉冲等多种物理介质连接设备,兼容 Arduino、ESP8266、Raspberry Pi 等主流平台,无需额外通信扩展板即可实现多设备组网。

标签

项目特点

**多介质通信**:基于 PJON 协议,支持单线、以太网、WiFi、LoRa 等多种通信方式,无需额外硬件即可实现长达2000米的单线连接。
**自动同步**:自动在主控和模块之间传输设置和数值,支持事件驱动的即时传输和定时轮询。
**Web 界面**:提供动态的 Web 界面用于配置、查看趋势图和历史数据,可自定义扩展。
**MQTT 集成**:支持纯 MQTT 模式或 HTTP+MQTT 混合模式,方便与 Home Assistant、OpenHAB 等外部系统双向交互。
**边缘智能**:模块支持 EEPROM 持久化,断电重启后能自主运行,无需依赖主控持续在线。
**粗粒度时钟同步**:主控从数据库获取时间并同步到所有模块,支持本地时区偏移,使模块能基于本地时间执行定时任务。
**协议分析器支持**:提供 PulseView/sigrok 协议解码器,方便调试和分析通信数据。

技术规格

通信协议 PJON (SoftwareBitBang, Ethernet, WiFi, LoRa 等)
支持平台 Arduino (Uno, Nano, Mega), ESP8266, Raspberry Pi, Windows, Linux
数据类型 boolean (b1), signed/unsigned byte/short/int (i1/u1/i2/u2/i4/u4), float (f4)
变量名长度 最多10个字符(含2字符模块前缀)
主控推荐 Arduino Mega (带以太网扩展板) 或 ESP8266
通信距离 单线最长2000米
时钟同步精度 数秒级
持久化 支持 EEPROM 自动保存设置

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Arduino Mega 或 ESP8266 1 运行主控程序,推荐 Mega + 以太网扩展板
Arduino Nano 或 ESP8266 1+ 每个传感器/执行器一个模块
单线(普通导线) 1 用于 PJON SoftwareBitBang 通信,最长2000米
运动传感器 (如 HC-SR501) 1 示例中使用
5V 电源适配器 1+ 为每个设备供电
USB 逻辑分析仪 (如 FX2LP CY7C68013A) 1 用于调试协议,约$4

能力画像

⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 2/5
🔵 动手与操作: 4/5
⚪ 狂热与坚持: 3/5
⚪ 创造与创新: 3/5

所需技能

🔧 **动手能力**:需要焊接传感器和连接线,搭建硬件电路,连接 Arduino 和传感器。 💻 **编程能力**:需要 C/C++ 编程基础,能使用 Arduino IDE 编写和上传代码,理解 PJON 和 ModuleInterface 库的 API。 ⚡ **电子电路**:需要了解基本电子元件(传感器、电阻、电源)的连接方式,能使用万用表测试电路。

适用场景

**智能家居**:控制灯光、窗帘、温度传感器等,通过 Web 界面或 MQTT 与 Home Assistant 集成。
**温室自动化**:监控温度、湿度、土壤湿度,自动控制灌溉和通风。
**工业监控**:远程采集传感器数据(如振动、温度、压力),在 Web 界面显示趋势图。
**教育实验**:用于教学演示分布式系统、IoT 通信协议和嵌入式编程。
**原型开发**:快速搭建 IoT 系统原型,验证概念后再迁移到更专业的平台。