Portál AbcLinuxu, 8. května 2025 06:54

Dotaz: Vykonání skritpu pres ssh

19.10.2020 14:42 matata | skóre: 13
Vykonání skritpu pres ssh
Přečteno: 425×
Odpovědět | Admin
Ahoj prosím o nasměrovani... bohuzel moc netusim vo co go, je to dost nad moje aktualni znalosti. Tak pokud mozno polopaticky... dik moc.

Ovladam vysavac z Home assistanta. Mám rootly mi robot vacuum v1. Potrebuji poresit obnoveni mapy.

K robotovi lze pristupovat pres ssh. V robotovi bezi ubuntu 14.04.

Vzdy kdyz dojede do dokovaci stanice potrebuji spustit pres ssh tento script:

zalogovat se sudo su chmod 777 /mnt/data/rockrobo rm /mnt/data/rockrobo/last_map cp /mnt/data/rockrobo/backup/last_map /mnt/data/rockrobo reboot

Jak spustit automatizaci po zajeti do stanice vim, Ale vubec netusim jak na to s tim ssh... Rucne pres putty to funguje v pohode, ale ja to potrebuji zautomatozivat. Neco jsem googlil ale moudrej z toho nejsem.

Napadají mě dve variantny - bud jak spustit script pres ssh na z jineho zarizeni na tom vysavaci. Druha varianta, nastavit ten script v cronu primo v robotovi. Tam by ale bylo nutne checkovat, zda je robot v dokovaci stanici. A to vuec netusim... :-/

Nasel jsem k tomu tohle, ale vubec nevim... :( https://community.home-assistant.io/t/hass-io-and-making-ssh-client-requests-to-another-device/47225

Zkusite me prosim navest, zda a jak je to proveditelne? Dekuji moc.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.10.2020 16:06 X
Rozbalit Rozbalit vše Re: Vykonání skritpu pres ssh
Odpovědět | | Sbalit | Link | Blokovat | Admin
a] nastav si prihlaseni klicem b] ssh user@ip "prikaz"
Gréta avatar 19.10.2020 16:48 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Vykonání skritpu pres ssh
Odpovědět | | Sbalit | Link | Blokovat | Admin

Jak spustit automatizaci po zajeti do stanice vim.........

................Tam by ale bylo nutne checkovat, zda je robot v dokovaci stanici. A to vuec netusim

nóó tak to víš nebo nevíš????????? :O :O

ty to jako detekuješ třeba nějak kamerkou/senzorem zvnějšku nebo to ten robůtek umí jakoby nějak sám vodsebe poznat a umí sám třeba udělat nějakej příkaz když zajede do tý dokovací stanice?? :O :O pokud to umí poznat nějak a ten příkaz je furt stejnej tak je imho blbost nato brát ssh a mit to závislí na nějakým dalším stroji :O ;D

tak jako tak si ty příkazy v robůtkoj napiš jako bash skriptík hele jestli to sou furt stejný příkazy nóó a pak skriptík buď pouštěj z nějaký ty 'automatizace' v robůtkoj nóó nebo třeba skrz to ssh jestli to nejde řešit jinak :O :O

uživatel kterej to bude pouštět bude muset mit práva nato udělat ten reboot hele (misto shutdown piš reboot)

#!/usr/bin/env bash
# je nutný furt nazačátku dělat to chmod na složce?? mysim že ne :O :O
# tamto mv a cp si myslim že de nahradit pomocí kopírování s přepsáním :O ;D
# reboot se udělá jenom když první příkaz jakože to cp uspěje ale asi bude potřeba
cp -f /mnt/data/rockrobo/backup/last_map /mnt/data/rockrobo/ && reboot

btw tendleten robůtek by jako měl mit nějakej svuj komunikační protokol hele a třeba by toho šlo ňák využít ale tomu nerozumim :D

Zelená energetická soustava založená na obnovitelnejch zdrojích energie versus realnej svět 🤡🇪🇸
19.10.2020 21:03 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Vykonání skritpu pres ssh
Odpovědět | | Sbalit | Link | Blokovat | Admin
Spracovanie, ci sa nabija.

Napr. spracuvavaj vystup upower -m cez popen() a pouzi deamon().
debian.plus@protonmail.com
Gréta avatar 21.10.2020 14:07 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Vykonání skritpu pres ssh

hlídat nabíjení by moh bejt dobrej hack jak to jakoby vobejít jestli si to robot neumí jinak pohlídat to že je zaparkovanej jakoby v tom svým 'domečku' :D ;D

slabina tohodletoho řešení je když třeba vypadne eletrika nebo tak něco ale toby zas jako nemusel bejt až takovej problem prostě byho to restartovalo :O :O

takže třeba takle nějak nekonečnej hlídací skriptík

#!/usr/bin/env bash

# pomocná proměná 'robot_byl_mimo_domecek' která si pamatuje jestli už robot vyjel z domečku
# předpokládám že výchozí stav je žeje robot ve svým domečku a nabíjí se 
# a eště teda jakoby nebyl mimo ten svuj nabíjecí 'domeček'
robot_byl_mimo_domecek=0

#nekonečnej cyklus
while true
do
    # on_ac_power nám vrací jedničku když je 'počítač' strčenej dozásuvky a nulu když jede z baterek
    # https://linux.die.net/man/1/on_ac_power
    if on_ac_power; then 
    
        # pokud je proměná 'robot_byl_mimo_domecek' rovna jedičce
        if [ $robot_byl_mimo_domecek -eq 1 ]; then 
        
            #robot se nabíjí a už byl mimo domeček -> chápem to jakože přijel zpátky do svýho domečku
            # a mužem udělat tamto přepsání mapy a reboot
            cp -f /mnt/data/rockrobo/backup/last_map /mnt/data/rockrobo/ && reboot
            
        fi

    else
        
        #pokud se nenabíjí tak asi vodjel z domečku
        robot_byl_mimo_domecek=1

    fi
    
    #pět sekund počkáme a uděláme cyklus znova a tak dál a tak dál prostě furt donekonečna
    sleep 5
done

nóó a protože ubuntu 14 nemá systemd ale nějakej takovej ten starověkej initd nóó tak si nejsem uplně jistá jak jako ten skriptík správně pustit jako service nebo co tam v tom initd maj aby to hlídalo když třeba nějak skriptík spadne a znova hoto pustilo :O :O :/ :/

nějakej dobovej návod hele a hele

21.10.2020 14:36 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Vykonání skritpu pres ssh
Sikovny ten prikaz on_ac_power (nove pre mna):
(on_ac_power && echo on ac ) || echo on battery
debian.plus@protonmail.com
22.10.2020 08:53 matata | skóre: 13
Rozbalit Rozbalit vše Re: Vykonání skritpu pres ssh
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díky moc všem, zase jsem chytrejsi.

Nakonec jsem to teda udelal z druhe strany. NA strane home assistanta jsem vygeneroval klic pro pristup do robota pres ssh. A pri zajeti do docku se z HA poslou do robota prikazy...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.