Напишем программу измерения температуры микроконтроллера AllWiner ARM A53 и протестируем микрокомпьютер Orange Pi PC 2 под нагрузкой. Orange Pi в наших тестах будет работать под операционной системой ARMBIAN Ubuntu 16.04.2 server. Нагружать микроконтроллер будем 7-zip тестом.

Нам будет нужна программа, которая в фоновом режиме во время испытаний микрокомпьютера Orange Pi будет измерять температуру микроконтроллера. Возможно, так же, наша программа будет сигнализировать о повышении температуры микроконтроллера на плате Orange Pi включением штатных светодиодов. Например, при достижении температуры 45º С загорится зеленый светодиод, а выше 65º – красный.

Для доступа к показаниям датчика температуры микроконтроллера на плате Orange Pi  через операционную систему Ubuntu 16.04 (ARMBIAN) воспользуемся возможностями файловой системы sysFS. Программу напишем на bash:

#!/bin/bash
ledr="orangepi:red:status"
ledg="orangepi:green:pwr"

while true
do
  temp=`cat /sys/class/thermal/thermal_zone0/temp`
  if [[ $temp -gt 45000 ]]
    then
      echo 1 > /sys/class/leds/$ledg/brightness
    else
      echo 0 > /sys/class/leds/$ledg/brightness
  fi
  echo `expr $temp / 1000`
  if [[ $temp -gt 65000 ]]
    then
      echo 1 > /sys/class/leds/$ledr/brightness
    else
      echo 0 > /sys/class/leds/$ledr/brightness
  fi
  clear
  echo "CPU t="`expr $temp / 1000`
  sleep 1
done

Наша программа работает в бесконечном цикле с интервалами между измерениями в 1 сек. Значение температуры микроконтроллера на плате Orange Pi мы читаем из файла /sys/class/termal_zone0/temp. В первой части программы при достижении температуры 45º С включается/выключается зеленый светодиод, за что отвечает файл  /sys/class/leds/orangepi:green:pwr/brightness. Во второй части программы при достижении температуры 65º С включается/выключается зеленый светодиод, за что отвечает файл  /sys/class/leds/orangepi:red:status/brightness. Если записываем в файл brightness 1 светодиод горит, записываем 0 светодиод гаснет.

Запишите программу в файл temperature. Установите для этого файла атрибут исполняемый. Если хотите чтобы программа выполнялась в фоновом режиме без вывода значений температуры на терминал, запускайте программу следующим образом:

root@orangepipc2:/home/dior#./temperature > /dev/null &

Программу выполняем под суперпользователем, так как доступ к sysFS только у него.

Итоги тестирования Orange Pi PC 2:

  1. Температура не нагруженного CPU на плате Orange Pi PC 2 редко превышает 35 С.
  2. Температура CPU без радиатора на плате Orange Pi PC 2 под нагрузкой (7-zip тест) может превышать 80 С.
  3. Температура CPU с радиатором на плате Orange Pi PC 2 под нагрузкой (7-zip тест) редко превышает 65 С.

Можете посмотреть наш видео отчет о проведенных нами температурных испытаниях микроконтроллера AllWiner ARM A53 на плате микрокомпьютера Orange Pi PC2. Будем рады если подобные отчеты о температурных испытаниях плат Orange Pi Zero, Orange Pi One, Orange Pi Lite, Orange Pi PC, Orange Pi PC Plus, Orange Pi Plus 2E, Orange Pi Plus, Orange Pi PC Plus2 или Raspbery Pi Zero, Raspbery Pi 1 Model A+, Raspbery Pi 2 Model B, Raspbery Pi 3 Model B нам предоставят посетители нашего сайта.