Libelium NB-IoT Manuale utente

NB-IoT / Cat-M Module
Networking Guide

-2-
v7.0
Index
Document version: v7.0 - 02/2019
© Libelium Comunicaciones Distribuidas S.L.
INDEX
1. Introduction .......................................................................................................................... 4
1.1. NB-IoT vs Cat-M................................................................................................................................. 5
2. Hardware ...............................................................................................................................6
2.1. Specications..................................................................................................................................... 6
2.2. How to connect the module ............................................................................................................ 8
2.3. Antennas ............................................................................................................................................ 9
3. Software...............................................................................................................................10
3.1. Waspmote library............................................................................................................................ 10
3.1.1. Waspmote NB-IoT / Cat-M library .....................................................................................10
3.1.2. Class constructor.................................................................................................................10
3.1.3. API functions........................................................................................................................10
3.2. Switching on .................................................................................................................................... 11
3.3. Switching o .................................................................................................................................... 11
3.4. SIM card............................................................................................................................................ 12
3.4.1. Entering PIN .........................................................................................................................12
3.4.2. Getting module information..............................................................................................12
3.5. Setting operator parameters......................................................................................................... 14
3.6. Checking network connection status ........................................................................................... 15
3.7. Basic network connection to NB-IoT ............................................................................................ 16
3.8. Basic network connection to Cat-M.............................................................................................. 16
3.9. Basic network connection to EGPRS............................................................................................. 16
3.10. HTTP client..................................................................................................................................... 17
3.10.1. HTTP connections .............................................................................................................17
3.10.2. HTTP request methods.....................................................................................................19
3.10.3. Sending Waspmote frames to Meshlium via HTTP.......................................................20
3.10.4. Sending Waspmote frames to Meshlium via HTTPS.....................................................22
3.11. Making TCP/UDP connections..................................................................................................... 23
3.11.1. Socket identiers..............................................................................................................23
3.11.2. Socket status structure.....................................................................................................23
3.11.3. Creating a TCP/UDP client socket....................................................................................24
3.11.4. Sending data......................................................................................................................26
3.11.5. Receiving data ...................................................................................................................27
3.11.6. Closing a socket.................................................................................................................28
3.11.7. SSL sockets.........................................................................................................................28
3.12. GNSS – Getting position ............................................................................................................... 31
3.13. Sleep mode.................................................................................................................................... 32
3.14. eDRX setup .................................................................................................................................... 33

-3-
v7.0
3.15. Scanning network operators ....................................................................................................... 33
3.16. Sending AT commands................................................................................................................. 33
4. Consumption .......................................................................................................................34
4.1. Consumption table ......................................................................................................................... 34
5. Code examples and extended information .....................................................................35
6. API changelog ...................................................................................................................... 36
7. Certications .......................................................................................................................37
Index

-4-
v7.0
Introduction
1. Introduction
Due to the popularity of Low Power Wide Area Networks (LPWAN) such as LoRaWAN or Sigfox in the IoT industry,
the traditional cellular networks like 4G has been ousted as the best choice, specially when low cost, low power
consumption and long range are key characteristics. As a response to this market demand, the 3GPP association
published 2 cellular narrow band IoT standards in the release 13: NB-IoT (“narrow band for the Internet of Things”)
and Cat-M (“category machine”). They are also known as LTE Cat-NB1 and LTE Cat-M1. Libelium has integrated the
BG96 chipset by Quectel to meet this requirement.
This module has been included in the Waspmote ecosystem as an OEM development kit, where the NB-IoT and
the Cat-M connectivities can be easily tested in pilot projects or proof of concepts applications.
The NB-IoT / Cat-M module also includes EGPRS connectivity, allowing to transmit information even if there is no
coverage for NB-IoT or Cat-M and also maintaining ultra-low power consumption. Besides, the most common
Internet protocols like HTTP(S), FTP(S), SSL, TCP or UDP are supported.
Moreover, the module integrates a GNSS engine supporting GPS, BeiDou, Galileo, GLONASS and QZSS systems,
making it suitable for tracking applications where low cost and accurate positioning is needed.
Designed to be plugged on the socket1 of Waspmote, the module can meet almost all requirements for IoT
applications like smart cities, remote monitoring, smart logistics, real-time tracking, etc. Additionally, the NB-IoT /
Cat-M module has a unique global version, allowing the usage all over the world with no fragmentation.
Like other radio modules, Libelium provides a dedicated library for Waspmote and some example codes, which
speed up the testing for the NB-IoT or the Cat-M connectivity with just a few high-level functions, and without
dealing with large amounts of AT commands. Thus, the development of pilot projects and proof of concepts
becomes easy.
Note: It is important to remark that the NB-IoT or Cat-M connectivities require a dedicated SIM card (not included by
default). With a standard SIM card, only the EGPRS connectivity can be tested. Besides, the network coverage is only
present in certain zones and strongly depends on the selected mobile network operator. It is recommended to check
operators coverage in the location where the module will be used.

-5-
v7.0
Introduction
1.1. NB-IoT vs Cat-M
Despite both connectivities are available on the NB-IoT / Cat-M module, there are a few dierences to be mentioned.
While Cat-M allows one of the highest bandwidth of the LPWAN technologies, NB-IoT is focused only for low data
rate applications, being a great choice for single sensor applications. Also, Cat-M can support voice applications,
while NB-IoT does not.
An advantage of Cat-M is that is compatible with the existing LTE network and that avoids operators to spend money
building new antennas because just a software update is needed. On the other hand, NB-IoT is not compatible
with the LTE network and it would require higher costs for operators to deploy a NB-IoT network. Despite of this
fact, there are a lot of operators that are actively researching and making eorts to commercialize NB-IoT.
On the other hand, NB-IoT has a great advantage against Cat-M on indoor coverage due to its bigger sensitivity,
reaching very good levels even inside basements and large buildings.
Recently, the 3GPP association has published the release 14, where the standards LTE Cat NB2 and LTE Cat M2 has
been dened. However, the market will have to wait till they are available for commercialize.
Important:
•All documents and any examples they contain are provided as-is and are subject to change without notice.
Except to the extent prohibited by law, Libelium makes no express or implied representation or warranty of
any kind with regard to the documents, and specically disclaims the implied warranties and conditions of
merchantability and tness for a particular purpose.
•The information on Libelium’s websites has been included in good faith for general informational purposes
only. It should not be relied upon for any specic purpose and no representation or warranty is given as to its
accuracy or completeness.

-6-
v7.0
Hardware
2. Hardware
2.1. Specications
The NB-IoT / Cat-M module is based on the Quectel’s BG96 chipset. The module is managed by UART and it must
be connected to socket 1 (direct connection, without Waspmote Expansion Board).
Model: BG96 (Quectel)
Frequency bands:
•Cat NB1 / Cat M1: LTE FDD: B1/B2/B3/B4/B5/B8/B12/B13/B18/ B19/B20/B25**/B26*/B28
•LTE TDD: B39 (for Cat-M1 only)
•EGPRS: 850/900/1800/1900 MHz
Data:
•Cat-NB1: Max. 32 kbps (DL), Max. 70 kbps (UL)
•Cat-M1: Max. 375 kbps (DL), Max. 375 kbps (UL)
•EDGE: Max. 296 kbps (DL), Max. 236.8 kbps (UL)
•GPRS: Max. 107 kbps (DL), Max. 85.6 kbps (UL)
SMS:
•Point-to-point MO and MT
•SMS Cell Broadcast
•Text and PDU Mode
GNNS:
Embedded GNSS as optional. Supports GPS, GLONASS, BeiDou/Compass, Galileo and QZSS.
Antenna connectors:
•U.FL for main antenna (cellular)
•U.FL for GNSS antenna
External antenna: 5 dBi
Sensitivity:
•-113 dBm @Cat NB1, CE Level 0
•-107 dBm @Cat M1, 1.4 MHz Bandwidth, CE Mode A
SIM size: Nano-SIM (4FF standard) (not included)
Protocols:
PPP/TCP/UDP/SSL/TLS/FTP(S)/HTTP(S)/NITZ/ PING/MQTT
Actions:
•Sending/receiving SMS
•TCP/IP and UDP/IP clients
•HTTP and HTTPS service (fully secured comms)

-7-
v7.0
Hardware
Certications:
•GCF/Vodafone (Global)
•CE/Deutsche Telekom (Europe)
•FCC/PTCRB/AT&T/Verizon/T-Mobile*/Sprint* (North America)
•RCM/Telstra (Australia)
•IC/Telus/Bell* (Canada)
•Telefónica (Spain)
•JATE/TELEC/KDDI/SoftBank/DOCOMO* (Japan)
•KC/SKT/LGU+* (Korea)
•IFETEL (Mexico)
•IMDA (Singapore)
•NCC (Taiwan)
•CCC (China)
* Under Development
**LTE B25 will be supported on BG96 with R1.2 hardware version.
Figure: NB-IoT / Cat-M module

-8-
v7.0
Hardware
2.2. How to connect the module
This module must be connected directly to the SOCKET1 on the Waspmote board. This radio does not need the
Expansion Radio Board.
Figure: Module connected to Waspmote in SOCKET1
The SIM card size used in the NB-IoT / Cat-M module is nano-SIM. The next picture shows how the nano-SIM card
must be plugged in the module.
Figure: SIM card installation in OEM version

-9-
v7.0
Hardware
2.3. Antennas
The NB-IoT / Cat-M module comes with one cellular antenna for improving the signal reception. Besides, a GNSS
antenna is also included for the GNSS receiver.
Both antennas are the same model and can be used in any of the 2 antenna connectors. The module’s silkscreen
identies the connectors. The operating bands of the dipole antenna go from 698 to 960 MHz and from 1710 to
2690 MHz. The maximum gain of the antenna is observed at 2.6 GHz: 3.4 dBi.
To get the maximum performance, it is recommended to place the antennas like that:
•The main cellular antenna should be in vertical position, pointing to the sky, in order to radiate better to the
cellular base stations around.
•The GPS antenna should be in horizontal position, because the GPS satellite signal will come from above.
Figure: NB-IoT / Cat-M module antennas

-10-
v7.0
Software
3. Software
3.1. Waspmote library
3.1.1. Waspmote NB-IoT / Cat-M library
The les related to the NB-IoT / Cat-M module library are:
•/BG96/WaspBG96.h
•/BG96/WaspBG96.cpp
It is mandatory to include the NB-IoT / Cat-M library when using this module. So the following line must be added
at the beginning of the code:
#include <WaspBG96.h>
3.1.2. Class constructor
To start using the Waspmote NB-IoT / Cat-M library, an object from the WaspBG96 class must be created. This
object, called BG96, is already created by default inside the Waspmote NB-IoT / Cat-M library. It will be used along
this guide to show how Waspmote works.
When using the class constructor, all variables are initialized to their default values.
3.1.3. API functions
Through this guide there are lots of examples, showing the use of functions. In these examples, API functions are
called to execute the commands, storing in their related variables the parameter value in each case. The functions
are called using the predened object BG96.
All public functions return dierent possible values:
•0: OK
•Otherwise: ERROR. See corresponding function error code
Questo manuale è adatto per i seguenti modelli
1
Indice
Altri manuali Libelium Unità di controllo
Manuali Unità di controllo popolari di altre marche

Festo
Festo Compact Performance CP-FB6-E Manuale elenco delle parti

Elo TouchSystems
Elo TouchSystems DMS-SA19P-EXTME Manuale utente

JS Automation
JS Automation MPC3034A Manuale utente

JAUDT
JAUDT SW GII 6406 Series Guida rapida

Spektrum
Spektrum Air Module System Manuale utente

BOC Edwards
BOC Edwards Q Series Manuale utente

















