Загрузка...
Загрузка...

Мониторинг температуры Raspberry Pi

•   DIY   •

Мониторинг температуры Raspberry Pi
16 мар 2016

Мониторинг температуры Raspberry Pi

СРАЗУ ХОЧУ ПРЕДУПРЕДИТЬ: ЗАПИСЬ СО СТАРОГО БЛОГА ОТ 2012 ГОДА

 

Предистория: Наигравшись вдоволь Raspberry Pi нашел ему более серьезное занятие чем мигание светодиодиками: теперь он выступает в роли принт-сервера. Голая плата доольно некрасиво и странно выглядела и было решено сделать для нее корпус из подручных материалов. Нашел в офисе небольшую коробочку, вырезал отверстия под все нужные мне порты, сделал отверстия над процессором и впихнул туда Raspberry. Получилось вроде симпатично...

Все бы ничего, но меня начало волновать охлаждение этого агрегата, особенно учитывая, что стоит от в плохо проветриваемом месте. Нужно было как-то мониторить температуру.

Мониторинг температуры: И так, для мониторинга температуры я решил написать простенький скрипт на python который бы отсылал уведомление на почту при превышении заданной температуры. Скрипт потихоньку обрастал новыми возможностями и вот, что он умеет:

  • Отправлять имейл при превышении заданной температуры CPU (процессора)
  • Отправлять имейл при превышении заданной температуры GPU (видео ядра)
  • Время между пробами температуры настраивается в секундах (стандартно установлено 30 секунд)
  • Время между сообщениями, тоже настраивается в секундах (стандартно установлено 5 минут)
  • Игнорирует интервал между сообщениями если температура продолжает расти
  • Может отправлять сообщения как по SSL SMTP так и по не защищенному каналу
  • Можно настраивать Тему письма
  • Можно настраивать Адрес от которого приходит сообщение
  • Можно редактировать текст самого сообщения

Вот, собственно, результат работы скрипта:

 

Ссылка на скрипт: клик 

Небольшая инструкция:

копируем файл temp.py в любую удобную вам папку, я всегда копирую в /home, заходите в терминал и прописываете

следующие комманды:

cd /home

nano temp.py

редактируете следующие параметры:

Если Ваш почтовый сервер работает без SSL, то уберите решетку перед #from smtplib import SMTP и поставьте решетку перед from smtplib import SMTP_SSL as SMTP в противном случае - ничего менять не надо

Так же, Вам нужно настроить следующие параметры:

max_temp_c = максимальная температура процессора

max_temp_g = максимальная температура видео ядра

send_wait = время между сообщениями о превышении температуры

probe_time = время между измерениями температуры

SMTPserver = адрес вашего почтового сервера

sender = от какого адреса e-mail отсылать

destination = адрес на который отсылать сообщения

USERNAME = логин от почтового ящика

PASSWORD = пароль от почтового ящика

subject = тема письма ообщения  

Остальное можете не менять, что б сохранить и выйти нажмите "CTRL"+"X", затем "Y" и "ENTER"

sudo chmod +x temp.py

Теперь вам нужно, что б скрипт запускался автоматически при перезагрузке, для этого добавим следующее правило в cron:

sudo crontab -e и добавляем в конце следующую строку:

@reboot /home/temp.py

Cохраняем и выходим: нажмите "CTRL"+"X", затем "Y" и "ENTER"

Перезагружаем RASPBERRY и скрипт автоматически заработает.

Если хотим убедится в работе скрипта, то открываем файл temp.py меняем температуру max_temp_c на, например, 20, сохраняем файл и перезагружаем raspberry.

Вам должны начать приходить сообщения. Далее меняем в файле температуру на нужную, сохраняем и снова перезагружаем Raspberry. Может этот скрипт кому-то поможет и сэкономит время.