Skip to content

Toolbox for experimentation with SIGFOX LP-WANs (eWINE project)

Notifications You must be signed in to change notification settings

ewine-project/sigfox-toolbox

 
 

Repository files navigation

eWINE project - SIGFOX toolbox

This repository contains the SIGFOX experimentation toolbox developed in the Horizon 2020 eWINE project. The toolbox allows for rapid development of experiments involving Low-power wide-area networks (LP-WAN) and ultra-narrowband (UNB) technology.

Most components can be used with a visual editor and a flow-based programming approach in the Node-RED tool. They have been developed for use with equipment in the LOG-a-TEC testbed and the SIGFOX network, although some may find a wider use.

Note that some components are not present in the public repository due to a non-disclosure agreement.

Getting started

The recommended way of getting started with the toolbox:

  1. Follow the general installation instructions in this README.md

  2. Install all individual components from the subdirectories, following their specific installation instructions.

  3. Try running the packet loss Node-RED flow.

Installation instructions

These instructions assume a reasonably up-to-date Linux system with a Python 3.x interpreter already installed.

While exact versions of software packages shouldn't matter, this toolbox was last checked to be working with the following:

  • Debian GNU/Linux release 8.7 (Jessie),
  • Node-RED 0.15.1, running under Node.js 4.7.3,
  • Python 3.5.2,
  • bokeh 0.12.4,
  • numpy 1.12.0,
  • vesna-spectrumsensor 1.0.6

To perform example experiments from the toolbox you will also need:

  • Network access to a SNE-ESHTER spectrum sensor (part of the LOG-a-TEC testbed)

  • SIGFOX back-end login credentials that allow callback configuration or access to a host in LOG-a-TEC testbed that is already set up to receive back-end callbacks.

  • Network access to a SIGFOX test device.

Setting up a new SIGFOX test device also requires:

  • SIGFOX back-end login credentials that allow device management.

  • SFXLIB binary library.

  • SIGFOX device id, AES key and PAC code.

  • VESNA SNC board, Olimex ARM-USB-OCD programmer, USRP device.

Node-RED

See installation section in the Node-RED documentation. Some components in the repository require that Node-RED is installed under your home directory, in the ~/node_modules/node-red directory.

Please note that installing Node-RED on an Internet-connected computer will by default enable anyone to run arbitrary code on your computer. This is a security risk. Reading the security section of the manual is highly recommended before proceeding.

Python virtual environment

It is recommended that a clean Python virtual environment is made before installing individual Python packages contained in this repository. See Creation of virtual environments for details.

In brief, you can create a new environment by running the following commands in a terminal:

$ cd sigfox-toolbox
$ export PYTHONPATH=
$ python3 -mvenv venv
$ . venv/bin/activate
$ pip install -U pip

Then, in each new terminal you wish to use the Python components, run:

$ cd sigfox-toolbox
$ . venv/bin/activate

Contents

See README.md files in individual sub-directories for details and installation instructions.

  • node-red-python - Support for Node-RED Python blocks.

  • node-red-spectrum-sensing - Node-RED blocks for spectrum sensing.

  • node-red-sigfox-web-api - Node-RED blocks for communicating with the SIGFOX backend API.

  • node-red-visualization - Real-time visualization block for Node-RED flows.

  • vesna-sfxlib-rpc-firmware - Firmware for running the proprietary SIGFOX MAC protocol library on a VESNA sensor node over a remote-procedure call interface.

  • flow-keyapp - Node-RED flow for controlling the SIGFOX KeyApp device.

  • flow-packet-loss - Node-RED flow for measuring packet loss in a SIGFOX network.

  • sigfox-usrp-phy - Physical layer implementation of the SIGFOX protocol using GNU Radio and a USRP N200 device, with a related Node-RED block. (Not in public repository)

  • sigfox-test-device - Full software implementation of a SIGFOX modem usable from Node-RED. (Not in public repository)

License

See README.md files in individual sub-directories for details.

The research leading to these results has received funding from the European Horizon 2020 Programme project eWINE under grant agreement No. 688116.

About

Toolbox for experimentation with SIGFOX LP-WANs (eWINE project)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 44.4%
  • Python 34.4%
  • JavaScript 11.6%
  • HTML 7.1%
  • Makefile 2.5%