جدول المحتويات:

الأجهزة المنزلية Raspberry PI Based Power Monitor: 14 خطوة
الأجهزة المنزلية Raspberry PI Based Power Monitor: 14 خطوة

فيديو: الأجهزة المنزلية Raspberry PI Based Power Monitor: 14 خطوة

فيديو: الأجهزة المنزلية Raspberry PI Based Power Monitor: 14 خطوة
فيديو: Raspberry Pi 4B في علبة Argon ONE M.2 مع 128 جيجا بايت SSD ، تجميع خادم لـ Home Assistant 2024, يوليو
Anonim
الأجهزة المنزلية Raspberry PI Based Power Monitor
الأجهزة المنزلية Raspberry PI Based Power Monitor
الأجهزة المنزلية Raspberry PI Based Power Monitor
الأجهزة المنزلية Raspberry PI Based Power Monitor

كان هذا مشروعًا صغيرًا قمت به لمراقبة استخدام الطاقة للأجهزة الفردية في جميع أنحاء المنزل وعرض الرسوم البيانية لاستخدامها للطاقة بمرور الوقت. إنها في الواقع واحدة من أسهل المشاريع القائمة على Raspberry PI التي قمت بها ، ولا تتطلب أي لحام أو اختراق للمنتجات المفتوحة. ليس من الضروري أن يكون مشروع Raspberry PI ، يمكن أن يتم بسهولة على صندوق Linux أو ربما Windows.

تبلغ التكلفة 50 دولارًا أستراليًا لمجموعة من 4 من أجهزة مراقبة الطاقة / المقابس الذكية وتكلفة Raspberry PI. يمكن أن يعمل هذا على Pi Zero أو Original PI على الرغم من أنني وجدت أنه كان بطيئًا بعض الشيء. PI الآخر الوحيد الذي أملكه هو PI 3 ووجدته سريعًا جدًا ، لذلك هذا ما أوصي به. لاحظ أنه إذا كنت تريد تشغيله على PI أقدم ، فيمكنك تقليل تواتر جمع البيانات (كنت أستخدم 10 ثوانٍ).

يتمتع هذا المشروع أيضًا بميزة إضافية أو تحرير المكونات الذكية من البرامج الثابتة للمصنعين ، لذلك لن تضطر إلى استخدام تطبيقاتهم وخدماتهم السحابية المحددة. لذا يمكن استخدامها مع Home Assist أو فقط مع نصوص البايثون الخاصة بك.

يرجى ملاحظة أنني أفترض أنك تعرف كيفية تثبيت نظام التشغيل على PI ، والاتصال به وتشغيل بعض أوامر Linux الأساسية. أفترض أيضًا أنك تعرف كيفية العثور على عنوان IP الخاص بالمكونات الذكية بمجرد اتصالها بشبكة WiFi.

اللوازم

عبوتان أو 4 عبوات من المقابس الذكية من هنا:

www.kogan.com/au/buy/kogan-smarterhome-sma…

1 Raspberry PI

مهارات:

القدرة على إعداد Raspberry PI

سطر أوامر لينكس الأساسي

محرر نصوص مثل vi أو nano (nano هو أكثر سهولة في الاستخدام ، و vi أسرع بمجرد التعرف عليه)

القدرة على العثور على IP للأجهزة على شبكتك.

الخطوة 1: شراء بعض المقابس الذكية

اشترِ بعض المقابس الذكية
اشترِ بعض المقابس الذكية

كان القابس الذكي الذي استخدمته من هنا:

www.kogan.com/au/buy/kogan-smarterhome-sma…

لاحظ أن هناك مجموعة كاملة من المقابس الذكية المتوافقة ، ومعظمها (كلها؟) هي أجهزة تعتمد على ESP8266 (WEMOS) وهي سهلة الفلاش للغاية. تأكد من الحصول على شيء لديه مراقبة الطاقة كما لا يفعل الكثير. تعرض هذه الصفحة قائمة كبيرة من الأجهزة المتوافقة:

templates.blakadder.com/plug.html

الخطوة 2: تفليش الجهاز

كان هذا الجزء سهلاً بشكل مدهش. ما عليك سوى تنزيل البرنامج وتشغيله وخطواتك.

لهذا ستحتاج إلى Raspberry PI أو Linux box مع WiFi. ستحتاج إلى أن يكون اتصالك الأساسي بهذا الجهاز وليس شبكة WiFi. بالنسبة إلى PI3 الخاص بي ، كان هذا سهلاً حيث كنت متصلاً عبر Ethernet. إذا كان لديك PI Zero ، فسيتعين عليك توصيل الطريقة القديمة ، باستخدام لوحة مفاتيح وشاشة.

أفترض أنك تعرف كيفية إعداد PI والاتصال به باستخدام SSH أو لوحة المفاتيح حتى لا أقوم بذلك. إذا لم تكن متأكدًا ، فهناك الكثير من البرامج التعليمية على الويب.

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

وبالتالي …. دون مزيد من اللغط ، إليك التعليمات:

1) قم بتشغيل هذه الأوامر على PI ، سيؤدي ذلك إلى تثبيت البرنامج المطلوب.

# git clone https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert #./install_prereq.sh

2) قم بتوصيل القابس الذكي بالطاقة

3) قم بتشغيله باستخدام الزر

4) استمر في الضغط على زر الطاقة حتى يبدأ الضوء الأزرق في الوميض

5) انتظر 10 ثوان. هذا ليس ضروريًا ولكني وجدت أنه يعمل بشكل أفضل إذا فعلت ذلك.

6) قم بتشغيل هذا الأمر

./start_flash.sh

من هنا ، ما عليك سوى اتباع التعليمات إلا في النهاية حدد "2. Tasmota". هناك خيار لبرنامج ثابت مختلف ولكني لم أحاول ذلك ، لذا لست متأكدًا من شكله.

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

التعليمات الكاملة هنا:

github.com/ct-Open-Source/tuya-convert

الخطوة 3: الاتصال بالبرنامج الثابت لأول مرة

الاتصال بالبرنامج الثابت لأول مرة
الاتصال بالبرنامج الثابت لأول مرة
الاتصال بالبرنامج الثابت لأول مرة
الاتصال بالبرنامج الثابت لأول مرة
الاتصال بالبرنامج الثابت لأول مرة
الاتصال بالبرنامج الثابت لأول مرة

بمجرد وميض tasmota على الجهاز ، لن تظهر الكثير من علامات الحياة. والسبب في ذلك هو أنه يحتاج إلى التكوين. القيام بذلك سهل إلى حد ما ، لقد وجدت أنه من الأفضل القيام بذلك باستخدام هاتفي. الخطوات هي:

1) ابحث عن نقاط وصول WiFi

2) قم بالاتصال بالواحد المسمى tasmota_xxxx (حيث x هي أرقام)

3) يجب أن يوجهك الهاتف إلى الصفحة الافتراضية ، وإلا انتقل إلى 192.168.4.1

لاحظ في بعض الهواتف أنه قد يعطيك رسالة تقول "لا يوجد اتصال بالإنترنت ، هل تريد البقاء على اتصال" ، حدد نعم.

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

5) يجب أن يكون القابس الآن متصلاً بشبكة WiFi الخاصة بك. ستحتاج إلى الانتقال إلى صفحة التكوين الخاصة بجهاز التوجيه الخاص بك والعثور على عنوان IP الخاص بجهازك.

6) افتح مستعرض ويب على جهاز الكمبيوتر الخاص بك وانتقل إلى https:// [device_ip] يجب أن تشاهد شاشة التكوين من Tasmota.

تهانينا ، لقد نجحت في وميض القابس.

الخطوة 4: تكوين القابس

تكوين القابس
تكوين القابس

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

لهذا ، ابحث عن جهازك في هذه الصفحة:

templates.blakadder.com/plug.html

للجهاز الذي استخدمته ، التكوين هنا:

templates.blakadder.com/kogan-KASPEMHUSBA ….

لتعيين التكوين ، نقوم فقط بنسخ النص ضمن القالب. في هذه الحالة يكون:

ثم

1) انتقل إلى صفحة تكوين جهازك https:// [IP of smart plug]

2) انقر فوق تكوين ، تكوين أخرى

3) الصق في سلسلة القالب

4) ضع علامة على "Enable MQTT"

5) انقر فوق تنشيط وحفظ.

لاختبار نجح هذا الأمر ، انقر على "القائمة الرئيسية" للعودة إلى الصفحة الرئيسية وسترى الآن أرقام استخدام الطاقة. ستكون جميعها صفراً ، حتى الجهد الكهربائي ، لكن هذه علامة جيدة. انقر فوق زر التبديل وستسمع نقرة الترحيل وترى ارتفاع الجهد.

الخطوة 5: معايرة الجهد

معايرة الجهد
معايرة الجهد

لقد وجدت أن قراءة الجهد كانت عالية جدًا. إذا كان لديك مصدر آخر لقراءة الجهد في المنزل (مثل العداد الذكي ربما ؟؟) ، فيمكنك معايرة القابس بسهولة شديدة. لفعل هذا

1) احصل على قراءة الجهد الصحيحة

2) قم بتشغيل المرحل في القابس الذكي

3) انقر فوق وحدة التحكم في الصفحة الرئيسية للجهاز

4) أدخل الأمر "VoltageSet 228" وادفع الإدخال (استبدل 228 بجهدك)

يجب أن يظهر الجهد الآن بشكل صحيح.

الخطوة 6: تثبيت البرنامج على PI

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

غرافانا (لعرض الرسوم البيانية)

Influxdb (قاعدة بيانات السلاسل الزمنية التي ستخزن بياناتنا)

Telegraf (يستخدم لدفع البيانات إلى Influxdb)

Mosquitto (ناقل الرسائل يستخدم لتمرير البيانات ، يقوم القابس الذكي بدفع البيانات هنا)

سلسلة تدفق البيانات هي كما يلي:

المكونات الذكية -> Mosquitto -> Telegraf -> InfluxDB -> Grafana

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

الخطوة السابعة: تثبيت برنامج Grafana

تثبيت جرافانا
تثبيت جرافانا

من عند:

grafana.com/grafana/download؟platform=arm

أو الكثير من الخيارات الأخرى هنا:

grafana.com/grafana/download

لـ Pi 1 و Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1 # ابحث عن أحدث إصدار من الصفحة في الجزء العلوي https://dl.grafana.com/oss/release/grafana-rpi_7….sudo dpkg -i grafana-rpi_7.0.1_armhf. debsudo / bin / systemctl daemon-reloadsudo / bin / systemctl تمكين grafana-serverudo / bin / systemctl بدء خادم grafana

لأحدث PIs (ARMv7)

sudo apt-get install -y adduser libfontconfig1 # ابحث عن أحدث إصدار من الصفحة في الجزء العلوي https://dl.grafana.com/oss/release/grafana_7.0.1_..sudo dpkg -i grafana_7.0.1_armhf.debsudo / bin / systemctl daemon-reloadsudo / bin / systemctl تمكين grafana-serversudo / bin / systemctl بدء خادم grafana

لاختبار:

انتقل إلى https:// [IP of PI]: 3000

اسم المستخدم / كلمة المرور هي admin / admin ، سيطلب منك تغييرها ، يمكنك تخطيها الآن

إذا حصلت على واجهة مستخدم رسومية ، فكل شيء جيد ، فانتقل إلى الخطوة التالية

الخطوة الثامنة: تثبيت InfluxDB

قم بتشغيل هذه الأوامر على PI:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -source / etc / os-releasetest $ VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stabilized" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stabil" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stabil" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster stabil" | sudo tee /etc/apt/sources.list.d/influxdb.listsudo apt-get updatesudo apt-get install influxdbsudo systemctl تمكين influxdbsudo systemctl بدء التدفق

اختبر بكتابة "التدفق". هذا يجب أن يضعك في سطر أوامر influxdb. اكتب "عرض قواعد البيانات" ، فلن تكون هناك قواعد بيانات حتى الآن ، ولكن إذا حصلت على قائمة فارغة خالية من الأخطاء ، فكل شيء جيد.

الخطوة 9: تثبيت Telegraf

هذا سهل حقًا ، لأننا أضفنا influxdb repos يمكننا فقط كتابته:

sudo apt-get install telegrafsudo systemctl تمكين نظام telegrafsudoctl start telegraf

في هذه المرحلة ، سوف يقوم Telegraf بالفعل بتسجيل مقاييس النظام إلى influxdb. يمكنك رؤيتهم عن طريق كتابة هذه الأوامر:

قواعد بيانات عرض التدفق باستخدام سلسلة telegrafshow ، حدد * من وحدة المعالجة المركزية LIMIT 10 ؛

الخطوة 10: قم بتثبيت Mosquitto

هذا الجزء سهل حيث نقوم فقط بتثبيت الإصدار الافتراضي الذي تم تعبئته مع raspian:

sudo apt-get -y install mosquittosudo apt-get -y install mosquitto-clientssudo systemctl تمكين mosquittosudo systemctl start mosquitto # إنشاء كلمة مرور لـ mosquittosudo mosquitto_passwd -c / etc / mosquitto / tasmota tasmota # أدخل كلمة مرور. اكتب كلمة المرور هذه لأننا سنحتاج إلى إعطائها للمكونات الذكية

لاختبار:

قم بتشغيل هذا في جلسة SSH واحدة:

mosquitto_sub -t الاختبار

قم بتشغيل هذا في مكان آخر

mosquitto_pub -t test -m mymessage

يجب أن ترى رسالة في جلسة SSH الأولى

الخطوة 11: إرسال البيانات من القابس الذكي إلى Mosquitto

إرسال البيانات من المكونات الذكية إلى Mosquitto
إرسال البيانات من المكونات الذكية إلى Mosquitto

الآن لدينا البعوض قيد التشغيل نحتاج إلى تكوين المكونات الذكية لإرسال البيانات إلى البعوض. هذا من السهل القيام به. سنحتاج إلى كلمة المرور التي تم إدخالها لـ mosquitto من الخطوة السابقة.

1) قم بتسجيل الدخول إلى صفحة ويب المقابس الذكية الخاصة بك

2) انقر فوق "تكوين" ، ثم "تكوين التسجيل"

3) اضبط فترة القياس عن بُعد على 10 وانقر فوق حفظ.

4) انقر فوق تكوين MQTT

5) بالنسبة للمضيف ، أدخل عنوان IP الخاص بـ PI الخاص بك

6) للحصول على اسم المستخدم أدخل tasmota

7) بالنسبة لكلمة المرور ، أدخل كلمة المرور من الخطوة السابقة

8) للموضوع أدخل tasmota1

9) انقر فوق حفظ

لاختبار:

في PI ، اكتب الأمر أدناه. في غضون 10 ثوانٍ ، من المفترض أن ترى البيانات قادمة.

mosquitto_sub -t tele / tasmota1 / SENSOR

يجب أن تبدو البيانات على النحو التالي:

الخطوة 12: استخدم Telegraf لنقل البيانات من Mosquitto إلى Influx

سنقوم الآن بتكوين Telegraf لقراءة البيانات من البعوض والدفع نحو التدفق. على PI:

1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak

2) sudo vi /etc/telegraf/telegraf.conf

ملاحظة vi ليس سهل الاستخدام للمستخدمين الجدد ، إذا كنت تفضل محرر نص قائم على القائمة ، فاستخدم nano بدلاً من ذلك:

sudo nano /etc/telegraf/telegraf.conf

3) الصق التهيئة من الملف المرفق

4) sudo systemctl إعادة تشغيل Telegraf

لاختبار اكتب هذا على PI:

تدفق

عرض قواعد البيانات

يجب أن تشاهد قاعدة بيانات الاختبار. إذا كنت لا تحب اختبار الاسم ، يمكنك تغيير dest_db في ملف telegraf.conf.

الخطوة 13: أخيرًا ، قم بإنشاء الرسوم البيانية في Grafana

أخيرًا ، قم بإنشاء الرسوم البيانية في Grafana
أخيرًا ، قم بإنشاء الرسوم البيانية في Grafana

أخيرًا ، سنرى بعض البيانات:-):-)

نحتاج أولاً إلى إنشاء اتصال بقاعدة البيانات. انتقل إلى صفحة الويب grafana http: [ip of PI]: 3000

1) تسجيل الدخول مع admin / admin

2) في العمود الأيسر ، انقر فوق رمز الترس ومصادر البيانات

3) انقر فوق إضافة مصدر البيانات

4) انقر فوق influxdb

5) بالنسبة لعنوان URL ، أدخل https:// localhost: 8086

6) لقاعدة البيانات أدخل الاختبار

7) بالنسبة إلى HTTP ، أدخل GET

8) لأدنى فترة زمنية أدخل 10 ثانية

9) انقر على "حفظ واختبار" ، يجب أن تظهر عبارة "Datasource is working"

حسنًا ، لدينا الآن اتصال بقاعدة البيانات يمكننا إنشاء رسم بياني … أخيرًا.

1) في العمود الأيسر ، انقر فوق + ثم Dashboard و Add New Panel

2) لقاعدة البيانات ، انقر فوق InfluxDB

3) انقر فوق قياس وحدد كوجان

4) للحقل حدد Energy_Power.

5) بالنسبة للاسم المستعار ، امنح سلسلتك اسمًا (على سبيل المثال ، غسالة أطباق)

6) على الجانب الأيمن لعنوان اللوحة ، أعطه اسمًا ، على سبيل المثال Power.

7) هذا كل شيء ، يجب أن تشاهد البيانات. انقر فوق زر السهم الأيسر للخروج من التحرير ثم انقر فوق حفظ ، وقم بتسمية لوحة التحكم.

إذا كنت قد وصلت إلى هذا الحد ، فهذا عمل رائع ، بجدية.

الخطوة 14: بعض النصائح الإضافية

عدد قليل من النصائح
عدد قليل من النصائح
عدد قليل من النصائح
عدد قليل من النصائح

كان تكوين Telegraf الافتراضي الذي قدمته يتطلب صيانة مكثفة بعض الشيء حيث يجب إضافة قسم جديد لكل جهاز ويجب إعادة تشغيل Telegraf. مع التغييرات أدناه ، فإنه يجعل الأشياء أكثر ديناميكية حيث يمكن إضافة الأجهزة أو إعادة تسميتها في تكوين Tasmota دون الحاجة إلى تغيير Telegraf.

التغيير الأول هو وضع + في اسم الموضوع ، وهذا في الأساس حرف بدل. سيكون هذا بمفرده كافيًا إلا عندما تقوم بعمل رسوم بيانية في Grafana ، تظهر الأجهزة المسماة بأشياء مثل "tele / WashingMachine / SENSOR". الجزء الثاني من تهيئة Telegraf أدناه هو معالج regex. يسحب النص "WashingMachine" من المركز ويحوله إلى علامة جديدة يتم دفعها إلى InfluxDB.

ملاحظة: تأكد من إعداد اسم موضوع مختلف في تكوين Tasmota لكل جهاز

[inputs.mqtt_consumer.tags] dest_db = "اختبار"

بمجرد الانتهاء من ذلك ، من السهل جدًا تكوين Grafana لعرض أجهزة متعددة على الرسم البياني الواحد. توضح الصورة المرفقة بهذه الخطوة ما يجب القيام به. ما عليك سوى النقر فوق علامة + على المجموعة بسطر وتحديد العلامة (الجهاز). أسفل الجزء السفلي عند الاسم المستعار عن طريق إدخال $ tag_device. يجب أن تشاهد الآن سلاسل متعددة على الرسم البياني الواحد. يمكنك النقر فوق نص كل عنصر لتشغيله وإيقاف تشغيله (انقر فوق ctrl انقر فوق الأعمال لتحديد المضاعفات)

موصى به: