ZigBee connections problems (Association response)

Go To Last Post
15 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

I am trying to connect a MeshBean 2 board from MeshNetics to a gas-meter.
I have programmed my MeshBean board with a standard controller program that works with other MeshBean boards.
But when I try to connect it to my ZigBee gas-meter, it will not connect.

Here is a screenshot of a connection try. (It was sniffed with a AVR Raven USB stick)

As you can see the client does not respond to the "association response" frame, and I dont know why that is?

The controller is programmed with the BitCloud stack from Atmel.
And I dont have any access to the gas-meters software.

Best Regards

Chris

Last Edited: Fri. Oct 16, 2015 - 02:36 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Please be more specific. What is the model name of gas-meter, what version of BitCloud do you use and what application (+ configuration parameters of application), who is who on provided screenshot?

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm using BitCloud 1.5.0.
I dont know the model-name of the gas-meter, but it is build using a DevCom04-L http://www.develco.dk/DevCom/DevCom_04_ZigBee_Module.aspx.
The configuration parameters of my applications are:

CS_EXT_PANID = 0xAAAAAAAAAAAAAAAALL
CS_NEIB_TABLE_SIZE = 8
CS_MAX_CHILDREN_AMOUNT = 7
CS_MAX_CHILDREN_ROUTER_AMOUNT = 0
CS_ROUTE_TABLE_SIZE = 8
CS_END_DEVICE_SLEEP_PERIOD = 10000

CS_CHANNEL_MASK = "(1l<<11f)"
CS_CHANNEL_PAGE = 0
CS_RX_ON_WHEN_IDLE = true
CS_NWK_UNIQUE_ADDR_ID = false

On the provided screenshot my application the controller has address 0x0000.
And the gas-meter has address 0x0000000006000018.

Thanks for taking the time and responding to my post.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

One thing I forgot to say is that the gas-meter is searching for a controller on more channels than, channel 11 (where my controller is).
So because it does not get the "association response" fast enough from my controller it goes to the next channel in search for a controller.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here is a screenshot of a successfull connection between two MeshBean Boards.

The connection is on line 3-10.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Chris3 wrote:

CS_CHANNEL_MASK = "(1l<<11f)"

Why it is 11f ? What is 'f'?

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sry it is just 11.
CS_CHANNEL_MASK = 1<<11

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Chris3 wrote:
One thing I forgot to say is that the gas-meter is searching for a controller on more channels than, channel 11 (where my controller is).
So because it does not get the "association response" fast enough from my controller it goes to the next channel in search for a controller.

Coordinator sends response 1.5 ms after MAC ack. This time is much less than standard allowed. So it seems like this is gas-meter problem.

It is also possible that meter is not fast enough to switch to receive mode in 1.5 ms interval.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Do you know if it is possible to change "MAX_FRAME_RETRIES" in the BitCloud stack from 3 to 20?

Would that even help?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Chris3 wrote:
Do you know if it is possible to change "MAX_FRAME_RETRIES" in the BitCloud stack from 3 to 20?

It is possible to change it to 7 (maximum value allowed by standard). Read docs about MAC_SetReq() and MAC_PIB_MAX_FRAME_RETRIES_ID parameter.

Chris3 wrote:

Would that even help?

It depends on what actually happens. If meter is too slow that may help. If it is too fast nothing but changing delay in the meter will help.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Do you know if there are any other docs for the BitCloud stack, than "AVR2052_BitCloud_Quick_Start_Guide.pdf" and "doc8199_BitCloud_UserGuide.pdf" and the include files?

The two pdf files only descibe a little part of the stack, and the so called "stack dokumentation" only describes the include files.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Chris3 wrote:
The two pdf files only descibe a little part of the stack, and the so called "stack dokumentation" only describes the include files.

BitCloud Stack Documentation chm is automatically generated by doxygen and describes all public API. What kind of docs do you need?

PS: Seems like documentation describes only ZDO and APS. So for other layers API you should look in .h files.

Please feel free to ask any questions.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Since it is auto-generated from the include files, not all functions or variables are described fully.
Ex. the function you sugested MAC_SetReq()and MAC_PIB_MAX_FRAME_RETRIES_ID is not descibed in "BitCloud Stack Documentation chm".

And also how the functions relate to each other is a bit hard for me to find out..

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Chris3 wrote:
And also how the functions relate to each other is a bit hard for me to find out..

Yes, I see. I agree that documentation is not complete at all. I personally can not do anything about this.

chm describes only higher layers. Lower layer are not supposed to be accessible for user.

API is pretty logical after short (or not so short) period of working with it.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Chris3 wrote:
Hi,

I am trying to connect a MeshBean 2 board from MeshNetics to a gas-meter.
I have programmed my MeshBean board with a standard controller program that works with other MeshBean boards.
But when I try to connect it to my ZigBee gas-meter, it will not connect.

Here is a screenshot of a connection try. (It was sniffed with a AVR Raven USB stick)

As you can see the client does not respond to the "association response" frame, and I dont know why that is?

The controller is programmed with the BitCloud stack from Atmel.
And I dont have any access to the gas-meters software.

Best Regards

Chris

You cannot hope to communicate with the meter unless the meter manufacturer wishes you to do so.
- encryption
- routing algorithm
- Application layer

etc

Many meters use 802.15.4 in 900 or 868MHz but from layer 2.5 up, it's proprietary. ZigBee has an AMI/AMR profile, but it may not be in use, or some variant is in use.

In my experience, meter manufacturers do not want or support open standards other than the bottom of the MAC and the PHY.