🖼️ 1: Úvod
Názov: Komunikácia medzi uzlami pomocou painlessMesh v C++
- Platforma: ESP8266 / ESP32
- Knižnica: painlessMesh
- Cieľ: Demonštrovať mesh komunikáciu medzi uzlami
⚙️ 2: Základné nastavenie siete
|
1 2 3 4 |
#define MESH_PREFIX "Mesh_username" #define MESH_PASSWORD "mesh_password" #define MESH_PORT 5555 |
Vysvetlenie:
- 🏷️ MESH_PREFIX: Názov siete
- 🔒 MESH_PASSWORD: Heslo pre zabezpečenie
- 🔌 MESH_PORT: Port pre komunikáciu
📅 3: Scheduler a inicializácia
|
1 2 3 |
Scheduler userScheduler; painlessMesh mesh; |
Vysvetlenie:
- 📆 Scheduler: Spravuje úlohy
- 🌐 mesh: Objekt reprezentujúci mesh sieť
📤 4: Odosielanie správ
|
1 2 3 4 5 6 7 |
void sendmsg() { String msg = "This is a testing message from Node1"; msg += mesh.getNodeId(); mesh.sendBroadcast( msg ); taskSendmsg.setInterval( random( TASK_SECOND * 1, TASK_SECOND * 5 )); } |
Vysvetlenie:
- ✉️ Odosiela správu každých 1–5 sekúnd
- 🆔 Pridáva ID uzla
- 📡 Používa broadcast
📥 5: Prijímanie správ
|
1 2 3 4 |
void receivedCallback( uint32_t from, String &msg ) { Serial.printf("Received from %u msg=%s\n", from, msg.c_str()); } |
Vysvetlenie:
- 📨 Zobrazuje prijatú správu
- 🧾 Identifikuje odosielateľa
🔗 6: Správa spojení
|
1 2 3 4 |
void newConnectionCallback(uint32_t nodeId); void changedConnectionCallback(); void nodeTimeAdjustedCallback(int32_t offset); |
Vysvetlenie:
- 🔌 Nové spojenie
- 🔄 Zmena v sieti
- ⏱️ Synchronizácia času
🚀 7: Funkcia setup()
|
1 2 3 4 5 6 7 |
void setup() { Serial.begin(115200); mesh.init(...); mesh.onReceive(...); ... } |
Vysvetlenie:
- 🛠️ Inicializácia sériovej komunikácie
- 🌐 Nastavenie siete
- ✅ Aktivácia úlohy
🔄 8: Hlavný cyklus
|
1 2 3 4 |
void loop() { mesh.update(); } |
Vysvetlenie:
- 🔁 Neustále aktualizuje stav siete
- 📬 Spracováva správy
🧩 9: Zhrnutie
- painlessMesh = jednoduchá mesh komunikácia
- Automatické spracovanie spojení
- Vhodné pre IoT a decentralizované siete

