项目简介
FyrNode是用于设计、配置和部署FyrMesh平台节点的固件库。它基于Arduino,支持ESP8266开发板,可简化传感器节点和控制节点的开发过程。借助模块化硬件配置和自定义消息传递协议,能更便捷地在FyrMesh网络中部署和管理节点。
项目的主要特性和功能
- 模块化硬件配置:支持多种传感器与硬件配置,用户可按需自定义节点。
- 自定义消息传递协议:包含InterMesh Communication (IMC) 和 InterControl Communication (ICC),支持节点间消息传递与控制命令。
- 易于使用的API:提供
FyrNode
和FyrNodeControl
类,简化节点初始化与更新过程。 - 依赖管理:依赖
painlessMesh
、ArduinoJSON
和JC_Button
库,保证功能完整性与稳定性。 - 配置工具:提供Python脚本生成自定义配置变量,简化配置流程。
安装使用步骤
假设用户已下载本项目的源码文件,按以下步骤操作:
1. 安装依赖:确保安装了Arduino IDE,并安装所需的库:painlessMesh
、ArduinoJSON
和JC_Button
。
2. 配置硬件:根据硬件配置需求,修改config-generator.py
脚本生成配置变量,或手动设置配置变量。
3. 编写代码:参考示例代码,编写初始化代码并配置网络参数和传感器接口。
4. 上传代码:将编写好的代码上传到ESP8266开发板。
5. 运行节点:在主循环中调用update()
方法,维护网络连接和处理传感器数据。
示例代码
以下是使用FyrNodeControl
类定义控制节点的示例代码:
```cpp
include "fyrnode.h"
String MESH_SSID = "whateverYouLike"; String MESH_PSWD = "somethingSneaky"; uint16_t MESH_PORT = 5555;
int DHTTYP = 0; // DHT attached to None int DHTPIN = 99; // DHT attached at None
int GASTYP = 0; // GAS attached to None int GASPIN = 99; // GAS attached at None
int FLMTYP = 0; // FLM attached to None int FLMPIN = 99; // FLM attached at None
bool PINGER = true; //PINGER attached = true int PINGERPIN = 5; //PINGER attached at Pin D1 (GPIO5)
int CONNECTLEDPIN = 16; // CONNECTLEDPIN attached at Pin D0 (LED_BUILTIN) uint32_t SERIALBAUD = 115200; // SERIALBAUD rate is 38400 bps
FyrNodeControl controlnode;
void setup() { controlnode.begin(); }
void loop()
{
controlnode.update();
}
``
更多示例代码可在项目的
examples`目录中找到。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】