webrepl — WebREPL server¶
Tento modul zpřístupňuje MicroPython WebREPL: REPL založený na WebSocket, který umožňuje klientům připojit se k interaktivní výzvě desky (a přenášet soubory) přes síťové připojení. Malá statická stránka hostovaná na micropython.org/webrepl funguje jako JavaScript klient.
WebREPL ve výchozím nastavení naslouchá na TCP portu 8266 a používá os.dupterm k duplikování REPL na WebSocket stream. Podporován je pouze jeden současný klient; další pokusy o připojení jsou odmítnuty.
Příklad:
import webrepl
webrepl.start(password="changeme")
# ... or load the password from webrepl_cfg.py:
# webrepl.start()
Funkce¶
- webrepl.start(port: int = 8266, password: str | None = None, accept_handler=accept_conn) None¶
Spustí WebREPL listener.
Pokud je password
None, heslo se načte zwebrepl_cfg.py(vytvořeného pomocíwebrepl_setup). Když nelzewebrepl_cfgnaimportovat, vypíše se varování a server se nespustí.port vybírá TCP port, na kterém se má naslouchat.
accept_handler je volatelný objekt vyvolaný, když se připojí nový TCP klient. Výchozí je
accept_conn, který provádí WebSocket handshake v rámci callbacku socketu na pozadí. PředánímNonepoběží server v popředí (ekvivalentstart_foreground).
- webrepl.start_foreground(port: int = 8266, password: str | None = None) None¶
Praktický obal kolem
start, který synchronně spouští accept smyčku v popředí, dokud se nepřipojí klient.
- webrepl.stop() None¶
Zavře naslouchací socket i jakékoli aktivní klientské připojení a odpojí WebREPL od duplikovaného terminálu pomocí
os.dupterm(None).
- webrepl.accept_conn(listen_sock) bool¶
Přijme čekající TCP připojení na listen_sock a dokončí WebSocket handshake. Pokud je již připojen klient, nové připojení je odmítnuto a vrátí se
False. Při úspěšném upgradu je výsledný WebSocket zabalen pomocí_webrepl._webrepla připojen jako duplikovaný terminál.Toto je zpřístupněno primárně proto, aby jej volající mohli předat jako argument accept_handler funkci
start.
- webrepl.server_handshake(cl) bool¶
Načte HTTP požadavek na čerstvě přijatém socketu cl a odpoví příslušnými hlavičkami
Sec-WebSocket-Accept. VrátíTrue, pokud klient požádal o platný WebSocket upgrade, jinakFalse(v kterémžto případě se volající obvykle vrátí k poskytnutí HTML klienta přessend_html).
- webrepl.send_html(cl) None¶
Odpoví na HTTP požadavek na cl minimálním HTML dokumentem, který načte WebREPL JavaScript klienta z
static_host, a poté socket zavře.
Konstanty¶
- webrepl.DEBUG: int¶
Nastavte na nenulovou hodnotu pro zapnutí podrobného trasování HTTP požadavků a WebSocket handshaků na
sys.stdout. Výchozí hodnota je0.
- webrepl.static_host: str¶
Základní URL statického WebREPL klienta používaného funkcí
send_html. Výchozí hodnota je"https://micropython.org/webrepl/". Lze ji přepsat nastavenímBASEvwebrepl_cfg.pynebo přímým přeřazením atributu modulu.
- webrepl.listen_s¶
Aktuálně aktivní naslouchací socket, nebo
None, pokud je server zastaven. Nastavuje jejstarta mažestop.
- webrepl.client_s¶
Aktuálně připojený klientský socket, nebo
None, pokud není připojen žádný klient. Nastavuje jejaccept_conna mažestop.