Digi, Digi International, and the Digi logo are trademarks or registered trademarks in the United
States and other countries worldwide. All other trademarks mentioned in this document are the
property of their respective owners.
Information in this document is subject to change without notice and does not represent a
commitment on the part of Digi International. Digi provides this document “as is,” without warranty of
any kind, expressed or implied, including, but not limited to, the implied warranties of fitness or
merchantability for a particular purpose. Digi may make improvements and/or changes in this manual
or in the product(s) and/or the program(s) described in this manual at any time.
Warranty
To view product warranty information, go to the following website:
Digi XBee Cellular 3G Global Embedded Modem User Guide
2
www.digi.com/howtobuy/terms
Customer support
Gather support information: Before contacting Digi technical support for help, gather the following
information:
Product name and model
Product serial number (s)
Firmware version
Operating system/browser (if applicable)
Logs (from time of reported issue)
Trace (if possible)
Description of issue
Steps to reproduce
Contact Digi technical support: Digi offers multiple technical support plans and service packages.
Contact us at +1 952.912.3444 or visit us at www.digi.com/support.
Feedback
To provide feedback on this document, email your comments to
techcomm@digi.com
Include the document title and part number (Digi XBee Cellular 3G Global Embedded Modem User
Guide, 90001541 R) in the subject line of your email.
Digi XBee Cellular 3G Global Embedded Modem User Guide
3
Contents
Digi XBee Cellular 3G Global Embedded Modem User Guide
Applicable firmware and hardware15
SIM cards15
Cellular service16
Get started with the XBee Cellular Modem
Identify the kit contents18
Connect the hardware19
Install and upgrade XCTU20
Add a device to XCTU20
Update the device firmware using XCTU21
Check for cellular registration and connection21
XBee connection examples
Connect to the Echo server23
Connect to the ELIZA server24
Connect to the Daytime server25
Perform a (GET) HTTP request27
Connect to a TCP/IP address28
Debugging29
Software libraries29
Get started with Digi Remote Manager
Create a Remote Manager account and add devices30
Create a Remote Manager account31
Add an XBee Cellular Modem to Remote Manager31
Verify the connection between a device and Remote Manager32
Configure Remote Manager features by scheduling tasks32
Overview: Create a schedule for a set of tasks32
Examples33
Example: Read settings and state using Remote Manager33
Example: Configure a device from Remote Manager using XML34
Example: Schedule a task to update the device firmware using Remote Manager35
Example: Update MicroPython from Remote Manager using XML36
Manage data in Remote Manager40
Review device status information from Remote Manager40
Digi XBee Cellular 3G Global Embedded Modem User Guide
4
Manage secure files in Remote Manager41
Remote Manager reference42
Enable SM/UDP42
TCP connection42
Disconnect44
Configure XBee settings within Remote Manager44
Examples: IOT protocols with transparent mode
Get started with CoAP47
CoAP terms47
CoAP quick start example47
Configure the device48
Example: manually perform a CoAPrequest48
Example: use Python to generate a CoAP message49
Get started with MQTT51
Example: MQTT connect51
Send a connect packet53
Example: send messages (publish) with MQTT54
Example: receive messages (subscribe) with MQTT55
Use MQTT over the XBee Cellular Modem with a PC56
Get started with MicroPython
About MicroPython61
Why use MicroPython61
MicroPython on the XBee Cellular Modem61
Use XCTU to enter the MicroPython environment61
Use the MicroPython Terminal in XCTU62
Troubleshooting62
Example: hello world62
Example: turn on an LED62
Example: debug the secondary UART63
Exit MicroPython mode64
Other terminal programs64
Tera Term for Windows65
Use picocom in Linux66
Update the firmware
Create a plan for device component firmware updates69
Update the device firmware70
Update the device firmware using XCTU70
Update the firmware from the Devices page in Remote Manager71
Update the firmware using web services in Remote Manager71
Use a host processor to update the modem firmware for XBee devices over UART73
Technical specifications
Interface and hardware specifications77
RF characteristics77
Networking specifications77
Power requirements79
Digi XBee Cellular 3G Global Embedded Modem User Guide
5
Power consumption79
Electrical specifications80
Regulatory approvals81
Hardware
Mechanical drawings83
Pin signals83
Pin connection recommendations85
XBee header connector requirements85
RSSI PWM85
SIM card85
Associate LED functionality85
Development boards87
XBIB-U-DEV reference87
XBIB-CU-TH reference89
XBIB-C-GPS reference92
Interface with the XBIB-C-GPS module93
Antenna recommendations
Antenna placement95
Design recommendations
Power supply considerations97
Add a capacitor to the RESET line97
Heat considerations97
Add a fan to provide active cooling98
Custom configuration: Create a new factory default98
Set a custom configuration99
Clear all custom configurations on a device99
Clean shutdown99
SD (Shutdown) command99
Sleep feature100
Airplane mode100
SIMcards100
Cellular connection process
Connecting102
Cellular network102
Data network connection102
Data communication with remote servers (TCP/UDP)102
Disconnecting102
Modes
Select an operating mode105
Transparent operating mode106
API operating mode106
Bypass operating mode (DEPRECATED)106
Digi XBee Cellular 3G Global Embedded Modem User Guide
6
Enter Bypass operating mode107
Leave Bypass operating mode107
Restore cellular settings to default in Bypass operating mode107
Command mode107
Enter Command mode107
Troubleshooting108
Send AT commands108
Response to AT commands109
Apply command changes109
Make command changes permanent109
Exit Command mode109
MicroPython mode109
Sleep modes
About sleep modes112
Normal mode112
Pin sleep mode112
Cyclic sleep mode112
Cyclic sleep with pin wake up mode112
Airplane mode112
The sleep timer112
MicroPython sleep behavior113
Serial communication
Serial interface115
Serial data115
UART data flow115
Serial buffers116
CTS flow control116
RTS flow control116
SPI operation
SPI communications118
Full duplex operation119
Low power operation120
Select the SPI port120
Force UART operation121
Data format121
Digi XBee Cellular 3G Global Embedded Modem User Guide
7
SMS behaviors
SMS encoding125
Socket behavior
Supported sockets127
Best practices when using sockets127
Sockets and Remote Manager127
Sockets and API mode127
Socket timeouts127
Socket limits in API mode127
Enable incoming TCP sockets in API mode128
API mode behavior for outgoing TCP and TLS connections128
API mode behavior for outgoing UDP data128
API mode behavior for incoming TCP connections129
API mode behavior for incoming UDP data129
Transparent mode behavior for outgoing TCP and TLS connections130
Transparent mode behavior for outgoing UDP data130
Transparent mode behavior for incoming TCP connections130
Transparent mode behavior for incoming UDP connections131
Extended Socket frames
Examples132
Available Extended Socket frames133
Extended Socket example: Single HTTP Connection133
Send a Socket Create frame133
Receive a Socket Create response134
Send Socket Connect134
Receive a Socket Connect Response134
Receive a Socket Status135
Send HTTP Request using Socket Send frame135
Receive TX Status136
Receive one or more Receive Data frames136
Receive Socket Status indicating closed connection137
Extended Socket example: UDP137
Send a Socket Create frame137
Receive a Socket Create response138
Bind local source addres138
Receive Bind/Listen Response138
Send to Digi echo server139
Receive TX Status139
Receive echoed data139
Send to Digi time server140
Receive TX Status140
Receive daytime value140
Close the socket141
Receive close response141
Extended Socket example: TCPListener142
Send a Socket Create frame142
Receive a Socket Create response142
Designate the socket as a listener142
Receive a Socket Bind/Listen Response143
Digi XBee Cellular 3G Global Embedded Modem User Guide
8
Making a connection to the listener socket143
Receiving Data from the new socket144
Receive a Socket Status indicating closed connection144
Transport Layer Security (TLS)
Specifying TLS keys and certificates147
Transparent mode and TLS148
API mode and TLS148
Key formats148
Certificate formats148
Certificate limitations148
Cipher suites148
Server Name Indication (SNI)149
Secure the connection between an XBee and Remote Manager with server authentication149
Step 1: Get the certificate149
Step 2: Configure device149
Step 3: Verify that authentication is being performed150
AT commands
Special commands152
AC (Apply Changes)152
FR (Force Reset)152
RE (Restore Defaults)152
SD (Shutdown)153
WR (Write)153
Cellular commands154
PH (Phone Number)154
S# (ICCID)154
IM (IMEI)154
II (Subscriber identity)154
MN (Operator)154
MV (Modem Firmware Version)155
MU (Modem firmware revision number)155
DB (Cellular Signal Strength)155
DT (Cellular Network Time)155
AN (Access Point Name)156
AM (Airplane Mode)156
PN (SIMPIN)156
PK (SIMPUK)157
CU (Cellular user name)157
CW (Cellular password)157
Network commands158
IP (IP Protocol)158
TL (TLS Protocol Version)158
$0 (TLS Profile 0)158
$1 (TLS Profile 1)159
$2 (TLS Profile 2)159
TM (IP Client Connection Timeout)159
TS (IP Server Connection Timeout)160
DO (Device Options)160
PG (Ping)161
Addressing commands162
Digi XBee Cellular 3G Global Embedded Modem User Guide
9
SH (Serial Number High)162
SL (Serial Number Low)162
MY (Module IP Address)162
P# (Destination Phone Number)162
N1 (DNS Address)163
N2 (DNS Address)163
DL (Destination Address)163
OD (Operating Destination Address)164
DE (Destination port)164
C0 (Source Port)164
LA (Lookup IP Address of FQDN)165
Serial interfacing commands166
Volume Format - 0x4F254
Local File System Response - 0xBB255
Regulatory firmware
Install the regulatory firmware257
Install regulatory firmware using XCTU257
Install regulatory firmware using Remote Manager258
Configure regulatory firmware for testing the cellular component258
Regulatory testing commands259
%# (Enable/disable test mode)259
Digi XBee Cellular 3G Global Embedded Modem User Guide
12
%1 (Start test mode)260
%2 (Stop test mode)260
%5 (Start modulated transmit)260
%6 (Stop transmit)261
%7 (Set the EARFCN)261
%8 (Get the EARFCN)261
%9 (Set transmit power)261
%A (Get transmit power)262
%D (Start receive mode)262
%? (Query test state)262
Troubleshooting
Cannot find the serial port for the device265
Condition265
Solution265
Other possible issues266
Enable Virtual COM port (VCP) on the driver266
Correct a macOS Java error267
Condition267
Solution267
Unresponsive cellular component in Bypass mode268
Condition268
Solution268
Not on expected network after APN change269
Condition269
Solution269
Syntax error at line 1269
Solution269
Error Failed to send SMS269
Solution269
Regulatory information
Modification statement271
Interference statement271
FCC notices271
FCC Class B digital device notice271
FCC publication 996369 related information272
2.1 General272
2.2 List of applicable FCC rules272
2.3 Summarize the specific operational use conditions272
2.4 Limited module procedures272
2.5 Trace antenna designs272
2.6 RF exposure considerations272
2.7 Antennas272
2.8 Label and compliance information273
2.9 Information on test modes and additional testing requirements273
2.10 Additional testing, Part 15 Subpart B disclaimer273
Antennas273
FCC (USA) exposure notice273
ISED (Canada) exposure notice273
Labeling requirements for the host device274
Europe (CE)274
Digi XBee Cellular 3G Global Embedded Modem User Guide
13
Maximum power and frequency specifications275
Declarations of conformity275
ACMA (Australia)275
RSM (New Zealand)275
Digi XBee Cellular 3G Global Embedded Modem User Guide
14
Digi XBee Cellular 3G Global Embedded Modem User
Guide
The XBee Cellular Modem integrates an embedded Wideband Code Division Multiple Access (WCDMA)
cellular module and enables original equipment manufacturers (OEMs) to incorporate 3G cellular
technology into their devices and applications without painful, time-consuming, and expensive FCC
and carrier end-device certifications.
With the full suite of standard XBee API frames and AT commands, existing XBee customers can
seamlessly transition to this new device with only minor software adjustments. When OEMs add the
XBee Cellular Modem to their product, they create a future-proof design with flexibility to switch
between wireless protocols or frequencies as needed.
You can read some frequently asked questions here.
Applicable firmware and hardware
This manual supports the following firmware:
n 113xx and above
Note This manual uses the placeholder value "xx" in the firmware versions listed above, as the
manual documents the released features as of the time of its writing. Digi International periodically
releases new firmware containing bug fixes and new features. As new firmware is released and
distributor stock is refreshed, the new firmware will gradually become available without the need to
update. However, no guarantees can be made that a specific version of the firmware will be populated
on any given XBee as delivered. If a specific revision is desired, it is the user's responsibility to ensure
that version is loaded onto all XBees purchased.
Note You must upgrade your device to the latest firmware for all features to be available. See Update
the firmware.
It supports the following hardware:
n XBC-M5-UT-xxx
SIM cards
The XBee Cellular Modem requires a 4FF (Nano) size SIM card. The SIM interface supports both 1.8 V
and 3 V SIM types.
Digi XBee Cellular 3G Global Embedded Modem User Guide
15
Digi XBee Cellular 3G Global Embedded Modem User GuideCellular service
Cellular service
Digi now offers Cellular Bundled Service plans. This service includes pre-configured cellular data
options that are ideal for IoT applications, bundled together with Digi Remote Manager for customers
who want to remotely monitor and manage their devices.
To learn more, or obtain the plan that is right for your needs, contact us:
n By phone: 1-877-890-4014 (USA/toll free) or +1-952-912-3456 (International). Select the
Wireless Plan Support or Activation option in the menu.
n By email: Data.Plan.QuoteDesk@digi.com.
The XBee Cellular kit includes six months of free cellular service. Six months of free cellular service
assumes a rate of 5 MB/month. If you exceed a limit of 30 MB during the six month period your SIM will
be deactivated.
Digi XBee Cellular 3G Global Embedded Modem User Guide
16
Get started with the XBee Cellular Modem
This section describes how to connect the hardware in the XBee, and provides some examples you can
use to communicate with the device.
You should perform all of the steps below in the order shown.
1. Identify the kit contents
2. Connect the hardware
3. Install and upgrade XCTU
4. Use one of the following methods to verify your cellular connection:
n Connect to the Echo server
n Connect to the ELIZA server
n Connect to the Daytime server
Optional steps
You can review the information in these steps for more XBee connection examples and examples of
how to use MicroPython.
1. Review additional connection examples to help you learn how to use the device. See XBee
connection examples.
2. Review introductory MicroPython examples. You can use MicroPython to enhance the
intelligence of the XBee to enable you to do edge-computing by adding business logic in
MicroPython, rather than using external components.
n Example: hello world
n Example: turn on an LED
Digi XBee Cellular 3G Global Embedded Modem User Guide
17
Get started with the XBee Cellular ModemIdentify the kit contents
Identify the kit contents
The Developer's kit includes the following:
One XBIB-U-DEV board
One 12 V power supply
One cellular antenna with U.FL connector
One USB cable
One XBee Cellular Modem
Note The XBee Cellular Modem comes
attached to the board in ESDwrap.
One SIMcard
Digi XBee Cellular 3G Global Embedded Modem User Guide
18
Get started with the XBee Cellular ModemConnect the hardware
Connect the hardware
1. The XBee Cellular Modem should already be plugged into the XBIB-U-DEV board. For more
information about development boards, see Development boards.
2. The SIMcard should be already be inserted into the XBee Cellular Modem. If not, install the
SIMcard into the XBee Cellular Modem.
WARNING! Never insert or remove the SIM card while the device is powered!
WARNING! The development board power supply only supports 3G mode. It does not
support 2G mode.
3. Connect the antenna to the XBee Cellular Modem by aligning the U.FL connector carefully, then
firmly pressing straight down to seat the connector. You should hear a snap when the antenna
attaches correctly. U.FL is fragile and is not designed for multiple insertions, so exercise
caution when connecting or removing the antennas. We recommend using a U.FL removal tool.
4. Plug the 12 V power supply to the power jack on the development board.
5. Connect the USB cable from a PC to the USB port on the development board. The computer
searches for a driver, which can take a few minutes to install.
Digi XBee Cellular 3G Global Embedded Modem User Guide
19
Get started with the XBee Cellular ModemInstall and upgrade XCTU
Install and upgrade XCTU
XBee Configuration and Test Utility (XCTU) is a multi-platform program developed by Digi that enables
users to interact with Digi radio frequency (RF) devices through a graphical interface. The application
includes built-in tools that make it easy to set up, configure, and test Digi RF devices.
XCTU does not work directly over an SPI interface.
You can use XCTU to update the device firmware. Firmware is the program code stored in the device's
persistent memory that provides the control program for the device.
Note You cannot update the cellular component on a 3G device.
For instructions on downloading and using XCTU, see the XCTU User Guide.
Note If you are on a macOS computer and encounter problems installing XCTU, see Correct a macOS
Java error.
Step 1: Install and upgrade XCTU
You can use XCTU to update the device firmware.
1. To use XCTU, you may need to install FTDI Virtual COMport (VCP)drivers onto your computer.
Click here to download the drivers for your operating system.
2. Upgrade XCTU to the latest version. This step is required.
Step 2: Add a device to XCTU
You must add a device to XCTU before you can update the device's firmware or configure the device
from XCTU.
Add a device to XCTU
These instructions show you how to add the XBee to XCTU.
If XCTU does not find your serial port, see Cannot find the serial port for the device and Enable Virtual
COM port (VCP) on the driver.
1.
Launch XCTU.
Note XCTU's Update the radio module firmware dialog box may open and will not allow you
to continue until you click Update or Cancel on the dialog.
2. Click Help > Check for XCTUUpdates to ensure you are using the latest version of XCTU.
3.
Click the Discover radio modules buttonin the upper left side of the XCTU screen.
4. In the Discover radio devices dialog, select the serial ports where you want to look for XBee
modules, and click Next.
5. In the Set port parameters window, maintain the default values and click Finish.
6. As XCTU locates radio modules, they appear in the Discovering radio modules dialog box.
7. Select the device(s) you want to add and click Add selected devices.
If your module could not be found, XCTU displays the Could not find any radio module dialog
providing possible reasons why the module could not be added.
Digi XBee Cellular 3G Global Embedded Modem User Guide
20
Get started with the XBee Cellular ModemUpdate the device firmware using XCTU
Update the device firmware using XCTU
You should use XCTU to update the device firmware on your XBee to the most recent version. This
ensures that you can take advantage of all the latest fixes and features.
Update the device firmware using XCTU.
Check for cellular registration and connection
The cellular network registration and address assignment must occur successfully. To verify the
network connection, you can view the LED on the development board or check the status of the
relevant commands in XCTU.
Registration can take several minutes.
Before you begin
n Make sure you have added the device to XCTU. See Add a device to XCTU.
n Make sure you are in an area with adequate cellular network reception.
n Verify that the antennas are connected properly to the device.
View LED action
The LED on the development board blinks when the XBee is registered to the cellular network; see
Associate LED functionality. If the LEDremains solid, registration has not occurred properly.
View commands in SCTU
1.
Launch XCTU.
2.
Click the Configuration working modebutton.
3. Select a device from the Radio Modules list. XCTU displays the current firmware settings for
that device.
4. Verify the status of your network connection using the following commands:
n AI (Association Indication) reads 0 when the device successfully registers to the
cellular network and the LED is blinking. If it reads 23 it is connecting to the Internet; 22
means it is registering to the cellular network.
n MY (Module IP Address) should display a valid IPaddress. If it reads 0.0.0.0, it has not
registered yet.
Hints
n
To search for an ATcommand in XCTU, use the search box.
n
To read a command's value, click the Read buttonnext to the command.
Digi XBee Cellular 3G Global Embedded Modem User Guide
21
XBee connection examples
The following examples provide some additional scenarios you can try to get familiar with the XBee.
These examples are focused on inter-operating with a host processor to drive the XBee.
If you are interested in using the intelligence built into the XBee, see Get started with MicroPython.
Note Some carriers restrict your internet access. If access is restricted, running some of these
examples may not be possible. Check with your carrier provider to determine whether internet access
is restricted.
Connect to the Echo server23
Connect to the ELIZA server24
Connect to the Daytime server25
Perform a (GET) HTTP request27
Connect to a TCP/IP address28
Debugging29
Software libraries29
Digi XBee Cellular 3G Global Embedded Modem User Guide
22
XBee connection examplesConnect to the Echo server
Connect to the Echo server
This server echoes back the messages you type.
Note For help with debugging, see Debugging.
The following table explains the AT commands that you use in this example.
At
commandValueDescription
IP (IP
Protocol)
TD
(Text
Delimiter)
DL
(Destination
Address)
DE
(Destination
Port)
1Set the expected
transmission mode to
TCP communications.
D (0x0D)
52.43.121.77The target IPaddress of
2329 (0x2329)The target port number of
The text delimiter to be
used for Transparent
mode, as an ASCII hex
code. No information is
sent until this character is
entered, unless the
maximum number of
characters has been
reached. Set to 0 to
disable text delimiter
checking. Set to D for a
carriage return.
the echo server.
the echo server.
To communicate with the Echo server:
1. Ensure that the device is set up correctly with the SIM card installed and the antennas
connected as described in Connect the hardware.
2. Open XCTU and Add a device to XCTU.
3.
Click the Configuration working modebutton.
4. Select a device from the Radio Modules list. XCTU displays the current firmware settings for
that device.
5.
To switch to TCP communication, in the IP field, select 1 and click the Write button.
6. To enable the XBee to recognize carriage return as a message delimiter, in the TD field, type D
and click the Write button.
7. To enter the destination address of the echo server, in the DL field, type 52.43.121.77 and click
the Write button.
8. To enter the destination IP port number, in the DE field, type 2329 and click the Write button.
Digi XBee Cellular 3G Global Embedded Modem User Guide
23
XBee connection examplesConnect to the ELIZA server
Note XCTU does not follow the standard hexadecimal numbering convention. The leading 0x is
not needed in XCTU.
9.
Click the Consoles working mode buttonon the toolbar to open a serial console to the
device. For instructions on using the Console, see the AT console topic in the XCTU User Guide.
10.
Click the Open buttonto open a serial connection to the device.
11. Click in the left pane of the Console log, then type in the Console to talk to the echo server.
The following screenshot provides an example of this chat.
Connect to the ELIZA server
You can use the XBee to chat with the ELIZA Therapist Bot. ELIZAis an artificial intelligence (AI) bot
that emulates a therapist and can perform simple conversations.
Note For help with debugging, see Debugging.
The following table explains the AT commands that you use in this example.
At commandValueDescription
IP (IP Protocol)1Set the expected
DL (Destination
Address)
DE (Destination
Port)
To communicate with the ELIZA Therapist Bot:
1. Ensure that the device is set up correctly with the SIM card installed and the antennas
connected as described in Connect the hardware.
2. Open XCTU and Add a device to XCTU.
52.43.121.77The target IP address of the
2328 (0x2328)The target port number of
transmission mode to TCP
communications.
ELIZA server.
the ELIZA server.
Digi XBee Cellular 3G Global Embedded Modem User Guide
24
XBee connection examplesConnect to the Daytime server
3.
Click the Configuration working modebutton.
4. Select a device from the Radio Modules list. XCTU displays the current firmware settings for
that device.
5.
To switch to TCP communication, in the IP field, select 1 and click the Write button.
6. To enter the destination address of the ELIZATherapist Bot, in the DL field, type 52.43.121.77
and click the Write button.
7. To enter the destination IP port number, in the DE field, type 2328 and click the Write button.
8.
Click the Consoles working mode buttonon the toolbar to open a serial console to the
device. For instructions on using the Console, see the AT console topic in the XCTU User Guide.
9.
Click the Open buttonto open a serial connection to the device.
10. Click in the left pane of the Console log, then type in the Console to talk to the ELIZA Therapist
Bot. The following screenshot provides an example of this chat with the user's text in blue.
Connect to the Daytime server
The Daytime server reports the current Coordinated Universal Time (UTC) value responding to any
user input.
Note For help with debugging, see Debugging.
The following table explains the AT commands that you use in this example.
Digi XBee Cellular 3G Global Embedded Modem User Guide
25
XBee connection examplesConnect to the Daytime server
At commandValueDescription
IP (IP
Protocol)
DL
(Destination
Address)
DE
(Destination
Port)
TD (Text
Delimiter)
To communicate with the Daytime server:
1. Ensure that the device is set up correctly with the SIM card installed and the antennas
connected as described in Connect the hardware.
2. Open XCTU and Add a device to XCTU.
1Set the expected transmission
mode to TCP communications.
52.43.121.77The target IP of the Daytime
server.
232A (0x232A)The target port number of the
Daytime server.
0
The text delimiter to be used for
Transparent mode, as an ASCII
hex code. No information is sent
until this character is entered,
unless the maximum number of
characters has been reached. Set
to zero to disable text delimiter
checking.
3.
Click the Configuration working modebutton.
4. Select a device from the Radio Modules list. XCTU displays the current firmware settings for
that device.
5.
To switch to TCP communication, in the IP field, select 1 and click the Write button.
6. To enter the destination address of the daytime server, in the DL field, type 52.43.121.77 and
click the Write button.
7. To enter the destination IP port number, in the DE field, type 232A and click the Write button.
8. To disable text delimiter checking, in the TD field, type 0 and click the Write button.
9.
Click the Consoles working mode buttonon the toolbar to open a serial console to the
device. For instructions on using the Console, see the AT console topic in the XCTU User Guide.
10.
Click the Open buttonto open a serial connection to the device.
11. Click in the left pane of the Console log, then type in the Console to query the Daytime server.
The following screenshot provides an example of this chat.
Digi XBee Cellular 3G Global Embedded Modem User Guide
26
XBee connection examplesPerform a (GET) HTTP request
Perform a (GET) HTTP request
You can use the XBee to perform a GET Hypertext Transfer Protocol (HTTP) request using XCTU. HTTP
is an application-layer protocol that runs over TCP. This example uses httpbin.org/ as the target
website that responds to the HTTP request.
Note For help with debugging, see Debugging.
To perform a GETrequest:
1. Ensure that the device is set up correctly with the SIM card installed and the antennas
connected as described in Connect the hardware.
2. Open XCTU and Add a device to XCTU.
3.
Click the Configuration working modebutton.
4. Select a device from the Radio Modules list. XCTU displays the current firmware settings for
that device.
5. To enter the destination address of the target website, in the DL field, type httpbin.org and
click the Write button.
6. To enter the HTTP request port number, in the DE field, type 50 and click the Write button.
Hexadecimal 50 is 80 in decimal.
7. To switch to TCP communication, in the IP field, select 1 and click the Write button.
8. To move into Transparent mode, in the APfield, select 0 and click the Write button.
9. Wait for the AI (Association Indication) value to change to 0 (Connected to the Internet).
10.
Click the Consoles working mode buttonon the toolbar.
11.
From the AT console, click the Add new packet buttonin the Send packets dialog. The
Add new packet dialog appears.
12. Enter the name of the data packet.
13. Type the following data in the ASCII input tab:
GET /ip HTTP/1.1
Digi XBee Cellular 3G Global Embedded Modem User Guide
27
XBee connection examplesConnect to a TCP/IP address
Host: httpbin.org
14. Click the HEX input tab and add 0A (zero A) after each 0D (zero D), and add an additional 0D 0A
at the end of the message body. For example, copy and past the following text into the HEX
input tab:
Note The HTTP protocol requires an empty line (a line with nothing preceding the CRLF) to terminate
the request.
15. Click Add packet.
16.
Click the Open button.
17. Click Send selected packet.
18. A GETHTTP response from httpbin.org appears in the Console log.
Connect to a TCP/IP address
The XBee Cellular Modem can send and receive TCP messages while in Transparent mode; see
Transparent operating mode.
Note You can use this example as a template for sending and receiving data to or from any
TCP/IPserver.
Note For help with debugging, see Debugging.
The following table explains the AT commands that you use in this example.
CommandValueDescription
IP (IP
Protocol)
DL
(Destination
IPAddress)
DE
(Destination
Port)
To connect to a TCP/IP address:
1. Ensure that the device is set up correctly with the SIM card installed and the antennas
connected as described in Connect the hardware.
2. Open XCTU and Add a device to XCTU.
1Set the expected transmission mode to TCPcommunication.
<Target
IPaddress>
<Target
portnumber>
The target IP address that you send and receive from. For example, a
data logging server’s IP address that you want to send
measurements to.
The target port number that the device sends the transmission to.
This is represented as a hexadecimal value.
3.
Click the Configuration working modebutton.
4. Select a device from the Radio Modules list. XCTU displays the current firmware settings for
that device.
Digi XBee Cellular 3G Global Embedded Modem User Guide
28
XBee connection examplesDebugging
5.
In the IP field, select 1 and click the Write button.
6. In the DL field, type the <target IP address> and click the Write button. The target IP address
is the IPaddress that you send and receive from.
7. In the DE field, type the <target port number>, converted to hexadecimal, and click the Write
button.
8. Exit Command mode.
After exiting Command mode, any UART data sent to the device is sent to the destination IP address
and port number after the RO (Packetization Timeout) occurs.
Debugging
If you experience problems with the settings in the examples, you can load the default settings in
XCTU.
Note If you load the default settings, you will need to reapply any configuration settings that you have
previously made.
1.
On the Configuration toolbar, click the Default buttonto load the default values
established by the firmware, and click Yes to confirm.
2. Factory settings are loaded but not written to the device. To write them, click the Write button
on the toolbar.
Software libraries
One way to communicate with the XBee device is by using a software library. The libraries available
for use with the XBee Cellular Modem include:
n XBee Java library
n XBee Python library
n XBee ANSI C library
The XBee Java Library is a Java API. The package includes the XBee library, its source code and a
collection of samples that help you develop Java applications to communicate with your XBee devices.
The XBee Python Library is a Python API that dramatically reduces the time to market of XBee
projects developed in Python and facilitates the development of these types of applications, making it
an easy process.
The XBee ANSI C Library project is a collection of portable ANSI C code for communicating with the
devices in API mode.
Digi XBee Cellular 3G Global Embedded Modem User Guide
29
Get started with Digi Remote Manager
Digi Remote Manager® is a cloud-based device and data management platform that you can use to
configure and update a device, and view and manage device data.
The sections below describe how to create a Remote Manager account, upgrading your device,
configure your device, and manage data in Remote Manager.
1. Create a Remote Manager account and add devices
2. To ensure that all Remote Manager features are available, you should upgrade your device to
the latest firmware. See Update the firmware from the Devices page in Remote Manager or
Update the firmware using web services in Remote Manager.
3. Configure your device in Remote Manager
To be able to configure your device in Remote Manager, the device must be connected to
Remote Manager. You can connect to and configure your device in Remote Manager using one
of the following methods:
o
Scheduled connection: In this method, you create a list of tasks that you want to
perform on the device, and then start the operation. This is the recommended method,
and is the best choice for low data usage. See Configure Remote Manager features by
scheduling tasks.
o
Always connected: This method can be used for initial configuration, or when you are
not concerned with low data usage. See Configure XBee settings within Remote
Manager.
4. Secure the connection between an XBee and Remote Manager with server authentication.
5. Manage data in Remote Manager
6. Remote Manager reference
Create a Remote Manager account and add devices
To be able to use Remote Manager, you must create a Remote Manager account and add your XBee
devices to the device list. You should also verify that the device is enabled to connect to Remote
Manager.
1. Create a Remote Manager account.
2. Add an XBee Cellular Modem to Remote Manager.
3. Verify the connection between a device and Remote Manager
Digi XBee Cellular 3G Global Embedded Modem User Guide
30
Get started with Digi Remote ManagerCreate a Remote Manager account and add devices
Create a Remote Manager account
Digi Remote Manager is an on-demand service with no infrastructure requirements. Remote devices
and enterprise business applications connect to Remote Manager through standards-based web
services. This section describes how to configure and manage an XBee using Remote Manager. For
detailed information on using Remote Manager, refer to the Remote Manager User Guide, available via
the Documentation tab in Remote Manager.
Before you can manage an XBee with Remote Manager, you must create a Remote Manager account.
To create a Remote Manager account:
1. Go to https://www.digi.com/products/cloud/digi-remote-manager.
2. Click 30 DAYFREETRIAL/LOGIN.
3. Follow the online instructions to complete account registration. You can upgrade your
Developer account to a paid account at any time.
When you are ready to deploy multiple XBee Cellular Modems in the field, upgrade your account to
access additional Remote Manager features.
Add an XBee Cellular Modem to Remote Manager
Each XBee Cellular Modem must be added to the Remote Manager account inventory list.
Before adding an XBee to your Remote Manager account inventory, you need to determine the
International Mobile Equipment Identity (IMEI) number for the device. Use XCTUto view the IMEI
number by querying the IM parameter.
To add an XBee to your Remote Manager account inventory, follow these steps:
1. Log into Remote Manager.
2. Click Device Management > Devices.
3. Click Add Devices. The Add Devices dialog appears.
4. Select IMEI#, and type or paste the IMEI number of the XBee you want to add. The IM
(IMEI)command provides this number.
5. Click Add to add the device. The XBee is added to your inventory.
6. Click OK to close the Add Devices dialog and return to the Devices view.
Digi XBee Cellular 3G Global Embedded Modem User Guide
31
Get started with Digi Remote ManagerConfigure Remote Manager features by scheduling tasks
Verify the connection between a device and Remote Manager
By default, the XBee is configured to enable communication with Remote Manager. The
communication between XBee and Remote Manager is achieved using periodic UDP operations.
You should verify the default settings to ensure that communcation will work as desired.
1.
Launch XCTU.
2. Verify that the MO command is set to 6, which is the default.
3. Configure the frequency of polls for Remote Manager activity using the DF command. The
default is 1440 minutes (24 hours).
4. Enable the SM/UDP feature in Remote Manager for each device. See Enable SM/UDP.
Configure Remote Manager features by scheduling tasks
Remote Manager provides tools to perform common management and maintenance tasks on your
XBee device. A Remote Manager task is a sequence of commands that can be performed on one or
more XBee Cellular devices. Tasks can then be assigned to a schedule. When a scheduled task is run it
becomes an active operation and can be monitored for status and completion.
Note You must upgrade your device to the latest firmware for all features to be available. See Update
the firmware.
Some typical examples of useful things that can be done with scheduled tasks include:
n Change configuration
n Update your MicroPython application and libraries to add features and capabilities
n Update your security certificates
n Perform a data service device request
n Send an SMS message to your device
Scheduled tasks can be created and performed through the following methods:
n Remote Manager Schedules user interface.
n Remote Manager API Explorer user interface
n Programming web service calls
Note For any of these methods to work properly, you must have SM/UDP enabled. See Enable
SM/UDP.
Overview: Create a schedule for a set of tasks
When using the most current firmware version, the XBee Cellular devices are designed to poll Remote
Manager once per day over the SM/UDP protocol to check for any active operations. In order to
perform a set of tasks, the device needs to be told to connect to Remote Manager, perform the
sequence of tasks, and then told to disconnect.
The following provides a template of how to create a schedule for an XBee to connect, perform a set
of tasks and then disconnect:
Digi XBee Cellular 3G Global Embedded Modem User Guide
32
Get started with Digi Remote ManagerConfigure Remote Manager features by scheduling tasks
1. Make sure that SM/UDPis enabled. See Enable SM/UDP.
2. Log into Remote Manager.
3. Click Device Management > Schedules.
4. Click New Schedule. The New Schedule page displays.
Note The Steps to schedule a task wizard may display. Click the x in the upper left corner to
close the wizard. See Schedule walk-through feature in the Digi Remote Manager® User Guide for
more information.
5. In the Description field, enter a name for the schedule, such "Read Settings."
6. Add the following tasks:
a. Click SM/UDP > SM/UDP Request Connect. A task is added to the dialog.
b. Add other tasks as needed. For examples, refer to the Examples section.
c. Click Device > Disconnect. A task is added to the dialog.
7. Click Schedule in the lower right corner of the dialog to schedule the tasks to run. The
schedule screen displays.
Note You can also click Save as to save this schedule for future use.
8. Select the device(s) on which you want to run this schedule. You can add more than one device.
9. Click Run Now.
Examples
The examples in the following sections assume you are using the Digi Remote Manager Schedule
wizard. However, you should be aware that operations can be created and performed
programmatically via web service calls or via the API explorer. The XML web service calls provide more
options than are available in the GUI dashboard for some tasks.
Example: Read settings and state using Remote Manager
In order to configure devices you will need to know the structure of the XML for your XBee's settings.
The easiest way to obtain this is to perform a query_setting RCI request against your device.
Note You must upgrade your device to the latest firmware for all features to be available. See Update
the firmware.
Note To obtain the state of the device, you can perform the same operations in the example below,
but replace query_setting with query_state.
1. Log into Remote Manager.
2. Click Device Management > Schedules.
3. Click New Schedule. The New Schedule page displays.
Note The Steps to schedule a task wizard may display. Click the x in the upper left corner to
close the wizard. See Schedule walk-through feature in the Digi Remote Manager® User Guide for
more information.
Digi XBee Cellular 3G Global Embedded Modem User Guide
33
Get started with Digi Remote ManagerConfigure Remote Manager features by scheduling tasks
4. In the Description field, enter a name for the schedule, such "Read Settings."
5. Add the following tasks:
a. Click SM/UDP > SM/UPD Request Connect. A task is added to the dialog.
b. Click Device > RCI Command. A task is added to the dialog.
Change the RCI command to the following:
<rci_request>
<query_setting/>
</rci_request>
c. Click Device > Disconnect. A task is added to the dialog.
6. Click Schedule in the lower right corner of the dialog to schedule the tasks to run. The
schedule screen displays.
Note You can also click Save as to save this schedule for future use.
7. Select the device(s) on which you want to run this schedule. You can add more than one device.
8. Click Run Now.
9. Click Device Management > Operations to view information about the operation. See
Operations in the Digi Remote Manager® User Guide for more information about this page.
After your operation completes you can click Response to view the XML for all of the settings that
your XBee reports. This XML structure has the same settings that you will use in the set_setting
command to configure your XBee as shown in this example: Example: Configure a device from Remote
Manager using XML.
Example: Configure a device from Remote Manager using XML
You can configure each XBee device from Remote Manager, using XML. The devices must be in the
Remote Manager inventory device list and be active.
Note You must upgrade your device to the latest firmware for all features to be available. See Update
the firmware.
In this configuration example, you are changing the device to poll four times a day instead of just once.
In this case, you should change the DF parameter to 360 minutes.
1. Log into Remote Manager.
2. Click Device Management > Schedules.
3. Click New Schedule. The New Schedule page displays.
Note The Steps to schedule a task wizard may display. Click the x in the upper left corner to
close the wizard. See Schedule walk-through feature in the Digi Remote Manager® User Guide for
more information.
4. In the Description field, enter a name for the schedule, such as "Configure Reporting
Frequency."
Digi XBee Cellular 3G Global Embedded Modem User Guide
34
Get started with Digi Remote ManagerConfigure Remote Manager features by scheduling tasks
5. Add the following tasks:
a. Click SM/UDP > SM/UPD Request Connect. A task is added to the dialog.
b. Click Device > RCI Command. A task is added to the dialog.
Change the RCI command to the following:
<rci_request>
<set_setting>
<remote_manager>
<DF>360</DF>
</remote_manager>
</set_setting>
</rci_request>
c. Click Device > Disconnect. A task is added to the dialog.
6. Click Schedule in the lower right corner of the dialog to schedule the tasks to run. The
schedule screen displays.
Note You can also click Save as to save this schedule for future use.
7. Select the device(s) on which you want to run this schedule. You can add more than one device.
8. Click Run Now.
9. Click Device Management > Operations to view information about the operation. See
Operations in the Digi Remote Manager® User Guide for more information about this page.
Example: Schedule a task to update the device firmware using
Remote Manager
You can use a scheduled task to update the XBee Cellular firmware. Since the device is configured by
default to poll Remote Manager once a day, you need to be able to set up a scheduled task to update
the device's firmware to take advantage of new features and fixes. To update the firmware to a new
version you will need to obtain the .ebin file for the new firmware from our support site. This file is one
of the files in the .zip (for example, XBXC-31011.zip) archive that you can download for the product.
Note You must upgrade your device to the latest firmware for all features to be available. See Update
the firmware.
To upgrade using a scheduled task perform the following steps:
1. Download the updated firmware file for your device from Digi's support site.
a. Go to the Digi XBee Cellular 3G support page.
b. Scroll down to the Firmware Updates section.
c. Locate and click XBee Cellular 3G AT&T Global Firmware to download the zip file.
d. Unzip the file.
2. Log into Remote Manager.
3. Make sure that you have enabled SM/UDP. See Enable SM/UDP.
Digi XBee Cellular 3G Global Embedded Modem User Guide
35
Get started with Digi Remote ManagerConfigure Remote Manager features by scheduling tasks
4. Click Device Management > Schedules.
5. Click New Schedule. The New Schedule page displays.
Note The Steps to schedule a task wizard may display. Click the x in the upper left corner to
close the wizard. See Schedule walk-through feature in the Digi Remote Manager® User Guide for
more information.
6. In the Description field, enter a name for the schedule, such as "Update XBee Firmware."
7. Add the following tasks:
a. Click SM/UDP > SM/UDP Request Connect. A task is added to the dialog.
b. Click Device > Gateway Firmware Update.
c. Click Browse and select the .ebin file (for example, XBXC-11311.ebin) for the new firmware
to update.
d. Click Device > Disconnect. A task is added to the dialog.
8. Click Schedule in the lower right corner of the dialog to schedule the tasks to run. The
schedule screen displays.
Note You can also click Save as to save this schedule for future use.
9. Select the device(s) on which you want to run this schedule. You can add more than one device.
10. Click Run Now.
11. Click Device Management > Operations to view information about the operation. See
Operations in the Digi Remote Manager® User Guide for more information about this page.
Example: Update MicroPython from Remote Manager using XML
You can use the API Explorer in Remote Manager to create a schedule that enables you to update the
MicroPython application. In this example, you want to add FTP client capability to the MicroPython
application. You will need to add the library uftp.py and then update the main.py application.
This example is done following these steps: upload the MicroPython files to Remote Manager, create
an XML file with the tasks that you want to perform, upload the XML file, and then schedule an
operation to upload the files onto your device.
Note You must upgrade your device to the latest firmware for all features to be available. See Update
the firmware.
Step 1: Upload the MicroPython files
1. Log into Remote Manager.
2. Click Data Services > Data Files.
3. Upload the MicroPython application main.py file.
a. Click New Folder. The New Folder dialog displays.
b. In the Folder name field, enter a descriptive name, such as "MicroPython."
c. Click Create. The new file is added to the list of files.
d. Find the "MicroPython" folder in the folder list.
e. Click Upload Files. The Upload Files dialog displays.
Digi XBee Cellular 3G Global Embedded Modem User Guide
36
Get started with Digi Remote ManagerConfigure Remote Manager features by scheduling tasks
f. Browse for the main.py file. Check with your system administrator for the location of the
application file.
g. Click OK.
4. Upload the MicroPython library uftp.py file.
a. Find the "MicroPython" folder in the folder list.
b. Click Upload Files. The Upload Files dialog displays.
c. Browse for the uftp.py file. The library uftp.py file is found on the GitHub repository:
https://github.com/digidotcom/xbee-micropython
d. Click OK.
Step 2: Create an XML file with the tasks that you want to perform
This XML file will contain a list of commands for the operation that you will schedule in Step 3.
Note The RCI commands to set_settings in the task may fail to execute because of disconnects after
changing the value for MO.
1. Open the editor of your choice.
2. Create a new file named updatemicropython.xml.
3. Copy the XML below and paste it into the new file.
8. Click Device Management > Operations to view information about the operation. See
Operations in the Digi Remote Manager® User Guide for more information about this page.
Manage data in Remote Manager
You can view and manage XBee data in Remote Manager.
You can also update your device firmware from Remote Manager. See Update the device firmware.
Review device status information from Remote Manager
You can view address, BLE, cellular, firmware, and I/O sampling status information for a XBee device in
Remote Manager. The device must be in the Remote Manager inventory device list and be active.
1. Set up a persistent connection to connect the device to Remote Manager using one of the
following methods:
n Remote Manager: A persistent connection can be set up in Remote Manager. This
option should be used when you have many deployed devices and no local access. See
Restore persistent connection to a remote XBee.
n XCTU: This option allows immediate access, and should be used when you have local
access, such as when using a development kit or in a lab environment.
2. Log into Remote Manager.
3. Click Device Management > Devices.
4. Select the device that you want to configure.
5. Click Properties in the toolbar. As an alternative, click Properties > Edit DeviceConfiguration. The configuration Home page appears.
6. Click Status in the toolbar to display the status sub-menus.
7. Click on the status group that has information you want to display. The status information is
related to ATcommands. For information about each ATcommand in the categories, click on
the appropriate link below.
Digi XBee Cellular 3G Global Embedded Modem User Guide
40
Get started with Digi Remote ManagerManage data in Remote Manager
n Addressing
n Cellular
n Firmware Version/Information
n I/O
8. Click Home to return to the configuration Home page.
9. When all changes are complete, disconnect the device from Remote Manager.
Manage secure files in Remote Manager
You can interact with files on the XBee device from Remote Manager, using either the SCI (Server
command interface) or in the File Management view.
You can securely upload files by appending a hash sign (#) to the end of the file name. After the upload,
the hash sign (#) is not retained as part of the file name. For example, you could upload a file named
my-cert.crt appended with a hash sign (#): my-cert.crt#. After the upload is complete, the file is named
my-cert.crt.
Note Uploading secure files in Remote Manager has the same result as doing an ATFS XPUT locally.
See Secure files for more information.
SCI(Server command interface)
You can use the SCI (Server command interface) file_system command to securely upload a file.
For more information, see the file_system section in the Digi Remote Manager Programming Guide.
File Management view
You can upload and manage files in the Remote Manager File Management view.
1. Prepare the file that you want to upload.
a. Find the file on your hard drive.
b. Rename the file and append a hash sign (#) to the end of the file name.
2. Set up a persistent connection to connect the device to Remote Manager using one of the
following methods:
n Remote Manager: A persistent connection can be set up in Remote Manager. This
option should be used when you have many deployed devices and no local access. See
Restore persistent connection to a remote XBee.
n XCTU: This option allows immediate access, and should be used when you have local
access, such as when using a development kit or in a lab environment. See DO (Device
Options) and MO (Remote Manager Options). Both must be enabled.
3. Log into Remote Manager.
4. Click Device Management > Devices.
5. Select the device that you want to configure.
6. Click Properties in the toolbar. As an alternative, double-click on the device name. The
Properties page appears.
7. Click File Management. The File Management view appears.
Digi XBee Cellular 3G Global Embedded Modem User Guide
41
Get started with Digi Remote ManagerRemote Manager reference
8. Click the upload icon. The Upload File dialog appears.
a. Click Browse to browse for the file you want to upload. The selected file displays in the File
field. Make sure that the file name is appended by a hash sign (#).
b. Click OK. The uploaded file displays in the File Management view. Note that the file name
is no longer appended by a hash sign (#).
9. When all changes are complete, disconnect the device from Remote Manager.
Remote Manager reference
Enable SM/UDP
You can use the SM/UDP feature to leverage the very small data footprint of Remote Manager SM
protocol over UDP.
1. Log into Remote Manager.
2. Click Device Management > Devices.
3. Select the device that you want to configure.
4. Click More >SM/UDP > Configure. The SM/UDP dialog appears.
5. Verify that the Battery Operated Mode is not selected.
This mode is not supported with Remote Manager and if enabled, the connectivity between
XBee and Remote Manager may not work as expected.
6. Select SM/UDP Service Enabled to enable SM/UDP.
7. Click Save.
TCP connection
The TCP connection between an XBee and Remote Manager is dependent on the device's firmware
version. Options are to query Remote Manager once a day or to maintain a persistent TCP connection.
To determine which connection method is being used, refer to the version listed below.
ModuleUpgrade firmware version
XBee 3G11311
n At or above the listed version: If your firmware version is at or above the listed version, your
device queries Remote Manager only once a day. The device connects to Remote Manager,
queries Remote Manager for updates and then receives updates. When the update is complete,
the device disconnects from Remote Manager.
If you upgrade to the new firmware version, it is recommended that you keep the polling
frequency low to reduce data usage. In order to upgrade firmware in the future, refer to
Example: Schedule a task to update the device firmware using Remote Manager.
Note If you wish to restore the persistent connection behavior that was the default in prior
firmware versions, see Restore persistent connection to a remote XBee.
Digi XBee Cellular 3G Global Embedded Modem User Guide
42
Get started with Digi Remote ManagerRemote Manager reference
n Below the listed version: If your firmware version is below the listed version, a persistent
TCPconnection is used by default. The device is continually connected to Remote Manager
using TCP.
Restore persistent connection to a remote XBee
The default connectivity to Remote Manager in the most recent firmware polls once a day using
SM/UDP, which means that your XBee will always appear in a disconnected state and will use
significantly less data.
If needed, you can restore the default connectivity to use the former behavior, where the device is
continually connected using TCP. To do this, you will need to set bit 0 of the MO setting. The suggested
value for MO is 7 to connect securely over TLS, or you can use 1 for no security, which is the legacy
value.
You can make the change using one of the following methods:
n Local access: If you have local access to the device you can use XCTU to change the MO setting
back to the former default value.
n Remote access: If you only have remote access to your XBee you can change the device to
maintain a persistent connection to Remote Manager. To do this you can set up a scheduled
operation in Remote Manger for your device, as shown below.
To set up a scheduled operation to maintain a persistent connection:
1. Log into Remote Manager.
2. Make sure that you have enabled SM/UDP. See Enable SM/UDP.
3. Click Device Management > Schedules.
4. Click New Schedule. The New Schedule page displays.
Note The Steps to schedule a task wizard may display. Click the x in the upper left corner to
close the wizard. See Schedule walk-through feature in the Digi Remote Manager® User Guide for
more information.
5. In the Description field, enter a name for the schedule, such as "Restore Persistent."
6. Add the following tasks:
a. Click SM/UDP > SM/UPD Request Connect. A task is added to the dialog.
b. Click Device > RCI Command. A task is added to the dialog.
Change the RCI command to the following:
<rci_request>
<set_setting>
<remote_manager>
<MO>7</MO>
</remote_manager>
</set_setting>
</rci_request>
7. Click Schedule in the lower right corner of the dialog to schedule the tasks to run. The
schedule screen displays.
Digi XBee Cellular 3G Global Embedded Modem User Guide
43
Get started with Digi Remote ManagerRemote Manager reference
Note You can also click Save as to save this schedule for future use. The XML for your task is
saved in the ~\my_tasks directory on Data Services > Data Files in Remote Manager.
8. Select the device(s) on which you want to run this schedule. You can add more than one device.
9. Click Run Now. Within the next 24 hours, which is the default polling period for querying
Remote Manager, your device will connect and will remain connected, as specified by the
change to the MO setting.
10. Click Device Management > Operations to view information about the operation. See
Operations in the Digi Remote Manager® User Guide for more information about this page.
Disconnect
The TCP connection remains open and periodic polling occurs until you manually disconnect the
TCPconnection. After you have disconnected the TCP connection, Remote Manager is no longer
updated.
You can disconnect the TCP connection using either of the following methods:
n From the Devices page in Remote Manager: See Disconnect a device in the Digi Remote
Manager® User Guide.
n Using web services in Remote Manager: See Request connect SM/UDP support in the Digi
Remote Manager® Programming Guide.
Configure XBee settings within Remote Manager
You can configure the device settings to use features with Remote Manager. For more information,
see Example: Read settings and state using Remote Manager.
Configure device settings in Remote Manager
You can configure each XBee device from Remote Manager. The devices must be in the Remote
Manager inventory device list and be active.
1. Set up a persistent connection to connect the device to Remote Manager using one of the
following methods:
n Remote Manager: A persistent connection can be set up in Remote Manager. This
option should be used when you have many deployed devices and no local access. See
Restore persistent connection to a remote XBee.
n XCTU: This option allows immediate access, and should be used when you have local
access, such as when using a development kit or in a lab environment. See DO (Device
Options) and MO (Remote Manager Options). Both must be enabled.
2. Log into Remote Manager.
3. Click Device Management > Devices.
4. Select the device that you want to configure.
5. Click Properties in the toolbar. As an alternative, click Properties > Edit DeviceConfiguration. The configuration Home page appears.
6. Click Config in the toolbar to display the settings sub-menus.
7. Click on the settings category that you want to configure. The settings in that category appear.
Digi XBee Cellular 3G Global Embedded Modem User Guide
44
Get started with Digi Remote ManagerRemote Manager reference
8. Makethe desired configuration changes. See AT commands for information about each setting
in the categories.
9. As you finish configuring in each setting category, click Apply to save the changes. If the
changes are valid, Remote Manager writes them to non-volatile memory and applies them.
10. When all changes are complete, disconnect the device from Remote Manager.
Configure Remote Manager keepalive interval
Managing the data usage and the keepalive interval is important if you have the MO (Remote Manager
Options) command bit 0 set to 1 or if you have enabled the Request connect feature in Remote
Manager.
Digi Remote Manager is enabled on the XBee by default and has a 60 second keepalive interval, which
can result in excessive cellular data usage, depending on your plan. The K1 and K2 commands can be
used to tune the keepalive interval. Your carrier will disconnect an inactive socket automatically if
there is no activity, so you need to tune this value based on your carrier’s disconnect timeout.
You can further reduce your data usage by periodically duty cycling your Remote Manager connection,
either from MicroPython or your host processor. For example, you could enable the Remote Manager
connection for 2 hours a day and then disable the connection for 22 hours. Your host processor or
MicroPython program would need to keep track of the time to ensure the time interval.
Digi XBee Cellular 3G Global Embedded Modem User Guide
45
Examples: IOT protocols with transparent mode
The following examples provide some additional scenarios you can use to get familiar with the XBee.
If you are interested in using the intelligence built into the XBee, see Get started with MicroPython.
Get started with CoAP47
Get started with MQTT51
Digi XBee Cellular 3G Global Embedded Modem User Guide
46
Examples: IOT protocols with transparent modeGet started with CoAP
Get started with CoAP
Constrained Application Protocol (CoAP) is based on UDP connection and consumes low power to
deliver similar functionality to HTTP. This guide contains information about sending GET, POST, PUT
and DELETE operations by using the Coap Protocol with XCTU and Python code working with the XBee
Cellular Modem and Coapthon library (Python 2.7 only).
The Internet Engineering Task Force describes CoAP as:
The protocol is designed for machine-to-machine (M2M) applications such as smart energy and
building automation. CoAP provides a request/response interaction model between application
endpoints, supports built-in discovery of services and resources, and includes key concepts of
the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP
for integration with the Web while meeting specialized requirements such as multicast
support, very low overhead, and simplicity for constrained environments (source).
CoAP terms
When describing CoAP, we use the following terms:
TermMeaning
MethodCOAP's method action is similar to the HTTP method. This guide discusses the GET,
POST, PUT and DELETE methods. With these methods, the XBee Cellular Modem can
transport data and requests.
URIURI is a string of characters that identifies a resource served at the server.
TokenAtoken is an identifier of a message. The client uses the token to verify if the received
message is the correct response to its query.
PayloadThe message payload is associated with the POST and PUT methods. It specifies the
data to be posted or put to the URI resource.
MessageID The message ID is also an identifier of a message. The client matches the message ID
between the response and query.
CoAP quick start example
The following diagram shows the message format for the CoAP protocol; see ISSN: 2070-1721 for
details:
This is an example GET request:
44 01 C4 09 74 65 73 74 B7 65 78 61 6D 70 6C 65
Digi XBee Cellular 3G Global Embedded Modem User Guide
47
Examples: IOT protocols with transparent modeGet started with CoAP
The following table describes the fields in the GETrequest.
FieldHEXBitsMeaning
Ver4401Version 01, which is mandatory here.
T00Type 0: confirmable.
TKL0100Token length: 4.
Code01000 00001Code: 0.01, which indicates the GET method.
Message IDC4 092 Bytes equal
to hex at left
Token74 65 73 744 Bytes equal
to hex at left
Option deltaB71011Delta option: 11 indicates the option data is Uri-Path.
Optionlength0111Delta length: 7 indicates there are 7 bytes of data
Option value65 78 61 6D
70 6C 65
7 Bytes equal
to hex at left
Message ID. The response message will have the
same ID. This can help out identification.
Token. The response message will have the same
token. This can help out identification.
following as a part of this delta option.
Example.
Configure the device
1. Ensure that the device is set up correctly with the SIM card installed and the antennas
connected as described in Connect the hardware.
2.
Open XCTU and click the Configuration working modebutton.
3. Add the XBee Cellular Modem to XCTU; see Add a device to XCTU.
4. Select a device from the Radio Modules list. XCTU displays the current firmware settings for
that device.
5.
To switch to UDPcommunication, in the IP field, select 0 and click the Write button.
6. To set the target IP address that the XBee Cellular Modem will talk to, in the DL field type
52.43.121.77and click the Write button. A CoAP server is publicly available at address
52.43.121.77.
7. To set the XBee Cellular Modem to send data to port 5683 in decimal, in the DEfield, type 1633
and click the Write button.
8. To move into Transparent mode, in the APfield, select 0 and click the Write button.
9. Wait for the AI (Association Indication) value to change to 0 (Connected to the Internet). You
can click Readto get an update on the AI value.
Example: manually perform a CoAPrequest
Follow the steps in Configure the device prior to this example. This example performs the CoAP
GETrequest:
Digi XBee Cellular 3G Global Embedded Modem User Guide
48
Examples: IOT protocols with transparent modeGet started with CoAP
n Method: GET
n URI: example
n Given message token: test
1.
Click the Consoles working mode buttonon the toolbar to add a customized packet.
2.
From the AT console, click the Add new packet buttonin the Send packets dialog. The
Add new packet dialog appears.
3. Click the HEX tab and type the name of the data packet: GET_EXAMPLE.
4. Copy and past the following text into the HEX input tab:
44 01 C4 09 74 65 73 74 B7 65 78 61 6D 70 6C 65
This is the CoAP protocol message decomposed by bytes to perform a GET request on an
example URI with a token test.
5. Click Add packet.
6.
Click the Open button.
7. Click Send selected packet. The message is sent to the public CoAP server configured in
Configure the device. A response appears in the Console log. Blue text is the query, red text is
the response.
The payload is Get to uri: example, which specifies that this is a successful CoAP GET to URI end
example, which was specified in the query.
Click the Close button to terminate the serial connection.
Example: use Python to generate a CoAP message
This example illustrates how the CoAP protocol can perform GET/POST/PUT/DELETE requests
similarly to the HTTP protocol and how to do this using the XBee Cellular Modem. In this example, the
XBee Cellular Modem talks to a CoAP Digi Server. You can use this client code to provide an abstract
wrapper to generate a CoAP message that commands the XBee Cellular Modem to talk to the remote
CoAP server.
Note It is crucial to configure the XBee Cellular Modem settings. See Configure the device and follow
the steps. You can target the IP address to a different CoAP public server.
1. Install Python 2.7. The Installation guide is located at: python.org/downloads/.
2. Download and install the CoAPthon library in the python environment from
pypi.python.org/pypi/CoAPthon.
3. Download these two .txt files: Coap.txt and CoapParser.txt. After you download them, open the
files in a text editor and save them as .py files.
4. In the folder that you place the Coap.py and CoapParser.py files, press Shift + right-click and
then click Open command window.
5. At the command prompt, type python Coap.py and press Enter to run the program.
6. Type the USB port number that the XBee Cellular Modem is connected to and press Enter. Only
the port number is required, so if the port is COM19, type 19.
Digi XBee Cellular 3G Global Embedded Modem User Guide
49
Examples: IOT protocols with transparent modeGet started with CoAP
Note If you do not know the port number, open XCTU and look at the XBee Cellular Modem in the
Radio Modules list. This view provides the port number and baud rate, as in the figure below where
the baud rate is 9600 b/s.
7. Type the baud rate and press Enter. You must match the device's current baud rate.
XCTUprovides the current baud rate in the BD Baud Rate field. In this example you would type
9600.
8. Press Y if you want an auto-generated example. Press Enter to build your own CoAP request.
9. If you press Y it generates a message with:
n Method: POST
n URI: example
n payload:hello world
n token: test
The send and receive message must match the same token and message id. Otherwise, the client reattempts the connection by sending out the request.
In the following figure, the payload contains the server response to the query. It shows the results for
when you press Enter rather than Y.
Digi XBee Cellular 3G Global Embedded Modem User Guide
50
Examples: IOT protocols with transparent modeGet started with MQTT
Get started with MQTT
MQ Telemetry Transport (MQTT) is a messaging protocol that is ideal for the Internet of Things (IoT)
due to a light footprint and its use of the publish-subscribe model. In this model, a client connects to a
broker, a server machine responsible for receiving all messages, filtering them, and then sending
messages to the appropriate clients.
The first two MQTTexamples do not involve the XBee Cellular Modem. They demonstrate using the
MQTTlibraries because those libraries are required for Use MQTT over the XBee Cellular Modem with
a PC.
The examples in this guide assume:
n Some knowledge of Python.
n An integrated development environment (IDE)such as PyCharm, IDLE or something similar.
The examples require:
n An XBee Cellular Modem.
n A compatible development board.
n XCTU. See Install and upgrade XCTU.
n That you install Python on your computer. You can download Python from:
https://www.python.org/downloads/.
n That you install the pyserial and paho-mqtt libraries to the Python environment. If you use
Python 2, install these libraries from the command line with pip install pyserial and pip
install paho-mqtt. If you use Python 3, use pip3 install pyserial and pip3 install paho-mqtt.
n The full MQTT library source code, which includes examples and tests, which is available in the
paho-mqtt github repository at https://github.com/eclipse/paho.mqtt.python. To download this
repository you must have Git installed.
Example: MQTT connect
This example provides insight into the structure of packets in MQTT as well as the interaction
between the client and broker. MQTT uses different packets to accomplish tasks such as connecting,
subscribing, and publishing. You can use XCTU to perform a basic example of sending a broker a
connect packet and receiving the response from the server, without requiring any coding. This is a
good way to see how the client interacts with the broker and what a packet looks like. The following
table is an example connect packet:
DescriptionHex value
CONNECT packet fixed header
byte 1Control packet type0x10
byte 2Remaining length0x10
CONNECT packet variable header
Protocol name
byte 1Length MSB (0)0x00
Digi XBee Cellular 3G Global Embedded Modem User Guide
51
Examples: IOT protocols with transparent modeGet started with MQTT
DescriptionHex value
byte 2Length LSB (4)0x04
byte 3(M)0x4D
byte 4(Q)0x51
byte 5(T)0x54
byte 6(T)0x54
Protocol level
byte 7Level (4)0x04
Connect flags
byte 8
Keep alive
byte 9Keep Alive MSB (0)0x00
byte 10Keep Alive LSB (60)0x3C
Client ID
byte 11Length MSB (0)0x00
byte 12Length LSB (4)0x04
byte 13(D)0x44
byte 14(I)0x49
byte 15(G)0x47
byte 16(I)0x49
The following table describes the fields in the packet:
FieldnameDescription
ProtocolName The connect packet starts with the protocol name, which is MQTT. The length of
CONNECT flags byte, see the table below for the bits.
the protocol name (in bytes) is immediately before the name itself.
0x02
ProtocolLevelRefers to the version of MQTT in use, in this case a value of 4 indicates MQTT
version 3.1.1.
Connect FlagsIndicate certain aspects of the packet. For simplicity, this example only sets the
Clean Session flag, which indicates to the client and broker to discard any previous
session and start a new one.
Keep AliveHow often the client pings the broker to keep the connection alive; in this example
it is set to 60 seconds.
Digi XBee Cellular 3G Global Embedded Modem User Guide
52
Examples: IOT protocols with transparent modeGet started with MQTT
FieldnameDescription
Client IDThe length of the ID (in bytes) precedes the ID itself. Each client connecting to a
broker must have a unique client ID. In the example, the ID is DIGI. When using the
Paho MQTT Python libraries, a random alphanumeric ID is generated if you do not
specify an ID.
The following table provides the CONNECT flag bits from byte 8, the CONNECT flags byte.
Now that you know what a connect packet looks like, you can send a connect packet to a broker and
view the response. Open XCTU and click the Configuration working mode button.
1. Ensure that the device is set up correctly with the SIM card installed and the antennas
connected as described in Connect the hardware.
2.
Open XCTU and click the Configuration working modebutton.
3. Add the XBee Cellular Modem to XCTU. See Add a device to XCTU.
4. Select a device from the Radio Modules list. XCTU displays the current firmware settings for
that device.
5. In the APfield, set Transparent Mode to [0] if it is not already and click the Write button.
6. In the DL field, type the IP address or the fully qualified domain name of the broker you wish to
use. This example uses test.mosquitto.org.
7. In the DE field, type 75B and set the port that the broker uses. This example uses 75B, because
the default MQTT port is 1883 (0x75B).
8. Once you have entered the required values, click the Write button to write the changes to the
XBee Cellular Modem.
9.
Click the Consoles working mode buttonon the toolbar to open a serial console to the
device. For instructions on using the Console, see the AT console topic in the XCTU User Guide.
10.
Click the Open buttonto open a serial connection to the device.
11.
From the AT console, click the Add new packet buttonin the Send packets dialog. The
Add new packet dialog appears.
Digi XBee Cellular 3G Global Embedded Modem User Guide
53
Examples: IOT protocols with transparent modeGet started with MQTT
12. Enter the name of the data packet. Name the packet connect_frame or something similar.
13. Click the HEX input tab and type the following (these values are the same values from the
table in Example: MQTT connect):
14. Click Add packet. The new packet appears in the Send packets list.
15. Click the packet in the Send packets list.
16. Click Send selected packet.
17. A CONNACK packet response from the broker appears in the Console log. This is a connection
acknowledgment; a successful response should look like this:
You can verify the response from the broker as a CONNACK by comparing it to the structure of a
CONNACK packet in the MQTT documentation, which is available at http://docs.oasis-
A basic Python example of a node publishing (sending) a message is:
mqttc = mqtt.Client("digitest")# Create instance of client with client ID
“digitest”
mqttc.connect("m2m.eclipse.org", 1883)# Connect to (broker, port,
keepalive-time)
Digi XBee Cellular 3G Global Embedded Modem User Guide
54
Examples: IOT protocols with transparent modeGet started with MQTT
Note You can easily copy and paste code from the online version of this guide. Use caution with the
PDF version, as it may not maintain essential indentations.
This example imports the MQTT library, allowing you to use the MQTT protocol via APIs in the library,
such as the connect(), subscribe(), and publish() methods.
The second line creates an instance of the client, named mqttc. The client ID is the argument you
passed in: digitest (this is optional).
In line 3, the client connects to a public broker, in this case m2m.eclipse.org, on port 1883 (the default
MQTT port, or 8883 for MQTT over TLS). There are many publicly available brokers available, you can
find a list of them here: https://github.com/mqtt/mqtt.github.io/wiki/brokers.
Line 4 starts the networking daemon with client.loop_start() to handle the background
network/data tasks.
Finally, the client publishes its message Hello, World! to the broker under the topic
digitest/backlog/test1. Any nodes (devices, phones, computers, even microcontrollers) subscribed to
that same topic on the same broker receive the message.
Once no more messages need to be published, the last line stops the network daemon with
client.loop_stop().
Example: receive messages (subscribe) with MQTT
This example describes how a client would receive messages from within a specific topic on the
broker:
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):# The callback for when the
client connects to the broker
print("Connected with result code {0}".format(str(rc)))# Print result
of connection attempt
client.subscribe("digitest/test1")# Subscribe to the topic
“digitest/test1”, receive any messages published on it
def on_message(client, userdata, msg):# The callback for when a PUBLISH
message is received from the server.
client = mqtt.Client("digi_mqtt_test")# Create instance of client with
client ID “digi_mqtt_test”
client.on_connect = on_connect# Define callback function for successful
connection
client.on_message = on_message# Define callback function for receipt of a
message
# client.connect("m2m.eclipse.org", 1883, 60)# Connect to (broker, port,
keepalive-time)
client.connect('127.0.0.1', 17300)
Digi XBee Cellular 3G Global Embedded Modem User Guide
55
Examples: IOT protocols with transparent modeGet started with MQTT
client.loop_forever()# Start networking daemon
Note You can easily copy and paste code from the online version of this guide. Use caution with the
PDF version, as it may not maintain essential indentations.
The first line imports the library functions for MQTT.
The functions on_connect and on_message are callback functions which are automatically called by
the client upon connection to the broker and upon receiving a message, respectively.
The on_connect function prints the result of the connection attempt, and performs the subscription.
It is wise to do this in the callback function as it guarantees the attempt to subscribe happens only
after the client is connected to the broker.
The on_message function prints the received message when it comes in, as well as the topic it was
published under.
In the body of the code, we:
n Instantiate a client object with the client ID digi_mqtt_test.
n Define the callback functions to use upon connection and upon message receipt.
n Connect to an MQTT broker at m2m.eclipse.org, on port 1883 (the default MQTT port, or 8883
for MQTT over TLS) with a keepalive of 60 seconds (this is how often the client pings the broker
to keep the connection alive).
The last line starts a network daemon that runs in the background and handles data transactions and
messages, as well as keeping the socket open, until the script ends.
Use MQTT over the XBee Cellular Modem with a PC
To use this MQTT library over an XBee Cellular Modem, you need a basic proxy that transfers a payload
received via the MQTT client’s socket to the serial or COM port that the XBee Cellular Modem is active
on, as well as the reverse; transfer of a payload received on the XBee Cellular Modem’s serial or COM
port to the socket of the MQTT client. This is simplest with the XBee Cellular Modem in Transparent
mode, as it does not require code to parse or create API frames, and not using API frames means
there is no need for them to be queued for processing.
1. To put the XBee Cellular Modem in Transparent mode, set AP to 0.
2. Set DL to the IP address of the broker you want to use.
3. Set DE to the port to use, the default is 1883 (0x75B). This sets the XBee Cellular Modem to
communicate directly with the broker, and can be performed in XCTU as described in Example:
MQTT connect.
4. You can make the proxy with a dual-threaded Python script, a simple version follows:
import threading
import serial
import socket
def setup():
"""
This function sets up the variables needed, including the serial port,
and it's speed/port settings, listening socket, and localhost adddress.
"""
Digi XBee Cellular 3G Global Embedded Modem User Guide
56
Examples: IOT protocols with transparent modeGet started with MQTT
global clisock, cliaddr, svrsock, ser
# Change this to the COM port your XBee Cellular module is using.On
# Linux, this will be /dev/ttyUSB#
comport = 'COM44'
# This is the default serial communication speed of the XBee Cellular
# module
comspeed = 115200
buffer_size = 4096# Default receive size in bytes
debug_on = 0# Enables printing of debug messages
toval = None# Timeout value for serial port below
# Serial port object for XBCell modem
ser = serial.Serial(comport,comspeed,timeout=toval)
# Listening socket (accepts incoming connection)
svrsock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# Allow address reuse on socket (eliminates some restart errors)
svrsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
clisock = None
cliaddr = None# These are first defined before thread creation
addrtuple = ('127.0.0.1', 17300)# Address tuple for localhost
# Binds server socket to localhost (allows client program connection)
svrsock.bind(addrtuple)
svrsock.listen(1)# Allow (1) connection
def ComReaderThread():
"""
This thread listens on the defined serial port object ('ser') for data
from the modem, and upon receipt, sends it out to the client over the
client socket ('clisock').
"""
global clisock
while (1):
resp = ser.read()## Read any available data from serial port
print("Received {} bytes from modem.".format(len(resp)))
clisock.sendall(resp)# Send RXd data out on client socket
print("Sent {} byte payload out socket to client.".format(len
(resp)))
def SockReaderThread():
"""
This thread listens to the MQTT client's socket and upon receiving a
payload, it sends this data out on the defined serial port ('ser') to
the
modem for transmission.
"""
global clisock
while (1):
data = clisock.recv(4096)# RX data from client socket
# If the RECV call returns 0 bytes, the socket has closed
if (len(data) == 0):
print("ERROR - socket has closed.Exiting socket reader
thread.")
return 1# Exit the thread to avoid a loop of 0-byte receptions
else:
print("Received {} bytes from client via socket.".format(len
(data)))
Digi XBee Cellular 3G Global Embedded Modem User Guide
57
Examples: IOT protocols with transparent modeGet started with MQTT
print("Sending payload to modem...")
bytes_wr = ser.write(data)# Write payload to modem via
UART/serial
print("Wrote {} bytes to modem".format(bytes_wr))
def main():
setup()# Setup the serial port and socket
global clisock, svrsock
if (not clisock):# Accept a connection on 'svrsock' to open 'clisock'
print("Awaiting ACCEPT on server sock...")
(clisock,cliaddr) = svrsock.accept()# Accept an incoming
connection
print("Connection accepted on socket")
# Make thread for ComReader
comthread = threading.Thread(target=ComReaderThread)
comthread.start()# Start the thread
# Make thread for SockReader
sockthread = threading.Thread(target=SockReaderThread)
sockthread.start()# Start the thread
main()
Note This script is a general TCP-UART proxy, and can be used for other applications or scripts that
use the TCP protocol. Its functionality is not limited to MQTT.
Note You can easily copy and paste code from the online version of this guide. Use caution with the
PDF version, as it may not maintain essential indentations.
This proxy script waits for an incoming connection on localhost (127.0.0.1), on port 17300. After
accepting a connection, and creating a socket for that connection (clisock), it creates two threads,
one that reads the serial or COM port that the XBee Cellular Modem is connected to, and one that
reads the socket (clisock), that the MQTT client is connected to.
With:
n The proxy script running
n The MQTT client connected to the proxy script via localhost (127.0.0.1)
n The XBee Cellular Modem connected to the machine via USB and properly powered
n AP, DL, and DE set correctly
the proxy acts as an intermediary between the MQTT client and the XBee Cellular Modem, allowing
the MQTT client to use the data connection provided by the device.
Think of the proxy script as a translator between the MQTT client and the XBee Cellular Modem. The
following figure shows the basic operation.
Digi XBee Cellular 3G Global Embedded Modem User Guide
58
Examples: IOT protocols with transparent modeGet started with MQTT
The thread that reads the serial port forwards any data received onward to the client socket, and the
thread reading the client socket forwards any data received onward to the serial port. This is
represented in the figure above.
The proxy script needs to be running before running an MQTT publish or subscribe script.
1. With the proxy script running, run the subscribe example from Example: receive messages
(subscribe) with MQTT, but change the connect line from client.connect("m2m.eclipse.org",
1883, 60) to client.connect("127.0.0.1", port=17300, keepalive=20). This connects the
MQTT client to the proxy script, which in turn connects to a broker via the XBee Cellular
Modem’s internet connection.
2. Run the publish example from Example: send messages (publish) with MQTT in a third Python
instance (while the publish script is running you will have three Python scripts running at the
same time).
The publish script runs over your computer’s normal Internet connection, and does not use the XBee
Cellular Modem. You are able to see your published message appear in the subscribe script’s output
once it is received from the broker via the XBee Cellular Modem. If you watch the output of the proxy
script during this process you can see the receptions and transmissions taking place.
The proxy script must be running before you run the subscribe and publish scripts. If you stop the
subscribe script, the socket closes, and the proxy script shows an error. If you try to start the proxy
script after starting the subscribe script, you may also see a socket error. To avoid these errors, it is
best to start the scripts in the correct order: proxy, then subscribe, then publish.
Digi XBee Cellular 3G Global Embedded Modem User Guide
59
Get started with MicroPython
This section provides an overview and simple examples of how to use MicroPython with the XBee
Cellular Modem. You can use MicroPython to enhance the intelligence of the XBee to enable you to do
edge-computing by adding business logic in MicroPython, rather than using external components.
Note For in-depth information and more complex code examples, refer to the Digi MicroPython
Programming Guide.
About MicroPython61
MicroPython on the XBee Cellular Modem61
Use XCTU to enter the MicroPython environment61
Use the MicroPython Terminal in XCTU62
Example: hello world62
Example: turn on an LED62
Example: debug the secondary UART63
Exit MicroPython mode64
Other terminal programs64
Use picocom in Linux66
Digi XBee Cellular 3G Global Embedded Modem User Guide
60
Get started with MicroPythonAbout MicroPython
About MicroPython
MicroPython is an open-source programming language based on Python 3, with much of the same
syntax and functionality, but modified to fit on small devices with limited hardware resources, such as
microcontrollers, or in this case, a cellular modem.
Why use MicroPython
MicroPython enables on-board intelligence for simple sensor or actuator applications using digital and
analog I/O. MicroPython can help manage battery life. Cryptic readings can be transformed into useful
data, excess transmissions can be intelligently filtered out, modern sensors and actuators can be
employed directly, and logic can glue inputs and outputs together in an intelligent way.
For more information about MicroPython, see www.micropython.org.
For more information about Python, see www.python.org.
MicroPython on the XBee Cellular Modem
The XBee Cellular Modem has MicroPython running on the device itself. You can access a MicroPython
prompt from the XBee Cellular Modem when you install it in an appropriate development board (XBDB
or XBIB), and connect it to a computer via a USB cable.
Note MicroPython does not work with SPI.
The examples in this guide assume:
n You have XCTU on your computer. See Install and upgrade XCTU.
n You have a terminal program installed on your computer. We recommend using the Use the
MicroPython Terminal in XCTU. This requires XCTU 6.3.7 or higher.
n You have an XBee Cellular Modem installed in an appropriate development board, such as an
XBIB-U-DEV.
Note Most examples in this guide require the XBIB-U-DEV board.
n The XBee Cellular Modem is connected to the computer via a USB cable and XCTU recognizes
it.
n The board is powered by an appropriate power supply, 12 VDC and at least 1.1 A.
Use XCTU to enter the MicroPython environment
To use the XBee Cellular Modem in the MicroPython environment:
1. Use XCTU to add the device(s); see Install and upgrade XCTU and Add a device to XCTU.
2. The XBee Cellular Modem appears as a box in the Radio Modules information panel. Each
module displays identifying information about itself.
3. Click this box to select the device and load its current settings.
4. Set the device's baud rate to 115200 b/s, in the BD field select 115200 [7] or higher and click
the Write button. We recommend using flow control to avoid data loss, especially when
pasting large amounts of code/text.
Digi XBee Cellular 3G Global Embedded Modem User Guide
61
Get started with MicroPythonUse the MicroPython Terminal in XCTU
5. Put the XBee Cellular Modem into MicroPython mode, in the APfield select MicroPython REPL
[4] and click the Write button.
6. Note what COM port(s) the XBee Cellular Modem is using, because you will need this
information when you use terminal communication. The Radio Modules information panel lists
the COM port in use.
Use the MicroPython Terminal in XCTU
You can use the MicroPython Terminal to communicate with the XBee Cellular Modem when it is in
MicroPython mode.1This requires XCTU 6.3.7 or higher. To enter MicroPython mode, follow the steps
in Use XCTU to enter the MicroPython environment. To use the MicroPython Terminal:
1.
Click the Tools drop-down menuand select MicroPython Terminal. The terminal opens.
2. Click Open. If you have not already added devices to XCTU:
a. In the Select the Serial/USB port area, click the COM port that the device uses.
b. Verify that the baud rate and other settings are correct.
3.
Click OK. The Open icon changes to Close, indicating that the device is properly connected.
4. Press Ctrl+B to get the MicroPython version banner and prompt.
You can now type or paste MicroPython commands at the >>> prompt.
Troubleshooting
If you receive No such port: 'Port is already in use by other applications.' in the MicroPython
Terminal close any other console sessions open inside XCTU and close any other serial terminal
programs connected to the device, then retry the MicroPython connection in XCTU.
If the device seems unresponsive, try pressing Ctrl+C to end any running programs.
You can use the +++ escape sequence and look for an OK for confirmation that you have the correct
baud rate.
Example: hello world
Before you begin, you must have previously added a device in XCTU. See Add a device to XCTU.
1. At the MicroPython >>> prompt, type the Python command: print("Hello, World!")
2. Press Enter to execute the command. The terminal echos back Hello, World!.
Example: turn on an LED
1. Note the DS4 LED on the XBIB board. The following image highlights it in a red box. The LED is
normally off.
1
See Other terminal programs if you do not use the MicroPython Terminal in XCTU.
Digi XBee Cellular 3G Global Embedded Modem User Guide
62
Get started with MicroPythonExample: debug the secondary UART
2. At the MicroPython >>> prompt, type the commands below, pressing Enter after each one.
After entering the last line of code, the LED illuminates. Anything after a # symbol is a
comment, and you do not need to type it.
Note You can easily copy and paste code from the online version of this guide. Use caution with the
PDF version, as it may not maintain essential indentations.
import machine
from machine import Pin
led = Pin("D4", Pin.OUT, value=0)# Makes a pin object set to output 0.
# One might expect 0 to mean OFF and 1 to mean ON, and this is normally the
case.
# But the LED we are turning on and off is setup as what is# known as
"active low".
# This means setting the pin to 0 allows current to flow through the LED and
then through the pin, to ground.
3. To turn it off, type the following and press Enter:
led.value(1)
You have successfully controlled an LED on the board using basic I/O.
Example: debug the secondary UART
This sample code is handy for debugging the secondary UART. It simply relays data between the
primary and secondary UARTs.
Digi XBee Cellular 3G Global Embedded Modem User Guide
63
Get started with MicroPythonExit MicroPython mode
from machine import UART
import sys, time
def uart_init():
u = UART(1)
u.write('Testing from XBee\n')
return u
def uart_relay(u):
while True:
uart_data = u.read(-1)
if uart_data:
sys.stdout.buffer.write(uart_data)
stdin_data = sys.stdin.buffer.read(-1)
if stdin_data:
u.write(stdin_data)
time.sleep_ms(5)
u = uart_init()
uart_relay(u)
You only need to call uart_init() once.
Call uart_relay() to pass data between the UARTs.
Send Ctrl-C to exit relay mode.
When done, call u.close() to close the secondary UART.
Exit MicroPython mode
To exit MicroPython mode:
1.
In the XCTU MicroPython Terminal, click the green Close button.
2. Click Close at the bottom of the terminal to exit the terminal.
3.
In XCTU's Configuration working mode, change AP API Enable to another mode and click
the Write button. We recommend changing to Transparent mode [0], as most of the
examples use this mode.
Other terminal programs
If you do not use the MicroPython Terminal in XCTU, you can use other terminal programs to
communicate with the XBee Cellular Modem. If you use Microsoft Windows, follow the instructions for
Tera Term, if you use Linux, follow the instructions for picocom. To download these programs:
n Tera Term for Windows; see https://ttssh2.osdn.jp/index.html.en.
n Picocom for Linux; see https://developer.ridgerun.com/wiki/index.php/Setting_up_Picocom_-_
Ubuntu and for the source code and in-depth information https://github.com/npatefault/picocom.
Digi XBee Cellular 3G Global Embedded Modem User Guide
64
Get started with MicroPythonOther terminal programs
Tera Term for Windows
With the XBee Cellular Modem in MicroPython mode (AP = 4), you can access the MicroPython prompt
using a terminal.
1. Open Tera Term. The Tera Term: New connection window appears.
2. Click the Serial radio button to select a serial connection.
3. From the Port: drop-down menu, select the COM port that the XBee Cellular Modem is
connected to.
4. Click OK. The COMxx - Tera Term VT terminal window appears and Tera Term attempts to
connect to the device at a baud rate of 9600 b/s. The terminal will not allow communication
with the device since the baud rate setting is incorrect. You must change this rate as it was
previously set to 115200 b/s.
5. Click Setup and Serial Port. The Tera Term: Serial port setup window appears.
6. In the Tera Term: Serial port setup window, set the parameters to the following values:
n Port: Shows the port that the XBee Cellular Modem is connected on.
n Baud rate:115200
n Data: 8 bit
n Parity: none
n Stop: 1 bit
n Flow control: hardware
n Transmit delay: N/A
7. Click OK to apply the changes to the serial port settings. The settings should go into effect
right away.
8. To verify that local echo is not enabled and that extra line-feeds are not enabled:
a. In Tera Term, click Setup and select Terminal.
b. In the New-line area of the Tera Term: Serial port setup window, click the Receive drop-
down menu and select CR if it does not already show that value.
c. Make sure the Local echo box is not checked.
9. Click OK.
10. Press Ctrl+B to get the MicroPython version banner and prompt.
Digi XBee Cellular 3G Global Embedded Modem User Guide
65
Get started with MicroPythonUse picocom in Linux
Now you can type MicroPython commands at the >>> prompt.
Use picocom in Linux
With the XBee Cellular Modem in MicroPython mode (AP = 4), you can access the MicroPython prompt
using a terminal.
Note The user must have read and write permission for the serial port the XBee Cellular Modem is
connected to in order to communicate with the device.
1. Open a terminal in Linux and type picocom -b 115200 /dev/ttyUSB0. This assumes you have
no other USB-to-serial devices attached to the system.
2. Press Ctrl+B to get the MicroPython version banner and prompt. You can also press Enter to
bring up the prompt.
If you do have other USB-to-serial devices attached:
1. Before attaching the XBee Cellular Modem, check the directory /dev/ for any devices named
ttyUSBx, where x is a number. An easy way to list these is to type: ls /dev/ttyUSB*. This
produces a list of any device with a name that starts with ttyUSB.
2. Take note of the devices present with that name, and then connect the XBee Cellular Modem.
3. Check the directory again and you should see one additional device, which is the XBee Cellular
Modem.
4. In this case, replace /dev/ttyUSB0 at the top with /dev/ttyUSB<number>, where <number>
is the new number that appeared.
5. It should connect and show Terminal ready.
Digi XBee Cellular 3G Global Embedded Modem User Guide
66
Get started with MicroPythonUse picocom in Linux
Now you can type MicroPython commands at the >>> prompt.
Digi XBee Cellular 3G Global Embedded Modem User Guide
67
Update the firmware
You should update your XBee to the latest firmware to take advantage of all the latest fixes and
features. Refer to the topics below for information about the available update methods.
Digi strongly recommends that you devise a plan to update the firmware after initial deployment. For
more information, see Create a plan for device firmware updates.
Create a plan for device component firmware updates69
Update the device firmware70
Digi XBee Cellular 3G Global Embedded Modem User Guide
68
Update the firmwareCreate a plan for device component firmware updates
Create a plan for device component firmware updates
You should update your XBee to the latest firmware to take advantage of all the latest fixes and
features. Security issues or software bugs may be identified which require firmware updates to
resolve. In addition, Digi periodically releases new device firmware which includes new features and
improves reliability and performance of existing features. You should evaluate and test the new
releases and update your firmware to take advantage of the improvements and new features.
Note For Cellular 3G modems, you cannot update the firmware on the cellular component.
Note Digi will not accept responsibility for customers who have not planned to update their units.
Please review the information provided below.
Please review the suggestions below:
n If updates will be performed using a PC, XCTU version 6.5.0 or later is able to perform device
firmware updates.
n If updates will be performed using a host processor, see Use a host processor to update the
modem firmware for XBee devices over UART.
n If updates will be performed over-the-air (OTA):
l If your XBee application is using API mode, monitor for Modem Status (0x8A) API frames
with status codes 0x38 through 0x3A. These modem status frames inform the XBee's host
application about ongoing and completed or failed firmware updates.
l If your XBee application is using Transparent mode, test your application to determine
whether it is tolerant to over-the-air firmware updates of the cellular component and XBee
firmware. If your application cannot tolerate the network connection being non-functional
for up to 30 minutes (for example, if the XBee will be reset in a shorter time than that), do
not use over-the-air updates, and be aware that firmware updates to the XBee require
user intervention.
o
If the XBee firmware is updated over-the-air using Digi Remote Manager: After the new
firmware image has been downloaded and validated, the XBee modem reboots
automatically to install the firmware. The XBee then resets into the new firmware once
the update is complete, which may take up to 60 seconds.
Digi XBee Cellular 3G Global Embedded Modem User Guide
69
Update the firmwareUpdate the device firmware
Update the device firmware
You should update the device firmware on your XBee to the latest version to take advantage of all the
latest fixes and features. Security issues or software bugs may be identified which require firmware
updates to resolve. In addition, Digi periodically releases new firmware which includes new features
and improves reliability and performance of existing features.
n For information about updating the cellular firmware, see Update the cellular firmware.
The table below lists update methods you can use and the instructions for each method.
Method
Instructions
XCTUUpdate the device firmware using XCTU
FOTA (DRM)
n Update the firmware from the Devices page in
Remote Manager
n Update the firmware using web services in Remote
Manager
n Schedule a task to update the device firmware
using Remote Manager
API
Use a host processor to update the modem firmware for
XBee devices over UART
Update the device firmware using XCTU
You can use XCTU to update the device firmware.
Prerequisites
n Windows PC
n Digi XCTU version 6.5.0 or newer. You should upgrade XCTU to the latest version.
n Make sure the device is added to XCTU. See Add a device to XCTU.
To update the device firmware:
1.
Launch XCTU.
2.
Click the Configuration working modes button.
3. From the Radio Modules list, select the device that you want to update.
4. Click Update firmware. The Update the radio module firmware dialog appears and displays
the available and compatible device firmware for the selected XBee module.
5. Make sure you check the Force the module to maintain its current configuration box.
6. Select the product family of the XBee module, the function set, and the latest firmware version.
7. Click Update. A dialog displays update progress. Click Show details for details of the firmware
update process.
Digi XBee Cellular 3G Global Embedded Modem User Guide
70
Update the firmwareUpdate the device firmware
Update the firmware from the Devices page in Remote Manager
You can update the device firmware for one or multiple devices from the Devices page in Remote
Manager.
Before you begin, verify the TCP connection method your device uses to connect to Remote Manager:
query once a day or use a persistent TCPconnection. See TCP connection.
To perform a firmware update:
1. Download the updated firmware file for your device from Digi's support site.
a. Go to the Digi XBee Cellular 3G support page.
b. Scroll down to the Firmware Updates section.
c. Locate and click XBee Cellular 3G AT&T Global Firmware to download the zip file.
d. Unzip the file.
2. Set up a persistent connection to connect the device to Remote Manager. See Restore
persistent connection to a remote XBee.
3. Log into Remote Manager.
4. In your Remote Manager account, click Device Management > Devices.
5. Select the first device you want to update. To select multiple devices (must be of the same
type), press the Control key and select additional devices.
6. Click More in the Devices toolbar and select More > Update > Update Firmware. The UpdateFirmware dialog appears.
7. Click Browse to select the .ebin file that you unzipped earlier.
8. Click Update Firmware. The updated devices automatically reboot when the updates are
complete.
Note The update is immediately rejected and an error is returned if the device is going into
sleep mode or is being shut down. See Clean shutdown.
9. When all changes are complete, disconnect the device from Remote Manager.
Update the firmware using web services in Remote Manager
Remote Manager supports both synchronous and asynchronous firmware update using web services.
The following examples show how to perform an asynchronous firmware update. See the Remote
Manager documentation for more details on firmware updates.
Before you begin, verify the TCP connection method your device uses to connect to Remote Manager:
query once a day or use a persistent TCPconnection. See TCP connection.
Note You must use XCTU to update the cellular component's firmware.
1. Download the updated firmware file for your device from Digi's support site.
a. Go to the Digi XBee Cellular 3G support page.
b. Scroll down to the Firmware Updates section.
c. Locate and click XBee Cellular 3G AT&T Global Firmware to download the zip file.
d. Unzip the file and locate the .ebin file in the unzipped directory.
Digi XBee Cellular 3G Global Embedded Modem User Guide
71
Update the firmwareUpdate the device firmware
2. Send an HTTP SCI request to Remote Manager with the contents of the downloaded .ebin file
converted to base64 data. Refer to the the following examples:
Examples for .ebin:
n Example: Update the XBee firmware synchronously using a local file
n Example: Update the XBee firmware synchronously using a Remote Manager Data File
Example: Update the XBee firmware synchronously using a local file
import base64
import requests
# Location of firmware image
firmware_path = 'XBXC.ebin'
# Remote Manager device ID of the device being updated
device_id = '00010000-00000000-03526130-70153378'
# Post request
r = requests.post(url, auth=(username, password), data=data)
if (r.status_code != 200) or ("error" in r.content.decode('utf-8')):
print("firmware update failed")
else:
print("firmware update success")
Example: Update the XBee firmware synchronously using a Remote Manager Data
File
To update the XBee firmware synchronously with Python 3.0, but using the device firmware image
already uploaded to Remote Manager, upload the device's *.ebin firmware to Remote Manager:
1. Download the updated firmware file for your device from Digi's support site. This is a zip file
containing .ebin and .mxi files for import.
2. Unzip the file and locate the .ebin inside the unzipped directory.
Digi XBee Cellular 3G Global Embedded Modem User Guide
72
Update the firmwareUpdate the device firmware
3. Log in to Remote Manager.
4. Click the Data Services tab.
5. Click Data Files.
6. Click Upload Files; browse and select the *.ebin firmware file to upload it.
7. Send an HTTP SCI request to Remote manager with the path of the .ebin file; see the example
below.
import base64
import requests
# Location of firmware image on Remote Manager
firmware_path = '~/XBXC.ebin'
# Remote Manager device ID of the device being updated
device_id = '00010000-00000000-03526130-70153378'
# Post request
r = requests.post(url, auth=(username, password), data=data)
if (r.status_code != 200) or ("error" in r.content.decode('utf-8')):
print("firmware update failed")
else:
print("firmware update success")
Use a host processor to update the modem firmware for XBee
devices over UART
This process explains how to update the modem firmware for XBee Cellular devices.
Update the modem firmware
1. Make sure you have the correct version of the modem firmware for your XBee device.
2. Enter programming (bootloader) mode. Use one of the following methods: ATcommands or
hardware signaling.
Digi XBee Cellular 3G Global Embedded Modem User Guide
73
Update the firmwareUpdate the device firmware
n ATcommands
a. Send the %P command. The %P command must be sent an argument derived from
the SL parameter of the module being updated. The argument is the value of SL
added to the value 0xDB8A and then masked by performing a bitwise-AND with
0x3FFF.
i. Run ATSL to get the address value, which is in hex.
ATSL
123456
ii. Add bitwise-AND with 0x3FFF.
(0xDB8A + 0x123456) & 0x3FFF= 0x0FE0
iii. Send the command AT%PFE0.
AT%PFE0
b. You will receive an error, which is expected.
c. Send the FRcommand to reboot and enter into bootloader.
nInvoke the bootloader with hardware signaling
a. De-Assert RTS (pin 16).
b. Assert DTR (pin 9).
c. Put DIN in a low state (break) (pin 3).
d. Reset the module (pin 5).
e. Release the break on DIN (pin 3) The module should now be in bootloader at 38400
baud.
3. Once the module is in programming (bootloader) mode, configure the local serial port to
38400/8/N/1.
4. Get the hardware version of the radio module from the bootloader.
a. Send the V command. The response to that command has the following format:
XXXXYYYYZZAABBBBCCCCCCCCCCCCCCCC
Digi XBee Cellular 3G Global Embedded Modem User Guide
n XXXX: The hardware version.
See ATHV, little endian.
n YYYY: The hardware revision.
See AT%R, little endian.
n ZZ: The hardware compatibility
number. See AT%C.
n AA: Unused and should be 0.
n BBBB: The hardware series. See
ATHS, little endian.
n CCCCCCCCCCCCCCCC: The
serial number.
74
Update the firmwareUpdate the device firmware
5. If possible, change the baud rate of the serial port to optimize the firmware update process.
Send the X command to the bootloader.
n The bootloader answers with the maximum supported baud rate (in ASCII) and, just
after that, the bootloader changes its baud rate to that value. Change your baud rate to
match the max supported rate.
n If the bootloader does not answer to this command, remain at the current rate.
6. Send the I command (initialization command). This command erases the current firmware from
the device.
7. Transfer the firmware to the device using the transfer protocol shown below.
Transfer the firmware to the device
1. You must split the file into 512 byte blocks.
2. Transfer each block using the following structure, with block index and CRC16 sent in little
endian byte:
P [2 bytes for block index] [block data with page size length] [2 bytes for CRC16]
Note CRC16 is calculated only with the bytes of the page to be sent, and is initialized with
0x0000. The polynomial used for the CRC16 is 0x8005.
3. After each block is transfered, wait for a response. Options are:
n 0x55 - ACK: This is the expected answer.
n 0x12: Checksum/CRC16 error.
n 0x13: Flash write/verify error.
Note If an error occurs, you may try to transfer each block up to three times.
4. Verify and write the firmware to flash.
a. Send the C command (verify) to verify and write the firmware to the flash.
b. Verify that the answer to this command is 0x55 (ACK). Any other result is an error.
5. Wait a couple of seconds for the firmware to be installed and start running.
Digi XBee Cellular 3G Global Embedded Modem User Guide
75
Technical specifications
Interface and hardware specifications77
RF characteristics77
Networking specifications77
Power requirements79
Power consumption79
Electrical specifications80
Regulatory approvals81
Digi XBee Cellular 3G Global Embedded Modem User Guide
76
Technical specificationsInterface and hardware specifications
Interface and hardware specifications
The following table provides the interface and hardware specifications for the device.
SpecificationValue
Dimensions24.38 mm x 32.94 mm (0.960 x 1.297 in)
Weight5 g (0.18 oz)
Operating temperature
Antenna connector
Digital I/O13 I/O lines, I2C
ADC4 10-bit analog inputs
Analog input voltage range0 - 2.5 V
Cellular chipsetu-blox SARA-R410M-028
Form factorDigi XBee 20-pin through-hole
SIM size4FF Nano
SpecificationValue
Dimensions2.438 x 3.294 cm (0.960 x 1.297 in)
Weight5 g (0.18 oz)
Operating temperature
Antenna connectorU.FL
-40 to +85 °C
Cellular: U.FL
Bluetooth: U.FL
-40 to +85 °C
-30 to +70 °C if 2G fallback mode is enabled
Digital I/O13 I/O lines
ADC4 10-bit analog inputs
RF characteristics
The following table provides the RF characteristics for the device.
SpecificationValue
Transmit powerUp to 24 dBm, Power Class 3
2G fallback: up to 33 dBm, Power Class 4
Receive sensitivityUp to -111 dBm
Networking specifications
The following table provides the networking and carrier specifications for the device.
Digi XBee Cellular 3G Global Embedded Modem User Guide
77
Technical specificationsNetworking specifications
SpecificationValue
Carrier and
technology
AT&T and Verizon LTE-M
T-Mobile NB-IoT in US
Vodafone and Deutsche Telekom NB-IoT in Europe
Compatible with other LTE-M carriers, see supported bands
Supported bandsLTE FDD bands:
n Band 12 (700 Mhz)
n Band 28 (700 MHz)
n Band 13 (700 MHz)
n Band 20 (800 MHz)
n Band 26 (850 MHz)
n Band 18 (850 MHz)
n Band 5 (850 MHz)
n Band 19 (850 MHz)
n Band 8 (900 MHz)
n Band 4 (1700 MHz)
n Band 3 (1800 Mhz)
n Band 2 (1900 MHz)
n Band 25 (1900 MHz)
n Band 1 (2100 MHz)
1
LTE TDD bands:
n Band 39 (1900 MHz)
SecurityDigi Trustfence™
Downlink/uplink
LTE M1
speeds
n up to 300 kb/s DL
n up to 375 kb/s UL
LTE NB1
n up to 27.2 kb/s DL
n up to 62.5 kb/s UL
Duplex modeHalf-duplex
Addressing
options
SMS and IP-based protocols may not be available. Check with your carrier's
specifications for LTE-M\NB-IoT.
1
Band 25 is only supported by products containing SARA-R410M-02B-01 and newer. Band 25 is for LTE CATM1
only.
Digi XBee Cellular 3G Global Embedded Modem User Guide
78
Technical specificationsPower requirements
SpecificationValue
Addressing
options
Technology3G Universal Mobile Telecommunications Service (UMTS)/High Speed Packet
Supported bands Band 19 (800 MHz)
SecurityDigi Trustfence™ security with secure boot, encrypted storage, protected JTAG,
Downlink/uplink
speeds
TCP/IP,UPD, and SMS
Access (HSPA) with 2G fallback
Band 5 (850 MHz)
Band 8 (900 MHz)
Band 2 (1900 MHz)
Band 1 (2100 MHz)
TLS 1.2
Up to 7.2 Mb/s / 5.76 Mb/s
Power requirements
The following table provides the power requirements for the device.
SpecificationValue
Supply voltage3.3 to 4.3 V
1
SpecificationValue
Normal supply voltage range3.0 to 5.5 VDC (3.8 to 5 V for 2G fallback mode)
Extended supply voltage range
Power consumption
The peak current was measured from multiple tested units.
See DO (Device Options) for more information on enabling and using the 2G fallback feature.
2
See the 2G fallback power consumption table for further details.
2
2.7 to 5.5 VDC (3.6 to 5.5 VDC for 2G fallback mode)
Active transmit, 24 dBm @ 3.3 V702 mA
Average current (3G
mode)
Digi XBee Cellular 3G Global Embedded Modem User Guide
79
Technical specificationsElectrical specifications
Average current (3G
SpecificationState
Rx + ACK currentActive receive @ 5 V160 mA
Idle currentIdle/connected, listening @ 3.3 V87 mA
Idle currentIdle/connected, listening @ 5 V72 mA
mode)
Sleep currentNotconnected,Deep
Electrical specifications
The following table provides the electrical specifications for the XBee Cellular Modem.
Symbol Parameter Condition MinTypicalMaxUnits
VCC_IO Internal
supply
voltage for
I/O
VCC_IO Internal
supply
voltage for
I/O
VIInput
voltage
range on
any I/O pin
While in
deep
sleep and
during
initial
power up
In normal
running
mode
10 µA
Sleep@3.3V
VCC - 0.3 V or 3.3 V, whichever is
lower
3.3 VV
-0.3VCC_
3.3V
IO+0.3
V
VILInput low
voltage
VIHInput high
voltage
VOLVoltage
output low
VOHVoltage
output
high
I_INInput
leakage
current on
I/O pins
Digi XBee Cellular 3G Global Embedded Modem User Guide
Sinking 1
mA, VCC_
IO = 3.3 V
Sourcing 1
mA, VCC_
IO = 3.3 V
High Z
state; I/O
connected
to Ground
or VCC_IO
0.7*VCC_IOV
0.3*VCC_IOV
0.05*VCC_
IO
0.9*VCC_
IO
0.1100nA
V
V
80
Technical specificationsRegulatory approvals
Symbol Parameter Condition MinTypicalMaxUnits
RPUInternal
pull-up
resistor
RPDInternal
pull-down
resistor
Enabled40kΩ
Enabled40kΩ
Regulatory approvals
The following table provides the regulatory and carrier approvals for the device.
SpecificationValue
United StatesContains FCC ID: XPY1CGM5NNN
Innovation, Science and Economic Development Canada
(ISED)
Europe (CE)Yes
Australia ACMAYes, RCM
New Zealand RSMYes, R-NZ
RoHSLead-free and RoHS compliant
Contains IC: 8595A-1CGM5NNN
PTCRB certificationNo
AT&T end device certifiedYes
Digi XBee Cellular 3G Global Embedded Modem User Guide
81
Hardware
Mechanical drawings83
Pin signals83
XBee header connector requirements85
RSSI PWM85
SIM card85
Associate LED functionality85
Development boards87
Digi XBee Cellular 3G Global Embedded Modem User Guide
82
HardwareMechanical drawings
Mechanical drawings
The following figures show the mechanical drawings for the XBee Cellular Modem. All dimensions are
in inches.
For XBee header information, see XBee header connector requirements.
Pin signals
The pin locations are:
The following table shows the pin assignments for the through-hole device. In the table, low-asserted
signals have a horizontal line above signal name.
Digi XBee Cellular 3G Global Embedded Modem User Guide
83
HardwarePin signals
PinNameDirectionDefaultDescription
PinNameDirectionDefaultDescription
V
1
2DOUTOutputOutputUART Data Out
3
4DIO12 / SPI_MISOEitherDisabledDigital I/O 12 or SPI Slave
5RESETInput
6PWM0 / RSSI / DIO10EitherOutputPWM Output 0 / RX Signal
7DIO11EitherDisabledDigital I/O 11
8[reserved]Do not connect
9
CC
DIN / CONFIG
DTR / SLEEP_RQ/ DIO8
InputInputUART Data In
EitherDisabledPin Sleep Control Line or
Power supply
Output line
Strength Indicator / Digital
I/O 10
Digital I/O 8
10GNDGround
11DIO4 / SPI_MOSIEitherDisabledDigital I/O 4 or SPI Slave
Input Line
CTS / DIO7
12
ON /SLEEP/DIO9
13
14VREF-Feature not supported on
15Associate / DIO5EitherOutputAssociated Indicator, Digital
RTS / DIO6
16
AD3/DIO3/SPI_SS
17
18AD2 / DIO2 / SPI_CLKEitherDisabledAnalog Input 2 or Digital I/O
EitherOutputOutput Clear-to-Send Flow
Control or Digital I/O 7
OutputOutputModule Status Indicator or
Digital I/O 9
this device. Used on other
XBee devices for analog
voltage reference.
I/O 5
EitherDisabledInput Request-to-Send Flow
Control, Digital I/O 6
EitherDisabledAnalog Input 3 or Digital I/O
3, SPI low enabled select
line
2, SPI Clock line
AD1/DIO1/ SPI_ATTN
19
20AD0/DIO0EitherInputAnalog Input 0, Digital I/O 0
Digi XBee Cellular 3G Global Embedded Modem User Guide
EitherDisabled
Analog Input 1 or Digital I/O
1, SPI Attention line output
84
HardwareXBee header connector requirements
Pin connection recommendations
The recommended minimum pin connections are VCC, GND, DIN, DOUT, RTS, DTR and RESET.
Firmware updates require access to these pins.
XBee header connector requirements
The XBee header connectors require the following attributes:
n female
n 2 mm pitch
n 10 positions
n single row
RSSI PWM
The XBee Cellular Modem features an RSSI/PWM pin (pin 6) that, if enabled, adjusts the PWM output to
indicate the signal strength of the cellular connection. Use P0 (DIO10/PWM0 Configuration) to enable
the RSSI pulse width modulation (PWM) output on the pin. If P0 is set to 1, the RSSI/PWM pin outputs a
PWM signal where the frequency is adjusted based on the received signal strength of the cellular
connection.
The RSSI/PWM output is enabled continuously unlike other XBee products where the output is enabled
for a short period of time after each received transmission. If running on the XBIB development board,
DIO10 is connected to the RSSI LEDs, which may be interpreted as follows:
Number of LEDs turned
PWM duty cycle
79.39% or more3-83 dBm or higher
62.42% to
79.39%
45.45% to
62.42%
Less than
45.45%
onReceived signal strength (dBm)
2-93 to -83 dBm
1-103 to -93 dBm
0
SIM card
The XBee Cellular Modem uses a 4FF (Nano) size SIM card.
CAUTION! Never insert or remove SIM card while the power is on!
Associate LED functionality
The following table describes the Associate LED functionality. For the location of the Associate LED on
the XBIB-U development board, see number 6 on the XBIB-U-DEV reference.
Less than -103 dBm, or no cellular network
connection
Digi XBee Cellular 3G Global Embedded Modem User Guide
85
HardwareAssociate LED functionality
Blink
LED status
On, solidNot joined to a mobile network.
timingMeaning
Double blink
Standardsingleblink 1secondNormal operation.
The normal association LED signal alternates evenly between high and low as shown below:
Where the low signal means LED off and the high signal means LED on.
When CI is not 0 or 0xFF, the Associate LED has a different blink pattern that looks like this:
½second
The last TCP/UDP/SMS attempt failed. If the LED has this pattern,
you may need to check DI (Remote Manager Indicator) or CI
(Protocol/Connection Indication) for the cause of the error.
Note This pattern applies only to the Transparent mode. Other
transmission modes do not affect the Associate LED blink
pattern.
Digi XBee Cellular 3G Global Embedded Modem User Guide
86
HardwareDevelopment boards
Development boards
XBIB-U-DEV reference
This picture shows the XBee USB XBIB-U-DEV development board and the table that follows explains
the call-outs in the picture.
Digi XBee Cellular 3G Global Embedded Modem User Guide
87
HardwareDevelopment boards
Number ItemDescription
1Programmingheader Header used to program XBee programmable devices.
2Self power module
Advanced users only—voids the warranty. Depopulate R31 to
power the device using V+ and GND from J2 and J5. You can
connect sense lines to S+ and S- for sensing power supplies.
CAUTION: Voltage is not regulated. Applying the incorrect
voltage can cause fire and serious injury.
1
3Current testingDepopulating R31 allows a current probe to be inserted across P6
terminals. The current though P6/R31 powers the device only.
Other supporting circuitry is powered by a different trace.
4Loopback jumperPopulating P8 with a loopback jumper causes serial transmissions
both from the device and from the USB to loopback.
5DC barrel plug: 6-20V Greater than 500 mA loads require a DC supply for correct
operation. Plug in the external power supply prior to the USB
connector to ensure that proper USB communications are not
interrupted.
6LED indicator
Yellow: Modem sending serial/UART data to host.
Green: Modem receiving serial/UART data from host.
Red: Associate.
7USBConnects to your computer.
8RSSI indicator
See RSSI PWM. On the XBIB-U, more lights are better.
9User buttonsConnected to DIO lines for user implementation.
10Reset buttonPress the reset button to reset the device to the default
configuration.
11SPI powerConnect to the power board from 3.3 V.
12SPIOnly used for surface-mount devices.
13Indicator LEDs
DS5: ON/SLEEP
DS2: DIO12, the LED illuminates when driven low.
DS3: DIO11, the LED illuminates when driven low.
DS4: DIO4, the LED illuminates when driven low.
14Through-hole XBee
sockets
1520-pin headerMaps to standard through-hole XBee pins. Male, Samtec header,
part number: TSW-110-26-L-D. 2.54 mm / .100" pitch and row
spacing.
1
Powering the board with J2 and J5 without R31 removed can cause shorts if the USB or barrel plug power are
connected. Applying too high a voltage destroys electronic circuitry in the device and other board components
and/or can cause injury.
Digi XBee Cellular 3G Global Embedded Modem User Guide
88
HardwareDevelopment boards
XBIB-CU-TH reference
This picture shows the XBee-CU-TH development board and the table that follows explains the
callouts in the picture.
Note This module is sold separately.
Digi XBee Cellular 3G Global Embedded Modem User Guide
89
HardwareDevelopment boards
Number ItemDescription
1Secondary USB
(USB MICRO B)
and DIP Switch
2Current
Measure
3Battery
Connector
Secondary USB Connector for direct programming of modules on some
XBee units. Flip the Dip switches to the right for I2C access to the
board; flip Dip switches to the left to disable I2C access to the board.
The USB_P and USB_N lines are always connected to the XBee,
regardless of Dip switch setting. USB communications will fail if
switches are not in the left position or if XBEE is not configured to
enable USB communications.
This USB port is not designed to power the module or the board. A USBC cable or battery port is required to power the board. Cable can be
connected at any time, with the XBe powered or unpowered.
WARNING! USB micro port should not be connected when
used with XBees that do not support USB communications.
Large switch controls whether current measure mode is active or
inactive. When inactive, current can freely flow to the VCC pin of the
XBee. When active, the VCC pin of the XBee is disconnected from the 3.3
V line on the development board. This allows current measurement to
be conducted by attaching a current meter across the jumper P10.
If desired, a battery can be attached to provide power to the
development board. The voltage can range from 2 V to 5 V. The positive
terminal is on the left.
If the USB-C connector is connected to a computer, the power will be
provided through the USB-C connector and not the battery connector.
WARNING! Battery current discharge rating must be enough
to support 5 W or more.
WARNING! There is no circuit to prevent over discharge of
battery. Battery must contain its own protection circuitry.
WARNING! Move UART switches to the OFF position when
using battery or external power or for when the XBee and
the USB-C connector is not powering the UART.
Note Power supply outputs 3.3 V to XBee regardless of input voltage as
long as current requirement can be met to achieve power consumption
of devices.
Digi XBee Cellular 3G Global Embedded Modem User Guide
90
HardwareDevelopment boards
Number ItemDescription
4USB-C
Connector
5LED indicatorRed: UART DOUT (modem sending serial/UART data to host)
6User ButtonsComm DIO0 Button connects the Commissioning/DIO0 pin to GND when
7Breakout
Connector
8UART Dip
Switch
9Grove
Connector
Provides power and UART communications for the XBEE and
development board.
Note Requires USB 3.0 to supply 1 amp of required current. USB 2.0
ports that cannot supply at least 1 amp cannot be used.
Green: UART DIN (modem receiving serial/UART data from host)
White: ON/SLP/DIO9
Blue: Connection Status/DIO5
Yellow: RSSI/PWM0/DIO10
pressed.
RESET button resets the XBee module when pressed.
This 40 pin connects to various XBee pins as shown on the silkscreen on
the bottom of the board.
Push Dip switches to the right (OFF position) to disconnect USB-toUART conversion chip from the XBee. This allows UART lines to be
individually selected to connect through the breakout connector or the
USB-C interface.
This connector attaches I2C-enabled devices to the development board.
Note that I2C needs to be available on the XBee in the board for this
functionality to be used.
Move both USB direct connect switches to the right (closed position)
and disconnect the USB micro port for correct operation of the I2C to
connector.
Pin 1: I2C_CLK/XBee DIO1
Pin2: I2C_SDA/XBee DIO11
Pin3: VCC
Pin4: GND
10Temp/Humidity
Sensor
11XBee SocketThis is the socket for the XBee (TH form factor).
12XBee Test
Point Pins
Digi XBee Cellular 3G Global Embedded Modem User Guide
This part is a Texas Instruments HDC1080 temperature and humidity
sensor connected through I2C on XBee pins DIO1 and DIO11. Move both
USB direct connect switches to the right (closed position) and
disconnect the USB micro port for correct operation of the I2C sensor.
Allows easy access to pins 1 to 20 of the XBee.
91
HardwareDevelopment boards
XBIB-C-GPS reference
This picture shows the XBIB-C-GPS module and the table that follows explains the callouts in the
picture.
Note This GPS module is sold separately and requires an XBIB-CU-TH development board.
Note You run a demo using MicroPython to parse UART to GPS communications. see Run the
MicroPython GPSdemo.
Digi XBee Cellular 3G Global Embedded Modem User Guide
92
HardwareDevelopment boards
Number ItemDescription
140-pin
header
2GPS
unit
This header is used to connect the XBIB-C-GPS board to a compatible XBIB
development board. Insert the XBIB-C-GPS module slowly with alternating
pressure on the upper and lower parts of the connector. Do not bend pins during
insertion or removal process.
Contains GPS module CAM-M8Q-0-10. Proper orientation is with the board laying
flat, with the GPS module having a clear view of the sky.
Interface with the XBIB-C-GPS module
The XBee Cellular Modem can interface with the XBIB-C-GPS board through the 40-pin header. This
header is designed to fit into XBIB-C development board. This allows the XBee Cellular Modem in the
XBIB-C board to communicate with the XBIB-C-GPS board—provided the XBee device has MicroPython
capabilities (see this link to determine which devices have MicroPython capabilities). There are two
ways to interface with the XBIB-C-GPS board: through the host board’s Secondary UART or through
the I2C compliant lines.
The following picture shows a typical setup:
Digi XBee Cellular 3G Global Embedded Modem User Guide
93
HardwareDevelopment boards
I2C communication
There are two I2C lines connected to the host board through the 40-pin header, SCL and SDA. I2C
communication is performed over an I2C-compliant Display Data Channel. The XBIB-C-GPS module
operates in slave mode. The maximum frequency of the SCL line is 400 kHz. To access data through
the I2C lines, the data must be queried by the connected XBee Cellular Modem.
For more information about I2C Operation see the I2C section of the Digi Micro Python Programming
Guide.
For more information on the operation of the XBIB-C-GPS board see the CAM-M8 datasheet. Other
CAM-M8 documentation is located here.
UART communication
UART (RX and TX) are pins connected from the XBIB-C-GPS to the host board by the 40-pin header. By
default, the UART on the XBIB-C-GPS board is active and sends GPS readings once every second. The
baud rate of the UART is 9600 baud.
For more information about using Micro Python to communicate to the XBIB-C-GPS module, see Class
UART.
Run the MicroPython GPSdemo
The Digi MicroPython github repository contains a GPS demo program that parses the GPS NMEA data
from the UART and prints them.
Note If you are unfamiliar with MicroPython on XBee, see Get started with MicroPython. For more
detailed information, refer to the Digi MicroPython Programming Guide.
Step 1: Clone or download the XBee MicroPython repository
1. Navigate to: https://github.com/digidotcom/xbee-micropython/
2. You must either clone or download a zip file of the repository. You can use either method.
n Clone: If you are familiar with Git, follow the standard Gitprocess to clone the
repository.
n Download
a. Click Download zip to download a zip file of the repository to the download folder
of your choosing.
b. Extract the repository to a location of your choosing on your hard drive.
Step 2: Edit the MicroPython file
1. Navigate to the location that you created in Step 1.
2. Navigate to: samples/gps_uart
3. Open the MicroPython file: main.py
Step 3: Run the program
1. Copy the file onto your device's root filesystem directory.
2. Open XCTU and use the MicroPython Terminal to run the demo.
3. Type <CTRL>-R from the MicroPython prompt to run the code.
Digi XBee Cellular 3G Global Embedded Modem User Guide
94
Antenna recommendations
Antenna placement
For optimal cellular reception, keep the antenna as far away from metal objects and other electronics
(including the XBee Cellular Modem) as possible. Often, small antennas are desirable, but come at the
cost of reduced range and efficiency.
Digi XBee Cellular 3G Global Embedded Modem User Guide
95
Design recommendations
Power supply considerations97
Add a capacitor to the RESET line97
Heat considerations97
Custom configuration: Create a new factory default98
Clean shutdown99
SIMcards100
Digi XBee Cellular 3G Global Embedded Modem User Guide
96
Design recommendationsPower supply considerations
Power supply considerations
When considering a power supply, use the following design practices.
1. Power supply ripple should be less than 75 mV peak to peak.
2. The power supply should be capable of providing a minimum of 1.5 A at 3.3 V (5 W). Keep in
mind that operating at a lower voltage requires higher current capability from the power
supply to achieve the 5 W requirement.
3. Place sufficient bulk capacitance on the XBee VCC pin to maintain voltage above the minimum
specification during inrush current. Inrush current for VCC = 3.3 V is about 2 A during initial
power up of cellular communications and wakeup from sleep mode. We recommend a
minimum of 220 µF of capacitance on the VCC pin.
4. Place a 10 nF ceramic capacitor very close to the XBee Cellular Modem VCC pin to decrease
high frequency noise.
5. Use a wide power supply trace or power plane to ensure it can handle the peak current
requirements with minimal voltage drop. We recommend that the power supply and trace be
designed such that the voltage at the XBee VCC pin does not vary by more than 0.1 V between
light load (~0.5 W) and heavy load (~3 W).
6. If you use DO (Device Options) to enable 2G fallback mode, the power supply must be capable
of supplying 11.5W and the minimum input voltage is 3.8V (for example 3.0A @ 3.8V). In
addition, we recommend 1000µF of bulk capacitance on the VCC pin. The supply should never
drop below 3.6 V during TX bursts.
Add a capacitor to the RESET line
In high EMI noise environments, we recommend adding a 10 nF ceramic capacitor very close to pin 5.
Heat considerations
Depending on the use case, your application may require a heat sink. Use a non-conductive thermal
gasket to make contact to the heat sink. The gasket should be thick enough to ensure that contact
with the tallest component does not cause damage when pressure is applied to a secure heat sink.
Digi XBee Cellular 3G Global Embedded Modem User Guide
97
Design recommendationsCustom configuration: Create a new factory default
We recommend connecting the heat sink to the bottom side of the XBee Cellular Modem (SIM card
side). Alternatively, you can attach the heat sink to the top side of the unit (U.FL side), but cooling is
less effective on this side.
We do not recommend operating at hot temperatures without verifying that the device will not
overheat in the operating circumstances.
The operation temperature of the unit can be approximated for different current draws and extreme
cases by the equation below. For best results, attach a temperature probe on the bottom of the XBee
Cellular Modem, about 5 mm higher than the SIM card slot. Alternatively use TP (Temperature) to
query the current temperature of the device's processor.
Where
1. XBeeBoardTemp is the temperature of the XBee Cellular Modem at steady state.
a. Use the TPcommand to help estimate the temperature when attaching a temperature
probe is not practical, but for reliable results, you must use a temperature probe.
2. RoomTemp is the temperature of the ambient air.
3. AverageCurrentDuringTest is the average current measured during test.
4. ScenarioMaxCurrent is the maximum current expected for the device.
The results may vary by implementation and scenario. You should always perform sufficient testing to
ensure that the XBee Cellular Modem does not exceed temperature specifications.
Add a fan to provide active cooling
The XBee Cellular Modem can become hot if you use it in the maximum upload or download scenarios,
see Heat considerations. One method of heat mitigation is to attach a fan to the device to provide
active cooling.
If you attach a fan, use P1 (DIO11/PWM1 Configuration) to enable this functionality on pin 7. Set P1 to
1, which turns the fan on when the device gets above 70 °C and the cellular component is running, and
off below 65 °C.
Custom configuration: Create a new factory default
You can create a custom configuration that is used as a new factory default. This feature is useful if
you need, for example, to maintain certain settings for manufacturing or want to ensure a feature is
always enabled. When you perform a factory reset on the device using the RE command, the custom
configuration is set on the device rather than the original factory default settings.
For example, by default the baud rate is set to 9600. You can create a custom configuration where the
baud rate is set to 115200 by default. When you use the RE command to reset the device to the
factory defaults, the baud rate is set to the custom configuration (115200) rather than the original
factory default (9600).
The custom configuration is stored in non-volatile memory. You can continue to create and save
custom configurations until the device's memory runs out of space. If there is no space left to save a
configuration, XBee returns an error.
You can use the !C command to clear or overwrite a custom configuration at any time.
Digi XBee Cellular 3G Global Embedded Modem User Guide
98
Design recommendationsClean shutdown
Set a custom configuration
1. Open XCTU on the device.
2. Enter Command mode.
3. Perform the following process for each configuration that you want to set as a factory default.
a. Issue an AT%F command. This command enables you to enter a custom configuration.
b. Issue the custom configuration command. For example: ATBD 7. This command sets the
default for the baud rate to 115200.
Clear all custom configurations on a device
After you have set configurations using the AT%F command, you can return all configurations to the
original factory defaults.
1. Open XCTU on the device.
2. Enter Command mode.
3. Issue AT!C.
Clean shutdown
WARNING! Improper shutdown of the modem may result in the underlying cellular module
becoming irrecoverably unresponsive.
Digi strongly recommends performing a clean shutdown procedure on your XBee cellular devices
before removing power from the devices. Performing a shutdown allows the module to unregister
from the cellular network and safely store operating parameters. Failure to shutdown properly has
the potential to result in delays resuming network operation and in some rare instances may result in
an unrecoverable module failure.
You can use any of the following methods to perform a clean shutdown.
SD (Shutdown) command
You should use the SD command to safely shut down a device before removing power. This is the
recommended method.
Issue the SDcommand. When the shut down process is complete, the device returns OK. After the
device responds OK, you can safely remove power from the device.
The device will return ERROR if any of the following actions are in progress:
n Over-the-air update of the cellular component
n Local update of the cellular component
n Over-the-air update of the XBee firmware.
In addition, if the radio can't be fully shut down within two minutes, the device returns ERROR.
You can verify the state of the device using the AIcommand. After you issue the SD command and a
response has been returned (either OKor ERROR), issue the AIcommand. If the shutdown was
successful, 2D is returned.
Digi XBee Cellular 3G Global Embedded Modem User Guide
99
Design recommendationsSIMcards
Sleep feature
The recommended approach is to use one of the available sleep configurations such as the Pin Sleep
feature (SM=1) or sleeping through MicroPython (xbee.sleep_now()). When the module has gone to
sleep and the SLEEP pin (pin 13) is low, power may safely be removed.
1. Initiate sleep: Assert SLEEP_RQ
2. Wait for sleep state to be entered: SLEEP pin (pin 13) low.
3. Power off the device.
Airplane mode
Change the XBee configuration to use Airplane mode (AM=1). This puts the XBee into a safe state for
shutdown.
1. Set AM=1.
2. Apply configuration change.
3. Wait 30 seconds to allow time for shutdown to occur.
4. Power off the device.
SIMcards
n For best performance, use a SIM card with gold-plated contacts.
n Because vibrations in your application environment may cause unexpected SIM card failures
due to fretting between the SIM card and the card holder, Digi strongly recommends that you
apply a thin layer of dielectric grease to the SIM contacts prior to installing the SIM cards.
Digi XBee Cellular 3G Global Embedded Modem User Guide
100
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.