Михаил Овчинников

Радиаторы для Raspberry Pi

Linux Raspberry Pi GnuPlot Python Мои проекты

Решил сделать радиаторы для своего Raspberry Pi. Нагревался процессор, если его хорошенько нагрузить, прилично, да и насмотревшись «ужасных» фотографий, наподобие той что ниже, было решено попробовать хоть немного предохранить чипы от перегрева.

По большому счету даже 60 градусов — вполне нормальная рабочая температура для процессора, но кто знает, что может случиться, если хорошенько нагрузить устройство, да еще и жарким летом? Ничего не произойдет, но отговаривать было бесполезно, поэтому начались поиски донора. Да, можно было купить, что-то более или менее подходящее, но это не спортивно. Долго искать не придется, если знать к кому обратиться, и уже вскоре один мой хороший друг приволок мне вот такой радиатор.

Первым делом, нужно было счистить остатки старого клея. Основную часть, я соскреб металлической линейкой, остальное удалил при помощи ацетона.

Далее замерил размеры чипов, разметил, взял ножовку по металлу и начал пилить. Тут стоит сделать замечание для тех, кто соберется повторять мой подвиг. Учитывайте, далеко не факт, что вам удастся отпилить красиво и ровно, 146% что придется доводить напильником до божеского вида.

Я делал запас 1-2 миллиметра (на глаз) и это как раз было впритык. Далее выравнивание напильником и шкуркой, в результате получилось 3 маленьких радиатора. К идеалам не стремился: более или менее ровно и ладно.

Теперь осталось приклеить. Почитав, что пишут духи в онлайне и ознакомившись с ассортиментом местных магазинов, я понял, что у меня 2 варианта:

  • Термоклей Алсил-5, штука сомнительная, но ничего другого не обнаружилось на прилавках.
  • Намазать чип в середине термопастой, а по краям посадить на маленькие капельки суперклея.

Немного подумав, решил пойти по пути наименьшего сопротивления и взял Алсил-5.

Попытавшись его выдавить, понял о чем писали на форумах: в «носике» шприца клей был намертво засохшим. Расковыряв его зубочисткой, обезжирил поверхности чипов и радиаторов, нанес клей небольшим слоем, приладил чипы и положил сверху толстых, умных книжек (должна же быть от них хоть какая-то польза). Через сутки (раньше не получилось) проверил: все отлично приклеилось.

Эксперименты

Пытливый мозг не дает покоя. Надо попытаться проверить. Градусников, термометров и прочей измерительной аппаратуры не имею. Поэтому за неимением лучшего выдавил из себя немного кода на Python:

#!/usr/bin/python
 
from time import sleep
 
f = open('temp.txt','w')
 
for i in range(12) :
    sleep(600)
    cpuTemp = str(round(int(open('/sys/class/thermal/thermal_zone0/temp').read())/1e3, 1))
    print cpuTemp
    f.write(cpuTemp + 'n')
 
f.close

Это дало мне несколько значений температуры процессора, в попытке визуализировать полученную информацию, набросал следующий код на GnuPlot:

#! /usr/bin/gnuplot -persist
 
set terminal png size 800, 600
set output "result.png"
set grid xtics ytics
 
set xlabel "Time, minutes"
set ylabel "Temperature, 260C" rotate by 90
 
set style line 1 lw 3 linecolor rgb "#FF0066"
 
plot "~/temp.txt" using (column(0)*10):1 w l ls 1 notitle smooth csplines

Далее аналогичным способом был произведен замер результатов с радиаторами. Получился такой результат:

Если кому интересно, то код для GnuPlot в этом случае такой:

#! /usr/bin/gnuplot -persist
 
set terminal png size 800, 600
set output "result.png"
set key spacing 1.30
set grid xtics ytics
 
set xlabel "Time, minutes"
set ylabel "Temperature, 260C" rotate by 90
 
set yrange [44:48]
set xrange [0:100]
 
set style line 1 lw 3 linecolor rgb "#FF0066"
set style line 2 lw 3 linecolor rgb "#3366FF"
 
set multiplot
 
plot "~/temp.txt" using (column(0)*10):1 w l ls 1 title "without heat sink"smooth csplines, /
     "~/temp_n.txt" using (column(0)*10):1 w l ls 2 title "with heat sink" smooth csplines
 
unset multiplot

Начальная настройка Raspberry Pi

Linux Raspberry Pi Bash

Raspberry Pi — компьютер на плате, размером с кредитную карточку, изначально создававшийся для того, чтобы приобщить школьников к программированию, на практике стал настоящим хитом среди гиков и народных умельцев. Неудивительно: плата за 35$, несущая на своем борту 700МГц ARM-процессор и 512 МБ оперативной памяти, плюс все необходимые разъемы, позволяющая установить полноценный Linux, обязана занять почетное место в хозяйстве любого гика.

Лично во мне, сама концепция такого мини-компьютера вызывает глубочайшую симпатию, и я решил написать небольшую серию статей для тех, кто тоже захочет приобщиться к большому и дружному сообществу пользователей этого устройства. Несмотря на огромное количество статей по настройке этого устройства, я решил написать yet another one. Во-первых задокументировать свои действия на всякий случай, а во-вторых чтобы люди понимали о чем вообще идет речь, если их заинтересует что-нибудь из последующих статей.

Инвентарь

Для начала, перечислю все, что нам может потребоваться для старта:

  • Raspberry Pi Model B;
  • Монитор для первоначального конфига (хотя некоторые берут себе и отдельный монитор) + переходник с HDMI на VGA/DVI, если потребуется;
  • Клавиатура (опять же для первоначального конфига);
  • SD-карточка (минимум 2 ГБ, а лучше 4 ГБ, чтобы с запасом);
  • Wi-Fi донгл или Ethernet-кабель (мне кажется, что в век беспроводных технологий донгл все-таки предпочтительнее, в статье я буду описывать настройку сети именно в этом варианте, так как он чуть сложнее);
  • Micro-USB кабель;
  • Блок питания 5В, 1А (можно попробовать запитать от USB-порта компьютера, но создатели платы настоятельно рекомендуют не делать этого а разжиться нормальным блоком питания, к слову под эти характеристики подходят многие зарядники от телефона);
  • Опционально: USB звуковая карта, если собираешься делать из своего Raspberry Pi медиацентр или часто слушать через него музыку, — качество со встроенного аудио-разъема не выдерживает никакой критики и годится разве что для редкого прослушивания подкастов и воспроизведения;
  • Опционально: Breadboard (макетная плата) + набор соединителей и перемычек, если будет желание поэкспериментировать с управлением какими-либо внешними устройствами через GPIO.

Думаю, что большинство из перечисленных вещей без труда найдется у тебя в закромах, но даже если и нет, то стоит это все сущие копейки. Сам Raspberry Pi можно заказать во многих отечественных интернет-магазинах, что выйдет рублей на 500-1000 дороже, чем заказывать из Великобритании на Element14.com, но соответственно чуть проще и быстрее. Некоторые магазины предлагают готовые решения в корпусе, с подготовленной SD-карточкой и блоком питания, но обойдется это уже где-то 100$. Каждое решение будет по-своему верным, поэтому исходи из своих финансовых возможностей.

Что ставить?

Первым делом, нужно будет скачать с  http://www.raspberrypi.org/downloads интересующий тебя образ и установить его на SD-карту. Далее я буду использовать стандартный Raspbian «wheezy» (Debian оптимизированный под Raspberry Pi).

Если ты покупал Raspberry Pi с целью сделать из него медиа-центр, то тебя скорее всего может устроить Raspbmc (специальная версия XBMC), в качестве готового решения ( http://www.raspbmc.com/).

В случае, если захочешь организовать свое персональное облачное хранилище, можно сразу разжиться дистрибутивом включающим в себя OwnCloud ( http://bit.ly/Yo3e0k).

Процесс установки на SD-карту я освещать не буду, как ты понимаешь, он полностью аналогичен процессу создания загрузочной флешки и если возникнут вопросы это можно без труда загуглить. Сам я создавал самописным Applescript’ом.

Настройка

Итак, вставляем SD-карточку, подключаем монитор в HDMI, втыкаем в USB Wi-Fi донгл и клавиатуру, в Micro-USB разъем вставляем питание. Плата включится сама и если ты все правильно сделал, перед тобой должен возникнуть синий экран начальной настройки. Если не возник, или экран настроек понадобится еще раз, наберем в консоли:

sudo raspi-config 

Очень коротко пробегусь по основным пунктам меню:

  • info  — краткая информация об утилите настройки;
  • expand_rootfs  — после записи 2 ГБ образа Raspbian на карту памяти, видимыми и доступными для использования будут только эти 2 гига, чтобы использовать все пространство карточки нужно выбрать эту опцию, которая «расширит» корневую файловую систему на все пространство карточки;
  • overscan  — для коррекции вылетов развертки;
  • configure_keyboard  — настройка клавиатуры;
  • change_pass  — сменить пароль по-умолчанию (raspberry) на что-нибудь посерьезнее;
  • change_locale  — сменить локаль (простыми словами рассказать линуксу из какой мы страны);
  • change_timezone  — установить временную зону;
  • memory_split  — настроить разделение памяти между оперативкой и графическим чипом;
  • overclock  — настройки оверклокинга, довольно бесполезная вещь: вероятность спалить устройство гораздо выше чем получить какой-либо прирост в производительности;
  • ssh  — запускать ssh-сервер при запуске системы? по-умолчанию запущен;
  • boot_behaviour  — запускать сразу рабочий стол при загрузке?
  • update  — попытаться обновить утилиту настройки.

После этого нужно настроить wi-fi, чтобы вернуть монитор и клавиатуру на родину, а c Raspbery Pi общаться только посредством SSH. Опять же буду рассказывать очень коротко, потому что про это во-первых уже написали на куче ресурсов, а во-вторых по сути своей настройка мало чем отличается от таковой в линуксах на обычных машинах, а про это можно вообще на каждом заборе прочитать. Я здесь опишу алгоритм, которым пользуюсь лично я при настройке, так как это линукс, то путей может быть несколько и если делаешь по-другому и это работает, то это совершенно не возбраняется.

У меня wi-fi свисток TrendNet N150 на чипсете Realtek RTL8192SU. В этом конкретном случае не понадобилось установки дополнительных драйверов. Но давай предположим, что тебе не так повезло. Как быть?

Воспользоваться командой вывода буфера ядра: dmesg. На тебя вывалится куча служебной информации, но наверное, понимаешь, что искать нужно устройства подключенные по usb.

После непродолжительных поисков я нашел, что меня интересовало, а именно информация о производителе, ожидаемо, что это был Realtek. Далее нужно установить драйвера, поищем их в кэше менеджера пакетов и установим найденные:

sudo apt-cache search realtek
sudo apt-get install firmware-realtek

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

Чтобы проверить, все ли хорошо (или не очень) можно ввести iwconfig, это как ipconfig только для беспроводных сетей. Просканить доступные сети: sudo iwlist scan.

Теперь добавим беспроводной интерфейс в файл /etc/network/interfaces при помощи команды:

sudo nano /etc/network/interfaces

Файл wpa.conf нужен для утилиты wpasupplicant, которая предназначена для того, чтобы простым способом коннектится к защищенным сетям. Создадим его:

sudo nano /etc/wpa.conf

ssid — имя сети, psk — пароль, в данном случае используется WPA-шифрование.

Теперь достаточно перезагрузиться, и если ты все сделал правильно, появится сеть и интернет. Теперь осталось только подключиться к Pi по ssh. Под Windows тебе понадобится SSH-клиент Putty, под Mac и Linux нужно лишь написать команду следующего вида:

ssh username@IP-address

После этого можно спокойно начинать свои эксперименты с устройством.

Назначение светодиодов на Raspberry Pi

Многие, кто недавно купил себе Raspberry Pi часто не понимают назначение светодиодов, расположенных на плате (в углу, рядом с аудио-выходом и USB-портами). Подписи рядом с ними тоже не вносят много ясности, поэтому мне хотелось рассказать в двух словах о светодиодах на RPi Mod. B Rev.2.

Итак, светодиоды имеют следующее назначение:

  • ACT (зеленый) - Доступ к SD-карте;
  • PWR (оранжевый) - Источник 3.3 В подключен;
  • FDX (зеленый) - Сеть подключена в полнодуплексном режиме);
  • LNK (зеленый) - Активность сети;
  • 100 (желтый) - 100Мбит сеть подключена;

При подготовке статьи я пользовался следующими ресурсами:

1 of 1