J'ai créé ce script python sur rpi2, le message passe, mais c'est un message vide. Est-ce un problème d'encodage?Recieving SMS SMS SIM800 en utilisant les commandes AT et Python sur Raspberry Pi 2
import serial
import time
from sys import version_info
from curses import ascii
phone = serial.Serial("/dev/ttyAMA0", 115200, timeout=0.5)
def send_text(number,message):
phone.write(b'AT+CMGF=1\r')
phone.write(b'AT+CMGS="' + number.encode() + b'"\r')
phone.write(message.encode())
phone.write(ascii.ctrl('z'))
for i in range(len(reply)):
reply[i] = reply[i].rstrip()
print reply
commandes AT (où 0000000000 est un 10 chiffres du numéro mobile) dans Minicom, encore vide un message
minicom -D /dev/ttyAMA0 -b 115200 -o
AT
OK
AT+CMGS="0000000000"
>Hello
<ctrl-z>
+CMGS: 14
OK
Screenshot of Message from GSM Module
Vous terminez correctement la ligne de commande AT avec '\ r', c'est bien. Mais vous devriez ** jamais, jamais, jamais utiliser le sommeil comme un substitut pour attendre le code résultat final du modem. ** Voir [cette réponse] (http://stackoverflow.com/a/33266839/23118) pour plus de détails . Sans fixer que vous n'obtiendrez jamais aucun de votre code de commande AT pour se comporter de manière fiable. – hlovdal
Merci pour ça! Ill réparer ce code! Bien que le problème ci-dessus a été résolu par cette commande AT 'AT + CSMP = 17,167,0,0' –