Для стороны ESP нет ничего сложного. В ядре Ардуино для ESP реализована подсистема lwIP, принимающая и передающая ip пакеты по байтам, конструктор пакетов фактически. Для нее естественно уже есть множество библиотек, реализующих протоколы и интерфейсы, многие в ядре. На ваш выбор:
WiFiUDP.h - реализует прием и отправку udp пакетов, в том числе multicast. Самый быстрый в имплементации вариант.
ESP8266HTTPClient.h и ESP8266WebServer.h - тут я думаю объяснять ничего не нужно. Поддерживают авторизацию, открытую/base64 и digest. Сервер мощнее клиента, можно и cgi использовать. На питоне, думаю не будет большой проблемой вызвать GET с нужным путем по адресу сервера
Есть еще ICMP, SNMP и NTP от энтузиастов, а так же разнообразные библиотеки для работы с MQTT. Выбор большой, освоение не составляет большого труда, библиотеки в основном хорошо документированы.