webrepl — WebREPL-server¶
Denna modul exponerar MicroPython WebREPL: en WebSocket-baserad REPL som låter klienter ansluta till en kortsenhets interaktiva prompt (och överföra filer) över en nätverksanslutning. En liten statisk sida som finns på micropython.org/webrepl fungerar som JavaScript-klient.
WebREPL lyssnar som standard på TCP-port 8266 och använder os.dupterm för att duplicera REPL till WebSocket-strömmen. Endast en samtidig klient stöds; ytterligare anslutningsförsök avvisas.
Exempel:
import webrepl
webrepl.start(password="changeme")
# ... or load the password from webrepl_cfg.py:
# webrepl.start()
Funktioner¶
- webrepl.start(port: int = 8266, password: str | None = None, accept_handler=accept_conn) None¶
Starta WebREPL-lyssnaren.
Om password är
Noneläses lösenordet in frånwebrepl_cfg.py(som skapas avwebrepl_setup). Närwebrepl_cfginte kan importeras skrivs en varning ut och servern startas inte.port väljer vilken TCP-port som ska lyssnas på.
accept_handler är det anropsbara objekt som anropas när en ny TCP-klient ansluter. Standardvärdet är
accept_conn, som utför WebSocket-handskakningen i ett socket-återanrop i bakgrunden. SkickaNoneför att köra servern i förgrundsläge (motsvararstart_foreground).
- webrepl.start_foreground(port: int = 8266, password: str | None = None) None¶
Ett bekvämt omslag kring
startsom kör accept-slingan synkront i förgrunden tills en klient ansluter.
- webrepl.stop() None¶
Stäng den lyssnande socketen och eventuella aktiva klientanslutningar, och koppla bort WebREPL från den duplicerade terminalen via
os.dupterm(None).
- webrepl.accept_conn(listen_sock) bool¶
Acceptera en väntande TCP-anslutning på listen_sock och slutför WebSocket-handskakningen. Om en klient redan är ansluten avvisas den nya anslutningen och
Falsereturneras. Vid en lyckad uppgradering omsluts den resulterande WebSocket med_webrepl._webreploch kopplas in som den duplicerade terminalen.Detta exponeras främst så att anropare kan tillhandahålla det som argumentet accept_handler till
start.
- webrepl.server_handshake(cl) bool¶
Läs HTTP-begäran på den nyligen accepterade socketen cl och svara med lämpliga
Sec-WebSocket-Accept-rubriker. ReturnerarTrueom klienten begärde en giltig WebSocket-uppgradering,Falseannars (i vilket fall anroparen vanligtvis faller tillbaka på att leverera HTML-klienten viasend_html).
- webrepl.send_html(cl) None¶
Svara på HTTP-begäran på cl med ett minimalt HTML-dokument som laddar WebREPL-JavaScript-klienten från
static_hostoch stänger sedan socketen.
Konstanter¶
- webrepl.DEBUG: int¶
Ställ in på ett värde skilt från noll för att aktivera utförlig spårning av HTTP-begäranden och WebSocket-handskakningar på
sys.stdout. Standardvärdet är0.
- webrepl.static_host: str¶
Bas-URL för den statiska WebREPL-klienten som används av
send_html. Standardvärdet är"https://micropython.org/webrepl/". Kan åsidosättas genom att angeBASEiwebrepl_cfg.pyeller genom att direkt tilldela modulattributet ett nytt värde.
- webrepl.listen_s¶
Den för närvarande aktiva lyssnande socketen, eller
Noneom servern är stoppad. Ställs in avstartoch rensas avstop.
- webrepl.client_s¶
Den för närvarande anslutna klientsocketen, eller
Noneom ingen klient är ansluten. Ställs in avaccept_connoch rensas avstop.