Raspberry Pi fabriquer un moniteur reseau

Dans cet article,je vais vous présentez mon moniteur réseau fait maison qui allume une LED quand l’appareil est connecté sur le réseau.

20150207_153436

20150207_153449

 

Chaque LED allumée correspond à un périphérique connecté de mon réseau via un petit script qui lance un ping toutes les minutes, si le ping répond la LED s’allume, si il répond pas la LED s’éteint.

Liste du matériels :

Branchement

On peut brancher 8 led max sur 1 Raspberry type B, une sur chaque gpio

p1header-large

Donc on branche le positif de nos LED sur les GPIO et on relies toutes les masses sur le 0v (Ground) du Raspberry.

Vous pouvez brancher un potentiomètre sur la masse mais ce n’est pas obligatoire.

Programmation

Niveaux code on va avoir 2 scriptes, un qui va se lancer au démarrage du Raspberry  et passer tous les GPIO en sortie, le deuxième va se lancer toutes les minutes va faire un ping et allumer ou éteindre la LED suivant la réponse.

Captuhre

zdzd

C’est parti on se connecte au pi en SSH et on va commencer par installer la librairie  wiringpi (dispo ici).

sudo apt-get install git-core
sudo apt-get update
sudo apt-get upgrade
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

Pour tester.

gpio readall

Doit vous afficher un tableau avec tous les GPIO et leur état.

Maintenant on va créer le premier script quo mais les GPIO en sortie

sudo nano gpio.sh

on copie le scripte:

#!/bin/bash
sudo gpio mode 0 out
 sudo gpio mode 1 out
 sudo gpio mode 2 out
 sudo gpio mode 3 out
 sudo gpio mode 4 out
 sudo gpio mode 5 out
 sudo gpio mode 6 out
 sudo gpio mode 7 out
 sudo gpio write 0 0
 sudo gpio write 1 0
 sudo gpio write 2 0
 sudo gpio write 3 0
 sudo gpio write 4 0
 sudo gpio write 5 0
 sudo gpio write 6 0
 sudo gpio write 7 0

On sauvegarde CTRL-X.

On le rend exécutable.

sudo chmod +x gpio.sh

On crée le deuxième scripte.

sudo nano ping.sh

on colle le code et on modifie les ip :

#!/bin/bash
 if ping -n -c 1 192.168.1.16 >/dev/null 2>&1; then sudo gpio write 1 1 ; else sudo gpio write 1 0 ; fi
 if ping -n -c 1 192.168.1.17 >/dev/null 2>&1; then sudo gpio write 5 1 ; else sudo gpio write 5 0 ; fi
 if ping -n -c 1 192.168.1.13 >/dev/null 2>&1; then sudo gpio write 4 1 ; else sudo gpio write 4 0 ; fi
 if ping -n -c 1 192.168.1.15 >/dev/null 2>&1; then sudo gpio write 3 1 ; else sudo gpio write 3 0 ; fi
 if ping -n -c 1 192.168.1.56 >/dev/null 2>&1; then sudo gpio write 2 1 ; else sudo gpio write 2 0 ; fi
 if ping -n -c 1 192.168.1.39 >/dev/null 2>&1; then sudo gpio write 7 1 ; else sudo gpio write 7 0 ; fi
 if ping -n -c 1 192.168.1.20 >/dev/null 2>&1; then sudo gpio write 6 1 ; else sudo gpio write 6 0 ; fi
 if ping -n -c 1 192.168.1.11 >/dev/null 2>&1; then sudo gpio write 0 1 ; else sudo gpio write 0 0 ; fi
On sauvegarde CTRL-X
On le rend executabke
sudo chmod +x ping.sh

On peut tester, lancez d’abord gpio.sh

./gpio.sh

Ensuite

./ping.sh

Les LEDs devraient s’allumer suivant les appareils connecter sur votre box, mais pour actualiser les LEDs faudra relancer manuellement le script ping.sh pas très pratique donc on va ajouter ça dans le fichier  Crontab.

sudo crontab -e

on ajoute le script gpio au démarrage

@reboot sh /home/pi/gpio.sh > /home/pi/gpio.lo 2>&1

Et le script ping.sh pour qu’il se lance toute le minutte

* * * * * sh /home/pi/ping.sh > /home/pi/ping.sh 2>&1

CTRL-X pour sauvegarder

dfghfgh

On redémarre le Raspberry.

sudo reboot

Voila j’espère que cet article vous aura plus n’hésitez pas à poser vos questions dans les commentaires.

We will be happy to hear your thoughts

Leave a reply

Register New Account
Reset Password
Compare items
  • Cameras (0)
  • Phones (0)
Compare
0