Raspberry Pi : Désactivation automatique du wifi la nuit

By | 15 October 2013

Si vous ne souhaiter pas que votre réseau wifi fonctionne pendant que vous dormez ou à certaine période soit pour des raisons de sécurités pour éviter un piratage ou soit pour des raisons de santé car vous craignez les ondes.

Pré requis :

  • Box ADSL Bouygues (ancienne génération)
  • Raspberry Pi connecté (24/24h)
  • Utilisation de Cron
  • Package   libwww-perl à installer (lwp-request: permet d'envoyer des commandes web)

 La mise en place est assez simple. Pour activer ou désactiver le wifi sur la box, on peut soit via le bouton physique sur la box, soit accéder à l'interface d'admin web local de la box (http://192.168.1.254) (L'adresse peut être différentes suivant les box)

C'est cette deuxième solution que nous allons utiliser pour scripter cette action et de programmer ensuite le lancement du script via le service cron.

Commentaires Adresse URL de commande du wifi de la BBOX
URL d'activation du Wifi  http://192.168.1.254/index.cgi?page=home&action=enablewifi
URL de désactivation du Wifi http://192.168.1.254/index.cgi?page=home&action=disablewifi

Chaque box ayant une interface d'administration différente les URL ci dessous s'applique uniquement à la bbox ancienne génération. Mais la possibilité de désactivation du wifi est surement présente sur les autres box. Il suffit peut être juste d'adapter les URL.

Maintenant que nous avons les URL de commande , il ne reste plus qu'a les lancer automatiquement aux heures indiquées.  Pour cela on va utiliser le gestionnaire de tâches 'cron' présent sous Linux/Unix.

Pour lancer l'éditeur de tâche cron (+infos sur Wikipedia) il suffit de lancer la commande:

crontab -e

Ensuite voici un exemple de commande :

30 06 * * 1-7 lwp-request "192.168.1.254/index.cgi?page=home&action=enablewifi" > /dev/null # (lancement du wifi à 06h30 7j/7j)
55 23 * * 1-7 lwp-request "192.168.1.254/index.cgi?page=home&action=disablewifi" > /dev/null # (désactivation du wifi à 23h55 7j/7j)

Vous pouvez adapter les horaires ou les jours suivant vos besoins. Enfin pour la prise en compte ces nouvelles tâches il faut lancer la commande

sudo /etc/init.d/cron reload

Est voila c'est terminé.
 

Leave a Reply

Your email address will not be published. Required fields are marked *