التحكم عن بُعد في MicroPython: mpremote¶
توفر أداة سطر الأوامر mpremote مجموعة متكاملة من الأدوات المساعدة للتفاعل عن بُعد مع جهاز MicroPython وإدارة نظام الملفات عليه وأتمتته عبر اتصال تسلسلي. تعمل مع جميع كاميرات OpenMV Cam عبر اتصالها التسلسلي بـ USB، وهي بديل من سطر الأوامر لـ OpenMV IDE لسير عمل البرمجة النصية والأتمتة.
لاستخدام mpremote، قم أولًا بتثبيتها عبر pip:
$ pip install --user mpremote
أو عبر pipx:
$ pipx install mpremote
إن أبسط طريقة لاستخدام هذه الأداة هي استدعاؤها دون أي وسائط:
$ mpremote
يكتشف هذا الأمر تلقائيًا أول جهاز USB تسلسلي متاح ويتصل به، ويوفر طرفية تفاعلية يمكنك استخدامها للوصول إلى REPL وإلى مخرجات برنامجك. تُفتح المنافذ التسلسلية في وضع حصري، لذا فإن تشغيل نسخة ثانية (أو ثالثة، إلخ) من mpremote سيتصل بالأجهزة التسلسلية اللاحقة، إن توفر أي منها.
بالإضافة إلى ذلك، تتيح لك pipx أيضًا تشغيل mpremote مباشرةً دون تثبيتها أولًا:
$ pipx run mpremote ...args
الأوامر¶
تدعم mpremote تمرير سلسلة من الأوامر في سطر الأوامر، والتي ستنفذ إجراءات مختلفة بالتتابع على جهاز MicroPython البعيد. راجع قسم الأمثلة أدناه لتكوين فكرة عن كيفية عمل ذلك ولبعض التركيبات الشائعة من الأوامر.
كل أمر يكون على الصورة <command name> [--options] [args...]. بالنسبة للأوامر التي تدعم وسائط متعددة (مثل قائمة من الملفات)، يمكن إنهاء قائمة الوسائط بـ +.
إذا لم يُحدد أي أمر، فإن الأمر الافتراضي هو repl. بالإضافة إلى ذلك، إذا احتاج أي أمر إلى الوصول إلى الجهاز ولم يُحدد connect سابق، فسيُضاف connect auto ضمنيًا.
لإدخال الجهاز في حالة معروفة لأي أمر إجرائي (باستثناء repl)، فإن mpremote بمجرد الاتصال ستوقف أي برنامج قيد التشغيل وتعيد ضبط الجهاز ضبطًا برمجيًا (soft-reset) قبل تشغيل الأمر الأول. يمكنك التحكم في هذا السلوك باستخدام الأمرين resume و soft-reset. راجع الاتصال التلقائي وإعادة الضبط البرمجي التلقائي لمزيد من التفاصيل.
يمكن تحديد أوامر متعددة وسيتم تشغيلها بالتتابع.
القائمة الكاملة للأوامر المدعومة هي:
connect¶
الاتصال بجهاز محدد عبر الاسم:
$ mpremote connect <device>
قد يكون <device> واحدًا مما يلي:
list: سرد الأجهزة المتاحةauto: الاتصال بأول منفذ USB تسلسلي متاحid:<serial>: الاتصال بالجهاز ذي الرقم التسلسلي لـ USB<serial>(العمود الثاني من مخرجات الأمرconnect list)port:<path>: الاتصال بالجهاز الموجود في المسار المحدد (العمود الأول من مخرجات الأمرconnect list)rfc2217://<host>:<port>: الاتصال بالجهاز باستخدام الاتصال التسلسلي عبر TCP (مثل منفذ تسلسلي عبر الشبكة يعتمد على RFC2217)أي اسم/مسار جهاز صالح، للاتصال بذلك الجهاز
ملاحظة: بدلًا من استخدام الأمر connect، توجد عدة اختصارات معرّفة مسبقًا لمسارات الأجهزة الشائعة. فعلى سبيل المثال، الأمر المختصر a0 يكافئ connect /dev/ttyACM0 (Linux)، أو c1 لـ COM1 (Windows).
ملاحظة: سيكتشف الخيار auto المنافذ التسلسلية لـ USB فقط، أي المنفذ التسلسلي الذي يحمل معرّف VID/PID لـ USB مرتبطًا به (أي أجهزة من نوع CDC/ACM أو FTDI). أما الأنواع الأخرى من المنافذ التسلسلية فلن تُكتشف تلقائيًا.
disconnect¶
قطع الاتصال بالجهاز الحالي:
$ mpremote disconnect
بعد قطع الاتصال، تُفعَّل إعادة الضبط البرمجي التلقائي.
resume¶
الإبقاء على حالة المفسّر الحالية للأوامر اللاحقة:
$ mpremote resume
يؤدي هذا إلى تعطيل إعادة الضبط البرمجي التلقائي. هذا مفيد إذا أردت تشغيل أمر لاحق على لوحة دون إعادة ضبطها برمجيًا أولًا.
soft-reset¶
إجراء إعادة ضبط برمجي للجهاز:
$ mpremote soft-reset
سيؤدي هذا إلى مسح كومة الذاكرة (heap) الخاصة بـ Python وإعادة تشغيل المفسّر. كما أنه يمنع الأمر اللاحق من تشغيل إعادة الضبط البرمجي التلقائي.
repl¶
الدخول إلى REPL على الجهاز المتصل:
$ mpremote repl [--options]
الخيارات هي:
--escape-non-printable، لطباعة البايتات/المحارف غير القابلة للطباعة على هيئة رمزها الست عشري--capture <file>، لالتقاط مخرجات جلسة REPL إلى الملف المحدد--inject-code <string>، لتحديد المحارف التي ستُحقن في REPL عند الضغط علىCtrl-J. يتيح لك هذا أتمتة أمر شائع.--inject-file <file>، لتحديد ملف سيُحقن في REPL عند الضغط علىCtrl-K. يتيح لك هذا تشغيل ملف (مثل ملف يحتوي على بعض شيفرة الإعداد المفيدة، أو حتى البرنامج الذي تعمل عليه حاليًا).
أثناء تشغيل الأمر repl، يمكنك استخدام Ctrl-] أو Ctrl-x للخروج.
ملاحظة: يعكس الاسم "REPL" هنا الاستخدام الشائع لهذا الأمر للوصول إلى حلقة القراءة والتقييم والطباعة (Read Eval Print Loop) التي تعمل على جهاز MicroPython. وبدقة، فإن الأمر repl يعمل فقط كطرفية (أو "مراقب تسلسلي") للوصول إلى الجهاز. ولأن هذا الأمر لا يشغّل سلوك إعادة الضبط التلقائي، فهذا يعني أنه إذا كان هناك برنامج قيد التشغيل حاليًا، فستحتاج أولًا إلى مقاطعته بـ Ctrl-C للوصول إلى REPL، مما سيتيح لك بعد ذلك الوصول إلى حالة البرنامج. يمكنك أيضًا استخدام mpremote soft-reset repl للحصول على REPL "نظيف" مع مسح حالة البرنامج بالكامل.
eval¶
تقييم تعبير Python وطباعة نتيجته:
$ mpremote eval <string>
exec¶
تنفيذ شيفرة Python المحددة:
$ mpremote exec <string>
افتراضيًا، سيعرض mpremote exec أي مخرجات من التعبير إلى أن ينتهي. يمكن تحديد الراية --no-follow للعودة فورًا وترك الجهاز يشغّل التعبير في الخلفية.
run¶
تشغيل برنامج نصي من نظام الملفات المحلي:
$ mpremote run <file.py>
سيؤدي هذا إلى تنفيذ الملف مباشرةً من RAM على الجهاز دون نسخه إلى نظام الملفات. هذه طريقة مفيدة جدًا للتكرار على تطوير قطعة شيفرة واحدة دون الحاجة إلى القلق بشأن نشرها في نظام الملفات.
افتراضيًا، سيعرض mpremote run أي مخرجات من البرنامج النصي إلى أن ينتهي. يمكن تحديد الراية --no-follow للعودة فورًا وترك الجهاز يشغّل البرنامج النصي في الخلفية.
fs¶
تنفيذ أوامر نظام الملفات على الجهاز:
$ mpremote fs <sub-command>
قد يكون <sub-command> أحد التالي:
cat <file..>لعرض محتويات ملف أو ملفات على الجهازlsلسرد الدليل الحاليls <dirs...>لسرد الأدلة المحددةcp [-rf] <src...> <dest>لنسخ الملفاتrm [-r] <src...>لإزالة الملفات أو المجلدات على الجهازmkdir <dirs...>لإنشاء أدلة على الجهازrmdir <dirs...>لإزالة الأدلة على الجهازtouch <file..>لإنشاء الملفات (إن لم تكن موجودة بالفعل)sha256sum <file..>لحساب مجموع SHA256 للملفاتtree [-vsh] <dirs...>لطباعة شجرة للأدلة المحددة
يستخدم الأمر cp اصطلاحًا تمثّل فيه النقطتان : في البداية مسارًا بعيدًا. أما عدم وجود : في البداية فيعني مسارًا محليًا. يعتمد هذا على الاصطلاح المستخدم في عميل بروتوكول النسخ الآمن (scp).
فعلى سبيل المثال، mpremote fs cp main.py :main.py ينسخ main.py من الدليل المحلي الحالي إلى نظام الملفات البعيد، بينما mpremote fs cp :main.py main.py ينسخ main.py من الجهاز إلى الدليل الحالي.
يقبل الأمر mpremote rm -r المسارات النسبية والمطلقة على حد سواء. استخدم : للإشارة إلى دليل العمل البعيد الحالي (cwd) للسماح بإزالة شجرة دليل من المسار الافتراضي للجهاز (مثل /flash أو /). استخدم -v/--verbose لرؤية الملفات التي تُزال.
على سبيل المثال:
mpremote rm -r :libsسيزيل الدليلlibsوجميع عناصره الفرعية من الجهاز.mpremote rm -rv :/sdسيزيل جميع الملفات من بطاقة SDCard مركّبة وينتج عنه تحذير غير معطِّل. وسيبقى التركيب قائمًا.mpremote rm -rv :/سيزيل جميع الملفات على الجهاز، بما في ذلك أي ملفات موجودة في أنظمة ملفات افتراضية (vfs) مركّبة مثل/sdأو/flash. وبعد إزالة جميع المجلدات والملفات، سيعيد أيضًا خطأً لمحاكاة سلوكrm -rf /في unix.
تحذير
لا توجد طريقة مدعومة لاستعادة الملفات التي أزالها mpremote rm -r :. يُرجى الاستخدام بحذر.
سيطبع الأمر tree شجرة للأدلة المحددة. سيؤدي استخدام الخيار --size/-s إلى طباعة حجم كل ملف، أو استخدم --human/-h لاستخدام تنسيق أكثر قابلية للقراءة البشرية. ملاحظة: لا يُطبع حجم الدليل إلا عندما يبلّغ نظام ملفات الجهاز عن حجم غير صفري. يمكن استخدام الخيار -v لتضمين اسم الجهاز التسلسلي في المخرجات.
تفترض جميع الأوامر الأخرى ضمنيًا أن المسار مسار بعيد، لكن يمكن استخدام : اختياريًا للوضوح.
تأخذ جميع الأوامر الفرعية لنظام الملفات وسائط مسار متعددة، لذا إذا كان هناك أمر آخر في التسلسل، فيجب عليك استخدام + لإنهاء الوسائط، على سبيل المثال:
$ mpremote fs cp main.py :main.py + repl
سينسخ هذا الملف إلى الجهاز ثم يدخل إلى REPL. تمنع + تفسير "repl" على أنه مسار.
يدعم الأمر cp الخيار -r لإجراء نسخ متكرر. افتراضيًا، سيتخطى cp نسخ الملفات إلى الجهاز البعيد إذا تطابقت تجزئة SHA256 لملف المصدر والوجهة. لفرض النسخ بصرف النظر عن التجزئة، استخدم الخيار -f.
ملاحظة: للتسهيل، جميع الأوامر الفرعية لنظام الملفات لها أيضًا أسماء مستعارة كأوامر عادية، أي يمكنك كتابة mpremote cp ... بدلًا من mpremote fs cp ....
df¶
الاستعلام عن المساحة الحرة/المستخدمة في الجهاز:
$ mpremote df
سيطبع الأمر df إحصائيات الحجم/المستخدم/الحر لنظام ملفات الجهاز، على غرار الأمر df في Unix.
edit¶
تحرير ملف على الجهاز:
$ mpremote edit <files...>
سينسخ الأمر edit كل ملف من الجهاز إلى دليل مؤقت محلي ثم يشغّل محررك لكل ملف (المعرّف بمتغير البيئة $EDITOR). إذا خرج المحرر بنجاح، فسيُنسخ الملف المحدَّث مرة أخرى إلى الجهاز.
mip¶
تثبيت الحزم من micropython-lib (أو GitHub) باستخدام أداة mip:
$ mpremote mip install <packages...>
راجع إدارة الحزم لمزيد من المعلومات.
mount¶
تركيب الدليل المحلي على الجهاز البعيد:
$ mpremote mount [options] <local-dir>
يتيح هذا للجهاز البعيد رؤية دليل المضيف المحلي كأنه نظام ملفاته الخاص. هذا مفيد للتطوير، ويتجنب الحاجة إلى نسخ الملفات إلى الجهاز أثناء العمل عليها.
يثبّت الجهاز مشغّل نظام ملفات، يُركَّب بعد ذلك في نظام الملفات الافتراضي للجهاز (VFS) باسم /remote، والذي يستخدم الاتصال التسلسلي بـ mpremote كقناة جانبية للوصول إلى الملفات. سيُضبط دليل العمل الحالي للجهاز (عبر os.chdir) إلى /remote بحيث تحدث عمليات الاستيراد والوصول إلى الملفات هناك بدلًا من مسار نظام الملفات الافتراضي طالما كان التركيب نشطًا.
ملاحظة: إذا لم يُتبَع الأمر mount بإجراء آخر في التسلسل، فسيُضاف الأمر repl ضمنيًا إلى نهاية التسلسل.
أثناء الاستخدام، سيشغّل Ctrl-D إعادة ضبط برمجي كالمعتاد، لكن سيُعاد توصيل التركيب تلقائيًا. أما إذا كان لدى الوحدة ملف main.py يعمل عند بدء التشغيل، فلا يمكن أن يحدث إعادة التركيب. في هذه الحالة، يمكن استخدام إعادة تمهيد برمجي في الوضع الخام: Ctrl-A ثم Ctrl-D لإعادة التمهيد، ثم Ctrl-B للعودة إلى REPL العادي، وعندها سيكون التركيب جاهزًا.
الخيارات هي:
-l،--unsafe-links: افتراضيًا، سيُطرح خطأ إذا وصل الجهاز إلى ملف أو دليل يقع خارج (بمستوى دليل واحد أو أكثر للأعلى) الدليل المحلي المركّب. يعطّل هذا الخيار هذا الفحص للروابط الرمزية، مما يتيح للجهاز اتباع الروابط الرمزية خارج الدليل المحلي.
unmount¶
إلغاء تركيب الدليل المحلي من الجهاز البعيد:
$ mpremote umount
يحدث هذا تلقائيًا عند انتهاء mpremote، لكن يمكن استخدامه في تسلسل لإلغاء تركيب تركيب سابق قبل تشغيل الأوامر اللاحقة.
romfs¶
إدارة أقسام ROMFS على الجهاز:
$ mpremote romfs <sub-command>
قد يكون <sub-command> أحد التالي:
romfs queryلسرد جميع أقسام ROMFS المتاحة وحجمهاromfs [-o <output>] build <source>لإنشاء صورة ROMFS من دليل المصدر المحدد؛ ملف المخرجات الافتراضي هو المصدر مضافًا إليه.romfsromfs [-p <partition>] deploy <source>لنشر صورة ROMFS إلى الجهاز؛ سيُنشئ أيضًا صورة ROMFS مؤقتة إذا كان المصدر دليلًا
يدعم الأمران الفرعيان build و deploy كلاهما الخيار -m/--mpy لتجميع ملفات .py تلقائيًا إلى .mpy عند إنشاء صورة ROMFS. هذا الخيار مفعّل افتراضيًا، لكنه يعمل فقط إذا كانت حزمة Python المسماة mpy_cross مثبتة (مثلًا عبر pip install mpy_cross). إذا لم تكن الحزمة مثبتة، فسيُطبع تحذير وتبقى ملفات .py كما هي. يمكن تعطيل تجميع ملفات .py بالخيار --no-mpy.
rtc¶
ضبط/قراءة ساعة الجهاز (RTC):
$ mpremote rtc
سيستعلم هذا من RTC الجهاز عن الوقت الحالي ويطبعه على هيئة صف datetime.
$ mpremote rtc --set
سيضبط هذا RTC الجهاز إلى الوقت الحالي لحاسوب المضيف.
sleep¶
السكون (التأخير) قبل تنفيذ الأمر التالي:
$ mpremote sleep 0.5
سيوقف هذا تنفيذ تسلسل الأوامر مؤقتًا للمدة المحددة بالثواني، مثلًا لانتظار الجهاز ليقوم بشيء ما.
reset¶
إعادة الضبط الصلب للجهاز:
$ mpremote reset
ملاحظة: إعادة الضبط الصلب تكافئ machine.reset().
bootloader¶
الدخول إلى محمّل الإقلاع:
$ mpremote bootloader
سيجعل هذا الجهاز يدخل إلى محمّل الإقلاع الخاص به. محمّل الإقلاع خاص باللوحة — راجع قسم Recovery and debug pins في المرجع السريع للوحتك للحصول على التفاصيل.
الاتصال التلقائي وإعادة الضبط البرمجي¶
سيتم الاتصال وقطع الاتصال تلقائيًا في بداية ونهاية تنفيذ الأداة، إذا لم تُعطَ هذه الأوامر صراحةً. سيبحث الاتصال التلقائي عن أول جهاز USB تسلسلي متاح.
بمجرد الاتصال بجهاز، ستعيد mpremote ضبط الجهاز برمجيًا تلقائيًا عند الحاجة. يؤدي هذا إلى مسح كومة Python وإعادة تشغيل المفسّر، مع التأكد من أن شيفرة Python اللاحقة تُنفَّذ في بيئة جديدة. تُجرى إعادة الضبط البرمجي التلقائي في أول مرة يُنفَّذ فيها أحد الأوامر التالية: mount أو eval أو exec أو run أو fs. وبعد إجراء إعادة ضبط برمجي لأول مرة، لن يُجرى مرة أخرى تلقائيًا حتى يُصدَر الأمر disconnect.
يمكن التحكم في سلوك إعادة الضبط البرمجي التلقائي بالأمر resume. قد يكون هذا مفيدًا لاستخدام الأمر eval لفحص حالة الجهاز. يمكن استخدام الأمر soft-reset لإجراء إعادة ضبط برمجي صريح في منتصف تسلسل من الأوامر.
الاختصارات¶
يمكن تعريف الاختصارات باستخدام نظام الماكرو. الاختصارات المدمجة هي:
devs: اسم مستعار لـconnect lista0،a1،a2،a3: أسماء مستعارة لـconnect /dev/ttyACMnu0،u1،u2،u3: أسماء مستعارة لـconnect /dev/ttyUSBnc0،c1،c2،c3: أسماء مستعارة لـconnect COMncat،edit،ls،cp،rm،mkdir،rmdir،touch: أسماء مستعارة لـfs <sub-command>
يمكن تعريف اختصارات إضافية في ملف إعدادات المستخدم mpremote/config.py الموجود في دليل إعدادات المستخدم. يُحدَّد الموقع الصحيح لكل نظام تشغيل باستخدام وحدة platformdirs.
يكون هذا عادةً: - $XDG_CONFIG_HOME/mpremote/config.py - $HOME/.config/mpremote/config.py - $env:LOCALAPPDATA/mpremote/config.py
ينبغي أن يعرّف الملف config.py قاموسًا باسم commands. مفاتيح هذا القاموس هي الاختصارات، وقيمه إما سلسلة نصية أو قائمة من السلاسل النصية:
"c33": "connect id:334D335C3138",
يُستبدل الأمر c33 بـ connect id:334D335C3138.
"test": ["mount", ".", "exec", "import test"],
يُستبدل الأمر test بـ mount . exec "import test".
يمكن للاختصارات أيضًا قبول وسائط. على سبيل المثال:
"multiply x=4 y=7": "eval x*y",
سيؤدي تشغيل mpremote multiply 3 7 إلى ضبط x و y كمتغيرات على الجهاز، ثم تقييم التعبير x*y.
قد يبدو مثال config.py كالتالي:
commands = {
"c33": "connect id:334D335C3138", # Connect to a specific device by ID.
"bl": "bootloader", # Shorter alias for bootloader.
"double x=4": "eval x*2", # x is an argument, with default 4
"wl_scan": ["exec", """
import network
wl = network.WLAN()
wl.active(1)
for ap in wl.scan():
print(ap)
""",], # Print out nearby WiFi networks.
"wl_ipconfig": [
"exec",
"import network; sta_if = network.WLAN(network.WLAN.IF_STA); print(sta_if.ipconfig('addr4'))",
], # Print ip address of station interface.
"test": ["mount", ".", "exec", "import test"], # Mount current directory and run test.py.
"demo": ["run", "path/to/demo.py"], # Execute demo.py on the device.
}
أمثلة¶
mpremote
الاتصال بأول جهاز متاح وتشغيل الأمر repl ضمنيًا.
mpremote a1
الاتصال بالجهاز الموجود في /dev/ttyACM1 (Linux) وتشغيل الأمر repl ضمنيًا. راجع الاختصارات أعلاه.
mpremote c1
الاتصال بالجهاز الموجود في COM1 (Windows) وتشغيل الأمر repl ضمنيًا. راجع الاختصارات أعلاه.
mpremote connect /dev/ttyUSB0
تحديد الجهاز المراد الاتصال به صراحةً، وكما سبق، تشغيل الأمر repl ضمنيًا.
mpremote a1 ls
الاتصال بالجهاز الموجود في /dev/ttyACM1 ثم تشغيل الأمر ls.
يكافئ هذا mpremote connect /dev/ttyACM1 fs ls.
mpremote exec "import micropython; micropython.mem_info()"
تشغيل أمر Python المحدد وعرض أي مخرجات. يكافئ هذا كتابة الأمر عند موجّه REPL.
mpremote eval 1/2 eval 3/4
تقييم كل تعبير بدوره وطباعة النتائج.
mpremote a0 eval 1/2 a1 eval 3/4
تقييم 1/2 على الجهاز الموجود في /dev/ttyACM0، ثم 3/4 على الجهاز الموجود في /dev/ttyACM1، وطباعة كل نتيجة.
mpremote resume exec "print_state_info()" soft-reset
الاتصال بالجهاز دون تشغيل إعادة ضبط برمجي وتنفيذ الدالة print_state_info() (مثلًا لمعرفة معلومات عن حالة البرنامج الحالية)، ثم تشغيل إعادة ضبط برمجي.
mpremote reset sleep 0.5 bootloader
إعادة الضبط الصلب للجهاز، والانتظار 500ms حتى يصبح متاحًا، ثم الدخول إلى محمّل الإقلاع.
mpremote cp utils/driver.py :utils/driver.py + run test.py
تحديث نسخة utils/driver.py على الجهاز، ثم تنفيذ البرنامج النصي المحلي test.py على الجهاز. لا يُنسخ test.py أبدًا إلى نظام ملفات الجهاز، بل يُشغَّل من RAM.
mpremote cp utils/driver.py :utils/driver.py + exec "import app"
تحديث نسخة utils/driver.py على الجهاز، ثم تنفيذ app.py على الجهاز.
هذا سير عمل تطوير شائع لتحديث ملف واحد ثم إعادة تشغيل برنامجك. في هذا السيناريو، سيقوم main.py على جهازك أيضًا بـ import app.
mpremote cp utils/driver.py :utils/driver.py + soft-reset repl
تحديث نسخة utils/driver.py على الجهاز، ثم تشغيل إعادة ضبط برمجي لإعادة تشغيل برنامجك، ثم مراقبة المخرجات عبر الأمر repl.
mpremote cp -r utils/ :utils/ + soft-reset repl
كما سبق، لكن مع تحديث دليل utils بأكمله أولًا.
mpremote mount .
تركيب الدليل المحلي الحالي في /remote على الجهاز وبدء جلسة repl ستستخدم /remote كدليل عمل.
mpremote mount . exec "import demo"
بعد تركيب الدليل المحلي الحالي، تنفيذ demo.py من الدليل المركّب.
mpremote mount app run test.py
بعد تركيب الدليل المحلي app باسم /remote على الجهاز، تنفيذ test.py المحلي من دليل المضيف الحالي دون نسخه إلى نظام الملفات.
mpremote mount . repl --inject-code "import demo"
بعد تركيب الدليل المحلي الحالي، تنفيذ demo.py من الدليل المركّب في كل مرة يُضغط فيها Ctrl-J.
ستحتاج أولًا إلى الضغط على Ctrl-D لإعادة ضبط حالة المفسّر (مما سيحافظ على التركيب) قبل الضغط على Ctrl-J لإعادة استيراد demo.py.
mpremote mount app repl --inject-file demo.py
كما سبق، لكنه ينفّذ محتويات الملف المحلي demo.py عند REPL في كل مرة يُضغط فيها Ctrl-K. وكما سبق، استخدم Ctrl-D لإعادة ضبط حالة المفسّر أولًا.
mpremote cat boot.py
يعرض محتويات boot.py على الجهاز.
mpremote edit utils/driver.py
تحرير utils/driver.py على الجهاز باستخدام $EDITOR المحلي الخاص بك.
mpremote cp :main.py .
نسخ main.py من الجهاز إلى الدليل المحلي.
mpremote cp main.py :
نسخ main.py من الدليل المحلي إلى الجهاز.
mpremote cp :a.py :b.py
نسخ a.py على الجهاز إلى b.py على الجهاز.
mpremote cp -r dir/ :
نسخ الدليل المحلي dir بشكل متكرر إلى الجهاز البعيد.
mpremote cp a.py b.py : + repl
نسخ a.py و b.py من الدليل المحلي إلى الجهاز، ثم تشغيل الأمر repl.
mpremote mip install aioble
تثبيت حزمة aioble من micropython-lib على الجهاز. راجع إدارة الحزم.
mpremote mip install github:org/repo@branch
تثبيت الحزمة من الفرع المحدد في org/repo على GitHub على الجهاز. راجع إدارة الحزم.
mpremote mip install gitlab:org/repo@branch
تثبيت الحزمة من الفرع المحدد في org/repo على GitLab على الجهاز. راجع إدارة الحزم.
mpremote mip install --target /flash/third-party functools
تثبيت حزمة functools من micropython-lib في الدليل /flash/third-party على الجهاز. راجع إدارة الحزم.