Isi kandungan:

Jam Cuaca Raspberry Pi Barometer: 9 Langkah (dengan Gambar)
Jam Cuaca Raspberry Pi Barometer: 9 Langkah (dengan Gambar)

Video: Jam Cuaca Raspberry Pi Barometer: 9 Langkah (dengan Gambar)

Video: Jam Cuaca Raspberry Pi Barometer: 9 Langkah (dengan Gambar)
Video: Иван Алексеевич Бунин ''Натали''. Аудиокнига. #LookAudioBook 2024, November
Anonim
Jam Cuaca Raspberry Pi Barometer
Jam Cuaca Raspberry Pi Barometer

Dalam arahan ini saya akan menunjukkan kepada anda bagaimana untuk membina jam Thermometer / Barometer asas menggunakan Raspberry Pi 2 dengan sensor BMP180 I2C yang dipaparkan pada paparan Iaf 2 segmen 7 digit Adafruit. Pi juga menggunakan modul jam I2C masa nyata DS3231 untuk menyimpan masa ketika Pi dimulakan semula.

Jam bergerak sepanjang 4 peringkat masing-masing selama 5 saat. Mula-mula ia menunjukkan suhu dalam Celsius, kemudian di Fahrenheit kemudian tekanan barometrik dalam kPa * (ia berjalan nombor ini ke kiri kerana bilangan digit yang terhad) dan akhirnya ia menunjukkan aliran perubahan tekanan barometrik antara sekarang dan rata-rata jam sebelumnya.

Yang membuat jam ini berbeza dengan kebanyakannya ialah menggunakan pangkalan data MySQL pada Pi untuk log data dari BMP180 setiap minit. Oleh kerana tekanan barometrik semasa tidak begitu berharga dengan pergerakannya naik atau turun dalam jangka waktu tertentu, ia menggunakan pangkalan data ini untuk mengira purata selama satu jam antara 2 jam hingga 1 jam yang lalu dan membandingkannya dengan tekanan semasa. Peningkatan tekanan barometrik yang ketara biasanya menunjukkan peningkatan dalam keadaan cuaca vs penurunan yang besar dapat memberi amaran akan ribut yang akan datang.

Jam ditempatkan di perumahan ABS bercetak 3D dengan BMP180 dalam penutup berventilasi di bahagian belakang jam untuk mengelakkan haba yang dihasilkan oleh Pi daripada mempengaruhi bacaan suhu. Saya akan memberikan skema Autodesk 123D Design jika anda ingin mencetak sendiri.

Jam dihidupkan dengan kutil dinding USB standard dan menghasilkan keseluruhan 450 mA.

Saya tidak akan terlalu banyak terperinci mengenai penyediaan asas Pi dan I2C kerana ini telah diliputi dalam banyak arahan lain yang akan saya berikan pautan.

Langkah 1: Sediakan Pi

Sediakan Pi
Sediakan Pi

Sediakan Raspberry Pi - Butiran anda di Raspberrypi.org

  1. Muat turun dan pasangkan Pengedaran Linux yang anda pilih pada kad SD - Saya menggunakan Raspbian
  2. Pasang pi dan pasangkannya
  3. Saya menggunakan penyesuai WiFi mikro untuk menyambungkan pi ke penghala saya kerana perumahan jam mengaburkan port Ethernet.
  4. Saya menggunakan mod tanpa kepala di mana anda menyambung ke pi menggunakan SSH sehingga semua yang anda perlukan adalah kekuatannya.
  5. Konfigurasikan I2C di Pi - Saya mengikuti arahan ini di laman Adafruit.

Langkah 2: Wire It All Up

Wire It All Up
Wire It All Up

Semua modul yang saya gunakan dalam projek ini bertoleransi 5V dan menggunakan I2C yang merupakan protokol 2 wayar yang digunakan untuk IC berkomunikasi antara satu sama lain, jadi pendawaiannya cukup mudah. Sambungkan semua VCC ke 5V, semua Tanah bersama-sama dan semua garis SCA dan SCL bersama-sama mengikut skema. Kerja selesai.

Langkah 3: Uji I2C Anda

Uji I2C Anda
Uji I2C Anda

Sebahagian daripada pemasangan I2C adalah menjalankan i2cdetect yang akan kelihatan seperti gambar yang dilampirkan sekiranya semuanya dipasang dengan betul.

Berikut adalah alamat yang sepadan

  1. 0x70 = 7 Paparan Segmen
  2. 0x77 = Sensor Thermometer / Barometer BMP180
  3. 0x68 = Modul Jam Sebenar DS3231
  4. 0x57 = DS3231 di atas kapal EEPROM untuk menyimpan data penggera.

Langkah 4: Pasang MySQL dan PhpMyAdmin

Pasang MySQL dan PhpMyAdmin
Pasang MySQL dan PhpMyAdmin

Memasang mySQL agak lurus ke hadapan jika anda mengikuti tutorial di sini

sudo apt-get pasang mysql-server

Saya juga memasang phpMyAdmin yang merupakan laman web yang berjalan di Apache yang boleh anda gunakan untuk membuat dan menguruskan pangkalan data mySQL. Tutorial di sini

sudo apt-get install phpmyadmin

Setelah dipasang, saya menyediakan pangkalan data bernama BP180 menggunakan phpMyAdmin dengan struktur seperti gambar.

Saya juga menggunakan modul python yang disebut mysqlDB yang boleh anda pasang menggunakan

sudo apt-get install python-mysqldb

Langkah 5: Pasang Modul Python

Muat turun dan pasang modul python di bawah yang akan anda gunakan untuk menyambung ke sensor.

  1. Modul Adafruit_BMP085
  2. Modul SDL_DS3231
  3. Modul Adafruit 7 Segmen

Langkah 6: Kod untuk Log ke Pangkalan Data

Coretan kod di bawah digunakan untuk mencatat suhu dan tekanan barometrik dan dipanggil dari skrip cron (tugas berjadual Linux) yang berjalan setiap 5 minit. Untuk mengetahui cara menggunakan crond lihat tutorial ini.

NB! Jangan repot-repot membuang kemahiran pengkodan saya, saya bukan pemaju jadi ya mungkin ada satu juta cara yang lebih baik, lebih cepat, lebih lancar, lebih bersih untuk melakukan ini

Anda akan perhatikan dalam kodnya suhu menurun sebanyak 7 darjah yang setara dengan haba yang dihasilkan oleh Raspberry Pi walaupun BMP180 dipasang di bahagian luar perumahan. Ketika saya mula-mula memilikinya di dalam perumahan, suhu sekitar 15 darjah lebih panas daripada persekitaran. Nampaknya agak linier, tetapi saya tidak berkesempatan untuk menguji tahap ekstrem. Maklum balas pengalaman anda akan dihargai.

Langkah 7: Kod untuk Paparkan Temp

Kod untuk Paparkan Temp
Kod untuk Paparkan Temp
Kod untuk Paparkan Temp
Kod untuk Paparkan Temp
Kod untuk Paparkan Temp
Kod untuk Paparkan Temp
Kod untuk Paparkan Temp
Kod untuk Paparkan Temp

Kod ini dipanggil untuk menelusuri tampilan sesuai pengenalan.

Sekali lagi, saya bukan pemaju jadi kodnya benar-benar kasar, tetapi ia berfungsi

Langkah 8: Lekapan Bercetak 3D

Lampiran Bercetak 3D
Lampiran Bercetak 3D
Lampiran Bercetak 3D
Lampiran Bercetak 3D
Lampiran Bercetak 3D
Lampiran Bercetak 3D
Lampiran Bercetak 3D
Lampiran Bercetak 3D

Seterusnya adalah reka bentuk kandang. Ini agak mencabar kerana bentuknya cenderung melengkung kerana bahagian cangkang luar hanya setebal 2mm. Saya mula-mula membuat tiruan Pi dan semua bahagiannya dan kemudian merancang kandang di sekelilingnya. Cetakan mengambil masa sekitar 7 jam pada RapMan 3.2 saya (yang merupakan pencetak yang agak perlahan) pada kedalaman lapisan 0.25.

Skema yang dilampirkan dilakukan dalam Autodesk 123D Design yang saya rasa adalah perisian percuma yang hebat.

Perhatikan beberapa lubang seperti lubang yang diperlukan untuk memasang Pi tidak sesuai dengan reka bentuk kerana lebih baik untuk mengebornya selepas itu sekiranya cetakan melengkung anda sedikit. Tangan yang stabil, bit gerudi 3 mm adalah yang anda perlukan. Tandakan kedalaman pada bit dengan beberapa pita pelekat sehingga anda tidak sengaja membaca cetakan 7 jam anda seperti yang saya lakukan.

Langkah 9: Perkara Yang Harus Dilakukan

Perkara yang perlu dilakukan
Perkara yang perlu dilakukan
  1. Jam Waktu Nyata adalah penambahan setelah penutup dicetak untuk kali ke-5 sehingga saat ini terpaku panas di sisi kandang yang tidak kelihatan baik jadi saya ingin membuat semula reka bentuk dan menambah tempat untuknya.
  2. Kecerahan paparan segmen 7 saat ini diatur ke paling ringan yang tidak optimum untuk keadaan cahaya yang kuat. Saya ingin menambahkan perintang foto ke bahagian atas kandang dan menyesuaikan kecerahan 7 segmen berdasarkan keadaan cahaya sekitar.
  3. Terdapat beberapa masalah reka bentuk kecil dengan keretakan asas yang juga akan diperbaiki.
  4. Sebarang idea dialu-alukan.

Saya harap anda menikmati pengajaran ini dan cukup memberi inspirasi untuk membuat anda terus maju. Ideanya adalah untuk menyediakan platform yang boleh anda gunakan untuk menambahkan idea anda sendiri. Berseronok!

Disyorkan: