في هذا المستودع ، يتم تنفيذ محاكاة موجزة لقيم الطاقة الكهروضوئية. هناك أساسا 3 مكونات:
في البداية ، يرسل Meter رسالة تهيئة إلى وحدة الخلايا الكهروضوئية (PV). تحتوي هذه الرسالة على متغير file_name ويبلغ PV لتهيئة ملف مع اسم file_name بمحتوى محدد مسبقًا.
في كل ثانية ، تتم قراءة قيمة Watt في العداد ، والتي يجب أن تعكس استهلاك الطاقة للمنزل. ثم يرسل العداد قيمة وات هذه وخط الطابع الزمني إلى الوحدة النمطية الكهروضوئية (PV). PV (الذي يستمع بالفعل العداد) يحصل على هذه المعلومات ، عينات قيمة وات (الطاقة التي تم إنشاؤها بواسطة PV) من توزيع محدد مسبقًا باستخدام المعلمة الطابع الزمني. ثم يتم إلحاق هذه البيانات بالملف file_name .
يرجى استخدام كمبيوتر Ubuntu ، يتم إجراء كل التطوير في بيئة Ubuntu 16.04. لا يتم اختبار نظام التشغيل الآخر.
يجب إعداد خادم RabbitMQ وتشغيله.
للإعداد ، انظر دليل RabbitMQ.
في وقت لاحق ، ابدأ الخدمة بـ:
sudo service rabbitmq-server start
انتقل إلى دليل المشروع ، وقم بتثبيت تبعيات PIP مع
pip install -r requirements.txt
افتح دفاتر notebooks meter_simulator.ipynb و pv_simulator.ipynb .
في دفتر الملاحظات PV_Simulator ، قم بتشغيله حتى الرمز:
pv . listen_queue () سيجعل هذا التنفيذ انتظر الرسائل الواردة. ملاحظة : يمكن إيقاف هذا الانتظار بمقاطعة إلى دفتر الملاحظات. أو ، رسالة (من قاموس النوع في Python) مع المفتاح: M_Type يساوي 1 ستوقف هذا الانتظار عن طريق التشغيل .stop_consuming() في القناة.
بعد ذلك ، في دفتر Notebook Meter_simulator ، بعد تشغيل أقسام الواردات وإعداد المعلمات ، يمكن للمرء اختيار نوع المحاكاة المفضل. الأول بطيء والآخر هو محاكاة سريعة.
إذا كانت المحاكاة البطيئة مفضلة ، فإن الكود بعد معلمات الإعداد حتى يمكن تشغيل قسم المحاكاة السريعة .
إذا تم تحريك المحاكاة السريعة ، بعد تشغيل معلمات إعداد Runnning ، يجب تشغيل قسم المحاكاة السريعة .
عندما تنتهي المحاكاة (مع m_type = 1) ، ينتهي انتظار الرسائل الجديدة في pv_simulator.
لمشاهدة القيم المحاكاة ، انتقل إلى قسم PV_Simulator Notebook . تعيين اسم ملف ملف CSV ليتم تصوره إلى متغير output_file_name وقم بتشغيل الخلية.
مثال على ذلك على النحو التالي:


للتحقق مما إذا كان التطبيق يعمل على جهاز الكمبيوتر الخاص بك ، يمكنك ببساطة تشغيل الاختبارات في دليل المشروع على النحو التالي:
python -m pytest tests/