親愛なる友人。私の以前の出版物は、過度に政治化されていると考えて、UFOに流されてしまいました。これは、このテキストを公開する2回目の試みです。残念ながら、Habréで禁止されている特定の製剤を見つけることができませんでした。そのため、特に思いやりのある読者の熱烈な心に再び不安を引き起こさないように、そしてそれによってコメントの情熱の強さを和らげるために、私はすべての名前と人気のある人々とテレビチャンネルへのすべての言及を削除しました。私のこの控えめな発案は、私の最愛の両親をテレビの「情報バブル」から取り除き、同時に、私たちの家族のビデオからの追加の、そして同時におなじみのフォーマットの代替物、およびインターネットからのさまざまなビデオを提供することを唯一の目的として発明されました。視野を広げるのに便利です。うまくいけば今回はUFOが投稿をそのままにして、親愛なる同僚の皆さんが読書を楽しんでくれることを。
こんにちは、ハブラ。昨年私が両親のために集めた小さなデバイスのおかげで私の両親に起こった素晴らしい話をあなたに伝えたいと思います。同時に、作成プロセスについて説明し、いくつかの興味深い発見についても共有します。
それはすべて、私の娘と私が再び両親を訪ねてきたという事実から始まりました。私の両親は年をとっています。そして、すべての年配の年金受給者のように、彼らの喜びは単純です:花に水をやる、公園を散歩する、子供や孫と話す、そしてもちろんテレビ。それなしでどこに。
両親は数年前に最初にセンセーショナルな映画を見ます。(TVカバーの最初のモデルの「裸の」RPI、いわば概念の証明)
. , . , , . , , , . - , . . , , .
, , . , , - . . - . . , ( , ) . , , , -. . , . , , , . — . — - . , , . " , , . . , , , , ..." — .
.
Interplay Medium. , RPi . , . , . . . , … - youtube . . , . — .
— .
, IR .
. , .
babooshka.tv , - :
- lirc,
- +
- IR ( IR LED , )
- RPi Zero ( ), PWM
. , + .
( , :) , , .
- Raspberry OS. Raspberry Pi OS Lite image
( 2018) IR. , . , , . . RX TX /dev/lirc, . RX TX , . , , -.
wifi SSH , , . , . , , , ddg it!
.
,
apt update
apt install mc fbi omxplayer sox
freefonts ( omxplayer )
apt install ttf-freefont
- freefonts RPi, , , freefonts /usr/share/fonts/truetype/...
sudo
cp -r freefont /usr/share/fonts/truetype/freefont
chown root:root /usr/share/fonts/truetype/freefont
chown root:root /usr/share/fonts/truetype/freefont/*
IR
apt install lirc
/etc/lirc/hardware.conf
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc1"
MODULES="gpio_ir_recv"
/etc/lirc/lirc_options.conf
! , known bug . , , .
driver = default
device = /dev/lirc1
.
irdb-get find YOUR_DEVICE
, YOUR_DEVICE.conf /etc/lirc/lircd.conf.d/ (, , , - )
, : , Lirc ' '. , ( , ...) ( ), . .
lircd.conf
cp /etc/lirc/lircd.conf.dist /etc/lirc/lircd.conf
/boot/config.txt, PAL - IR :
disable_splash=1
# disable_overscan=1
framebuffer_width=720
framebuffer_height=576
# enable PWM audio (add this line)
dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4
# uncomment for composite PAL
sdtv_mode=2
# uncomment if hdmi display is not detected and composite is being output
# hdmi_force_hotplug=1
# Uncomment this to enable the gpio-ir module
dtoverlay=gpio-ir,gpio_pin=23,gpio_pull=up
dtoverlay=gpio-ir-tx,gpio_pin=22
IR ,
/etc/udev/rules.d/71-lirc.rules /dev/lirc-rx /dev/lirc-tx:
ACTION=="add", SUBSYSTEM=="lirc", DRIVERS=="gpio_ir_recv", SYMLINK+="lirc-rx"
ACTION=="add", SUBSYSTEM=="lirc", DRIVERS=="gpio-ir-tx", SYMLINK+="lirc-tx"
ACTION=="add", SUBSYSTEM=="lirc", DRIVERS=="pwm-ir-tx", SYMLINK+="lirc-tx"
/etc/lirc/lirc_options.conf:
device = /dev/lirc-rx
listen = 0.0.0.0:8766
lirc_options.conf lirc_tx_options.conf :
device = /dev/lirc-tx
output = /var/run/lirc/lircd-tx
pidfile = /var/run/lirc/lircd-tx.pid
listen = 0.0.0.0:8765
connect = 127.0.0.1:8766
/etc/systemd/system/lircd-tx.service ( systemctl cat lircd) :
[Unit]
Documentation=man:lircd(8)
Documentation=http://lirc.org/html/configure.html
Description=Second lircd, the transmitter
Wants=lircd-setup.service
After=network.target lircd-setup.service lircd.service
[Service]
Type=simple
ExecStart=/usr/sbin/lircd --nodaemon --options-file /etc/lirc/lirc_tx_options.conf
[Install]
WantedBy=multi-user.target
Create /etc/systemd/system/lircd-tx.socket (from the output of systemctl cat lircd.socket) and edit it:
[Socket]
ListenStream=/run/lirc/lircd-tx
[Install]
WantedBy=sockets.target
Also=lircd-tx.service
/usr/local/bin/irsend
#! /bin/sh
exec /usr/bin/irsend --device=/var/run/lirc/lircd-tx "$@"
chmod +x /usr/local/bin/irsend
lircd-tx ( sudo)
systemctl daemon-reload
systemctl start lircd-tx
systemctl enable lircd-tx
RX (sudo ...)
systemctl enable lircd.service
systemctl enable lircd.socket
systemctl restart lircd
! Warning of duplication of "begin remote… end remote". . .
:)
systemctl reboot
systemctl status lircd.service
systemctl status lircd.socket
IR
- . . IR , MOSFET :) , , LED IR .
irsend SEND_ONCE SONY-TV KEY_1
RX
irw
, . .
systemctl stop lircd.socket
systemctl stop lircd.service
record with own key names
irrecord --disable-namespace
systemctl start lircd.socket
systemctl start lircd.service
raw ( )
irrecord -f -d /dev/lirc0 ~/lirc.conf
, , , . :
- next
- prev
- forward +10min
- backward -10min
- play/pause toggle
- pause on switching-off
- stop
- audio track switch
- subtitles switch
remoteir.sh
, , : next, prev play/pause toggle. , , . . remoteir.sh "ARR_DOWN" "ARR_UP" .. , irw . irw , .
irw
babooshka.tv
cd /home/pi/
git clone https://git.shalnoff.com/git/BABOOSHKA.TV
cd BABOOSHKA.TV/
git, . BABOOSHKA.TV .
.sh ( +x)
ls --all
, chmod +x *.sh
systemd ( LED )
/etc/systemd/system/splash.service
[Unit]
DefaultDependencies=no
After=local-fs.target
[Service]
StandardInput=tty
StandardOutput=tty
ExecStart=/home/pi/BABOOSHKA.TV/early_init.sh
[Install]
WantedBy=sysinit.target
sudo systemctl enable splash.service
/etc/rc.local
sudo -H -u pi /home/pi/BABOOSHKA.TV/start.babooshka.sh > /dev/null &
( sudo) .
systemctl reboot
, babooshka.tv. . .. , , . ramfs . . :) .
- - ~/BABOOSHKA.TV/VIDEO/
- , playlist ( 10 )
- , PLAY
- - , ,
, /boot/cmdline.txt. , console=tty3 quiet consoleblank=0 logo.nologo. :
console=serial0,115200 console=tty3 quiet consoleblank=0 loglevel=1 root=PARTUUID=6c586e13-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait logo.nologo
( , )
vt.global_cursor_default=0
tty login,
sudo systemctl disable getty@tty1
. ( , ) .
… IR TX. TX, . IR . -, - , , - . , , - , , . , . , . .
…
, . , , , , , , , . , , .
, ( ) - , . (!...)
, . … , … . . ? , , , " , … , … "… .
, , , :) , , .
. , , , , . .. — , . . 1 . , , , . , . . - "". , - .
. . , , RPi -.
, , , ...
, , . . " , -!" — .
, , , .
, . . ~200-5v 400 mA, , . 1A.
, . , 220v, .
, . micro USB - .
. 5v. R1 . ( … , )
, ) ) . .. , , , — .
LED +3,3v 470R
GPIO 0 BCM17 LED ,
GPIO 2 BCM27 LED , (, )
( , ~470R 1K )
IR
GPIO 3 BCM22 IR TX
GPIO 4 BCM23 IR RX
38kHz --
+-----------------------+ 3
| +---------------------o +3.3V
| ______________ |
| / |
| ( | 2
| \______________ +---------------------o GND
| |
| | 1
| data -> +---------------------o GPIO 4 (BCM23)
+-----------------------+
950nm ( TSUS5400, )
+5V
o
|
| | 51 Ohm ( MOSFET, )
|_|
|
_|_
\ /
--- IR LED
|
|
___ |---'
o-----|___|-----| MOSFET
10K |->--
GPIO 3 (BCM22) |
|
----- GND
---
-
, PWM
GPIO 1 BCM18 R AUDIO
GPIO 23 BCM13 L AUDIO
-
RPi . . . . .
WiFi . .
. . IR RX . , — IR , .
IR , . . , , - , 950nm.
. , , , :)
, , . -. …
. .
, SMD, . , , . , .
. , IR . . , , - , , . .. , — . , . , .
:
- ;
- ( 10 -);
- ;
- ( , -);
- ;
- ( )
, , :
- ;
- ;
- LED ;
- , "" ;
- , VIDEO YOUTUBE;
- , / ( , , )
- ( Usage: );
- "" , ';' ;
- "" ( ) ( Usage: );
, - ,
scp <your_super_cool_kitten_flick.mp4> <babooshka>:BABOOSHKA.TV/VIDEO/
ssh babooshka
cd BABOOSHKA.TV/YOUTUBE/
youtube-dl -f 'bestvideo[vcodec=avc1][height<=720]+bestaudio/best[abr<=120]' --merge-output-format mp4 -o '%(playlist_index)s - %(title)s.%(ext)s' <youtube link>
:) .
. , youtube-dl
apt install mkvtoolnix python-pip
pip install -U youtube-dl
. -level 3.0. , , RPi low profile. H264.
ffmpeg -i FILEIN -vcodec libx264 -preset slow -level 3.0 -b 700k -s 720x404 FILEOUT
- youtube-dl ( )
- youtube ( , youtube-dl RPi )
- Tox, . -. . IR .
https://git.shalnoff.com/BABOOSHKA.TV
, .
, , - OpenELEC OSMC. , . .. ( , experience :) 100% . — . , , :)
, . . , , IR . (+ 4 2 , RPi Zero). , , "" bash youtube .
. .
, , , , , . .. " " , .
, . , — . , , , . , , .
, youtub . , , . . , . " " .
, , , , .
, , . - , - . :
- . , instant , , ;
- RSS/JSON/plain ;
- ;
- ;
- ;
- "-";
- RSS youtube/vimeo
.. youtube, vimeo . , . OpenELEC, , .
, , / IPFS.
- … . . . , . .
PS免責事項:隣人の祖母のために低電力送信機を作らないでください。禁止です!突然、隣人の祖母はまだ時々いつものボタンを押して、うっかりして間違ったビデオを見ています。また、多くの地域では、このボタンは以前と同じように機能します。一般的に、私はあなたに警告しました。
o----'\/\/\/'----o