XBee3 ZigBee MicroPython create data stream for Digi Remote Manager

How do you create a data stream on a XBee3 using MicroPython so it may be viewed in the Digi Remote Manager?
I’ve looked through all the Digi MicroPython documentation and example code and found they are specifically geared up for the XBee3 Cellular Modem and not XBee3 ZigBee using a XBee Gateway.

I’ve written a MicroPython script for the XBee3 ZigBee3 mounted in a XBIB-C Digi XBee3 Development Board which is reading the Temperature and Humidity from the HDC1080 I2C Sensor.
I’d like to view the Temperature and Humidity data streams in Digi Remote Manager.

Uploading data points to Digi Remote Manager requires an Internet connection. XBee3 Zigbee does not have an Internet connection - it speaks Zigbee.

In order to transmit data from an XBee3 Zigbee to Digi Remote Manager, you should use our XBee Gateway (https://www.digi.com/products/networking/gateways/xbee-gateway), XBee Industrial Gateway (https://www.digi.com/products/networking/gateways/xbee-industrial-gateway), or even something like the ConnectPort X4 (https://www.digi.com/products/networking/gateways/connectportx4).

These products support Python programmability.

Moreover, the XBee Gateway and XBee Industrial Gateway ship out-of-the-box running a Python application that uploads Digital I/O and Analog I/O readings received from XBees to Digi Remote Manager. This application is open-source (https://github.com/digidotcom/xbgw-app), and you could extend it to communicate with a MicroPython application like you want.

1 Like

I have written a MicroPython script for the XBee3 on the XBIB-C Dev Board to read the I2C Temperature and Humidity then transmit this data as a string to the coordinator which happens to be a XBee Gateway. The XBee Gateway then relays this data as a Base64 string to Digi Remote Manager.

This is OK but DRM can’t decode the Base64 string or graph the data.

I’m now looking for any help in programmatically creating a stream so the Digi Remote Manager recognises the data as a float Temperature so it can graph the data. Any Ideas?

I would suggest downloading the source of the XBee Gateway Python app (using Git or as a ZIP from GitHub) and writing code that can change the string data you are sending from the XBee3 into a numeric form (integer or float) before it is passed to the Remote Manager reporting code.

I have created a Github Gist that shows an example of how this could be done: https://gist.github.com/mikewadsten/9b13a77ccf6a4957ff0f66cd84849f54