INITIALBOARD

Membuat Stasiun Cuaca Di Raspberry Pi Menggunakan Sense HAT

membuat stasiun cuaca di raspberry pi menggunakan sense hat

Dalam tutorial Membuat Stasiun Cuaca Di Raspberry Pi ini, INITIALBOARD akan membahas bagaimana cara untuk membuat sebuah stasiun cuaca di Raspberry Pi menggunakan HAT Sense. Sense HAT adalah board tambahan pelengkap yang memiliki banyak fitur sensor di dalamnya.

Fitur Sense HAT

Tutorial membuat stasiun cuaca di raspberry pi ini akan di bahas bagaimana cara mengatur software Sense HAT dan cara mengambil data dari tiga sensor utamanya, yaitu sensor suhu, sensor kelembaban, dan sensor tekanan. Kita juga akan secara singkat menyentuh tentang bagaimana menulis teks ke Matriks LED karena kita akan menggunakan ini sebagai cara menampilkan data sensor Anda.

Kita juga akan belajar menyiapkan stasiun cuaca di Raspberry Pi Anda sehingga data yang disimpan di Initial States Data analytics service. Layanan ini akan memungkinkan kita untuk mengalirkan data secara langsung ke antarmuka web yang ada dan melihat semua data dalam grafik yang baik dan mudah di mengerti.

Equipment Wajib

Equipment Pilihan

Berkenalan dengan Sense HAT

INGAT, Sebelum Anda memulai dengan tutorial ini, pastikan Sense HAT dengan telah terpasang dengan benar di atas GPIO pin pada Raspberry Pi.

1. Jalankan perintah di bawah ini, untuk memperbarui versi yang telah ada.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sudo apt-get update
sudo apt-get upgrade
[/su_note]

2. Dengan Raspberry Pi yang terbaru, kita sekarang perlu menginstal paket software Sense Hat,

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sudo apt-get install sense-hat
sudo reboot
[/su_note]

3. Setelah paket software selesai terinstal, kita akan menambahkan bari kode untuk memastikan Sense HAT sudah terhubung dan bekerja dengan baik.

Ikuti perintahnya berikut ini :

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sudo nano ~/sensehat_test.py
[/su_note]

4. Sekarang, tambahkan baris kode berikut ini kedalam file.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
from sense_hat import SenseHat
[/su_note]

Baris ini mengimpor modul Sensehat dari sense_hat library. library ini memungkinkan kita untuk berinteraksi dengan Sense HAT itu sendiri melalui python.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sense = SenseHat()
[/su_note]

Baris ini menciptakan link ke SenseHat Library dan mengenalkan sendiri sehingga kami dapat memulai panggilan ke tujuan.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sense.show_message(“Hello World”)
[/su_note]

Baris ini di tugaskan untuk menulis pesan ke Sense HAT. Anda akan melihat tulisan “Hello World” melintas di lampu RGB.

Tekan Ctrl + X, tekan Y, lalu tekan Enter untuk menyimpan file.

5. Dengan file yang sudah di buat dan disimpan tadi, kita dapat menjalankanya dengan perintah :

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sudo python ~/sensehat_test.py
[/su_note]

Tulisan “Hello World” saat ini harusnya sudah bergulir di RGB Leds di atas Sense HAT. Jika tidak, kemungkinan Sense HAT belum terpasang dengan benar di atas pin GPIO .

JIKA MASIH TIDAK BERFUNGSI, Restart Raspberry Pi dengan menjalankan perintah berikut.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sudo reboot
[/su_note]

Mengkonfigurasi Sense HAT sebagai Stasiun Cuaca (weather station)

1. Setelah memastikan Sense HAT berfungsi dengan benar, kita lanjutkan dengan membuat script yang berisi baris coding python.

Kita akan mulai membuat dengan script dasar yang akan terus MEMBACA dan MENAMPILKAN semua data dari sensor Sense HAT.

Script baru ini di tulis dalam bahasa python, jalankan perintah ini di terminal:

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sudo nano ~/weather_script.py
[/su_note]

2. Sekarang tambahkan baris kode berikut ke dalam script.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
#!/usr/bin/python
from sense_hat import SenseHat
import time
import sys
[/su_note]

Penjelasan Baris Koding diatas :

Pertama, digunakan untuk mengimpor semua libraries yang kita rencanakan untuk digunakan dalam skrip kita. Dalam kasus ini, kita akan menggunakan libraries berikut.

sense_hat Library

Library ini adalah apa yang kita manfaatkan untuk berinteraksi dengan Sense HAT itu sendiri, tanpa ini kita tidak akan dapat membaca data sensor apa pun atau berinteraksi dengan LED Matrix.

time Library

Library ini memungkinkan kita untuk melakukan berbagai macam hal waktu yang berbeda, tetapi untuk skrip sederhana kita, kita hanya akan menggunakan fungsi tidurnya. Fungsi ini akan memungkinkan kita untuk menangguhkan saat ini untuk periode kecil.

sys Library

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sense = SenseHat()
sense.clear()
[/su_note]

Library ini memungkinkan kita mengakses beberapa variables dan functions yang dikelola oleh Python interpreter. Pada kasus script tadi, kita akan menggunakan ini untuk mengakhiri script jika kita perlu melakukannya.

Pada Baris Pertama, membuat link ke library SenseHat dan menginisialisasi sendiri sehingga kami dapat mulai membuat panggilan ke sana.

Pada Baris Kedua memberitahu perpustakaan untuk menghapus LED Matrix, secara default ini berarti mematikan semua led. Itu selalu merupakan ide yang baik untuk melakukan ini ketika berhadapan dengan Sense HAT karena memastikan tidak ada yang ditampilkan.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
try:
while True:
[/su_note]

Dalam blok kode ini, kita penyiapkan pernyataan pertama kita. Kita perlu melakukan ini sehingga kita dapat keluar dari perulangan sementara kita dengan menekan Ctrl + C. pastikan Anda menyimpan indentation untuk while True.

Indentation diperlukan karena Python sensitif terhadap indentasi. Beberapa baris kode berikutnya memerlukan 3 Indentation

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
temp = sense.get_temperature()
[/su_note]

digunakan untuk mendapatkan suhu secara langsung berkat Hat Library, yang harus kita lakukan adalah membuat panggilan ke library untuk mengambil suhu dari sensor.

Output Suhu yang akan dihasilkan kepada kita dalam Celcius, dengan begini juga akan menghasilkan angka desimal yang lebih besar, tetapi kita akan akali pada baris kode berikutnya.

Cara menampilkan suhu dalam bentuk Fahrenheit dan Celcius :

Celcius

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
temp = round(temp, 1)
[/su_note]

Fahrenheit

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
temp = 1.8 * round(temp, 1) + 32
[/su_note]

Di sini saya memberi Anda dua pilihan untuk baris kode ini. Kode Celsius hanya menggunakan nilai yang kami dapatkan dari sensor dan membulatkannya ke nilai desimal terdekat.

Pada Kode Fahrenheit juga hampir sama, perbedaanya terletak pada konversi nilai yang digunakan yaitu dari Celcius ke Fahrenheit

Celcius

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
print(“Temperature C”,temp)
[/su_note]

Fahrenheit

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
print(“Temperature F”,temp)
[/su_note]

Bit kode ini sangat mendasar dan hanya mencetak suhu ke terminal.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
humidity = sense.get_humidity()
humidity = round(humidity, 1)
print(“Humidity :”,humidity)
pressure = sense.get_pressure()
pressure = round(pressure, 1)
print(“Pressure:”,pressure)
[/su_note]

Sensor Kelembaban dan Tekanan dapat dibaca seperti pembacaan pada Sensor Suhu. Jadi dengan menggunakan Sense Hat ini juga sangat menguntungkan. Kenapa karena dengan adanya library Sense Hat ini menjadi sangat sederhana.

Nilai yang dihasilkan juga akan tetap dalam desimal besar, jadi kita akan membulatkannya lagi dan menampilkan nilai-nilai ke terminal.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
time.sleep(1)
[/su_note]

Code ini dipakai untuk perintah Sleep sederhana ke waktu library selama sekitar 1 detik.

Anda dapat mempercepat pembacaan dengan mengurangi angka ini, atau bahkan melambatkan dengan menambahkan angkanya. Jumlahnya seharusnya kira-kira jumlah dalam detik yang Anda inginkan untuk menunggu di antara bacaan.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
except KeyboardInterrupt:
pass
[/su_note]

Kode ini membuat percobaan menunggu pengecualian KeyboardInterrupt. Dengan triggered kita abaikan pengecualianya untuk menyebabkan script meninggalkan looping sementara dengan bersih. kita melakukan ini dengan memanfaatkan pass.

3. Dengan semua kode yang dimasukkan ke dalam file python,

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
#!/usr/bin/python
from sense_hat import SenseHat
import time
import sys

sense = SenseHat()
sense.clear()

try:
while True:
temp = sense.get_temperature()
temp = round(temp, 1)
print(“Temperature C”,temp)

humidity = sense.get_humidity()
humidity = round(humidity, 1)
print(“Humidity :”,humidity)

pressure = sense.get_pressure()
pressure = round(pressure, 1)
print(“Pressure:”,pressure)

time.sleep(1)
except KeyboardInterrupt:
pass
[/su_note]

4. Setelah baris kode diatas anda tambahkan, jangan lupa untuk menyimpanya kembali dengan melakukan tekan Ctrl + X dan kemudian tekan Y dan kemudian tekan Enter .

5. Setelah disimpan, Sekarang kita dapat menjalankan script python baru dengan menjalankan perintah berikut di terminal.

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
sudo python ~/weather_script.py
[/su_note]

6. Saat ini dalam terminal anda akan melihat tampilan seperti di bawah ini :

[su_note note_color=”#f3f3f7″ text_color=”#000000″ radius=”2″]
(‘Temperature C’, 30.0)
(‘Humidity :’, 39.8)
(‘Pressure:’, 1025.7)
[/su_note]

Anda dapat menghentikan script dengan menekan tombol Ctrl + C.

Pelu di catak baik baik, tutorial ini bukan berasal dari profesional, ini hanyalah hasil Trial Eror penulis. Jadi kemungkinan anda akan mengalami kegagalan sangatlah besar, dan saya berharap koreksi bilamana terdapat kesalahan di kolom komentar di bawah. Bila berkenan penulis sangat berharap anda dapat berbagi tulisan ini untuk orang lain juga, agar di ilmu yang dibagikan disini tidak berhenti di anda saja. Terimakasih.

Exit mobile version