![Stesen Cuaca Menggunakan Raspberry Pi Dengan BME280 di Python: 6 Langkah Stesen Cuaca Menggunakan Raspberry Pi Dengan BME280 di Python: 6 Langkah](https://i.howwhatproduce.com/images/011/image-30585-j.webp)
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01
![Image Image](https://i.howwhatproduce.com/images/011/image-30585-2-j.webp)
![](https://i.ytimg.com/vi/6khFJZ0M5es/hqdefault.jpg)
![Bil Peralatan Imper-t.webp Bil Peralatan Imper-t.webp](https://i.howwhatproduce.com/images/011/image-30585-3-j.webp)
adalah maith a scéalaí an bertujuan (The Weather is a Good Storyteller)
Dengan masalah pemanasan global dan perubahan iklim, corak cuaca global menjadi tidak menentu di seluruh dunia kita sehingga menyebabkan sejumlah bencana alam yang berkaitan dengan cuaca (kemarau, suhu yang melampau, banjir, ribut, dan kebakaran hutan), stesen cuaca nampaknya diperlukan jahat di rumah. Anda banyak belajar mengenai elektronik asas dari projek stesen cuaca menggunakan sekumpulan alat dan sensor yang murah. Sangat mudah untuk disiapkan dan dalam masa yang singkat anda dapat memilikinya.
Langkah 1: Bil Peralatan Imperatif
![Bil Peralatan Imper-t.webp Bil Peralatan Imper-t.webp](https://i.howwhatproduce.com/images/011/image-30585-4-j.webp)
![Bil Peralatan Imper-t.webp Bil Peralatan Imper-t.webp](https://i.howwhatproduce.com/images/011/image-30585-5-j.webp)
![Bil Peralatan Imper-t.webp Bil Peralatan Imper-t.webp](https://i.howwhatproduce.com/images/011/image-30585-6-j.webp)
1. A Raspberry Pi
Dapatkan tangan anda di papan Raspberry Pi. Raspberry Pi adalah komputer papan tunggal berkuasa Linux. Raspberry Pi dibina dengan sangat murah, kecil dan serba boleh dari komputer yang mudah diakses dan berfungsi untuk pelajar menggunakan asas pengaturcaraan dan pengembangan perisian.
2. Perisai I2C untuk Raspberry Pi
INPI2 (penyesuai I2C) menyediakan port Raspberry Pi 2/3 dan I²C untuk digunakan dengan pelbagai peranti I2C. Ia boleh didapati di DCUBE Store.
3. Sensor Kelembapan Digital, Tekanan dan Suhu, BME280
BME280 adalah sensor kelembapan, tekanan dan suhu yang mempunyai masa tindak balas yang cepat dan ketepatan keseluruhan yang tinggi. Kami membeli sensor ini dari DCUBE Store.
4. Kabel Penyambung I2C
Kami menggunakan kabel I²C yang terdapat di sini DCUBE Store.
5. Kabel USB mikro
Bekalan kuasa kabel USB mikro adalah pilihan yang sesuai untuk menghidupkan Raspberry Pi.
6. Tafsirkan Akses Internet melalui Penyesuai EthernetCable / WiFi
Akses internet dapat diaktifkan melalui kabel Ethernet yang disambungkan ke rangkaian tempatan dan internet. Sebagai alternatif, anda boleh menyambung ke rangkaian tanpa wayar menggunakan dongle wayarles USB, yang memerlukan konfigurasi.
7. Kabel HDMI (Kabel paparan & sambungan)
Mana-mana monitor HDMI / DVI dan TV apa pun harus berfungsi sebagai paparan untuk Pi. Sebagai alternatif, anda boleh mengakses Pi melalui SSH dari jauh yang menafikan keperluan monitor (pengguna lanjutan sahaja).
Langkah 2: Sambungan Perkakasan untuk Litar
![Sambungan Perkakasan untuk Litar Sambungan Perkakasan untuk Litar](https://i.howwhatproduce.com/images/011/image-30585-7-j.webp)
![Sambungan Perkakasan untuk Litar Sambungan Perkakasan untuk Litar](https://i.howwhatproduce.com/images/011/image-30585-8-j.webp)
Buat litar mengikut skema yang ditunjukkan. Secara umum, sambungannya sangat mudah. Tetap tenang dan Ikuti arahan dan gambar di atas, dan anda semestinya tidak menghadapi masalah. Semasa belajar, kami memahami asas elektronik mengenai pengetahuan perkakasan dan perisian. Kami ingin merangka skema elektronik mudah untuk projek ini. Skema elektronik seperti cetak biru. Rangka cetak biru dan ikuti reka bentuknya dengan teliti. Beberapa konsep asas elektronik mungkin berguna di sini!
Sambungan Raspberry Pi dan I2C Shield
Pertama, ambil Raspberry Pi dan letakkan I²C Shield di atasnya. Tekan Perisai dengan lembut dan kami selesai dengan langkah ini semudah pai (lihat gambar).
Sambungan Sensor dan Raspberry Pi
Ambil sensor dan Sambungkan kabel I²C dengannya. Pastikan Output I²C SELALU menghubungkan ke Input I²C. Perkara yang sama harus diikuti untuk Raspberry Pi dengan pelindung I²C yang terpasang di atasnya pin GPIO. Kami mengesyorkan penggunaan kabel I²C kerana ia menolak keperluan membaca pinout, pematerian, dan malaise yang disebabkan oleh sedikit pun slip-up. Dengan kabel plug and play yang mudah ini, anda boleh memasang, menukar papan, atau menambahkan lebih banyak papan ke aplikasi dengan mudah.
Catatan: Kawat coklat harus selalu mengikuti hubungan Ground (GND) antara output satu peranti dan input peranti lain
Kesambungan Internet adalah kunci
Anda mempunyai dua pilihan di sini. Anda boleh menyambungkan Raspberry Pi ke rangkaian menggunakan kabel ethernet atau menggunakan Penyesuai USB ke WiFi untuk Kesambungan WIFI. Walau apa pun, selagi ia disambungkan ke internet, anda dilindungi.
Menghidupkan Litar
Pasangkan kabel Micro USB ke soket kuasa Raspberry Pi. Tumbuk dan voila! Pasukan kami adalah maklumat.
Sambungan ke Skrin
Kita boleh menyambungkan kabel HDMI ke monitor atau ke TV. Selain itu, kita dapat mengakses Raspberry Pi tanpa menyambungkannya ke monitor menggunakan akses jauh. SSH adalah alat yang berguna untuk akses jauh yang selamat. Anda juga boleh menggunakan perisian PUTTY untuk itu. Pilihan ini adalah untuk pengguna lanjutan sehingga kami tidak akan membahasnya secara terperinci di sini.
Ini adalah kaedah yang menjimatkan jika anda tidak mahu mengeluarkan banyak perbelanjaan
Langkah 3: Pengaturcaraan Raspberry Pi di Python
![Pengaturcaraan Raspberry Pi di Python Pengaturcaraan Raspberry Pi di Python](https://i.howwhatproduce.com/images/011/image-30585-9-j.webp)
Kod Python untuk Raspberry Pi dan BME280 Sensor. Ia tersedia di repositori Github kami.
Sebelum meneruskan kod, pastikan anda membaca arahan yang diberikan dalam fail Readme dan Siapkan Pi Raspberry anda sesuai dengannya. Hanya sedikit masa akan membuat anda siap untuk persediaan. Stesen cuaca adalah kemudahan, baik di darat atau laut, dengan instrumen dan peralatan untuk mengukur keadaan atmosfera untuk memberikan maklumat untuk ramalan cuaca dan mengkaji cuaca dan iklim.
Kodnya jelas di hadapan anda dan terdapat dalam bentuk termudah yang dapat anda bayangkan dan anda semestinya tidak mempunyai masalah. Masih bertanya apakah ada (Walaupun anda mengetahui seribu perkara, tetap bertanya kepada seseorang yang tahu).
Anda juga boleh menyalin kod Python yang berfungsi untuk sensor ini dari sini.
# Diagihkan dengan lesen kehendak bebas. # Gunakan dengan cara yang anda mahukan, untung atau percuma, dengan syarat ia sesuai dengan lesen karya-karya yang berkaitan. # BME280 # Kod ini dirancang untuk berfungsi dengan Modul Mini BME280_I2CS I2C yang tersedia dari ControlEverything.com. #
import smbus
masa import
# Dapatkan bas I2C
bas = smbus. SMBus (1)
# Alamat BME280, 0x76 (118)
# Baca kembali data dari 0x88 (136), 24 byte b1 = bus.read_i2c_block_data (0x76, 0x88, 24)
# Tukarkan data
# Pekali temp dig_T1 = b1 [1] * 256 + b1 [0] dig_T2 = b1 [3] * 256 + b1 [2] jika dig_T2> 32767: dig_T2 - = 65536 dig_T3 = b1 [5] * 256 + b1 [4] jika dig_T3> 32767: dig_T3 - = 65536
# Pekali tekanan
dig_P1 = b1 [7] * 256 + b1 [6] dig_P2 = b1 [9] * 256 + b1 [8] jika dig_P2> 32767: dig_P2 - = 65536 dig_P3 = b1 [11] * 256 + b1 [10] jika dig_P3 > 32767: dig_P3 - = 65536 dig_P4 = b1 [13] * 256 + b1 [12] jika dig_P4> 32767: dig_P4 - = 65536 dig_P5 = b1 [15] * 256 + b1 [14] jika dig_P5> 32767: dig_P5 - = 65536 dig_P6 = b1 [17] * 256 + b1 [16] jika dig_P6> 32767: dig_P6 - = 65536 dig_P7 = b1 [19] * 256 + b1 [18] jika dig_P7> 32767: dig_P7 - = 65536 dig_P8 = b1 [21] * 256 + b1 [20] jika dig_P8> 32767: dig_P8 - = 65536 dig_P9 = b1 [23] * 256 + b1 [22] jika dig_P9> 32767: dig_P9 - = 65536
# Alamat BME280, 0x76 (118)
# Baca kembali data dari 0xA1 (161), 1 byte dig_H1 = bus.read_byte_data (0x76, 0xA1)
# Alamat BME280, 0x76 (118)
# Baca kembali data dari 0xE1 (225), 7 bait b1 = bus.read_i2c_block_data (0x76, 0xE1, 7)
# Tukarkan data
# Pekali kelembapan dig_H2 = b1 [1] * 256 + b1 [0] jika dig_H2> 32767: dig_H2 - = 65536 dig_H3 = (b1 [2] & 0xFF) dig_H4 = (b1 [3] * 16) + (b1 [4] & 0xF) jika dig_H4> 32767: dig_H4 - = 65536 dig_H5 = (b1 [4] / 16) + (b1 [5] * 16) jika dig_H5> 32767: dig_H5 - = 65536 dig_H6 = b1 [6] jika dig_H6> 127: dig_H6 - = 256
# Alamat BME280, 0x76 (118)
# Pilih daftar kelembapan kawalan, 0xF2 (242) # 0x01 (01) Pengambilan Kelembapan Kelembapan = 1 bas.write_byte_data (0x76, 0xF2, 0x01) # Alamat BME280, 0x76 (118) # Pilih Daftar pengukuran kawalan, 0xF4 (244) # 0x27 (39) Tekanan dan Suhu Oversampling rate = 1 # Bus mod normal.write_byte_data (0x76, 0xF4, 0x27) # Alamat BME280, 0x76 (118) # Select Configuration register, 0xF5 (245) # 0xA0 (00) Waktu siaga = 1000 ms bas.write_byte_data (0x76, 0xF5, 0xA0)
masa. tidur (0.5)
# Alamat BME280, 0x76 (118)
# Baca kembali data dari 0xF7 (247), 8 bita # Tekanan MSB, Tekanan LSB, Tekanan xLSB, Suhu MSB, Suhu LSB # Suhu xLSB, Kelembapan MSB, Kelembapan data LSB = bas.read_i2c_block_data (0x76, 0xF7, 8)
# Tukar data tekanan dan suhu menjadi 19-bit
adc_p = ((data [0] * 65536) + (data [1] * 256) + (data [2] & 0xF0)) / 16 adc_t = ((data [3] * 65536) + (data [4] * 256) + (data [5] & 0xF0)) / 16
# Tukarkan data kelembapan
adc_h = data [6] * 256 + data [7]
# Pengiraan mengimbangi suhu
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
# Pengiraan mengimbangi tekanan
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 tekanan = (p + (var1 + var2 + (dig_P7)) / 16.0) / 100
# Pengiraan mengimbangi kelembapan
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_ kelembapan = var_H * (1.0 - dig_H1 * var_H / 524288.0) jika kelembapan> 100.0: kelembapan = 100.0 kelembapan elif <0.0: kelembapan = 0.0
# Keluarkan data ke skrin
cetak "Suhu dalam Celsius:%.2f C"% cTemp cetak "Suhu dalam Fahrenheit:%.2f F"% fTemp cetak "Tekanan:%.2f hPa"% tekanan cetak "Kelembapan Relatif:%.2f%%"% kelembapan
Langkah 4: Kod Berlari
![Kod Berlari Kod Berlari](https://i.howwhatproduce.com/images/011/image-30585-10-j.webp)
Sekarang, muat turun (atau git tarik) kod dan buka di Raspberry Pi.
Jalankan perintah untuk Menyusun dan Memuat naik kod di terminal dan melihat hasilnya di Paparan. Setelah beberapa saat, ia akan memaparkan semua parameter. Setelah memastikan semuanya berfungsi dengan baik, anda boleh mengembangkan beberapa yang lebih menarik.
Langkah 5: Penggunaan dalam Dunia Praktikal
BME280 mencapai prestasi tinggi dalam semua aplikasi yang memerlukan pengukuran kelembapan dan tekanan. Aplikasi yang muncul ini adalah kesedaran Konteks, mis. Pengesanan Kulit, Pengesanan Perubahan Bilik, Pemantauan / Kesejahteraan Kesihatan, Amaran Mengenai Kekeringan atau Suhu Tinggi, Pengukuran Isipadu dan Aliran Udara, Kawalan Automasi Rumah, Pemanasan Kawalan, Pengudaraan, Penyaman Udara (HVAC), Internet of Things (IoT), Peningkatan GPS (mis. Peningkatan Masa ke Pertama-Perbaikan, Perhitungan Mati, Pengesanan Cerun), Navigasi Dalam Ruangan (Penggantian Lantai, Pengesanan Lif), Navigasi Luar, Aplikasi Riadah & Sukan, Ramalan Cuaca dan Petunjuk Kecepatan Vertikal (Naik / Tenggelam Kelajuan).
Langkah 6: Kesimpulannya
Semoga projek ini memberi inspirasi kepada eksperimen lebih lanjut. Membuat stesen cuaca yang lebih canggih boleh melibatkan lebih banyak sensor seperti Rain Gauge, Sensor cahaya, anemometer (kelajuan angin) dan lain-lain. Anda boleh menambahkannya dan mengubah kodnya. Kami mempunyai tutorial video di YouTube yang mempunyai fungsi asas sensor I²C dengan Rasp Pi. Sangat mengagumkan apabila melihat hasil dan hasil komunikasi I²C. Periksa juga. Selamat membina dan belajar! Sila beritahu kami pendapat anda mengenai perkara ini. Kami ingin membuat beberapa penambahbaikan sekiranya perlu.
Disyorkan:
Stesen Cuaca Peribadi Menggunakan Raspberry Pi Dengan BME280 di Jawa: 6 Langkah
![Stesen Cuaca Peribadi Menggunakan Raspberry Pi Dengan BME280 di Jawa: 6 Langkah Stesen Cuaca Peribadi Menggunakan Raspberry Pi Dengan BME280 di Jawa: 6 Langkah](https://i.howwhatproduce.com/images/004/image-10443-j.webp)
Stesen Cuaca Peribadi Menggunakan Raspberry Pi Dengan BME280 di Jawa: Cuaca buruk selalu kelihatan lebih buruk melalui tingkap. Kami sentiasa berminat untuk memantau cuaca tempatan kami dan apa yang kami lihat di luar tingkap. Kami juga mahukan kawalan yang lebih baik terhadap sistem pemanasan dan A / C kami. Membina Stesen Cuaca Peribadi adalah
Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: 8 Langkah (dengan Gambar)
![Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: 8 Langkah (dengan Gambar) Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: 8 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/005/image-12601-j.webp)
Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: Setelah 1 tahun beroperasi di 2 lokasi yang berbeza, saya berkongsi rancangan projek stesen cuaca berkuasa solar saya dan menerangkan bagaimana ia berkembang menjadi sistem yang benar-benar dapat bertahan dalam jangka masa yang lama tempoh dari tenaga suria. Sekiranya anda mengikuti
Stesen Cuaca DIY & Stesen Sensor WiFi: 7 Langkah (dengan Gambar)
![Stesen Cuaca DIY & Stesen Sensor WiFi: 7 Langkah (dengan Gambar) Stesen Cuaca DIY & Stesen Sensor WiFi: 7 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/005/image-13050-j.webp)
DIY Weather Station & WiFi Sensor Station: Dalam projek ini saya akan menunjukkan kepada anda cara membuat stesen cuaca bersama dengan stesen sensor WiFi. Stesen sensor mengukur data suhu dan kelembapan tempatan dan menghantarnya, melalui WiFi, ke stesen cuaca. Stesyen cuaca kemudian memaparkan
Stesen Cuaca Bilik Menggunakan Arduino & BME280: 4 Langkah
![Stesen Cuaca Bilik Menggunakan Arduino & BME280: 4 Langkah Stesen Cuaca Bilik Menggunakan Arduino & BME280: 4 Langkah](https://i.howwhatproduce.com/images/005/image-13440-j.webp)
Stesen Cuaca Bilik Menggunakan Arduino & BME280: Sebelumnya saya pernah berkongsi stesen cuaca sederhana yang memaparkan Suhu dan Kelembapan kawasan setempat. Masalahnya ialah memerlukan masa untuk mengemas kini dan data tidak tepat. Dalam tutorial ini kita akan membuat monitor cuaca dalaman
Stesen Cuaca Acurite 5 dalam 1 Menggunakan Pi Raspberry dan Weewx (Stesen Cuaca lain Sesuai): 5 Langkah (dengan Gambar)
![Stesen Cuaca Acurite 5 dalam 1 Menggunakan Pi Raspberry dan Weewx (Stesen Cuaca lain Sesuai): 5 Langkah (dengan Gambar) Stesen Cuaca Acurite 5 dalam 1 Menggunakan Pi Raspberry dan Weewx (Stesen Cuaca lain Sesuai): 5 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/003/image-7496-12-j.webp)
Stesen Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stesen Cuaca yang Lain Sesuai): Semasa saya membeli stesen cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya semasa saya tiada. Semasa saya pulang dan menyiapkannya, saya menyedari bahawa saya mesti mempunyai paparan yang disambungkan ke komputer atau membeli hab pintar mereka