KW41Z ZigBee Questions/msg transfer/code analysis

cancel
Showing results for 
Search instead for 
Did you mean: 

KW41Z ZigBee Questions/msg transfer/code analysis

Jump to solution
270 Views
gustcool2
Contributor II

Hi

I am studying KW41Z control bridge code.

and I understand how the 'control bridge' receives and parses serial data.

but, I can't understand how the 'control bridge' sends and receives data using ZigBee.

What I want to know,

First, how to transfer message. For example, A board is control bridge, B board is end device.(network joined)

If I send "hello world" from host to A board using UART, A board send "hello world" from A to B using ZigBee. and B board send "hello world" from B to host using UART.

Are there any intuitive example code like this?

Second, I'm analyzing 'ZigBee Control Bridge Code'. but I'm beginner about firmware and rtos. I can't understand ZigBee operation. So how should I study? and What should I look?

thanks

Labels (2)
0 Kudos
1 Solution
162 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi JunTae Lee,

Just to confirm, did you run the JN-AN-1216 example?

Do you have a sniffer to capture the packets in the air?

First, Should I define and use a cluster ID?(sAfProfileDataReq.u16ClusterId)

and a profile ID either?(sAfProfileDataReq.u16ProfileId)

Using the ZWGUI you could use a custom cluster.

Second, I can't understand how this function works(APP_eApsProfileDataRequest). could you please explain brief?

and onoff cluster and level cluster use 'eZCL_CustomCommandSend' function. why the raw data option does not use this function(eZCL_CustomCommandSend)?

The on-off cluster has defined the commands and the structures by the ZigBee Spec. Please look at the ZigBee Cluster Library.

Finally, I used raw data option using ZGWUI and checked packet receive in child device.

but It was a simple packet receive debug message. I want to see the Message I send.

Are there other end device example?(I'm using extended light end device example) if not, what should I do?

I recommend using a sniffer for a better debug purpose. Do you have a KW41 dongle?

Regards,

Mario

View solution in original post

3 Replies
162 Views
gustcool2
Contributor II

Hi Mario.

Thanks for the useful answer.

I took a look at ZigBee 3.0 Stack.

and looking at the General options in the ZGWUI, the raw data option.

I have a few questions.

the raw data option

case (E_SL_MSG_SEND_RAW_APS_DATA_PACKET):
{
ZPS_tsAfProfileDataReq sAfProfileDataReq;
uint8 u8DataLength;

sAfProfileDataReq.uDstAddr.u16Addr = ZNC_RTN_U16 ( au8LinkRxBuffer, 1 );
sAfProfileDataReq.u16ClusterId = ZNC_RTN_U16 ( au8LinkRxBuffer, 5 );
sAfProfileDataReq.u16ProfileId = ZNC_RTN_U16 ( au8LinkRxBuffer, 7 );
sAfProfileDataReq.eDstAddrMode = au8LinkRxBuffer[0];
sAfProfileDataReq.u8SrcEp = au8LinkRxBuffer[3];
sAfProfileDataReq.u8DstEp = au8LinkRxBuffer[4];
sAfProfileDataReq.eSecurityMode = au8LinkRxBuffer[9];
sAfProfileDataReq.u8Radius = au8LinkRxBuffer[10];
u8DataLength = au8LinkRxBuffer[11];

u8Status = APP_eApsProfileDataRequest ( &sAfProfileDataReq,
&au8LinkRxBuffer[12],
u8DataLength,
&u8SeqNum );
}
break;

First, Should I define and use a cluster ID?(sAfProfileDataReq.u16ClusterId)

and a profile ID either?(sAfProfileDataReq.u16ProfileId)

Second, I can't understand how this function works(APP_eApsProfileDataRequest). could you please explain brief?

and onoff cluster and level cluster use 'eZCL_CustomCommandSend' function. why the raw data option does not use this function(eZCL_CustomCommandSend)?

Finally, I used raw data option using ZGWUI and checked packet receive in child device.

but It was a simple packet receive debug message. I want to see the Message I send.

Are there other end device example?(I'm using extended light end device example) if not, what should I do?

Thank you again.

and have a nice day.

0 Kudos
163 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi JunTae Lee,

Just to confirm, did you run the JN-AN-1216 example?

Do you have a sniffer to capture the packets in the air?

First, Should I define and use a cluster ID?(sAfProfileDataReq.u16ClusterId)

and a profile ID either?(sAfProfileDataReq.u16ProfileId)

Using the ZWGUI you could use a custom cluster.

Second, I can't understand how this function works(APP_eApsProfileDataRequest). could you please explain brief?

and onoff cluster and level cluster use 'eZCL_CustomCommandSend' function. why the raw data option does not use this function(eZCL_CustomCommandSend)?

The on-off cluster has defined the commands and the structures by the ZigBee Spec. Please look at the ZigBee Cluster Library.

Finally, I used raw data option using ZGWUI and checked packet receive in child device.

but It was a simple packet receive debug message. I want to see the Message I send.

Are there other end device example?(I'm using extended light end device example) if not, what should I do?

I recommend using a sniffer for a better debug purpose. Do you have a KW41 dongle?

Regards,

Mario

View solution in original post

162 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi JunTae Lee,

I hope you are doing great.

Sending the hello world like this will not works, the Zigbee protocol works as endpoints and clusters. I recommend to look at the ZigBee 3.0 Stack User Guide Part I: Concept and Operational Information.

If you want to send the hello world like this, you have to create or send this data using a custom cluster.

Look at the General options in the ZGWUI, the raw data option.

Regards,

Mario