NetAlertPi is an open-source project designed to monitor network connectivity by pinging a specified IP address or URL and triggering visual and auditory alerts when the connection fails. This project uses a Raspberry Pi and Arduino Uno to manage connectivity checks and to control the alerts, making it ideal for network administrators, developers, or anyone needing reliable network monitoring in small to medium network environments.
- Continuous Monitoring: Pings a predefined IP or URL at regular intervals to check connectivity.
- Auditory Alerts: Activates a buzzer when the connection is lost.
- Visual Alerts: Flashes LEDs to visually signal the loss of connectivity.
- Scalable: Supports multiple alert mechanisms and can be expanded with additional sensors or indicators.
- DIY Friendly: Leverages common components and open-source software, making it accessible for DIY enthusiasts.
- Raspberry Pi (any model with network capability, Pi 5 recommended)
- Arduino Uno Rev3
- Buzzer
- LEDs
- Resistors (220 ohms for LEDs)
- Jumper wires
- Breadboard (optional but recommended for prototyping)
- Connect LEDs and a buzzer to the Arduino according to the pin assignments detailed in the project documentation.
- Connect the Arduino Uno to the Raspberry Pi via a USB cable for serial communication.
- Install Raspberry Pi OS on your Raspberry Pi and set it up with network access.
- Install Python and necessary libraries (
pyserial
for communication). - Load the provided Arduino sketch onto the Arduino Uno using the Arduino IDE.
- Edit the Python script to specify the IP address or URL you want to monitor.
- Adjust the polling frequency as needed.
Run the Python script from your Raspberry Pi. The script will monitor the connection to the specified address. If the connection fails, the Raspberry Pi will signal the Arduino to activate the alerts.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
George - [email protected]
Feel free to modify this template to better fit your project's context or add any additional sections that could be beneficial like 'Known Issues', 'Future Plans', or 'Technical Details'.