This page will give you an overview and some instructions concerning the requirements of the Raspberry Pi starter kit and how to install and configure it.

Hardware

Raspberry Pi 3

The Raspberry Pi 3 B+ is a small, compact single board computer with a BCM2837B0 quad-core processor. The CPU reaches 1.4 GHz and the GPU 400 MHz.

The specifications are the following:

  • Model B+
  • Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
  • 1GB LPDDR2 SDRAM
  • 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
  • Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
  • Extended 40-pin GPIO header
  • CSI camera port for connecting a Raspberry Pi camera
  • DSI display port for connecting a Raspberry Pi touchscreen display
  • 5V/2.5A DC power input
  • 4 USB ports
  • 16GB SDHC

For the starter kit, at least three Raspberry Pis are needed.

Sense HAT

The Pi Sense HAT is connected to the 40-Pin GPIO Port. For the starter kit, at least two Sense HATs are needed. The Sense HAT has an LED matrix and a lot of different sensors:

  • Gyroscope
  • Accelerometer
  • Magnetometer
  • Temperature
  • Barometric pressure
  • Humidity

Miscellaneous Hardware

Beside a keyboard and a mouse, some additional hardware can be useful or necessary when working with the Raspberry Pi:

  • Raspberry Pi case
  • Raspberry Pi power supply
  • Micro SD card
  • HDMI cable

Alternatively, a Raspberry Pi Bundle can be bought which already includes the Raspberry Pi, a fitting case, the power supply, a micro SD card and often a HDMI cable.

TP Link Router

A TP Link router is an example of a router requiered to build a network for your IoT platform.

  • Model TL-WR841N
  • 3G/4G Modem
  • 300Mbit/s Wi-Fi
  • AccessPoint

Network Setup

To produce a training environment, the hardware which is described above is used. Three Raspberry Pis are set up. Two of them are equipped with a SenseHat so that they can work as publisher / subscriber. One of them is setup as a broker. The Pis are in a local network setup with the router like this:

  • Pi 1, 192.168.10.1 , hostname: HBO1-pi1
  • Pi 2, 192.168.10.2, hostname: HBO1-pi2
  • Pi 3, 192.168.10.3, hostname: HBO1-pimaster
  • router: 192.168.10.254, SSID: TrainIoT-HBO1, PW: erasmus2018

Installation and Setup

Noobs Installation

To install Noobs, the operating system used, follow these steps:

  • Download the .zip-file from https://www.raspberrypi.org/downloads/noobs/ and unzip it to any location
  • Insert a SD-Card with a minimum size of 8GB
  • Copy the extracted files over to the SD-Card
  • Insert SD-Card into the Raspberry Pi
  • Power on the Raspberry Pi, so the installation process can start

Installation of Required Software

First, update your operating system by opening a terminal (CTRL + ALT + T) and type:

sudo apt update
sudo apt upgrade

To communicate with the Pi Sense HAT through its I2C-bus, the appropriate kernel libraries are needed. These can be installed using this command:

sudo apt get install sense-hat

Then, Python must be installed if it is not already present. It is needed to communicate with the Sense HAT. Again, these commands must be executed in a terminal:

sudo apt install python
sudo apt install python2

Additionally, the Software “pip” is needed to install Python extensions that can not be downloaded from the standard raspbian respositories. The following command is needed to install it:

sudo apt install python3-pip

Moreover, the web GUI “Node-RED” is used to easily deploy work flows and functions graphically on the Sense HAT. To install this software, you need to enter the following lines in the terminal:

bash <(curl –sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
update-nodejs-and-nodered
cd ~/.node-red
npm rebuild

npm install node-red-contrib-mqtt-broker

Optionally, but required to use the exercise templates, the software “JupyterHub” can be used. It is an editor which provides a shared code repository for different users to work on a single device. It is installed using the following commands:

sudo python3 –m pip install jupyterhub
sudo npm install –g configurable-http-proxy
sudo python3 –m pip install notebook

Depending on whether this Raspberry Pi should serve as a broker or a client, some more packages are needed. For the clients, the Paho MQTT package is needed:

pip install paho-mqtt

The broker needs Mosquitto:

sudo apt install mosquitto

For advanced tasks where the Amazon IoT Core service is used, the AWS CLI and BOTO software is also needed:

pip install awscli --upgrade
pip install boto
pip install boto3