Би оффисын хэд хэдэн дэлгэц дээр хяналтын самбарыг харуулах шаардлагатай болсон. Хэд хэдэн хуучин Raspberry Pi Model B + ба бараг хязгааргүй нөөцтэй гипервизор байдаг.
Raspberry Pi Model B+ нь хөтчийг байнга ажиллуулж, дотор нь маш олон график үзүүлэхэд хангалттай санамсаргүй байдал байхгүй тул хуудас нь хэсэгчлэн алдаатай, ихэвчлэн гацдаг.
Маш энгийн бөгөөд гоёмсог шийдэл байсан бөгөөд би та бүхэнтэй хуваалцахыг хүсч байна.
Та бүхний мэдэж байгаагаар бүх бөөрөлзгөнө нь нэлээд хүчирхэг видео процессортой бөгөөд энэ нь техник хангамжийн видео кодыг тайлахад тохиромжтой. Тиймээс өөр газар хяналтын самбар бүхий хөтөчийг ажиллуулж, зурагтай бэлэн урсгалыг бөөрөлзгөнө рүү шилжүүлэх санаа гарч ирэв.
Дээрээс нь энэ нь хялбаршуулсан менежменттэй байх ёстой, учир нь энэ тохиолдолд бүх тохиргоог нэг виртуал машин дээр хийх бөгөөд үүнийг шинэчлэх, нөөцлөхөд хялбар байдаг.
Хэлэхээс өмнө хийсэн.
Серверийн хэсэг
Бид бэлэн хэрэглэдэг
Бид шинэ виртуал машин байрлуулж, юуны түрүүнд түүн дээр суулгана
apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm
Бид мөн Xorg-ийн тохиргоог ашиглах болно
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
Одоо бид Firefox-г суулгах болно, бид үүнийг системийн үйлчилгээ болгон ажиллуулах болно, тиймээс нэг зүйл бол түүнд зориулж нэгж файл бичих болно:
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
Firefox-ыг нэн даруй бүтэн дэлгэцийн горимд ажиллуулахын тулд бидэнд Xdotool хэрэгтэй.
Параметр ашиглах -url
хөтөч эхлэхэд автоматаар нээгдэхийн тулд та дурын хуудсыг зааж өгч болно.
Энэ үе шатанд манай ТҮЦ бэлэн болсон, гэхдээ одоо бид сүлжээгээр дамжуулан бусад дэлгэц, төхөөрөмж рүү зургийг экспортлох шаардлагатай байна. Үүний тулд бид боломжуудыг ашиглах болно
Үүний тулд бидэнд хоёр зүйл хэрэгтэй:
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
Манай зураг хурдан шинэчлэх шаардлагагүй тул би сэргээх хурдыг зааж өгсөн: секундэд 1 кадр (параметр -r 1
) ба шахалтын чанар: 5 (параметр -q:v 5
)
Одоо тийшээ очихыг хичээцгээе
Үйлчлүүлэгч тал
Миний хэлсэнчлэн энд илүү хялбар хэвээр байна, бид Raspberry Pi Model B + ашиглах болно.
Юуны өмнө үүнийг суулгаж үзье
Мөн бид видео чипдээ илүү их санах ойг хуваарилах шаардлагатай бөгөөд үүний тулд бид засварлах болно /boot/config.txt
gpu_mem=128
Шинэ системээ ачаалъя, pacman түлхүүрийн бөгжийг эхлүүлэх, суулгахаа бүү мартаарай
pacman -Sy omxplayer
Сонирхолтой нь, OMXPlayer нь xгүйгээр ажиллах боломжтой тул бидэнд хэрэгтэй зүйл бол түүнд зориулж нэг нэгж файл бичиж, ажиллуулах:
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
Параметр болгон -b http://your-vm:8080/
Бид серверээсээ url-г дамжуулж байна.
Ингээд л манай серверийн зураг холбогдсон дэлгэц дээр нэн даруй гарч ирэх ёстой. Ямар нэгэн асуудал гарвал дамжуулалтыг автоматаар дахин эхлүүлж, үйлчлүүлэгчид түүнтэй дахин холбогдох болно.
Урамшууллын хувьд та оффисын бүх компьютерт дэлгэцийн амраагч болгон суулгаж болно. Үүний тулд танд хэрэгтэй болно
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
Одоо танай хамт олон маш их баяртай байх болно 🙂
Эх сурвалж: www.habr.com