NB-IoT Data Transmission Using BC95-G Shields [Episode 1] - UDP Test & Network Status Signaling
What is NB-IoT technology?
The NB-IoT technology reaches the long range, has a better indoor coverage (164dB link budget), low power and high density. Below are some features:
• NB-IoT supports 180 kHz bandwidth for both uplink and downlink.
• DSSS modulation.
• Link budget enhancement of 20dB, would typically be equivalent to the signal penetrating a wall or floor, enabling deeper indoor coverage.
• Ability to utilize Guard band saving precious LTE bandwidth.
• SC-FDMA technology in uplink: two options
• Achieve a minimum of 10 years of battery operation for simple daily connectivity with a small amount of daily data exchanged.
o PSM (Power Saving Mode) and eDRX (Enhanced Discontinuous Reception) are the key technologies to extend the battery life in NB-IoT module.
o Simplified protocols, low power consumption
o High PA efficiency
o Short Tx/Rx time
• OFDMA technology in downlink, 15 kHz sub-carrier spacing.
• OTDOA positioning replacing GNSS with no additional cost (Rel-14)
MNOs (mobile network operators) are planning to gradually shutdown the 2G and 3G support and to migrate to newer communication technologies such as 5G. Backward compatibility will ensure LTE/4G technologies, including LTE Low Power (NB-IoT and LTE CAT M1), be supported by 5G networks, hence life span of NB-IoT and LTE CAT M1 can be even 20-25years. It’s right time to develop NB-IoT based devices and push them into market due to the fact that LPWA network coverage expands rapidly.
Testing NB-IoT DataTransmission
This NB-IoT test is demonstrated using the xyz-mIoT shield equipped with Quectel BC95-G module, PN: XYZMIOT209#BC95-UFL-xxxxxxx, and will consist in 4 steps (around 15-20 minutes).
Driven by the power and versatility of the embedded ARM0 (ATSAMD21G) core and equipped with various interfaces [I2C, SPI, UART, 13 digital I/O – 1WIRE and PWM capable, 5 analog inputs and more], “xyz-mIoT by itbrainpower.net” provides multiple interfaces in order to support wide range of devices, sensors and actuators.
The xyz-mIoT shield may have up to 5 built-in sensors such as: THS (temperature and humidity sensors) - HDC2010, tVOC & eCO2 (air quality sensor - CO2 total volatile organic compounds - CO2 equivalent) - CCS811, HALL (magnetic sensor) - DRV5032 or IR (infrared sensor) KP-2012P3C, secondary IR (infrared sensor) - KP-2012P3C, TILT (movement vibration sensor) or REED (magnetic sensor) - SW200D. Sensors collection that populates the xyz-mIoT board can be ordered using different Part Numbers.
The xyz-mIoT shieldis designed and manufactured in EU by itbrainpower.net team.
In order to perform the NB IoT data transmission test, the following items are required:
NB-IoT BC95-G Test Step 1: Hardware Preparation
a. Solder over the SJP6 pads, hence the xyz-mIoT shield will be powered from USB 5V.
b. Solder the electrolytic capacitor on Vbat and GND super-capacitor pads (see above image).
NB IoT BC95-G Test Step 2: Put Hardware Together
i. Insert the NB-IoT nano-SIM in the xyz-mIoT SIM slot. Usually, data SIMs came without PIN code checking. Otherwise, disable the PIN code check option (please refer to https://itbrainpower.net/FAQ/).
ii. Connect the GSM antenna with the xyz-mIoT shield.
iii. Using one USB type mini B cable, wire the xyz-mIoT developing board to your computer.
NB IoT BC95-G Test Step 3: Download and Install Software &Preliminary Settings
Compiling and software upload will be performed in Arduino.cc (v> 1.8.5 ).
a. Download and install "xyz-mIoT shields Arduino class" available, for registered users, from here: https://itbrainpower.net/downloads.php#xyz-mIoT. Installing guidelines are specified on download page.
b. Download and install "NB-IoT [UDP mode] support for xyz-mIoT/u-GSM shields" available at same web address.
c. Install "udp_echo.py" listener (demo UDP service that simple returns the received datagram) available in " NB-IoT [UDP mode] support for xyz-mIoT/u-GSM shields" package or, online at: https://itbrainpower.net/downloadables/udp_echo.py. Write down IP address and UDP PORT listener parameters.
d. Update some parameters in h files inside "itbpNB-IoTClass":
- in "itbpGPRSIPdefinition.h", update the NETWORKID (numeric network id code) for your NB-IoT provider, e.g., :"22601" for Vodafone Romania, "20610" for Orange Belgium.
- in same file, update the SERVER_ADDRESS and SERVER_PORT with values from step c (echo listener, up-here).
- in same file, update the LTE_BAND with LTE band used by your NB-IoT provider,e.g., 20 – Vodafone Romania use LTE B20 band.
- in "itbpGSMdefinition.h" set xyzmIoT as value for_itbpModem_parameter(lines 60-61).
- in same file, lines 64-65, chose BC95-G as value for_Qmodule.
NB-IoT BC95-G Test Step 4: Compile and Upload the Software. Run the test
a. Open “xyz_mIoT_NBIoT_Class_example_UDP_echo.ino” project in Arduino.cc (version >=1.8.5) from Arduino "File/Examples/itbpNBIoTClass" menu.
b. Select xyz-mIoT board and programming port in Arduino (see above image). In order to activate programming mode press twice (fast) the xyz-mIoT shield RESET switch.
c. Compile and upload the software.
Use Arduino console, or other serial console, to receive the debug messages. Set serial parameters to 57600bps, 8N, 1.
After the demo project is uploaded, the xyz-mIoT shield, will perform the data exchange process at each 10 minutes.
Network connecting steps, send datagram, the received one and switch between NB-IoT transmission stages [ENTER ACTIVE MODE, ENTER IDLE MODE/LEAVE ACTIVE MODE and ENTER PSM MODE] will be shown into debug console. Same, the xyz-mIoT shield LEDs will indicate as ACTIVE, IDLE and PSM modes.
Same project can be performed using u-GSM shield equipped with Quectel BC95-G module in conjunction with your favorite Arduino shield.
More details and info about NB-IoT test, including guidelines for u-GSM shield usage can be found here: https://itbrainpower.net/a-gsm/BC95G-NBIoT-data-transmission-how-to
R&D Software Solutions - Romanian embedded hardware and software solution provider - implements their original and innovative concepts and ideas into smart IoT platforms and solutions. Our Low Power LTE/LTE/3G/GSM modems design allows engineers to implement IoT solutions by facile integration with SBCs (single-board computers as Raspberry PI, BeagleBone Black, other..), Arduino shields and other micro-controllers. Deeply involved in innovation, R&D Software Solutions received in 2006 as acknowledgement for its innovative ideas, the ”GST SSC Bronze Award” between competitors like: IBM, Computer Associates, 17 European Universities and a batch of SME.