====== Проигрыватель на базе 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}}