63 lines
2.0 KiB
C++
63 lines
2.0 KiB
C++
#include "ZHNetwork.h"
|
|
|
|
void onConfirmReceiving(const uint8_t *target, const bool status);
|
|
|
|
ZHNetwork myNet;
|
|
|
|
uint64_t messageLastTime{0};
|
|
uint16_t messageTimerDelay{5000};
|
|
const uint8_t target[6]{0xA8, 0x48, 0xFA, 0xDC, 0x5B, 0xFA};
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(115200);
|
|
Serial.println();
|
|
// *** ESP-NOW mode only.
|
|
myNet.setWorkMode(ESP_NOW);
|
|
// *** Or ESP-NOW + access point mode.
|
|
// myNet.setWorkMode(ESP_NOW_AP);
|
|
// myNet.setApSetting("ESP NODE TEST", "12345678");
|
|
// *** Or ESP-NOW + connect to your router mode.
|
|
// myNet.setWorkMode(ESP_NOW_STA);
|
|
// myNet.setStaSetting("SSID", "PASSWORD");
|
|
// ***
|
|
myNet.setNetName("ZHNetwork"); // Optional.
|
|
myNet.setMaxNumberOfAttempts(3); // Optional.
|
|
myNet.setMaxWaitingTimeBetweenTransmissions(50); // Optional.
|
|
myNet.setMaxWaitingTimeForRoutingInfo(500); // Optional.
|
|
myNet.begin();
|
|
myNet.setOnConfirmReceivingCallback(onConfirmReceiving);
|
|
Serial.print("MAC: ");
|
|
Serial.print(myNet.getNodeMac());
|
|
Serial.print(". IP: ");
|
|
Serial.print(myNet.getNodeIp());
|
|
Serial.print(". Firmware version: ");
|
|
Serial.print(myNet.getFirmwareVersion());
|
|
Serial.println(".");
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
if ((millis() - messageLastTime) > messageTimerDelay)
|
|
{
|
|
Serial.println("Broadcast message sended.");
|
|
myNet.sendBroadcastMessage("Hello world!");
|
|
Serial.print("Unicast message to MAC ");
|
|
Serial.print(myNet.macToString(target));
|
|
Serial.println(" sended.");
|
|
myNet.sendUnicastMessage("Hello world!", target);
|
|
Serial.print("Unicast with confirm message to MAC ");
|
|
Serial.print(myNet.macToString(target));
|
|
Serial.println(" sended.");
|
|
myNet.sendUnicastMessage("Hello world!", target, true);
|
|
messageLastTime = millis();
|
|
}
|
|
myNet.maintenance();
|
|
}
|
|
|
|
void onConfirmReceiving(const uint8_t *target, const bool status)
|
|
{
|
|
Serial.print("Message to MAC ");
|
|
Serial.print(myNet.macToString(target));
|
|
Serial.println(status ? " delivered." : " undelivered.");
|
|
} |