Màn hình nhiệt độ Raspberry Pi

Raspberry Pi Temperature Monitor



Raspberry Pi là một Máy tính Bảng đơn (SBC) mạnh mẽ. Nó có thể được sử dụng để làm nhiều nhiệm vụ phức tạp. Nhưng làm như vậy sẽ làm tăng nhiệt độ của bộ xử lý của các thiết bị Raspberry Pi. Cái nào không tốt. Hiệu suất của Raspberry Pi SBC sẽ bị ảnh hưởng do nhiệt độ. Điều này còn được gọi là điều chỉnh nhiệt.

Nếu nhiệt độ của bộ xử lý Raspberry Pi của bạn trên 80 độ C, bạn sẽ thấy biểu tượng nhiệt kế ở góc trên cùng bên phải của màn hình. Chính thức, Raspberry Pi Foundation khuyến nghị rằng nhiệt độ của thiết bị Raspberry Pi của bạn nên dưới 85 độ C để thiết bị hoạt động bình thường. Đó là giới hạn tối đa. Nhưng nó sẽ bắt đầu điều chỉnh ở 82 độ C.







Trong bài viết này, tôi sẽ hướng dẫn bạn cách theo dõi nhiệt độ của Raspberry Pi. Tôi sẽ sử dụng hệ điều hành Raspbian trên thiết bị Raspberry Pi 3 Model B của mình. Nhưng nó sẽ hoạt động trên bất kỳ Raspberry Pi SBC nào có cài đặt hệ điều hành Raspbian.



Bạn có thể đo nhiệt độ lõi của thiết bị Raspberry Pi bằng lệnh sau:



$vcgencmd Measure_temp

Nhiệt độ lõi hiện tại là 48,3 độ C như bạn có thể thấy trong phần được đánh dấu của ảnh chụp màn hình bên dưới.





Như bạn thấy, mỗi lần tôi chạy lệnh sẽ hiển thị giá trị nhiệt độ khác nhau.



Phân tích dữ liệu nhiệt độ:

Dữ liệu nhiệt độ mà chúng tôi nhận được từ vcgencmd lệnh là một chuỗi. Bạn không thể thực hiện bất kỳ phép tính nào trên nó. Chúng ta có thể dễ dàng sử dụng Biểu thức chính quy để chỉ trích xuất dữ liệu nhiệt độ và thực hiện bất kỳ loại tính toán nào trên đó.

Nếu bạn muốn sử dụng dữ liệu nhiệt độ trong tập lệnh Bash shell, thì bạn có thể trích xuất dữ liệu nhiệt độ bằng egrep lệnh như sau:

$vcgencmd Measure_temp| egrep -hoặc '[0-9] * . [0-9] *'

Như bạn có thể thấy, chỉ có dữ liệu nhiệt độ được in. Không có gì trước hoặc sau nó.

Bạn có thể sử dụng nó trên tập lệnh shell của mình (giả sử print_temp.sh ) như sau:

$nanoprint_temp.sh

Ở đây, trên dòng 3, tôi đặt nhân viên bán thời gian biến thành dữ liệu nhiệt độ được phân tích cú pháp mà tôi nhận được từ vcgencmdnắm chặt chỉ huy.

Trên dòng 5, tôi đã sử dụng quăng đi để in nội dung của nhân viên bán thời gian trên màn hình.

Dòng 1 được sử dụng để cho Linux biết rằng tập lệnh nên được thực thi với / bin / bash theo mặc định.

Bây giờ, hãy thực thi tập lệnh bằng lệnh sau:

$chmod+ x print_temp.sh

Bây giờ, hãy chạy tập lệnh như sau:

$./print_temp.sh

Như bạn có thể thấy, kết quả đầu ra mong muốn được in trên màn hình.

Viết kịch bản theo dõi nhiệt độ Raspberry Pi:

Bây giờ chúng ta có thể phân tích cú pháp dữ liệu nhiệt độ mà chúng ta nhận được từ vcgencmd , chúng ta có thể dễ dàng viết tập lệnh giám sát nhiệt độ cho Raspberry Pi. Tập lệnh giám sát nhiệt độ sẽ in dấu thời gian hiện tại và nhiệt độ lõi mỗi giây trên màn hình theo cách được định dạng độc đáo.

Đầu tiên, hãy tạo một tập lệnh mới tempmon.sh với lệnh sau:

$chạm vàotempmon.sh

Bây giờ, hãy chỉnh sửa tempmon.sh script bằng lệnh sau:

$nanotempmon.sh

Bây giờ, hãy nhập các dòng mã sau và lưu tệp với + NS và sau đó nhấn theo dõi bởi .

Đây, trên dòng 4, printf được sử dụng để in các chuỗi TIMESTAMP và TEMP (degC) dưới dạng cột có chiều rộng cố định.

Trên dòng 5, tôi đã sử dụng printf một lần nữa để in một đường đứt nét chỉ để làm cho đầu ra dễ đọc và hấp dẫn hơn.

Trên dòng 7-13, tôi chạy một vòng lặp vô hạn để in dữ liệu nhiệt độ mỗi giây.

Trên dòng 9, tôi đã lưu trữ dữ liệu nhiệt độ đã phân tích cú pháp trên nhân viên bán thời gian Biến đổi.

Trên dòng 10, tôi đã lưu trữ dữ liệu dấu thời gian mà tôi nhận được từ ngày lệnh trên dấu thời gian Biến đổi.

Trên dòng 11, tôi in ngày và giờ ở định dạng dấu thời gian và dữ liệu nhiệt độ ở định dạng cột có chiều rộng cố định.

Trên dòng 12, tôi đã sử dụng lệnh sleep 1 để giữ việc thực thi tập lệnh trong một giây. Sau đó, vòng lặp sẽ tiếp tục.

Bây giờ, hãy tạo kịch bản tempmon.sh có thể thực thi với lệnh sau:

$chmod+ x tempmon.sh

Cuối cùng, chạy tập lệnh tempmon.sh với lệnh sau:

$./tempmon.sh

Như bạn có thể thấy, tập lệnh theo dõi nhiệt độ đang hoạt động hoàn hảo. Nó đang in dữ liệu nhiệt độ mỗi giây.

Như bạn có thể thấy, khi tôi tăng tải hệ thống, nhiệt độ tăng lên một chút.

Nếu bạn muốn dừng tập lệnh giám sát nhiệt độ, hãy nhấn + NS . Theo dõi nhiệt độ không chạy nữa như bạn có thể thấy trong ảnh chụp màn hình bên dưới.

Bây giờ tập lệnh theo dõi nhiệt độ đang hoạt động, hãy sao chép nó vào / usr / bin danh mục. Bằng cách đó, bạn có thể chạy nó giống như bất kỳ lệnh Linux nào khác.

Để sao chép tập lệnh tempmon.sh đến / usr / bin thư mục, chạy lệnh sau:

$sudo cptempmon.sh/usr//tempmon

Như bạn có thể thấy, tôi có thể chạy tập lệnh giám sát nhiệt độ giống như tôi chạy các lệnh Linux tiêu chuẩn.

Sửa đổi tempmon để In dữ liệu nhiệt độ bằng Fahrenheit:

Bạn có thể dễ dàng chuyển đổi dữ liệu nhiệt độ từ độ C sang độ F.

Công thức được biết đến rộng rãi để tính nhiệt độ theo độ F từ độ C là,

F =(9/5)*C +32
Hoặc
F =1,8 *C +32

Nhưng vấn đề là, bash shell không có các chức năng cần thiết để thực hiện các phép tính dấu phẩy động. Vì vậy, bạn phải dựa vào một số chương trình khác như bc .

bc không được cài đặt trên Raspbian theo mặc định. Nhưng bạn có thể dễ dàng cài đặt nó bằng lệnh sau:

$sudođúng cáchTải về bc

bc nên được cài đặt.

Bây giờ, bạn phải sửa đổi kịch bản theo dõi nhiệt độ và thực hiện các tính toán cần thiết để chuyển đổi nhiệt độ sang độ F từ độ C với bc .

Chỉnh sửa tempmon.sh script bằng lệnh sau:

$nanotempmon.sh

Bây giờ, hãy thực hiện các sửa đổi như được đánh dấu trong ảnh chụp màn hình bên dưới.

Đây, trên dòng 4, tôi đã in TEMP (F) thay vì TEMP (độC) .

Trên dòng 9, tôi đã thay đổi biến từ nhân viên bán thời gian đến tempC .

Trên dòng 10, tôi đã thêm kết quả của chuyển đổi độ C sang độ F vào một biến tempF .

Cuối cùng, tôi đã in giá trị của tempF biến thay vì nhân viên bán thời gian trên dòng 12.

Bây giờ, hãy chạy tập lệnh như sau:

$./tempmon

Như bạn có thể thấy, nhiệt độ được in bằng đơn vị Fahrenheit.

Vì vậy, đó là cách bạn theo dõi nhiệt độ trong Raspberry Pi. Cảm ơn đã đọc bài viết này.