Chapter 6: Raspberry Pi temperature monitoring in LCD | পর্ব ৬: এলসিডিতে রাসবেরি পাইয়ের টেম্পারেচার মনিটরিং।
রাসবেরি পাইয়ের সিপিইউ এর তাপমাত্রা মনিটর করা জরুরী। রাসবেরি পাইয়ের ম্যাক্সিমাম অপারেটিং টেম্পারেচার হল ৮৫ ডিগ্রী সেলসিয়াস। রাসবেরি পাই সিপিইউ এর টেম্পারেচার এর চেয়ে বেশি হলে সিপিও ঠান্ডা হবার জন্য তার ক্লক স্পিড নিজে থেকেই কমিয়ে দেবে। আর এর প্রভাব পড়বে পাইয়ের সামগ্রিক পারফর্মেন্সের উপর। রাসবেরি পাইয়ের টেম্পারেচার মনিটরিং সিস্টেম থাকলে আমরা সারাক্ষনই সিপিইউ এর তাপমাত্রা দেখতে পারবো এবং সেই অনুযায়ী হিট সিংক ব্যবহার করে বা কুলিং ফ্যান চালিয়ে সিপিইউ ঠান্ডা করার ব্যবস্থা করতে পারব। এই এক্সপেরিমেন্টে আমরা একটি এলসিডিতে রাসবেরি পাইয়ের সিপিইউ টেম্পারেচার সারাক্ষন দেখতে থাকব। এই এক্সপেরিমেন্ট থেকে দুটি বিষয় শেখা যাবে।
এক)রাসবেরি পাইয়ের সিপিইউ টেম্পারেচার দেখা।
দুই)রাসবেরি পাইয়ের সাথে এলসিডি ব্যবহার করা।
প্রয়োজনীয় যন্ত্রপাতি | পরিমাণ | প্রডাক্ট লিংক |
Raspberry Pi 4 Model B 4GB Complete Set | 1 | এখানে ক্লিক করুন |
LCD module advanced | 1 | এখানে ক্লিক করুন |
Female to female jumpers | 8 | এখানে ক্লিক করুন |
সার্কিট কানেকশনঃ
এলসিডি ও রাসবেরি পাইয়ের মধ্যে নিচের কানেকশনটি সম্পন্ন করি।
Raspberry Pi 4 Model B 4GB Complete Set | LCD module advanced |
VCC | VCC |
GND | GND |
37 | RS |
35 | E |
33 | D4 |
31 | D5 |
29 | D6 |
23 | D7 |
প্রোগ্রামিংঃ
এলসিডির পাইথন লাইব্রেরি ইন্সটল করাঃ
RPLCD.py লাইবেরির মাধ্যমে রাসবেরি পাইয়ের সাথে এলসিডিকে কাজ করানো যাবে।
রাসবেরি পাইতে যদি পাইথন প্যাকেজ ইনডেক্স বাব পিআইপি ইন্সটল করা না থাকে তাহলে পিআইপি ইন্সটল করতে রাসবেরি পাইয়ের কমান্ড প্রম্পটে নিচের কমান্ডটি লিখি।
sudo apt-get install python-pip
এবার RPLCD ইন্সটল করতে নিচের কমান্ডটি লিখি।
sudo pip3 install RPLCD
রাসবেরি পাইতে পাইথন ২ ইনস্টল করা থাকলে
sudo pip install RPLCD লিখতে হবে।
সিপিইউ টেম্পারেচার দেখার কমান্ডঃ
রাসবেরি পাইয়ের কমান্ড প্রম্পটে নিচের কমান্ডটি লিখলে সিপিইউ এর টেম্পারেচার দেখায়।
/opt/vc/bin/vcgencmd measure_temp
এই কমান্ডটিই আমরা একটি পাইথন প্রোগ্রামে মাধ্যমে এক সেকেন্ড পরপর লিখে সিপিইউ এর টেম্পারেচার এলসিডিতে দেখব।
কোডঃ
নিচের কোডটি রাসবেরি পাইতে রান করালে এলসিডিতে সিপিইউ টেম্পারেচার দেখা যাবে।
import os
import time
from RPLCD import CharLCD
from RPi import GPIO
lcd = CharLCD(numbering_mode=GPIO.BOARD, cols=16, rows=2, pin_rs=37, pin_e=35, pins_data=[33,31,29,23])
def measure_temp():
temp = os.popen("vcgencmd measure_temp").readline()
print (temp)
temp=temp.replace("'C","")
#return (temp.replace("temp","Temp"))
return(temp)
while True:
lcd.clear()
lcd.write_string("CPU ")
lcd.write_string(measure_temp())
lcd.cursor_pos = (0,13)
lcd.write_string(chr(223)+"C")
time.sleep(1)