Sending Files - API Mode?

I have an Arduino Wireless SD card, I would like to send a file (1-3MB) from the SD card.

My current working Xbee configuration is

1 x COORDINATOR WITH API (Connected to explorer board - Win PC)
3 x ROUTER WITH AT MODE (Arduino Xbee/SD shield)

What I want to achive

I want to know the node id the file is coming from I understand this can be embeded in the frame data in API mode?

I want to check the total number of bytes sent and recieved - this can be in the frame data?

I want to use the checksum to validate the data present is correct and believe this is also in the frame data

So my questions are:

  1. Is API mode the best route to go for?
  2. What is the maximum amount of data I can put in a frame - is it 100 bytes?

Is there a better way?

Thanks for your help.

You will certainly require API mode as that is the more reliable and ‘understandable’. For example in API mode the sender can see the TX status response which indicates the packet was handed off. I’d look at XMODEM for transfer.

With ZigBee your max will be down closer to 80 bytes or less. Enabling source routing or encryption will reduce this. (100 bytes is the 802.15.4 frame, but ZigBee uses at least 18 bytes of that.