جدول المحتويات:
- اللوازم
- الخطوة 1: إعداد Raspberry Pi
- الخطوة 2: إجراء اتصال وتوصيل Rpi Wireless بشبكتك المحلية
- الخطوة 3: جهاز الاستشعار DS18B20 (درجة الحرارة) - سلك واحد
- الخطوة 4: MCP3008 - الاستشعار التناظري
- الخطوة 5: الأجهزة
- الخطوة 6: إنشاء قاعدة بيانات Mariadb
- الخطوة 7: كود جيثب والاختبار
- الخطوة 8: قم بتشغيل Code on Boot Up
- الخطوة 9: إعداد موقع الويب
- الخطوة 10: اختياري - نموذج مصغر
فيديو: مشروع مستشعر الهواء - الغاز: 10 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
أول أكسيد الكربون وثاني أكسيد الكربون ، المعروف أيضًا باسم CO و CO2. الغازات عديمة اللون والرائحة والمذاق والخطيرة بصراحة عندما تكون بتركيزات عالية في غرفة مغلقة. إذا كنت تعيش على سبيل المثال في غرفة الطلاب التي تكون معزولة بشكل سيء ولا يوجد تدفق هواء جيد ولسبب ما ، فإن المحمصة تصدر ضوضاء غريبة أثناء تحضير الخبز المحمص. ثم قد تتلامس مع هذه الغازات وعندما يحدث ذلك ، دعنا نأمل أن ينتهي الأمر فقط بصداع صغير ، لأنه في حالة التركيز العالي قد يؤدي إلى إعاقة أو حتى يقتلك (على الرغم من أنه نادر جدًا).
لذلك قررت أن أبتكر هذا المشروع. فكرتي بسيطة ، استخدم المراوح لتدفق الهواء. هواء جيد وهواء سيء إذا جاز التعبير. للحصول على فائدة إضافية ، أضفت مستشعر درجة حرارة إضافيًا وزرًا لمراوح التنشيط اليدوي وأيضًا موقع ويب لأولئك الذين يرغبون في رؤية الإحصائيات و / أو تنشيط المعجبين من أجهزة الكمبيوتر الخاصة بهم.
كطالب أو والد أو فرد أو كائن حي. هذا شيء ترغب عادةً في تجنبه عند العيش في راحة منزلك. هذا يساعد أولئك الذين يحبون جعل حياتهم أسهل قليلاً.
اللوازم
- Raspberry Pi 3+
- شاحن USB صغير 5 فولت / 2.5 أمبير
- بطاقة مايكرو التنمية المستدامة
-
مجسات
- MQ-7 (كو)
- MQ-135 (ثاني أكسيد الكربون)
- DS18B20 (درجة الحرارة)
- مروحة 2 × 12 فولت تيار مستمر
- 2 × 2n2222 الترانزستورات
- شاشة LCD 16 * 2
- اضغط الزر
- MCP3008
- محول مستوى لوجي
- كابل إيثرنت (لأسباب تتعلق بالإعداد)
الخطوة 1: إعداد Raspberry Pi
قبل العمل مع Rpi ، سنحتاج إلى بعض البرامج.
- WinSCP أو FilleZilla (اختياري إذا كنت تريد نقل الملفات من جهاز الكمبيوتر الخاص بك إلى Rpi)
- قرص Win32 أو Etcher (الذي تفضله أكثر)
- المعجون أو MobaXterm (الذي تفضله أكثر)
- صورة Raspbian مع سطح المكتب
قبل أن أبدأ ، أود أن أذكر أنه عند إجراء هذا البرنامج التعليمي ، عندما أختار برنامجًا على الآخر ، لا يعني ذلك أنني أوصي به. على سبيل المثال ، أحب استخدام النقش لأنه أكثر سهولة في الاستخدام ولكن Win32 لديه خيار عمل نسخ احتياطية. الآن هذا خارج نظامي ، لنبدأ.
إذا كان لديك بالفعل Rpi متصل بشبكة wifi الخاصة بك ، فانتقل إلى الخطوة 3.
أولاً سنستخدم Etcher لوضع صورة Raspbian على بطاقة sd الخاصة بك. الآن قبل سحب بطاقة sd ، سنقوم بتغيير بعض "الأشياء" في ملف cmdline.txt ، والتي يمكن العثور عليها في الصورة. افتح ملف.txt -> أضف هذا السطر "ip = 169.254.10.1" (بدون علامات اقتباس) في نهاية السطر (الكل في سطر واحد) -> حفظ الملف
ثانيًا ، قم بإنشاء مجلد فارغ يسمى "ssh" في قسم التمهيد (بدون علامات اقتباس).
بعد ذلك يمكنك إخراج Microsd بأمان ووضعه في Rpi.
سبب IP الثابت المشفر الثابت هو تسهيل الاتصال بـ Rpi. إذا لم يكن لدى Rpi لسبب ما عنوان IP مع DHCP ، فيمكنك بسهولة استخدام عنوان IP الثابت.
الخطوة 2: إجراء اتصال وتوصيل Rpi Wireless بشبكتك المحلية
سنقوم بتشغيل Rpi -> قم بتوصيل كابل Ethernet بين الكمبيوتر و Rpi.
-
ابدأ المعجون واملأ هذا:
- اسم المضيف (أو عنوان IP): 169.254.10.1
- المنفذ: 22
-
تنبثق محطة طرفية وتكتب اسم المستخدم وكلمة المرور الافتراضيين:
- اسم المستخدم: pi
- كلمة المرور: التوت
الآن بعد أن أصبحنا متصلين محليًا بـ rpi ، نريد أن يكون لـ Rpi اتصال بشبكة wifi الخاصة بك.
- إضافي: اكتب "sudo raspi-config"
- هنا سوف تحتاج إلى تغيير كلمة المرور لمستخدم pi (أسباب تتعلق بالسلامة)
- بعد ذلك ، انتقل إلى خيارات الترجمة -> تغيير الوقت (اختر الخيار الصحيح) -> ثم انتقل إلى Wifi Country -> اختر البلد.
- قم بإغلاق raspi-config وإعادة التشغيل.
- عند تسجيل الدخول ، اجعل نفسك مستخدمًا جذريًا مؤقتًا -> sudo -i
-
اكتب هذا الأمر لإضافة شبكتك إلى Rpi (رمز القائمة أدناه)
- كلمة المرور = "كلمة المرور" (بعلامات اقتباس)
- اسم الشبكة = "SSID"
- تذكر استخدام مزدوج >>! هام!
صدى "كلمة السر" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
الآن أعد التشغيل مرة أخرى
عند إعادة الاتصال ، تحقق من عنوان IP الخاص بك عن طريق كتابة:
ifconfig
وتحقق من wlan0 ، بجوار inet.
الآن بعد أن أصبح لدينا اتصال بالإنترنت ، فلنقم بتحديث "سريع".
sudo apt التحديث
sudo apt Dist-Upgrade -y
هذا قد يستغرق بعض الوقت.
الخطوة 3: جهاز الاستشعار DS18B20 (درجة الحرارة) - سلك واحد
مع كل مشروع ، سيكون هناك دائمًا شيء خاص يجب القيام به وإلا فلن ينجح.
هذه المرة لدينا مع مستشعر درجة الحرارة DS18B20 الذي يتطلب سلكًا واحدًا ولن أشرح السبب ولكن سأشرح كيفية جعله يعمل على الأقل.
لهذا علينا العودة إلى raspi-config على Rpi ، الشاشة الزرقاء الجميلة.
- انتقل إلى خيارات التواصل
- اختر 1-Wire واختر تمكين.
منتهي…
أنا فقط أمزح.
سنحتاج الآن إلى ضبط /boot/config.txt
sudo نانو / boot/config.txt
أضف هذا الخط في الأسفل.
# تمكين onewire
dtoverlay = w1-gpio
الآن sudo أعد تشغيل هذا الشيء والآن انتهينا.
للتحقق مما إذا كان يعمل ، قم بتوصيل المستشعر بـ Rpi ثم ارجع إلى الجهاز واكتب هذا الرمز (انظر الخطوة التالية الأجهزة حول كيفية توصيل مستشعر درجة الحرارة).
cd / sys / bus / w1 / devices / w1_bus_master1
ls
يجب أن ترى شيئًا يحتوي على أرقام وحروف باللون الأزرق الداكن في أعلى اليسار ، تأكد من كتابة هذه المعلومة لاحقًا عندما سنعمل مع الكود من github.
إذا لم يعمل لسبب ما ، فتحقق من هذا الرابط الذي يتعمق فيه.
الخطوة 4: MCP3008 - الاستشعار التناظري
نظرًا لأننا أجرينا تغييرًا على مستشعر درجة الحرارة ، نحتاج أيضًا إلى إجراء بعض التغييرات على المستشعرات الأخرى نظرًا لأننا نحتاج إلى قراءة البيانات التناظرية. هنا حيث يكون MCP3008 مفيدًا ، نحتاج أيضًا إلى تغيير واجهة SPI.
sudo raspi-config
انتقل إلى Interfacing Options -> Select SPI -> enable.
ثم قم بإنهاء.
الخطوة 5: الأجهزة
لم ننتهي تمامًا من استخدام Rpi ولكن بما يكفي حتى نتمكن من البدء في بناء الأجهزة وتجميعها معًا.
بعض النصائح هي التحقق بدقة من اتصالاتك عند البناء للتأكد من عدم … تفجير Rpi.
أيضًا ، في المخطط ، ستلاحظ وجود بعض المكونات عليه مرة واحدة فقط على الرغم من أننا سنعمل مع أكثر من عنصر واحد من نفس المكون. هذا يعني فقط أنه يجب عليك تكرار نفس العملية لبناء هذا المكون الأول. هناك استثناء واحد صغير ، لا تحتاج مستشعرات mq-x إلى محول مستوى إضافي أو MCP3008. ما عليك سوى إضافة كبل أخضر إضافي (بتنسيق pdf) إلى محول المستوى و MCP3008.
تحرير إضافي: تحتاج المراوح إلى استخدام الترانزستور كمفتاح. أستخدم ترانزستور 2n2222A لمروحة واحدة ، لأن مراوحين قد تكون حمولة ثقيلة.
إذا كان لديك ترانزستور يمكنه التعامل مع تيار أكبر ثم جيد ، فتخط الجزء الأخير من هذه الخطوة.
إذا لم يكن لديك واحد مثلي ، فستحتاج إلى القيام بذلك على هذا النحو ، مروحة واحدة = 1 ترانزستور ، 2 مراوح = 2 ترانزستور ، وما إلى ذلك (كل مروحة لها ترانزستور + ديود كما في pdf).
ستحتاج أيضًا إلى إضافة بعض التعليمات البرمجية إلى app.py في backend_project لاحقًا في الخطوة 7: كود Git….
الخطوة 6: إنشاء قاعدة بيانات Mariadb
كما يوحي العنوان ، سننشئ قاعدة بيانات بحيث يكون لدينا مكان لتخزين بيانات أجهزة الاستشعار الخاصة بنا.
أول الأشياء أولاً ، قم بتنزيل Mariadb على Rpi.
sudo apt-get install mariadb-server
بعد التثبيت ، دعنا نستخدمه.
mysql -u الجذر
كلمة المرور فارغة ، لذا لا شيء لكتابتها. اضغط دخول.
لنقم بإنشاء مستخدم الآن.
إنشاء مستخدم 'مستخدم' @ '٪' معرف بواسطة 'userdb' ؛
منح جميع الامتيازات *. * إلى "المستخدم" @ "٪" مع خيار المنحة ؛
امتيازات التنظيف ؛
اضغط على Ctrl + C للخروج وإعادة تشغيل الخدمة بسرعة:
إعادة تشغيل خدمة sudo mysql
تسجيل الدخول باسم المستخدم: المستخدم وكلمة المرور: userdb:
mysql -u المستخدم -p
حان الوقت لإنشاء قاعدة البيانات الآن.
إنشاء قاعدة بيانات project_db DEFAULT CHARACTER SET utf8؛
استخدام project_db
قم بإنشاء جدول "historyiek" (يعني التاريخ).
إنشاء جدول إذا لم يكن EXISTS "historyiek" ("id" INT NOT NULL AUTO_INCREMENT،
`sensorID` VARCHAR (5) NOT NULL ،` datum` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ، `waarde` FLOAT (4) NULL DEFAULT 0 ، PRIMARY KEY (` id`)) Engine = InnoDB ؛
وفويلا ، قاعدة البيانات مصنوعة.
الخطوة 7: كود جيثب والاختبار
نحن نقترب من نهاية مشروعنا.
قبل أن نحصل على الكود ، سنحتاج إلى استيراد بعض الوحدات إلى Rpi:
pip3 تثبيت Flask_MySQL
pip3 تثبيت flask-socketio
تثبيت pip3 -U flask-cors
pip3 تثبيت spidev
نحتاج الآن إلى الكود لجعله يعمل ، اكتب في Terminal:
استنساخ بوابة
تحقق مما إذا كان المجلد موجودًا مع:
ls
ستحتاج الآن إلى محطتين ، لذا من السهل النقر بزر الماوس الأيمن على الجهاز والنقر على تكرار الجلسات:
انتقل إلى backend_project ودرجة الحرارة باستخدام الأمر cd.
الآن قبل أن نبدأ البرامج لأغراض الاختبار. هل ما زلت تتذكر الخطوة 3 باستخدام المستشعر أحادي السلك حيث تحتاج إلى كتابة بعض الأرقام؟ لا تقلق إذا كان لديك ، ما عليك سوى إلقاء نظرة سريعة على الخطوة 3 مرة أخرى.
سنضيف هذه الأرقام إلى الكود لأنه سيحتاج إلى معرفة المستشعر الصحيح عند استخدامه.
الجهاز الذي يحتوي على مجلد درجة الحرارة ، ستجد app.py. سنقوم بفتحه.
sudo نانو app.py
ابحث عن الوظيفة التي تسمى "def درجة الحرارة ():" ، حيث سيتعين عليك استبدال "**" بالأرقام التي كتبتها. في حالتي ، سأحصل عليه هذا السطر من الكود (كل رقم فريد).
sensor_file_name = '/ sys / devices / w1_bus_master1 / 28-0316a4be59ff / w1_slave
وقت الاختبار. كلا المحطتين في كل من backend_project ومجلد درجة الحرارة ، اكتب:
python3 app.py
تذكر الآن الخطوة 5: الأجهزة حيث تحتاج إلى إضافة رمز إذا كنت تستخدم مراوح وترانزستورات متعددة؟
جيد ، إذا لم يكن كذلك ، فارجع إلى الخطوة 5.
الآن نحن بحاجة إلى إضافة رمز كما أشرت إلى app.py في backend_project. لتسهيل الأمر ، قدمت مثالًا على ذلك في الكود. كل سطر من كود التعليق يحتوي على "fan1" فيه ، قم بإلغاء التعليق على تلك السطور وفويلا ، يمكنك الآن استخدام معجبين.
إذا كنت تريد استخدام أكثر من معجبين فقط ، فانسخ والصق نفس الرمز تحته ولكن برقم مختلف. عيب هذا هو المزيد من العمل الشخصي بالنسبة لك وقليل من gpio.pins المتاحة. لا توجد مزايا لهذا أعرفها.
الخطوة 8: قم بتشغيل Code on Boot Up
نريد أن يتم تشغيل نصي Python هذين في اللحظة التي يتم فيها تشغيل Rpi وفي حالة تعطل البرنامج النصي ، يجب إعادة تشغيله من تلقاء نفسه. للقيام بذلك ، سنقوم بعمل خدمتين.
للقيام بذلك ، اكتب:
sudo nano /etc/systemd/system/temperature.service
انسخ والصق هذا للحصول على درجة حرارة.
[الوحدة] الوصف = خدمة درجة الحرارة بعد = multi-user.target
[الخدمة] النوع = بسيط
ExecStart = / usr / bin / python3 /home/pi/Documents/nmct-s2-project-1-TheryBrian/temperature/app.py
StandardInput = tty-force
إعادة التشغيل = عند الفشل
RestartSec = 60 ثانية
[تثبيت]
WantedBy = multi-user.target
أغلق وافعل مرة أخرى ولكن بعد ذلك لخدمة backend_project:
أول نص مفتوح:
sudo nano /etc/systemd/system/backend_project.service
ثم انسخ والصق مرة أخرى:
[الوحدة] الوصف = خدمة backend_project
بعد = multi-user.target
[خدمة]
اكتب = بسيط
ExecStart = / usr / bin / python3 /home/pi/Documents/nmct-s2-project-1-TheryBrian/backend_project/app.py
StandardInput = tty-force
إعادة التشغيل = عند الفشل
RestartSec = 60 ثانية
[تثبيت]
WantedBy = multi-user.target
احفظ وأغلق.
الجزء الأخير يكتب هذا:
تحميل برنامج sudo systemctl daemon-reload
sudo systemctl تمكين temperature.service sudo reboot
الآن يجب تشغيل نصي Python تلقائيًا عند التمهيد.
الخطوة 9: إعداد موقع الويب
عندما تقوم بتنزيل المستودع ، يجب أن يكون لديك أيضًا مجلد يسمى front. هذا هو المكان الذي توجد فيه محتويات الموقع.
نحتاج أولاً إلى apache قبل أن نتمكن من استخدام المجلد. اتبع الدليل الموجود على هذا الرابط من أجل اباتشي.
عندما تكون جاهزا. انتقل إلى حيث يوجد المجلد الأمامي:
cd / Documents / nmct-s2-project-1-TheryBrian
ثم اكتب:
sudo mv front / var / www / html
عندما يتم ذلك ، انتقل إلى مجلد html ، واستعد لبعض الأعمال الشاقة (خطأي).
cd / var / www / html /
ثم انتقل إلى المجلد الأمامي وابدأ في نقل كل شيء إلى مجلد html.
مثال:
sudo mv css / var / www / html
ثم احذف المجلد الأمامي.
وانتهينا من كل شيء.
حظا طيبا وفقك الله:).
الخطوة 10: اختياري - نموذج مصغر
لأسباب الاختبار ، قمت بعمل نموذج أولي لمربع فقط به جميع الأجهزة الموجودة بداخله حتى أتمكن من معرفة ما إذا كان كل شيء يعمل حسب الطلب.
عادة يتم تنفيذ هذا المشروع على نطاق أوسع. على سبيل المثال: غرفة ، منزل ، مصنع ، متجر وما إلى ذلك …
لكن من الواضح قبل أن نبدأ في إحداث ثقوب في الجدران (قافية لطيفة). نريد أولاً أن نرى ما إذا كان يعمل فقط. لا تحتاج في الواقع إلى صنع صندوق للاختبار ، لكن من الممتع دائمًا القيام ببعض الأعمال اليدوية.
هذا هو المثال الخاص بي.
موصى به:
مستشعر جودة الهواء AEROBOT V1.0: 6 خطوات (بالصور)
AEROBOT Air Quality Sensor V1.0: هذه التعليمات تدور حول صنع مستشعر جودة هواء غير مكلف وعالي الدقة يسمى AEROBOT. يوضح هذا المشروع درجة الحرارة والرطوبة النسبية وكثافة الغبار PM 2.5 وتنبيهات حول جودة الهواء في المناطق المحيطة. يستخدم مستشعر DHT11
مستشعر جودة الهواء باستخدام Arduino: 4 خطوات
مستشعر جودة الهواء باستخدام Arduino: في هذا المنشور ، سوف نتعلم كيفية بناء مستشعر جودة هواء بسيط ولكنه مفيد. سنستخدم مستشعر SGP30 جنبًا إلى جنب مع Piksey Pico ، على الرغم من أن الرسم سيعمل إلى حد كبير مع أي لوحة متوافقة مع Arduino. يخبرك الفيديو أعلاه من خلال
كشف تلوث الهواء + تنقية الهواء: 4 خطوات
كشف تلوث الهواء + تنقية الهواء: عمل الطلاب (Aristobulus Lam و Victor Sim و Nathan Rosenzweig و Declan Loges) من المدرسة الألمانية السويسرية الدولية مع موظفي MakerBay لإنتاج نظام متكامل لقياس تلوث الهواء وفعالية ترشيح الهواء. هذه
من عند بابي؟ مشروع مستشعر الحركة / مستشعر المدى PIR: 5 خطوات
من عند بابي؟ مشروع مستشعر الحركة / مستشعر المدى PIR: يهدف مشروعنا إلى استشعار الحركة عبر PIR وأجهزة استشعار المسافة. سيخرج كود Arduino إشارة مرئية وصوتية لإخبار المستخدم بوجود شخص ما بالقرب منه. سيرسل كود MATLAB إشارة بريد إلكتروني لتنبيه المستخدم بأن شخصًا ما قريب. هذا الجهاز
الهواء البارد! لأموال أقل! شحن فائق لمكيف الهواء !!: 14 خطوة (بالصور)
الهواء البارد! لأموال أقل! شحن فائق لمكيف الهواء !!: يمكنك الحصول على تبريد مُحسَّن وخفض تكاليف الطاقة بهذه الطريقة. يعمل مكيف الهواء عن طريق ضغط المبرد الغازي حتى يتكثف في المكثف (الذي توقعته) على الجانب الخارجي. هذا يطلق الحرارة في الخارج. ثم عندما