public:protocols:python-digi-xbee
This is an old revision of the document!
Table of Contents
Digi.Xbee library:
Usage of digi.xbee library for wireless data communication: Source: https://xbplib.readthedocs.io/en/latest/getting_started_with_xbee_python_library.html
Typical required imports:
import time import sys from digi.xbee.devices import XBeeDevice, RemoteZigBeeDevice, XBee64BitAddress, ZigBeeDevice, RemoteXBeeDevice, XBeeMessage, IOMode from digi.xbee.io import IOLine from digi.xbee.packets.common import TransmitStatusPacket
Typical instantiation of local device:
# instantiate XbeeDevice object: #device = XBeeDevice("/dev/ttyS2", 9600) device = ZigBeeDevice("/dev/ttyS2", 9600) #device = ZigBeeDevice("COM13", 9600) device.set_sync_ops_timeout(5) device.open()
Typical instantiation of a remote device & remote pin control:
# Instantiate a remote XBee device object. remote_device = RemoteXBeeDevice(device, XBee64BitAddress.from_hex_string("0013A200xxxxxxxx")) remote_device.set_io_configuration(IOLine.DIO11_PWM1, IOMode.DIGITAL_OUT_HIGH)
Typical serial data transmission:
- Send text to remote receiver
- receive text back from remote receiver
# Send data using the remote object. #state = device.send_data(remote_device, "Hello XBee!") sendID = 0 while(True): if(sendID == 3): sendID = 0 else: sendID += 1 #h = hex(sendID) #v = ("\xFF".encode('Latin-1')) #state = device.send_data(remote_device, v) state = device.send_data(remote_device, chr(sendID)) if(state != None): print(state.transmit_status) time.sleep(0.2) # Read data. xbee_message = device.read_data() if(xbee_message != None): remote_device = xbee_message.remote_device data = xbee_message.data is_broadcast = xbee_message.is_broadcast timestamp = xbee_message.timestamp print(str(data.decode())) else: print("No return message")
At end of program:
device.close()
public/protocols/python-digi-xbee.1589125583.txt.gz · Last modified: (external edit)
