Ба ман лозим буд, ки панели идоракуниро бо мониторинг дар якчанд экранҳои офис намоиш диҳам. Якчанд Raspberry Pi Model B + кӯҳна ва гипервизор бо миқдори қариб номаҳдуди захираҳо мавҷуданд.
Эҳтимол, Raspberry Pi Model B + тасодуфии кофӣ надорад, то браузерро пайваста кор кунад ва дар он графикаи зиёдеро пешкаш кунад, аз ин рӯ, саҳифа қисман хато мешавад ва аксар вақт садама мешавад.
Як ҳалли хеле содда ва шево вуҷуд дошт, ки ман мехоҳам бо шумо мубодила кунам.
Тавре ки шумо медонед, ҳама Raspberries дорои протсессори видеоии хеле пуриқтидор мебошанд, ки барои рамзкушоии видеои сахтафзор бузург аст. Ҳамин тавр, идея пайдо шуд, ки браузери дорои панели идоракуниро дар ҷои дигар оғоз кунад ва ҷараёни тайёрро бо тасвири намоишшуда ба малина интиқол диҳад.
Илова бар ин, ин бояд идоракунии соддашуда дошта бошад, зеро дар ин ҳолат ҳама конфигуратсия дар як мошини виртуалӣ иҷро карда мешавад, ки навсозӣ ва нусхабардорӣ осонтар аст.
Ҳанӯз ногуфта иҷро шуд.
Қисми сервер
Мо тайёрро истифода мебарем
Мо мошини нави виртуалиро ҷойгир мекунем ва пеш аз ҳама онро дар он насб мекунем
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
Ба мо Xdotool лозим аст, то Firefox фавран дар ҳолати пурраи экран кор кунад.
Истифодаи параметр -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
Акнун ҳамкорони шумо хеле шод хоҳанд шуд 🙂
Манбаъ: will.com