فهرست مطالب:
- مرحله 1: قبض تجهیزات ضروری
- مرحله 2: اتصالات سخت افزاری برای مدار
- مرحله 3: برنامه نویسی Raspberry Pi در پایتون
- مرحله 4: کد در حال اجرا
- مرحله 5: استفاده در دنیای عملی
- مرحله 6: نتیجه گیری
تصویری: ایستگاه هواشناسی با استفاده از تمشک پای با BME280 در پایتون: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
is a maith a scéalaí an armancir (آب و هوا داستان نویسی خوب است)
با توجه به مسائل مربوط به گرمایش جهانی و تغییرات آب و هوا ، الگوی آب و هوایی جهانی در سراسر جهان نامنظم می شود که منجر به تعدادی از بلایای طبیعی مرتبط با آب و هوا (خشکسالی ، دمای شدید ، سیل ، طوفان و آتش سوزی می شود) ، به نظر می رسد ایستگاه هواشناسی ضروری است شر در خانه شما با استفاده از مجموعه ای از قطعات و حسگرهای ارزان قیمت ، اطلاعات زیادی در مورد لوازم الکترونیکی اولیه از پروژه ایستگاه هواشناسی می آموزید. راه اندازی آن بسیار آسان است و در کوتاه مدت نمی توانید آن را داشته باشید.
مرحله 1: قبض تجهیزات ضروری
1. رزبری پای
دست خود را روی برد Raspberry Pi بگذارید. Raspberry Pi یک کامپیوتر تک صفحه ای است که از لینوکس استفاده می کند. Raspberry Pi واقعاً ارزان ، کوچک و همه کاره است که از یک رایانه قابل دسترس و کاربردی برای یادگیری اصول برنامه نویسی و توسعه نرم افزار ساخته شده است.
2. I2C Shield برای رزبری پای
INPI2 (آداپتور I2C) پورت Raspberry Pi 2/3 I²C را برای استفاده در چندین دستگاه I2C فراهم می کند. در فروشگاه DCUBE موجود است.
3. سنسور رطوبت دیجیتال ، فشار و دما ، BME280
BME280 یک سنسور رطوبت ، فشار و دما است که دارای زمان پاسخ سریع و دقت کلی بالا است. ما این سنسور را از فروشگاه DCUBE خریداری کردیم.
4. کابل اتصال I2C
ما از کابل I²C موجود در اینجا فروشگاه DCUBE استفاده کردیم.
5. کابل میکرو USB
منبع تغذیه کابل میکرو USB یک انتخاب ایده آل برای تغذیه رزبری پای است.
6 دسترسی به اینترنت را از طریق آداپتور EthernetCable/WiFi تفسیر کنید
دسترسی به اینترنت را می توان از طریق کابل اترنت متصل به شبکه محلی و اینترنت فعال کرد. متناوباً ، می توانید با استفاده از دانگل بی سیم USB به شبکه بی سیم متصل شوید ، که به پیکربندی نیاز دارد.
7. کابل HDMI (کابل نمایش و اتصال)
هر مانیتور HDMI/DVI و هر تلویزیون باید به عنوان نمایشگر Pi کار کند. متناوباً ، می توانید از طریق SSH از راه دور به Pi دسترسی داشته باشید و نیازی به مانیتور (فقط کاربران پیشرفته) را نادیده بگیرید.
مرحله 2: اتصالات سخت افزاری برای مدار
مدار را مطابق شماتیک نشان داده شده بسازید. به طور کلی ، اتصالات بسیار ساده هستند. آرامش خود را حفظ کنید و دستورالعمل ها و تصاویر بالا را دنبال کنید ، و مشکلی نخواهید داشت. در حین یادگیری ، ما با اصول اولیه الکترونیک در مورد دانش سخت افزار و نرم افزار آشنا شدیم. ما می خواستیم یک شماتیک الکترونیکی ساده برای این پروژه تهیه کنیم. شماتیک الکترونیکی مانند نقشه های اصلی است. نقشه ای تهیه کنید و طرح را با دقت دنبال کنید. چند مفهوم اساسی الکترونیک ممکن است در اینجا مفید باشد!
اتصال Raspberry Pi و I2C Shield
ابتدا Raspberry Pi را بردارید و I²C Shield را روی آن قرار دهید. Shield را به آرامی فشار دهید و ما با این مرحله به آسانی پای انجام می دهیم (عکس را ببینید).
اتصال سنسور و رزبری پای
سنسور را بردارید و کابل I²C را با آن وصل کنید. مطمئن شوید خروجی I²C همیشه به ورودی I²C متصل شود. همین امر برای Raspberry Pi با محافظ I²C که روی آن پین GPIO نصب شده است باید رعایت شود. ما استفاده از کابل های I²C را توصیه می کنیم زیرا نیاز به خواندن پینت ها ، لحیم کاری و ضعف ناشی از کوچکترین لغزش را نفی می کند. به با استفاده از این کابل plug and play ساده ، می توانید تخته ها را نصب کرده ، تعویض کنید یا تخته های بیشتری را به راحتی به یک برنامه اضافه کنید.
توجه: سیم قهوه ای همیشه باید اتصال GND (GND) بین خروجی یک دستگاه و ورودی دستگاه دیگر را دنبال کند
اتصال به اینترنت کلید است
شما در اینجا دو انتخاب دارید. در هر صورت می توانید Raspberry Pi را با استفاده از کابل اترنت به شبکه وصل کنید یا از آداپتور USB به WiFi برای اتصال WIFI استفاده کنید. در هر صورت ، تا زمانی که به اینترنت متصل هستید ، تحت پوشش هستید.
فعال کردن مدار
کابل Micro USB را به پریز برق رزبری پای وصل کنید. پانچ و voila! تیم ما اطلاعات است.
اتصال به صفحه نمایش
ما می توانیم کابل HDMI را به مانیتور و یا به تلویزیون متصل کنیم. علاوه بر این ، ما می توانیم به Raspberry Pi بدون اتصال آن به مانیتور با استفاده از دسترسی از راه دور دسترسی پیدا کنیم. SSH یک ابزار مفید برای دسترسی از راه دور ایمن است. همچنین می توانید از نرم افزار PUTTY برای آن استفاده کنید. این گزینه برای کاربران پیشرفته است ، بنابراین ما در اینجا به طور مفصل به آن نمی پردازیم.
اگر نمی خواهید هزینه زیادی صرف کنید ، این یک روش اقتصادی است
مرحله 3: برنامه نویسی Raspberry Pi در پایتون
کد پایتون برای رزبری پای و سنسور BME280. در مخزن Github ما موجود است.
قبل از رفتن به کد ، مطمئن شوید که دستورالعمل های داده شده در فایل Readme را مطالعه کرده اید و رزبری پای خود را مطابق آن تنظیم کرده اید. تنها اندکی زمان شما را برای راه اندازی آماده می کند. ایستگاه هواشناسی یا زمینی یا دریایی دارای تجهیزات و ابزار اندازه گیری شرایط جوی است تا اطلاعات مربوط به پیش بینی آب و هوا و مطالعه آب و هوا و آب و هوا را ارائه دهد.
کد به وضوح در مقابل شما قرار دارد و در ساده ترین شکل است که می توانید تصور کنید و نباید مشکلی داشته باشید. هنوز هم بپرسید (حتی اگر هزار چیز می دانید ، باز هم از کسی که می داند بپرسید).
همچنین می توانید کد پایتون فعال برای این سنسور را از اینجا کپی کنید.
# توزیع شده با مجوز اراده آزاد # BME280 # این کد برای کار با ماژول کوتاه BME280_I2CS I2C موجود در ControlEverything.com طراحی شده است. #
smbus وارد کنید
زمان واردات
# اتوبوس I2C بگیرید
bus = smbus. SMBus (1)
آدرس # BME280 ، 0x76 (118)
# خواندن اطلاعات از 0x88 (136) ، 24 بایت b1 = bus.read_i2c_block_data (0x76 ، 0x88 ، 24)
# تبدیل داده ها
# ضرایب دما dig_T1 = b1 [1] * 256 + b1 [0] dig_T2 = b1 [3] * 256 + b1 [2] اگر dig_T2> 32767: dig_T2 -= 65536 dig_T3 = b1 [5] * 256 + b1 [4] اگر dig_T3> 32767: dig_T3 -= 65536
# ضرایب فشار
dig_P1 = b1 [7] * 256 + b1 [6] dig_P2 = b1 [9] * 256 + b1 [8] اگر dig_P2> 32767: dig_P2 -= 65536 dig_P3 = b1 [11] * 256 + b1 [10] اگر dig_P3 > 32767: dig_P3 -= 65536 dig_P4 = b1 [13] * 256 + b1 [12] اگر dig_P4> 32767: dig_P4 -= 65536 dig_P5 = b1 [15] * 256 + b1 [14] اگر dig_P5> 32767: dig_P5 -= 65536 dig_P6 = b1 [17] * 256 + b1 [16] اگر dig_P6> 32767: dig_P6 -= 65536 dig_P7 = b1 [19] * 256 + b1 [18] اگر dig_P7> 32767: dig_P7 -= 65536 dig_P8 = b1 [21] * 256 + b1 [20] اگر dig_P8> 32767: dig_P8 -= 65536 dig_P9 = b1 [23] * 256 + b1 [22] اگر dig_P9> 32767: dig_P9 -= 65536
آدرس # BME280 ، 0x76 (118)
# خواندن داده ها از 0xA1 (161) ، 1 بایت dig_H1 = bus.read_byte_data (0x76 ، 0xA1)
آدرس # BME280 ، 0x76 (118)
# خواندن داده ها از 0xE1 (225) ، 7 بایت b1 = bus.read_i2c_block_data (0x76 ، 0xE1 ، 7)
# تبدیل داده ها
# ضرایب رطوبت dig_H2 = b1 [1] * 256 + b1 [0] اگر dig_H2> 32767: dig_H2 -= 65536 dig_H3 = (b1 [2] & 0xFF) dig_H4 = (b1 [3] * 16) + (b1 [4] & 0xF) اگر dig_H4> 32767: dig_H4 -= 65536 dig_H5 = (b1 [4] / 16) + (b1 [5] * 16) اگر dig_H5> 32767: dig_H5 -= 65536 dig_H6 = b1 [6] اگر dig_H6> 127: dig_H6 -= 256
آدرس # BME280 ، 0x76 (118)
# ثبت رطوبت کنترل ، 0xF2 (242) # 0x01 (01) رطوبت بیش از حد = 1 گذرگاه. data_write_byte_data (0x76، 0xF2، 0x01) # آدرس BME280 ، 0x76 (118) # انتخاب ثبت اندازه گیری کنترل ، 0xF4 (244) # 0x27 (39) نرخ بیش از اندازه گیری فشار و دما = 1 # گذرگاه حالت عادی. نوشتن_بایت_ داده (0x76 ، 0xF4 ، 0x27) # آدرس BME280 ، 0x76 (118) # ثبت ثبت پیکربندی ، 0xF5 (245) # 0xA0 (00) زمان آماده به کار = 1000 میلی ثانیه اتوبوس.write_byte_data (0x76 ، 0xF5 ، 0xA0)
زمان خواب (0.5)
آدرس # BME280 ، 0x76 (118)
# خواندن داده ها از 0xF7 (247) ، 8 بایت # فشار MSB ، فشار LSB ، فشار xLSB ، دما MSB ، دما LSB # دما xLSB ، رطوبت MSB ، رطوبت LSB داده = bus.read_i2c_block_data (0x76 ، 0xF7 ، 8)
# داده های فشار و دما را به 19 بیت تبدیل کنید
adc_p = ((داده [0] * 65536) + (داده [1] * 256) + (داده [2] و 0xF0)) / 16 adc_t = ((داده [3] * 65536) + (داده [4] * 256) + (داده [5] و 0xF0)) / 16
# داده های رطوبت را تبدیل کنید
adc_h = داده [6] * 256 + داده [7]
# محاسبات جبران دما
var1 = ((adc_t) / 16384.0 - (dig_T1) / 1024.0) * (dig_T2) var2 = (((adc_t) / 131072.0 - (dig_T1) / 8192.0) * ((adc_t) /131072.0 - (dig_T1) /8192.0)) * (dig_T3) t_fine = (var1 + var2) cTemp = (var1 + var2) / 5120.0 fTemp = cTemp * 1.8 + 32
# محاسبات جبران فشار
var1 = (t_fine / 2.0) - 64000.0 var2 = var1 * var1 * (dig_P6) / 32768.0 var2 = var2 + var1 * (dig_P5) * 2.0 var2 = (var2 / 4.0) + ((dig_P4) * 65536.0) var1 = ((dig_P3) * var1 * var1 / 524288.0 + (dig_P2) * var1) / 524288.0 var1 = (1.0 + var1 / 32768.0) * (dig_P1) p = 1048576.0 - adc_p p = (p - (var2 / 4096.0)) * 6250.0 / var1 var1 = (dig_P9) * p * p / 2147483648.0 var2 = p * (dig_P8) / 32768.0 فشار = (p + (var1 + var2 + (dig_P7)) / 16.0) / 100
# محاسبه جبران رطوبت
var_H = ((t_fine) - 76800.0) var_H = (adc_h - (dig_H4 * 64.0 + dig_H5 / 16384.0 * var_H)) * (dig_H2 / 65536.0 * (1.0 + dig_H6 / 67108864.0 * var_H * (1.0 + dig_H3 / 67108864.0 *))) رطوبت = var_H * (1.0 - dig_H1 * var_H / 524288.0) اگر رطوبت> 100.0: رطوبت = 100.0 رطوبت elif <0.0: رطوبت = 0.0
# خروجی داده ها به صفحه
چاپ "دما در درجه سانتیگراد:٪.2f C"٪ cTemp print "دما در فارنهایت:٪.2f F"٪ fTemp print "فشار:٪.2f hPa"٪ چاپ فشار "رطوبت نسبی:٪.2f ٪٪"٪ رطوبت
مرحله 4: کد در حال اجرا
اکنون ، کد را بارگیری (یا git pull) کرده و در Raspberry Pi باز کنید.
دستورات کامپایل و بارگذاری کد را در ترمینال اجرا کنید و خروجی را در Display مشاهده کنید. پس از چند ثانیه ، تمام پارامترها نمایش داده می شود. پس از اطمینان از اینکه همه چیز عالی کار می کند ، می توانید موارد جالب تری را توسعه دهید.
مرحله 5: استفاده در دنیای عملی
BME280 در همه کاربردهایی که نیاز به اندازه گیری رطوبت و فشار دارند ، عملکرد بالایی دارد. این برنامه های در حال ظهور آگاهی از زمینه هستند ، به عنوان مثال. تشخیص پوست ، تشخیص تغییر اتاق ، نظارت بر وضعیت تناسب اندام ، هشدار در مورد خشکی یا دمای بالا ، اندازه گیری حجم و جریان هوا ، کنترل اتوماسیون منزل ، کنترل گرمایش ، تهویه ، تهویه مطبوع (HVAC) ، اینترنت اشیاء (IoT) ، ارتقاء GPS (به عنوان مثال بهبود زمان اولیه تا بهبود ، حساب مرده ، تشخیص شیب) ، ناوبری در محیط داخلی (تغییر تشخیص کف ، تشخیص آسانسور) ، ناوبری در فضای باز ، برنامه های تفریحی و ورزشی ، پیش بینی آب و هوا و شاخص سرعت عمودی (افزایش/غرق شدن سرعت).
مرحله 6: نتیجه گیری
امیدوارم این پروژه الهام بخش آزمایش های بیشتر باشد. ساخت یک ایستگاه هواشناسی پیچیده تر می تواند شامل سنسورهای بیشتری مانند باران سنج ، سنسور نور ، بادسنج (سرعت باد) و غیره باشد. می توانید آنها را اضافه کرده و کد را اصلاح کنید. ما یک آموزش ویدیویی در YouTube داریم که عملکرد اصلی سنسور I²C را با Rasp Pi نشان می دهد. دیدن نتایج و عملکرد ارتباطات I²C واقعاً شگفت انگیز است. آن را نیز بررسی کنید. ساختمان و یادگیری سرگرم کننده داشته باشید! لطفا نظر خود را در مورد این دستورالعمل به ما اطلاع دهید. ما دوست داریم در صورت لزوم برخی پیشرفت ها را انجام دهیم.
توصیه شده:
ایستگاه هواشناسی شخصی با استفاده از تمشک پای با BME280 در جاوا: 6 مرحله
ایستگاه هواشناسی شخصی با استفاده از Raspberry Pi با BME280 در جاوا: آب و هوای بد همیشه از پنجره بدتر به نظر می رسد. ما همیشه علاقه مند به نظارت بر آب و هوای محلی خود و آنچه از پنجره بیرون می بینیم بوده ایم. ما همچنین می خواستیم کنترل بهتری بر سیستم گرمایش و تهویه مطبوع خود داشته باشیم. ساخت ایستگاه هواشناسی شخصی یک امر مهم است
مشاهده گر رطوبت و دما با استفاده از تمشک پای با SHT25 در پایتون: 6 مرحله
مشاهده گر رطوبت و دما با استفاده از تمشک پای با SHT25 در پایتون: از علاقه مندان به رزبری پای ، به آزمایشات دیدنی تری با آن فکر کردیم. در این کمپین ، ما یک رصد کننده رطوبت و دما خواهیم ساخت که رطوبت نسبی و دما را با استفاده از رزبری پای اندازه گیری می کند. و SHT25 ، حمیدی
ایستگاه هواشناسی اتاق با استفاده از آردوینو و BME280: 4 مرحله
ایستگاه هواشناسی اتاق با استفاده از آردوینو و BME280: قبلاً یک ایستگاه هواشناسی ساده را به اشتراک گذاشتم که دما و رطوبت منطقه را نشان می داد. مشکل آن این بود که به روز رسانی زمان می برد و داده ها دقیق نیستند. در این آموزش ما یک مانیتور آب و هوای داخل ساختمان خواهیم ساخت
ایستگاه هواشناسی با استفاده از Wemos D1 Mini ، BME280 و Sensate .: 6 مرحله
ایستگاه هواشناسی با استفاده از Wemos D1 Mini ، BME280 و Sensate .: در پست های قبلی روشهای مختلفی را برای ساخت ایستگاه هواشناسی به اشتراک گذاشته ام. اگر آن را بررسی نکرده اید ، پیوندی در اینجا وجود دارد. در این مقاله آموزشی نحوه ساخت یک ایستگاه آب و هوایی ساده با استفاده از Wemos و یک پلت فرم اینترنت اشیا به نام Sensate نشان داده می شود
ایستگاه هواشناسی Acurite 5 در 1 با استفاده از Raspberry Pi و Weewx (سایر ایستگاه های هواشناسی سازگار هستند): 5 مرحله (همراه با تصاویر)
ایستگاه هواشناسی Acurite 5 در 1 با استفاده از Raspberry Pi و Weewx (دیگر ایستگاه های آب و هوایی سازگار هستند): وقتی ایستگاه هواشناسی Acurite 5 in 1 را خریداری کردم ، می خواستم بتوانم آب و هوا را در خانه ام بررسی کنم. وقتی به خانه رسیدم و آن را راه اندازی کردم ، متوجه شدم که یا باید صفحه نمایش را به کامپیوتر وصل کنم یا هاب هوشمند آنها را بخرم ،