Generalidades

Uso de Python para enviar comandos AT a un módem serie de un teléfono inteligente | Autor: Henrik Miranda | Enero de 2022

Enrique Miranda
Uso de Python para enviar comandos AT a un modem

Los módems en serie no están completamente inutilizables en este momento, ¡sí! Los podemos encontrar en módulos y ordenadores embebidos (como arduino y ESP8266). Como era de esperar, su teléfono inteligente Android puede estar integrado con un teléfono inteligente. ¿Cómo comunicarse con estos módems en serie? No es tan complicado como parece … ¿Deberíamos usar teléfonos inteligentes Samsung para realizar pruebas?

Primero instale el controlador del teléfono inteligente Samsung, puede poner esto aquí. Y al descargar, también puede instalar Python 3+ aquí.

Lo curioso es que necesitamos una biblioteca simple: pyserial

Una generaciónnorteDeténgase (en la CMD de Windows después de instalar el instalador de Python):

pip install pyserial

¡Codifiquemos ahora!

Ingrese el correspondiente por COM de su dispositivo en el código a continuación, y véalo en el administrador de dispositivos.

import pyserial
modem = serial.Serial("COM4", 115200, timeout=3)

¡Es así de simple! Ahora necesitamos enviar el comando:

modem.write(”AT”.encode())

Veamos la respuesta:

print(modem.readall().decode())

Algunos teléfonos inteligentes no requieren permiso de ADB, por lo que puede controlarlos bien. Ahora mira estos comandos:

Obtener información del dispositivo:

modem.write(”AT+DEVCONINFO”.encode())
print(modem.readall().decode())

Obtendrá algo como esto:

Intente esto para reiniciar el dispositivo:

modem.write("""AT+CFUN=1,1""".encode())

Ahora el código completo:

import serialdef sendAt(port, cmd):
phone = serial.Serial(port, 460800, timeout=3)
try:
phone.write(f"""{cmd}\r\n""".encode())
finally:
return f'RESPONSE: {phone.readall().decode()}'
phone.close()
sendAt("COM4", "AT+DEVCONINFO")

¡estupendo! ¿Quiere ver más comandos AT y sus funciones en la Parte 2 de este artículo? Aplauda aquí;)

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba