This class provides an interface to use the MDNS functionality.
Example for advertising own services:
import time from network import MDNS # As a first step connection to network should be estbalished, e.g. via WLAN # Initialize the MDNS module MDNS.init() # Set the hostname and instance name of this device MDNS.set_name(hostname = "my_hostname", instance_name = "my_instance") # Add a TCP service to advertise MDNS.add_service("_http", MDNS.PROTO_TCP, 80) # Add an UDP service to advertise MDNS.add_service("_myservice", MDNS.PROTO_UDP, 1234, txt= (("board","esp32"),("u","user"),("p","password"))) # Give the other devices time to discover the services offered time.sleep(60) # Remove a service, it will no longer be advertised MDNS.remove_service("_http", MDNS.PROTO_TCP)
Example for querying:
import time from network import MDNS # As a first step connection to network should be estbalished, e.g. via WLAN # Initialize the MDNS module MDNS.init() # Perform a query for 2000 ms q = MDNS.query(2000, "_http", MDNS.PROTO_TCP) # Print out the query's result if q is not None: for elem in q: print(elem.instance_name()) print(elem.hostname()) print(elem.addr()) print(elem.port()) print(elem.txt())
Initialize the MDNS module.
Deinitialize the MDNS module and removes all registered services.
Set the hostname and instance name of the device that is going to be advertised.
The arguments are:
hostname
instance_name
Add a service to the MDNS module which will be advertised.
service_type
proto
MDNS.PROTO_TCP
MDNS.PROTO_UDP
port
txt
Remove a service from the MDNS module so it will not be advertised anymore.
Perform a query with the given parameters.
timeout
If the service is found then the function returns with a list of MDNS_Query objects.
MDNS_Query
The MDNS_Query aggregates all of the properties of a successful query session entry:
addr
Return with the hostname of the queried service.
Return with the instance name of the queried service.
Return with the IPv4 address of the queried service.
Return with the port of the queried service.
Return with the TXT entries of the queried service.