فهرست مطالب:

هواشناس شخصی: 5 قدم
هواشناس شخصی: 5 قدم

تصویری: هواشناس شخصی: 5 قدم

تصویری: هواشناس شخصی: 5 قدم
تصویری: قلدری آقازاده پولدار جلوی دوربین بعد از دستگیری به جرم آدم ربایی در مشهد 2024, جولای
Anonim
هواشناس شخصی
هواشناس شخصی

آیا تا به حال فکر کرده اید که هواشناس شما حقیقت را می گوید یا خیر؟ آیا می خواهید راهی دقیق ، ارزان و سریع داشته باشید تا هواشناس خود باشید … و شاید یک پروژه کوچک؟ جلوترش رو نگاه نکن! این دستگاه ساده می تواند شرایط آب و هوا را از هر مکانی که می خواهید ردیابی کند و به شما این امکان را می دهد که با فشار یک دکمه بر وضعیت آب و هوا نظارت کنید.

این پروژه به شما تمرین با Flask ، Raspberry Pis ، سنسورهای GPIO و HTML را می دهد! ساخت آن نه تنها سرگرم کننده است بلکه کاربردهای زیادی نیز دارد. هواشناس شما ممکن است بیکار باشد…

تدارکات

  • تمشک پای 3
  • کارت Micro SD
  • 1 سیم فله
  • 4 سیم نر به نر
  • 1 سنسور DHT11
  • 1 باتری

اگر در حال برنامه ریزی برای هواشناسی معتبر خود برای مکانهای مختلف هستید ، هر یک از منابع را در تعداد دستگاههای مورد نیاز ضرب کنید. با این حال ، کد پشتیبانی از چندین دستگاه متفاوت خواهد بود. اگر در مرحله ساخت/آزمایش این دستگاه هستید ، لازم نیست موارد زیر را داشته باشید … با این حال ، قطعاً بسیار مفید خواهد بود.

  • مانیتور کامپیوتر
  • یک صفحه کلید USB
  • کیت شارژ میکرو USB

مرحله 1: سیم کشی

سیم کشی
سیم کشی
سیم کشی
سیم کشی

با استفاده از Raspberry Pi ، ما باید سنسور اصلی را با منبع تغذیه Raspberry Pi ادغام کنیم تا بتواند اندازه گیری های مورد نیاز ما را انجام دهد. سنسور اصلی مورد استفاده در این پروژه ، در تصویر بالا ، دما و رطوبت محیط فیزیکی اطراف را ثبت می کند. برای قرار دادن این سنسور روی سیم بورد یا دستگاه نصب دیگر می توانید سیم های ما را بچرخانید یا به سادگی آن را از طریق سیم های زن به زن مستقیماً به پین های دستگاه رزبری پای وصل کنید.

مطابق شماتیک سیم کشی نشان داده شده در بالا ، به درستی سنسور را به رزبری پای وصل کنید. توجه داشته باشید که منبع تغذیه ، بسته باتری یا مجاورت پریز برق مورد نیاز است.

مرحله 2: راه اندازی

تبریک می گویم ، سخت افزار شما مونتاژ شده است!

ما در حال حاضر مستقیماً با Raspberry Pi و نرم افزار پروژه شروع به کار می کنیم. همه موارد زیر را می توان روی Raspberry Pi با صفحه کلید و مانیتور یا از طریق SSH انجام داد. کتابخانه های زیر برای اطمینان از اجرای همه نرم افزارها در رزبری پای شما ضروری است. با استفاده از دستور "pip install" به نرم افزار خود اجازه دهید بعداً از کتابخانه های زیر استفاده کند:

  • درخواست ها
  • RPi. GPIO
  • فلاسک
  • flask_restful
  • flask_wtf
  • wtforms

توجه داشته باشید که هنگام نصب این کتابخانه ها ممکن است آب و هوا چند بار تغییر کند … صبور باشید ، شما بسیار نزدیک به بازکردن قفل قابلیت های هواشناسی خود هستید!

اکنون که همه کتابخانه های خود را نصب کرده اید ، بیایید با Flask آشنا شویم ، یک چارچوب سبک که امکان برقراری ارتباط ساده بین گره ها را در محیط پروژه ما فراهم می کند. در این پروژه ، Raspberry Pi به یک سرور تبدیل می شود. با استفاده از مثال ساده برنامه در اینجا می توانید با Flask راحت شوید.

مرحله 3: کد و در حال اجرا

اکنون که کتابخانه های سخت افزاری و نرم افزاری را جمع آوری کرده اید ، آماده شروع ساخت فایل های پروژه هستید.

سرور: در این پروژه Raspberry Pi که به سنسور متصل است به عنوان سرور عمل می کند. سرور منتظر می ماند تا کاربر درخواست ارسال دما ، رطوبت و یا نمودار را تکمیل کند. ما الگوهای HTML ایجاد کردیم که پیکربندی شده اند تا به درستی با درخواست برنامه برای دما ، رطوبت ، نمودار یا هر ترکیبی از این سه (به پوشه قالب مراجعه کنید) تعامل داشته باشند. به این معنی که اگر کاربر فقط درجه حرارت را بخواهد ، هیچ چیز دیگری در مورد رطوبت به جز گزینه فرم برای دریافت رطوبت نمی بیند. هنگامی که یک پست ایجاد می شود ، سرور اطلاعات پست را جمع آوری می کند و اقدام مورد نیاز کاربر را انجام می دهد. حسگر DHT قرائت هایی را دریافت می کند که سپس ذخیره می شود و به عنوان یک استدلال فرهنگ لغت با فرم جدید html که ارائه می دهیم ، منتقل می شود. سرور همچنین این خواندنی ها را ذخیره می کند تا در صورت درخواست کاربر ، نمودار خوانش های قبلی را ایجاد کند.

برنامه: برنامه درخواست HTTP را به سرور Flask ارسال می کند تا دما ، رطوبت و نمایش بصری دما و رطوبت بیست و چهار درخواست گذشته که از فرم به درخواست کاربر تنظیم شده است را بازیابی و ارائه دهد. برنامه از یک فرم فلاسک استفاده می کند که دارای سه فیلد ورودی بولی برای هر کدام است. کاربر می تواند یک جعبه را برای هر ترکیبی از سه زمینه ای که می خواهد مشاهده کند ، علامت بزند. آنها نمی توانند هیچ چیز دیگری بله/خیر را کنترل کنند ، آنها می خواهند این اطلاعات را ببینند. ما یک فایل html منحصر به فرد ایجاد کرده ایم که بسته به درخواست کاربر ، برای رندر کردن از آن استفاده می کنیم. این کار به این منظور انجام می شود که فقط خوانش هایی که نشان داده می شوند ، درخواست های کاربر هستند. ما نمی خواهیم کاربر دما را درخواست کند و از او بخواهیم به یک الگوی خالی برای رطوبت یا یک نمودار خالی نگاه کند.

مرحله 4: آزمایش

دستگاه از طریق فایل: mainsense.py در حال اجرا است. که فایل formSense.py را که حاوی کلاس Flask Form ما است که توسط برنامه استفاده می شود ، وارد می کند. سرور ابتدا "sense.html" را ارائه می دهد و سپس منتظر درخواست کاربر می ماند. mainsense.py سپس منتظر می ماند تا زمانی که یک درخواست GET از برنامه دما یا رطوبت را می خواند ، سنسور را دریافت کند و 24 خوانده قبلی را از کاربران ذخیره کند. همچنین یک گزینه گراف وجود دارد که کاربر می تواند انتخاب کند که نمودارهای خوانده شده قبلی ، حداکثر 24 ، ساخته شده توسط کاربر کدام نمودارها هستند. همچنین می توانید مشاهده کنید که html فقط شامل گزینه های فرم است که کاربر می تواند برای درخواست دیگر و قرائت هایی که کاربر درخواست کرده است استفاده کند.

سپس باید بتوانید به URI/IP صحیح بروید و خط ارتباطی مناسب بین برنامه و سرور خود را تنظیم کنید. شما باید برخی از درخواست های آزمایشی GET را ارسال کنید و مطمئن شوید که سنسور با قرائت مناسب سنسور شما به درستی پاسخ می دهد. سپس اگر برنامه شما به درستی آب و هوا را در یک ساعت ردیابی می کند ، ما رسماً آماده حذف کابل هستیم - این بدان معناست که شما در حال تماشای کانال آب و هوا بودید!

مرحله 5: نصب

نصب دستگاه کاملاً قابل توضیح است. در اصل ، شما فقط باید مطمئن شوید که دستگاه به باتری یا پریز برق متصل است و از نوارهای فرمان برای ایمن سازی دستگاه در مکان مورد نظر خود برای نظارت بر آب و هوا استفاده کنید.

توجه: دستگاه باید با سنسور در برابر شرایط جوی شدید مکان شما قرار گیرد. پس از اتمام این کار ، باید بتوانید SSH را وارد دستگاه کرده و سرور را اجرا کنید. وب سایت را باز کنید و بدانید که از مکانی که سرور رزبری پای شما در آن قرار گرفته است ، به روزترین اندازه گیری های آب و هوا را دریافت می کنید.

توصیه شده: