====== Проигрыватель на базе Raspberry Pi 3 модель B ======
Проигрыватель на базе [[raspberry-pi-3-model-b:raspberry-pi-3-model-b|Raspberry Pi 3 модель B]], ОС: [[osmc:osmc|OSMC (Open Source Media Center)]] + [[osmc:retrosmc|RetrOSMC]].
Работа начата летом 2016.
Внешний вид прототипа:
{{:mediaplayer_raspberry-pi-3b:2017-08-19.jpg?350|2017-08-19}}
===== Заметки на pikabu.ru =====
* [[http://pikabu.ru/story/proigryivatel_na_baze_raspberry_pi_3_model_b_4726796|часть 1]]
* [[http://pikabu.ru/story/proigryivatel_na_baze_raspberry_pi_3_model_b_chast_2_4849192|часть 2]]
* [[http://pikabu.ru/story/proigryivatel_na_baze_raspberry_pi_3_model_b_chast_3_5001380|часть 3]]
* [[http://pikabu.ru/story/proigryivatel_na_baze_raspberry_pi_3_model_b_chast_4_5116167|часть 4]]
* [[https://pikabu.ru/story/proigryivatel_na_baze_raspberry_pi_3_model_b_chast_5_5276185|часть 5]]
====== Оборудование ======
[[raspberry-pi-3-model-b:raspberry-pi-3-model-b|Raspberry Pi 3 модель B]]
[[https://ru.aliexpress.com/item/2016-New-Raspberry-Pi-3-Model-B-BCM2837-1-2G-with-WIFI-and-Bluetooth/32615114907.html|Магазин qingpeng Electronics co., LTD: Raspberry Pi 3 модель B ]]
[[osmc:raspberry-pi-3-model-b_ds3231|Использование часов реального времени на DS3231 в Raspberry Pi 3 под управлением OSMC]]
[[hdmi_vga_1080p_audio_converter_usb_power:hdmi_vga_1080p_audio_converter_usb_power|Преобразователь HDMI в VGA]]
[[tp-link:tl-wn822n:tl-wn822n|Wi-Fi USB-адаптер TL-WN822N]]
===== Инфракрасный ПДУ =====
[[irf_media_w-01rn:irf_media_w-01rn|Инфракрасный ПДУ IRF Media W-01RN]]
[[ky-022_1838:ky-022_1838|ИК Модуль приёмник KY-022 на VS1838]]
**[[irf_media_w-01rn:irf_media_w-01rn#osmc|Настройка ИК Модуль приёмника KY-022 и IRF Media W-01RN в LIRC]]**
===== GPIO =====
{{:mediaplayer_raspberry-pi-3b:40-pin-2x20-pin.jpg?350|}}
[[https://ae01.alicdn.com/kf/HTB1vQoROVXXXXa9XFXXq6xXFXXXi/10-40-Pin-2x20-Pin-2-54.jpg|Оригинал]]
[[https://ru.aliexpress.com/item/10PCS-Lot-40-Pin-2x20-Pin-2-54mm-Double-Row-Plastic-Dupont-Head-Jumper-Wire-Cable/32787306484.html|40 Pin 2x20 Pin 2.54 мм]]
===== Память =====
[[https://www.aliexpress.com/item/SanDisk-48mb-s-New-Version-64gb-32gb-16gb-8gb-Ultra-SDHC-SDXC-UHS-I-Class10-memory/32545786888.html|Карта памяти TF (Micro SD) SanDisk 48 Мбит/с. 32 Гбайт SDHC SDXC UHS-I Class10]]
===== Внешний жёсткий диск =====
2.5” USB 3.0 Toshiba Canvio Basics 500 Гбайт (HDTB305EK3AA)
|Размеры (мм)|119 x 79 x 15|
|Вес (г)|230|
[[http://www.toshiba.co.uk/hard-drives/portable/canvio-basics/hdtb305ek3aa/|Toshiba Canvio Basics 500 Гбайт]]
Настройки:
max_usb_current=1
Стандартный кабель заменён на кабель с дополнительным разъёмом питания:
[[https://ru.aliexpress.com/item/New-USB-3-0-DUAL-Power-Y-Shape-2-x-Type-A-TO-Micro-B-High/32444888033.html|Кабель USB 3.0 Тип B ↔ Тип A, USB 2.0 Тип A (питание)]]
{{:mediaplayer_raspberry-pi-3b:new-usb-3-0-dual-power-y-shape-2-x-type-a-to-micro-b-high.jpg?200|}}
[[https://ae01.alicdn.com/kf/HTB1OAHlLpXXXXc8XXXXq6xXFXXXN/New-USB-3-0-DUAL-Power-Y-Shape-2-x-Type-A-TO-Micro-B-High.jpg|Оригинал]]
----
Подставка 125×85 мм, расстояние до центров отверстий (∅ 3 мм) 10 мм.
[[https://ru.aliexpress.com/item/1M-Nylon-Cable-Ties-Straps-Roll-Wraps-Fastener-Magic-Tape-For-Computer-TV-Wire-Cord-For/32668644527.html|Липучка нейлоновая Orico (длина 1 м, ширина 15 мм)]]
===== Питание =====
Блок питания [[MeanWell:MeanWell|MeanWell]] RS-75-5
==== Релейный включатель/выключатель питания ====
=== Включение ===
При нажатии на кнопку Вкл.(''SB1'') подаётся напряжение на обмотку реле ''K1'', при этом замыкаются контакты ''K1.1'', ''K1.2'', ''K1.3'' и напряжение 220 В подаётся на вход блока питания.
=== Выключение, вариант 1 ===
При нажатии на кнопку Выкл. (''SB2'') обесточивается реле ''K1'' и прекращается подача напряжения 220 В на вход блока питания.
=== Выключение, вариант 2 ===
При выполнении процедуры выключения выполняется скрипт [[#Скрипт systemd-shutdown|systemd-shutdown]], котовый устанавливает ''1'' (уровень 3.3 В) на ''GPIO21'' (контакт 40 [[raspberry-pi-3-model-b:raspberry-pi-3-model-b#GPIO|GPIO]]), при этом открывается ключ на собранный транзисторе ''VT1'' и подаётся напряжение 5 В на обмотку реле ''K2'', при этом размыкаются контакты ''K2.1'', при этом обесточивается реле ''K1'' и прекращается подача напряжения 220 В на вход блока питания.
=== Схема ===
{{:mediaplayer_raspberry-pi-3b:relay_switch_power_supply_raspberry_pi.png?400|}}
{{:mediaplayer_raspberry-pi-3b:relay_switch_power_supply_raspberry_pi.pdf|Схема в PDF}}
{{:mediaplayer_raspberry-pi-3b:relay_switch_power_supply_raspberry_pi.qet|Схема}} в формате [[qelectrotech:qelectrotech|QElectroTech]]
=== Скрипт systemd-shutdown ===
Скрипт выполняется при завершении работы [[systemd:systemd|systemd]].
1. Нужно создать скрипт:
#!/bin/bash
if [ "$1" == "poweroff" ]; then
sleep 3s
sync
sleep 3s
umount -a
echo "21" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio21/direction
echo "1" > /sys/class/gpio/gpio21/value
sleep 30s
fi
2. Нужно дать права на выполнение скрипта:
chmod +x /lib/systemd/system-shutdown/gpio21-up
=== Комплектующие ===
* [[http://radioremont.com/product/14f2_845_5vdc_16a_888hn_1cc_f_c_5vdc_/|Реле 14F2 (845) 5VDC 16A (888HN-1CC-F-C 5VDC)]]
* [[http://radioremont.com/product/klemnaya_kolodka_tb_1503/|Клемная колодка TB-1503]]
* [[http://www.etm.ru/cat/nn/9731403/|Реле промежуточное 10А 220В 3ПК РЭК77/3 (RRP10-3-10-220A)]]
* [[http://www.iek.ru/products/catalog/detail.php?ID=9144|Реле РЭК77/3]]
* [[http://radioremont.com/product/korpus_20_35_100x60x40_/|Корпус 20-35 (100x60x40)]]
* Кнопка PBS26B (Зелёная), OFF-(ON) (2А 250В)
* Кнопка PBS26C (Красная), ON-(OFF) (2А 250В)
===== Кабели =====
=== Вариант 1 ===
[[cable_20awg_microusb-lg:cable_20awg_microusb-lg|Кабель питания (LG) Micro USB 0.35 м, 20AWG]]
[[http://ru.aliexpress.com/item/22AWG-High-quality-micro-USB-charging-cable-Andrews-Samsung-3A-fast-charging-D-D-short/32268333648.html|Кабель питания Micro USB 0.35 м, 22AWG]]
=== Вариант 2 ===
[[https://ru.aliexpress.com/item/22AWG-High-quality-micro-USB-charging-cable-Andrews-Samsung-3A-fast-charging-D-D-short/32268333648.html|Кабель питания Micro USB 0.35 м, 22AWG]]
{{:mediaplayer_raspberry-pi-3b:22awg-high-quality-micro-usb-charging-cable-andrews-samsung-3a-fast-charging-d-d-short.jpg?200|}}
[[https://ae01.alicdn.com/kf/HTB19WxrNXXXXXcgaXXXq6xXFXXXi/22AWG-High-quality-micro-USB-charging-cable-Andrews-Samsung-3A-fast-charging-D-D-short.jpg|Оригинал]]
===== USB Хаб =====
==== Вариант 1 ====
[[https://ru.aliexpress.com/item/USB-Extension-Cable-USB-3-0-Male-A-to-USB3-0-Female-A-AM-TO-AF/32619766012.html|Удлинитель USB 3.0 50см.]]
+
[[https://ru.aliexpress.com/item/4-Port-USB-3-0-Hub-5Gbps-Portable-Compact-for-PC-Mac-Laptop-Notebook-Desktop/32580082043.html|Хаб USB 3.0, 4 порта, с разъёмом питания]]
Устройство определяется так:
05e3:0610 Genesys Logic, Inc. 4-port hub
{{:mediaplayer_raspberry-pi-3b:usb3-0-hub-4-port-power.jpg?350|}}
[[https://ae01.alicdn.com/kf/HTB1Fhd3PXXXXXbnapXXq6xXFXXX0/Powered-Usb-3-0-Hub-4-Port-SuperSpeed-Compact-Hub-Adapter-USB-Hab-For-PC-Laptop.jpg|Оригинал]]
{{:mediaplayer_raspberry-pi-3b:usb3-0-hub-4-port-power_2.jpg?150|}}
[[https://ae01.alicdn.com/kf/HTB1601OPXXXXXXmXXXXq6xXFXXXr/Powered-Usb-3-0-Hub-4-Port-SuperSpeed-Compact-Hub-Adapter-USB-Hab-For-PC-Laptop.jpg|Оригинал]]
==== Вариант 2 ====
[[orico:g11-h4#orico_g11-h4-u2|Orico G11-H4-U2, с кабелем 30 см.]]
{{:orico:orico-mini-4-usb-2-0.jpg?350|Orico G11-H4-U2}}
===== DVD =====
[[https://ru.aliexpress.com/item/High-Quality-Portable-USB-2-0-DVD-CD-DVD-Rom-SATA-External-Case-Slim-for-Laptop/32584102822.html|Корпус для DVD/CD SATA ↔ USB 2.0]]
Контроллер определяется так:
13fd:0840 Initio Corporation INIC-1618L SATA
Привод: HL-DT-ST DVD+-RW GT32N
Подробнее настройке написано [[raspberry-pi-3-model-b:raspberry-pi-3-model-b#DVD|здесь]].
===== Корпус для Raspberry Pi =====
^Материал|акрил|
^Цвет|чёрный, прозрачный|
^Число пластин| 6 |
^Размеры (мм)|91x63|
Крепёж: в оригинале 4 винта М2 лучше заменить чтобы не болтались на М2.5, т.к. диаметр отверстий 2.7мм
|{{:mediaplayer_raspberry-pi-3b:box_1.jpg?200|}}|{{:mediaplayer_raspberry-pi-3b:box_2.jpg?200|}}|{{:mediaplayer_raspberry-pi-3b:box_3.jpg?200|}}|
|{{:mediaplayer_raspberry-pi-3b:box_4.jpg?200|}}|{{:mediaplayer_raspberry-pi-3b:box_5.jpg?200|}}|
[[https://ru.aliexpress.com/item/Raspberry-pi-3-case-double-color-black-transparent-shell-With-small-fan/32683673533.html|Товар в магазине: qingpeng Electronics co., LTD.]]
===== Охлаждение =====
Радиаторы:
{{:mediaplayer_raspberry-pi-3b:raspberry-pi-heat-sink-3pcs.jpg?150|}}
[[https://ru.aliexpress.com/item/Free-shipping-Raspberry-pi-B-special-heat-sink-2PCS/2052980673.html|Товар в магазине: qingpeng Electronics co., LTD.]]
==== Вариант 1 ====
^Название|Sunon KDE0503PFV2-8|
^Размер (мм)|30х30х10|
^Напряжение (В)|5|
^Ток (A)|0.13|
^Мощность (Вт)|0.7|
^Скорость вращения (об/мин)|8000|
^Максимальный воздушный поток (CFM)|4.6|
^Шум (dBA)|20|
^Вес (г)|8.7|
^Подключение проводов к плате| (-\+)|
Для уменьшения оборотов рекомендуется последовательно включить резистор 33Ом или использовать [[lm2596_dc-dc_step-down:lm2596_dc-dc_step-down|понижающий преобразователь напряжения на LM2596]].
[[http://www.atel.ru/products/fans/sunon/129-sunon-fans-2|Вентиляторы Sunon постоянного тока с магнитнолевитационной системой (подшипник VAPO)]]
==== Вариант 2 ====
{{:mediaplayer_raspberry-pi-3b:30x30x10-12в012a-2pin.png?200|}}
[[https://ru.aliexpress.com/item/High-quality-3010s-30MM-30-x-30-x-10MM-12V-2Pin-DC-Cooler-Small-Cooling/32603431500.html|Вентилятор 12В 0.13А 30х30х10]]
[[https://ru.aliexpress.com/item/1psc-XL6009-DC-DC-Booster-module-Power-supply-module-output-is-adjustable-Super-LM2577-step-up/32340934616.html|Повышающий преобразователь на LM2577(XL6009)]]
===== Игровой пульт USB =====
{{:mediaplayer_raspberry-pi-3b:mf01500_retropie.png?350|}}
[[https://cloud.githubusercontent.com/assets/10035308/16599633/7f34d356-42c0-11e6-92c0-f8774d795bd1.png|Оригинал]]
Nintendo SNES USB 2.0 (MF01500)
{{:mediaplayer_raspberry-pi-3b:mf01500.jpg?350|}}
[[https://ae01.alicdn.com/kf/HTB1P9cdNXXXXXXKapXXq6xXFXXXJ/202425401/HTB1P9cdNXXXXXXKapXXq6xXFXXXJ.jpg|Оригинал]]
https://ru.aliexpress.com/item/2pcs-wholesale-Wired-USB-Controller-Gamepad-Joystick-for-PC-Computer-Laptop-New-Arrival-White-Color/32292519885.html
[[aliexpress>item/32871954144.html|Ремкомплект для пульта]]
Контроллер определяется так:
0810:e501 Personal Communication Systems, Inc.
Подключено через [[orico:g11-h4#orico_g11-h4-u2|Orico G11-H4-U2, с кабелем 2 м.]]
==== RetroPie ====
FIXME
Настройки для [[retropie:retropie|RetroPie]]
Имя файла: /opt/retropie/configs/all/retroarch-joypads/usb gamepad .cfg
input_device = "usb gamepad "
input_driver = "udev"
input_l_btn = "4"
input_load_state_btn = "4"
input_start_btn = "9"
input_exit_emulator_btn = "9"
input_down_axis = "+1"
input_r_btn = "5"
input_save_state_btn = "5"
input_right_axis = "+0"
input_state_slot_increase_axis = "+0"
input_select_btn = "8"
input_left_axis = "-0"
input_state_slot_decrease_axis = "-0"
input_up_axis = "-1"
input_a_btn = "1"
input_b_btn = "2"
input_reset_btn = "2"
input_enable_hotkey_btn = "8"
input_x_btn = "0"
input_menu_toggle_btn = "0"
input_y_btn = "3"
/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh
====== Программы ======
Операционная система: [[osmc:osmc|OSMC (Open Source Media Center)]]
Проигрыватель: [[kodi:kodi|Kodi]], удалённое управление по HTTP: [[kodi:kodi#AWXi|AWXi]]
[[kodi:iptv_simple_client:edemtv|IPTV Simple Client — EDEM.TV]]
[[raspberry-pi-3-model-b:raspberry-pi-3-model-b#лицензия_на_mpeg-2|Лицензия на MPEG-2]]
====== Прототип ======
Выполнен на фанере размером (мм): 300×400, толщина 6.
{{:mediaplayer_raspberry-pi-3b:2017-08-19.jpg?350|}}
{{:mediaplayer_raspberry-pi-3b:2016-12-16.jpg?350|Розетки питания}}
{{:mediaplayer_raspberry-pi-3b:dvd_hdd.jpg?350|DVD и HDD}}
{{:mediaplayer_raspberry-pi-3b:hdd.jpg?350|HDD}}
{{:mediaplayer_raspberry-pi-3b:2017-08-19_1.jpg?350|Разъёмы}}
{{:mediaplayer_raspberry-pi-3b:2017-08-19_2.jpg?350|3 RCA}}
{{:mediaplayer_raspberry-pi-3b:gpio-2017-08-19.jpg?350|GPIO}}
Некоторые элементы закреплены при помощи: Зеркалодержатель (кляймер) №2 прозрачный для стекла 4 мм.
===== Ethernet удлинитель =====
Длина кабеля 30 см.
[[https://ru.aliexpress.com/item/0-3m-1M-1-5M-2M-3M-5M-RJ45-Cat-6-Male-to-Female-Ethernet-Lan/32768237837.html|Ethernet удлинитель]]
{{:mediaplayer_raspberry-pi-3b:rj45-cat-6-male-to-female-ethernet-lan.jpg?350|}}
[[https://ae01.alicdn.com/kf/HTB1CQNROpXXXXaXaXXXq6xXFXXXi/0-3m-1M-1-5M-2M-3M-5M-RJ45-Cat-6-Male-to-Female-Ethernet-Lan.jpg|Оригинал]]
===== HDMI Удлинитель =====
Длина кабеля 30 см.
[[https://ru.aliexpress.com/item/Gold-HDMI-Extension-Cable-Lead-High-Speed-HDMI-Male-to-Female-Ethernet-Extender-with-Screw-Hole/32700650084.html|HDMI Удлинитель 30 см.]]
{{:mediaplayer_raspberry-pi-3b:hdmi-extension-cable-male-to-female.jpg?350|HDMI Удлинитель 30 см.}}
[[https://ae01.alicdn.com/kf/HTB12x.kKVXXXXbkXVXXq6xXFXXXF/Gold-HDMI-Extension-Cable-Lead-High-Speed-HDMI-Male-to-Female-Ethernet-Extender-with-Screw-Hole.jpg|Оригинал]]
Запрессованные гайки под дюймовую резьбу, поэтому мне пришлось искать винты от HDD, они конечно были найдены, шлиц под биту Torx t8.
===== Разъёмы для вывода аналогового звука/изображения =====
[[raspberry-pi-3-model-b:raspberry-pi-3-model-b#аналоговый_звук_изображение|Разъём для передачи аналогового звука/изображения]]
1. Розетки RCA
[[https://ru.aliexpress.com/item/3-RCA-AV-connector-wall-plate-with-backside-screw-connector/32597709080.html|Магазин DMTMB Store: Плата с 3 RCA (Keystone)]]
{{:mediaplayer_raspberry-pi-3b:3rca_f_keystone.jpg?350|}}
[[https://ae01.alicdn.com/kf/HTB1gwyZLpXXXXcPXVXXq6xXFXXX2/3-RCA-AV-connector-wall-plate-with-backside-screw-connector.jpg_640x640.jpg|Оригинал]]
2. Кабель многожильный **МКЭШ 3*0.75**(Монтажный Кабель Экранированный с защитным Шлангом).
3. [[raspberry-pi-3-model-b:raspberry-pi-3-model-b?разъём_c_клеммой_колодкой|Разъём Jack, диаметр 3,5 мм, 4 контакта c клеммой колодкой]]
{{:raspberry-pi-3-model-b:3-av-3-5-4-av.jpg?300|}}
[[https://ru.aliexpress.com/item/Video-AV-Balun-3-5mm-4-Pole-Stereo-Male-to-AV-Screw-Terminal-Stereo-Jack-3/32721783767.html|Магазин R Connector Buy Official Store: Разъём Jack, диаметр 3,5 мм, 4 контакта c клеммой колодкой]]
[[https://ru.aliexpress.com/item/4Pcs-RCA-JPhono-Chassis-Panel-Mount-Jack-Plug-Socket-Connectors-Professional-Grade-Audio-Connectors-Balck-Red/32778817065.html|Розетка RCA (4 шт.)]]
{{:mediaplayer_raspberry-pi-3b:4pcs-rca-panel-mount-jack-plug-socket-.jpg?350|}}
[[https://ae01.alicdn.com/kf/HTB1ADLZOFXXXXcGXVXXq6xXFXXXR/4Pcs-RCA-JPhono-Chassis-Panel-Mount-Jack-Plug-Socket-Connectors-Professional-Grade-Audio-Connectors-Balck-Red.jpg|Оригинал]]
====== config.txt ======
[[raspberry-pi-3-model-b:raspberry-pi-3-model-b#config.txt|config.txt]]
root=/dev/mmcblk0p2 rootfstype=ext4 rootwait quiet osmcdev=rbp2
# For more options and information see
# https://www.raspberrypi.org/documentation/configuration/config-txt/README.md
# Some settings may impact device functionality. See link above for details
### Overclocking
### Hammen: ALL of these (except my comments) were removed when opening My OSMC, although I initially set them through there
# Disable turbo mode altogether
initial_turbo=0
force_turbo=0
# Safe voltage adjustment
over_voltage=2
# USB to 1.2A
max_usb_current=1
# Don't overclock RAM
over_voltage_sdram=0
# Lil CPU overclock
arm_freq=1000
core_freq=500
### HDMI
### Hammen: All of these were kept, also added through My OSMC using the Display tab
# No overscan
disable_overscan=1
hdmi_group=1
hdmi_mode=16
# Use EDID file instead of reading from monitor
hdmi_edid_file=1
# Disable rainbow splash screen
disable_splash=1
# Start X on boot
start_x=1
# Aspect ratio for SDTV
sdtv_aspect=3
# Normal PAL
sdtv_mode=2
# Always pretend there's an HDMI signal
hdmi_force_hotplug=1
# Ignore CEC init (like turn on your TV on rPI reboot)
#hdmi_ignore_cec_init=1
# DVI or HDMI mode (only affects audio etc)
hdmi_drive=2
### Various GPU memory sizes for different Raspberry models
### Hammen: Same as HDMI, except used GPU Mem & Codec tab to add them
gpu_mem_256=112
gpu_mem_512=144
gpu_mem_1024=256
### Some device trees
### Hammen: All gone too, set these through SSH > vim /boot/config.txt
# Temp sensor uses w1 and GPIO 4
# BMP280 pls
dtparam=i2c1=on
dtparam=i2c_arm=on
# IR RC
dtoverlay=lirc-rpi
dtparam=gpio_in_pin=18
dtparam=gpio_out_pin=17
# RTC
dtparam=i2c_arm=on
dtoverlay=i2c-rtc,ds3231
====== Ссылки ======
[[http://elinux.org/RPi_GPIO_Code_Samples#Shell|RPi GPIO Code Samples (Shell)]]
[[https://discourse.osmc.tv/t/is-it-possible-to-run-a-script-on-shutdown-after-filesystems-are-unmounted/8926/5|Is it possible to run a script on shutdown after filesystems are unmounted?]]
[[http://forum.ixbt.com/topic.cgi?id=60:4386|Raspberry Pi - как медиацентр (HTPC) на основе Kodi (XBMC)]]
{{tag>Hardware Examples}}