upyOS على المتحكمات الدقيقة: ما هو، وكيف يعمل، وكيفية تشغيله دون انقطاع.

  • يوفر upyOS طبقة خدمات أعلى MicroPython مع المهام والشبكات والسجلات والبدء المنظم.
  • للحصول على قوة التحمل، قم بدمج upyOS مع UPS أو نسخة احتياطية DC بحجم جيد.
  • اختر بين نظام UPS غير المتصل بالإنترنت أو التفاعلي أو المتصل بالإنترنت اعتمادًا على خطورة وحساسية الحمل.

upyOS للميكروكنترولر

إذا كنت تتساءل ما هو هذا الجحيم upyOS في عالم المتحكمات الدقيقةلست وحدك: كثيرًا ما يُخلط بين هذا السؤال ومصدر الطاقة غير المنقطع (UPS). ستجد هنا شرحًا واضحًا لماهية upyOS، وكيفية ملاءمته لمشاريعك المضمنة، ولأن الخلط شائع، ستجد دليلًا عمليًا لكيفية استخدامه. مصدر طاقة غير منقطع للوحات مثل ESP32 أو STM32 أو Arduinoمع توصيات حقيقية مستمدة من التجارب المشتركة.

الفكرة مزدوجة: أولاً، فهم الجانب "البرمجي" الذي يوفره upyOS، وثانياً، لا تهمل الجانب "الكهربائي"، لأن وقت التشغيل الجيد لا فائدة منه إذا توقفت أنظمتك عن العمل أثناء انقطاع التيار الكهربائي. ستشاهد خلال المقالة الميزات والهندسة المعمارية والاستخدامات ونصائح النشر لـ upyOSبالإضافة إلى ذلك، قمنا بتضمين مدونة كاملة حول أنظمة UPS، بما في ذلك الأنواع والمزايا ووصفة لإعداد نسخة احتياطية باستخدام بطارية 18650 ووحدة شحن للحفاظ على أجهزتك آمنة.

ما هو upyOS للميكروكنترولر؟

غالبًا ما يتم استخدام مصطلح upyOS للإشارة إلى طبقة "نظام التشغيل" خفيفة الوزن أعلى MicroPython (منفذ Python المخصص للميكروكنترولر)، ويتم مقارنته أحيانًا ببدائل مثل سبورين، والتي تتبع مناهج مختلفة؛ والتي تنظم تنفيذ المهام والمؤقتات وبرامج التشغيل وموارد النظام بطريقة سهلة ومتسقة. إنه ليس نظام تشغيل سطح مكتب متجانسًا؛ فكّر في upyOS كـ وقت تشغيل منظم يضيف خدمات النظام إلى بيئة MicroPython لجعل تطبيقات إنترنت الأشياء والتطبيقات المضمنة لديك أكثر قابلية للصيانة.

في الممارسة العملية، يوفر upyOS أدوات مساعدة لـ تخطيط المهام (التعاوني)، ومعالجة الأحداث، والمؤقتات، وتجريدات الأجهزة الطرفية، وأدوات التهيئة (بدء الخدمات عند التشغيل، وترتيب التحميل، وما إلى ذلك). والأهم من ذلك، أنها تهدف إلى ضمان عدم اضطرار المطور إلى التعامل مع الغراء منخفض المستوى في كل مشروع، وإمكانية إعادة استخدامه. مكونات النظام (الشبكة، التخزين، أجهزة الاستشعار) بشكل متسق في جميع المجالات.

الميزة المهمة للفرق الصغيرة هي أن يتجنب upyOS إعادة اختراع العجلة: ينشئ الاتفاقيات (مواقع الملفات، والتشغيل الرئيسي/التشغيل، ووحدات الخدمة) ويوفر أدوات مساعدة لـ إدارة دورة الحياة من التطبيق في الأجهزة ذات الموارد المحدودةتجعل هذه الطبقة من السهل الحفاظ على النظام في المشاريع ذات الذاكرة ووحدة المعالجة المركزية المحدودة.

من الشائع أيضًا دمج التكاملات اليومية النموذجية: اتصال WiFi/Ethernet، والعملاء والخوادم البسيطة (HTTP/MQTT)، سجل السجل، وأدوات تحديث OTA عندما تسمح بذلك الهيئة. وبالتالي، يركز أساس المشروع على منطق العمل، يتم ضبط "النظام" بواسطة upyOS.

upyOS ووحدات التحكم الدقيقة

هندسة ومكونات upyOS

على مستوى عالٍ، يمكنك تخيل تقسيم upyOS إلى وحدات النظام تبدأ بالترتيب وتكشف عن واجهات برمجة تطبيقات بسيطة. مع أن التفاصيل الدقيقة تختلف باختلاف التطبيق، ستجد عادةً أجزاءً مثل:

  • المخطط/المهمة: حلقة رئيسية تحتوي على مهام صغيرة تعاونية ومؤقتات وعمليات استرجاع، والاستفادة من مرافق MicroPython (وأحيانًا uasyncio) لتجنب الجمود.
  • إدارة الجهاز: تهيئة الحافلات (I2C، SPI، UART)، GPIO، PWM و محركات الاستشعار أو المحرك شائعة لإعادة الاستخدام في مشاريع متعددة.
  • أحمر: مساعدين لشبكات WiFi/Ethernet وDNS والمنافذ والبروتوكولات النموذجية (على سبيل المثال، MQTT لإنترنت الأشياء) مع إعادة الاتصال التلقائي وبيانات الاعتماد المستمرة.
  • تخزين: أدوات نظام الملفات (LittleFS/FAT)، وبنية المجلد، والسجلات والمعلمات، و تحميل التكوين في البداية.
  • الخدمات في البداية: آلية لتحديد الخدمات التي يتم تشغيلها في boot.py وكيفية ربط التنفيذ بـ main.py، مع التشخيص الأدنى (على سبيل المثال، وميض LED في حالة فشل شيء ما).

تعتمد هذه الهندسة المعمارية على MicroPython، مما يعني أنها محمولة بين عائلات متعددة من وحدات التحكم الدقيقة ذات المنافذ الناضجة: ESP32، STM32، RP2040، من بين أمور أخرى. تختلف طبقة upyOS عن نظام التشغيل في الوقت الفعلي الكلاسيكي (مثل FreeRTOS) في أنها يفضل البساطة والبرمجة في بايثون، والتضحية بالجدولة الاستباقية لصالح الجدولة التعاونية في كثير من الحالات للحفاظ على الاستهلاك والتعقيد منخفضين.

في تطبيقات إنترنت الأشياء النموذجية (القياس عن بعد، ومراقبة البيئة، وأتمتة الإضاءة)، فإن هذا النهج أكثر من كافٍ: الوقت الحقيقي الصعب نادرًا ما يكون ذلك ضروريًا، وسرعة التطوير التي يوفرها Python تعوض ذلك.

ركيزة مشتركة أخرى في upyOS هي إمكانية الملاحظة: نظام تسجيل بمستويات (معلومات، تحذير، خطأ)، وطوابع زمنية بسيطة، ووجهات ملفات/تسلسلية، مما يسمح لك بتحليل الحوادث دون الحاجة إلى استخدام أدوات معقدة. ويزداد الأمر روعةً بإضافة إعادة الاتصال التلقائي بالشبكة وقوائم انتظار الرسائل المخزنة في الذاكرة. تحمل الجروح من الاتصال المؤقت.

نظام upyOS للميكروكنترولر

الميزات والفوائد الرئيسية

الجاذبية الكبيرة هي أن upyOS يجلب قاعدة مشتركة وقابلة لإعادة الاستخدام بالنسبة للمشاريع على لوحات مختلفة: يمكنك حمل نفس بنية الخدمة والتكوين والتمهيد لكل جهاز، مع الحد الأدنى من التغييرات الخاصة بالأجهزة.

ومن بين الوظائف العملية الأكثر طلبًا: التمهيد المنظم (خدمات التمهيد)إعادة الاتصال بالشبكة مع إيقاف التشغيل، ومؤقتات مستقرة للعينات/الأجهزة الطرفية وخطافات إيقاف التشغيل (لترك الأجهزة الطرفية في حالة آمنة إذا انتقل النظام إلى وضع السكون أو إعادة التشغيل).

على مستوى الإنتاج، يؤدي استخدام MicroPython وطبقة upyOS إلى تقليل التكلفة بشكل كبير وقت النمذجة الأوليةوحدات الشبكة والمستشعر والاستمرارية موجودة بالفعل، لذا فإنك تقضي معظم وقتك في المنطق (على سبيل المثال، سياسة تقديم البيانات أو الأتمتة المحددة للتثبيت الخاص بك).

ميزة أخرى هي سهولة التمديد: إذا قمت بدمج مستشعر جديد عبر I2C، فأنت تحتاج فقط إلى برنامج تشغيل صغير وتسجيله في مدير الجهازلا يلاحظ باقي النظام (المهام والسجلات والشبكة) ذلك حتى، وتستمر في العمل باستخدام واجهة برمجة التطبيقات المتسقة.

وأخيرًا وليس آخرًا، يعزز upyOS الممارسات الجيدة على الأجهزة ذات الموارد المحدودة: تجنب الأعطال، فصل المهام، واستخدام المؤقتات، وكتابة السجلات بشكل مقتصد، و استمرار التكوين في الملفات بدلاً من تجميع الثوابت الصارمة في الكود.

ميزات وفوائد upyOS

التوافق والتركيب والاستخدامات العملية

يتوافق نظام upyOS بشكل نموذجي مع MicroPython: ESP32، STM32، RP2040 ومنصات أخرى ذات منفذ نشط. في الأساطيل غير المتجانسة، تعني هذه القدرة على النقل إمكانية تشغيل التطبيق نفسه (أو تطبيق مشابه جدًا) على لوحات متعددة، مثل انظر ستوديو XIAO دون إعادة هيكلة النظام.

عادةً ما يكون النشر مباشرًا: قم بتثبيت MicroPython على اللوحة الخاصة بك، ثم انسخ شجرة الملفات (boot.py، main.py، مجلدات الخدمة والتكوين) وإعادة التشغيل. إذا كان المشروع يتضمن شبكة، فعادةً ما يقوم upyOS أولاً برفع بيانات الاعتماد، وبعد الحصول على عنوان IP، يبدأ تشغيل الخدمات التابعة (مثل: MQTT أو HTTP), تسجيل في السجل ما حدث.

في سيناريوهات الحياة الواقعية، تتناسب هذه الأنماط بشكل مثالي مع مهام مثل القياس عن بعد LoRa/WiFi، والأتمتة الضوئية أجهزة الاستشعار البيئية، التحكم في التتابع، والبوابات البسيطة، والعقد التي ترسل البيانات إلى السحابة. جرّب العديد من المطورين دمج ESP32-LoRa، حيث يدير مكدس النظام (upyOS) الشبكة والسجلات والمؤقتات، ويقرر الكود الخاص بك فقط ماذا ومتى نشر.

نصيحة عملية: حتى مع وقت تشغيل منظم مثل upyOS، لا تنس التخطيط لإيقاف تشغيل الجهاز بشكل صحيح في حالة انقطاع التيار الكهربائي؛ هذا هو المكان الذي يأتي فيه الطاقة غير المنقطعة، وفيما يلي سنخبرك بكيفية حلها دون أي صداع.

تثبيت upyOS والتوافق

لا ينبغي الخلط بينه وبين UPS: مصدر طاقة غير قابل للانقطاع لوحدات التحكم الدقيقة الخاصة بك

"UPS" أو "SAI" (باللغة الإنجليزية، إمدادات الطاقة غير المنقطعة(باللغة الإسبانية، مصدر الطاقة غير المنقطع) ليس نظام تشغيل، بل معدات النسخ الاحتياطي الكهربائية يُبقي أجهزتك تعمل أثناء انقطاع الشبكة أو حدوث خلل. يُعد هذا أمرًا بالغ الأهمية في سيناريوهات إنترنت الأشياء، أو المختبرات، أو عمليات النشر عن بُعد حيث يعني انقطاع الطاقة فقدان البيانات أو الأعطال.

كيف يعمل بشكل عام: يحتوي جهاز UPS على البطاريات الداخلية التي يتم شحنها أثناء وجود شبكة، مقوم (ينتقل من التيار المتردد إلى التيار المستمر للشحن)، أ inversor (يحول تيار مستمر من البطارية إلى تيار متردد) وصغير متحكم يكتشف القطع ويبدأ العمل في غضون ميلي ثانية. بعض الطرز أيضًا تُثبّت الجهد وتُرشّحه التوافقيات والقمم.

هناك ثلاث تقنيات رئيسية أجهزة UPS التي يجب التمييز بينها لاختيارها جيدًا وفقًا لانتقادات المعدات المحمية:

  • غير متصل (أساسي):تتحول إلى طاقة البطارية عند انقطاع التيار الكهربائي. اقتصادية وفعالة. أجهزة الكمبيوتر، الأنظمة الأساسية أو أنظمة الهواياتهناك وقت تحويل قصير، مقبول لمعظم الأحمال غير الحرجة.
  • خط تفاعلي: مثل السابق، ولكن مع منظم الجهد التلقائي (AVR). تُصحِّح هذه المُعدِّلات الانخفاضات/الارتفاعات الطفيفة دون استنزاف البطارية، وتُغيِّر بشكل أسرع. مُناسب جدًا لـ أجهزة التوجيه أو أجهزة NAS أو المعدات المكتبية.
  • عبر الإنترنت (تحويل مزدوج):يعمل العاكس دائمًا من البطارية/التيار المستمر، لذا لا يوجد تبديل النوافذ. إنهم يعطون الناتج "الأنظف" والأكثر استقرارًا لـ الأحمال الحساسة (المفاتيح، والروابط، والخوادم، والأجهزة). وهي أكثر تكلفةً وكفاءةً على حساب تعقيدٍ أكبر.

المزايا العملية: لا يسمح لك جهاز UPS فقط حفظ وإيقاف بأمان، فهو يحمي أيضًا من الارتفاعات والتقلبات والسقوط، مما يطيل عمر عمر المعدات وتقليل تكاليف الصيانة. بالنسبة للعقد المضمنة، يمنع هذا النظام أيضًا تلف نظام الملفات في حال انقطاع التيار الكهربائي الذي يمنع الجهاز من الكتابة على ذاكرة الفلاش.

المكونات التي يجب تذكرها عند اختيار UPS أو تصميم نسخة احتياطية مضمنة: بطارية (قدرتها تحدد الاستقلالية)، inversor (جودة الموجة وقوة الخرج)، مقوم (القدرة الاستيعابية) و التحكم في الطاقة (أوقات النقل والحماية).

ملاحظة يتجاهلها الكثيرون: في حين أن أجهزة Arduino تميل إلى أن تكون غير متطلبة، ESP (ESP8266/ESP32) تتطلب هذه الأجهزة تيارات عالية جدًا في شبكات WiFi/LoRa. بعض شواحن الهواتف المحمولة توفر تيارًا أقل مما تدعيه عمليًا، والنتيجة هي إعادة تعيين عشوائيةتأكد دائمًا من الاختبارات الواقعية قبل الاعتماد على الملصق.

إذا كنت تعمل مع الشبكة الكهربائية، تذكر السلامة: يجب أن يتم التعامل مع جهد التيار الكهربائي الرئيسي بواسطة متخصصين مؤهلين فقطبالنسبة للنماذج الأولية، فإن مصدر الطاقة المختبري أو جهاز UPS التجاري يجعل الحياة أسهل بكثير دون تعريض نفسك لمخاطر غير ضرورية.

بديل DIY للميكروكنترولر؟ من السهل نسبيًا إنشاء نسخة احتياطية للتيار المستمر باستخدام بطارية ليثيوم أيون 18650 ووحدة شاحن/حماية. تُشحن البطارية من مصدر ثابت بجهد ٥ فولت، ويفصل جهاز التحكم في الوقت المناسب لمنع الشحن الزائد والتفريغ العميق، ويظل الميكروفون قيد التشغيل أثناء القطع.

في تلك الوحدات سوف ترى دبابيس مميزة بـ BAT+ وBAT‑ لتوصيل الخلية والمخرجات باللوحة (٥ فولت عبر USB أو ٣.٣ فولت منظم، حسب التصميم). إذا كان موصل USB لديك "عريضًا جدًا"، فمن الطبيعي أن تحتاج إلى ثني أو تكيف قم بفحص الرابط المادي في التجمعات المدمجة بعناية.

إن تدفق اختبار التبديل النموذجي هو جدولة ESP32 مع LoRa و WiFi وفرض انقطاع التيار الكهربائي للتأكد من عدم إعادة تشغيل النظام، واستمرار upyOS في تنفيذ المهام وإعادة إرسال البيانات عند عودة الشبكة. سيمنحك هذا ثقة قبل النشر.

نصائح تحديد المقاسات: قم بجمع قوة الأحمال (W) لديك وأضف هامشًا قدره 20-25٪إذا كانت لديك قيم بالأمبير، فاضربها في الجهد (فولت) لتقدير الواط. اختر مدة التشغيل المناسبة (دقائق لإيقاف التشغيل بدقة، أو أكثر إن أردت). الاستمرارية التشغيلية (مطولة).

تعتمد الاستقلالية الفعلية على الاستهلاك ودورة العمل؛ إذا كنت تستخدم البطاريات الداخلية، فتذكر أنها تدوم عادةً 3-5 سنة يُنصح باختبار جهاز UPS من وقت لآخر (اختبار ذاتي) لتجنب أي مفاجآت. يُنصح بتفريغ دوري مُتحكم به عند استخدامه كجهاز UPS مُدمج. إطالة العمر و"تحريك" كيمياء الخلية.

التطبيقات والفوائد ملخصة:

  • حماية البيانات:يمنع تلف الملفات وفقدان القياس عن بعد؛ ويسمح بإغلاق العمليات بشكل نظيف.
  • جودة العرض: يقوم بتصفية التوترات وتنظيم الجهد وتقليل الضوضاء الكهربائية، وهو مفتاح للمعدات الحساسة.
  • إنقاذ:أعطال أقل، صيانة أقل، عمر أطول للموجهات والمفاتيح واللوحات والأجهزة الطرفية.

بالطبع، هناك أيضًا أجهزة UPS صناعية عالية الطاقة وعالية الأداء (> كفاءة 93% (في بعض الطرز متعددة الكيلوواط) للأحمال الكبيرة. بالنسبة لوحدات التحكم الدقيقة والإلكترونيات المعملية، مع وحدة تفاعلية خطية بحجم مناسب أو وحدة احتياطية صغيرة للتيار المستمر مع بطارية 18650 لقد تم تقديمك في معظم الحالات.

التفاصيل العملية للإعداد التجريبي: باستخدام مصادر "وحدات إمداد الطاقة الصغيرة" المعيارية، يمكنك بناء مدخل التيار المتردد الخاص بك إذا كنت محترفًا وتلبي احتياجاتك محطات مقاومة للمس، عزل وفجوات هوائيةبالنسبة لبقية الأشياء، من الأفضل استخدام مصدر طاقة مختبري أو جهاز UPS تجاري مزود بمخرج USB/12 فولت، ويجب إغلاق الصندوق دون تعريضه للتيار الكهربائي.

وتوصية أخيرة: حتى لو رأيت أن طبقك "يحمل"، صالحة تحت الحمل حقيقي (إرسال واي فاي، أجهزة استشعار نشطة، كتابة فلاش). تظهر العديد من حالات عدم الاستقرار فقط عند ذروة استهلاك الطاقة، وهنا يكمن الفرق في النسخ الاحتياطي المُعالج جيدًا.

مع وضع كل ما سبق في الاعتبار، يضعك upyOS في النظام على مستوى البرنامج (المهام والخدمات والشبكة والسجلات) ويحميك النسخ الاحتياطي لـ UPS/DC على المستوى الكهربائي؛ معًا، يحولان النموذج الأولي الهش إلى جهاز موثوق جاهز للانطلاق دون أي عوائق: خطط لخدماتك باستخدام MicroPython، وسجل ما يحدث، وحدد حجم الطاقة بشكل صحيح، وتحقق من ذلك باستخدام اختبارات التبديل قبل النشر في الميدان.

ما هما ARM Cortex-R و Cortex-M؟
المادة ذات الصلة:
ARM Cortex-R وCortex-M: ما هما، والاختلافات بينهما، ومتى يجب اختيار كل منهما