webrepl --- server WebREPL¶
Modul ini mengekspos WebREPL MicroPython: sebuah REPL berbasis WebSocket yang memungkinkan klien terhubung ke prompt interaktif papan (dan mentransfer berkas) melalui koneksi jaringan. Halaman statis kecil yang dihosting di micropython.org/webrepl berfungsi sebagai klien JavaScript.
WebREPL mendengarkan pada port TCP 8266 secara default dan menggunakan os.dupterm untuk menduplikasi REPL ke aliran WebSocket. Hanya satu klien bersamaan yang didukung; upaya koneksi lebih lanjut akan ditolak.
Contoh:
import webrepl
webrepl.start(password="changeme")
# ... or load the password from webrepl_cfg.py:
# webrepl.start()
Fungsi¶
- webrepl.start(port: int = 8266, password: str | None = None, accept_handler=accept_conn) None¶
Mulai listener WebREPL.
Jika password adalah
None, kata sandi dimuat dariwebrepl_cfg.py(dibuat olehwebrepl_setup). Ketikawebrepl_cfgtidak dapat diimpor, sebuah peringatan dicetak dan server tidak dimulai.port menentukan port TCP untuk didengarkan.
accept_handler adalah callable yang dipanggil ketika klien TCP baru terhubung. Default-nya adalah
accept_conn, yang melakukan handshake WebSocket pada callback soket latar belakang. BerikanNoneuntuk menjalankan server dalam mode foreground (setara denganstart_foreground).
- webrepl.start_foreground(port: int = 8266, password: str | None = None) None¶
Pembungkus praktis di sekitar
startyang menjalankan loop penerimaan secara sinkron di foreground hingga klien terhubung.
- webrepl.stop() None¶
Tutup soket listening dan koneksi klien aktif mana pun, dan lepaskan WebREPL dari terminal yang diduplikasi melalui
os.dupterm(None).
- webrepl.accept_conn(listen_sock) bool¶
Terima koneksi TCP yang tertunda pada listen_sock dan selesaikan handshake WebSocket. Jika klien sudah terhubung, koneksi baru ditolak dan
Falsedikembalikan. Pada peningkatan yang berhasil, WebSocket yang dihasilkan dibungkus dengan_webrepl._webrepldan dilampirkan sebagai terminal yang diduplikasi.Ini diekspos terutama agar pemanggil dapat menyediakannya sebagai argumen accept_handler ke
start.
- webrepl.server_handshake(cl) bool¶
Baca permintaan HTTP pada soket cl yang baru diterima dan balas dengan header
Sec-WebSocket-Acceptyang sesuai. MengembalikanTruejika klien meminta peningkatan WebSocket yang valid,Falsesebaliknya (dalam hal ini pemanggil biasanya kembali ke penyajian klien HTML melaluisend_html).
- webrepl.send_html(cl) None¶
Balas permintaan HTTP pada cl dengan dokumen HTML minimal yang memuat klien JavaScript WebREPL dari
static_hostdan kemudian menutup soket.
Konstanta¶
- webrepl.DEBUG: int¶
Diatur ke nilai bukan-nol untuk mengaktifkan pelacakan verbose dari permintaan HTTP dan handshake WebSocket di
sys.stdout. Default-nya adalah0.
- webrepl.static_host: str¶
URL dasar klien statis WebREPL yang digunakan oleh
send_html. Default-nya adalah"https://micropython.org/webrepl/". Dapat dikesampingkan dengan mengaturBASEdiwebrepl_cfg.pyatau dengan menetapkan ulang atribut modul secara langsung.
- webrepl.listen_s¶
Soket listening yang sedang aktif, atau
Nonejika server dihentikan. Diatur olehstartdan dihapus olehstop.
- webrepl.client_s¶
Soket klien yang sedang terhubung, atau
Nonejika tidak ada klien yang terpasang. Diatur olehaccept_conndan dihapus olehstop.