Problémy s Raspberry po ztrátě připojení

Raspberry Pi se mi občas odpojilo od WiFi a už se samo nepřipojilo. Musel jsem tak RPI restartovat nebo připojit klávesnici s monitorem a ručně ho připojit. Naštěstí je snadný způsob jak těmto problémům předejít – napsat skript, který tento problém sám vyřeší.

Nejdříve s vytvoříme skript, který ověří připojení k internetu a případně restartuje síťové rozhraní. IP je třeba nahradit za adresu routeru nebo jiného prvku, ke kterému se RPi zkusí připojit.

# IP je třeba nahradit adresou routeru
ping -c4 192.168.0.1 > /dev/null

if [ $? != 0 ]
then
echo „Problém s WiFi, restart rozhraní“
/sbin/ifdown ‚wlan0‘
sleep 5
/sbin/ifup –force ‚wlan0‘
fi

Skript jsem si uložil do /usr/local/bin/wifi.sh
Nastavil jsem správné oprávnění
sudo chmod 775 /usr/local/bin/checkwifi.sh
A nakonec jsem nastavil cron, aby skript každých pět minut spustil.
crontab -e
Celý řádek vyadá takto
*/5 * * * * /usr/bin/sudo -H /usr/local/bin/wifi.sh >> /dev/null 2>&1

Úpravu crontabu stačí uložit a vše je hotovo.

Jak celý skript funguje?

  • ping -c4 192.168.0.1 > /dev/null
    RPi se pokusí 4 spojit s routerem a textový výstup zahodí – výsledek si zjistíme jednoduší cestou
  • if [ $? != 0 ]
    pokud se ping spojil, v proměnné $? je uložena 0, v opačném případě je uložen chybový kód
  • /sbin/ifdown ‚wlan0‘
    vypnut WiFi sítového rozhraní
  • sleep 5
    5 vteřin pauza
  • /sbin/ifup –force ‚wlan0‘
    opětové spuštění WiFi rozhraní, které způsobí automatické znovupřipojení k síti.

Odpovědět..

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *