E hoʻoheheʻe i ka pale i nā mea he nui ma luna o ka pūnaewele

E hoʻoheheʻe i ka pale i nā mea he nui ma luna o ka pūnaewele

Pono wau e hōʻike i kahi dashboard me ka nānā ʻana i kekahi mau pale ma ke keʻena. Aia kekahi mau Raspberry Pi Model B + kahiko a me kahi hypervisor me kahi kumu palena ʻole.

ʻIke ʻia ʻaʻole lawa ka randomness o ka Raspberry Pi Model B+ e hoʻomau i ka holo mau ʻana o ka polokalamu kele pūnaewele a hāʻawi i nā kiʻi he nui i loko, no ka mea, he hapa ka ʻaoʻao o ka ʻaoʻao a hāʻule pinepine.

Aia kahi hopena maʻalahi a nani, makemake wau e kaʻana like me ʻoe.

E like me kāu e ʻike ai, loaʻa i nā Raspberry āpau kahi kaʻina wikiō ikaika loa, maikaʻi loa ia no ka decoding wikiō hāmeʻa. No laila ua hiki mai ka manaʻo e hoʻomaka i kahi polokalamu kele pūnaewele me kahi dashboard ma kahi ʻē aʻe, a hoʻouna i kahi kahawai i mākaukau me kahi kiʻi i hāʻawi ʻia i ka raspberry.

Eia hou, pono e hoʻoponopono maʻalahi kēia, no ka mea ma kēia hihia e hana ʻia nā hoʻonohonoho āpau ma kahi mīkini virtual, ʻoi aku ka maʻalahi o ka hoʻonui a me ka hoʻihoʻi.

ʻAʻole i ʻōlelo koke ʻia.

ʻāpana kikowaena

Hoʻohana mākou i ka mākaukau Kiʻi Cloud no Ubuntu. ʻAʻole pono e hoʻokomo, aia nā mea a pau āu e pono ai e hoʻonohonoho wikiwiki i kahi mīkini virtual, a Kākoʻo CloudInit kōkua e hoʻonohonoho koke i kahi pūnaewele, hoʻohui i nā kī ssh a hoʻokomo koke i ka hana.

Hoʻonoho mākou i kahi mīkini virtual hou a hoʻokomo mua iā ia ma luna ʻO Xorg, nodm и pahu paʻi:

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

E hoʻohana pū mākou i ka config no Xorg, ʻoluʻolu hāʻawi ʻia iā mākou Diego Ongaro, e hoʻohui wale ana i kahi hoʻoholo hou 1920 × 1080, no ka mea, e hoʻohana nā mea nānā a pau iā mākou:

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

I kēia manawa e hoʻokomo mākou iā Firefox, e holo mākou ma ke ʻano he lawelawe ʻōnaehana, no laila no ka mea hoʻokahi e kākau mākou i kahi faila no ia:

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

Pono mākou iā Xdotool e holo koke i ka firefox ma ke ʻano pale piha.
Ke hoʻohana nei i ka ʻāpana -url hiki iā ʻoe ke kuhikuhi i kekahi ʻaoʻao e wehe ʻokoʻa i ka wā e hoʻomaka ai ka polokalamu kele pūnaewele.

I kēia manawa, ua mākaukau kā mākou kiosk, akā i kēia manawa pono mākou e hoʻokuʻu i ke kiʻi ma luna o ka pūnaewele i nā mea nānā a me nā mea hana ʻē aʻe. No ka hana ʻana i kēia, e hoʻohana mākou i nā mea hiki Nīnau JPEG, he ʻano i hoʻohana pinepine ʻia no ka hoʻoheheʻe wikiō mai ka hapa nui o nā webcams.

No kēia, pono mākou i ʻelua mau mea: FFmpeg me ka module x11 hopu, no ke kiʻi ʻana i nā kiʻi mai nā X a me streamEye, nāna e hāʻawi aku i kā mākou mea kūʻai:

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

No ka mea ʻaʻole koi kā mākou kiʻi i kahi hoʻonui wikiwiki, ua kuhikuhi wau i ka helu hoʻomaha: 1 kiʻi i kekona (parameter -r 1) a me ka maikaʻi kaomi: 5 (parameter -q:v 5)

I kēia manawa e hoʻāʻo kāua e hele i http://your-vm:8080/, ma ka pane ʻana e ʻike ʻoe i kahi kiʻi paʻi i hoʻonui mau ʻia o ka pākaukau. Nui! - ka mea i pono.

ʻaoʻao mea kūʻai aku

ʻOi aku ka maʻalahi ma aneʻi, e like me kaʻu i ʻōlelo ai, e hoʻohana mākou i ka Raspberry Pi Model B +.

ʻO ka mea mua, e hoʻokomo kākou ArchLinux ARM, no keia ke hahai nei makou nā kuhikuhi ma ka pūnaewele mau.

Pono mākou e hoʻokaʻawale i ka hoʻomanaʻo hou no kā mākou chip wikiō, no kēia mea mākou e hoʻoponopono ai /boot/config.txt

gpu_mem=128

E hoʻomaka i kā mākou ʻōnaehana hou a mai poina e hoʻomaka i ke kī kī pacman, e hoʻokomo OMXPlayer:

pacman -Sy omxplayer

ʻO ka mea kupaianaha, hiki iā OMXPlayer ke hana me ka ʻole o X, no laila ʻo ka mea e pono ai mākou e kākau i kahi faila no ia a holo:

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

Ma ke ʻano he ʻāpana -b http://your-vm:8080/ ke hāʻawi nei mākou i ka url mai kā mākou kikowaena.

ʻO ia wale nō, ʻike koke ʻia kahi kiʻi mai kā mākou kikowaena ma ka pale pili. Inā pilikia kekahi, e hoʻomaka hou ke kahawai a e hoʻopili hou nā mea kūʻai aku iā ia.

Ma ke ʻano he bonus, hiki iā ʻoe ke hoʻokomo i ke kiʻi i hopena ma ke ʻano he pale pale ma nā kamepiula āpau i ke keʻena. No kēia e pono ai ʻoe 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

I kēia manawa e hauʻoli loa kāu mau hoa hana 🙂

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka