pascsaq — 2012-03-02 23:07:15 |
Hello hello !
Je suis en train de plancher là-dessus => recevoir des SMS et pouvoir les lire ensuite avec Pd (dans Gem) sous Linux Debian... J'ai fait quelques recherches avec, dans un premier temps, l'idée de récupérer les sms par l'intermédiaire d'un script en python... Et puis hop, vers puredata ! => How to get SMS messages message with python => Je trouve ces quelques liens plus ou moins pertinents ! http://dadhacker.blogspot.com/2011/04/s … ython.html http://pypi.python.org/pypi/sms http://www.developershome.com/sms/freeLibForSMS.asp http://snippets.dzone.com/posts/show/1331 http://www.findbestopensource.com/product/pysms http://www.wordhord.co.uk/pysms.html ou http://code.google.com/p/py-sms/ Et un tutorial : http://www.developershome.com/sms/
Je tente également de regarder du côté de gammu et wammu, mais mon portable n'est pas reconnu (Zut ! donc impossible d'aller plus loin pour tester ! Merdum !). Une liste des portables compatibles (surtout Nokia) ici : http://wammu.eu/phones/ ... Hum hum ! Est-ce qu'il faut que je m'oriente vers un modèle de portable plus ancien ? Et je pensais à la même option que : http://lists.puredata.info/pipermail/pd … 66150.html Je teste beaucoup d'autres options durant toute cette après-midi, même les plus triviales !
Mots clés (Ah oui, encore encore des mots clés des mots clés ! Mais sont-ce les bonnes serrures !!!) : Retrieving SMS messages linux http://v3ga.net/blog/2008/05/retrieving … ng-on-mac/ (un lien trouvé sur ce forum d'ailleurs !) http://mac.lisisoft.com/app-software/20 … raSMS.html Bon, pour avancer un peu, je me fixe là-dessus. Tout le reste ne m'a pas apparu tellement efficace d'ailleurs, ni opérationnel... D'où, cette option... Je me remets donc au Mac, j'installe MAMP et je crée une base de donnée... Etc. etc. Ah ! Mais les téléphones portables compatibles ne sont pas pléthores (re-zut) : «Supported Phones · Ericsson: T68 · Sony Ericsson: T68i, T610, K700i · Unsupported phones will not be recognised by UltraSMS and will not work.» Reste à me procurer un de ces types de portables et récupérer les messages de la base de donnée pour les envoyer vers pd... !? Script en Python ? Mots clés : how to read MySQL python http://www.kitebird.com/articles/pydbapi.html
Aïe Aïe Aïe Ouille ! Quelqu'un parmi vous aurait-il d'autres options à me suggérer ???? +++ p
|
Olivier — 2012-03-03 01:21:10 |
Hellooooooooooooo... :)
Juste pour te faire patienter, j'ai souvenir que Benj avait réussi à vaincre ce dragon... Je lui laisse la parole... :D
|
emoc — 2012-03-03 16:36:04 |
bonjour Pascsaq,
A l'apéro Codelab de Rennes, début février, Julien Rat présentait un soft de sondage par SMS fait avec processing. Le principe étant d'envoyer les SMS sur un téléphone android, sur lequel une appli envoyait les SMS vers une boite mail dans laquelle processing piochait régulièrement les derniers mails pour les traiter. il en parle un peu ici : http://codelab.fr/2926#p15289
|
pascsaq — 2012-03-04 16:53:31 |
Salut,
Merci de vos réponses... Pour le moment, j'opte pour ce type de solution avec gammu. Pour ce qui est du lien sur le projet avec processing, c'est que je n'y connais rien en java, mais ça a l'air intéressant ! Le tout, c'est maintenant de trouver un téléphone compatible avec gammu et de faire quelques tests. Voir si je peux récupérer les sms envoyés dans la console linux en temps réel... etc. Ensuite, ça na devrait pas poser de problèmes... :) +++ p
|
philippe boisnard — 2012-03-04 21:07:34 |
en tout cas hyper intéressant Pascale.
|
benjamin — 2012-03-05 18:59:20 |
Salut Pascale,
effectivement, pas mieux à proposer que wammu qui permet (avec un tél compatible) de recevoir et d'envoyer des sms en ligne de commande je me rappelle avoir fait plusieurs essais en bluetooth et cable USB avant de réussir à le faire marcher
la commande "gammu --identify" te renvoie-t-elle des infos sur ton téléphone ?
il me semblait que gammu permettait de causer avec des commandes AT à un téléphone de faàon assez générique en utilisant les protocoles bluetooth de base commun à la plupart des téls, peut être que certains constructeurs sont cachotiers ...
à tester peut être également, gnokii : http://wiki.gnokii.org/index.php/Config#Tested_phones
++b
|
pascsaq — 2012-03-06 17:31:33 |
Ola !
@philippe, oui, pas mal de potentialité d'écriture ! Merci !
@Benj. Ce matin je me suis procuré un portable compatible avec gammu/wammu, un SAMSUNG C3050 qui est apte à envoyer et recevoir des sms. J'ai également utilisé un câble DATA pour le connecter à l'ordi. Ça a l'air de fonctionner pas mal, du moins, pour les quelques tests que j'ai pu faire (j'ai du me connecter en root, parce que je n'ai pas les droits pour mon compte utilisateur) :
# echo "Test SMS" | gammu --sendsms TEXT +336+++++++ Le retour dans la console me donne ceci : If you want break, press Ctrl+C... Sending SMS 1/1....waiting for network answer..OK, message reference=161 Donc, normalement, ça fonctionne ! J'ai également testé cette commande :
# gammu --getallsms
J'obtiens tous les messages reçus avec pas mal de merde autour :
Location 100017, folder "Boîte de réception", phone memory, Inbox folder SMS message SMSC number : "+336+++++" Envoyé : mar. 06 mars 2012 15:54:49 +0100 Coding : Default GSM alphabet (no compression) Remote number : "+336+++++" Status : Lu
ici le message recu blablabla bla
Par contre, à un moment le téléphone se déconnecte et je ne sais pas pourquoi ni comment le reconnecter... (mis à part le déconnecter et le reconnecter plusieurs fois par le câble, en changeant de port aussi, ce qui n'est pas terrible) :( Reste aussi à récupérer les sms en temps réel ! Mais si j'arrive à avoir une connexion stable, le reste ne devrait pas poser trop de difficultés (j'espère). Reste ensuite à trier le message pour ne récupérer que ce qui est intéressant, mais ça c'est possible, ensuite l'autre difficulté, comment récupérer tous les messages, si ils sont très nombreux... Effectivement avec gammu --identify Je récupère bien les infos sur le téléphone (si tout va bien et qu'il ne s'est pas déconnecté entre temps !)... Enfin, voilà où j'en suis... Merci de votre aide ! +++ p
|
pascsaq — 2012-03-06 22:28:27 |
Voilà ! C'est encore du coup par coup, c'est à dire qu'il faut cliquer sur une commande à chaque réception d'un sms, pas du tout automatisé, mais ça fonctionne, j'arrive donc à afficher sur un écran (avec puredata/Gem) le sms reçu... ! :) Voir le fichier joint ! Je ne sais pas jusqu'où ça peut aller (quelle vitesse de réception etc.) Car, pour le moment c'est un peu poussif ! # gammu --getsms 0 100026 où "100026" est l'id du sms reçu... Bien entendu avec pd, toujours ces problèmes d'accent... +++
|
emoc — 2012-03-06 23:28:17 |
pascsaq a écrit:Quelqu'un parmi vous aurait-il d'autres options à me suggérer ????
Tu es déjà bien avancé mais, vu que ça n'a pas encore été dit : il peut y avoir la solution d'utiliser directement un modem GSM / USB compatible avec linux, ou un arduino + gsm avec ce genre de trucs :
http://tronixstuff.wordpress.com/2011/0 … -part-one/ http://www.gsm-modem.de/M2M/m2m-apps/gs … atmega328/ http://store.open-electronics.org/Ardui … PRS_shield http://www.cooking-hacks.com/index.php/ … odule.html
C'est surement la solution la plus onéreuse :) mais ça peut servir à plusieurs choses...
Je ne sais pas trop ce que ça vaut, n'ayant jamais testé
|
benjamin — 2012-03-07 02:55:27 |
pascsaq a écrit:Par contre, à un moment le téléphone se déconnecte et je ne sais pas pourquoi ni comment le reconnecter... (mis à part le déconnecter et le reconnecter plusieurs fois par le câble, en changeant de port aussi, ce qui n'est pas terrible) :(
yep, pour le problème de déconnection, peut être regarder du coté de udev pour permettre aux utilisateurs non-administrateurs d'accéder au téléphone, en modifiant /etc/udev/rules.d/10-local.rules en ajoutant une règle type et en ajoutant ton utilisateur au groupe plugdev il doit falloir reboot pour prise en compte du chgt de groupe cf mix entre post #7 : http://forum.ubuntu-fr.org/viewtopic.php?id=766341 et p218 de la doc gammu http://wammu.eu/docs/pdf/gammu.pdf
il peut être utile de suivre ce que raconte tail -f /var/log/messages lorsque tu branches et débranches le tél et/ou utiliser la commande Pour la vitesse de connection, il faudrait savoir ce dont est capable le tél et régler gammu en conséquence, la commande doit retourner des infos +/- sybillines
+ au passage modem gsm sous ubuntu http://www.techytalk.info/send-receive- … ne-ubuntu/ il y a aussi des services web (payants) qui proposent d'envoyer et recevoir des sms par leur entremise ++b
|
oli44 — 2012-03-07 13:47:40 |
Salut,
une toute autre possibilité dont le labomedia a déjà fait la moitié du chemin, c'est de se prendre un compte SMS avec un numéro chez un SMS gateway provider. Tu peux faire en sorte que le code PHP t'envoie le résultat en OSC vers ton patch Pd. Le Labomédia a déjà fait un truc comme ça non, où on pouvait interagir avec un pd patch via une page web?
|
benjamin — 2012-03-12 14:38:33 |
hello,
quelques éléments là pour php <> Pd : http://wiki.labomedia.org/index.php/Pure_Data_vs_PHP
++b
|
oli44 — 2012-03-17 13:07:00 |
MErci Ben, je n'étais pas allé repêcher le lien
|
pascsaq — 2012-03-19 01:04:05 |
Hello tous,
Merci pour toutes ces infos qui m'ont bien aidé ! La solution avec PHP est effectivement intéressante et peut-être plus solide que celle-ci (j'ai pas testé du tout)... Donc la meilleure solution que j'ai pu expérimenter (jusqu'à présent) c'est d'utiliser directement les commandes AT dans minicom. C'est efficace, rapide et stable ! Mais de là à passer de minicom à puredata, y a un bout... Je me suis tourné vers une manière d'automatiser le tout avec Perl... Le script demande encore à être amélioré (je me suis mise à Perl que depuis quelques jours, pour ce projet ! donc... ! surement beaucoup de lourdeurs !)
Voilà une des solutions possibles... J'ai pas mal de doc à rassembler sur ce sujet... Reste à améliorer tout ça etc. à tester en situation (???) ... Jusqu'où ça peut tenir... À voir...
Encore merci de votre aide +++ p
|
dwan — 2012-03-20 18:31:24 |
Si les commandes AT marchent bien, je ferais ça en bash avec des pipes de partout et un coup de netcat à la fin pour envoyer ça à pure data. Récemment j'ai fait un truc du genre pour récupérer des infos dans un fichier log, ça donnait ça : Donc pour toi il faudrait remplacer tail par ton script perl ou équivalent, s'il y a besoin de nettoyer la sortie, un coup de grep, ou sed, ou awk, puis netcat.
|
pascsaq — 2012-03-21 02:28:43 |
Salut !
Je ne comprends pas pourquoi tout ça... Ça fonctionne nickel avec perl -> pd + c'est top pour traiter les chaînes de caractères (je parle de perl, bien sûr). J'utilise simplement l'objet [shell] ! ??? Merci quand même ! +++ p
|
dwan — 2012-03-21 13:54:33 |
Je n'aime pas [shell] pour une simple raison : il ne prend pas les pipes. (caractère | ). Et je n'aime pas faire du traitement de chaînes dans pd alors qu'on fait très bien ça avec grep, sed ou awk, ou même du perl comme tu le fais. Ensuite je passe par le réseau pour une question de modularité : si j'ai envie de délocaliser un bout du process pour une raison ou une autre, c'est plus simple. Comme tu semblais ouverte à d'autres moyens de faire, je te montre comment je ferais de mon côté :)
|
pascsaq — 2012-03-21 23:14:26 |
Cool ! Merci... Effectivement, j'ai utilisé cette technique également, mais c'était dans mes débuts avec puredata et surtout parce que je ne connaissais pas à ce moment l'objet [shell]. C'était pour envoyer dans pd un flux IRC ! Je vais regarder ta solution de plus près !!! :) Merci beaucoup en tout cas ! +++ p
|