2017-07-14 1 views
0

J'ai un périphérique que je veux envoyer des commandes AT je suis capable de me connecter au périphérique avec telnet ou avec une socket. Mon problème est que je suis incapable d'envoyer la commande AT ou de savoir comment la recevoir, j'ai trouvé quelques articles sur ce sujet mais ils parlent tous de connexion série.Commandes AT avec Telnet/Socket en python

Ma question est quelle serait la bonne façon d'envoyer un commandes AT si je suis connecté au terminal par Telnet ou un socket et pour recevoir la réponse

j'ai essayé les deux socket.send ("AT \ n «) et telnet.write (b » AT ")

« AT » doivent simplement répondre avec « OK » état

+0

Comment savez-vous que vous êtes connecté? Que se passe-t-il lorsque vous faites 'socket.send (" AT \ n ")' –

+0

je reçois la longueur de la chaîne –

Répondre

1

AT correcte manipulation de commande est la suivante:

Vous devez envoyer le command line, puis lire et analyser (framing) AT réponses de commande jusqu'à ce que vous recevez un code de résultat final.

Voir sur la façon dont devrait être la logique pour la lecture et l'analyse syntaxique this answer (ou this, this ou certains de mes other answers) pour plus de détails.

0

Je ne sais pas si vous avez essayé, mais après [ne pas oublier le. encoder() et .decode() pour envoyer et recv]

s=socket.socket() 
s.connect((host,port)) 
s.send("AT\n".encode()) 

Vous devez utiliser

data=s.recv(1024).decode() 
print(data) 

Pour recevoir des informations. Ensuite, vous fermez le socket avec

s.close() 

Hope that helps!