31/12/2006

Le serveur SMS d'Amisphère

Amisphère offrira la possibilité de mettre à jour son agenda avec son téléphone portable.

Disons que je suis dans un café un soir et j'ai envie que mes amis soient au courant de l'endroit où je me trouve. J'envoie un SMS au numéro de téléphone d'Amisphère et mon message est immédiatement affiché dans mon agenda. Mes amis qui sont connectés au site reçoivent une notification de mon SMS. Et hop, vienne qui veut...

Pour que le système ne coute que le prix d'un SMS normal, la solution la plus simple est de mettre au point un serveur qui s'occupera de vérifier le téléphone portable du site.

Le tout est fait avec du matériel de récupération:
- Carte compact flash achetée sur ebay pour installer le système
- Téléphone d'un ami, oui l'écran est cassé. Pas grave, je ne lis pas les SMS avec une webcam ;)
- Mini PC qui date de deux, trois ans

Quelques prises de tête plus tard, le système est fonctionnel.

Il me reste plusieurs choses à faire :
- Récupérer du courant sur la carte mère pour le disque dur afin de se passer du gros boitier de courant
- Tester la stabilité du système

Dans les dix jours qui viennent, j'installerai le serveur qui hébergera Amisphère et je ferai un petit programme de test pour afficher des SMS sur la page de garde.

Le site sera ouvert en version de test pour ceux qui se sont pré-inscrits le 2 / 2 / 2007. Il y aura surement beaucoup de bugs et de choses à améliorer, donc ne vous attendez pas à quelquechose d'exceptionnel ! :P

La date du 2 février est calculée pour qu'on puisse fêter le premier anniversaire du site un samedi en 2008 ! ;)

Sur ce, préparez bien vos résolutions et à l'année prochaine !

PS: Si vous avez un GSM Nokia fonctionnel que vous n'utilisez plus, je suis preneur !

5 commentaires:

Anonyme a dit…

Sympa ton idée du sms envoyé... Je suis assez curieux quand même: où as-tu as chopé toute la "doc" pour mettre au point ton serveur ? Ca m'intéresse :-)

Et puis, tu disais: "pour que le prix du sms ne soit pas trop élevé (je sais très bien que les boîtes qui pratiquent ce genre de technique ont tendance à 'arnaquer' leurs clients), je passe par une serveur home-made"

=> Tes sms sont traités comme des mails par le serveur et un script les affiche sur le site ? Tout se fait via python ?
=> C'est forcément ton nokia (cassé :D) qui récupère tous les sms mais comment le lien (et donc transfert) entre ton téléphone et le serveur est réalisé ? Peux-tu m'en dire plus ?

Merci beaucoup !

Amisphere a dit…

Les téléphones Nokia peuvent se comporter comme des modems. Une fois qu'on a créé un port ( une connexion avec un ordinateur par cable série, USB, ir, bluetooth ), on peut utiliser un programme pour communiquer avec le GSM ( hyperterminal sous Microsoft, Minicom sous linux... ).

Les Nokia comprennent les commandes AT des modems pour notamment récupérer les SMS. Nokia AT commands

On pourrait facilement faire un script qui vérifie si il y a des nouveaux messages.

Comme je n'ai pas beaucoup de temps, j'ai préféré utiliser une librairie qui fait ça à ma place. Elle s'appelle Gnokii.

Gnokii me permet de stocker les messages du téléphone portable sur le PC qui y est connecté.

Je fais un autre script qui va chercher dans le fichier SMS chaque message et qui fait une requête vers le serveur public d'Amisphère. Si le serveur me répond correctement ( code HTTP 200 OK ), je supprime le message du fichier et on recommence. Ce script est mis dans un crontab pour qu'il soit exécuté tous les x temps.

Vis à vis de tes commentaires:
Il y a deux types de services SMS disponibles :
- l'hébergement de ta carte SIM
- une connexion directe à un SMSC ( un serveur SMS )

La première est abordable bien que ça revienne quand même à 50 à 100 euros par mois.

La seconde est intéressante si tu as un flux de SMS important.

Si beaucoup de gens utilisent le service SMS sur Amisphère, il arrivera un moment où le système PC/GSM sera saturé et un SMSC pourrait être envisagé. Mon système coute 5 euros par an en recharge SMS + l'électricité.

On pourrait traiter les SMS comme des mails mais ça a quelques inconvénients.

Python est un language comme un autre et si tu veux faire la connexion en PHP ou en bash, c'est à toi de voir.

Si tu es intéressé, je ferai un article détaillé sur cette installation un peu plus tard.

Sam

PS: Nokia cassé, mais fonctionnel ! :P

Anonyme a dit…

merci pr tes éclaircicements... J'attends ton article avec impatience :-) !

Anonyme a dit…

Merdouille on est déjà le 3 et amisphere n'est pas encore là... Il n'est rien arrivé au développeur fou au moins ?!

Unknown a dit…

Bon là on est le 03/02/07 et toujours pas d'Amisphère!

Le lancement est donc reporté au vendredi prochain si je comprends bien?