def main(): zigbee = ZigBeeDevice('/dev/ttyUSB0', 9600) try: zigbee.open() data = 'Zigbee node %s sending data' % (zigbee.get_node_id()) data = data.encode('utf-8') rssi_raw = zigbee.get_parameter("DB") rssi_val = struct.unpack('=B', rssi_raw) print(rssi_val) #packet_receive = zigbee.send_data_broadcast(data) #data_packet = packets.XBeePacket() #packet = data_packet.create_packet(data, OperatingMode.API_MODE) #packet_receive = zigbee.send_packet(packet) def packet_received_callback(packet): packet_dict = packet.to_dict() api_data = packet_dict[DictKeys.FRAME_SPEC_DATA][DictKeys.API_DATA] print(api_data) print(packet_receive) #zigbee.add_packet_received_callback(packet_received_callback) finally: if zigbee is not None and zigbee.is_open(): zigbee.close()
XBee_zig.open() # Opens serial interface to device # Define callback. def xbRxCallback(xbee_message): address = xbee_message.remote_device.get_64bit_addr() data = xbee_message.data.decode("utf8") print("Received data from %s: %s" % (address, data)) # Add the callback. XBee_zig.add_data_received_callback(xbRxCallback) # Read device information (more getters are availiable): addr_64 = XBee_zig.get_64bit_addr() node_id = XBee_zig.get_node_id() pan_id = XBee_zig.get_pan_id() print('Opened device with addr') print(addr_64) print('and node ID') print(node_id) print('on PAN ID') print(pan_id) print('listening for messages...') #msg = XBee_zig.read_data(120); #data = msg.data.decode("utf8") #print(data) while (True):