Busroot is designed to be the simplest solution for collecting, storing and analyzing measurements and sensor data from IoT devices.

Overview Diagram

What you get out-of-the-box with Busroot:

  • Message broker (MQTT)
    The main point of entry for your sensor data. We explain how to use this later, with examples.

  • Time series database (InfluxDB)
    This is created and managed for you. Busroot automatically adds your sensor readings to this database. Backups are provided at regular intervals.

  • Data Visualisation Tool (Grafana)
    As soon as you start providing readings into Busroot, you are able to visualise that data using the best-in-class, open-source tool, Grafana.

  • REST API
    If you need quick and direct access to your data for use in other applications such as spreadsheets and web apps, we provide a REST API.

  • Code Samples
    We don’t leave you guessing about how to integrate your sensors into the Busroot service. We provide samples for the most popular IoT technologies.

Connecting your sensors

Node-RED Demo
A quick start with the Node-RED sample.

A lot of times, you may not have complete control over the choice hardware you have to work with to collect the data you need. This is why Busroot uses an MQTT broker as the first point of contact for your sensors. It is a lightweight communication method that is almost universally supported by embedded devices such as Arduino, to software languages like Python.

As part of the credentials you were given when you created your account, you will have received an MQTT host along with your username and password.

You will need to decide on the best software method to use for your particular setup, but below are some common combinations:

  • RaspberryPi with Python
    Using the RPi.GPIO Python and Paho MQTT modules, it is possible to write very simple scripts that read values directly from the Digital I/O or analogue pins and pass them directly into MQTT.

  • RaspberryPi with Node-RED
    Node-RED is an open-source visual programming tool. It allow you to achieve the same results as above, but without having to write any code.

  • Microcontrollers (e.g. Arduino or ESP32) using C/C++
    There are many microcontroller options that are very small and low-cost. These can allow you to directly combine the sensor and WiFi communication in a package that can be run using battery or solar power.

  • Small Form Factor PC running a Traditional Operating System
    Using a traditional PC running Windows or Linux can also be a quick, easy and familiar way of getting started. Sensors or wireless receivers can be connected using USB and you have full choice of the software used to collect the data (Python, NodeJS, Java, Go, Node-RED etc).

  • Industrial Environment using PLCs
    When working with industrial equipment that already has sensors communicating with a PLC, it can be possible to collect data using existing protocols such as OPC UA. For example, this can be done using a device running Node-RED and this node: https://flows.nodered.org/node/node-red-contrib-opcua.

You are given samples for each of the scenarios above at the point you create your account.

Please see Using MQTT to Send Sensor Readings for detailed information about submitting data points over MQTT.

Visualising your data with Grafana

Overview Diagram

As part of the credentials you were given when your created your account, you will have received a URL to access Grafana.

Once logged in, you will be greeted with a home dashboard that will show every series of data being received on your account. If this becomes overloaded as you add more sensors, you can begin to duplicate, filter and customise this chart according to your specific use case.

Click here to get an overview of how Grafana Dashboard work.

Using the REST API

The Busroot API allows 2 main functions, retrieve a single data series for a given time frame, or retrieve the names of all data series available.