Isi kandungan:
- Bekalan
- Langkah 1: Membina Litar
- Langkah 2: Log Suhu CPU Dengan ThingSpeak
- Langkah 3: Mendapatkan Suhu CPU Dari Raspberry Pi Menggunakan Python
- Langkah 4: Mengawal Kipas Berdasarkan Suhu
- Langkah 5: Kod Python Akhir
- Langkah 6: Memantau Data Melalui Thingspeak Cloud
- Langkah 7: Jalankan Skrip Python pada Permulaan
Video: Kawalan Pintar Raspberry Pi Fan Menggunakan Python & Thingspeak: 7 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Gambaran ringkas
Secara lalai, kipas disambungkan terus ke GPIO - ini menunjukkan pengoperasiannya yang berterusan. Walaupun terdapat kipas yang relatif tenang, operasi berterusannya bukanlah penggunaan sistem penyejukan aktif yang berkesan. Pada masa yang sama, operasi berterusan kipas boleh mengganggu. Juga, jika Raspberry Pi dimatikan, kipas akan tetap berfungsi jika kuasa disambungkan.
Artikel ini akan menunjukkan bagaimana, dengan menggunakan manipulasi yang sederhana dan tidak rumit, mengubah sistem penyejukan yang ada menjadi yang pintar, yang hanya akan dihidupkan apabila pemproses benar-benar memerlukannya. Kipas akan dihidupkan hanya apabila terdapat penggunaan yang berat, sehingga dapat mengurangkan penggunaan dan kebisingan daya kipas. Juga memanjangkan hayat peminat dengan menjauhkannya apabila tidak diperlukan.
Apa yang Anda Akan Pelajari
Cara melaksanakan skrip Python untuk mengawal kipas berdasarkan suhu semasa CPU Raspberry menggunakan kawalan On-Off dengan histeresis suhu. Bagaimana cara mengangkut data dari RaspberryPi anda ke Things Speak Cloud.
Bekalan
Komponen yang anda perlukan untuk projek ini adalah seperti berikut
- Model Komputer Raspberry Pi 4 B 4GB
- Perintang transistor NPN S8050330ohms
- Sarung Logam Aluminium Armor dengan Kipas Ganda untuk Raspberry Pi
- Kabel pelompat
- Papan roti
Langkah 1: Membina Litar
Litarnya cukup sederhana. Daya ke kipas terputus menggunakan transistor NPN. Dalam konfigurasi ini, transistor bertindak sebagai suis sisi rendah. Resistor hanya diperlukan untuk menghadkan arus melalui GPIO. GPIO Raspberry Pi mempunyai output arus maksimum 16mA. Saya menggunakan 330 ohm yang memberi kita arus asas sekitar (5-0.7) / 330 = 13mA. Saya memilih transistor NPN S8050, jadi menukar beban 400mA dari kedua kipas tidak ada masalah.
Langkah 2: Log Suhu CPU Dengan ThingSpeak
ThingSpeak adalah platform untuk projek berdasarkan konsep Internet of Things. Platform ini membolehkan anda membina aplikasi berdasarkan data yang dikumpulkan dari sensor. Ciri utama ThingSpeak termasuk: pengumpulan data masa nyata, pemprosesan data dan visualisasi. ThingSpeak API bukan sahaja membolehkan anda mengirim, menyimpan dan mengakses data, tetapi juga menyediakan pelbagai kaedah statistik untuk memprosesnya.
ThingSpeak dapat mengintegrasikan peranti dan perkhidmatan popular seperti:
- Arduino
- Raspberry pii
- oBridge / RealTime.io
- Imp elektrik
- Aplikasi mudah alih dan Web
- Rangkaian sosial
- Analisis Data dalam MATLAB
Sebelum kita memulakan, anda memerlukan akaun di ThingSpeak.
- Pergi ke pautan berikut dan daftar ke ThingSpeak.
- Selepas pengaktifan akaun anda, log masuk.
- Pergi ke Saluran -> Saluran Saya
- Klik pada butang Saluran Baru.
- Masukkan nama, keterangan dan bidang data yang ingin anda muat naik
- Klik pada butang Simpan Saluran untuk menyimpan semua tetapan anda.
Kami memerlukan kunci API, yang kemudian kami tambahkan ke python code untuk memuat naik suhu CPU kami ke Thingspeak cloud.
Klik pada tab Kunci API untuk mendapatkan Kunci API Tulis
Setelah anda mempunyai Kunci API Tulis, kami hampir bersedia untuk memuat naik data kami.
Langkah 3: Mendapatkan Suhu CPU Dari Raspberry Pi Menggunakan Python
Skrip berdasarkan pengambilan suhu pemproses, yang berlaku setiap saat. Ia dapat diperoleh dari terminal dengan menjalankan perintah vcgencmd dengan parameter mengukur_temp.
vcgencmd mengukur_temp
Perpustakaan subprocess.check_output () digunakan untuk melaksanakan perintah dan kemudian menggunakan ekspresi biasa untuk mengekstrak nilai sebenarnya dari rentetan yang dikembalikan.
dari check_output import subproses
dari re import findalldef get_temp (): temp = check_output (["vcgencmd", "Meas_temp"]). decode () temp = float (findall ('\ d + \. / d +', temp) [0]) kembali (temp) cetak (get_temp ())
Setelah nilai suhu diambil, data perlu dikirim ke ThingSpeak cloud. Gunakan Kunci API Tulis anda untuk mengubah pemboleh ubah myApi dalam kod Python di bawah.
dari permintaan import urllib
dari re import import all dari time import sleep dari subproses import check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s '% myAPIdef get_temp (): temp = check_output (["vcgencmd", "mengukur_temp"]). decode () temp = float (findall (' / d + \. / d + ', temp) [0]) kembali (temp) cuba: sementara Benar: temp = get_temp () conn = request.urlopen (baseURL + '& field1 =% s'% (temp)) print (str (temp)) conn.close () sleep (1) kecuali Keyboard Interrupt: print ("Keluar ditekan Ctrl + C")
Langkah 4: Mengawal Kipas Berdasarkan Suhu
Skrip Python yang ditunjukkan di bawah menerapkan logik yang menghidupkan kipas ketika suhu meningkat di atas tempOn dan mati hanya apabila suhu turun di bawah ambang. Dengan cara ini, kipas tidak akan menyala dan mati dengan pantas.
import RPi. GPIO sebagai GPIO
import sys dari re import findall dari time import sleep dari subproses import check_output def get_temp (): temp = check_output (["vcgencmd", "Meas_temp"]). decode () temp = float (findall ('\ d + \. / d + ', temp) [0]) return (temp) try: GPIO.setwarnings (False) tempOn = 50 ambang = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, awal = 0) sementara True: temp = get_temp () if temp> tempOn and not pinState atau temp <tempOn - ambang dan pinState: pinState = not pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) sleep (1) kecuali KeyboardInterrupt: print ("Exit ditekan Ctrl + C") kecuali: print ("Other Exception") print ("--- Start Exception Data:") traceback.print_exc (had = 2, file = sys.stdout) cetak ("--- Akhir Data Pengecualian:") akhirnya: cetak ("CleanUp") GPIO.cleanup () cetak ("Tamat program")
Langkah 5: Kod Python Akhir
Kod python utama boleh didapati di akaun GitHub saya di pautan berikut. Ingatlah untuk meletakkan Kunci API Tulis anda sendiri.
- Log masuk ke papan Raspberry PI anda
- Jalankan arahan berikut di terminal
python3 cpu.py
Langkah 6: Memantau Data Melalui Thingspeak Cloud
Selepas beberapa ketika, buka saluran anda di ThingSpeak dan anda akan melihat suhu memuat naik ke awan Thingspeak dalam masa nyata.
Langkah 7: Jalankan Skrip Python pada Permulaan
Untuk melakukan ini, pada akhir fail /etc/rc.local:
sudo nano /etc/rc.local
Anda perlu meletakkan perintah permulaan skrip di depan jalan keluar 0:
sudo python /home/pi/cpu.py &
Kehadiran & simbol di akhir arahan adalah wajib, kerana ia adalah bendera untuk memulakan proses di latar belakang. Selepas reboot, skrip akan berjalan secara automatik dan kipas akan menyala apabila syarat yang ditentukan dipenuhi.
Disyorkan:
Jam Penggera Pintar: Jam Penggera Pintar Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Penggera Pintar: Jam Penggera Pintar Dibuat Dengan Raspberry Pi: Adakah anda pernah mahukan jam pintar? Jika ya, ini adalah penyelesaian untuk anda! Saya membuat Jam Penggera Pintar, ini adalah jam yang boleh anda ubah waktu penggera mengikut laman web. Apabila penggera berbunyi, akan ada bunyi (bel) dan 2 lampu akan
Kawalan Gerakan Dengan Raspberry Pi dan LIS3DHTR, Accelerometer 3-Axis, Menggunakan Python: 6 Langkah
Kawalan Gerak Dengan Raspberry Pi dan LIS3DHTR, Accelerometer 3-Axis, Menggunakan Python: Kecantikan mengelilingi kita, tetapi biasanya, kita perlu berjalan di taman untuk mengetahuinya. - RumiSebagai kumpulan terdidik sepertinya, kami melaburkan sebahagian besar tenaga kami bekerja sebelum komputer dan telefon bimbit kami. Oleh itu, kita sering membiarkan kesejahteraan kita
Kawalan Dipimpin ke Seluruh Dunia Menggunakan Internet Menggunakan Arduino: 4 Langkah
Kawalan Dipimpin ke Seluruh Dunia Menggunakan Internet Menggunakan Arduino: Hai, saya Rithik. Kami akan membuat internet dikendalikan menggunakan telefon anda. Kami akan menggunakan perisian seperti Arduino IDE dan Blynk. Ia mudah dan jika anda berjaya, anda dapat mengawal seberapa banyak komponen elektronik yang anda mahukan Perkara yang Kami Perlu: Perkakasan:
Berkebun Pintar dan Pertanian Pintar Berasaskan IoT Menggunakan Langkah ESP32: 7
Berkebun Pintar dan Pertanian Pintar Berasaskan IoT Menggunakan ESP32: Dunia berubah seiring dengan masa dan pertanian. Pada masa ini, Orang ramai mengintegrasikan elektronik dalam setiap bidang dan pertanian tidak terkecuali untuk ini. Penggabungan elektronik dalam pertanian ini membantu petani dan orang yang menguruskan kebun.Dalam hal ini
RF 433MHZ Radio Control Menggunakan HT12D HT12E - Membuat Kawalan Jauh Rf Menggunakan HT12E & HT12D Dengan 433mhz: 5 Langkah
RF 433MHZ Radio Control Menggunakan HT12D HT12E | Membuat Kawalan Jauh Rf Menggunakan HT12E & HT12D Dengan 433mhz: Dalam arahan ini saya akan menunjukkan kepada anda cara membuat alat kawalan jauh RADIO menggunakan modul penerima pemancar 433mhz dengan pengekodan HT12E & IC penyahkod HT12D.Dalam arahan ini, anda boleh menghantar dan menerima data menggunakan KOMPONEN sangat murah SEPERTI: HT