Simbisa skrini kune akawanda madivayiri panetiweki

Simbisa skrini kune akawanda madivayiri panetiweki

Ndaida kuratidza dashboard ine monitoring pane akati wandei muhofisi. Kune akati wandei ekare Raspberry Pi Model B + uye hypervisor ine ingangoita isina muganho huwandu hwezviwanikwa.

Sezviri pachena iyo Raspberry Pi Model B + haina kurongeka kwakakwana kuchengetedza bhurawuza ichigara ichimhanya uye ichipa akawanda magiraidhi mairi, nekuda kweiyo inoitika kuti peji yacho ine chikamu bhagi uye inowanzopunzika.

Paive nemhinduro yakapusa uye yakanakisa, yandinoda kugovana newe.

Sezvaunoziva, ese maRaspberries ane zvine simba vhidhiyo processor, iyo yakanaka kune hardware vhidhiyo decoding. Saka zano rakauya rekutanga bhurawuza ine dashboard kumwe kunhu, uye kutumira yakagadzirira-yakagadzirwa rukova ine mufananidzo wakapihwa kune raspberry.

Uyezve, izvi zvinofanirwa kunge zvakarerutsa manejimendi, sezvo mune iyi mamiriro ese anozoitwa pamushini mumwe chete, uri nyore kugadzirisa uye kuchengetedza.

Hapana kupera nguva.

Server chikamu

Isu tinoshandisa takagadzirira Cloud Image yeUbuntu. Hazvidi kuisirwa, ine zvese zvaunoda kukurumidza kutumira muchina chaiwo, uye CloudIt rutsigiro inobatsira kumisa network ipapo, wedzera ssh makiyi uye nekukasira kuisa mukushanda.

Isu tinoendesa mutsva wevirtual muchina uye chekutanga kuuisa pairi Xorg, nom ΠΈ flux box:

apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm

Isu tichashandisawo config yeXorg, nemutsa granted isu Diego Ongaro, achiwedzera chete sarudzo nyowani 1920 Γ— 1080, sezvo mamonitor edu ese achaishandisa:

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

Iye zvino tichaisa Firefox, tichaimhanya sesevhisi yehurongwa, saka nekuda kwechinhu chimwe tichanyora faira reyuniti yayo:

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

Isu tinoda Xdotool kuitira kuti timhanye firefox nekukurumidza mune yakazara skrini modhi.
Kushandisa parameter -url unogona kutsanangura chero peji kuitira kuti rivhure otomatiki kana browser yatanga.

Panguva ino, kiosk yedu yakagadzirira, asi ikozvino tinoda kuendesa kunze kwechifananidzo kunetiweki kune mamwe mamonitor nemidziyo. Kuti tiite izvi, tichashandisa mikana Kufambisa JPEG, chimiro chinowanzo shandiswa kutepfenyura vhidhiyo kubva kumawebhusaiti mazhinji.

Nokuda kweizvi tinoda zvinhu zviviri: FFmpeg pamwe module x11 kubata, yekutora mifananidzo kubva kuX uye streamEye, iyo inozoigovera kune vatengi vedu:

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

Sezvo mufananidzo wedu usingade kukurumidza kugadzirisa, ndakatsanangura mwero wekuzorodza: ​​1 furemu pasekondi (parameter -r 1) uye compression mhando: 5 (parameter -q:v 5)

Zvino ngatiedzei kuenda http://your-vm:8080/, mukupindura iwe uchaona inogara yakagadziridzwa skrini yedesktop. Hukuru! - chii chaidiwa.

Client side

Zvichiri nyore pano, sezvandakataura, isu tichashandisa iyo Raspberry Pi Model B +.

Chekutanga, ngatiiise ArchLinux ARM, nokuda kwaizvozvi tinotevera mirayiridzo pane webhusaiti yepamutemo.

Isu tichazodawo kugovera imwe ndangariro kune yedu vhidhiyo chip, pane izvi isu tichagadzirisa mukati /boot/config.txt

gpu_mem=128

Ngatitangei sisitimu yedu nyowani uye usakanganwe kutanga iyo pacman keyring, isa OMXPlayer:

pacman -Sy omxplayer

Zvinoshamisa, OMXPlayer inogona kushanda isina X, saka chatinongoda kunyora faira reyuniti uye kumhanya:

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

Separameter -b http://your-vm:8080/ tiri kupfuudza url kubva kune yedu server.

Ndizvo chete, pikicha kubva kuseva yedu inofanira kubva yangooneka pane yakabatana skrini. Kana paine matambudziko, rukova rwunobva rwatangwa zvakare uye vatengi vanozobatanidza kwairi.

Sebhonasi, unogona kuisa iyo inoguma pikicha seyavhavha pamakomputa ese ari muhofisi. Nokuda kweizvi uchada MPV ΠΈ XScreenSaver:

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

Iye zvino vamwe vako vachafara kwazvo πŸ™‚

Source: www.habr.com

Voeg