mesh mqtt gateway example

This commit is contained in:
2018-06-10 21:42:57 +02:00
parent 0e6d7f7f3d
commit 73e9f4af8f
7 changed files with 164 additions and 82 deletions

View File

@@ -3,6 +3,7 @@
#include <painlessMesh.h>
#include "App.h"
#include "MeshNet.h"
#define MESH_PREFIX "whateverYouLike"
#define MESH_PASSWORD "somethingSneaky"
@@ -17,18 +18,21 @@ class MeshApp : public App {
MeshNet* net;
MeshApp() /* : App(sprkt) */ {
}
void activate(Scheduler* scheduler, Network* network) {
net = static_cast<MeshNet*>(network);
net->mesh.onReceive(bind(&MeshApp::receivedCallback,this, _1, _2));
// add a task that sends stuff to the mesh
someTask.set(TASK_SECOND * 5, TASK_FOREVER,
bind(&MeshApp::advertise, this, net));
scheduler->addTask(someTask);
someTask.enable();
}
void advertise(MeshNet* network){
String msg = "Hi, my name is " + String(network->id);
network->broadcast(msg);
}
void activate(Scheduler* scheduler, Network* network) {
net = static_cast<MeshNet*>(network);
someTask.set(TASK_SECOND * 5, TASK_FOREVER,
bind(&MeshApp::advertise, this, net));
net->mesh.onReceive(bind(&MeshApp::receivedCallback,this, _1, _2));
scheduler->addTask(someTask);
someTask.enable();
}
void receivedCallback( uint32_t from, String &msg ) {
Serial.printf("startHere: Received from %u msg=%s\n", from, msg.c_str());