Skip to main content

NB IoT Scanner and Coverage Tool

Project description

NB-IoT Scanner Tool

This is a NB-IoT scanner tool made for finding problems and evaluating network coverage in smart meter rollouts.

Built by Palmlund Wahlgren Innovative Technology AB in Sweden. We offer it as a part of our free tooling for customers of our AMR solution, Utilitarian. https://www.utilitarian.io

But it can of course be used by anyone wanting to analyse coverage and finding problems in IoT solutions based on NB-IoT.

You will need a Ublox SARA N211 NB-IoT module connected via a serial interface, like USB.

Use Cases

Network Statistics

Use the nbiot stats command to get a table of the current network statistics. Run a couple of commands after the initial connect. The device can start en ECL 2 and move up after a while.

It is usually only necessary to look at the ECL (Extended Coverage Level) metric. ECL 0 is good, ECL 1 is worse and ECL 2 the worst. In the higher ECL the repetitions of the messages (radio level) are increased and it will take longer to send data and it will use more battery.

It is also easy to see if there is a problem with your device or with the network by using this tool to try and connect to the network in close proximity to the malfunctioning device. We try to and use a similar antenna type as the device we are investigating so that we get reasonable result. Checking for connection problems on a device with a built in PCB antenna using a large external antenna is not comparable.

But it can be good to check both because if you can get a connection using a larger antenna your MNO might be able to do some optimizations.

IoT Solution Networking and Firewall checks

It is useful to use the nbiot ping command to make sure your devices and SIM are set up correctly at the MNO with for example a VPN to your datacenter.

We are currently working on making the UDP send functionality available over the CLI. This can be used on conjunction with our simple UDP logger protolog to set up a listening server on the receiving end and make sure all firewall rules are applied correctly.

Installation

Requires python>=3.6

pip install nbiot

Usage

Use the --help to get the CLI documentation

>> nbiot --help
Usage: nbiot [OPTIONS] COMMAND [ARGS]...

  This is a NB-IoT Scanner software built by Palmlund Wahlgren Innovative
  Technology AB in Sweden for use in finding problems and evaluating network
  coverage in smart meter rollouts.

  You will need a Ublox NB-IoT module (SARA N211 for example) connected via
  a serial interface, like USB.

Options:
  -p, --port TEXT                 Register the serial port to use
  --roaming / --home-network      Indicate if the MNO is using home network or
                                  roaming status
  --mno TEXT                      ID of MNO (Mobile Network Operator) ex.
                                  Telia Sweden = 24001
  -l, --loglevel [DEBUG|INFO|WARNING]
                                  Choose loglevel
  --psm                           If Power Save Mode should be used.
  --apn TEXT                      choose apn
  --help                          Show this message and exit.

Commands:
  connect  Connect to the network and get general info on module and network
  ping     Ping an IP address
  reboot   Reboot the module
  stats    Print statistics from the module.

Using the --help on a command gives more information about a command. Ex:

>> nbiot ping --help
Usage: nbiot ping [OPTIONS] IP

  Ping an IP address

Options:
  -r, --runs INTEGER  How many times should we ping
  --help              Show this message and exit.

Hardware

You will need a Ublox SARA N211 NB-IoT module connected via a serial interface, like USB. Either you make your own board or you buy a development board for quick setup. We use this one with a passthrough program loaded on the Arduino: https://shop.sodaq.com/sodaq-sara-aff-n211.html

We have chosen to only support the SARA N211 because it gives the most statistics about the network of the Ublox modules we have tried out.

Notes

Home network vs roaming

Your SIM might be for home network or roaming. Make sure you know which you need to use. If it doesn't work and you can't connect try switching. Default is roaming.

0.0.1 (2020-07-07)

Initial version after updating the docs to be useful.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nbiot-0.0.1.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

nbiot-0.0.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file nbiot-0.0.1.tar.gz.

File metadata

  • Download URL: nbiot-0.0.1.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4

File hashes

Hashes for nbiot-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a06539f625321709e63cacfd605d1192b9ea7e21ec1d5e23b2c01a87de379245
MD5 d680c3b594b7b10719d0119aa59997bb
BLAKE2b-256 60b2787de9341b35008bc25eef5af9e898331abc50abef62673eea870ce5b56c

See more details on using hashes here.

File details

Details for the file nbiot-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: nbiot-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4

File hashes

Hashes for nbiot-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f5f286d3c69c5ddd4ea25389a0de89f44ca6bb7b2be3cabb1724761ac6a6804f
MD5 e3e8e84f6c0831af47c62912b4228a0f
BLAKE2b-256 cb9518870246ca21a20c143fbec365868d457844a87116b52da38f66f57f1f00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page