Nilikuwa na hitaji la kuonyesha dashibodi yenye ufuatiliaji kwenye skrini kadhaa ofisini. Kuna Raspberry Pi Model B + ya zamani na hypervisor iliyo na rasilimali karibu isiyo na kikomo.
Inavyoonekana Raspberry Pi Model B+ haina randomness ya kutosha ili kuweka kivinjari kiendelee kila mara na kutoa picha nyingi ndani yake, kwa sababu ambayo hutokea kwamba ukurasa ni sehemu ya buggy na mara nyingi huanguka.
Kulikuwa na suluhisho rahisi na la kifahari, ambalo nataka kushiriki nawe.
Kama unavyojua, Raspberries zote zina kichakataji cha video chenye nguvu, ambacho ni bora kwa usimbaji wa video wa maunzi. Kwa hivyo wazo lilikuja kuzindua kivinjari na dashibodi mahali pengine, na kuhamisha mkondo uliotengenezwa tayari na picha iliyotolewa kwa raspberry.
Pamoja, hii inapaswa kuwa na usimamizi rahisi, kwani katika kesi hii usanidi wote utafanywa kwenye mashine moja ya kawaida, ambayo ni rahisi kusasisha na kuhifadhi nakala.
Hakuna mapema kusema kuliko kufanya.
Sehemu ya seva
Tunatumia tayari
Tunapeleka mashine mpya pepe na kwanza kabisa kuisakinisha juu yake
apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm
Pia tutatumia usanidi wa Xorg, kwa huruma
cat > /etc/X11/xorg.conf <<EOT
Section "Device"
Identifier "device"
Driver "vesa"
EndSection
Section "Screen"
Identifier "screen"
Device "device"
Monitor "monitor"
DefaultDepth 16
SubSection "Display"
Modes "1920x1080" "1280x1024" "1024x768" "800x600"
EndSubSection
EndSection
Section "Monitor"
Identifier "monitor"
HorizSync 20.0 - 50.0
VertRefresh 40.0 - 80.0
Option "DPMS"
EndSection
Section "ServerLayout"
Identifier "layout"
Screen "screen"
EndSection
EOT
systemctl restart nodm
Sasa tutasakinisha Firefox, tutaiendesha kama huduma ya mfumo, kwa hivyo kwa jambo moja tutaandika faili ya kitengo kwa ajili yake:
apt-get install -y firefox xdotool
cat > /etc/systemd/system/firefox.service <<EOT
[Unit]
Description=Firefox
After=network.target
[Service]
Restart=always
User=ubuntu
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/ubuntu/.Xauthority"
ExecStart=/usr/bin/firefox -url 'http://example.org/mydashboard'
ExecStartPost=/usr/bin/xdotool search --sync --onlyvisible --class "Firefox" windowactivate key F11
[Install]
WantedBy=graphical.target
EOT
systemctl enable firefox
systemctl start firefox
Tunahitaji Xdotool ili kuendesha firefox mara moja katika hali ya skrini nzima.
Kwa kutumia parameter -url
unaweza kutaja ukurasa wowote ili ufungue kiotomati wakati kivinjari kinapoanza.
Katika hatua hii, kioski chetu kiko tayari, lakini sasa tunahitaji kusafirisha picha kupitia mtandao kwa vidhibiti na vifaa vingine. Kwa kufanya hivyo, tutatumia uwezekano
Kwa hili tunahitaji vitu viwili:
apt-get install -y make gcc ffmpeg
cd /tmp/
wget https://github.com/ccrisan/streameye/archive/master.tar.gz
tar xvf master.tar.gz
cd streameye-master/
make
make install
cat > /etc/systemd/system/streameye.service <<EOT
[Unit]
Description=streamEye
After=network.target
[Service]
Restart=always
User=ubuntu
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/ubuntu/.Xauthority"
ExecStart=/bin/sh -c 'ffmpeg -f x11grab -s 1920x1080 -i :0 -r 1 -f mjpeg -q:v 5 - 2>/dev/null | streameye'
[Install]
WantedBy=graphical.target
EOT
systemctl enable streameye
systemctl start streameye
Kwa kuwa picha yetu haiitaji sasisho la haraka, nilitaja kiwango cha kuburudisha: fremu 1 kwa sekunde (parameta -r 1
) na ubora wa mgandamizo: 5 (parameta -q:v 5
)
Sasa hebu tujaribu kwenda
Upande wa mteja
Bado ni rahisi hapa, kama nilivyosema, tutatumia Raspberry Pi Model B +.
Kwanza kabisa, hebu tusakinishe
Tutahitaji pia kutenga kumbukumbu zaidi kwa chipu yetu ya video, kwa hili tutahariri /boot/config.txt
gpu_mem=128
Wacha tuwashe mfumo wetu mpya na usisahau kuanzisha ufunguo wa pacman, sakinisha
pacman -Sy omxplayer
Kwa kushangaza, OMXPlayer inaweza kufanya kazi bila x, kwa hivyo tunachohitaji ni kuiandikia faili ya kitengo na kukimbia:
cat > /etc/systemd/system/omxplayer.service <<EOT
[Unit]
Description=OMXPlayer
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/bin/omxplayer -r --live -b http://your-vm:8080/ --aspect-mode full
[Install]
WantedBy=multi-user.target
EOT
systemctl enable omxplayer
systemctl start omxplayer
Kama kigezo -b http://your-vm:8080/
tunapitisha url kutoka kwa seva yetu.
Hiyo yote, picha kutoka kwa seva yetu inapaswa kuonekana mara moja kwenye skrini iliyounganishwa. Iwapo kutatokea matatizo yoyote, mtiririko huo utazimwa upya kiotomatiki na wateja wataunganisha tena.
Kama bonasi, unaweza kusakinisha picha inayotokana kama kihifadhi skrini kwenye kompyuta zote ofisini. Kwa hili utahitaji
mode: one
selected: 0
programs:
"Monitoring Screen" mpv --really-quiet --no-audio --fs
--loop=inf --no-stop-screensaver
--wid=$XSCREENSAVER_WINDOW
http://your-vm:8080/ n
maze -root n
electricsheep --root 1 n
Sasa wenzako watafurahi sana π
Chanzo: mapenzi.com