webrepl — שרת WebREPL¶
מודול זה חושף את ה-WebREPL של MicroPython: REPL מבוסס WebSocket המאפשר ללקוחות להתחבר לשורת הפקודה האינטראקטיבית של לוח (ולהעביר קבצים) דרך חיבור רשת. דף סטטי קטן המאוחסן בכתובת micropython.org/webrepl משמש כלקוח ה-JavaScript.
ה-WebREPL מאזין כברירת מחדל לפורט TCP 8266 ומשתמש ב-os.dupterm כדי לשכפל את ה-REPL אל זרם ה-WebSocket. נתמך לקוח אחד בלבד בו-זמנית; ניסיונות חיבור נוספים נדחים.
דוגמה:
import webrepl
webrepl.start(password="changeme")
# ... or load the password from webrepl_cfg.py:
# webrepl.start()
פונקציות¶
- webrepl.start(port: int = 8266, password: str | None = None, accept_handler=accept_conn) None¶
הפעלת מאזין ה-WebREPL.
אם password הוא
None, הסיסמה נטענת מ-webrepl_cfg.py(שנוצר על ידיwebrepl_setup). כאשר לא ניתן לייבא אתwebrepl_cfgמודפסת אזהרה והשרת אינו מופעל.port בוחר את פורט ה-TCP שאליו יש להאזין.
accept_handler הוא ה-callable המופעל כאשר לקוח TCP חדש מתחבר. ברירת המחדל היא
accept_conn, המבצע את לחיצת היד של ה-WebSocket ב-callback של סוקט ברקע. העבירוNoneכדי להריץ את השרת במצב חזית (שווה ערך ל-start_foreground).
- webrepl.start_foreground(port: int = 8266, password: str | None = None) None¶
עוטף נוחות סביב
startהמריץ את לולאת הקבלה באופן סינכרוני בחזית עד שלקוח מתחבר.
- webrepl.stop() None¶
סגירת סוקט ההאזנה וכל חיבור לקוח פעיל, וניתוק ה-WebREPL מהטרמינל המשוכפל באמצעות
os.dupterm(None).
- webrepl.accept_conn(listen_sock) bool¶
קבלת חיבור TCP ממתין על listen_sock והשלמת לחיצת היד של ה-WebSocket. אם לקוח כבר מחובר, החיבור החדש נדחה ומוחזר
False. בשדרוג מוצלח, ה-WebSocket שנוצר נעטף ב-_webrepl._webreplומחובר כטרמינל המשוכפל.זה נחשף בעיקר כדי שקוראים יוכלו לספק אותו כארגומנט accept_handler ל-
start.
- webrepl.server_handshake(cl) bool¶
קריאת בקשת ה-HTTP על הסוקט cl שזה עתה התקבל ומענה עם כותרות ה-
Sec-WebSocket-Acceptהמתאימות. מחזירTrueאם הלקוח ביקש שדרוג WebSocket תקף,Falseאחרת (ובמקרה זה הקורא בדרך כלל נסוג להגשת לקוח ה-HTML באמצעותsend_html).
- webrepl.send_html(cl) None¶
מענה לבקשת ה-HTTP על cl עם מסמך HTML מינימלי הטוען את לקוח ה-JavaScript של WebREPL מ-
static_hostולאחר מכן סוגר את הסוקט.
קבועים¶
- webrepl.DEBUG: int¶
הגדירו לערך שונה מאפס כדי לאפשר מעקב מפורט אחר בקשות HTTP ולחיצות יד של WebSocket על
sys.stdout. ברירת המחדל היא0.
- webrepl.static_host: str¶
כתובת ה-URL הבסיסית של לקוח ה-WebREPL הסטטי שבו משתמש
send_html. ברירת המחדל היא"https://micropython.org/webrepl/". ניתן לעקוף אותה על ידי הגדרתBASEב-webrepl_cfg.pyאו על ידי הקצאה מחדש של תכונת המודול ישירות.
- webrepl.listen_s¶
סוקט ההאזנה הפעיל כעת, או
Noneאם השרת מופסק. מוגדר על ידיstartומנוקה על ידיstop.
- webrepl.client_s¶
סוקט הלקוח המחובר כעת, או
Noneאם אין לקוח מחובר. מוגדר על ידיaccept_connומנוקה על ידיstop.