Так что это программа, которую я использую на удаленном устройстве XBee. Он принимает сообщения от локального узла И во второй раз я запрашиваю данные устройства, все еще живые, и он отправляет обратно то же самое на локальный узел. Как я могу удалить предыдущие данные с устройства?
class local():
def __init__(self):
self.device=0
self.Local()
self.data=0
self.time=0
self.data_back=0
self.sensor=Adafruit_DHT.DHT11
self.pin=2
self.li=0
def Local(self):
try:
for i in range(256):
local = XBeeDevice("/dev/ttyUSB"+str(i), 9600)
local.open()
print('/dev/ttyUSB'+str(i))
self.device=local
break
except:
print('check com port')
pass
def read(self):
NEW_TIMEOUT_FOR_SYNC_OPERATIONS = 2
self.device.set_sync_ops_timeout(NEW_TIMEOUT_FOR_SYNC_OPERATIONS)
try:
while(True):
self.data=self.device.read_data()
if(self.data!=None):
self.data=self.data.data.decode()
break
self.answer()
except:
self.device.close()
print('There is a problem about device, so has been closed!')
def answer(self):
self.li=self.data.split('-')
print(self.li[0])
self.time=self.li[1]
self.temper()
def temper(self):
self.time=int(self.time)
try:
for i in range(self.time):
hum,tem=Adafruit_DHT.read_retry(self.sensor,self.pin)
if(i==self.time):
self.data_back=str(self.data_back)+str(i)+'-'+str(tem)
else:
self.data_back=str(self.data_back)+str(i)+'-'+str(tem)+','
time.sleep(0.1)
xbee_network=self.device.get_network()
back_device=xbee_network.get_device_by_64(XBee64BitAddress.from_hex_string(self.li[0]))
self.device.send_data_async(back_device,self.data_back)
self.data_back=0
self.data=None
self.read()
except:
print('there is a problem')
lcl=local()
lcl.read()