Ostatnio robię projekt oświetlenia pokoju. Używam esp32 z bibliotekami WebServer.h i WebSocketsServer.h. W tym momencie chciałem napisać aplikację w pythonie, która by przechwytywała dźwięk i przesyłała wygenerowane pakiety do esp. Próbowałem używać biblioteki socket, ale w niej wysyłane wiadomości są w postaci binarnej, a w esp z tego co rozumiem onEvent wymaga 4 parametrów "webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)". Czytałem też o bibliotece websocket.
Przykładowy kod z tej biblioteki

import websocket

def on_message(wsapp, message):
    print(message)

wsapp = websocket.WebSocketApp("wss://stream.meetup.com/2/rsvps", on_message=on_message)
wsapp.run_forever()

run_forever sprawia że to połączenie się zmienia w listener. Na wysłaną wiadomość wykona się on_message() ale nie widzę żadnego sposobu żeby niezależnie w dowolnym momencie wysłać wiadomość.

Z websocketami w pythonie nie mam za wiele doświadczenia. Używałem tylko mikrokontrolerów i js.

Prosiłbym bym o jakieś artykuły, dokumentacje z python clientem pozwalające na ciągłe i dowolne wysyłanie danych.