Kaptain.
Telegram /
LinkedIn /
Email /
GIT /
RSS /
GPG /
Заказ печатных плат

№ 8380 В разделах:
Electronics
ESP8266
Programming
от August 11th, 2017,
В подшивках: ESP8266, Smart Home
Для создания умного дома необходимо сделать протокол по которому все устройства, датчики и реле будут общаться. Часть этого протокола – поиск головного устройства в локальной сети. Поскольку broadcast уже не вариант и шибко умные маршрутизаторы его не пропускают я использовал multicast. Вот тут можно в кратце почитать отличия, если кому интересно.
Пример кода:
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
...
int BroadcastPort = 9210;
WiFiUDP Udp;
...
void searchCoreModule() {
Udp.begin(BroadcastPort);
IPAddress broadcastIp;
broadcastIp = ~WiFi.subnetMask() | WiFi.gatewayIP();
Udp.beginPacketMulticast(broadcastIp, BroadcastPort, WiFi.localIP());
Udp.write("test");
Serial.print("BROADCAST TEST PACKET SENT");
Udp.endPacket();
}
А вот теперь можно посмотреть на результат
Что было принято в терминале
Ну вот, как видим, все работает, пакеты летают, данные принимаются.
Fortune cookie: Cold is God's way of teling us to burn more Catholics. -- Lady Whiteadder, "Blackadder II"
Leave a Reply