Chers amis. Il se trouve que ma publication précédente a été emportée par un OVNI, la considérant trop politisée. C'est la deuxième tentative de publication de ce texte. Hélas, je n'ai pas réussi à savoir quelles formulations spécifiques sont interdites sur Habré. Par conséquent, j'ai supprimé tous les noms et toutes les références aux personnes populaires et aux chaînes de télévision, afin de ne pas provoquer à nouveau d'anxiété dans le cœur ardent des lecteurs particulièrement compatissants et, par là, de modérer l'intensité des passions dans les commentaires. Cette humble idée de la mienne a été inventée dans le seul but de sortir mes parents bien-aimés de la "bulle d'information" de la télévision et de leur fournir une alternative au format supplémentaire et en même temps familière de nos vidéos familiales, ainsi que diverses vidéos d'Internet, intéressantes utile pour élargir les horizons. Avec un peu de chanceque cette fois l'OVNI laissera le poste seul, et vous, chers collègues, apprécierez la lecture.
Salut, Habra. Je veux vous raconter une histoire incroyable qui est arrivée à mes parents grâce à un petit appareil que j'ai collecté pour eux l'année dernière. En même temps, je vais vous parler du processus de création, et aussi partager quelques découvertes intéressantes.
Tout a commencé avec le fait que ma fille et moi sommes de nouveau venus rendre visite à nos parents. Mes parents sont âgés. Et, comme tous les retraités âgés, leurs joies sont simples: arroser les fleurs, se promener dans le parc, bavarder avec enfants et petits-enfants et, bien sûr, télé. Où sans elle.
Les parents regardent pour la première fois un film sensationnel il y a quelques années sur Youtube. (Sur la couverture TV "nue" RPI du premier modèle, preuve de concept, pour ainsi dire)
. , . , , . , , , . - , . . , , .
, , . , , - . . - . . , ( , ) . , , , -. . , . , , , . — . — - . , , . " , , . . , , , , ..." — .
.
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.
- … . . . , . .
Avertissement PS: Ne fabriquez jamais d'émetteur de faible puissance pour la grand-mère de votre voisin. C'est interdit! Soudainement, la grand-mère du voisin appuie encore de temps en temps sur le bouton habituel et regarde par inadvertance une mauvaise vidéo. Et dans de nombreuses localités, ce bouton fonctionne toujours comme avant. En général, je vous ai prévenu.
o----'\/\/\/'----o