IoT lab with Raspberry Pi and SunFounder components
December 16, 2018
After setting up my Big Data Learning & Development Lab, I wanted to gain some hands-on experience with Internet of Things (IoT) applications.
The goals I have set up for myself were the following:
- Set up a small internet-connected device
- Make use of a lightweight Linux-based operating system and use Python as the main programming interface
- Experiment with retrieving input data from sensors (such as GPS location, temperature, accelerometer) and experiment with generating outputs (LEDs, displays,..)
- Implement decision logic on the device itself ("edge analytics")
- Connect the device with my Big Data Hadoop cluster and implement decision logic centrally on the Hadoop cluster
In terms of hardware, I used the following components:
- Raspberry Pi 3 model B+ starter kit
- SunFounder Super Kit for Raspberry Pi (Includes breadboard, t-extension board, sensors and other components)
- SunFounder PiCar-S (Smart sensor car kit)
Since I do not have a background in electronics, I also read the book Electronics for Dummies.
The Raspberry Pi starter kit comes with a pre-installed Linux-based operating system called Raspbian. After starting up the device, there were a couple of actions that still needed to be done:
- SSH access was enabled to allow connections from remote clients (personal laptop and Hadoop cluster)
- I2C was enabled to support data exchange between the Raspberry Pi microprocessor and peripherals/sensors (see this tutorial for more info)
- A WiFi connection was set-up (which could also be a 4G or LoRa connection for example)
- Jupyter notebook was installed for user friendly Python programming
- The sample Python programs from SunFounder were copied to the device
To get started, I followed the tutorials from SunFounder.com, which include working with LEDs, displays, motors and the acceleration sensor. The following screenshots illustrate the hardware set-up and the programming interface:
After completing the basic tutorials, I assembled and played around with the PiCar smart sensor car. Learning has to be fun after all:
After taking my first steps in designing IoT applications, I will continue to experiment with other hardware components and also with programming decision logic on the device (edge analytics) and within the Hadoop cluster (centralized analytics). In case of any questions or remarks, feel free to reach out to me.