Teman-teman. Kebetulan publikasi saya sebelumnya terbawa oleh UFO, mengingatnya terlalu dipolitisasi. Ini adalah upaya kedua untuk menerbitkan teks ini. Saya, sayangnya, tidak berhasil menemukan formulasi spesifik mana yang dilarang di HabrΓ©. Oleh karena itu, saya menghapus semua nama dan semua referensi orang-orang populer dan saluran televisi, agar tidak sekali lagi menimbulkan kecemasan di hati yang bersemangat terutama dari pembaca yang penuh kasih dan, dengan demikian, mengurangi intensitas hasrat dalam komentar. Gagasan sederhana saya ini diciptakan dengan tujuan membawa orang tua tercinta keluar dari "gelembung informasi" televisi dan memberi mereka tambahan dan, pada saat yang sama, alternatif format yang akrab dari video keluarga kami, serta berbagai video dari Internet, menarik dan berguna untuk memperluas wawasan. Semogabahwa kali ini UFO akan meninggalkan posnya sendiri, dan Anda, rekan-rekan terkasih, akan menikmati membaca.
Hai, Habra. Saya ingin menceritakan kisah luar biasa yang terjadi pada orang tua saya berkat perangkat kecil yang saya kumpulkan untuk mereka tahun lalu. Bersamaan dengan itu, saya akan bercerita tentang proses pembuatannya, dan juga berbagi beberapa penemuan menarik.
Semuanya dimulai dengan fakta bahwa putri saya dan saya sekali lagi datang mengunjungi orang tua kami. Orang tua saya sudah tua. Dan, seperti semua pensiunan lanjut usia, kegembiraan mereka sederhana: menyirami bunga, berjalan-jalan di taman, mengobrol dengan anak dan cucu, dan, tentu saja, TV. Dimana tanpa itu.
Orang tua pertama kali menonton film sensasional beberapa tahun lalu. (Di sampul TV RPI "telanjang" model pertama, bukti konsep, bisa dikatakan)
. , . , , . , , , . - , . . , , .
, , . , , - . . - . . , ( , ) . , , , -. . , . , , , . β . β - . , , . " , , . . , , , , ..." β .
.
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 Penafian: Jangan pernah membuat pemancar listrik rendah untuk nenek tetangga Anda. Itu dilarang! Tiba-tiba, nenek tetangga masih menekan tombol biasa dari waktu ke waktu dan secara tidak sengaja salah menonton video. Dan di banyak tempat, tombol ini masih berfungsi seperti sebelumnya. Secara umum, saya memperingatkan Anda.
o----'\/\/\/'----o