Stasiun cuaca berdasarkan Raspberry Pi
Ini adalah proyek sederhana untuk stasiun cuaca.
Awalnya membaca suhu, tekanan dan kelembaban. Langkah selanjutnya adalah mengukur arah angin dan setelah itu kecepatan angin.
Basis proyek ini adalah Raspberry PI A+ yang dipilih karena konsumsinya yang kecil, karena idenya adalah bahwa stasiun cuaca ditenagai oleh tenaga surya.
OSnya adalah distro raspbian, dengan beberapa pustaka python yang tidak tersedia.
Program utama ditulis dengan Python.
Stasiun cuaca mengunggah semua data ke www.wunderground.com setiap 2 menit.
Langkah 1:Deskripsi perangkat keras
Untuk penyelesaian proyek, kita memerlukan yang berikut ini:
Raspberry Pi A+ (Bisa menggunakan model apa saja)
Sensor suhu/tekanan Bosch BMP180
Sensor Suhu/Kelembaban HTU21D
Adaptor nirkabel
Kartu SD
Panel surya 10W
Baterai 7.2 Ah 12V
Pengontrol/pengisi daya surya 12V generik
Pengatur 5V 7805
Dibutuhkan bit dan rawa
Langkah 2:Menyiapkan dasar-dasarnya
Saya tidak akan membuang waktu menjelaskan cara menginstal raspbian di Rpi. Saya berasumsi bahwa siapa pun yang ingin membangun proyek ini cukup mahir dalam hal ini.
Bagaimanapun, tautan untuk distribusinya adalah http://www.raspberrypi.org/downloads/
Karena saya memiliki beberapa Rpi, saya sudah memiliki gambar SD yang siap diluncurkan dengan konektivitas nirkabel, jadi tinggal menulis ulang ke kartu baru.
Jika Anda tidak memiliki "cadangan" seperti itu, mungkin lebih baik Anda menggunakan B+ atau model lain dengan ethernet, dan mengatur semuanya menggunakan salah satu dari banyak tutorial yang tersedia.
Tutorial yang bagus untuk menyiapkan Rpi adalah http://www.raspberrypi.org/help/quick-start-guide/
Yang bagus untuk nirkabel adalah http://www.raspberrypi.org/documentation/configuration/wireless/
Jika semuanya berjalan baik-baik saja, Anda sekarang seharusnya memiliki Rpi dengan akses internet nirkabel.
Anda masih harus menyiapkan Rpi untuk menggunakan protokol I2C.
Yang bagus adalah https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c
Langkah 3:Menyiapkan perangkat lunak lain
Setelah Anda menyiapkan Rpi, ada beberapa perangkat lunak yang diperlukan agar kami dapat membaca sensor yang digunakan.
Saya melakukan semua menggunakan Rpi “Headless” dan menggunakan baris perintah
Saya menggunakan perpustakaan Adafruit untuk BMP180, cukup ikuti tautan untuk menginstalnya
https://learn.adafruit.com/using-the-bmp085-with-raspberry-pi/using-the-adafruit-bmp085-python-library
Kami juga membutuhkan perpustakaan Pigpio untuk Membaca sensor kelembaban. Anda dapat mengunduh dari
http://abyz.co.uk/rpi/pigpio/download.html dan ikuti petunjuk pemasangan
Setelah itu Anda harus memastikan bahwa setiap kali Anda me-reboot Rpi, Pigpio juga dimuat. Saya melakukan ini dengan menambahkan baris berikut ke /etc/rc.local
sudo pigpiod
Dalam kasus saya ini sudah cukup tetapi ini tergantung di mana Anda menginstal pigpio. Jika Anda mengalami masalah, masukkan saja seluruh jalur untuk file tersebut dan Anda akan baik-baik saja.
Tutorial yang disajikan cukup mudah tetapi jika Anda memerlukan bantuan, saya ada di sini 😀
Langkah 4:Menyiapkan sensor
Saya mendapatkan kedua sensor dari Ebay, karena lebih mudah (dan lebih murah) untuk menyiapkan papan kecil dengan sensor yang sudah disolder untuk melakukannya sendiri. Jika Anda mencari Ebay untuk BMP180 dan HTU21D, Anda pasti akan menemukannya.
Ini adalah sensor I2C yang sangat mudah untuk berkomunikasi. Protokol I2C memungkinkan Anda untuk menghubungkan beberapa sensor secara paralel dan berkomunikasi dengan masing-masing sensor karena masing-masing memiliki alamat yang unik.
Saya menyolder keduanya dengan beberapa keterampilan, mencocokkan semua sinyal seperti yang terlihat pada gambar.
Sensor akan membutuhkan sinyal +3,3V, GND, SDA, dan SCL dari Rpi.
Anda dapat menggunakan kabel apa pun yang Anda suka, tetapi kabel 4 kabel (telepon) mungkin merupakan ide yang bagus.
Langkah 5:Program utama
Program utamanya adalah temp-monitor.py
Anda harus menginstal python, jika tidak, ikuti saja http://raspberry.io/wiki/how-to-get-python-on-your-raspberrypi/
Bagian pertama dari program ini menunjukkan perpustakaan yang dibutuhkan.
import Adafruit_BMP.BMP085 as BMP085
import smbus
import os
import sys
import getopt
import sqlite3
import matematika
import pigpio
waktu impor
Mengikuti program kami memiliki 2 fungsi yang akan membaca kelembaban. Read_temperature adalah fungsi yang akan membaca suhu HUT21D untuk kompensasi saat menghitung kelembaban relatif. Hal ini diperlukan untuk fungsi read_humidity berikut.
Ada beberapa perhitungan di dalam fungsi-fungsi ini, tetapi ini semua sesuai dengan lembar data sensor. Bukan hal-hal penting, tetapi Anda selalu memeriksanya jika Anda mau
BMP180 http://www.vssec.vic.edu.au/media/41229/BMP180-datasheet.pdf
HTU21D http://www.meas-spec.com/downloads/HTU21D.pdf
Variabel cmd bertanggung jawab untuk mengirimkan data ke www.wundergroud.com menggunakan curl. Situs web ini menyediakan beberapa statistik dan grafik yang sangat bagus. Anda perlu mendaftar (gratis) akun untuk mengunggah data.
Setelah itu Anda akan memiliki ID dan kata sandi yang dapat Anda ubah dalam variabel cmd seperti yang ditunjukkan
cmd =“curl “+”'http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=&PASSWORD=&dateutc=now&tempf=”+str((temp*1.8)+32)+”&humidity=”+ str(bulat(kelembaban,2))+”&baromin=”+str((tekanan/100)*0.0295299)+”&action=updateraw”+”'”
Anda kemudian harus mengubah lagi /etc/rc.local dan menyisipkan baris agar program dapat dimulai saat Rpi di-boot ulang :
sudo python /usr/lib/cgi-bin/temp-monitor.py &
Simbol &penting karena akan memasukkan program Anda ke dalam memori dan melepaskan baris perintah yang akan digunakan.
PERBARUI
Untuk pikiran yang ingin tahu, temp-monitor-online.py adalah program saat ini yang saya gunakan, dengan pembacaan suhu, tekanan, kelembapan, titik embun, kecepatan dan arah angin, serta uv dan insolasi.
Langkah 6:Membangun panel surya
Jadi, jika Anda telah menyelesaikan semuanya dan bekerja dengan baik, inilah saatnya untuk menempatkan stasiun cuaca Anda di luar.
Saya memilih untuk memberi makan Rpi saya menggunakan sistem tenaga surya, menggunakan 3 modul 3,5W yang dibeli di Ebay.
Modul menghasilkan 6V, jadi 3 modul secara seri akan menghasilkan 18V, yang merupakan standar untuk tata surya 12V.
Anda dapat mengaturnya seperti yang saya lakukan dan Anda akan mendapatkan panel kecil yang cukup bagus yang mampu menjalankan sistem.
Mungkin Anda berpikir bahwa baterai 10W dan 7,2Ah terlalu mahal untuk Rpi, tetapi karena saya di Irlandia, saya berharap dapat berjalan beberapa hari tanpa matahari, jadi…
Untuk detail lebih lanjut:Stasiun cuaca berdasarkan Raspberry Pi