سلام
من یک ESP32 دارم که وقتی میخواد که به شبکه MESH وصل بشه این ارور رو توی سریال مانیتور دریافت میکنم ( ERROR: NodeId set to 0 )
برای رفع این مشکل چه پیشنهادی دارید!؟
خروجی سریال مانیتور :
setLogLevel: ERROR | STARTUP |
STARTUP: init(): 1
ERROR: NodeId set to 0
STARTUP: AP tcp server established on port 5555
کد من :
#include "painlessMesh.h"
#define MESH_PREFIX "whateverYouLike"
#define MESH_PASSWORD "somethingSneaky"
#define MESH_PORT 5555
Scheduler userScheduler; // to control your personal task
painlessMesh mesh;
uint32_t targetNodeId = 0; // شناسه نود مقصد
// User stub
void sendMessage(); // Prototype so PlatformIO doesn't complain
Task taskSendMessage(TASK_SECOND * 1 , TASK_FOREVER, &sendMessage);
void sendMessage() {
if (targetNodeId != 0) {
String msg = "Hi from node1";
msg += mesh.getNodeId();
mesh.sendSingle(targetNodeId, msg); // ارسال پیام به نود خاص
}else if(targetNodeId == 0){
// Serial.println("error");
}
taskSendMessage.setInterval(random(TASK_SECOND * 1, TASK_SECOND * 5));
}
// Needed for painless library
void receivedCallback(uint32_t from, String &msg) {
Serial.printf("startHere: Received from %u msg=%s\n", from, msg.c_str());
}
void newConnectionCallback(uint32_t nodeId) {
Serial.printf("--> startHere: New Connection, nodeId = %u\n", nodeId);
targetNodeId = nodeId; // ذخیره شناسه نود مقصد
}
void changedConnectionCallback() {
Serial.printf("Changed connections\n");
}
void nodeTimeAdjustedCallback(int32_t offset) {
Serial.printf("Adjusted time %u. Offset = %d\n", mesh.getNodeTime(), offset);
}
void setup() {
Serial.begin(115200);
delay(1000);
// mesh.setDebugMsgTypes(ERROR | MESH_STATUS | CONNECTION | SYNC | COMMUNICATION | GENERAL | MSG_TYPES | REMOTE); // all types on
mesh.setDebugMsgTypes(ERROR | STARTUP); // set before init() so that you can see startup messages
mesh.init(MESH_PREFIX, MESH_PASSWORD, &userScheduler, MESH_PORT);
mesh.onReceive(&receivedCallback);
mesh.onNewConnection(&newConnectionCallback);
mesh.onChangedConnections(&changedConnectionCallback);
mesh.onNodeTimeAdjusted(&nodeTimeAdjustedCallback);
userScheduler.addTask(taskSendMessage);
taskSendMessage.enable();
}
void loop() {
// it will run the user scheduler as well
mesh.update();
}
04 تیر 03 در 12:08
امیررضا برزگر
45
افزودن دیدگاه