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



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í;)