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, добавив две строки ниже в конец файла, чтобы добавить поддержку кнопки питания и ИК-приемника:
1 2 |
dtoverlay=gpio-poweroff,gpio_pin=26,active_low=0 dtoverlay=gpio-ir,gpio_pin=13 |
Затем нам нужно установить Python-скрипт Pironman:
1 2 3 4 |
cd ~ git clone https://github.com/sunfounder/pironman.git cd ~/pironman sudo python3 install.py |
Для корректной работы может потребоваться перезагрузка, но вот как это выглядело после установки скрипта.
OLED показывает IP-адрес, загрузку ЦП, температуру ЦП, а также использование памяти и хранилища.
Мы можем проверить текущую конфигурацию следующим образом:
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 |
Скрипт Pironman имеет несколько опций для изменения температуры срабатывания вентилятора, цветов и режимов светодиодов RGB, а также поведения экрана. Вы также можете переключаться между градусами Цельсия и Фаренгейта.
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) |
Вы также можете адаптировать скрипт, так как он написан на Python, и, возможно, использовать другие скрипты, поскольку это стандартный OLED-дисплей. Ниже представлено короткое демо-видео, показывающее светодиодную ленту RGB и вентилятор в действии.
Мы уже видели, как работает светодиодная лента RGB, OLED и вентилятор. Мы также могли бы использовать кнопку для включения OLED-дисплея коротким нажатием и выключения Raspberry Pi 2-секундным нажатием. Нам удалось включить компьютер, нажав кнопку еще раз.
Давайте протестируем ИК-приемник с помощью LIRC:
1 |
$ sudo apt install lirc |
Теперь, когда LIRC установлен, мы можем проверить, можем ли мы получать команды с пульта дистанционного управления нашего телевизора:
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 |
Выглядит хорошо. ИК-приемник тоже работает. Мы должны быть в состоянии заставить его работать с Kodi и другими медиа-центрами.
Мы уже видели, что диск SATA был распознан, но мы не проверяли производительность. Для этого установим iozone3:
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/ |
Перейдем к точке монтирования (/mediap/pi/NEO Storage) перед запуском теста iozone3:
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. |
Скорость чтения (~ 325 МБ/с) выглядит нормально по USB 3.0, а также скорость перезаписи, но почему-то скорость записи (~ 85 МБ/с) находится на низком уровне. Несколько попыток привели к аналогичному результату. У нас не возникало такой проблемы при тестировании SSD в док-станции USB-C в Windows. Обратите внимание, что диск отформатирован в файловой системе exFAT:
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) |
Мы также можем видеть, что драйвер uas (для поддержки UASP) используется для нашего устройства:
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 |
Наконец, нам хотелось запустить стенд SBC, чтобы убедиться в охлаждающей способности решения:
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% |
Но скрипт отказывается запускаться, при этом загрузка ЦП даже немного увеличивается во время простоя!
Это связано с тем, что сценарий Pironman использует от 4 до 5% ресурсов ЦП, когда включен OLED-дисплей. В основном цикле есть 0,5-секундный спящий режим, но когда дисплей один, есть также цикл для дисплея с 0,01-секундным спящим режимом для отслеживания кнопки. Мы установили его на постоянное отслеживание температуры и использования ЦП, но мы изменили его на значение по умолчанию, чтобы дисплей автоматически отключался через некоторое время. Нам удалось запустить скрипт SBC-bench.sh:
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). |
Температурный график представлял собой плоскую линию благодаря огромному радиатору и вентилятору, которые время от времени включались во время одноядерных тестов и постоянно для многоядерных тестов 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.
Оригинал статьи вы можете прочитать здесь.