项目简介
本项目是基于ESP32微控制器的能源监测节点系统,作为网络边缘节点监控能源消耗。具备Modbus通信功能,可作为RTU串行通信的主从设备,同时支持LoRa通信,适用于远程数据传输和能源监控场景。
项目的主要特性和功能
- ESP32微控制器:作为核心处理器,支持多任务并行处理,具备强大的计算和通信能力。
- Modbus通信:支持RTU串行通信,可作为主站或从站,用于读取和写入寄存器,配置节点设置。
- LoRa通信:支持远程数据传输,适用于低功耗、远距离的通信场景。
- OTA更新:支持远程固件更新,方便系统维护和升级。
- LED控制:提供LED状态指示功能,便于系统状态监控。
- 脉冲计数:用于测量和记录电能消耗,支持将脉冲值转换为kWh值并保存到Modbus寄存器中。
- 数据处理与存储:支持数据存储和处理功能,确保数据的准确性和可靠性。
安装使用步骤
命令行操作
- 复制项目仓库:
bash git clone https://gitlab.com/electr-nica/desarrollohardware/edge-node.git
- 进入项目文件夹:
bash cd edge-node
- 配置项目:
bash make menuconfig
在配置界面中,选择需要启用的模块(如Modbus主站、从站或LoRa通信),并设置相关参数(如波特率和串口)。 - 构建项目:
bash make all
- 闪存微控制器:
bash make flash
- 上电并测试:将ESP32上电,测试节点功能是否正常运行。
使用Eclipse作为IDE
- 打开项目:在Eclipse中打开项目工作区。
- 配置环境变量:在项目的属性中,进入C/C++ Build -> Environment,调整路径以匹配你的开发环境。
- 清理并构建项目:确保在终端中已经运行了
make menuconfig
,然后在Eclipse中执行清理和构建操作。 - 调试与开发:根据需求进行调试和开发。
注意事项
- 硬件要求:确保使用支持ESP32的开发板,并在
menuconfig
中选择HARDWARE (TEST)
以适配开发板。 - AES加密:代码中使用了固定初始化向量(IV)进行AES加密和解密,实际应用中建议使用动态IV以提高安全性。
- 配置调整:根据具体硬件平台和库,可能需要对某些函数和配置进行调整。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】