Cara Membangun Monitor Suhu Raspberry Pi: 9 Langkah
Cara Membangun Monitor Suhu Raspberry Pi: 9 Langkah
Anonim
Cara Membina Monitor Suhu Raspberry Pi
Cara Membina Monitor Suhu Raspberry Pi

Suhu dan kelembapan adalah titik data penting dalam dunia perindustrian masa kini. Memantau data persekitaran untuk bilik pelayan, penyejuk beku komersil, dan barisan pengeluaran diperlukan untuk memastikan semuanya berjalan lancar. Terdapat banyak penyelesaian di luar sana, mulai dari yang asas hingga yang kompleks dan nampaknya sangat membebankan mengenai apa yang diperlukan oleh perniagaan anda dan di mana untuk memulakan.

Kami akan mengetahui cara memantau suhu dengan Raspberry Pi dan sensor suhu berbeza yang boleh anda gunakan. Ini adalah tempat yang baik untuk memulakan kerana penyelesaian ini tidak mahal, mudah dilakukan, dan memberi anda asas untuk dibangunkan untuk pemantauan alam sekitar yang lain.

Bekalan

  • Raspberry Pi (3, 4, atau Zero WH)
  • Sensor Suhu (DHT2, DSB18B20, BME280, atau Sense HAT)
  • 6 "40-Pin IDE Male to Female Extension Cable (Sense HAT Solution)
  • Resistor 10K, Papan Roti, Papan Pemecah 40 Pin + Kabel Pita, Kawat (Untuk Penyelesaian DSB18B20)

Langkah 1: Raspberry Pi

Raspberry Pi adalah komputer papan tunggal yang murah yang membolehkan anda menyambung ke sensor suhu dan mengalirkan data ke perisian visualisasi data. Raspberry Pi bermula sebagai alat pembelajaran dan telah berkembang menjadi alat tempat kerja industri. Kemudahan penggunaan dan kemampuan untuk membuat kod dengan Python, bahasa pengaturcaraan yang paling cepat berkembang, telah menjadikan mereka penyelesaian.

Anda memerlukan Raspberry Pi yang dilengkapi WiFi, yang mana-mana model 3, 4, dan sifar W / WH. Antara yang anda boleh pilih berdasarkan harga dan ciri. Zero W / WH adalah yang paling murah tetapi jika anda memerlukan lebih banyak fungsi, anda boleh memilih antara 3 dan 4. Anda hanya boleh membeli satu Zero W / WH pada satu masa kerana keterbatasan oleh Raspberry Pi Foundation. Apa sahaja Pi yang anda pilih, pastikan anda membeli pengecas kerana dengan cara itulah anda akan memberi Pi dan kad SD dengan Raspbian untuk membuat pemasangan sistem operasi semudah mungkin.

Terdapat komputer papan tunggal lain yang boleh berfungsi juga, tetapi untuk masa yang lain dan artikel lain.

Langkah 2: Sensor

Terdapat tiga sensor yang kami cadangkan untuk digunakan kerana ia tidak mahal, mudah disambungkan, dan memberikan bacaan yang tepat; DSB18B20, DHT22, dan Raspberry Pi Sense HAT.

DHT22 - Sensor suhu dan kelembapan ini mempunyai ketepatan suhu +/- 0,5 C dan kelembapan berkisar antara 0 hingga 100 persen. Mudah untuk memasang kabel Raspberry Pi dan tidak memerlukan perintang penarik.

DSB18B20 - Sensor suhu ini mempunyai output digital, yang berfungsi dengan baik dengan Raspberry Pi. Ia mempunyai tiga wayar dan memerlukan papan roti dan perintang untuk sambungannya.

BME280 - Sensor ini mengukur suhu, kelembapan, dan tekanan barometrik. Ia boleh digunakan dalam SPI dan I2C.

Sense HAT - Ini adalah tambahan untuk Raspberry Pi yang mempunyai LED, sensor, dan joystick kecil. Ia menghubungkan terus ke GPIO pada Raspberry Pi tetapi menggunakan kabel pita memberi anda bacaan suhu yang lebih tepat.

Langkah 3: Persediaan Raspberry Pi

Sekiranya ini adalah kali pertama menyiapkan Raspberry Pi anda, anda perlu memasang Sistem Operasi Raspbian dan menyambungkan Pi anda ke WiFi. Ini memerlukan monitor dan papan kekunci untuk menyambung ke Pi. Setelah anda menggunakannya dan disambungkan ke WiFI, Pi anda sudah siap digunakan.

Langkah 4: Akaun Negeri Permulaan

Akaun Negeri Permulaan
Akaun Negeri Permulaan
Akaun Negeri Permulaan
Akaun Negeri Permulaan

Anda memerlukan tempat untuk menghantar data anda untuk menyimpan catatan sejarah dan melihat aliran data masa nyata sehingga kami akan menggunakan Status Permulaan. Pergi ke https://iot.app.initialstate.com dan buat akaun baru atau log masuk ke akaun sedia ada anda.

Seterusnya, kita perlu memasang modul Initial State Python ke Pi anda. Pada prompt arahan (jangan lupa SSH ke Pi anda terlebih dahulu), jalankan arahan berikut:

$ cd / rumah / pi /

$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash

Setelah anda memasukkan perintah curl di command prompt, anda akan melihat sesuatu yang serupa dengan output berikut ke skrin:

pi @ raspberrypi ~

$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash Kata Laluan: Memulakan Pemasangan Mudah ISStreamer Python! Ini mungkin memerlukan beberapa minit untuk memasang, ambil kopi:) Tetapi jangan lupa untuk kembali, saya akan mempunyai soalan kemudian! Found easy_install: setuptools 1.1.6 Found pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versi utama pip: 1 pip versi kecil: 5 ISStreamer dijumpai, dikemas kini … Keperluan sudah dikemas kini: ISStreamer di /Library/Python/2.7/site-packages Membersihkan… Adakah anda ingin mendapatkan skrip contoh secara automatik? [y / N] Di mana anda mahu menyimpan contohnya? [lalai:./is_example.py] Sila pilih aplikasi Status Permulaan yang anda gunakan: 1. app.initialstate.com 2. [BARU!] iot.app.initialstate.com Masukkan pilihan 1 atau 2: Masukkan iot.app nama pengguna.initialstate.com: Masukkan kata laluan iot.app.initialstate.com:

Apabila diminta untuk mendapatkan skrip contoh secara automatik, ketik y. Ini akan membuat skrip ujian yang dapat kita jalankan untuk memastikan bahawa kita dapat mengalirkan data ke Keadaan Awal. Permintaan seterusnya akan bertanya di mana anda mahu menyimpan fail contoh. Anda boleh menaip jalan tempatan khusus atau tekan enter untuk menerima lokasi lalai. Akhirnya, anda akan ditanya aplikasi Status Permulaan yang anda gunakan. Sekiranya anda baru-baru ini membuat akaun, pilih pilihan 2, masukkan nama pengguna dan kata laluan anda. Selepas itu pemasangan akan selesai.

Mari kita lihat contoh skrip yang telah dibuat.

$ nano is_example.py

Pada baris 15, anda akan melihat garis yang bermula dengan streamer = Streamer (bucket_…. Garis ini membuat baldi data baru bernama "Python Stream Contoh" dan dikaitkan dengan akaun anda. Perkaitan ini berlaku kerana access_key = "…" parameter pada baris yang sama. Huruf dan nombor yang panjang itu adalah kunci akses akaun Negeri Permulaan anda. Sekiranya anda pergi ke akaun Negeri Permulaan di penyemak imbas web anda, klik nama pengguna anda di kanan atas, kemudian pergi ke "tetapan saya", anda akan menemui kunci akses yang sama di sini di bawah "Kekunci Akses Streaming".

Setiap kali anda membuat aliran data, kunci akses itu akan mengarahkan aliran data tersebut ke akaun anda (jadi jangan bagikan kunci anda dengan siapa pun).

Jalankan skrip ujian untuk memastikan kami dapat membuat aliran data ke akaun Negeri Permulaan anda. Jalankan perkara berikut:

$ python is_example.py

Kembali ke akaun Keadaan Awal anda di penyemak imbas web anda. Baldi data baru yang disebut "Contoh Python Stream" seharusnya muncul di sebelah kiri di rak log anda (anda mungkin perlu memuat semula halaman). Klik pada baldi ini dan kemudian klik pada ikon Gelombang untuk melihat data ujian

Sekiranya anda menggunakan Python 3, anda boleh memasang Modul Streamer Keadaan Awal, anda boleh memasang dengan menggunakan arahan berikut:

pip3 pasang ISStreamer

Sekarang kita siap untuk memasang sensor suhu dengan Pi untuk mengalirkan suhu ke papan pemuka.

Langkah 5: Penyelesaian DHT22

Penyelesaian DHT22
Penyelesaian DHT22

DHT22 akan mempunyai tiga pin - 5V, Gnd, dan data. Harus ada label pin untuk kuasa pada DHT22 (mis. ‘+’ Atau ‘5V’). Sambungkan ini ke pin 2 (pin kanan atas, 5V) Pi. Pin Gnd akan dilabel ‘-’ atau ‘Gnd’ atau sesuatu yang setara. Sambungkan ini ke pin 6 Gnd (dua pin di bawah pin 5V) pada Pi. Pin yang tersisa di DHT22 adalah pin data dan akan dilabel 'out' atau 's' atau 'data'. Sambungkan ini ke salah satu pin GPIO pada Pi seperti GPIO4 (pin 7). Setelah ini disambungkan, hidupkan Pi anda.

Pasang modul Adafruit DHT Python pada prompt arahan untuk menjadikan bacaan data sensor DHT22 sangat mudah:

$ sudo pip memasang Adafruit_DHT

Dengan sistem operasi kami dipasang bersama dengan dua modul Python kami untuk membaca data sensor dan menghantar data ke Status Permulaan, kami bersedia untuk menulis skrip Python kami. Skrip berikut akan membuat / menambahkan ke baldi data Status Permulaan, membaca data sensor DHT22, dan mengirim data tersebut ke papan pemuka masa nyata. Yang perlu anda lakukan hanyalah mengubah baris 6-11.

import Adafruit_DHT

dari ISStreamer. Streamer import Masa import Streamer # --------- Tetapan Pengguna --------- SENSOR_LOCATION_NAME = "Office" BUCKET_NAME = ": partly_sunny: Suhu Bilik" BUCKET_KEY = "rt0129" ACCESS_KEY = "TEMPAT AKSES NEGERI AWAL ANDA DI SINI" MINIT_BETWEEN_READS = 10METRIC_UNITS = Salah # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sementara True: kelembapan, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) jika METRIC_UNITS: streamer.log (SENSOR_): temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Temperature (F)", temp_f) kelembapan = format (kelembapan, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Kelembapan (%)", kelembapan) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_READS)

  • Baris 6 - Nilai ini harus unik untuk setiap sensor suhu / suhu. Ini mungkin nama bilik sensor anda, lokasi fizikal, pengecam unik, atau apa sahaja. Pastikan ia unik untuk setiap nod untuk memastikan bahawa data dari simpul ini masuk ke aliran datanya sendiri di papan pemuka anda.
  • Baris 7 - Ini adalah nama baldi data. Ini boleh diubah bila-bila masa di UI Negeri Permulaan.
  • Baris 8 - Ini adalah kunci baldi anda. Ia mesti menjadi kunci baldi yang sama untuk setiap nod yang anda mahu dipaparkan di papan pemuka yang sama.
  • Baris 9 - Ini adalah kunci akses akaun Negeri Permulaan anda. Salin dan tampal kunci ini dari akaun Negeri Permulaan anda.
  • Baris 10 - Ini adalah masa antara pembacaan sensor. Tukar dengan sewajarnya.
  • Baris 11 - Anda boleh menentukan unit metrik atau imperial pada baris 11.

Setelah anda menetapkan baris 6-11 dalam skrip Python pada Pi anda, simpan dan keluar dari editor teks. Jalankan skrip dengan arahan berikut:

$ python tempsensor.py

Sekarang anda akan menghantar data ke papan pemuka Status Permulaan. Pergi ke bahagian akhir artikel ini untuk mendapatkan maklumat mengenai cara menyesuaikan papan pemuka anda.

Langkah 6: Penyelesaian DSB18B20

Penyelesaian DSB18B20
Penyelesaian DSB18B20
Penyelesaian DSB18B20
Penyelesaian DSB18B20

Kabel reben menyambung ke pin GPIO pada Pi. DS18B20 mempunyai tiga wayar. Kawat merah menyambung ke 3.3V. Kawat biru / hitam menyambung ke tanah. Kawat kuning menyambung ke perintang tarik / pin 4. Setelah ini disambungkan, hidupkan Pi anda.

Versi terbaru Raspbian (kernel 3.18) memerlukan penambahan pada fail /boot/config.txt anda agar Pi dapat berkomunikasi dengan DS18B20. Jalankan perkara berikut untuk mengedit fail ini:

$ sudo nano /boot/config.txt

Sekiranya baris berikut belum ada dalam fail ini (jika ada, kemungkinan di bahagian bawah fail), tambahkan dan simpan fail tersebut.

dtoverlay = w1-gpio, gpiopin = 4

Mulakan semula Pi anda agar perubahan berlaku.

but semula $ sudo

Untuk memulakan antara muka bacaan sensor suhu, kita perlu menjalankan dua perintah. Pergi ke command prompt pada Pi atau SSH anda ke dalam Pi anda. Taipkan arahan berikut:

$ sudo modprobe w1-gpio $ sudo modprobe w1-therm

Output sensor suhu anda sekarang ditulis ke fail pada Pi anda. Untuk mencari fail itu:

$ cd / sys / bus / w1 / peranti

Dalam direktori ini, akan ada sub-direktori yang dimulai dengan "28-". Yang muncul selepas "28-" adalah nombor siri sensor anda. cd ke dalam direktori itu. Di dalam direktori ini, file bernama w1_slave berisi output dari sensor anda. Gunakan nano untuk melihat kandungan fail. Sebaik sahaja anda memasukkan fail, ia akan kelihatan seperti ini:

a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YAa2 01 4b 46 7f ff 0e 10 d8 t = 26125

Nombor selepas “t =” adalah nombor yang kita mahukan. Ini adalah suhu dalam 1/1000 darjah Celsius (dalam contoh di atas, suhu 26.125 C). Kami hanya memerlukan program sederhana yang membaca fail ini dan menghuraikan nombor itu. Kami akan sampai ke sana hanya dalam beberapa saat.

Semuanya sudah siap untuk kami memulakan streaming data. Untuk membuka penyunting teks, ketik yang berikut di command prompt:

$ nano temperature.py

Salin dan tampal kod di bawah ke dalam penyunting teks.

import os

masa import glob import dari ISStreamer. Streamer import Streamerstreamer = Streamer (bucket_name = "Temperature Stream", bucket_key = "piot_temp_stream031815", access_key = "PUT_YOUR_ACCESS_KEY_HERE") os.system ('modprobe w1-gpio' mods '). -therm ') base_dir =' / sys / bus / w1 / devices / 'device_folder = glob.glob (base_dir + '28 *') [0] device_file = device_folder + '/ w1_slave' def read_temp_raw (): f = terbuka (device_file, 'r') lines = f.readlines () f.close () return lines def read_temp (): lines = read_temp_raw () manakala baris [0].strip () [- 3:]! = 'YA': time.sleep (0.2) lines = read_temp_raw () sama_pos = baris [1]. cari ('t =') jika sama dengan_pos! = -1: temp_string = garisan [1] [sama_pos + 2:] temp_c = terapung (temp_string) / 1000.0 kembali temp_c sementara True: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("temperature (C)", temp_c) streamer.log ("temperature (F)", temp_f) time.sleep (.5)

Anda perlu meletakkan kunci akses Keadaan Awal anda pada baris 6 sebagai ganti PUT_YOUR_ACCESS_KEY_HERE (salin kunci streaming ke papan keratan anda dari 'Akaun Saya' dan tampalkannya ke dalam kod di nano di terminal anda).

Baris 6 akan membuat baldi bernama "Temperature Stream" di akaun Negeri Permulaan anda (dengan andaian anda menentukan akses_key anda dengan betul pada baris yang sama). Garis 8 hingga 30 skrip ini hanya bersambung dengan sensor DS18B20 untuk membaca suhunya dari fail w1_slave yang telah kita bincangkan sebelumnya. Fungsi read_temp_raw () pada baris 15 membaca fail w1_slave mentah. Fungsi read_temp () pada baris 21 menguraikan suhu dari fail tersebut. Baris 34 memanggil fungsi-fungsi ini untuk mendapatkan suhu semasa. Garis 35 menukar suhu dari Celsius ke Fahrenheit. Garis 35 dan 36 mengalirkan suhu ke akaun Negeri Permulaan anda. Baris 37 menghentikan skrip selama 0,5 saat, menetapkan seberapa kerap sensor suhu akan dibaca dan dialirkan.

Kami bersedia untuk memulakan penstriman. Jalankan arahan berikut:

$ sudo python temperature.py

Kembali ke akaun Keadaan Awal anda di penyemak imbas web anda dan cari baldi data baru yang disebut Temperature Stream. Anda mesti melihat aliran data suhu secara langsung. Variasikan suhu sensor dengan memegangnya di tangan anda atau memasukkannya ke dalam segelas ais.

Sekarang anda akan menghantar data ke papan pemuka Status Permulaan. Pergi ke bahagian akhir artikel ini untuk mendapatkan maklumat mengenai cara menyesuaikan papan pemuka anda.

Langkah 7: Penyelesaian BME280

Anda memerlukan yang berikut untuk membina penyelesaian ini:

-BME280 Tekanan, Suhu, & Sensor Kelembapan

Sensor ini dilengkapi dengan pin yang anda perlukan untuk menyolder sensor. Saya mengesyorkan menggunakan papan roti dengan pin panjang ke bawah ke papan roti untuk memudahkan pematerian. Setelah menyelesaikannya, kami perlu memasukkan sensor ke Pi.

Sambungkan pin VIN pada sensor ke 3.3V pin 1 pada Pi. Sambungkan pin GND pada sensor pin ground 6 pada Pi. Sambungkan pin SCK pada sensor ke pin SCL 5 pada Pi. Sambungkan pin SDI pada sensor ke pin SDA 3 pada Pi. Anda mesti menggunakan Python 3 untuk penyelesaian ini dan memasang modul Initial State Streamer menggunakan kaedah pemasangan pip3.

Anda juga perlu memasang beberapa perpustakaan Adafruit Python.

pip3 pasang adafruit-blinkapip3 pasang pureio pip3 pasang spidev pip3 pasang adafruit-GPIO pip3 pasang adafruit-circuitpython-bme280

Untuk menggunakan sensor, kita perlu mengaktifkan I2C pada Pi.

sudo raspi-config

Ini akan membuka Alat Konfigurasi Perisian Raspberry Pi. Pergi ke Pilihan 5 Pilihan Antaramuka. Dari sini pergi ke I2C. Ia akan meminta anda bertanya adakah anda mahu mengaktifkan I2C, Pilih Ya dan Selesai. Sekarang anda telah membolehkan I2C berkomunikasi dengan sensor.

Kita boleh mengujinya dengan menjalankan perkara berikut:

sudo i2cdetect -y 1

Ini akan mengesahkan bahawa Pi anda melihat sensor. Dengan cara ia disambungkan, ia harus menunjukkan sensor di alamat 77. Jika anda tidak mengesan sensor, nyalakan semula Pi anda, aktifkan semula pilihan antara muka I2C pada Pi anda, dan cuba lagi. Setelah sensor anda dikesan, sudah waktunya untuk menjalankan kod utama kami yang akan menghantar data ke Negeri Permulaan. Membuat fail bernama bme280sensor.py dengan arahan nano. Salin dan tampal kod dari intinya ke penyunting teks. Anda perlu membuat perubahan pada baris 12–19.

masa import

import board import busio import adafruit_bme280 dari ISStreamer. Streamer import Streamer # Buat objek perpustakaan menggunakan Bus I2C porti2c = busio. I2C kami (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- - Tetapan Pengguna --------- SENSOR_LOCATION_NAME = "Office" BUCKET_NAME = ": partly_sunny: Temperature Room" BUCKET_KEY = "temp1" ACCESS_KEY = "ACCESS ANDA KEY SINI" # ubah ini agar sesuai dengan tekanan lokasi (hPa) di permukaan laut bme280.sea_level_pressure = 1013.25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = Palsu # --------------------------------- # ATAU buat objek perpustakaan menggunakan port SPI Bas kami #spi = busio. SPI (board. SCK, board. MOSI, board. MISO) #bme_cs = digitalio. DigitalInOut (board. D10) # bme280 = adafruit_bme280. Adafruit_BME280_SPI (spi, bme_cs) streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sementara True: kelembapan = format (bme280.humidity, ".1f") pressure = format (bme280.pressure, ".1f") temp_c = bme280.temperatu jika METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperature (C)", temp_c) else: temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Temperature (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Kelembapan (%)", kelembapan) streamer.log (SENSOR_LOCATION_NAME + "Tekanan (hPA)", tekanan) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_READS)

  • Baris 12- Nilai ini harus unik untuk setiap nod / sensor suhu. Ini mungkin nama bilik sensor anda, lokasi fizikal, pengecam unik, atau apa sahaja. Pastikan ia unik untuk setiap nod untuk memastikan bahawa data dari simpul ini masuk ke aliran datanya sendiri di papan pemuka anda.
  • Baris 13- Ini adalah nama baldi data. Ini boleh diubah pada bila-bila masa di UI Negeri Permulaan.
  • Baris 14- Ini adalah kunci baldi anda. Ia mesti menjadi kunci baldi yang sama untuk setiap nod yang anda mahu dipaparkan di papan pemuka yang sama.
  • Baris 15- Ini adalah kunci akses akaun Negeri Permulaan anda. Salin dan tampal kunci ini dari akaun Negeri Permulaan anda.
  • Baris 17- Ini adalah tekanan lokasi anda (hPa) di permukaan laut. Anda boleh mendapatkan maklumat ini di kebanyakan laman web cuaca.
  • Baris 18 - Ini adalah masa antara bacaan sensor. Tukar dengan sewajarnya. Garis 19- Di sini anda dapat menentukan unit metrik atau imperial.

Setelah anda menetapkan baris 12–19 dalam skrip Python pada Pi Zero WH anda, simpan dan keluar dari editor teks. Jalankan skrip dengan arahan berikut:

$ python3 bme280sensor.py

Sekarang anda akan menghantar data ke papan pemuka Status Permulaan. Pergi ke bahagian akhir artikel ini untuk mendapatkan maklumat mengenai cara menyesuaikan papan pemuka anda.

Langkah 8: Rasa HAT

Rasa HAT
Rasa HAT
Rasa HAT
Rasa HAT

Langkah pertama dalam menggunakan Sense HAT adalah memasangnya secara fizikal ke dalam Pi anda. Dengan Pi dimatikan, pasangkan HAT seperti yang ditunjukkan dalam gambar.

Sekiranya anda memutuskan untuk menggunakan penyelesaian seperti yang ditunjukkan di atas, anda mungkin menyedari bahawa bacaan suhu Sense HAT anda akan sedikit tinggi - itu kerana ia betul. Pelakunya adalah haba yang dihasilkan dari CPU Pi yang memanaskan udara di sekitar Sense HAT ketika duduk di atas Pi. Untuk menjadikan sensor suhu berguna, kita perlu menjauhkan HAT dari Pi atau cuba menentukur bacaan sensor suhu. Penyelesaian yang baik untuk menjauhkan sensor dari Pi adalah kabel yang membiarkan Sense HAT menjauh dari Pi. Kabel kabel sambungan 6-inci, IDE lelaki hingga wanita akan berjaya.

Sebaik sahaja anda memutuskan dua pilihan, gunakan Pi anda. Kita perlu memasang pustaka Python untuk memudahkan membaca nilai sensor dari Sense HAT. Pertama, anda perlu memastikan bahawa segala-galanya terkini mengenai versi Raspbian anda:

$ sudo apt-get kemas kini

Seterusnya, pasang perpustakaan Sense HAT Python:

$ sudo apt-get install sense-hat

Reboot Pi anda. Kami bersedia untuk menguji Sense HAT dengan membaca data sensor darinya dan menghantar data tersebut ke Status Permulaan.

Buat fail yang disebut sensehat dan buka di editor teks dengan memasukkan pengikut dalam command prompt:

$ nano sensehat.py

Salin dan tampal kod di bawah dalam penyunting teks.

dari sense_hat import SenseHat

masa import sys import dari ISStreamer. Streamer import Streamer # --------- Tetapan Pengguna --------- BUCKET_NAME = "Cuaca Pejabat" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Pejabat "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () while True: # Baca sensor temp_c = sense.get_temperature () kelembapan = sense.get_humidity () pressure_mb = sense.get_pressure () # Format data temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". Format (temp_f)) kelembapan = float ("{0:.2f}". Format (kelembapan)) pressure_in = 0.03937008 * (pressure_mb) pressure_in = float ("{ 0:.2f} ". Format (pressure_in)) # Cetak dan cetak cetak SENSOR_LOCATION_NAME +" Suhu (F): "+ str (temp_f) cetak SENSOR_LOCATION_NAME +" Kelembapan (%): "+ str (kelembapan) cetak SENSOR_LOCATION_NAME +" Tekanan (IN): "+ str (pressure_in) streamer.log (": cerah: "+ SEN SOR_LOCATION_NAME + "Temperature (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Humidity (%)", kelembapan) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Tekanan (IN)", pressure_in) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_SENSEHAT_READS)

Perhatikan pada baris pertama bahawa kita mengimport perpustakaan SenseHat ke dalam skrip. Sebelum anda menjalankan skrip ini, kami perlu menetapkan parameter pengguna kami.

# --------- Tetapan Pengguna ---------

BUCKET_NAME = "Cuaca Pejabat" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = "Pejabat" MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # ------------------------- --------

Secara khusus, anda perlu menetapkan ACCESS_KEY ke kunci akses akaun Negeri Permulaan anda. Anda boleh menukar BUCKET_NAME dan SENSOR_LOCATION_NAME ke lokasi sensor sebenar. Simpan dan keluar dari penyunting teks.

Pada prompt arahan pada Pi anda, jalankan skrip:

$ sudo python sensehat.py

Sekarang anda akan menghantar data ke papan pemuka Status Permulaan. Pergi ke bahagian akhir artikel ini untuk mendapatkan maklumat mengenai cara menyesuaikan papan pemuka anda.

Langkah 9: Sesuaikan Papan Pemuka Keadaan Awal Anda

Sesuaikan Papan Pemuka Keadaan Awal Anda
Sesuaikan Papan Pemuka Keadaan Awal Anda

Pergi ke akaun Negeri Permulaan anda dan lihat data anda. Anda boleh klik kanan pada Tile untuk menukar jenis carta dan klik Edit Tiles untuk mengubah ukuran dan memindahkan Tiles anda. Saya mengesyorkan menggunakan termostat tolok untuk suhu dan tahap cecair tolok untuk kelembapan. Anda boleh membuat grafik garis untuk suhu dan kelembapan untuk melihat perubahan dari masa ke masa. Anda juga boleh menambahkan gambar latar ke papan pemuka anda.

Anda boleh menetapkan amaran pemicu sehingga anda boleh mendapatkan SMS atau e-mel jika suhu turun di bawah atau melebihi ambang tertentu. Pergi ke baldi data anda dan klik pada tetapan. Dari sana pergi ke tab Pencetus. Masukkan kekunci aliran yang ingin anda pantau, pengendali yang ingin anda gunakan, dan nilai ambang. Klik tanda tambah untuk menambahkan Pencetus. Kemudian anda akan memasukkan e-mel atau nombor telefon anda untuk menerima amaran di dan klik tanda tambah. Setelah anda menetapkan semua Pencetus anda klik butang Selesai di bahagian bawah.

Setelah anda membuat monitor suhu menggunakan sensor suhu dan Raspberry Pi, anda boleh mula memikirkan data persekitaran lain yang boleh anda pantau seterusnya.

Disyorkan: