Gammu : passerelle GSM pour envoyer et recevoir des SMS par Python-Gammu

Original publié sur: https://developer.myconstellation.io/package-library/gammu/

Documentation en cours de rédaction …

Salut Sébastien,
J’ai essayer l’installation de gammu sur un rpi1 mais je me confronte à pas mal d’erreur et le package ne se lance pas.
Est-il possible de faire tournée gammu sur un vieux rpi ou c’est réservé au version récente?
Peut tu partager ta config en attendant la doc?
merci d’avance :slight_smile:

voici le log:
[raspberrypi/Sentinel] 18:05:24 : ‘/opt/constellation-sentinel/Packages/Gammu/Gammu.exe’ has exited
[raspberrypi/Sentinel] 18:05:24 : Waiting 30 second(s) to restart ‘/opt/constellation-sentinel/Packages/Gammu/Gammu.exe’
[raspberrypi/Sentinel] 18:05:54 : Restarting ‘/opt/constellation-sentinel/Packages/Gammu/Gammu.exe’
[raspberrypi/Sentinel] 18:05:55 : The package ‘Gammu’ required .NET 4.5 or later (equivalent to Mono 3.12 or later) and your current installation is ‘3.10.0 (mono-3.10.0-branch/ce003f4 Tue Nov 25 20:18:29 UTC 2014)’ !
[raspberrypi/Sentinel] 18:05:55 : Gammu (Package ‘Gammu’ version 1.1) is started with the PID 1238 (/opt/constellation-sentinel/Packages/Gammu/Gammu.exe)
[raspberrypi/Gammu] 18:06:02 : Package disconnected (Connection closed gracefully:False)
[raspberrypi/Gammu] 18:06:05 : Package connected (Package:1.1 Constellation:1.8.2.17140)
[raspberrypi/Gammu] 18:06:05 : Declaring PackageDescriptor for Gammu
[raspberrypi/Gammu] 18:06:05 : Waiting for settings …
[raspberrypi/Gammu] 18:06:06 : Updating 0 setting(s)
[raspberrypi/Gammu] 18:06:06 : Loading the default value from the manifest for the setting ‘GammuConfigurationFilename’
[raspberrypi/Gammu] 18:06:06 : Loading the default value from the manifest for the setting ‘IncomingEventGroupName’
[raspberrypi/Gammu] 18:06:06 : Calling OnStart on Constellation.PythonProxy.PythonPackage
[raspberrypi/Gammu] 18:06:06 : Critical Error : System.IO.DirectoryNotFoundException: Directory ‘/opt/constellation-sentinel/Packages/Gammu/Scripts’ not found.
at System.IO.Directory.ValidateDirectoryListing (System.String path, System.String searchPattern, System.Boolean& stop) [0x00000] in <filename unknown>:0
at System.IO.Directory.GetFileSystemEntries (System.String path, System.String searchPattern, FileAttributes mask, FileAttributes attrs) [0x00000] in <filename unknown>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00000] in <filename unknown>:0
at Constellation.PythonProxy.PythonPackage.OnStart () [0x00000] in <filename unknown>:0
at Constellation.Package.PackageHost.Start (System.Type packageType, System.String constellationUri, System.String sentinelName, System.String packageName, System.String accessKey) [0x00000] in <filename unknown>:0
[raspberrypi/Sentinel] 18:06:06 : ‘/opt/constellation-sentinel/Packages/Gammu/Gammu.exe’ has exited
[raspberrypi/Sentinel] 18:06:06 : The package ‘/opt/constellation-sentinel/Packages/Gammu/Gammu.exe’ has exited but it will not restarting

Hello,

Je viens de mettre à jour le package en version 1.2 (update des lib et surtout compatibilité avec net40 pour les RPi 1).

Par contre je n’utilise plus Gammu, donc je ne sais plus le tester ! Tiens moi au courant.

Sebastien

Salut Sébastien
Merci j’essaye sa rapidement.
Tu te sers de quoi pour les sms du coup?
Car j’aimerai crée des interactions avec des choix suivant les réponses mais je sais pas trop comment faire.
Bonne journée.
Merci

Salut.

Je me permets de m’incruster, le sujet des interactions m’intéresse.

On avait du Télégram mais je ne sais pas comment mettre un package en https.

Hello,

Ben en fait aujourd’hui je n’ai plus de solution. Avant j’avais une sim gratuitement par mon FAI, mais elle n’est plus gratuite, donc vu que je n’utilisais pas tellement l’interface SMS, j’ai résilié cette SIM !

Quand j’avais cette SIM, via le package Gammu, les interactions étaient gérés dans mon package C# comme expliqué ici http://sebastien.warin.fr/2015/03/24/2478-senergy-la-solution-de-monitoring-des-ressources-energetiques-de-la-maison-geek-is-in-da-house-2015/

En gros à chaque réception de SMS, le package Gammu envoie le contenu du SMS dans un message nommé “IncomingSMS” avec en paramètre le n° de l’émetteur et le texte du SMS à destination du groupe défini dans le setting “IncomingEventGroupName”. Si le setting n’est pas défini, la valeur par défaut est “Gammu”.

Donc en C# on peut faire ce genre de chose :

[MessageCallback(Key = "IncomingSMS", Hidden = true)]
private void ReceiveIncomingSMS(string number, string text)
{
    PackageHost.CreateMessageProxy("Gammu").SendSMS(new 
    {
       Number = number,
       Text = "Tu m'as dit : " + text
    });
}

En gros, on crée une méthode C# qui est un MC caché nommé “IncomingSMS”. Donc à chaque SMS reçu par notre package Gammu, notre méthode C# est déclenchée !

Ici dans la méthode, j’invoque le MC “SendSMS” sur le package “Gammu” pour renvoyer un SMS.

On a donc en une ligne de code C# un “perroquet” qui renvoie le texte du SMS à son émetteur !

Suivant ce principe, libre à toi de faire ce que tu veux. Soit de manière ultra light avec des “if” sur le contenu du SMS recu (paramètre “text”) pour renvoyer les réponses associées, soit en envoyant tout ca sur des packages type API.AI ou autres services d’analyse NLP ou chatbot.

Pas intéressé par Télégram et les réponses auto ?

premier retour en laissant les parametres par defaut j’ai une erreur qui m’empeche l’installation.

[raspberrypi/Sentinel] 18:09:02 : Restarting ‘/opt/constellation-sentinel/Packages/Gammu/Gammu.exe’
[raspberrypi/Sentinel] 18:09:03 : Gammu (Package ‘Gammu’ version 1.2) is started with the PID 15729 (/opt/constellation-sentinel/Packages/Gammu/Gammu.exe)
[raspberrypi/Sentinel] 18:09:10 : ‘/opt/constellation-sentinel/Packages/Gammu/Gammu.exe’ has exited
[raspberrypi/Sentinel] 18:09:10 : The package ‘/opt/constellation-sentinel/Packages/Gammu/Gammu.exe’ has exited but it will not restarting

Il ne faut pas ajouter des parametres de config?

Merci

Mince ! Il n’y a pas d’autre log ?

Tu as bien un fichier de configuration à la racine de ton home user (~/.gammurc) ?

Voir : https://wammu.eu/docs/manual/quick/index.html#quick

Je n’ai pas d’autres log malheureusement je continue à chercher et je vais aller voir sur ton lien pour peaufiner.
Je te tiens au jus

Merci

Salut Sébastien je reviens au nouvelle.
Je laisse tombé gammu je n’ai pas réussi à installer le package sur mon rpi et à m’en servir du coup impossible à l’utiliser avec constellation.
Je ne sais pas d’ou viens le pb( rpi trop vieux, erreur de code ou problème de clé 3g ou sim) mais j’arrive pas à envoyer un sms en ligne de cmd du coup sa fonctionnera pas sous constellation c’est logique lol
Je vais attendre si jamais un package Telegram vois le jour :wink:
Merci bonne soirée