[Help] pilotage sim900 en python depuis un raspberry

pilotage sim900 en python depuis un raspberry [Help] - Nano-ordinateur, microcontrôleurs, FPGA - Electronique, domotique, DIY

Marsh Posté le 30-06-2022 à 19:23:24    

Bonjour,

 

Je suis à la recherche d'une librairie python basique pour piloter une sim900 derrière un raspberry
 
 J'ai bien bricolé un truc en python à base de tuto, mais j'ai de serrieux problèmes de port série avec ma sim900

 

ci dessous ma fonction d’envois de SMS, rien de compliqué et pourtant suivant si je print la sortie ou pas j'ai des comportement différents

 
Code :
  1. def __init__(self):
  2.         self.__ser = serial.Serial("/dev/serial0", baudrate=19200, timeout=1)
  3.         self.__ser.write(b'AT\r\n')     
  4.         self.__ser.write(b'AT+CMGF=1\r\n') # mode texte
  5.         self.__ser.reset_input_buffer()
  6.    
  7. def sendSMS(self, phone, msg):
  8.         msg = str(msg)
  9.         print("SEND MSG : [" + msg + "]" )
  10.         print("TO : [" + phone + "]" )
  11.        
  12.         mystr = "AT+CMGS=\""+phone+"\"\r\n"
  13.         self.__ser.write(mystr.encode())
  14.         print(str(self.__ser.read(self.__ser.inWaiting())))
  15.         time.sleep(1)
  16.        
  17.         mystr = msg+"\r\n"
  18.         self.__ser.write(mystr.encode())
  19.         print(str(self.__ser.read(self.__ser.inWaiting())))
  20.         time.sleep(1)
  21.        
  22.         mystr = "\x1A"
  23.         self.__ser.write(mystr.encode())
  24.         print(str(self.__ser.read(self.__ser.inWaiting())))
  25.         time.sleep(3)
 

le log avec 2 appels successif de la fonction
le premier arrive le second pète

 
Code :
  1. SEND MSG : [coucou les toto]
  2. TO : [+33612345678]
  3. b''
  4. b'AT+CMGS="+XXXXXXXX"\r\n\r\n> '
  5. b'coucou les toto\r\n\r\n> '
  6. SEND MSG : [glop : invitations envoyees]
  7. TO : [+33612345678]
  8. b''
  9. b'\r\n+CMGS: 155\r\n\r\nOK\r\n'
  10. b'glop : invitations envoyees\r\n\r\nSIM900 R11.0\r\n\r\n+CME ERROR: 3\r\n'
 

en rouge ce qui me semble louche dans le SMS qui passe et pas dans l'autre.
d'où peuvent bien venir ces caractères

 

en bleu ce qui me semble louche ce SMS ne passe pas, et pour cause la requête AT est pourrie .
A la place de b'\r\n nous devrions avoir b'AT


Message édité par TotalRecall le 17-07-2022 à 07:02:00
Reply

Marsh Posté le 30-06-2022 à 19:23:24   

Reply

Marsh Posté le 01-07-2022 à 18:39:33    

Je suppose que ce n° de téléphone est réel? Tu devrais le censurer. Tu peux encore éditer ton message.
 
Le print() nécessite (très peu) de temps, ça pourrait expliquer les choses. Tu as la possibilité d'intercepter les données entre le Raspberry et le module avec un analyseur logique (10€ pour ce que tu veux faire) ou un/deux autres modules UART-USB?

Reply

Marsh Posté le 17-07-2022 à 07:02:46    

rat de combat a écrit :

Je suppose que ce n° de téléphone est réel? Tu devrais le censurer. Tu peux encore éditer ton message.


:jap: c'est fait.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 17-07-2022 à 07:55:26    

:jap:

Reply

Marsh Posté le 02-08-2022 à 23:38:00    

As as tu réussi ?
J'utilise le module dans mon raspberry en tant que source internet wwan vers eth0 et hotspot wifi wlan0
Et j'ai également couplé jeedom pour l'envoie de SMS.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed