Files
OpenMQTT-Gateway/lib/esp8266_mdns/examples/simple/simple.ino
T

79 lines
2.1 KiB
Arduino

/*
* This sketch will display mDNS (multicast DNS) data seen on the network.
*/
#include "mdns.h"
// When an mDNS packet gets parsed this callback gets called.
void packetCallback(const mdns::MDns* packet){
packet->Display();
packet->DisplayRawPacket();
}
// When an mDNS packet gets parsed this callback gets called once per Query.
// See mdns.h for definition of mdns::Query.
void queryCallback(const mdns::Query* query){
query->Display();
}
// When an mDNS packet gets parsed this callback gets called once per Query.
// See mdns.h for definition of mdns::Answer.
void answerCallback(const mdns::Answer* answer){
answer->Display();
}
// Initialise MDns. If you don't want the optioanl callbacks, just provide a NULL pointer.
mdns::MDns my_mdns(packetCallback, queryCallback, answerCallback);
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(115200);
// setting up Station AP
WiFi.begin("your_WiFI_SSID", "your_WiFi_password");
// Wait for connect to AP
int tries = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
tries++;
if (tries > 30) {
break;
}
}
printWifiStatus();
Serial.println();
}
unsigned int last_packet_count = 0;
void loop() {
my_mdns.loop();
#ifdef DEBUG_STATISTICS
// Give feedback on the percentage of incoming mDNS packets that fitted in buffer.
// Useful for tuning the buffer size to make best use of available memory.
if(last_packet_count != my_mdns.packet_count && my_mdns.packet_count != 0){
last_packet_count = my_mdns.packet_count;
Serial.print("mDNS decode success rate: ");
Serial.print(100 - (100 * my_mdns.buffer_size_fail / my_mdns.packet_count));
Serial.print("%\nLargest packet size: ");
Serial.println(my_mdns.largest_packet_seen);
}
#endif
}
void printWifiStatus() {
// print the SSID of the network you're attached to:
Serial.println();
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
}