Overview:

The raspberry pi operating system should come pre-installed with python3. This is the language that all of the scripts contained in the document were written in. Each of the provided scripts can be imported into the run.py script, this will call each of the specified scripts on boot.

run.py – This script will be started on boot by the simple service that has been created, it will then call on functions on the below scripts as specified.
outage_test.py – This is the primary script for determining the occurrence of an outage, it will consistently ping googles DNS (8.8.8.8) every 30 minutes (the script currently runs this ping from the wifi interface). If a response is not received, the device will then call the gateway_ping.py script.
gateway_ping.py – This script will act similarly to the above script, however it will ping the default gateway. If a response is received a phone home email will be sent specifying that the issue lays with the interface itself rather than the entire network. If a response is not received, the user will be notified of a network outage.
phone_home.py – This script contains functions that will be called on by the other listed scripts. This script will craft an email notification that will serve as a means of informing the end user of a problem.
speed_test.py – This is a simple test that will display download and upload speeds. With this information a user can determine if a network is operating at full capacity.
SSID_Test.py – This test will list all detectable SSIDs in the area. This should be used to determine if new network hosts have been established.
temps.py – This test will display the current temperature of the raspberry pi, this is primarily for troubleshooting power failure.
cpu.py – This test will display current CPU usage percentage in order to determine that the raspberry pi is operating at full capacity.

