Isi kandungan:
- Langkah 1: Dapatkan Semua Item yang Diperlukan
- Langkah 2: Sediakan Pi Raspberry Anda
- Langkah 3: Sambungkan Segalanya Bersama
- Langkah 4: Buat Pangkalan Data Anda
- Langkah 5: Masa untuk Kod
- Langkah 6: Cubalah
Video: Fanair: Stesen Cuaca untuk Bilik Anda: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Terdapat banyak cara untuk mengetahui cuaca semasa, tetapi anda hanya mengetahui cuaca di luar. Bagaimana jika anda ingin mengetahui cuaca di dalam rumah anda, di dalam bilik tertentu? Itulah yang saya cuba selesaikan dengan projek ini.
Fanair menggunakan pelbagai sensor untuk merasakan:
- suhu
- kelembapan
- cahaya
- gas tertentu
- tekanan udara
Ini sangat padat dan menggunakan Raspberry Pi 3 B, untuk mendapatkan nilai, menyimpannya dalam pangkalan data MySQL dan kemudian membuatnya mudah didapati di laman web. Termasuk dalam kod dan laman web adalah kemampuan untuk mendapatkan data cuaca sebenarnya untuk lokasi Anda sehingga laman web dapat digunakan untuk memeriksa cuaca di luar juga.
Langkah 1: Dapatkan Semua Item yang Diperlukan
Pertama sekali anda memerlukan elektronik asas seperti kabel / kabel jumper. Sekiranya anda merancang untuk menyolder semuanya bersama-sama sebagai projek tetap, sudah tentu anda juga memerlukan solder, solder, dan untuk keselesaan anda sendiri PCB untuk menyolder semuanya.
Untuk item yang lebih spesifik, saya membuat Bil Bahan ini.
- Raspberry Pi 3 B
- MPC3008 - ADC 10-Bit 8-Saluran
- Sensor Suhu dan Kelembapan Termometer AM2301
- WR Rademacher WR-tyoe 930-1 PCB
- Sarung ABS untuk prototaip (hitam)
- LDR
- Sensor gas MQ135
- Transistor Darlington 2x BC517
- LED RGB
- Pek Perintang
- Buzzer
- Wayar
- Barometer BMP280
- Kipas USB yang senyap (5V)
Secara keseluruhan, ini berharga kira-kira € 110. Perlu diingat bahawa jumlah harga adalah anggaran. Juga, projek saya mempunyai skrin LCD dalam foto tetapi tidak bersambung kerana tidak ada ruang yang cukup dalam kes saya, jadi ia tidak termasuk dalam arahan.
Langkah 2: Sediakan Pi Raspberry Anda
Dapatkan sistem operasi Raspian Jessie anda dengan Pixel dari laman Raspberry Pi rasmi dan setelah muat turun muat turunnya. Anda akan mendapat fail gambar. Untuk mendapatkannya pada Pi, anda harus menulisnya ke SD-Card menggunakan Win32 Disk Imager. Setelah dipasang, pilih fail gambar dan pemacu tempat SD-Card berada. Kemudian tekan tulis dan tunggu sehingga selesai.
Setelah selesai, klik pada SD-Card anda di File Explorer dan buka fail yang dipanggil 'cmdline.txt' ke hujung fail teks sebelum rootwait dan tulis 'ip = 254.169.10.2' dengan ruang kosong. Setelah anda menyimpannya, anda harus klik kanan di suatu tempat di dalam tetingkap dan membuat fail baru yang disebut 'ssh'. Perhatikan bahawa fail ini tidak mempunyai sambungan fail. Untuk memastikan tidak mempunyai pelanjutan, klik 'view' di explorer fail dan periksa 'file tersembunyi'. Sekiranya ia menamakannya semula dan hapus pelanjutannya maka ia hanya berbunyi 'ssh'.
Setelah selesai, anda akhirnya boleh memasukkan SD-Card anda ke dalam Raspberry Pi. Muat turun pelanggan ssh (saya cadangkan MobaXterm). Dan sambungkan menggunakan ssh dengan IP yang anda tetapkan lebih awal '254.169.10.2'. Nama pengguna adalah 'pi', kata laluan 'raspberry'. Sekiranya anda mahu, anda boleh menukar kata laluan dengan mengetik perintah 'sudo passwd' di terminal dan mengikuti arahannya. Oleh kerana kami akan menggunakan sebilangan besar SD-Card untuk Fanair, anda harus memperluas storan yang ada dengan mengetik 'sudo rapi-config' memilih 'Advanced Options' dan kemudian 'Expand File System'. Sekiranya diminta dimulakan semula.
Kami akan menggunakan antara muka 1-wayar, SPI, dan I2C. Untuk dapat menggunakannya, anda perlu menyediakannya terlebih dahulu!
Langkah 3: Sambungkan Segalanya Bersama
Sudah tiba masanya untuk membuat litar! Kali pertama anda mungkin harus mencubanya di papan roti, tetapi jika anda tidak mempunyai masa untuk itu, anda boleh mencuba menyoldernya bersama-sama.
Litar yang anda perlukan seperti di atas, untuk kemudahan versi papan roti juga disertakan.
Langkah 4: Buat Pangkalan Data Anda
Untuk menyimpan semua data yang anda terima dengan cekap, kami akan menggunakan pangkalan data TSQL MySQL. Sebelum memasang MySQL mari pastikan semuanya terkini dengan menaip beberapa arahan di terminal:
- 'sudo apt-get kemas kini'
- 'sudo apt-get peningkatan'
- 'sudo apt-get dist-upgrade'
Terima setiap permintaan dengan menaip 'y' dan masukkan.
Untuk memasang jenis MySQL:
- 'sudo apt-get install mysql-server'
- 'sudo apt-get install mysql-client'
Apabila diminta, buat kata laluan root pilihan anda.
Setelah selesai memasang log masuk dengan menggunakan:
'mysql -uroot -p'
Dan menaip kata laluan anda.
Dapatkan kod Fanair dari My Github! Klik pada 'Klon atau muat turun' dan kemudian pada 'Muat turun ZIP'. Buka zip kod dalam folder pilihan anda. Pertanyaan untuk membuat pangkalan data yang beroperasi sepenuhnya ada di folder pangkalan data. Buka fail salin kod dan tampal di terminal dengan MySQL terbuka. Kemudian klik enter dan pangkalan data selesai!
Langkah 5: Masa untuk Kod
Untuk menggunakan semua sensor, anda pasti perlu menjalankan program. Nasib baik kod sudah selesai (sebahagian besarnya), dan kami sudah memuat turunnya ketika mendapatkan pertanyaan SQL pangkalan data.
Seperti saya katakan ada beberapa perkara yang masih perlu diubah / ditambah agar program berjalan dengan baik. Pertama sekali program menggunakan Darksky API untuk mendapatkan data cuaca berdasarkan garis bujur dan garis lintang. Untuk menggunakannya, anda perlu mendaftar. 1000 panggilan pertama adalah percuma dan selepas itu berharga $ 0.0001 setiap panggilan. Saya pernah mendengar jika anda tidak membayar akaun anda akan disekat. Bersikap adil $ 0,0001 setiap panggilan adalah sangat murah. Fanair memanggil data terbaru setiap jam yang bermaksud bahawa dalam setahun jika dijalankan sepenuh masa, ia hanya akan dikenakan biaya $ 0.876. Anda juga mendapat 41 hari percuma jika Fanair berjalan sepenuh masa.
Setelah mendaftar cari kunci API anda. Cari garis bujur dan garis lintang lokasi anda di peta google atau cuba google. Buat fail teks baru direktori root Fanair (dengan kelas, main.py…). Namakan fail 'key_location.txt'. Buka fail teks dan pada baris pertama tampal kunci API Darksky anda. Pada baris kedua tampal garis bujur anda dan pada baris ketiga tampal garis lintang anda (kedua-duanya dalam format perpuluhan). Setelah selesai simpan fail.
Di direktori yang sama buat fail teks lain yang disebut 'database_dsn.txt'. Baris pertama harus menyebut 'localhost'. Baris kedua adalah 'root'. Pada baris ketiga anda harus menaip kata laluan anda yang anda buat untuk pangkalan data lebih awal, dan baris keempat dan terakhir anda harus menaip 'fanair'.
Klik kanan fail main.py dan pilih edit. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' perlu diubah. Sekiranya anda mengikuti gambar, 5 nilai pertama harus diubah dari '5, 26, 17, 27, 22, 4' menjadi '20, 21, 26, 19, 13 '. '/ home / muhsin / Applications / Fanair' juga harus ditukar ke jalur root Fanair anda (di mana main.py berada). Pastikan meletakkan garis miring di hadapan 'rumah' tetapi tidak selepas 'Fanair'.
Sekarang ini semua bagus tetapi kodnya perlu dimasukkan ke dalam Pi. Nasib baik bagi kita protokol sftp ada. Untuk meletakkan fail di Pi, gunakan klien sftp seperti FileZilla atau jika anda memutuskan untuk menggunakan MobaXterm, anda boleh memuat naik fail dengan mudah di antara muka sftp di sebelah kiri terminal.
Dalam pengalaman saya, saya tidak selalu mendapat tarikh dan masa yang tepat di Raspberry Pi. Untuk memastikan anda menerima tarikh masa yang betul, saya cadangkan untuk mengikuti panduan ini: tarikh dan masa penyegerakan Raspberry Pi.
Dan yang terakhir tetapi tidak kurang juga beberapa perpustakaan perlu dipasang dan beberapa antara muka perlu diaktifkan:
'sudo apt-get install build-essential python-dev'
Adafruit DHT:
'pip3 pasang adafruit_python_dht'
1-wayar:
- 'sudo raspi-config'
- 'Pilihan Antaramuka'
- '1 Kawat'
- Aktifkan
- 'sudo nano /boot/config.txt'
- Tambahkan baris ini dalam fail: 'dtoverlay = w1-gpio'
- 'rebo sudo'
SPI:
- 'sudo raspi-config'
- 'Pilihan Antaramuka'
- 'SPI'
- Aktifkan
- 'rebo sudo'
- 'sudo nano /boot/config.txt'
- Cari 'dtparam = spi = on' dan tanggalkannya dengan membuang hashtag.
- 'sudo apt-get install python3-dev
Smbus:
- 'sudo raspi-config' '
- 'Pilihan Antaramuka'
- 'I2C'
- Aktifkan
- 'rebo sudo'
- 'sudo apt-get install -y python-smbus'
- 'sudo apt-get install -y i2c-tools'
- 'sudo nano /boot/config.txt'
- Cari dtparam = i2c_arm = aktifkan dan tanggalkannya dengan membuang hashtag.
kelalang
pip3 memasang Flask
penyambung mysql
'pip3 install -Iv mysql-connector == 2.1.4'
spidev
'pip3 install py-spidev'
langit gelap
'pip3 pasang darkskylib'
Langkah 6: Cubalah
Sekiranya anda berjaya membuatnya sejauh ini tekan diri anda di belakang. Kini semuanya dilakukan untuk menjadikan Fanair berfungsi dengan baik. Jadi untuk mengujinya ketik 'cd ""'. Lokasi fail adalah "/ home / pi" misalnya jika anda baru ditampal di direktori rumah anda. Kemudian ketik 'python3 main.py' dan biarkan berehat selama 15 minit sehingga ia akan mempunyai data dalam pangkalan data apabila selesai. Selepas itu tekan 'ctrl + c' berhenti hentikan program dan taip 'python3 Flask.py'. Untuk melihat sama ada laman web anda berfungsi, anda perlu melayari ke alamat IP Pi yang anda buat dengan ': 5000' selepasnya (seperti ini: 169.254.10.1:5000 ').
Untuk membuatnya berjalan secara automatik selepas boot:
'sudo nano /etc/rc.local'
Di akhir fail TETAPI SEBELUM keluar 0:
'sudo python3 "/main.py" &'
'sudo python3 "/Flask.py" &'
Tahniah sekarang skrip anda harus dijalankan dari permulaan dan ANDA SELESAI! Sekiranya anda merancang untuk terus menjalankan projek dan belum saya cadangkan anda menyatukan semuanya, hanya untuk memastikan semuanya tetap berjalan lancar. Walaupun jika anda tidak bermain untuk memindahkannya, papan roti juga berfungsi.
Disyorkan:
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: 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)
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: 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
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir: 3 Langkah (dengan Gambar)
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir: Halo! Di sini, stesen cuaca yang diperintahkan telah diperkenalkan. Mereka menunjukkan tekanan udara, suhu dan kelembapan semasa. Apa yang mereka kekurangan setakat ini adalah persembahan kursus dalam 1-2 hari terakhir. Proses ini akan mempunyai
Stesen Cuaca Acurite 5 dalam 1 Menggunakan Pi Raspberry dan Weewx (Stesen Cuaca lain Sesuai): 5 Langkah (dengan Gambar)
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