Plateforme WEB-SMS sur Rapsberry PI
Voilà ! J'ai enfin trouvé le temps de vous mettre en ligne ma plateforme de SMS maison. J'ai fait en sorte de pouvoir l'utiliser avec un NAS Synology afin qu'il me prévienne par SMS et non plus par e-mail des problèmes qu'il rencontre.
Comment ca marche ?
Un dessin vaut mieux que de longs discours...Attention : Je ne fais pas de support, ni de service après vente !! donc :
Vous devez connaitre un peu la programmation PHP, savoir utiliser un logiciel de transfert SFTP ( sudo apt-get install bareFTP ), savoir installer un Debian sur votre rapsberry et vous en servir, avoir suivi mon précédent tuto sur l'utilisation et la configuration d'un vieux téléphone portable sur Rapsberry via Gammu
Je ne suis biensûr pas responsable de votre forfait et des coûts d'envoi de vos sms ! De plus si vous publiez votre raspberry sur Internet, vous risquez d'avoir des sms qui partent tout seul si une personne mal intentionnée s'aperçoit que vous hébergez ce service ! Bref, si vous êtes grand et responsable vous pouvez continuer à lire...
Avant toute chose, ouvrez un putty ou une console SSH et connectez-vous à votre raspberry.
1) Installation des composants sur le Raspberry Pi :
- Installez Apache2 ( sudo apt-get install apache2 )- Installez MySQL ( sudo apt-get install mysql-server )
- Installez PHP ( sudo apt-get install php5 )
- Optionnel : Installer PhpMyAdmin (optionnel si vous déchirez tout en SQL et que ne jurez que par la bonne vieille ligne de commande)
2 ) Récupération des sources :
- via mon github ou directement : ici- Décompressez le fichier ZIP sur votre poste de travail.
3) Transfert de fichiers (via BareFTP par exemple) :
Transférer tous les répertoires ("agent", "app" et "test") dans le home de l'utilisateur pi du Raspberry Pi (généralement /home/pi)4) Déplacement des fichiers web :
Déplacer les répertoires "app" et "test" à la racine web (généralement /var/www/ ). Vous aurez sans doute besoin de faire un sudo pour permettre le déplacement des fichiers.- sudo mv app /var/www/
- sudo mv test /var/www/
5) Base de données :
- Créez un utilisateur ( avec un mot de passe hein !) et une base de données sur le Raspberry PI pour l'envoi des SMS soit via phpMyAdmin (http://IP_DE_VOTRE_RAPSBERRY/phpMyAdmin/) soit en ligne de commande.
- Importez dans cette base de données le fichier SQL fourni ( app/db.sql )
En ce qui me concerne, j'ai créé un utilisateur sms ayant tous les droits sur la base de données du même nom. J'utiliserais donc ce nom d'utilisateur et de base de données
Vous devriez avoir à ce moment quelque chose de ce style :
6) Configuration du WebService :
Depuis la console connectée au Raspberry :- cd /var/www/app/ (ou le chemin vers lequel vous avez déplacé le rép. app)
- sudo nano config.app.php
- Configurez la connexion à la base selon vos paramètres
- dbname=sms
- $db['DB_USR'] = "sms";
- $db['DB_PWD'] = "[VOTRE_MOT_DE_PASSE]";
http://ip_de_votre_raspberry/test/ puis remplissez le formulaire et validez avec OK :
Vous devriez voir apparaitre le message suivant :
Et dans la base de données un nouvel enregistrement doit être présent :
Et voilà, votre WebService de réception est prêt !
7) Configuration et automatisation de l'agent
Si vous avez bien suivi mon précédent tutorial sur la configuration de gammu, tout devrais fonctionner parfaitement (sinon je vous invite à paramétrer le fichier "config.agent.php").
Dans la console connectée au raspberry tapez :
cd ~/agent/
sh sms_agent.sh
Ce qui devrait vous donner le résultat suivant (avec moins de sauts de lignes) :
il ne vous reste plus qu'a ajouter l'agent à votre cronjob pour que le script vérifie toutes les minutes si un sms est à envoyer !
crontab cronjob
Pour aller plus loin :
- Si vous êtes hors de France, pensez à remplacer le préfixe par celui de votre code pays à la ligne 33 du fichier dbSMS.class.php- GammuSMSd est un démon fait pour envoyer et recevoir des SMS avec Gammu. Je pense que je tenterais de jouer avec bientôt. Je vous invite à faire de même !
Commentaires
Enregistrer un commentaire