Я бхушан. Я новичок в программировании на питоне.Как использовать переменную вместо пакета ["source_addr_long"]
Я запрограммировал xbee в режиме API.
End Device1 -> Router1 -> Координатор.
End Device2 -> Router2 -> Координатор.
координатор должен выбрать либо маршрутизатор 1 или маршрутизатор 2, чтобы ответить
xbee1.tx(frame='0x1'
, dest_addr=packet["source_addr"]
, data='Hi'
, dest_addr_long=packet["source_addr_long"]
) # It Works.
Я хочу использовать либо адрес Роутер1 или Роутер2 вместо пакета [ «source_addr_long»]. решение должно быть принято во время выполнения.
Как я могу сохранить и получить адрес?
print source_addr_long1
выход - \ x00 \ x13 \ xa2 \ x00 \ x40 \ XB5 \ XAD \ x6e
print b"".join(byte for byte in source_addr_long1)
выход - \ x00 \ x13 \ xa2 \ x00 \ x40 \ XB5 \ XAD \ x6e
print b"".join(byte for byte in "\x00\x13\xa2\x00\x40\xb5\xad\x6e")
выход - Non для печати код
destaddr = "\x00\x13\xa2\x00\x40\xb5\xad\x6e"
xbee1.tx(frame='0x1'
, dest_addr=packet["source_addr"]
, data='Hi'
, dest_addr_long=destaddr
) # It Work.
Когда я использую строку он GIV es me error
xbee1.tx(frame='0x1' ,
dest_addr=source_addr1 ,
data='Hi' ,
dest_addr_long=source_addr_long1
) # Not Works
xbee1.tx(frame='0x1' , dest_addr=source_addr1 , data='Hi' , dest_addr_long=source_addr_long1) # Not Works
File "I:\Python27\lib\site-packages\xbee\base.py", line 418, in <lambda>
return lambda **kwargs: self.send(name, **kwargs)
File "I:\Python27\lib\site-packages\xbee\base.py", line 386, in send
self._write(self._build_command(cmd, **kwargs))
File "I:\Python27\lib\site-packages\xbee\base.py", line 195, in _build_command
% (field['name'], field['len']))
ValueError: The data provided for 'dest_addr_long' was not 8 bytes long