envoi de MMS

Vos questions générales sur les cartes NadHAT
Règles du forum
Soyez poli, patient, bienveillant, cool, avec un discours tout public.
SergeC
Messages : 2
Inscription : dim. juin 23, 2019 4:22 pm

envoi de MMS

Message par SergeC » lun. juil. 08, 2019 12:25 pm

Bonjour,
souhaitant pouvoir envoyer et recevoir des MMS via un raspberry, je me suis inspiré du code source "mms.py" publié
sur : https://github.com/garatronic/nadhat/bl ... are/mms.py.

Cependant, il y aurait, je pense, quelques modifications à faire :
1) au niveau du code pin s'il n'est pas valorisé :
127 # Send the pin code
128 print("code PIN:", code_pin, ".\r\n")
129 #
130 if code_pin != '':
131 ser.write("AT+CPIN="+code_pin+"\r")
132 print "Code PIN sent... wait 10 secondes."
133 time.sleep(5)
134 print "code pin envoye, Wait for 5 more seconds..."
135 time.sleep(5)
136 print "Check the slow blinking LED rate..."
137 wait_Answer("OK")
138 else:
139 print("code PIN vide, on continue")

2) au niveau du fichier titre
fichier titre (remplacement du nom "title.txt" par la variable title)

taille = taille_fichier("title")
245 print("fichier titre:", title, ",.\r\n")
246 print "Size of the title file to send : " + str(taille) + "\r"
247
248 # Envoyer le fichier
249 ser.write('AT+CMMSDOWN="TITLE",' + str(taille) + ',' + str(timeout) + '\r')
250 print 'AT+CMMSDOWN="TITLE",' + str(taille) +',' +str(timeout) + '\r'
251 wait_Answer("CONNECT")
252
253 # Envoi du fichier sur le port série
254 print("envoi du fichier sur le port serie.\r\n")
255 with open(title, "rb") as f:

3) au niveau du fichier texte
fichier texte (remplacement du nom "texte.txt" par la variable texte)

# Trouver la taille du texte
277 print("fichier texte:", texte, ",.\r\n")
278 taille = taille_fichier(text)
279 print "Size of the text file to send : " + str(taille) + "\r"
280
281 # Envoyer le fichier
282 ser.write('AT+CMMSDOWN="TEXT",' + str(taille) + ',' + str(timeout) + '\r')
283 print 'AT+CMMSDOWN="TEXT",' + str(taille) +',' +str(timeout) + '\r'
284 wait_Answer("CONNECT")
285
286 # Envoi du fichier sur le port série
287 with open(text, "rb") as f:

Autre remarque :
avant d'envoyer un MMS avec ce script il faut arrêter le service "/usr/bin/gammu-smsd --pid=/var/run/gammu-smsd.pid --daemon" sinon le script ne fonctionne pas. Peut-être faudrait-il intégrer l'arrêt du service puis la relance à la fin après un certain délai (30 secondes ?).

J'ai réussi à envoyer quelques MMS mais l'envoi ne fonctionne pas systématiquement ;
après un autre essai réussi ce matin, le script bloque sur l'envoi de la séquence "AT+CMMSINIT"

center_sms=ORANGE, receiver_nb=06aabbccdd, serial_port=/dev/ttyAMA0, code_pin=, pic=/usr/share/icons/locolor/16x16/apps/gvim.png, operator_mms_url=http://mms.orange.fr, operator_mms_proxy=192.168.10.200, operator_mms_port=8080, operator_mms_apn=orange.acte
The SIM800C has booted
controle communication avec la carte ndhat
Answers : OK
('code PIN:', '', '.\r\n')
code PIN vide, on continue
mise en MMS
AT+CMMSINIT
OK not received : No communication with the nadhat board

Quelqu'un arrive-t-il à un fonctionnement pérenne ?

Merci,
Serge

fpierson
Site Admin
Messages : 10
Inscription : lun. mai 20, 2019 9:27 am

Re: envoi de MMS

Message par fpierson » ven. juil. 12, 2019 9:16 am

Bonjour Serge,

Effectivement, le code python pour envoyer des MMS n'a pas été retouché depuis sa mise en ligne. C'était un démonstrateur pour valider la fonction d'envoi des mms avec les commandes AT du module SIM800C et il n'a pas été retouché depuis.

Vos modifications sont très intéressantes, elles apportent de la souplesse quant à l'utilisation de cette utilitaire.
Le plus simple pour moi serais de recevoir de votre part un "pull request" sur le dépot nadhat, avec les modifications. Cela vous permettra de garder a paternité de ces améliorations.. ;)

Frédéric

Répondre