Born to be wired
733278 visites
Uptime 80 days

Articles taggés avec ‘FBUS’

 SMS automatisé – Round one, fight !

 16 janvier 2013  Domotique  8 commentaires
Nokia 3310 avec carte SIM B&You et data cable

S’il existe une fonctionnalité que je souhaite mettre en place depuis bien longtemps autour de mon serveur sans me ruiner, c’est la possibilité de pouvoir envoyer de manière automatisée des SMS de notifications aux numéros de mon choix. Et accessoirement, de pouvoir en recevoir aussi.

Cela ouvre en effet un large éventail de possibilités supplémentaires : couplage avec le système domotique, diversification des moyens de notification, diversification des moyens de déclenchement d’actions, ou pourquoi pas moyens complémentaires de validation d’une session, comme le font la plupart des banques à l’heure actuelle lorsqu’un particulier demande une transaction d’une certaine importance.

Il y a quelques mois, ceci n’aurait été réalisable pour un montant raisonnable à faible volumétrie, lorsqu’on table comme moi sur une vingtaine de SMS par an à tout casser, qu’en passant par des API développées par des prestataires tiers, du type smsbox.net. Mais pour ma part, j’aime l’idée de garder le contrôle de mon architecture amateur sur le plus grand périmètre possible, et ce type de service facture une valeur ajoutée par rapport au coût du SMS simple que je souhaite pouvoir économiser. Avec l’arrivée l’an dernier de l’opérateur béni des dieux Free Mobile sur le marché, les opérateurs de téléphonie mobile ont tous subitement attrapé « comme par hasard » la fièvre humaniste/altruiste et ont décidé à la quasi-unanimité de revoir à la baisse leurs tarifs exorbitants. D’autres encore se sont diversifiés, à l’instar de B&You, proposant une carte pré-payée sans durée limite de validité, pour peu que le client s’affranchisse d’au moins un acte tarifé (communication, SMS, data…) par an.

C’est cette nouvelle offre qui m’a fait sauter le pas, à 5 centimes par an le coût d’envoi du SMS de ping permettant de maintenir la ligne, il serait dommage de se priver.

Avant d’investir dans du matériel plus évolué, j’ai tout d’abord cherché à réutiliser ce qui trainait dans mes vieilles affaires. Pour cette maquette, j’ai donc utilisé :

  • Un serveur Linux, dans mon cas un clone de ma Debian sur VM, qui fera office de machine d’émission de SMS.
  • Un téléphone quelconque avec une carte SIM valide, dans mon cas mon Nokia C7-00 (ne vous moquez pas S.V.P, je n’ai pas les moyens de claquer ma fortune dans un Galaxy S3), qui sera l’appareil destiné à la réception.
  • Un vieux Nokia 3310 de récup’, le téléphone star que les moins de vingt ans ne peuvent pas connaitre, qui faisait de vous à l’époque le personnage le plus hype des utilisateurs de mobile, car on pouvait jouer à Snake et composer ses propres sonneries (moi j’avais composé Ecuador de Sash! et pour ça j’inspirais le respect à mes semblables).
  • Une carte SIM B&You, 4.99€, réglée avec Eurocard Mastercard.
  • Un câble de communication 3310 USB, 5€ sur eBay, réglé avec Eurocard Mastercard.
  • Le plaisir de monter sa propre plate-forme d’envoi de SMS, ça n’a pas de prix.

Pour commencer, on insère la carte SIM B&You dans le mobile et on connecte le câble de communication sur celui-ci. Notez que comme il s’agit d’un modèle du début des années 2000, époque où les téléphones mobiles étaient relativement peu conçus pour permettre à leurs utilisateurs de les connecter avec du matériel informatique, il faut démonter la partie arrière de la coque pour pouvoir brancher le câble de comm’.

Nokia 3310 avec carte SIM B&You et data cable

Nokia 3310 avec carte SIM B&You et data cable

On branche ensuite l’autre extrémité du câble sur le port USB du serveur, la VM pour moi dans le cadre de cette maquette. On allume le mobile et on le déverrouille en entrant le code PIN. On en profite pour changer le logo par défaut, parce que ça permet de se la péter quand on poste la photo sur un blog de geek.

Le soft utilisé pour le logo : LogoManager sous Windows. Oui, ça ne sert à rien, et alors ?

Le soft utilisé pour le logo : LogoManager sous Windows. Oui, ça ne sert à rien, et alors ?

Le câble est basé sur un chip PL2303, qui est automatiquement reconnu par le système pour peu qu’on ait embarqué le support pl2303 dans le kernel ou en tant que module.

dhalsim:/$ lsusb
Bus 003 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Ensuite la magie opère grâce à gnokii, un soft en ligne de commande spécialisé dans la communication FBUS utilisée par les vieux Nokia, mais qui peut aussi communiquer en commandes AT comme le font la plupart des téléphones actuels. Le wiki de gnokki indique que le 3310 utilise le driver Nk6100, ce que j’indique dans le fichier de configuration en même temps que le device sur lequel le câble data USB est connecté. J’ai modifié uniquement 3 lignes du fichier de configuration par défaut :

[global]
model = 6110
port = /dev/ttyS0
connection = serial

On demande à gnokii d’envoyer un SMS de test, grâce à une commande simplissime. Par sécurité, j’ai indiqué le n° destination au format international. J’imagine que l’utilisation des n° au format national est possible aussi.

dhalsim-session-gnokii

On admire enfin la réception du SMS sur le mobile destinataire. On peut alors savourer la victoire avec un bon Dry Martini comme le ferait James Bond après une mission accomplie avec classe.

You win! Perfect!

You win! Perfect!

Voila, c’est tout simple ! J’ai fait une mini-vidéo du processus complet d’envoi-réception, dans laquelle j’envoie simplement la date et l’heure système par SMS, au lieu du message de test ci-dessus. C’est un peu flou, filmé et monté à l’arrache, et il a fallu compresser à outrance pour conserver un fichier de taille raisonnable, mais il faut savoir que je subis des pressions fortes d’une partie de mon entourage professionnel et en même temps unique lectorat pour que je mette en ligne l’article accompagné de la vidéo sans attendre les calendes grecques. Ces gens s’acharnent sur la touche F5 de leur clavier toutes les 10 secondes, me mettant par effet de bord sous la menace d’une attaque DDOS, je ne peux me permettre de ruiner leur productivité plus longtemps :)

Prochaine étape de ce projet : seconde maquette avec l’utilisation d’un « vrai » modem GSM et des commandes AT. À moins qu’une connerie ne vienne s’intercaler dans le programme…