Daftar Isi:

Kontrol Cerdas Kipas Raspberry Pi Menggunakan Python & Thingspeak: 7 Langkah
Kontrol Cerdas Kipas Raspberry Pi Menggunakan Python & Thingspeak: 7 Langkah

Video: Kontrol Cerdas Kipas Raspberry Pi Menggunakan Python & Thingspeak: 7 Langkah

Video: Kontrol Cerdas Kipas Raspberry Pi Menggunakan Python & Thingspeak: 7 Langkah
Video: Скорость вращения вентилятора Raspberry Pi Pico с контролем температуры | ШИМ 2024, Juli
Anonim
Kontrol Cerdas Kipas Raspberry Pi Menggunakan Python & Thingspeak
Kontrol Cerdas Kipas Raspberry Pi Menggunakan Python & Thingspeak

Gambaran singkat

Secara default, kipas terhubung langsung ke GPIO - ini menyiratkan operasinya yang konstan. Terlepas dari pengoperasian kipas yang relatif tenang, pengoperasiannya yang terus-menerus bukanlah penggunaan yang efektif dari sistem pendingin aktif. Pada saat yang sama, pengoperasian kipas yang terus-menerus dapat mengganggu. Juga, jika Raspberry Pi dimatikan, kipas akan tetap bekerja jika daya terhubung.

Artikel ini akan menunjukkan bagaimana, dengan manipulasi sederhana dan tidak rumit, mengubah sistem pendingin yang ada menjadi sistem yang cerdas, yang hanya akan dihidupkan ketika prosesor benar-benar membutuhkannya. Kipas akan dihidupkan hanya bila ada penggunaan yang berat, sehingga mengurangi konsumsi daya dan kebisingan kipas. Juga memperpanjang umur kipas dengan mematikannya saat tidak diperlukan.

Apa yang Akan Anda Pelajari

Cara mengimplementasikan skrip Python untuk mengontrol kipas berdasarkan suhu CPU Raspberry saat ini menggunakan kontrol On-Off dengan histeresis suhu. Cara mengangkut data dari RaspberryPi Anda ke Things Speak Cloud.

Perlengkapan

Komponen yang Anda perlukan untuk proyek ini adalah sebagai berikut:

  • Komputer Raspberry Pi 4 Model B 4GB
  • transistor NPN resistor S8050330ohm
  • Armor Aluminium Metal Case dengan Dual Fans untuk Raspberry Pi
  • Kabel jumper
  • Papan tempat memotong roti

Langkah 1: Membangun Sirkuit

Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit

Sirkuitnya cukup sederhana. Aliran listrik ke kipas diputus menggunakan transistor NPN. Dalam konfigurasi ini, transistor bertindak sebagai sakelar sisi rendah. Resistor hanya diperlukan untuk membatasi arus yang melalui GPIO. GPIO Raspberry Pi memiliki output arus maksimum 16mA. Saya menggunakan 330 ohm yang memberi kita arus basis sekitar (5-0,7)/330 = 13mA. Saya memilih transistor NPN S8050, jadi mengganti beban 400mA dari kedua kipas tidak masalah.

Langkah 2: Catat Suhu CPU Dengan ThingSpeak

Catat Suhu CPU Dengan ThingSpeak
Catat Suhu CPU Dengan ThingSpeak

ThingSpeak adalah platform untuk proyek berdasarkan konsep Internet of Things. Platform ini memungkinkan Anda membangun aplikasi berdasarkan data yang dikumpulkan dari sensor. Fitur utama ThingSpeak meliputi: pengumpulan data waktu nyata, pemrosesan data, dan visualisasi. ThingSpeak API tidak hanya memungkinkan Anda mengirim, menyimpan, dan mengakses data, tetapi juga menyediakan berbagai metode statistik untuk memprosesnya.

ThingSpeak dapat mengintegrasikan perangkat dan layanan populer seperti:

  • Arduino
  • Pii raspberry
  • oBridge / RealTime.io
  • listrik imp
  • Aplikasi seluler dan Web
  • Jaringan sosial
  • Analisis Data di MATLAB

Sebelum kita mulai, Anda memerlukan akun di ThingSpeak.

  1. Buka tautan berikut dan daftar ke ThingSpeak.
  2. Setelah aktivasi akun Anda, masuk.
  3. Buka Saluran -> Saluran Saya
  4. Klik tombol Saluran Baru.
  5. Masukkan nama, deskripsi, dan bidang data yang ingin Anda unggah
  6. Klik tombol Simpan Saluran untuk menyimpan semua pengaturan Anda.

Kami membutuhkan kunci API, yang nantinya akan kami tambahkan ke kode python untuk mengunggah suhu CPU kami ke cloud Thingspeak.

Klik pada tab API Keys untuk mendapatkan Write API Key

Setelah Anda memiliki Write API Key, kami hampir siap untuk mengunggah data kami.

Langkah 3: Mendapatkan Suhu CPU Dari Raspberry Pi Menggunakan Python

Script didasarkan pada pengambilan suhu prosesor, yang terjadi setiap detik. Itu dapat diperoleh dari terminal dengan menjalankan perintah vcgencmd dengan parameter measure_temp.

vcgencmd measure_temp

Pustaka Subprocess.check_output() digunakan untuk menjalankan perintah dan kemudian menggunakan ekspresi reguler untuk mengekstrak nilai aktual dari string yang dikembalikan.

dari subproses impor check_output

dari impor ulang findalldef get_temp(): temp = check_output(["vcgencmd", "measure_temp"]).decode() temp = float(findall('\d+\.\d+', temp)[0]) return(temp) cetak(get_temp())

Setelah nilai suhu diambil, data perlu dikirim ke cloud ThingSpeak. Gunakan Write API Key Anda untuk mengubah variabel myApi pada kode Python di bawah ini.

dari permintaan impor urllib

from re import findall from time import sleep from subprocess import check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s' % myAPIdef get_temp(): temp = check_output(["vcgencmd", "measure_temp"]).decode() temp = float(findall('\d+\.\d+', temp)[0]) return(temp) try: while True: temp = get_temp() conn = request.urlopen(baseURL + '&field1=%s' % (temp)) print(str(temp)) conn.close() sleep(1) kecuali KeyboardInterrupt: print ("Keluar ditekan Ctrl+C")

Langkah 4: Mengontrol Kipas Berdasarkan Suhu

Skrip python yang ditunjukkan di bawah ini mengimplementasikan logika yang menyalakan kipas ketika suhu naik di atas tempOn dan mati hanya ketika suhu turun di bawah ambang batas. Dengan cara ini, kipas tidak akan hidup dan mati dengan cepat.

impor RPi. GPIO sebagai GPIO

import sys from re import findall from time import sleep from subprocess import check_output def get_temp(): temp = check_output(["vcgencmd", "measure_temp"]).decode() temp = float(findall('\d+\.\d+ ', temp)[0]) return(temp) try: GPIO.setwarnings(False) tempOn = 50 threshold = 10 controlPin = 14 pinState = False GPIO.setmode(GPIO. BCM) GPIO.setup(controlPin, GPIO. OUT, initial=0) while True: temp = get_temp() if temp > tempOn dan not pinState atau temp < tempOn - threshold dan pinState: pinState = not pinState GPIO.output(controlPin, pinState) print(str(temp) + " " + str(pinState)) sleep(1) kecuali KeyboardInterrupt: print("Keluar ditekan Ctrl+C") kecuali: print("Other Exception") print("--- Start Exception Data:") traceback.print_exc(limit=2, file=sys.stdout) print("--- End Exception Data:") akhirnya: print("CleanUp") GPIO.cleanup() print("End of program")

Langkah 5: Kode Python Terakhir

Kode python utama dapat ditemukan di akun GitHub saya di tautan berikut. Ingatlah untuk meletakkan Kunci API Tulis Anda sendiri.

  1. Masuk ke papan Raspberry PI Anda
  2. Jalankan perintah berikut di terminal

python3 cpu.py

Langkah 6: Memantau Data Melalui Thingspeak Cloud

Memantau Data Melalui Thingspeak Cloud
Memantau Data Melalui Thingspeak Cloud

Setelah beberapa saat, buka saluran Anda di ThingSpeak dan Anda akan melihat suhu yang diunggah ke cloud Thingspeak secara real-time.

Langkah 7: Jalankan Script Python di Startup

Untuk melakukannya, di akhir file /etc/rc.local:

sudo nano /etc/rc.local

Anda perlu menempatkan perintah mulai skrip di depan baris exit 0:

sudo python /home/pi/cpu.py &

Kehadiran simbol & di akhir perintah adalah wajib, karena itu adalah tanda untuk memulai proses di latar belakang. Setelah reboot, skrip akan berjalan secara otomatis dan kipas akan menyala ketika kondisi yang ditentukan terpenuhi.

Direkomendasikan: