webrepl — WebREPL poslužitelj¶
Ovaj modul izlaže MicroPython WebREPL: REPL temeljen na WebSocketu koji omogućuje klijentima da se povežu na interaktivni prompt ploče (te prenose datoteke) putem mrežne veze. Mala statična stranica hostana na micropython.org/webrepl djeluje kao JavaScript klijent.
WebREPL prema zadanim postavkama sluša na TCP portu 8266 i koristi os.dupterm za dupliciranje REPL-a na WebSocket tok. Podržan je samo jedan istovremeni klijent; daljnji pokušaji povezivanja se odbijaju.
Primjer:
import webrepl
webrepl.start(password="changeme")
# ... or load the password from webrepl_cfg.py:
# webrepl.start()
Funkcije¶
- webrepl.start(port: int = 8266, password: str | None = None, accept_handler=accept_conn) None¶
Pokreće WebREPL slušatelj.
Ako je password postavljen na
None, lozinka se učitava izwebrepl_cfg.py(koji stvarawebrepl_setup). Kada sewebrepl_cfgne može uvesti, ispisuje se upozorenje i poslužitelj se ne pokreće.port odabire TCP port na kojem se sluša.
accept_handler je pozivni objekt koji se poziva kada se poveže novi TCP klijent. Zadana vrijednost je
accept_conn, koji izvodi WebSocket rukovanje u pozadinskom povratnom pozivu utičnice. ProslijediteNoneza pokretanje poslužitelja u prednjem načinu rada (ekvivalentnostart_foreground).
- webrepl.start_foreground(port: int = 8266, password: str | None = None) None¶
Pogodni omotač oko
startkoji izvodi petlju prihvaćanja sinkrono u prvom planu dok se klijent ne poveže.
- webrepl.stop() None¶
Zatvara slušajuću utičnicu i svaku aktivnu klijentsku vezu te odvaja WebREPL od dupliciranog terminala putem
os.dupterm(None).
- webrepl.accept_conn(listen_sock) bool¶
Prihvaća TCP vezu na čekanju na listen_sock i dovršava WebSocket rukovanje. Ako je klijent već povezan, nova veza se odbija i vraća se
False. Pri uspješnoj nadogradnji, rezultirajući WebSocket omata se s_webrepl._webrepli pridružuje kao duplicirani terminal.Ovo je izloženo prvenstveno kako bi ga pozivatelji mogli proslijediti kao argument accept_handler funkciji
start.
- webrepl.server_handshake(cl) bool¶
Čita HTTP zahtjev na netom prihvaćenoj utičnici cl i odgovara odgovarajućim
Sec-WebSocket-Acceptzaglavljima. VraćaTrueako je klijent zatražio valjanu WebSocket nadogradnju, inačeFalse(u kojem slučaju pozivatelj obično pribjegava posluživanju HTML klijenta putemsend_html).
- webrepl.send_html(cl) None¶
Odgovara na HTTP zahtjev na cl minimalnim HTML dokumentom koji učitava WebREPL JavaScript klijent s
static_hosti zatim zatvara utičnicu.
Konstante¶
- webrepl.DEBUG: int¶
Postavite na vrijednost različitu od nule za omogućavanje opširnog praćenja HTTP zahtjeva i WebSocket rukovanja na
sys.stdout. Zadana vrijednost je0.
- webrepl.static_host: str¶
Osnovni URL WebREPL statičnog klijenta koji koristi
send_html. Zadana vrijednost je"https://micropython.org/webrepl/". Može se nadjačati postavljanjemBASEuwebrepl_cfg.pyili izravnim ponovnim dodjeljivanjem atributa modula.
- webrepl.listen_s¶
Trenutno aktivna slušajuća utičnica, ili
Noneako je poslužitelj zaustavljen. Postavlja jestart, a brišestop.
- webrepl.client_s¶
Trenutno povezana klijentska utičnica, ili
Noneako nijedan klijent nije pridružen. Postavlja jeaccept_conn, a brišestop.