ومع ذلك ، فإن الحصول على البيانات على لينكس سهل نسبيًا. اضطررت إلى استخدام عكاز صغير ، ولكن في النهاية ، يمكن الحصول على قراءات co2 ودرجة الحرارة في وحدة التحكم وإرسالها أكثر.
تناولت هذه المقالة إرسال البيانات إلى IoBroker و Home Assistant.
ستحتاج إلى مكتبة libhidapi وبرنامج co2mon صغير يقع على github.
apt-get install git cmake g++ pkg-config libhidapi-dev
قم بتحميل وتجميع برنامج co2mon
mkdir co2
cd co2
git clone https://github.com/dmage/co2mon.git
cd co2mon
mkdir build
cd build
cmake ..
make
cd co2mond
mv co2mond ../../../co2mond
قد تحتاج إلى تعديل المسارات لتناسب نظامك.
يعمل هذا البرنامج في وضعين - استقبال البيانات باستمرار في وحدة التحكم ، وفي وضع الخفي. عند تشغيله بدون معلمات ، يعرض البرنامج باستمرار القراءات الحالية إلى وحدة التحكم حتى يتم إغلاقها بالقوة. حل غريب بعض الشيء ، ربما لم أفهمه ، لكننا نعمل مع ما لدينا.
في كلا الوضعين ، يمكن للبرنامج حفظ البيانات إلى ملفات نصية ، فقط قم بإضافة مفتاح التبديل -D وحدد المسار إلى الدليل.
لم أكن أرغب في تعليق شيطان آخر على الخادم الضعيف بالفعل في المنزل الذكي ، ولا تتغير البيانات المتعلقة بثاني أكسيد الكربون بسرعة. لذلك ، طرحت في نص بسيط يقوم بتشغيل البرنامج ، وينتظر لمدة خمس ثوانٍ ويقتله.
#!/bin/bash
cd /home/server/co2
./co2mond -D /home/server/co2 > log.txt &
sleep 5
pkill co2mond
rm log.txt
أضف نصًا إلى cron ، وأقوم بتشغيله مرة واحدة في الدقيقة ، وهذا أكثر من كافٍ.
منجز! الآن في ملفين نصيين ينشئهما البرنامج ، هناك قراءات مناخية حالية.
نقطة مهمة - لتلقي البيانات من USB ، يجب أن يكون لدى المستخدم الحقوق المناسبة ، أو يجب تشغيل cron كجذر ، على التوالي ، ستكون الملفات النصية التي تم إنشاؤها هي الجذر أيضًا ، يجب أن يؤخذ هذا في الاعتبار.
الآن الجزء الثاني - نرسل البيانات المستلمة إلى أنظمة المنزل الذكي. لنبدأ مع IoBroker. بادئ ذي بدء ، منذ ذلك الحين عندما قمت بتعيين هذه المهمة لنفسي ، استخدمتها.
كل شيء بسيط هناك - يوجد محول systeminfo يمكنه قراءة الملفات من نظام الملفات ، من بين أمور أخرى. لا يعني أن درجات الحرارة هذه مطلوبة ، ولكن لماذا لا.
نحفظ ، وفويلا:
ثم انتقلت إلى مساعد المنزل. استخدم فيها البعوض ، وقررت إرسال البيانات من خلاله ، بهدف فصل أجهزة الكمبيوتر في المستقبل أو إضافة أجهزة استشعار.
أنا لا أعتبر تثبيت وتكوين وسيط ، هذا خارج نطاق المقال.
يجب تثبيت عميل البعوض على الكمبيوتر الذي يتصل به المستشعر ، إذا لم يكن مثبتًا:
apt-get install mosquitto-clients
أضف مستشعرين إلى تكوين Home Assistant ، وأعد التشغيل:
- platform: mqtt
state_topic: "co2/co2"
name: "co2.co2"
unit_of_measurement: ppm
- platform: mqtt
state_topic: "co2/temp"
name: "co2.temp"
unit_of_measurement: °C
أضف أربعة أسطر إلى البرنامج النصي الذي يتلقى البيانات:
read co2 /home/server/co2/CntR
read temp /home/server/co2/Tamb
mosquitto_pub -h localhost -t "co2/co2" -m $co2 -u "" -P ""
mosquitto_pub -h localhost -t "co2/temp" -m $temp -u "" -P ""
تم ، أنت بخير) الآن ينشر kroner قراءات المستشعر إلى موضوع co2 مرة واحدة في الدقيقة ، ويقرأها Home Assistant بدوره:
الآن لدينا بيانات المستشعر في نظام المنزل الذكي ، ويمكننا جدولة الأتمتة. يتم تشغيل غطاء محرك السيارة ، ولا أتحكم في تهوية الإمداد بعد ، ولكن إذا قمت بتشغيل غطاء المحرك ، فسيتم تجديد الهواء تدريجيًا.