- Заказывал RPi4 2G KIT Bundle 5 тут. Все шикарно, никаких нареканий. Есть особенности при включении, сборке, использовании, но они относятся в целом к RPi4, а не этому KIT (подробнее ниже). Комплектация:
- RPi4 2G
- Sandisk MicroSD 16G
- Black ABS case with fan
- Card reader
- Heat sinks (небольшие)
- 5V 3A Power Supply
- 1 micro HDMI кабель
- Конкурент RPi – OrangePI, есть, например, SATA
- BCM2711 – SoC нового RPi. Основной виновник нагрева.
- Второй HDMI не передает звук, это нормально
- На RPi нет grub’а, там закрытый загрузчик в памяти eeprom. Аргументы загрузки ядра указываются в файле cmdline.txt на boot-разделе.
- При подключении по VNC к RPi может быть reject с ошибкой “cannot currently show the desktop”. Скорей всего причиной является отсутствие подключения RPi к монитору – подключаем монитор или указываем разрешение в конфиге RPi, перезагружаем RPi.
The RPi must be set to boot to desktop (service mode). If a HDMI monitor is not attached then you need to specify a screen resolution in config.txt Use GUI config tool or sudo raspi-config to do that. sudo raspi-config Select 7 Advanced Operations Then Select 5 Resolution Thanks, this worked for me!
- retropie – система с разными играми, например Dendy (pacman, mario, танчики, duck tales, алладин, контра, etc).
- Докупаем классические для Dendy (NES) или беспроводные картриджи и получаем удовольствие 🙂
- Так же можно купить целый KIT, включая кейс и RPi 3
- Образ ОС можно скачать тут или поставить на оригинальный Raspbian OS используя git
- Запуск после установки по emulationstation
- ROM для NES, SNES, Sega, Megadrive, GBA тут, кладем их в папку с эмулятором – /home/pi/RetroPie/roms/nes (snes, sega, megadrive, etc).
- super mario bros – марио
- battle city – танчики
- duck tales 2 – скрудж макдак
- contra
- MK
- Aladdin
Черный экран
Не нужно удивляться если при старте ничего не работает (нет вывода даже на экран). Чаще всего причиной будет являться отсутствие ОС на microSD. Качаем Raspberry PI Imager и создаем загрузочный образ на Micro SD. Так же потенциальные варианты:
-
- raspberry может не поддерживать высокое разрешение монитора/телевизора (hd), нужно сделать меньше (напр. 1280х720)
- на некоторых дисплеях не работает HDMI
- кабель HDMI нужно подключать еще до запуска Raspberry
- проблема с SPI EEPROM и нужна перепрошивка (см. Recovery)
Экранная клавиатура
В дистрибутиве по умолчанию нет экранной клавиатуры. В моем случае это было важно т.к. мышка “лишняя” была, а вот клавиатуры нет. При этом удаленно подключиться без первичной настройки (Wi-Fi, разрешения SSH/VNC) с клавиатурой не получится.
Вылечить можно так:
- в установочном меню задаем пароль sudo для учетной записи pi по названию любой папки (через переименование)
- берем usb flash
- добавляем в него текстовый файл c паролем для wifi (или подключаем ethernet кабелем в сеть)
— вариант 1: настраиваем vnc и подключаемся с другого ПК на pi, ставим необходимый софт (Preferences -> Raspberry Pi Configuration)
— вариант 2: добавляем строки по установке экранной клавиатуры на usb flash
sudo apt update sudo apt upgrade sudo apt install matchbox-keyboard
Задержка при просмотре RTSP потока в VLC/FFPLAY
подробно описано тут
Перегрев
RPi 4 перегревается и это факт. При перегреве начинает работать троттлинг процессора. Для мониторинга перегрева проще всего поставить applet на панель. Так же можно использовать команды в cli.
Троттлинг (от английского throttling) представляет собой механизм защиты процессора от термических повреждений при перегреве системы. Чем выше температура действует на микропроцессор, тем больше машинных тактов он пропускает. pi@raspberrypi:~ $ vcgencmd measure_temp temp=48.0'C pi@raspberrypi:~ $ cat /sys/class/thermal/thermal_zone0/temp | sed 's/...$//' 49 # cli monitoring pi@raspberrypi:~ $ while true; do vcgencmd measure_temp; sleep 10; done pi@raspberrypi:~ $ while true; do temp=$(vcgencmd measure_temp); date=$(date); echo "$date;$temp"; sleep 60; done # thermal zones (не только RPi) Существуют разные типы зон - x86_pkg_temp (с CPU), acpitz (чаще всего не напрямую с CPU). По каждой зоне созданной в /sys/class/thermal/thermal_zone* можно посмотреть ее тип и температуру в ней. /sys/class/thermal/thermal_zone0/type acpitz /sys/class/thermal/thermal_zone2/type x86_pkg_temp
Решение в виде обновления прошивки, небольших по размеру радиаторов (пассивного охлаждения), использования RPi 4 без корпуса не очень эффективны. По факту для гарантии нормальной работы нужен или большой радиатор или активное охлаждение.
# проверка/обновление ПО pi@raspberrypi:~ $ sudo rpi-eeprom-update BCM2711 detected BOOTLOADER: up-to-date CURRENT: Thu 16 Apr 2020 05:11:26 PM UTC (1587057086) LATEST: Thu 16 Apr 2020 05:11:26 PM UTC (1587057086) FW DIR: /lib/firmware/raspberrypi/bootloader/critical VL805: up-to-date CURRENT: 000137ad LATEST: 000137ad
Cooling Option | Min Temp (°C) | Max temp (°C) | CPU throttled? |
---|---|---|---|
Bare Pi | 50 | 77 | NO |
Pi in official case (no fan) | 51 | 82 | YES |
Pi in official case (with fan) | 39 | 61 | NO |
Bare Pi with ICE tower, fan off) | 31 | 51 | NO |
Bare Pi with ICE tower, fan on) | 29 | 39 | NO |
Bare Pi — after fw update | 38 | 69 | NO |
Pi in official case — after fw update | 43 | 76 | NO |
Кулер, который я купил в комплекте с Ali справляется с перегревом. Единственное, нужно знать особенности распиновки GPIO на RPi4, иначе кулер может работать не так, как хочется:
- кулер может вообще не работать, если не подключить его к питанию и земле
- большинство на ali жалуются что кулер слишком громкий. Причина в том, что он при подключении в 5v (напр. пин 4) работает на максимальных оборотах. В итоге охлаждение так же самое максимальное, но это может очень мешать (и это так, он нереально громкий).
- при подключении в 3.3v (напр. пин 1) кулер работает значительно тише, хотя и не так эффективно с точки зрения охлаждения. Для подключения пришлось пины на кабеле разбить т.к. GPIO не имеет двух параллельно стоящих 3.3v + GND.
Активное охлаждение
Я остановился на варианте 3.3v – результирующего RPM кулера достаточно для полноценного охлаждения в любом из режимов работы CPU:
- В стандартном режиме работы (15 мин ролика на youtube в 1080p) охлаждение позволило не заходить за 45 градусов CPU, тогда как при passive cooling (heat sink) в этом же корпусе и с последним апдейтом firmware/bootloader CPU быстро переходил за 80 градусов с последующим троттлингом.
- В стрессовом режиме работы (100% загрузка CPU в течении 6 часов при использовании aircrack) с кулером температура достигала максимум 60 градусов без тенденции роста со временем.
Пассивное охлаждение на базе существующей комплектации
Без кулера, кейса и на базе купленных небольших радиаторов температура:
- В простое не поднимается выше 50 градусов (12 часовой тест без нагрузки)
- В стандартном режиме работы (15 мин ролика на youtube в 1080p) не выше 75 градусов
- В режиме просмотра одного rtsp стрима (12 часов) не выше 65 (vlc) – 75 (ffplay) градусов