Raspberry Pi

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

Монитор температуры Raspberry Pi
Raspberry Pi - мощный одноплатный компьютер (SBC). Его можно использовать для решения множества сложных задач. Но это приведет к увеличению температуры процессора устройств Raspberry Pi. Что не хорошо. Производительность Raspberry Pi SBC пострадает из-за температуры. Это также известно как тепловое дросселирование.

Если температура процессора вашего Raspberry Pi выше 80 градусов по Цельсию, вы увидите значок термометра в правом верхнем углу экрана. Официально Raspberry Pi Foundation рекомендует, чтобы температура вашего устройства Raspberry Pi была ниже 85 градусов по Цельсию, чтобы оно работало должным образом. Это максимальный предел. Но он начинал дросселировать при 82 градусах Цельсия.

В этой статье я покажу вам, как контролировать температуру вашего Raspberry Pi. Я буду использовать операционную систему Raspbian на своем устройстве Raspberry Pi 3 Model B. Но он должен работать на любом Raspberry Pi SBC с установленной операционной системой Raspbian.

Измерение температуры Raspberry Pi SBC:

Вы можете измерить температуру ядра вашего устройства Raspberry Pi с помощью следующей команды:

$ vcgencmd measure_temp

Текущая внутренняя температура - 48.3 градуса Цельсия, как вы можете видеть в отмеченной части скриншота ниже.

Как видите, каждый раз, когда я запускаю команду, отображается разное значение температуры.

Анализ данных о температуре:

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

Если вы хотите использовать данные о температуре в сценарии оболочки Bash, вы можете извлечь данные о температуре с помощью egrep команду следующим образом:

$ vcgencmd measure_temp | egrep -o '[0-9] * \.[0-9] * '

Как видите, печатаются только данные о температуре. Нет ничего ни до, ни после.

Вы можете использовать его в своем сценарии оболочки (скажем, print_temp.ш) следующим образом:

$ nano print_temp.ш

Здесь, в строке 3, я установил темп переменной в проанализированные данные о температуре, которые я получаю из vcgencmd а также grep команда.

В строке 5 я использовал эхо распечатать содержимое темп переменная на экране.

Строка 1 используется, чтобы сообщить Linux, что сценарий должен выполняться с / bin / bash по умолчанию.

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

$ chmod + x print_temp.ш

Теперь запустите сценарий следующим образом:

$ ./ print_temp.ш

Как видите, желаемый результат выводится на экран.

Написание скрипта мониторинга температуры Raspberry Pi:

Теперь, когда мы можем проанализировать данные о температуре, полученные от vcgencmd команда, мы можем легко написать скрипт мониторинга температуры для Raspberry Pi. Скрипт мониторинга температуры будет печатать текущую метку времени и внутреннюю температуру каждую секунду на экране в красиво отформатированном виде.

Сначала создайте новый скрипт темпмон.ш с помощью следующей команды:

$ touch tempmon.ш

Теперь отредактируйте темпмон.ш скрипт с помощью следующей команды:

$ nano tempmon.ш

Теперь введите следующие строки кода и сохраните файл с + Икс а затем нажмите у с последующим .

Здесь, в строке 4, printf используется для печати строк TIMESTAMP и TEMP (degC) в виде столбца с фиксированной шириной.

В строке 5 я использовал printf снова, чтобы напечатать пунктирную линию, чтобы сделать вывод более читаемым и привлекательным.

В строке 7-13 я запускал бесконечный цикл для печати данных температуры каждую секунду.

В строке 9 я сохранил проанализированные данные о температуре на темп Переменная.

В строке 10 я сохранил данные временной метки, которые я получил от Дата команда на отметка времени Переменная.

В строке 11 я напечатал дату и время в формате временной метки, а данные о температуре - в формате столбца с фиксированной шириной.

В строке 12 я использовал команду sleep 1, чтобы приостановить выполнение скрипта на секунду. После этого цикл продолжится.

Теперь сделайте сценарий темпмон.ш исполняемый файл с помощью следующей команды:

$ chmod + x tempmon.ш

Наконец, запустите скрипт темпмон.ш с помощью следующей команды:

$ ./ темпмон.ш

Как видите, скрипт монитора температуры работает отлично. Он печатает данные о температуре каждую секунду.

Как видите, при увеличении нагрузки на систему температура немного повысилась.

Если вы хотите остановить скрипт мониторинга температуры, нажмите + c. Мониторинг температуры больше не работает, как вы можете видеть на скриншоте ниже.

Теперь, когда скрипт мониторинга температуры работает, давайте скопируем его в / usr / bin каталог. Таким образом, вы можете запускать его, как и любые другие команды Linux.

Чтобы скопировать скрипт темпмон.ш к / usr / bin каталог, выполните следующую команду:

$ sudo cp tempmon.ш / usr / bin / tempmon

Как видите, я могу запустить сценарий мониторинга температуры так же, как стандартные команды Linux.

Изменение темпмон для печати данных о температуре в градусах Фаренгейта:

Вы можете легко преобразовать данные о температуре из градусов Цельсия в градусы Фаренгейта.

Широко известная формула для вычисления температуры в градусах Фаренгейта от Цельсия:,

Ж = (9/5) * С + 32
Или же
F = 1.8 * С + 32

Но проблема в том, что оболочка bash не имеет необходимых функций для выполнения вычислений с плавающей запятой. Итак, вам придется полагаться на некоторые другие программы, такие как до н.э.

до н.э не установлен на Raspbian по умолчанию. Но вы можете легко установить его с помощью следующей команды:

$ sudo apt install bc

до н.э должен быть установлен.

Теперь вам нужно изменить сценарий мониторинга температуры и произвести необходимые вычисления для преобразования температуры в градусы Фаренгейта из Цельсия с помощью до н.э.

Отредактируйте темпмон.ш скрипт с помощью следующей команды:

$ nano tempmon.ш

Теперь внесите изменения, как указано на скриншоте ниже.

Здесь, в строке 4, я напечатал ТЕМП (F) вместо ТЕМП (град. C).

В строке 9 я изменил переменную с темп к tempC.

В строке 10 я добавил результат преобразования Цельсия в Фаренгейта в переменную tempF.

Наконец, я распечатал значение tempF переменная вместо темп в строке 12.

Теперь запустите сценарий следующим образом:

$ ./ темпмон

Как видите, температура печатается в единицах Фаренгейта.

Вот как вы отслеживаете температуру в Raspberry Pi. Спасибо, что прочитали эту статью.

Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...
Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...
Shadow of the Tomb Raider для Linux Учебное пособие
Shadow of the Tomb Raider - двенадцатое дополнение к серии Tomb Raider - франшизе приключенческой игры, созданной Eidos Montreal. Игра была очень хоро...