Understanding how MicroPython transmits/receive messages and how to transmit large number of data

Hey!

Reading the Xbee 3 Zigbee RF Module User Guide, I have understood that there are 3 operating modes:

  • AT (Application Transparent) or Transparent mode
  • API 1 and
  • API 2
    The selection of the operation mode is being made via the AP setting.
    In XCTU, AP setting has two additional options: MicroPython REPL and NA.
    I would like to ask some questions to make sure I have understood correctly.

How is the tranceive(transmit and/or receive) of messages achieved in MicroPython?
Is there ability to use API frames somehow?
In the Digi MicroPython Programming Guide exists only the transmit method (of xbee class) as a way to wirelessly transmit a message (and it also claimed that the receiver module should be in API mode in order to receive the message). How does this method work? And is that the only method?

Could also someone point out (some github link maybe) where I can find the definition of the xbee class and its methods?

Also, it is mentioned that MicroPython has a receive queue that stores up to four incoming packets. In case I want to receive a large bulk of data in a short period of time, what is the recommended way to do it? Would an infinite loop of reading of this buffer (where the incoming packets are stored) be enough or is there any other more appropriate way to do it? (maybe the ability to send API frames-like packeted data would help?)

Regarding the NA option: what does it actually mean?

Thank you in advance!

No it is not done via API frames but with Micro Python functions or calls. that interact with the functions of the firmware. (See the send and receive examples in the micro Python Lib).

import xbee
test_data = ‘Hello World!’
xbee.transmit(xbee.ADDR_BROADCAST,test_data)

xbee.receive()

The receive can be put in a while loop so you can perform other functions while it is waiting for data.

NA is Not Applicable as it is not a function as of right now.

1 Like