Embedded Development System
You must have an embedded development system for this course
Some of the projects in this course involve
Embedded System development and Internet of Things communication.
The former is something that (in addition to being fun) many of you are likely to do,
and the latter works with key issues from our discussions of Distributed System Security.
What you need
You will need to obtain a
BeagleBone-based
IOT prototyping kit.
The BeagleBone is a low power,
ARM-based,
System on a Chip that has been developed for the embedded system market.
It is much faster and more powerful than the venerable and popular
Arduino
board, while offering even more digital and analog I/O ports.
This makes it a compelling combination, for both course and personal projects.
The BeagleBone Green WiFi IOT prototyping kit comes with a built-in WiFi adaptor,
an assortment of sensors, and a daughter-board for connecting them to the BeagleBone.
The
Beagle Bone Black and
Raspberry Pi 3
(with hard ethernet and on-board HDMI) might be more interesting platforms for home entertainment
(or as a mini-desktop), but:
- the on-board eMMC with a pre-installed OS makes the BeagleBone's a
bit easier to bring up.
- the WiFi on the BeagleBone Green Wireless will enable you to
connect to the internet even if you do not have hard wired
ethernet ports available (e.g. in the lab or your dorm room).
- the Raspberry Pi does not come with, and the Raspberry
package repos do not include, packages for
libssl
(used for secure communication in Project 4C) or
librobotcontrol
(C library for communicating with the GPIO and A-to-D I/O ports
in projects 4B and 4C).
- the BeagleBone Green can be ordered with an
IOT prototyping kit
that includes a Grove Cape (daughter board with connectors for sensors)
and a collection of interesting sensors (that you will use for
projects 4B and 4C).
The parts you will need include:
- Seed Studio BeagleBone Green Wireless IOT Developer Prototyping Kit for Google
Cloud Platform. It is, among other places, available from:
Seed Studio,
Digikey, and
Mouser.
- A micro-USB cable, for charging and connecting the embedded system to your computer.
Most of you probably already have multiple such USB-chargers and cables.
-
If your have a new MACBOOK (with USB-C) you may need an
USB-C to USB adaptor cable.
We have a limited number of these kits available to be checked out, but if you decide that this
is a sufficiently interesting platform that you would like to own one, you can order your own
(from one of the above vendors) or we can sell you the kit that you check out.
To make sure that you have a working kit in time for the first embedded system project,
you are encouraged to obtain your kit and bring it up (to make sure at works) as soon
as possible.
Additional Information
You may find the following tutorials helpful:
-
Your BeagleBone should be usable as installed, but there are a few interesting tutorials
on setup and configuration:
-
Linux on the Beaglebone.
This provides some basic information on using Linux on the Beaglebone (for users who
are unfamiliar with the UNIX/Linux shell).
Before you do much else, make sure you are running up-to-date software:
% sudo apt-get update
% sudo apt-get upgrade
If you are comfortable as a Linux user, you might want to set up .ssh/authorized_keys
on your BeagleBone to make it easier to scp files from your notebook/desktop
for testing.
-
Beaglebone Tutorial: GPIO, Interrupt, Analog and PWM.
This tutorial will provide information on how to use the Grove Base Cape and sensors
with your Beaglebone. But, ignore the code examples, based on Intel's MRAA library.
The default installed Debian OS should already include a basic set of
C development tools (make, gcc, git),
but no longer includes the Intel MRAA library (which is used in some of the
code examples).
- If the (pre-installed) OS proves to be down-rev or becomes damaged,
the on-board eMMC memory can easily be
re-flashed
with no equipment beyond a new install micro-SD, which you can down-load,
or we can loan you.
- Flasher Images (that will automatically reinitialize the
on-board eMMC) can be found on
BeagleBoard.org.
- A 4 or 8GB micro-SD card can be burned with utilities like the
Balena Etcher.
- Power off your BeagleBone and insert the Flasher micro-SD.
- Reconnect the power while pressing the USER button (until all of the
blue LEDs come on), and the Flasher system will automatically
re-flash the on-board eMMC.
The blue LEDs will cycle back and forth
(like a ping-pong ball) for ~5-10 minutes.
When the copying is complete all four of the blue LEDs will be on
solidly.
- Promptly (before it can re-boot and do it all over again)
power off the BeagleBone, remove the micro-SD card,
reboot the BeagleBone, and bring up your new system.