SunFounder Pironman — это корпус Raspberry Pi 4, вдохновленный самодельным мини-сервером Raspberry Pi 4 Майкла Клемента с OLED-дисплеем и системой охлаждения ICE Tower, а также некоторыми улучшениями, такими как корпус из алюминиевого сплава и акрила, поддержка M.2 SATA SSD, кнопка питания для безопасного выключения, ИК-приемник и светодиодная лента RGB.
Компания прислала нам на обзор комплект Pironman без Raspberry Pi 4. Мы проверим содержимое пакета, соберем, установим программное обеспечение и тестирование уникальных функций, перечисленных выше.
Распаковка Pironman
Некоторые основные характеристики указаны на боковой стороне упаковки.
Корпус поставляется полностью разобранным с платой Pironman, металлическими и акриловыми панелями, светодиодной RGB-лентой, OLED-дисплеем, радиатором, вентилятором, адаптерами, плоскими кабелями, винтами, стойками и т. д.
Верхняя часть платы Pironman (JMS580-V1.8) оснащена мостом JMicron JMS580 USB 3.2 Gen 2 к SATA 6 Гбит/с, слотом для карты microSD, портом USB для SSD, портом USB для питания, а также разъемами для расширителя GPIO, OLED и моста для карты microSD, а также некоторых разъемов для подключения вентилятора, кнопки питания и светодиодной ленты RGB.
На нижней стороне есть разъем M.2 SATA, подходящий для дисков 2230, 2242, 2260 и 2280, а также три светодиода RGB и 40-контактный разъем GPIO.
В упаковке также есть инструкция по сборке. Это довольно хорошо и очень помогает при сборке.
Вы также можете получить доступ к подробной документации онлайн .
Сборка Pironman с Raspberry Pi 4 и M.2 SATA SSD
Нам нужно будет подготовить Raspberry Pi 4 SBC и карту MicroSD с установленной ОС Raspberry Pi, а также опционально M.2 SATA SSD.
Первым делом необходимо установить стойки в монтажные отверстия платы Pironman, а также вставить OLED-дисплей в соответствующий разъем. Просто поднимите черную пластинку, вставьте кабель FFC в разъем и вставьте ее на место. Убедитесь, что кабель FFC ориентирован правильно, как показано на фотографии ниже.
Затем мы прикрепим дисплей к пластине B корпуса и установим выключатель питания.
Теперь мы можем подключить четыре провода выключателя питания к разъему 5V (красный) и GND (черный), а также два зеленых провода к оставшемуся разъему рядом с 5V/GND в произвольном порядке. Мы сделаем то же самое для моста карты microSD, светодиода RGB и платы расширения GPIO.
Все немного туго, но мы справились. Самой сложной частью была установка кабеля FFC для GPIO. Черная пластина вращается, а не поднимается, и либо кабель FFC слишком толстый, либо разъем слишком узкий, но его было очень трудно закрыть, поэтому мы в итоге использовали плоскогубцы, обмотанные толстой пластиковой лентой, чтобы вставить черную пластину в разместить как на малой плате адаптера, так и на основной плате Pironman.
Кабели-перемычки, используемые для кнопки питания, RGB-светодиода и, как мы увидим позже, вентилятора, немного болтаются, поэтому мы не удивимся, если они оторвутся, если вы перенесете корпус в другое место. Тем не менее, у нас таких проблем не было.

Теперь мы можем установить Raspberry Pi 4 SBC, закрепив его дополнительными стойками и шестигранным ключом, входящим в комплект. Мы также можем подключить мосты карт GPIO и microSD, как показано выше.
Следующий шаг — подготовить радиатор, соединив две опоры (примечание: ориентация важна) и поместив две термопрокладки под радиатор.
Теперь мы можем разместить радиатор поверх платы Raspberry Pi и закрепить его четырьмя винтами.
Теперь мы можем начать добавлять акриловые и металлические пластины. Вентилятор можно установить на любую акриловую пластину, но в инструкции указано, что он крепится к крышке с отверстием для разъема GPIO.
Нам нужно установить твердотельный накопитель M.2 SATA перед установкой нижней крышки.
Мы почти закончили с последним штрихом, связанным с размещением поролоновых прокладок на нижней крышке (здесь можно было бы сделать лучше).
Мы заметили, что светодиодная лента RGB не была установлена должным образом. Нам не совсем понятен шаг 16, который гласит: «Полоса RGB должна быть приклеена к нижней части металлической пластины А». Никакого двухстороннего скотча на светодиодной ленте мы не увидели, поэтому изначально разместили его посередине и надеялись на лучшее. Но потом мы заметили, что у нас осталось два черных скотча.
Поэтому мы сняли верхнюю крышку и закрепили светодиодную ленту с обеих сторон корпуса.
Наконец, мы вставили карту microSD и мост SSD с одной стороны и оставшуюся маленькую акриловую пластину, закрывающую OLED, с другой стороны.
Вот и все! Выглядит красиво, и, надеюсь, мы правильно его собрали.
Установка программного обеспечения и тестирование функций
Давайте попробуем прямо сейчас, подключив систему к дисплею HDMI и включив питание. Все выглядит нормально, и наш твердотельный накопитель SATA правильно определяется как «хранилище NEO».
Однако, мы сглупили. Красный кабель идет от USB-адаптера, и мы подключили его не к порту USB-C в системе Pironman, а напрямую к Raspberry Pi 4. Таким образом, изначально, после установки программного обеспечения, как показано ниже, OLED-дисплей показывал использование ЦП и памяти только в течение короткого времени, а затем все время показывать «Питание выключено». Хорошо выспавшись, с утра мы подключили блок питания к порту USB-C на задней панели компьютера.
На этом этапе нам необходимо было следовать онлайн-инструкциям по установке программного обеспечения и драйверов для поддержки OLED, ИК-приемника, кнопки питания и т. д.
Во-первых, нам нужно отредактировать /boot/config.txt, добавив две строки ниже в конец файла, чтобы добавить поддержку кнопки питания и ИК-приемника:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
|
dtoverlay=gpio–poweroff,gpio_pin=26,active_low=0
dtoverlay=gpio–ir,gpio_pin=13
|
[Format Time: 0.0002 seconds]
Затем нам нужно установить Python-скрипт Pironman:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
|
cd ~
git clone https://github.com/sunfounder/pironman.git
cd ~/pironman
sudo python3 install.py
|
[Format Time: 0.0001 seconds]
Для корректной работы может потребоваться перезагрузка, но вот как это выглядело после установки скрипта.
OLED показывает IP-адрес, загрузку ЦП, температуру ЦП, а также использование памяти и хранилища.
Мы можем проверить текущую конфигурацию следующим образом:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
|
pi@raspberrypi:~ $ pironman –c
config file:/home/pi/.config/pironman/config.txt
temp_unit = C
fan_temp = 50
screen_always_on = False
screen_off_time = 60
rgb_switch = True
rgb_style = breath
rgb_color = 0a1aff
rgb_blink_speed = 50
|
[Format Time: 0.0002 seconds]
Скрипт Pironman имеет несколько опций для изменения температуры срабатывания вентилятора, цветов и режимов светодиодов RGB, а также поведения экрана. Вы также можете переключаться между градусами Цельсия и Фаренгейта.
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
pi@raspberrypi:~ $ pironman
config file: /home/pi/.config/pironman/config.txt
Usage:
pironman <OPTION> <input>
Options:
start start pironman service
stop stop pironman service
restart restart pironman service
–h,—help help, show this help
–c,—check show all configurations
–a,—auto [ on ],enable auto–start at boot
[ off ], disable auto–start at boot
–u,—unit [ C/F ], set the unit of temperature,
C or F (Celsius/Fahrenheit)
–f,—fan [ temp ], Temperature at which the fan switches on,
in celsius (default 50),in range (30 ~ 80)
–al,—always_on [on/off], whether the screen is always on,
default False
–s,—staty_time [time], screen display duration in second,
in second, default 30
–rw,—rgb_sw [on/off], rgb strip switch
–rs,—rgb_style rgb strip display style, default: breath,
in [breath / leap / flow / raise_up / colorful]
–rc,—rgb_color [(HEX)color], set the color of rgb strip,
default: 0a1aff
–rb,—rgb_speed [speed], rgb blink speed (0 ~ 100, default 50)
|
[Format Time: 0.0011 seconds]
Вы также можете адаптировать скрипт, так как он написан на Python, и, возможно, использовать другие скрипты, поскольку это стандартный OLED-дисплей. Ниже представлено короткое демо-видео, показывающее светодиодную ленту RGB и вентилятор в действии.
Мы уже видели, как работает светодиодная лента RGB, OLED и вентилятор. Мы также могли бы использовать кнопку для включения OLED-дисплея коротким нажатием и выключения Raspberry Pi 2-секундным нажатием. Нам удалось включить компьютер, нажав кнопку еще раз.
Давайте протестируем ИК-приемник с помощью LIRC:
Crayon Syntax Highlighter v_2.7.2_beta
1
|
$ sudo apt install lirc
|
[Format Time: 0.0001 seconds]
Теперь, когда LIRC установлен, мы можем проверить, можем ли мы получать команды с пульта дистанционного управления нашего телевизора:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
|
$ mode2 –d /dev/lirc0
Using driver devinput on device /dev/lirc0
Trying device: /dev/lirc0
Using device: /dev/lirc0
code: 0xffffff003096a2007800000103570003
code: 0xffffff0077887900cd0f00019a0f0000
code: 0x28020001cd07000029020001cf070000
code: 0x26020001cd07000028020001cd070000
code: 0x29020001e603000028020001cc070000
|
[Format Time: 0.0002 seconds]
Выглядит хорошо. ИК-приемник тоже работает. Мы должны быть в состоянии заставить его работать с Kodi и другими медиа-центрами.
Мы уже видели, что диск SATA был распознан, но мы не проверяли производительность. Для этого установим iozone3:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
|
wget http://www.iozone.org/src/current/iozone3_494.tgz
tar xvf iozone3_494.tgz
cd iozone3_494/src/current/
make –j4 linux–arm
sudo cp iozone /usr/local/bin/
|
[Format Time: 0.0001 seconds]
Перейдем к точке монтирования (/mediap/pi/NEO Storage) перед запуском теста iozone3:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
pi@raspberrypi:/media/pi/NEO Storage $ iozone –e –I –a –s 1000M –r 16384k –i 0 –i 1
Iozone: Performance Test of File I/O
Version $Revision: 3.494 $
Compiled for 32 bit mode.
Build: linux–arm
Include fsync in write timing
O_DIRECT feature enabled
Auto Mode
File size set to 1024000 kB
Record Size 16384 kB
Command line used: iozone –e –I –a –s 1000M –r 16384k –i 0 –i 1
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
1024000 16384 85561 293438 325212 325262
iozone test complete.
|
[Format Time: 0.0008 seconds]
Скорость чтения (~ 325 МБ/с) выглядит нормально по USB 3.0, а также скорость перезаписи, но почему-то скорость записи (~ 85 МБ/с) находится на низком уровне. Несколько попыток привели к аналогичному результату. У нас не возникало такой проблемы при тестировании SSD в док-станции USB-C в Windows. Обратите внимание, что диск отформатирован в файловой системе exFAT:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
|
$ mount | grep NEO
/dev/sda1 on /media/pi/NEO Storage type exfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,iocharset=utf8,errors=remount–ro,uhelper=udisks2)
|
[Format Time: 0.0002 seconds]
Мы также можем видеть, что драйвер uas (для поддержки UASP) используется для нашего устройства:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
pi@raspberrypi:/media/pi/NEO Storage $ lsusb
Bus 002 Device 002: ID 152d:0580 JMicron Technology Corp. / JMicron USA Technology Corp. USB to ATA/ATAPI Bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 1c4f:0003 SiGma Micro HID controller
Bus 001 Device 003: ID 1a2c:0002 China Resource Semico Co., Ltd USB Keykoard
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:/media/pi/NEO Storage $ lsusb –t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 3: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|
[Format Time: 0.0009 seconds]
Наконец, нам хотелось запустить стенд SBC, чтобы убедиться в охлаждающей способности решения:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
|
$ sudo ./sbc–bench.sh –c
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 10:23:07 up 44 min, 3 users, load average: 0.52, 0.50, 0.30, cpu: 4%
Too busy for benchmarking: 10:23:12 up 44 min, 3 users, load average: 0.48, 0.50, 0.30, cpu: 4%
Too busy for benchmarking: 10:23:18 up 44 min, 3 users, load average: 0.44, 0.49, 0.30, cpu: 5%
|
[Format Time: 0.0004 seconds]
Но скрипт отказывается запускаться, при этом загрузка ЦП даже немного увеличивается во время простоя!
Это связано с тем, что сценарий Pironman использует от 4 до 5% ресурсов ЦП, когда включен OLED-дисплей. В основном цикле есть 0,5-секундный спящий режим, но когда дисплей один, есть также цикл для дисплея с 0,01-секундным спящим режимом для отслеживания кнопки. Мы установили его на постоянное отслеживание температуры и использования ЦП, но мы изменили его на значение по умолчанию, чтобы дисплей автоматически отключался через некоторое время. Нам удалось запустить скрипт SBC-bench.sh:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Checking cpufreq OPP again. Done (20 minutes elapsed).
It seems neither throttling nor frequency capping has occured.
Memory performance
memcpy: 2566.6 MB/s
memset: 3399.8 MB/s
7–zip total scores (3 consecutive runs): 5400, single–threaded: 1655
OpenSSL results:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes–128–cbc 61461.41k 75719.87k 82240.51k 84407.30k 84751.70k 84683.43k
aes–128–cbc 61748.61k 76364.71k 82733.91k 84307.29k 84789.93k 84781.74k
aes–192–cbc 55657.62k 66900.16k 71660.20k 72982.53k 73187.33k 73405.78k
aes–192–cbc 55676.30k 66874.01k 71821.48k 72860.67k 73444.01k 73220.10k
aes–256–cbc 50343.01k 59848.85k 63227.48k 64422.57k 64432.81k 64574.81k
aes–256–cbc 50459.91k 59570.86k 63347.20k 64332.12k 64476.50k 64623.96k
Full results uploaded to http://ix.io/4jVw. Please check the log for anomalies (e.g. swapping
or throttling happenend).
|
[Format Time: 0.0006 seconds]
Температурный график представлял собой плоскую линию благодаря огромному радиатору и вентилятору, которые время от времени включались во время одноядерных тестов и постоянно для многоядерных тестов 7-zip.
Это подтверждается на OLED-дисплее во время теста 7-zip.
Больше тестировать не будем, так как ранее уже рассматривали ICE Tower с вентилятором и без, а также при разгоне Raspberry Pi 4 до 2,0 ГГц. Этого типа решения более чем достаточно, даже если оно слишком сложное, для охлаждения Raspberry Pi 4 в большинстве условий, даже при разгоне до 2,x ГГц.
Заключение
Pironman — неплохой корпус для Raspberry Pi 4. Инструкции подробные, программная поддержка адекватная, и выглядит он очень мило. Некоторые вещи можно было бы улучшить, например, у нас возникли проблемы с установкой кабеля FFC для адаптера GPIO, а соединительные кабели могут отсоединиться во время транспортировки. Возникли также вопросы о низкой производительности записи (но не перезаписи) с диском M.2 SATA.
Нам хотелось бы поблагодарить SunFounder за отправку корпуса Pironman для обзора. Вы можете приобрести рассмотренный выше комплект за 63,99 долларов США плюс доставка или приобрести полный комплект с оперативной памятью Raspberry Pi 4 2 ГБ и картой MicroSD на 32 ГБ за 237,97 долларов США .
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.