Open Trigger
  • Introduction
  • Overview
    • Buttons
      • opentrigger-board
    • Protocols
    • Integrations
  • Tutorials
    • Quickstart
    • Letsencrypt Tutorial
    • Slack Button Tutorial
    • Flash Firmware under OSX
Powered by GitBook
On this page
  • RaspberryPi Setup
  • Space requirements
  • Hardware reqirements
  • Installation
  • Node-RED
  • Testing
  1. Tutorials

Quickstart

PreviousTutorialsNextLetsencrypt Tutorial

Last updated 7 years ago

RaspberryPi Setup

You need a fresh setup of Raspbian Jessie Light (the real thing and not NOOBS, otherwise you may have to deal with conflicts). Also ssh access to your Raspberry and a working network connection. If you need more detailed instructions please consult the excellent .

Space requirements

If you know what you are doing you can squeeze everything onto a 2GB sdcard, but a 4GB+ sdcard is recommended. If you plan on doing development you should use a 8GB+ sdcard.

Hardware reqirements

A Raspberry PI 3 is reqired for this setup. While other models may work its the only supported setup.

Debian 8 and Ubuntu 16.xx where used during development, and all packages are also available for amd64. But you have to configure the components yourself.

If your devices (opentrigger-board, rpl-border-router) have not yet been flashed with firmware yet, please reade the .

Installation

wget -qO- https://acolono.github.io/opentrigger-quickinstall/setup.sh | STAGE=production bash

This is the default setup - binaries only. The development setup can be installed by passing STAGE=development but the development dependencies can also be added later on by installing the opentrigger-dev package.

After the installation is done your raspberry will power down. Now disconnect it from your power source and plug in the rpl-border-router - which will act as our 6LoWPAN router.

Node-RED

Testing

Restart your Raspberry and after it's done booting, get the routers address.

grep -A1 'Server IPv6 addresses' /var/log/syslog

You should see something like this:

tunslip6[780]: Server IPv6 addresses:
tunslip6[780]: aaaa::221:2eff:ff00:5e2c

Btw: this only works after a fairly recent power cycle (rebooting does not restart the router).

Now look at your routing table (use the server address from the log file).

curl -s [aaaa::221:2eff:ff00:5e2c] | html2text

In my case, there is one button connected, and the output looks like this:

Neighbors
fe80::221:2eff:ff00:5ce3
Routes
aaaa::221:2eff:ff00:5ce3/128 (via fe80::221:2eff:ff00:5ce3) 827s

It should be possible to ping the device now.

ping6 aaaa::221:2eff:ff00:5ce3

Now watch the distributor's log and push the button while doing so:

sudo supervisorctl tail -f ot_distributor

Ouput should look similar to this:

// Publishing To: /opentrigger/signals/trigger
{
  "Timestamp": "2016-10-31T20:13:07.256648+00:00",
  "UniqueIdentifier": "[aaaa::221:2eff:ff00:5ce3]",
  "Origin": null,
  "EventType": "Trigger",
  "EventId": 98
}
// Publishing To: /opentrigger/signals/release
{
  "Age": 937,
  "Timestamp": "2016-10-31T20:13:08.193695+00:00",
  "UniqueIdentifier": "[aaaa::221:2eff:ff00:5ce3]",
  "Origin": null,
  "EventType": "Release",
  "EventId": 98
}

You can also examine the message queue:

mosquitto_sub -v -t '/opentrigger/#'

If you have a version with an RGB-LED you can make it blink red:

coap post coap://[aaaa::221:2eff:ff00:5ce3]/led/RGB -p 'r=255&g=0&b=0&delay=20&times=3'

The Node-RED version shipped with Raspbian is quite old, if you want to update it manually have a look at .

this guide
documentation on raspberrypi.org
opentrigger-board setup guide