Ku daadi shaashadda qalabyo badan oo shabakada ah

Ku daadi shaashadda qalabyo badan oo shabakada ah

Waxa aan u baahday in aan soo bandhigo dashboard-ka oo isha lagu hayo dhawr shaashad oo xafiiska ah. Waxaa jira dhowr nooc oo Raspberry Pi Model B + ah iyo hypervisor oo leh kheyraad aan xad lahayn.

Sida muuqata Raspberry Pi Model B+ ma laha randomity ku filan si uu browserku si joogto ah ugu shaqeeyo una soo saaro sawiro badan oo ku jira, taas oo ay sabab u tahay in bogga qayb ahaan buggy oo badiyaa shil galo.

Waxa jiray xal fudud oo qurux badan, kaas oo aan rabo in aan kula wadaago.

Sidaad ogtahay, dhammaan Raspberries waxay leeyihiin processor-ka fiidiyooga ah ee awood badan, kaas oo u fiican xallinta fiidiyowga qalabka. Sidaa darteed fikradda ayaa timid in la furo browser leh dashboard meel kale, oo lagu wareejiyo qulqul diyaarsan oo sawir la sameeyay oo loo gudbiyo raspberry.

Intaa waxaa dheer, tani waa inay lahaataa maarayn la fududeeyay, maadaama kiiskan oo dhan qaabeynta lagu sameyn doono hal mashiin, kaas oo sahlan in la cusboonaysiiyo iyo dib u habeyn.

Wax degdeg ah looma sheego.

Qayb server

Waxaan isticmaalnaa diyaar Sawirka Cloud ee Ubuntu. U baahan rakibid lahayn, waxay ka kooban tahay wax kasta oo aad u baahan tahay si aad si dhakhso ah u geyso mashiinka farsamada, iyo Taageerada CloudInit waxay ka caawisaa in si degdeg ah loo sameeyo shabakad, ku dar furayaasha ssh oo si dhakhso ah u hawl geliso.

Waxaan direynaa mishiin cusub oo dalwad ah oo marka hore ku rakibnaa Xorg, nodm ΠΈ sanduuqa:

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

Waxaan sidoo kale u isticmaali doonaa qaabeynta Xorg, si naxariis leh la siiyay anaga Diego Ongaro, isaga oo ku daray kaliya xal cusub 1920 Γ— 1080, maadaama dhammaan kormeerayaashayadu ay isticmaali doonaan:

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

Hadda waxaan rakibi doonaa Firefox, waxaan u socodsiin doonaa sidii adeeg nidaam, markaa hal shay waxaan u qori doonaa faylka cutubka:

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

Waxaan u baahanahay Xdotool si aan ugu socodsiino Firefox isla markaaba qaab shaashad buuxda ah.
Isticmaalka cabbirka -url waxaad cayimi kartaa bog kasta si uu si toos ah u furmo marka browserku bilaabo.

Marxaladdan, dukaankeenu waa diyaar, laakiin hadda waxaan u baahanahay inaan u dhoofino sawirka shabakada kormeerayaasha iyo qalabka kale. Si tan loo sameeyo, waxaan isticmaali doonaa fursadaha Mooshinka JPEG, oo ah qaab inta badan loo isticmaalo baahinta muqaalka inta badan kamaradaha webka.

Tan waxaan u baahanahay laba shay: FFmpeg oo leh module x11 qabso, si loogu sawiro sawirada x iyo isha isha, kaas oo u qaybin doona macaamiisheena:

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

Maaddaama sawirkayagu aanu u baahnayn casriyeyn degdeg ah, waxaan cayimay heerka dib-u-cusboonaysiinta: 1 frame per second (parameter -r 1) iyo tayada cadaadiska: 5 (parameter -q:v 5)

Hadda aan isku dayno inaan aadno http://your-vm:8080/, jawaabta waxaad arki doontaa shaashadda shaashadda oo joogto ah oo la cusboonaysiiyay. Wayn! - maxaa loo baahnaa.

Dhinaca macmiilka

Weli way fududahay halkan, sidaan idhi, waxaanu isticmaali doonaa Raspberry Pi Model B +.

Marka hore, aan ku rakibno ArchLinux ARM, tan waanu raacnaa tilmaamaha on website-ka rasmiga ah.

Waxaan sidoo kale u baahan doonaa inaan u qoondeyno xusuusta badan ee chip-kayaga fiidyaha ah, taas awgeed ayaan wax u beddeli doonaa /boot/config.txt

gpu_mem=128

Aynu kabo nidaamkayaga cusub hana iloobin inaad bilawdo furaha pacman, ku rakib OMXPlayer:

pacman -Sy omxplayer

Waxa cajiib ah, OMXPlayer wuu shaqayn karaa X la'aanteed, marka waxa kaliya ee aan u baahanahay waa inaan u qorno fayl halbeeg ah oo aan socodsiino:

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

Halbeeg ahaan -b http://your-vm:8080/ Waxaan ka gudbineynaa url server-kayaga.

Taasi waa dhan, sawirka server-kayaga waa inuu isla markiiba ka soo muuqdaa shaashadda ku xiran. Haddii ay dhacdo wax dhibaato ah, qulqulka si toos ah ayaa dib loo bilaabi doonaa oo macaamiishu waxay dib ugu xidhi doonaan.

Gunno ahaan, waxaad ku rakibi kartaa sawirka ka soo baxay sidii shaashad ilaalin ah dhammaan kombiyuutarada xafiiska. Tan waxaad u baahan doontaa 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

Hadda asxaabtaada aad bay u farxi doonaan πŸ™‚

Source: www.habr.com

Add a comment