envoi de MMS
Publié : 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
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