Steam Doctor (ستيم دكتور)

تطوير برمجيات ثابتة لنظام تعقيم حيوي، مع التركيز على السلامة والموثوقية.

تاريخ النشر: 27 يوليو 2025
البرمجة المدمجة
زيارة المشروع

دراسة حالة: Steam Doctor (ستيم دكتور) الشركة: Steam Doctor الموقع: بيروت، لبنان الموقع الإلكتروني: https://scalabledesings.co.uk

دراسة حالة: Steam Doctor (ستيم دكتور) - هندسة البرمجيات الثابتة لنظام حيوي للسلامة

كُلفنا بدور محوري في تطوير "ستيم دكتور"، وهي غرفة تعقيم عامة مبتكرة مصممة لتوفير تعقيم آلي بالبخار. تمثلت مسؤوليتنا في تصميم وتطوير البرمجيات الثابتة (Firmware) الكاملة لتشغيل مجموعة الميزات المعقدة للنظام، بما في ذلك الكشف عن المستخدمين، فحص درجة الحرارة، ودورة بخار محكومة بدقة.


التحدي: ضمان السلامة والموثوقية في الوقت الفعلي

كان التحدي الأساسي هو تطوير برمجيات ثابتة غير معيقَة (Non-Blocking Firmware) وذات موثوقية عالية لنظام حيوي للسلامة (Safety-Critical System). كان على الجهاز، الذي يتحكم فيه متحكم دقيق ATMega256 أحادي الخيط، إدارة العديد من أجهزة الاستشعار والمحركات بشكل متزامن — من مستشعرات درجة الحرارة والقرب إلى المضخات والصمامات.

أي تأخير أو توقف في تنفيذ البرنامج أثناء التحكم بغلاية ذات ضغط عالٍ قد يؤدي إلى وضع خطير. كان يجب تصميم البرمجيات الثابتة للمراقبة المستمرة في الوقت الفعلي والاستجابة الفورية لضمان سلامة المستخدم واستقرار النظام.


عمليتنا وحلنا: التركيز على بنية قوية وغير معيقَة

قمنا بهندسة حل يركز على السلامة والموثوقية، مواجهين أصعب تحديات البرمجيات الثابتة مباشرة.

  • تحكم في الوقت الفعلي وغير معيق: للقضاء على خطر توقف التنفيذ، قمنا ببناء النظام بأكمله باستخدام نموذج برمجة غير معيق. بدلاً من استخدام وظائف delay() البسيطة التي تجمد المعالج، طبقنا نهجاً متطوراً يعتمد على الأحداث باستخدام ساعة المتحكم الداخلية (millis()). وهذا ضمن أن النظام كان دائماً يراقب مستشعرات السلامة الحيوية، مثل منظمات حرارة الغلاية، حتى أثناء أداء مهام أخرى كعرض الرسائل أو تنشيط المضخات.

  • تخفيف استباقي للمخاطر: أثناء التطوير، حددنا خطأ حرجاً ومزمناً في مكتبة Arduino الأساسية (wire.h) كان يمكن أن يتسبب في تجميد النظام بأكمله أثناء اتصال المستشعر. قمنا بالتخفيف من هذا الخطر استباقياً عن طريق توفير وتطبيق مكتبة طرف ثالث أكثر قوة تتضمن ميزة مهلة آمنة من الفشل (Fail-Safe Timeout). أظهر هذا الإجراء بعد نظرنا وضمن استقرار النموذج الأولي. وعندما تم إصلاح المكتبة الرسمية أخيراً، انتقلنا إليها بسلاسة، مما يضمن سهولة الصيانة على المدى الطويل.

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


النتيجة والأثر: تسليم ناجح وآمن للنموذج الأولي

نجحنا في تسليم البرمجيات الثابتة الكاملة الوظائف والقوية للنموذج الأولي لـ Steam Doctor. قام النظام بأداء سير عمله المعقد بسلاسة تامة، مما يدل على قدرتنا على هندسة برمجيات ثابتة تراعي السلامة للأنظمة الكهروميكانيكية المعقدة. تم تسليم النموذج الأولي المكتمل بنجاح إلى العميل، مستوفياً جميع متطلبات المشروع واختتام مشاركتنا فيه.

مكدس التكنولوجيا (Technology Stack)

  • اللغة/المنصة: C++ (Arduino)
  • المتحكم الدقيق: ATMega256
  • البروتوكولات: I2C
  • التخصصات: الأنظمة المدمجة (Embedded Systems)، تطوير البرمجيات الثابتة (Firmware Development)، التحكم في الوقت الفعلي (Real-Time Control)، الأنظمة الحيوية للسلامة (Safety-Critical Systems)