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

فناير: محطة طقس لغرفتك: 6 خطوات (بالصور)
فناير: محطة طقس لغرفتك: 6 خطوات (بالصور)

فيديو: فناير: محطة طقس لغرفتك: 6 خطوات (بالصور)

فيديو: فناير: محطة طقس لغرفتك: 6 خطوات (بالصور)
فيديو: لاكليك إيموغاجي تجمعو فبرنامج ضحيكة ودكيكة على راديو دوزيم من الاثنين للخميس من 18h حتى ل 20h 2024, شهر نوفمبر
Anonim
فَنَير: محطة أرصاد جوية في غرفتك
فَنَير: محطة أرصاد جوية في غرفتك

هناك طرق لا حصر لها لمعرفة الطقس الحالي ، ولكنك حينها تعرف الطقس في الخارج فقط. ماذا لو كنت تريد معرفة الطقس داخل منزلك ، داخل غرفة معينة؟ هذا ما أحاول حله مع هذا المشروع.

تستخدم Fanair مستشعرات متعددة لاستشعار:

  • درجة الحرارة
  • رطوبة
  • ضوء
  • بعض الغازات
  • ضغط جوي

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

الخطوة 1: احصل على جميع العناصر المطلوبة

احصل على جميع العناصر المطلوبة
احصل على جميع العناصر المطلوبة

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

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

  • رازبيري باي 3 بي
  • MPC3008 - 8 قنوات 10 بت ADC
  • جهاز استشعار درجة الحرارة والرطوبة AM2301
  • WR Rademacher WR-tyoe 930-1 ثنائي الفينيل متعدد الكلور
  • حافظة ABS للنماذج الأولية (أسود)
  • LDR
  • مستشعر الغاز MQ135
  • 2x BC517 دارلينجتون ترانزستور
  • RGB LED
  • حزمة المقاوم
  • صفارة
  • الأسلاك
  • BMP280 بارومتر
  • مروحة USB هادئة (5 فولت)

يجب أن يكلف هذا معًا حوالي 110 يورو. ضع في اعتبارك أن السعر الإجمالي تقريبي. أيضًا ، يحتوي مشروعي على شاشة LCD في الصورة ولكنها غير متصلة نظرًا لعدم وجود مساحة كافية في حالتي ، لذلك فهي غير مدرجة في التعليمات.

الخطوة 2: احصل على Raspberry Pi جاهزًا

احصل على Raspian Jessie مع نظام التشغيل Pixel من موقع Raspberry Pi الرسمي وبمجرد تنزيله ، قم بفك ضغطه. ستحصل على ملف صورة. للحصول عليه على Pi ، يجب عليك كتابته على بطاقة SD باستخدام Win32 Disk Imager. بمجرد تثبيته ، حدد ملف الصورة ومحرك الأقراص الذي توجد به بطاقة SD. ثم اضغط على "كتابة" وانتظر حتى تنتهي.

عند الانتهاء ، انقر فوق بطاقة SD الخاصة بك في File Explorer وافتح الملف المسمى 'cmdline.txt' ، انتقل إلى نهاية الملف النصي قبل انتظار الجذر مباشرة واكتب 'ip = 254.169.10.2' مع وجود مسافات حول الدورة التدريبية. بعد حفظه ، يجب النقر بزر الماوس الأيمن في مكان ما داخل النافذة وإنشاء ملف جديد يسمى "ssh". لاحظ أن هذا الملف ليس له امتداد ملف. للتأكد من عدم احتوائه على امتداد ، انقر فوق "عرض" في مستكشف الملفات وتحقق من "الملفات المخفية". إذا قام بإعادة تسميته وحذف الامتداد بحيث يقرأ فقط 'ssh'.

بعد الانتهاء من ذلك ، يمكنك أخيرًا وضع بطاقة SD الخاصة بك في Raspberry Pi. قم بتنزيل عميل ssh (أوصي بـ MobaXterm). واتصل باستخدام ssh مع IP الذي قمت بتعيينه مسبقًا "254.169.10.2". اسم المستخدم هو "pi" ، وكلمة المرور "raspberry". إذا كنت تريد ، يمكنك تغيير كلمة المرور عن طريق كتابة الأمر 'sudo passwd' في الجهاز واتباع التعليمات. نظرًا لأننا سنستخدم جزءًا جيدًا من بطاقة SD لـ Fanair ، يجب عليك توسيع مساحة التخزين المتاحة عن طريق كتابة "sudo rapi-config" واختيار "خيارات متقدمة" ثم "توسيع نظام الملفات". إذا طُلب منك إعادة التشغيل.

سنستخدم واجهة 1-wire و SPI و I2C. لتتمكن من استخدامها ، عليك أولاً إعدادها!

الخطوة 3: ربط كل شيء معًا

قم بتوصيل كل شيء معًا
قم بتوصيل كل شيء معًا
قم بتوصيل كل شيء معًا
قم بتوصيل كل شيء معًا

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

تبدو الدائرة التي ستحتاج إليها كما هو مذكور أعلاه ، للراحة ، يتم أيضًا تضمين إصدار اللوح.

الخطوة 4: أنشئ قاعدة البيانات الخاصة بك

لحفظ جميع البيانات التي ستتلقاها بكفاءة ، سنستخدم قاعدة بيانات TSQL MySQL. قبل تثبيت MySQL ، دعنا نتأكد من تحديث كل شيء عن طريق كتابة بعض الأوامر في الجهاز:

  • "sudo apt-get update"
  • "sudo apt-get Upgrade"
  • "sudo apt-get dist-Upgrade"

اقبل كل مطالبة بكتابة "y" ثم أدخل.

لتثبيت MySQL اكتب:

  • "sudo apt-get install mysql-server"
  • 'sudo apt-get install mysql-client'

عندما يُطلب منك إنشاء كلمة مرور جذر من اختيارك.

بعد الانتهاء من تثبيت تسجيل الدخول باستخدام:

mysql -uroot -p

وكتابة كلمة المرور الخاصة بك.

احصل على كود Fanair من My Github! انقر فوق "استنساخ أو تنزيل" ثم انقر فوق "تنزيل ZIP". قم بفك الرمز في مجلد من اختيارك. يوجد الاستعلام الخاص بإنشاء قاعدة بيانات كاملة التشغيل في مجلد قاعدة البيانات. افتح الملف وانسخ الكود والصقه في المحطة مع فتح MySQL. ثم انقر فوق إدخال ويتم الانتهاء من قاعدة البيانات!

الخطوة الخامسة: حان وقت الكود

للاستفادة من جميع المستشعرات ، من الواضح أنك بحاجة إلى تشغيل برنامج. لحسن الحظ ، تم الانتهاء من الشفرة بالفعل (بالنسبة للجزء الأكبر) ، وقمنا بتنزيلها بالفعل عند الحصول على استعلام SQL الخاص بقاعدة البيانات.

كما قلت ، هناك بعض الأشياء التي لا تزال بحاجة إلى التغيير / الإضافة حتى يعمل البرنامج بشكل صحيح. أولاً وقبل كل شيء ، يستخدم البرنامج Darksky API للحصول على بيانات الطقس بناءً على خطوط الطول والعرض. للاستفادة منه تحتاج إلى التسجيل. أول 1000 مكالمة مجانية وبعد ذلك تكلف 0.0001 دولار لكل مكالمة. سمعت أنه إذا كنت لا تدفع سيتم حظر حسابك. لكي نكون منصفين ، فإن 0.0001 دولار لكل مكالمة رخيصة جدًا. تستدعي Fanair أحدث البيانات كل ساعة مما يعني أنه في عام إذا تم تشغيلها بدوام كامل ، فستكلفك فقط 0.876 دولار. يمكنك أيضًا الحصول على 41 يومًا مجانًا إذا كانت Fanair تعمل بدوام كامل.

بمجرد التسجيل ، ابحث عن مفتاح API الخاص بك. ابحث عن خط الطول وخط العرض لموقعك على خرائط جوجل أو حاول البحث عنها في جوجل. أنشئ ملفًا نصيًا جديدًا هو الدليل الجذر لـ Fanair (مع الفئات ، main.py…). اسم الملف "key_location.txt". افتح الملف النصي والصق مفتاح Darksky API في السطر الأول. في السطر الثاني ، الصق خط الطول وفي السطر الثالث الصق خط العرض (كلاهما بالتنسيق العشري). عند الانتهاء ، احفظ الملف.

في نفس الدليل ، قم بإنشاء ملف نصي آخر يسمى "database_dsn.txt". يجب أن يقول السطر الأول "localhost". السطر الثاني هو "الجذر". في السطر الثالث ، يجب كتابة كلمة المرور التي أنشأتها لقاعدة البيانات سابقًا ، والسطر الرابع والأخير يجب كتابة "fanair".

انقر بزر الماوس الأيمن فوق ملف main.py وحدد تحرير. يجب تغيير 'fanair = Fanair (5، 26، 17، 27، 22، 4، "AM2301"، 1، 0، 0، 0، "key_location.txt"، "database_dsn.txt")'. إذا اتبعت الصورة ، فيجب تغيير القيم الخمس الأولى من "5 ، 26 ، 17 ، 27 ، 22 ، 4" إلى "20 ، 21 ، 26 ، 19 ، 13". يجب أيضًا تغيير '/ home / muhsin / Applications / Fanair' إلى مسار جذر Fanair (حيث main.py). تأكد من وضع شرطة مائلة أمام "المنزل" وليس بعد "فنير".

الآن كل هذا رائع ولكن يجب إدخال الرمز في Pi. لحسن الحظ بالنسبة لنا بروتوكول sftp موجود. لوضع الملفات على Pi ، استخدم عميل sftp مثل FileZilla أو إذا قررت استخدام MobaXterm ، يمكنك تحميل الملفات بسهولة في واجهة sftp الموجودة على يسار الجهاز.

من واقع خبرتي ، لا أحصل دائمًا على التاريخ والوقت المناسبين في Raspberry Pi. للتأكد من أنك ستتلقى التاريخ والوقت الصحيح ، أقترح اتباع هذا الدليل: تاريخ ووقت مزامنة Raspberry Pi.

وأخيرًا وليس آخرًا ، يجب تثبيت بعض المكتبات وتفعيل بعض الواجهات:

'sudo apt-get install build-basic python-dev'

Adafruit DHT:

pip3 تثبيت adafruit_python_dht

1-سلك:

  1. "sudo raspi-config"
  2. "خيارات التواصل"
  3. "سلك واحد"
  4. ممكن
  5. "sudo nano /boot/config.txt"
  6. أضف هذا السطر في الملف: "dtoverlay = w1-gpio"
  7. 'sudo reboot'

SPI:

  1. "sudo raspi-config"
  2. "خيارات التواصل"
  3. "SPI"
  4. ممكن
  5. 'sudo reboot'
  6. "sudo nano /boot/config.txt"
  7. ابحث عن "dtparam = spi = on" وقم بإلغاء التعليق عن طريق إزالة علامة التصنيف.
  8. sudo apt-get install python3-dev

سمبوس:

  1. "sudo raspi-config"
  2. "خيارات التواصل"
  3. "I2C"
  4. ممكن
  5. 'sudo reboot'
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. "sudo nano /boot/config.txt"
  9. ابحث عن dtparam = i2c_arm = on وقم بإلغاء التعليق عن طريق إزالة الهاشتاج.

قارورة

pip3 تثبيت القارورة

موصل mysql

تثبيت pip3 -Iv mysql-connector == 2.1.4

سبيديف

pip3 تثبيت py-spidev

السماء مظلمة

pip3 تثبيت darkskylib

الخطوة 6: جربها

إذا تمكنت من الوصول إلى هذا الحد ، فاضغط على ظهرك. الآن يتم عمل كل شيء لجعل Fanair يعمل بشكل صحيح. لذا لاختبارها اكتب 'cd ""'. موقع الملف هو "/ home / pi" على سبيل المثال إذا كنت قد قمت بلصقه للتو في الدليل الرئيسي الخاص بك. ثم اكتب 'python3 main.py' واتركه يستريح لمدة 15 دقيقة حتى يكون لديه بيانات في قاعدة البيانات عند الانتهاء. بعد ذلك اضغط على "ctrl + c" وأوقف البرنامج واكتب "python3 Flask.py". لمعرفة ما إذا كان موقع الويب الخاص بك يعمل ، فأنت بحاجة إلى تصفح عنوان IP الخاص بـ Pi الذي أنشأته بـ ": 5000" بعده (مثل: 169.254.10.1:5000 ").

لتشغيله تلقائيًا بعد التمهيد:

"sudo nano /etc/rc.local"

في نهاية الملف ولكن قبل الخروج 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

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

موصى به: