Giter Site home page Giter Site logo

raspbianfrance / raspisms Goto Github PK

View Code? Open in Web Editor NEW
163.0 18.0 70.0 9.44 MB

RaspiSMS est un système de gestion et d'envoi de SMS par ordinateur, initialement conçu pour les Raspberry Pi

Home Page: https://raspisms.fr

License: GNU General Public License v3.0

PHP 75.56% CSS 1.39% JavaScript 11.95% Shell 0.09% Less 5.21% SCSS 5.28% Python 0.52%
sms gsm sms-api raspberry-pi

raspisms's Introduction

RaspiSMS

RaspiSMS est une application web d'envoi et de réception de SMS, avec gestion des contacts et des groupes, le support de listes de diffusion dynamiques ou de SMS personnalisés.

L'application est compatible avec de nombreux services, depuis les API HTTP tiers jusqu'à l'utilisation d'un modem GSM avec une carte SIM.

L'application est sous licence libre et est disponible en auto-hébergement ou en mode SaaS

Installation

L'application n'est supportée officiellement que sur les distributions Linux à base Debian via un paquet .deb. Il est néanmoins possible de l'installer sur toute autre distribution utilisant systemd.

Voir les instructions d'installation.

Exemples d'utilisation

Voici quelques exemples d'utilisation de RaspiSMS

  • Envoyer et recevoir des SMS personnels depuis un ordinateur.
  • Envoyer des messages à des listes de diffusions et proposer une interface unifier pour gérer les communcations d'une association par SMS.
  • Effectuer des campagnes de communication par SMS.
  • Intégrer à une application pour l'envoi de notifications par SMS.
  • Déclencher des commandes systèmes par SMS et contrôler une machine sans accès internet.

Documentation

La documentation de RaspiSMS est disponible sur le site officiel.

Offre SaaS

Si vous ne pouvez pas ou ne souhaitez pas héberger vous même l'application, nous proposons une offre SaaS à 10€/mois.

C'est aussi un moyen simple de nous remercier pour notre travail et de financer le développement du projet.

Meta

RaspiSMS est un logiciel créé par https://raspberry-pi.fr@RaspberryPiFR[email protected]

Site officiel du projet : https://raspisms.fr.

Distribué sous license GNU/GPLv3. Voir LICENSE pour plus d'informations.

Contribuer au projet

  1. Forkez le projet
  2. Créez votre propre branche (git checkout -b feature/fooBar)
  3. Vérifier que vos changements respectent les règles de style avec l'outil tests/php-cs-fixer et tests/phpstan.
  4. Commitez vos changements (git commit -am 'Add some fooBar')
  5. Poussez sur la branche (git push origin feature/fooBar)
  6. Créez une nouvelle Pull Request

raspisms's People

Contributors

dam09fr avatar deajan avatar flavaud avatar jhillairet avatar memento avatar osaajani avatar raspbianfrance avatar zardam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

raspisms's Issues

message with special chars

all sms with :/ and "" does not send via webinterface .. can you say me how to fix to send all symbols (europe qwertz keyboard) thanks

Documentation : mise à jour nécessaire

J'utilise également RaspiSMS avec ma propre interface en dur et je me suis rendu compte qu'avec la nouvelle implémentation de votre Framework Descartes, l'url complète à fournir ne convenait plus.

Requête POST

curl -X POST http://URLCIBLE/smsAPI/send/ ...

L'utilisateur doit maintenant enlever le _send/_ et fournir une url complète du type :

Requête POST

curl -X POST http://URLCIBLE/smsAPI/ ...

Changement à effectuer ici

Impossible d'envoyer ou de recevoir (Erreur 27 - erreur inconnue) - l'avez-vous déjà eu ?

Bonjour, d'un jour à l'autre, j'ai eu cette erreur.
Impossible d'envoyer ou de recevoir de nouveaux SMS.
Les SMS à envoyer son mis dans le répertoire /var/spool/gammu/error/

Voici ce que j'ai dans le fichier /var/log/syslog :

Jul 25 11:10:01 raspberrypi /USR/SBIN/CRON[4386]: (root) CMD (/usr/local/sbin/checkcommand.sh)
Jul 25 11:10:01 raspberrypi /USR/SBIN/CRON[4385]: (root) CMD (cd /var/www/RaspiSMS && /var/www/RaspiSMS/console.php -c sendScheduleds)
Jul 25 11:10:01 raspberrypi /USR/SBIN/CRON[4387]: (root) CMD (cd /var/www/RaspiSMS && /var/www/RaspiSMS/console.php -c parseReceivedSMS)
Jul 25 11:11:01 raspberrypi /USR/SBIN/CRON[4848]: (root) CMD (cd /var/www/RaspiSMS && /var/www/RaspiSMS/console.php -c sendScheduleds)
Jul 25 11:11:01 raspberrypi /USR/SBIN/CRON[4849]: (root) CMD (/usr/local/sbin/checkcommand.sh)
Jul 25 11:11:01 raspberrypi /USR/SBIN/CRON[4850]: (root) CMD (cd /var/www/RaspiSMS && /var/www/RaspiSMS/console.php -c parseReceivedSMS)
Jul 25 11:11:03 raspberrypi gammu-smsd[4165]: Found 1 sms to "+33712345678" with text "test écolé 2#015" cod 3 lgt 13 udh: t 1 l 0 dlr: 1 fls: -1
Jul 25 11:11:03 raspberrypi gammu-smsd[4165]: New message to send: OUTC20160625_111057_00_+33712345678_sms0.smsbackup
Jul 25 11:11:03 raspberrypi gammu-smsd[4165]: Message without SMSC, assuming you want to use the one from phone
Jul 25 11:11:03 raspberrypi gammu-smsd[4165]: SMS sent on device: "/dev/ttyUSB0" status=500, reference=-1
Jul 25 11:11:03 raspberrypi gammu-smsd[4165]: Error getting send status of message: Erreur inconnue. (UNKNOWN[27])

Bien à vous !

SMS envoyé plusieurs fois

Bonjour,

Lorsque j'envoie un SMS via RaspiSMS, celui-ci est envoyé 2, voir 3 fois de suite....

Auriez vous une idée?

Merci

New system for MVC pingback

As discussed on Raspbian-France website, I think the pingback function of the MVC framework is not the good way to do.

As I said, the IP collect is not the problem but you collect the full URL of RaspiSMS deployed by users and this database is accessible by everybody. Imagine if somebody discover a security bug he just have to collect this URL and launch a massive attack...

Another very important point : users who didn't read the source code did not know it! You MUST allow users to know that you are going to collect this data and you must show him this data before you send it.
Example: on first access to RaspiSMS, display a text explaining why you collect this data, what you want to do with, show him the exact content on data to transfer and get his aggrement to do it.
At least, please add an information to the documentation and on the download pages of the tool !

Inclure la gestion des accusés de récéption

Bonjour Messieurs,

Merci de votre travail sur ce projet.
Je résume ici mes échanges par mail avec un membre de votre équipe sous forme d'une proposition d'amélioration.
Il devrait être possible de gérer les accusés de réception au sein du projet.
gammu-smsd-monitor permet de gérer le statut des SMS envoyés.

Je cite la page d'information de Gammu :

The package includes also tool gammu-smsd-inject which will help you creating long text messages and gammu-smsd-monitor which allows you to monitor current status of SMS Daemon or phone.

Après quelques recherches, j'ai communiqué un début de piste prometteur via mail :

Dans RaspiSMS\controllers\internalConsole.php, en remplaçant la ligne 137 :

$commande_send_sms = 'gammu-smsd-inject TEXT ' . escapeshellarg($number) . ' -len ' . mb_strlen($text_sms) . ' -text ' . $text_sms;

par :

$commande_send_sms = 'gammu-smsd-inject TEXT ' . escapeshellarg($number) . ' -len ' . mb_strlen($text_sms) . ' -text ' . $text_sms . ' -report ';

C'est à dire, en ajoutant -report à la fin de la commande gammu-smsd-inject, on active la fonction accusé de réception.
Pour information, on peut également ajouter -validity ( source pour les deux options )

Extrait man gammu

  • report
    • request delivery report for message
  • validity HOUR|6HOURS|DAY|3DAYS|WEEK|MAX
    • sets how long will be the message valid (SMSC will the discard the message after this time if it could not deliver it). Validity ne peut prendre qu'une des valeurs énumérées ci-dessus (HOUR, 6HOURS, DAY, 3DAYS, WEEK ou MAX)

Note :
Évidemment, cette modification du contrôleur n'est pas propre et il faudra que je continue à analyser le code et votre implémentation du MVC ( Cf. votre doc ) pour voir comment penser et inclure la possibilité de se servir des accusés de réception mais ça ne me semble pas trop complexe à faire. il faut savoir aussi que l'accusé de réception arrive comme un sms normal avec pour texte "Delivered" (par exemple, si le message est reçu) et comme numéro d'émetteur, le numéro du destinataire du SMS que l'on vient d'envoyer. Il va falloir réfléchir pour lier chaque accusé à son SMS (un accusé par portion de 160 caractères envoyés), sûrement supprimer directement cet accusé de réception pour éviter de polluer la boîte de réception. Si les sms ont une table à eux dans la base de données, le mieux serait peut-être d'ajouter une table accuse_de_reception (ou quelque chose du genre) avec en clef étrangère l'id du sms et de faire une jointure. Ensuite il faudrait colorer en jaune les sms envoyés avec accusés qui n'ont toujours pas été confirmés, en rouge les sms qui ont été envoyés avec accusé mais dont la durée de validité a été dépassée (même démarche pour la validité qui peut apporter un plus ) et bien sûr, les sms en vert seront ceux qui ont reçu un accusé (tout ceci n'est qu'une proposition, on peut très bien représenter l'information autrement).

Bien entendu, un simple ajout dans le formulaire d'envoi de SMS (cases à cocher) permettra de préciser si oui ou non on veut un accusé de réception et/ou une durée de validité pour le SMS au delà de laquelle le SMS sera considéré comme perdu.

Note : Il me faut aussi déterminer deux choses (si vous avez de infos, n'hésitez pas) :

  • Pour chaque statut de message (accusé), il faut déterminé quel est le texte retourné.
    Par exemple,
    • Delivered : Message reçu
    • ...
  • Il me faudrait savoir à quoi ressemble un sms reçu (juste avant qu'il soit passé à la moulinette par le fichier parseSMS.sh), parseSMS.sh étant à l'interface entre Gammu et RaspiSMS.
    La réponse à cette question déterminera si la gestion des acusés doit commencer dans le code php de RaspiSMS ou plus en amont dans parseSMS.sh. On pourrait aussi avoir une réponse quant au problème de lier chaque accusé à chaque sms précédemment envoyé (numéro de "série" ou id du SMS ? timestamp ?).

Ps : Je suis prêt à mettre les mains dans le cambouis.

Bien à vous,
Alexandre

Vitesse d'envoi de SMS

Bonjour,
J'essaie d'envoyer des SMS d'alertes lors de problèmes. Dans ce cadre-là, j'aimerais envoyer des SMS à 50 personnes le plus rapidement possible.
J'utilise l'API REST pour cela. C'est très rapide pour accepter la demande d'envoi, mais cela prend beaucoup de temps pour les livrer. Est-ce qu'il y a moyen d'accélérer cela? J'ai fais un test pour 100 et ça nécessite plus de 10 minutes...

Merci d’avance.

Guillaume

Envoi SMS à partir d'un site web

Bonjour,

Je suis aux anges depuis quelques jours, après la découverte de cet excellent produit. Simple, rapide et ergonomique. Différent de tous ce que j'avais imaginé.

Pour tout vous dire, nous sommes dans une phase d'adoption active pour le suivi de nos actions humanitaires au Niger.

Ma question :
Comment envoyer un SMS à partir d'un site web (via php) :

  • en utilisant l'API;
  • en insérant le message dans les tables scheduleds et scheduleds_numbers.

J'avoue que pour la dernière option, je suis bloqué, question de synchronisation.

Merci pour votre éclairage.

Envois multiples

Bonjour,

Pour une raison inconnue, des sms partent en double, voir triple...

Si quelqu'un a la solution...
Merci

Statut des SMS envoyés via l'API web (GET)

Bonjour,

  • Dans le menu "Logs > SMS envoyés", les SMS envoyés via l'API web ont tous un statut "inconnu" si on envoi vers un numéro de type 0477123456 (le problème ne se pose pas si on utilise +32477123456). Tandis que les SMS envoyés via l'interface web ont des statuts corrects.
    J'utilse l'API web via la méthode get: http://ip/RaspiSMS/smsAPI/[email protected]&password=admin&numbers=numero&text=test
  • Dans les menus "Logs", un bouton "sélectionner tout" serait le bienvenu pour ne pas avoir à cliquer sur chacun des boutons.

La simplicité d'utilisation est remarquable, beau boulot!

discussion not loaded and no pages

I have write with my best friend 250 sms and raspisms is not loading the discussion, i see only the loading image but no content.

And i see only few sms and no pageable scrolling .. old sms are not shown.

problème avec commande

bonjour

je viens de faire 2 fichiers de commande :
celui ci ne marche pas
monip.sh :

ip=`grep -o "inet adr:[0-9.]*" < <(ifconfig wlan0) | awk 'BEGIN{FS=":"}{print $2}'`


echo $ip

curl http://localhost/RaspiSMS/smsAPI/[email protected]\&password=mdp\&numbers=0600000000\&text=$ip

mais cela ne marche pas quand j'appel le script par sms, jai le code error:3

mais si je l'appel par ./monip.sh il fonctionne

par contre celui ci marche
test.sh :

curl http://localhost/RaspiSMS/smsAPI/[email protected]\&password=mdp\&numbers=0600000000\&text=Alerte%20Recu%20l0ouge%20Toi

avez vous une idée

merci

Envoi de SMS à partir de l'API : error 0 mais SMS pas envoyés

Bonjour à tous !
Souci étrange lors de l'envoi de SMS à partir de l'API :

-J'effectue une requête
-RaspiSMS me renvoie une erreur 0, tout s'est donc bien passé
-Il y a une trace de l'ajout dans Evenements
Et là, le SMS n'est pas envoyé et n'apparaît pas dans "SMS envoyés".

Je n'ai trouvé aucune logique : cela ne dépend pas du destinataire (certains numéros peuvent recevoir un SMS et pas le suivant), ni du contenu apparent du message (aucune logique de caractères accentués, de nombre de caractères etc...)
La seule explication serait le nombre d'envois à la suite :
Lorsque j'envoie 2-3 SMS espacés de 5 secondes, pas de soucis, par contre lors de "gros" envois (20 SMS, 1SMS/5sec), j'ai des soucis répartis assez régulièrement sur l'ensemble des envois

Je ne comprends pas à quel niveau se situe le souci (RaspiSMS, Gammu ?)

Un paliatif serait-il d'augmenter le temps entre chaque SMS, pour laisser le temps à un "buffer hypothétique" de se vider ? Quelqu'un sait-il d'où vient le souci ?

Cdt,

Julien

API Send: Envoie sms depuis PC avec URL

Bonjour,
J'ai installé Raspisms sur mon pi, j'arrive à programmer des SMS directement avec Raspisms:
http://192.168.1.35/RaspiSMS/scheduleds/

J'aimerai pouvoir envoyer/Programmer des SMS depuis mon PC (avec une macro Excel). Je n'arrive pas à envoyer de SMS avec une URL (j'ai essayé plusieurs possibilités, mais rien ne marche...):
http://192.168.1.35/RaspiSMS/smsAPI/send/?email=***********@yahoo.fr/&password=*******/&numbers=06*********/&text=test/
J'ai une erreur:
Not Found
The requested URL /Raspisms/smsAPI/send/ was not found on this server.
Apache/2.4.10 (Raspbian) Server at 192.168.1.35 Port 80

Ou existe-t-il une autre solution simple pour programmer un SMS depuis PC (Excel)...

Merci de votre aide, et bonnes fêtes...

Envoyer des SMS aux numéros spéciaux (Numéros Courts)

Bonjour,

Tout d'abord je tenais à vous féliciter pour la qualité de votre gestion RaspiSMS, c'est un outil vraiment au top !

Bossant pour une grosse boite de médias TV, j'ai créée un interface de control et d'envois de SMS sur plusieurs raspberry (et donc opérateurs) qui sra prochainement en open source ..
Et je souhaite envoyer des SMS aux numéros courts

Ma question est donc:
Est-il possible d'envoyer un sms à un numéro court ? (j'ai essayé, cela ne fonctionne pas en mettant le numéro court ni en rajoutant un "+".. via l'API)
Je ne trouve pas la commande gammu pour les numéros courts mais seulement pour les numéros normaux.. (sudo gammu sendsms TEXT 81212 -text "Test")

Avez vous une astuce pour faire en sorte que cela fonctionne ?
Si oui, je me propose d'ajouter la fonctionnalité sur votre outil déjà super complet :)

@+

Gestion multiple modems

Bonjour,

Tout d'abord merci pour ce super projet !

J'ai une proposition de feature à vous soumettre : la gestion de plusieurs téléphones/modems connectés simultanément sur le raspberryPi

Cela me semble aisément réalisable en raison de ces lectures :
doc smsd a propos du multi-modem où l'on voit qu'il suffit de passer le paramètre -c pour spécifier le fichier de config correspondant au device désiré
doc smsd-inject où l'on voit que ce même paramètre existe aussi pour la commande que vous utilisez actuellement dans votre code.

Ce qui me fais me dire que dans : controllers/internalConsole.php

//Commande qui envoie le SMS
$commande_send_sms = 'gammu-smsd-inject TEXT ' . escapeshellarg($number) . ' -report -len ' .mb_strlen($text_sms) . ' -text ' . $text_sms;

Il suffirait de rajouter l'option "-c filename" pour spécifier le fichier de configuration concernant le device branché que l'on voudrait utiliser pour envoyer le sms.

De nombreuses possibilités découlent de ça, comme le fait de pouvoir spécifier quel device on veut utiliser pour "smser" tel ou tel contact, ou cela nous est indifférent. On peut aller jusqu'à imaginer une gestion fine du nombre de messages envoyés par device (donc ligne/abonnement), la fréquence maximale d'envoi par heure etc...

Tout cela permettant d'avoir un contrôle plus fin sur les numéros et abonnements utilisés pour l'envoi de sms. Je pense que cela pourrait rendre service à quiconque compte utiliser ce projet pour de grands volumes de sms ou même pour de l'envoi de faible volume mais dans de multiples destinations à l'international (optimisation des frais suivant le device et donc abonnement utilisé, basé sur le préfixe du pays).

Je pense que c'est une des rares fonctionnalités encore manquantes à ce projet =)
Merci encore pour celui-ci !

Signal strength

Il n'y a actuellement pas moyen de voir la force du signal, ce qui est embêtant lorsque certains sms ne sont pas envoyés à cause d'un signal trop faible.
Pour pallier ce problème, j'utilise la commande comgt qui me renvoit le résultat d'un AT+CSQ (à mettre en lien avec le tableau de http://m2msupport.net/m2msupport/atcsq-signal-quality/ ), et je vérifie le nombre de messages en attente dans l'outbox.
Est-il prévu d'intégrer un tel composant dans votre interface?

Constant RASPISMS_SETTINGS_TRANSFER already defined

Bonjour,

Après mise à jour, les lignes suivantes apparaissent dans mon /var/log/syslog _toutes les 10 secondes_

Sep 23 11:52:02 rpi apache2: PHP Notice:  Constant RASPISMS_SETTINGS_TRANSFER already defined in /var/www/RaspiSMS/index.php on line 25
Sep 23 11:52:02 rpi apache2: PHP Notice:  Constant RASPISMS_SETTINGS_SMS_STOP already defined in /var/www/RaspiSMS/index.php on line 25
Sep 23 11:52:02 rpi apache2: PHP Notice:  Constant RASPISMS_SETTINGS_DETECT_URL already defined in /var/www/RaspiSMS/index.php on line 25
Sep 23 11:52:12 rpi apache2: PHP Notice:  Constant RASPISMS_SETTINGS_TRANSFER already defined in /var/www/RaspiSMS/index.php on line 25
Sep 23 11:52:12 rpi apache2: PHP Notice:  Constant RASPISMS_SETTINGS_SMS_STOP already defined in /var/www/RaspiSMS/index.php on line 25
Sep 23 11:52:12 rpi apache2: PHP Notice:  Constant RASPISMS_SETTINGS_DETECT_URL already defined in /var/www/RaspiSMS/index.php on line 25

Je ne parviens pas non plus à envoyer de sms (l'ajout se passe bien via l'interface ais le message n'est jamais envoyé et reste dans la pile scheduleds ). Aucune réception de sms également. Je ne sais pas si c'est lié.

Solution pour éviter les erreurs de non-correspondance entre scheduleds et scheduleds_[numbers|contacts|groups] en cas de mode multi-utilisateurs

Bonjour,

Ceci est un problème au niveau de la démarche d'enregistrement d'un nouveau SMS programmé.

Voyons le code (controllers/scheduleds.php).
Première étape, on ajoute le sms (sans destinataire) dans la table _scheduleds_ à partir de la ligne 166 :

            if (!$db->insertIntoTable('scheduleds', ['at' => $date, 'content' => $content, 'progress' => false]))
            {
                if (!$api)
                {
                    $_SESSION['errormessage'] = 'Impossible de créer ce SMS.';
                    header('Location: ' . $this->generateUrl('scheduleds'));
                }
                return false;
            }
[...]

Puis, à la ligne 176, on récupère l'id du dernier message ajouté à la table (scheduleds, encore une fois) :

[...]

            $id_scheduled = $db->lastId();
[...]

Logique, puisqu'on devra préciser l'id au moment de rajouter une ou plusieurs lignes aux tables scheduleds_numbers et/ou scheduleds_contacts et/ou scheduleds_groups (ligne 187) :

[...]
            foreach ($numbers as $number)
            {
                if (!$number = internalTools::parsePhone($number))
                {
                    $errors = true;
                    continue;
                }

                if (!$db->insertIntoTable('scheduleds_numbers', ['id_scheduled' => $id_scheduled, 'number' => $number]))
                {
                    $errors = true;
                }
            }

            foreach ($contacts as $id_contact)
            {
                if (!$db->insertIntoTable('scheduleds_contacts', ['id_scheduled' => $id_scheduled, 'id_contact' => $id_contact]))
                {
                    $errors = true;
                }
            }

            foreach ($groups as $id_group)
            {
                if (!$db->insertIntoTable('scheduleds_groups', ['id_scheduled' => $id_scheduled, 'id_group' => $id_group]))
                {
                    $errors = true;
                }
            }

L'approche est correcte quand il n'y a qu'un seul utilisateur qui ajoute des SMS. Seulement voilà, RaspiSMS est prévu pour être multi-utilisateur. Par exemple, chez moi, un de mes serveurs peut avoir à envoyer des extraits de log par SMS au moment d'un crash ou de l'apparition d'un événement important. Je peux également avoir à naviguer sur l'interface RaspiSMS pour envoyer un rendez-vous par SMS à une liste d'amis. Enfin, ma femme peut également utiliser mon application client riche qui va utiliser des requêtes POST pour envoyer des SMS via l'API RaspiSMS. Je suppose que vous voyer où je veux en venir, Entre l'ajout du SMS à la table scheduleds (depuis le WAN) et la récupération du dernier id (toujours depuis le WAN), il peut se passer assez de temps pour permettre à mon serveur d'ajouter une flopée de SMS à la table scheduleds (depuis le LAN).

Par conséquent, de mauvais SMS pourraient être envoyés à de mauvais destinataires. Imaginez si ma femme envoi des traces de crash serveur à ses copines.. le tout sans avoir la possibilité d'être averti par log d'erreur.

Heureusement, il existe une solution en MySQL (plusieurs solutions, en fait) pour ajouter un nouveau sms à la table scheduled tout en récupérant l'id généré pour l'occasion : MySQL : Obtenir la valeur de l'auto-incrément.

Erreur lors de la modification des réglages

paquet deb récupérer à l'instant
j'ai une erreur quand je veux sauvegarder les réglages (Dashboard > Reglage) "Impossible de mettres les données à jours"

est-il possible d'avoir des logs également dans l'interface ..?

Problème avec les accents lors d'un envoi php

Bonjour à tous.
J'ai trouvé un script permettant d'envoyer des sms en passant pas php.
Le script est lancé sur un serveur A qui envoie la commande via curl au raspberry
Problème les accents ne sont pas transmis !!! Idem pour les apostrophes.

Voici le script qui crée le texto :
<!doctype html>

<title>Envoi texto</title> $value) { $fields .= $key . '=' . $value . '&'; } rtrim($fields, '&');

$post = curl_init();

curl_setopt($post, CURLOPT_URL, $url);
curl_setopt($post, CURLOPT_POST, count($data));
curl_setopt($post, CURLOPT_POSTFIELDS, $fields);
curl_setopt($post, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($post);

curl_close($post);
return true;
}

$data = array(
"numero" => "06XXXXXXXX",
"texte" => "L'été sera chaud."
);
//print_r ($data);
if(post_to_url("http://monserveur/sendsms.php", $data))
{
echo "SMS envoyé";
}
?>

Et voici le script qui gère l'envoi, sur le raspberry:
<!doctype html>

<title>Document sans titre</title>

2 jours que je cherche. J'offre une glace à celui qui trouve un piste.
Merci d'avance.

Projet vidéo-surveillance

Bonjour,

Je viens de trouvé votre projet sur le net.
Je vais l'essayer dès ce soir.

Je travail sur un projet qui consiste à avoir un raspberry (ou ordinateur) sur un site isolé, (pas d'internet). C'est une sorte de "centre de notification" entre les événements et la distributions aux utilisateurs.

Je me demandais si RaspiSMS ne pourrait pas intégré:

  • gestion d'une connexion 3G? ON/OFF en parrallèle du flux SMS de gammu? Il me semble qu'il y a deux canaux de communication. Je n'ai pas encore essayer la co-habitation.

Cela permettrait d'activé une connexion sortante de type SSH ou VPN via SMS.
La connexion doit venir du système car les connexions 3G sont comme dans un NAT de l'opérateur.

objectif -> transformer RaspiSMS en un outil de gestion à distance, ou de possibilité de management à distance

Je vais pas en dire plus pour le moment :)
A bientôt
Vost

probleme reception sms

Bonjour,
Depuis 1 ou 2 jours il met impossible de recevoir des sms sur le raspi alors que ça a marcher pendant près de 6 mois ... De plus, l'envoie fonctionne parfaitement ... Une idée ?

je ne trouva pas les log non plus
Merci

Probleme Envoi Mail veille du dongle 3G ?

Bonjour,

Nous testons depuis une petite semaine maintenant la solution RaspiSMS.

Elle fonctionne mais de temps en temps les sms ne partent plus pour une raison inconnue.

Nous utilisons un dongle huawei E-372 et de temps en temps après une longue période d'inactivité les sms ne partent plus il faut lancer soit un gammu --identify ou relancer le raspberry complétement.

Nous sommes un peu déroutés et ne savons pas ou chercher ? avez-vous une idée ? Est ce que le dongle ce met en veille ? . Help

API issue

Bonjour,
Pour commencer merci pour ce support boulot !

Ensuite, j'essaie d'utiliser les API, mais j'ai quelques problemes avec les numéros/groupes/contacts

une syntaxe comme ci-dessous me renvoie une erreur : curl: (3) [globbing] bad range specification in column 107

curl http://192.168.0.9/RaspiSMS/smsAPI/[email protected]\&password=test\&date=2016-01-30%2022:28\&contacts[]=pro\&contacts[]=perso\&text=Texte%20du%20SMS%20à%20envoyer;

Idem, lorsque j'utilise les groups.
curl http://192.168.0.9/RaspiSMS/smsAPI/[email protected]\&password=test\&date=2016-01-30%2022:28\&groups[]=groupedetest35\&text=Texte%20du%20SMS%20à%20envoyer;

Par ailleurs, lorsque j'essaie de mettre plusieurs numéro à envoyer, seul le premier reçoit le sms.

Merci de votre aide,

Oct 12 13:53:58 rpi php: PHP Fatal error: Call to undefined method DataBase::getAll() in /var/www/RaspiSMS/controllers/internalConsole.php on line 330

Bonjour,

Quand j'envoie une commande à mon RaspiSMS, ça plante et mon syslog renvoie :

Oct 12 13:53:58 rpi php: PHP Fatal error:  Call to undefined method DataBase::getAll() in /var/www/RaspiSMS/controllers/internalConsole.php on line 330

Rappel de la ligne dans internalConsole.php (ligne 330 chez moi) :

$commands = $db->getAll('commands');

Rappel du bloc de commandes en question (dans la fonction parseReceivedSMS() ) :

                    //Si on reçu des identifiants
                    if (array_key_exists('LOGIN', $flags) && array_key_exists('PASSWORD', $flags))
                    {
                        //Si on a bien un utilisateur avec les identifiants reçus
                        $user = $db->getUserFromEmail($flags['LOGIN']);
                        $this->wlog('We found ' . count($user) . ' users');
                        if ($user && $user['password'] == sha1($flags['PASSWORD']))
                        {
                            $this->wlog('Password is valid');
                            //On va passer en revue toutes les commandes, pour voir si on en trouve dans ce message
                            $commands = $db->getAll('commands');

                            $this->wlog('We found ' . count($commands) . ' commands');
                            foreach ($commands as $command)
                            {
                                $command_name = mb_strtoupper($command['name']);
                                if (array_key_exists($command_name, $flags))
                                {
                                    $this->wlog('We found command ' . $command_name);

                                    //Si la commande ne nécessite pas d'être admin, ou si on est admin
                                    if (!$command['admin'] || $user['admin'])
                                    {
                                        $this->wlog('And the count is ok');
                                        $found_commands[$command_name] = PWD_SCRIPTS . $command['script'] . escapeshellcmd($flags[$command_name]);
                                    }
                                }
                            }
                        }
                    }

L'objet $db est initialisé à partir de la classe DataBase(.php)
Effectivement, je ne vois pas de méthode/fonction getAll(), ni dans model/DataBase.php, ni dans mvc/Model.php

une idée ?

Timing des SMS peu précis

Bonjour Messieurs,

Il y a un petit soucis avec le timing des SMS. Ceux-ci sont associés à une minute près ce que je comprends puisqu'on fais les vérifications nécessaire à chaque minutes avant d'envoyer ou de recevoir une fournée de sms néanmoins les sms ne sont pas forcément affichés dans le bon ordre. C'est problématique.

Je pense qu'à la réception, une retouche du fichier parseSMS.sh serait nécessaire pour extraire le timing précis du sms.
À l'émission, il faudrait faire suivre le timing exact au clic du bouton (Enregistrer le SMS) pour ensuite l'injecter dans la commande qui fait appel à Gammu.

Qu'en pensez-vous ?

Bien à vous,
Alexandre.

Webhook pour recevoir les SMS

Bonjour,

Je ne trouve pas de fonctionnalité pour appeler un point d'API externe à la réception d'un message SMS.
Ce webhook serai super utile pour intégrer entièrement RaspiSMS avec des serveurs et API externes.

Des plans pour cette idée ? Des hints pour le réaliser ?

Correction description du projet

Quelques fautes sur la description du projet : _"RaspiSMS est un système de gestion et d'_envoie* de SMS par ordinateur, initialement conçu poiyr les Raspberry P"*
Version corrigée : "RaspiSMS est un système de gestion et d'envoi de SMS par ordinateur, initialement conçu pour les Raspberry Pi"
Autre petite suggestion, ajouter l'URL : "http://raspisms.raspbian-france.fr/"

Error at init connection : DEVICENOTEXIST[4] - Gammu (mais posant problème aux utilisateurs de RaspiSMS)

Bonjour à toutes et tous,

J'ai un problème avec gammu-smsd mais utilisant le matériel conseillé sur le site de RaspiSMS (clé 3G HUAWEI E220), je poste ici et je donnerai la solution pour les utilisateurs de RaspiSMS.
De temps à autres, la communication entre gammu et la clé 3G est perdue.
Je poste ici aussi parce que je pense que la solution serait de créer un lien persistant vers la clé 3G (dans l'installation du .deb de RaspiSMS ?).

May 31 06:25:38 mamachine gammu-smsd[1833]: Starting phone communication...
May 31 06:25:38 mamachine gammu-smsd[1833]: Error at init connection: Erreur à l'ouverture du périphérique: il n'existe pas. (DEVICENOTEXIST[4])
May 31 06:25:38 mamachine gammu-smsd[1833]: Going to 30 seconds sleep because of too much connection errors
May 31 06:26:01 mamachine /USR/SBIN/CRON[28366]: (root) CMD (cd /var/www/RaspiSMS && /var/www/RaspiSMS/console.php -c sendScheduleds)
May 31 06:26:01 mamachine /USR/SBIN/CRON[28368]: (root) CMD (cd /var/www/RaspiSMS && /var/www/RaspiSMS/console.php -c parseReceivedSMS)

Détail : Le problème est réglé dès que je redémarre le serveur. Mais ce n'est que momentané car le problème peut réapparaître à tout moment.

Une piste.

Contacts : Il faudrait obliger le format +33 6xxxxxx

Bonjour,

Concernant les contacts, il faudrait obliger l'utilisateur à entrer le numéro au format international à la création d'un contact car quand on reçoit un message en réponse, c'est toujours au format +336xxxxxxxx. Du coup, RaspiSMS l'identifie comme étant un numéro inconnu et la conversation est "cassée".

Bien à vous !

Bug - telephone mobile number

Hi,
on database the max data insert of mobile number is 12, but in Italy the telephone number is for example +393331234567 all are 13 characters.
If I try to send SMS with RaspySMS the number is truncated like +39333123456

Utiliser le code source de RaspiSMS

Bonjour,
j'ai lu la documentation de RasiSMS et je trouve votre travail très intéressant. Etant nouvelle dans le domaine de la programmation je cherche à reconstituer l'application en local puis-je avoir des pistes.
Merci

API envoi de SMS à des groups

Bonjour,

Je ne parviens pas à utiliser les groupes pour des envois par API.
Cela fonctionne bien pour un user, contact mais pas avec la syntaxe groups

J'utilise cette syntax

curl -g http://192.168.0.9/RaspiSMS/smsAPI/[email protected]\&password=password\&groups[]=groupedetest1\&groups[]=groupedetest2\&text=Texte%20du%20SMS%20à%20envoyer;
et obtient un message {"error":3}

avez-vous une idée ? je vois parfois cela dans les logs apache
[Wed Sep 14 23:00:43.176189 2016] [:error] [pid 12318] [client 192.168.0.9:47890] PHP Notice: Undefined index: id in /var/www/html/RaspiSMS/controllers/smsAPI.php on line 83

Merci de l'aide

Bug : Problème d'accents

Bonjour,
les accents ne passent pas en récéption. Ils sont remplacés pr des "?".

Dans la capture d'écran, le texte envoyé était : "Bon écolier à la ferme"
raspisms probleme accents
Peut-être que cela vient du codage caractère. Avez-vous une idée ?
C'est problématique.

Excellente journée !

deb package - no valid number

hello,

i have installed the .deb and its runn very nice BUT i cant not numbers and recieve with more as 8 digits than come -> Numéro de téléphone incorrect.

And sms with more than 8 digits coming not in the webinterface :( please help me thanks :)

Contact romain GUERRERO

Bonjour,
Désolé de te contacter comme cela, mais crois tu que l'on pourrais se contacter en privé ?

Merci bien :)

limitation nb contact par groupe

Bonjour,

Déjà merci beaucoup pour raspi SMS, c'est au top !
Cependant, je me demandais si l'on pouvais enlever la limite de 10 contact par groupe ? merci bien :)

... (3 petits points) devant une variable PHP ? C'est normal ?

Bonjour,

J'ai pris la dernière version.
Quand j'essaye d'afficher des pages comme :
SMS => http://mon-site.fr/RaspiSMS/scheduleds/

_ Commandes => http://mon-site.fr/RaspiSMS/commands/
Répertoire>Contacts => http://mon-site.fr/contacts
Répertoire>Groupes => http://mon-site.fr/groups
Utilisateurs => http://mon-site.fr/RaspiSMS/users/

J'ai ne page blanche.
Le log me dit par exemple :

Sep 21 13:28:48 rpi apache2: PHP Parse error:  syntax error, unexpected '.', expecting '&' or variable (T_VARIABLE) in /var/www/RaspiSMS/controllers/commands.php on line 39

ou encore :

Sep 21 13:33:14 rpi apache2: PHP Parse error:  syntax error, unexpected '.', expecting '&' or variable (T_VARIABLE) in /var/www/RaspiSMS/controllers/scheduleds.php on line 37

PHP ne supporte pas les 3 petits points ...

Par exemple, dans le fichier controllers/contacts.php, j'ai :

public function delete($csrf, ...$ids)

Je ne connaissais pas les ... devant une variable. :)

API send : Impossible d'envoyer de SMS à un ou plusieurs contacts (requête MVC, GET traditionnelle, POST)

Bonjour,

J'ai suivi la doc

Quand je rentre la commande suivante dans mon navigateur (pour envoyer un SMS à un numéro), ça marche :

http://domaine/RaspiSMS/smsAPI/send/[email protected]/password_P455w0rd/numbers_06xxxxxxxx/text_Texte%20du%20SMS%20%C3%A0%20envoyer

J'ai bien un retour :

{"error":0}

Par contre, même si j'ai un contact enregistré dans le répertoire se nommant "toto", la commande suivante ne marche pas :

http://domaine/RaspiSMS/smsAPI/send/[email protected]/password_P455w0rd/contacts_toto/text_Texte%20du%20SMS%20%C3%A0%20envoyer

Je n'ai pas de retour (page vide)

Idem, si je tape cette commande/adresse qui envoi un sms à un numéro _et_ à un contact :

http://domaine/RaspiSMS/smsAPI/send/[email protected]/password_P455w0rd/numbers_06xxxxxxxx/contacts_toto/text_Texte%20du%20SMS%20%C3%A0%20envoyer

Note : J'ai bien entendu testé les requêtes MVC mais également les requêtes GET traditionnelles et POST (forgées au sien d'un programme client lourd).

Y-a-il quelque chose que je ne fais pas correctement ?

Bien à vous,
Alexandre.

Envoi et réception impossible après mise à jour du code

Note :

  • Pour ceux qui ne veulent pas lire toute "l'enquête", veuillez _directement_ trouver la solution quant à l'élimination du retour chariot ici.
  • Il faut également veiller à éliminer les retours charriot windows dans parseSMS.sh
    Voir directement ici pour avoir les détails.

Bonjour,

Après avoir mis le code de RaspiSMS à jour (avant de faire des modifications), l'envoi et la réception sont impossibles.
Le pod ne reçoit rien et les sms composés via l'interface de RaspiSMS ne partent jamais et restent dans scheduleds.

J'ai supprimé le contenu du dossier /var/www/RaspiSMS avant d'uploader le code RaspbianFrance/RaspiSMS

  • Je précise que j'ai bien changé le propriétaire de tout le répertoire /var/www/RaspiSMS
chown www-data:www-data -R /var/www/RaspiSMS
  • J'ai aussi mis tout le contenu du dossier de mon répertoire /var/www/RaspiSMS en 755
chmod 755 -R /var/www/RaspiSMS

(je suis sur un serveur de test qui n'est pas ouvert au WAN, juste le LAN)

  • J'ai également recréé le dossier /var/www/RaspiSMS/receiveds
  • J'ai remis mes informations de connexion à la bdd dans le fichier /var/www/RaspiSMS/mvc/conn_bdd.php

ça doit être bête mais quelque chose m'échape (?)

Note : Si vous m'aidez, je veux bien ajouter une page au wiki pour donner la marche à suivre à ceux qui veulent mettre à jour le code présent dans /var/www/RaspiSMS.

Bien à vous,

Gestion plus poussée des contacts

Bonjour,

Pour des besoins personnels je souhaiterais avoir une gestion des contacts et des groupes un peu plus poussée :

  • Je vais avoir de besoin dans un premier temps de plus d'informations pour chaque contact telles que :
    • son prénom (dissocié du champ "name" actuel)
    • sa civilité (M./Mme)
    • sa date de naissance
    • sa situation amoureuse : célibataire/en couple
  • J'aurai également besoin de pouvoir gérer les groupes avec une hiérarchisation : pouvoir intégrer des groupes dans des groupes. Par exemple permettre de regrouper dans un groupe C toutes les personnes du groupe A et du groupe B.
  • Enfin je souhaiterais mettre en place des groupes "intelligents" grâce aux information rentrées dans les contacts afin de pouvoir créer des groupes qui seraient gérés de manière transparente tels que "Toutes les personnes entre 12 et 25 ans", ou encore "Tous les hommes célibataires" par exemple.

Est-ce que ce sont des choses qui sont prévues dans une nouvelle version de l'application ? Si ce n'est pas prévu, je me propose pour les mettre en place et partager le code sur votre projet si il vous convient !
Si cela peut vous intéresser, je suis à l'écoute de vos propositions de mise en place afin que cela puisse coller avec votre vision de l'application.

Merci par avance

Développement de future version

Bonjour,

Pour des besoins propres à ma société, je vais prochainement reprendre une partie du code de RaspiSMS afin d'intégrer des fonctionalités dont nous avons besoin :

  • package Debian en respectant les best practices (localisation des dossiers, cron, config)
  • transfert des SMS entrants vers une ou plusieurs boites mails
  • limitation du nombre de SMS envoyés sur une période définie (minutes, heures, jours, semaine, mois) avec alerte mail lorsque le quota atteint 80% et lorsqu'il est dépassé
  • gestion des échecs d'envoi (méthode de failback sur API SMS de OVH)
  • alias /RaspiSMS/ personnalisable

Je pense que certaines de ces fonctions sont peut-être prévues dans la V2 dont vous parlez depuis un petit moment déjà et plutôt que de faire le travail deux fois (ou maintenir ma version "personnelle"), je vous propose de mettre à disposition de la communauté les sources de la version en cours de développement avec la roadmap des fonctionnalités, nous pourrions ainsi participer au développement de ce super outil.

Merci d'avance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.