The following script is for monitoring if an IP address is reachable or not. If it becomes unavailable the script will turn on a LED that is plugged into one of the GPIO pins of the Raspberry Pi. View pinout here
Script
#!/bin/bash
# Script to ping ip address and turn on LED on if device is unreachable.
nPin="18" # Change if GPIO pin is different
ledPin="gpio${nPin}" toPing="8.8.8.8" # Change to address you want to ping
echo "${nPin}" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/${ledPin}/direction
if ( fping -r1 $toPing | grep -v alive ); then
echo "Internet unreachable"
# Turn on LED
echo "1" > /sys/class/gpio/${ledPin}/value
else
# Turn off LED
echo "0" > /sys/class/gpio/${ledPin}/value
fi
Save script as ping_led.sh and make it executable.
chmod +x ping_led.sh
and run the script.
sh ping_led.sh
Run script in crontab
You can setup the script to run every minute using a crontab
crontab -e
Add the following line
*/1 * * * * /home/pi/ping_led.sh
Should now execute the script every minute and not need any human interaction.