عن المشروع

PulSar هو مشروع برنامج ثابت (firmware) بترخيص GPL-3.0 لعتاد قائم على ESP8266 وESP32، مخصص لتكامل المنازل الذكية والأتمتة والقياس. الإصدار العام موجه للمتبنين الأوائل للمساعدة في الاختبار وتصحيح الأخطاء قبل إصدار أكثر رسمية. يذكر ملف README أن التوثيق محدود وأن البرنامج الثابت لا يزال يتغير بشكل كبير. يتم التطوير باستخدام VSCode وPlatformIO. قاعدة الشيفرة منظمة في مجموعات وحدات مرقمة. تحتوي 0_ConfigUser على إعدادات وظائف موجهة للمستخدم. و1_TaskerManager هي طبقة التنفيذ الرئيسية وتعمل مع setup() وloop() في HomeControlSystem.cpp لتشغيل وظائف الوحدات. وتوفر تعدد مهام تعاونيًا عبر تحديد المدة التي تستخدم فيها كل وظيفة المعالج وتقسيم العمليات التي قد تحجب التنفيذ، مثل طلب قراءة مستشعر ثم التحقق من النتيجة لاحقًا. تغطي المجموعات المتبقية وظائف النظام الأساسية المشتركة، وشبكات المضيف، وسائقات GPIO، والمستشعرات، والأضواء، وقياس الطاقة، وشاشات العرض، ووحدات التحكم الموحدة، وتكوينات عتاد مخصصة لمرة واحدة. طبقة الشبكات مخصصة للتواصل مع مضيف؛ وتصف ملاحظات التكوين الحالية WiFi وMQTT بأنهما ضروريان. وتُعامل الراديوهات البعيدة مثل عتاد 433 MHz كإضافات عتاد وليس كشبكات مضيف. تتضمن طبقة المستشعرات وحدة واجهة تجرد القراءات حسب النوع بحيث يمكن لوحدات أخرى طلب القياسات دون معرفة المستشعر الفيزيائي المتصل. وتشمل قائمة المستشعرات الموثقة ADS1115 ADC ومدخلات الجهد التماثلي، وAPDS9960 للقرب، ومستشعرات الإضاءة BH1750 وTSL2516، وأجهزة BME لدرجة الحرارة والرطوبة والضغط، والأزرار، والعدادات ومدخلات التردد، ومستشعرات الحرارة/الرطوبة DS18x20 وDHT، وملامسات الأبواب، ومستشعرات الرطوبة، ومستشعرات الحركة والإشغال PIR/Doppler، وعدادات النبضات، والمستشعرات البعيدة، والمدخلات الدوارة، ومستشعرات تربة SeeSaw، والمفاتيح، ومستشعرات المسافة SR04/فوق الصوتية. بعض المدخلات في جدول README موسومة كتجريبية أو متداخلة. توفر فئات الوحدات الأخرى التحكم بأجهزة GPIO الخارجية، ومصابيح LED القابلة للعنونة وإضاءة PWM، وجمع بيانات الطاقة، ودعم شاشات العرض، ووحدات تحكم تجمع المستشعرات والسائقات وشاشات العرض في نظام موحد. ويُعطى التحكم HVAC كمثال، حيث يمكن لمستشعر توفير مدخل لخرج سائق؛ ويمكن التعامل مع السلوك التفاعلي الأبسط عبر القواعد. وتُخصص 10_ConSpec لتطبيقات عتاد متخصصة لمرة واحدة. ينقسم تكوين البناء بين mFirmwareCustom_Secret.h لتخطيط العتاد وتسمية الجهاز/MQTT وأوامر بدء التشغيل، وmUserConfig_Secret.h لإعدادات الشيفرة والشبكة. ويُستخدم platformio_override لاختيار بيئات بناء ESP8266 أو ESP32 والأجهزة المستهدفة. ويشير README إلى أن الملفات المولدة أو ملفات التجاوز قد تُستبدل عند السحب من Git. يتضمن العمل المخطط للإصدار 1.0 دعم نظام الملفات، والإعدادات المحفوظة، وواجهة ويب أساسية، وإضاءة متعددة المنافذ، وصفحة ويب لبرنامج ثابت للاستعادة، وضمان تعطيل أو اختبار الشيفرة غير المدعومة. وتشمل الخطط الأطول مدى Ethernet مع PoE على ESP32، ودعم ويب أكمل، وعقدة مستشعر كاميرا، وقدرات بيانات بعيدة GSM/LTE. وهذه عناصر خارطة طريق وليست ميزات مكتملة.