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

AirPi - مستشعر جودة الهواء: 8 خطوات
AirPi - مستشعر جودة الهواء: 8 خطوات

فيديو: AirPi - مستشعر جودة الهواء: 8 خطوات

فيديو: AirPi - مستشعر جودة الهواء: 8 خطوات
فيديو: Measuring particle count, VOC gas, and CO2 air quality 2024, شهر نوفمبر
Anonim
AirPi - مستشعر جودة الهواء
AirPi - مستشعر جودة الهواء

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

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

تم تنفيذ هذا المشروع من قبل طالب في Howest Kortrijk ، NMCT (وسائل الإعلام الجديدة وتكنولوجيا الاتصالات).

الخطوة 1: المواد

المواد
المواد

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

بدون الطباعة ، الأموال التي أنفقتها على هذا المشروع هي 81 ، 80 يورو.

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

دائرة كهربائية:

  • Raspberry Pi 3
  • بطاقة SD 8 جيجابايت (الحد الأدنى)
  • مستشعر جودة الهواء CCS811
  • جهاز استشعار درجة الحرارة والرطوبة DHT22
  • مقياس الجهد (شاشة التباين LCD)
  • شاشة ال سي دي 16x2
  • أنثى إلى أنثى الأسلاك الطائر
  • الصمام الأخضر والأحمر
  • المقاومات (2 × 470 أوم و 1 4700 أوم)

قضية:

  • طباعة ثلاثية الأبعاد
  • مسامير
  • 2 مكون الغراء (أو غيرها من الغراء الساخن)
  • أداة قطع الخيط

فقط من كنت تستخدم ثنائي الفينيل متعدد الكلور:

  • لحام حديد
  • الجريان (يجعل الأمر أسهل)
  • تين
  • تجربة ثنائي الفينيل متعدد الكلور 2x4 سم

الخطوة 2: التوصيلات

روابط
روابط

قم بتوصيل الأسلاك على النحو الوارد أعلاه. يمكنك رؤية دائرة كهربائية في ملف التآكل. إنها ليست دائرة معقدة للغاية ، ولكن إذا كنت تريد أن تجعلها صغيرة قدر الإمكان ، فأنت بالتأكيد تريد الحصول على تجربة لوحة PCB. ستكون الأسلاك هي نفسها ، باستثناء أن GND و Vin سيتم توصيلهما بلوحة PCB. سيتم توصيل المستشعرات بواسطة أسلاك توصيل نسائية أو ذكور مع لحام. لا تنس لحام المقاوم على مستشعر DHT22.

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

الخطوة 3: طباعة ثلاثية الأبعاد

طباعة ثلاثية الأبعاد
طباعة ثلاثية الأبعاد
طباعة ثلاثية الأبعاد
طباعة ثلاثية الأبعاد

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

لقد قمنا برسم كل مكون للتحقق مما إذا كان كل شيء مناسبًا. الملف متاح للجميع ونود سماع بعض التعليقات. كنا سعداء للغاية بالنتيجة.

الخطوة 4: الكود

يمكن العثور على رمز هذا المشروع على Github. إذا كنت قد استخدمت دبابيس أخرى (على سبيل المثال دبوس GPIO آخر لمصابيح LED ، فسيتعين عليك ضبط هذه المتغيرات. سيكون هناك نصا برمجي من Python قيد التشغيل ، web.py لموقع الويب و sensor.py لقراءة المستشعرات والتحديث قاعدة البيانات. سنقوم باستيراد شاشة LCD للفئة من lcd.py.

باستخدام raspberry pi الذي تم تكوينه ، يمكنك البدء. بادئ ذي بدء ، ستحتاج إلى تحديث جميع الحزم وترقيتها:

sudo apt-get update && sudo apt-get Upgrade

بعد ذلك ستحتاج إلى تثبيت الحزم التالية:

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

الآن قم بإنشاء بيئة افتراضية:

me @ my-rpi: ~ تثبيت نقطة python3 -m $ - ترقية pip setuptools wheel virtualenv

me @ my-rpi: ~ $ mkdir project1 && cd project1 me @ my-rpi: ~ / project1 $ python3 -m venv - حزم موقع النظام env me @ my-rpi: ~ / project1 $ source env / bin / تفعيل (env) me @ my-rpi: ~ / project1 $ python -m pip install mysql-connector-python argon2-cffi Flask-HTTPAuth Flask-MySQL-connector-python passlib

نظرًا لقيامك بذلك ، يمكنك استنساخ الكود من GitHub الخاص بي إلى بيئتك الافتراضية. يمكن القيام بذلك بعدة طرق.

في الدليل conf ، يمكنك العثور على أربعة ملفات سيتعين عليك تعديلها إذا لزم الأمر. سيكون عليك بالتأكيد تغيير المستخدم والدليل المنزلي في كل ملف. يجب أن يكون uWSGI ini جيدًا طالما لم تقم بتغيير الكود الخاص بي ، تأكد من تغيير المستخدم و virtualenv إذا لزم الأمر.

نظرًا لاستخدام مستشعر CCS811 عن قصد في Arduino ، لا يمكن لهذا الاتصال عبر ناقل i2c بسرعة raspberry pi. سيتعين عليك تقليل السرعة إلى معدل باود 10000 (استخدمت 9600) في ملف التكوين.

سيتعين عليك أيضًا الحصول على مكتبة مستشعر adafruit. يمكنني شرح هذا هنا ولكن هناك دليل مثالي ل adafruit يشرح كل هذا جيدًا.

نظرًا لأننا نريد تشغيل نصوص Python النصية تلقائيًا عند توصيل التوت ، فسيتعين عليك استخدام الخدمات. يجب أن يكونوا بخير إذا احتفظت بشفري. كل ما عليك القيام به لتشغيلهم هو تمكينهم. قبل أن تفعل ذلك ، هناك شيء أخير.

نظرًا لأننا نستخدم خادم ويب nginx ، فسيتعين علينا إلغاء تنشيط الافتراضي واستبداله بضبط التكوين الخاص بنا. للقيام بذلك ، يجب اتباع هذه الخطوات:

  • انسخ conf / nginx إلى * sites-available *
  • قم بإزالة الرابط الافتراضي config
  • أضف ارتباطًا إلى التكوين الجديد
  • أعد تشغيل nginx لحفظ التغييرات

me @ my-rpi: ~ / project1 $ sudo cp conf / project1 - *. service / etc / systemd / system /

me @ my-rpi: ~ / project1 $ sudo systemctl daemon-reload me @ my-rpi: ~ / project1 $ sudo systemctl start project1- * me @ my-rpi: ~ / project1 $ sudo systemctl status project1- *

يجب تشغيل Nginx و mysql في جميع الأوقات. يبدأون مع التوت باي. نص الويب ونص أداة الاستشعار ليس بعد.

للقيام بذلك ، ما زلت بحاجة إلى تمكين هاتين الخدمتين باستخدام هذين الأمرين:

يتيح sudo systemctl خدمة project1-flask

يتيح sudo systemctl خدمة project1-sensor.

الخطوة 5: قاعدة البيانات

قاعدة البيانات
قاعدة البيانات

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

يمكن العثور على ملف SQL هنا ، ولكن للحصول على قاعدة البيانات على raspberry pi ، يجب اتباع الخطوات التالية:

بعد تثبيت الحزم في الخطوة السابقة ، يجب تشغيل mariadb / mysql على الفور. يمكنك التحقق من هذا باستخدام هذا الخط:

me @ my-rpi: ~ sudo systemctl status mysql

لإنشاء قاعدة البيانات والمستخدمين ، يمكنك ببساطة تشغيل البرامج النصية SQL في الكود من GitHub. إذا قمت بذلك بشكل صحيح ، فسترى الجداول الخاصة بك باستخدام هذا الأمر:

me @ my-rpi: ~ $ echo "إظهار الطاولات ؛" | mysql project1 -t -u project1-admin -p

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

الخطوة 6: الاتصال بشبكة Wi-Fi

افتح ملف تكوين wpa-supplicant في nano (لا يهم حقًا ، فقط تأكد من أنه يمكنك العمل مع محرر النصوص).

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

انتقل إلى أسفل الملف وأضف ما يلي (استبدل اسم ssid واسم كلمة المرور باسمك):

الشبكة = {

ssid = "ssid-name" psk = "password-name"}

لإنشاء كلمة مرور مشفرة ، يمكنك استخدام wpa_passphrase ونسخها ببساطة في ملف wpa_supplicant.conf psk لجعل الأمور أكثر أمانًا.

wpa_passphrase "ssid-name" "password-name"

إذا كنت تريد الاتصال بشبكة Wi-Fi هذه تلقائيًا ، وكان هناك آخرون في ملف التكوين ، فتأكد من تغيير الأولوية إلى مستوى أعلى عن طريق إضافة هذا الخط إلى الشبكة في ملف التكوين:

الأولوية = 2

لا تنس إعادة تكوين الواجهة باستخدام:

إعادة تكوين wpa_cli -i wlan0

أنت الآن جاهز ومتصل بشبكة wifi.

الخطوة 7: وضع كل شيء معًا

نضع كل شيء معًا
نضع كل شيء معًا
نضع كل شيء معًا
نضع كل شيء معًا
نضع كل شيء معًا
نضع كل شيء معًا

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

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

الخطوة الثالثة هي لف باي على الجزء السفلي. ستحتاج إلى 4 براغي بطول 7 مم وقطر 3 مم. بعد ذلك يمكنك دفع لوحة PCD في المكان المخصص في الجزء العلوي من الجزء السفلي. يمكن دفع مستشعر CCS811 إلى المكان المخصص على الجانب الأيسر ويمكن توصيل DHT11 باللوحة اليمنى. كلاهما معزول وجيد التهوية بشكل كافٍ ، لكن بعد ذلك لاحظنا أن الجو لا يزال ساخناً بالداخل. المزيد عن ذلك لاحقًا.

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

يمكنك الآن إرفاق شاشة LCD ، وستحتاج إلى براغي بنفس قطر المسامير السابقة ، ولكن لفترة أطول قليلاً. كان منجم 1 سم. إذا تم فك البراغي الأربعة ، فهناك شيء واحد فقط يجب القيام به. نعلق الجزء العلوي. كل ما تحتاجه هو أربعة مسامير بنفس القطر وهي 2 سم. الآن يجب أن يكون كل شيء في مكانه ويمكنك بدء تشغيله.

الخطوة 8: ابدأ

عملية بدء هذا المشروع سهلة للغاية:

  1. قم بتوصيل كبل الطاقة بالجانب الأيسر من العلبة. إنه ليس مرئيًا جدًا ولكن يمكنك رؤيته من خلال الفتحات. إذا حصلت عليه مرة واحدة فلن تكون هذه مشكلة مرة أخرى.
  2. امنحها بعض الوقت للبدء.
  3. سيظهر عنوان IP على الشاشة لمدة عشر ثوانٍ. الشيء الوحيد الذي عليك القيام به هو التأكد من أنك متصل بنفس الشبكة وإدخال عنوان IP في شريط العنوان في متصفحك.
  4. أنت الآن على الموقع. ليس لديك حساب بعد ، لذا قم بإنشاء حساب.
  5. إذا كنت مسجلا ، قم بتسجيل الدخول.
  6. منتهي! يمكنك رؤية جميع البيانات على صفحة الويب وتعرض شاشة LCD جودة الهواء الحالية.

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

موصى به: