Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
        print("from: {}, RSSI: {}, Data: {}".format(addr, rssi, bytes(data).decode()))
    return packet_received_callback


#
# def do_discovery(device):
#     network = device.get_network()
#     network.start_discovery_process()
#
#     while network.is_discovery_running():
#         time.sleep(0.5)
#
#     print("Discovery complete!")
#     devices = network.get_devices()
#     for d in devices:
#         name = d.get_parameter("NI").decode("utf-8")
#         print("Name is: " + name)
#         if name == "jeremy":
#             d.set_parameter("NI", "NEWNAME".encode())
#             d.execute_command("WR")
#             print("renamed!")


if __name__ == "__main__":
    my_device = ZigBeeDevice("COM5", 9600)
    my_device.open()
    set_node_and_pan(my_device, "test_device", "1234")
    my_device.add_packet_received_callback(generate_packet_callback(my_device))

    print("At startup, last received packet strength: -" + str(ord(my_device.get_parameter("DB"))) + "dB")