|
|
This page explains how zigbee4java works in relation with the hardware used to perform the communication in the ZigBee network.
|
|
|
|
|
|
ZigBee Alliance defines some packets in their format. In particular it specifies anything regarding the ZigBee Cluster Library (ZCL) and some packets of the ZigBee Device Object (ZDO, Zigbee Device Profile for BeeStack) (at least in contents).
|
|
|
ZigBee Alliance defines some packets in their format. In particular it specifies anything regarding the ZigBee Cluster Library (ZCL) and some packets of the ZigBee Device Object (ZDO, Zigbee Device Profile for BeeStack) (at least in main contents).
|
|
|
The dongle vendor adds to these primitives the Test Library (ZigBee Test Client, ZTC, for BeeStack).
|
|
|
|
|
|
The library uses the Test Client to perform some actions on the dongle, like CPU reset or set/get channel, PAN-ID, and so.
|
... | ... | @@ -9,6 +9,12 @@ The packets defined by the ZigBee Alliance are defined in the *zigbee-common* pa |
|
|
|
|
|
The parts that are dependent on dongle are inside the *zigbee-dongle-x* packages. Although not everything inside these packages is hardware dependent, in fact it is possible to isolate some classes that have a stronger dependency then others. I extracted a UML class diagram that highlights these parts.
|
|
|
![SimplifiedUMLClassesDiagram.svg](/uploads/3dda3058fa989cd1af4c0d9b6996084f/SimplifiedUMLClassesDiagram.svg)
|
|
|
A more complete (and very complex) UML class diagram is available in the repository. It has been extracted through an automatic tool.
|
|
|
|
|
|
To go on with the implementation I suggest working with the BeeStack BlackBox Reference that you can get from https://www.nxp.com/assets/documents/data/en/reference-manuals/BSBBZTCRM.pdf.
|
|
|
You can get the ZigBee Specification document from the following link http://contech.suv.ac.kr/contech/courses/11h2wsn/1_053474r17ZB_TSC-ZigBee-Specification.pdf. This is also very useful.
|
|
|
|
|
|
The zigbee4java library creates a log file when it works that reports useful information for debugging.
|
|
|
|
|
|
With the Freescale dongle you will get a lot of warning messages in the console because the dongle starts in a sort of debug mode that reports a lot of messages from the lower levels that aren't recognized by the program.
|
|
|
|