Enviando comandos AT a Remote XBee usando python-serial

0

He conectado el coordinador xbee al puerto serie de beaglebone, es decir. TX y rx de beaglebone. El pin D0 de mi enrutador está conectado al relé. Quiero deshabilitar o habilitar remotamente el pin D0. Para eso estoy usando la librería python-xbee. Lo que hice es (mi fragmento de código de Python)

myRouter='\x00\x13\xA2\x00\x40\xE4\x29\xB3'
#For Off
xbee.remote_at(dest_addr_long=myRouter,command='D0',parameter='\x04')
#For switch ON
xbee.remote_at(dest_addr_long=myRouter,command='D0',parameter='\x05')
El código

funciona bien sin error, pero no obtengo el resultado. Lo intenté usando sin beaglebone, es decir, usando usb explorer funciona. Aquí está el enlace de example @ digi .

Estoy utilizando biblioteca python-xbee . ¿Cuál sería el error?

    
pregunta Vaibhavraj Roham

1 respuesta

1

Tuve el mismo problema que tú con mi beaglebone. Obtuve éxito solo después de especificar el frame_id.

xbee.remote_at(frame_id='\x01',dest_addr_long=myRouter,command='D0',parameter='\x04')

Este es todo mi código que funciona. Tenga en cuenta que emito (dirección FFFF) el comando.

#! /usr/bin/python
import serial
from xbee import ZigBee
import time

ser = serial.Serial('/dev/ttyO2', 9600)
xbee=ZigBee(ser)

myRouter = '\x00\x00\x00\x00\x00\x00\xFF\xFF'

xbee.remote_at(frame_id='\x01',dest_addr_long=myRouter,command='D0',parameter='\x04')
time.sleep(1)
response = xbee.wait_read_frame()
print response
    
respondido por el Eric Desbiens

Lea otras preguntas en las etiquetas