Using the CC2650 Sensor Tag as a SLIP-radio for Contiki/6lbr

These instructions detail how you can use the CC2650 Sensor Tag connected to a Linux host as a 6LoWPAN Border Router based on Contiki's 6LBR.

SLIP-Radio

The SLIP-radio firmware runs on the CC2650 Sensor Tag and connects to the Linux host via a asynchronous serial port ('SLIP') through the SensorTag Debugger DevPack.

Prerequisites

Install the following prerequisites (assuming an Ubuntu 15.04 build machine):

sudo apt-get install gcc-arm-none-eabi
sudo apt-get install git

Build SLIP-radio.bin Firmware

Next, obtain a copy of Contiki-OS and build the slip-radio binary:

git clone --recursive https://github.com/contiki-os/contiki.git
cd contiki/examples/ipv6/slip-radio
make TARGET=srf06-cc26xx BOARD=sensortag/cc2650 slip-radio.bin

Program your SensorTag

Program your SensorTag with the SmartRF Flash Programmer 2

6lbr

6lbr can run on a linux host, be that a x86/x64 PC or an ARM based Beaglebone Black or Raspberry PI

Prerequisites

Install the following prerequisites (assuming an Ubuntu 15.04 build machine):

sudo apt-get install ncurses-dev

Build and Install 6lbr

Obtain a copy of 6lbr, build and install:

git clone --recursive https://github.com/cetic/6lbr
cd 6lbr/examples/6lbr
make all_native plugins tools
sudo make install

Configure 6lbr

Create a /etc/6lbr/6lbr.conf configuration file with the following contents:

MODE=ROUTER
#MODE=SMART-BRIDGE
#MODE=RPL-RELAY
#MODE=FULL-TRANSPARENT-BRIDGE
#MODE=NDP-ROUTER
#MODE=6LR
#MODE=RPL-ROOT

RAW_ETH=1
BRIDGE=0
DEV_BRIDGE=br0
DEV_TAP=tap0
DEV_ETH=eth0
#RAW_ETH_FCS=1
RAW_ETH_FCS=0

DEV_RADIO=/dev/ttyACM0 #2.4GHz USB SensorTag will enumerate like ACM0
BAUDRATE=115200

LOG_LEVEL=3