Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Z zigbee-dongle-kw2x
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 4
    • Issues 4
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Gianmarco Garrisi
  • zigbee-dongle-kw2x
  • Wiki
  • Home

Home · Changes

Page history
Renaming authored May 10, 2017 by Gianmarco Garrisi's avatar Gianmarco Garrisi
Hide whitespace changes
Inline Side-by-side
home.md
View page @ 16abe787
Trying to connect the _ZigBee Dongle_ __Texas Instruments CC2531__ to the smart plug __FlexGrid FlexPlug__ there were problems.
All the tests were done with the zigbee-gateway-server console, version 3.1.0.
With permit join set to enable the smart plug join the network and is added to the device list.
The plug generates repeatedly a message of the IdentifyCluster containing an IdentifyQueryCommand and send it broadcast.
This page explains how zigbee4java works in relation with the hardware used to perform the communication in the ZigBee network.
I found that the library does not explicitly manage broadcast messages, so the message is received to all endpoints (by default the program creates 3 endpoints for the dongle, with different clusters on each), but, because only endpoint 1 has the Identify Cluster, when the message reaches the other endpoints an exception is thrown. The exception let the console usable but the long message that prints on the screen is annoying, so see issue #4. This is also an efficiency issue.
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).
The dongle vendor adds to these primitives the Test Library (ZigBee Test Client, ZTC, for BeeStack).
Also noticed that changing the permit join parameter generates an unknown package, then a warning. Analyzing the packages I think that the unknown one is only some form of notification that the status changed, in fact the unknown frame is not generated if the join command is used without changing the status (e.g. join enable when permit join is already enabled). I don't have the certainty because the command ID of the package is not on the "Z-Stack Monitor and Test API" document.
The library uses the Test Client to perform some actions on the dongle, like CPU reset or set/get channel, PAN-ID, and so.
The ZDO is used to perform actions mainly related to network management.
The packets defined by the ZigBee Alliance are defined in the *zigbee-common* package that is the higher level, hardware independent part of the library.
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)
Trying to send any command through the dongle goes on time-out.
The messages I tried to send are:
* write and read message
* on and off messages
* IdentifyCommand
* IdentifyQueryResponse
\ No newline at end of file
Clone repository
  • bug dongle ti
  • clusters and endpoins
  • differences nxp ti
  • Home
  • long term plan
  • setup
  • short term plan
  • start
  • state of impl