En se basant sur les scripts déjà développés pour imprimer des coupons sur notre hotspot Wifipak Mini Zero et après quelques jours en labo, il nous est apparu totalement faisable d’utiliser le système pour générer cette fois des coupons sur les hotspots Unifi.

Le principe reste le même :

  • un fichier de configuration accessible en ssh ou ftp, fichier dans lequel on inscrit l’IP du serveur Unifi, le login, le mot de passe, et l’identifiant du site géré.
  • l’appel à un script pour générer des codes, par exemple 5 coupons d’une journée (1440 minutes) : sh gen.sh 1440 5 DAY
  • l’impression de chaque code : un ticket avec le code, la durée.

Pour le moment, le script shell de génération des coupons sur mesure fonctionne parfaitement bien :

 

Avec un peu de modifications, l’API d’Unifi permet désormais de lire le script de configuration. Vous allez pour cela modifier unifi-api.sh au tout début comme suit :

#!/bin/sh
#
# Entrer ici le login/pass et l'IP du gestionnaire Unifi dans baseurl, ainsi que le nom du site
#
# on lit ici le fichier de configuration /home/pi/config.cfg
#
. /home/pi/config.cfg 
username=$login >&2
password=$pass >&2
baseurl=$ip >&2
site=$sitename >&2

Bien entendu, supprimez les mentions à username, password, baseurl, et site du script d’origine, fixées en “fixe”.

Je vous laisse chercher un peu, mais si vous mettez config.cfg dans un répertoire spécialement dédié, /home/pi/setup par exemple, si vous activez un serveur ftp, si vous créez un login setup qui n’accèdera qu’à ce répertoire, vous allez au final disposer d’un système totalement configurable par un utilisateur lambda.

Je vous ai donné quelques pistes, à vous de créer maintenant 😉