I have a ConnectPort X2D configured and running. I’ve read through most of the Digi Wiki Python Archive
https://www.digi.com/resources/documentation/digidocs/PDFs/90001537.pdf
and don’t quite see what I am looking for and Google isn’t helping me.
I see a section about sending AT commands using ddo_get_param(). Being new to python, I don’t understand how to convert the binary. The examples show using struct.unpack(), but I am not sure of the parms:
import struct
import zigbee
import xbee
Perform a node discovery:
node_list = zigbee.getnodelist()
Print the table:
print “%20s %12s %8s %24s” %
(“Label”, “Type”, “Short”, “Extended”)
print “%20s %12s %8s %24s” %
(“-” * 12, “-” * 12, “-” * 8, “-” * 24)
for node in node_list:
print “%20s %12s %8s %12s” %
(node.label, node.type,
node.addr_short, node.addr_extended)
print “”
for node in node_list:
param_value_v = zigbee.ddo_get_param(node.addr_extended, “%V”)
param_value_v = struct.unpack(“h”, param_value_v)
param_value_v = str(param_value_v)
param_value_ni = zigbee.ddo_get_param(node.addr_extended, “NI”)
param_value_d5 = zigbee.ddo_get_param(node.addr_extended, “D5”)
print “%20s %12s %20s %12s” % (node.label, param_value_v, param_value_ni, param_value_d5)
But, that is only half the battle. I want to send 0x10 packets and receive 0x90 packets. The closest thing I see is the section “XBEE API packets”, but that is opening COM1, and I don’t see anything in my web pages to configure comm ports in the X2D (unless COM1 is always the connection to the onboard radio?)
I’m new to both Xbee and Python, so not everything in the manual makes complete sense to me (CAN bus? J1939?)
TIA!