2 Internet of Things Hardware
2 Internet of Things Hardware
ourse Transcript
2. Introduction to Arduino
4. Arduino Variants
aspberry Pi
1. Introduction to Raspberry Pi
3. RPi Variants
Intel Galileo
1. Introduction to Galileo
SP8266
1. ESP8266 Introduction
innowBoard
1. MinnowBoard Introduction
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 1/28
2/3/2019 Skillsoft Course Transcript
3. MinnowBoard Variants
eagleBone
1. Introduction
3. Variants
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 2/28
2/3/2019 Skillsoft Course Transcript
ourse Introduction
earning Objective
fter completing this topic, you should be able to
start the course
.
he Internet of Things integrates a large number of technologies both new and old. It promises to deliver
nprecedented awareness of environments and processes. Hi, I am Travis Welton and in this course, I
ill discuss the hardware that's available to develop for the Internet of Things and the basics of
rogramming this hardware.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 3/28
2/3/2019 Skillsoft Course Transcript
Introduction to Arduino
earning Objective
fter completing this topic, you should be able to
identify the components of the Arduino platform
.
In this video, we'll take a look at the components of the Arduino platform. Now the Arduino is the name
f an open source hardware prototype platform as well as the IDE used with it and the company behind
it. They use various 8-bit Atmel AVR microcontrollers or 32-bit Atmel ARM processors. It was first
introduced in 2005. The Arduino is based on a family of microcontroller board designs manufactured
rimarily by Smart Projects in Italy, but also by a few other vendors. Now these systems provide sets of
igital and analog input/output pins that can be interfaced to various expansion boards. These
xpansion boards are known as shields. The boards feature serial communication interfaces including
SB on some models for loading programs from personal computers. The Arduino UNO is the most
opular and common of the Arduino platform center available today. The UNO is based on the
tmega328P microcontroller, which has 20 total input/output pins – 14 are digital and 6 are analog. And
it runs at just 16 megahertz, which may sound extremely low. But you can accomplish a lot with this little
oard.
Heading: Arduino. Arduino is the name of an open source hardware prototype platform as well as the
DE used with it and the company behind it. It is initially based on the 8-bit Atmel AVR microcontroller. It
rovides a set of input and output ports that enable expansion via "shields" and connection to discrete
lectronic components.]
ypically, users will program the UNO using the Arduino IDE. The IDE is available for Windows, Linux,
nd Mac OS X. As of September 1, 2015, the current version of the IDE is 1.6.5. And the software is
vailable for free from the Arduino web page. It's also relatively small, so you can download this on
retty much any computer. It's only about 78 megabytes. The Arduino uses C++ for its programming
language with some special libraries. And, once the programs are compiled on your Mac or PC, they can
e uploaded to the Arduino over the built-in USB to serial interface. Now here are few other features of
he ATmega328. It has 32 kilobytes of Flash memory for program storage, 2 kilobytes of RAM, 1 kilobyte
f program-accessible EEPROM. It also has a Serial Peripheral Interface hardware bus support. Now
PI is a synchronous serial communication interface specification used for short distance
ommunication, primarily in embedded systems.
It also supports I2C hardware bus support. And all I/O pins have a software configurable pull-up resistor.
here are also two external interrupts, hardware TTL serial support. And, if you're not familiar with
ardware TTL serial support when microcontrollers and other low-level ICs communicate serially, they
sually do so using TTL, which is transistor-to-transistor logic level. There are also six digital pins, which
rovide 8-bit Pulse Width Modulation capabilities. In this video, we looked at the components of the
rduino platform.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 4/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we'll take a look at some of the accessories available for the Arduino. Now Arduino boards
ave the ability to interface with a wide variety of different components. They are specialized boards for
he Arduino that have to meet a specific form factor. These boards are known as shields. Shields plug
into the standard Arduino input/output headers to provide added functionality to the Arduino system. And
hields can provide control for motors, GPS access, Ethernet networking capabilities, or even some that
an provide a small LCD display. Proto Shields are also worth mentioning. They are essentially blank
hields that you can use as a starting point to design your own shield. Proto is actually short for
rototype. These boards provide a foundation for you to develop custom Arduino add-ons. The first
rduino was released in 2005. And, over the past ten years, there's been a large variety of third-party
hields that have been made available from different manufactures providing different capabilities – the
bility to connect to cellular networks is one example. Some shields provide MP3 playback while others
rovide Wi-Fi connectivity. Some shields perform voice recognition while others provide the ability to
ead and write to a microSD card.
Heading: Arduino Accessories. Proto Shields provide a convenient means to design and develop
ustom Arduino add-ons. A large variety of third-party Arduino shields are available from multiple
anufacturers providing many capabilities.]
In addition to third-party premade shields, the Arduino can also communicate with nearly any hardware
omponent that utilizes a 5V logic-level signal – components like digital and analog temperature
ensors; individual LEDs and LED displays; magnetic hall effect sensors – these can be used for
roximity switching positions and speed detection; visual and IR light sensors; switches, buttons,
otentiometers; real-time clock chips, which are used to measure time even when the power of the main
evice is off. During these times, RTC ICs draw power from an auxiliary battery or super capacitor.
sing the Arduino with these types of accessories and some imagination makes it a very powerful tool in
he right hands. In this video, we looked at some of the accessories available for the Arduino board.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 5/28
2/3/2019 Skillsoft Course Transcript
rduino Variants
earning Objective
fter completing this topic, you should be able to
identify compatible Arduino variant boards
.
In this video, we'll take a look at some of the different versions of the Arduino hardware. Now there are a
umber of official varieties of the Arduino platform, and each one of these has its own strengths and
eaknesses. So here is a list of the different boards that are available. First up is the Arduino Pro. Now
he Pro was intended for semi-permanent installations in objects or exhibitions. The board comes
ithout any premounted headers, which allows you to use various types of connectors or even direct
oldering of wires. Now the pin layout is compatible with Arduino shields. And there is also a 3.3 volt
ersion of the Pro that can be used and powered with a battery. The Micro – well, it's the smallest board
f the Arduino family. It's easy to integrate into your everyday objects to make them interactive. Up next
is the Arduino Mega 2560, and it's designed for more complex projects. With 54 digital input/output pins
nd 16 analog inputs, it also has a large space for your sketch. And it's the recommended board for 3D
rinters and robotics projects.
ext up is the Arduino Due, and it's the first Arduino board based on a 32-bit ARM core microcontroller.
It also has 54 digital input/output pins, 12 analog inputs. It also has 4 hardware serial ports. It runs at 84
egahertz, and it also has a USB On-The-Go capable connection as one of its features. The last official
oard we're going to look at is the Arduino Yún. It uses an Atheros AR9331 processor. Now the Atheros
rocessor supports a Linux distribution based on OpenWrt. This – just distro – is named OpenWrt-Yun.
his board has built-in Ethernet and Wi-Fi support. It also has a USB A port and a microSD card slot as
ust a few of its features. Now there are also other manufactures like SainSmart and SparkFun that
anufacture their own licensed variants of the Arduino hardware. Along with all of the official board that
re available, there are also unofficial variants of the various Arduino platforms. Now these are clones of
he official varieties. But there are also some original designs. Now, because the Arduino design is open
ource, anyone can produce compatible boards for free or for profit if they like.
Heading: Arduino Variants. The other licensed manufacturers produce their own variants such as
ainSmart and SparkyFun.]
ow some of these are inexpensive clones. They are available from a variety of online sources. Now,
hile these clones typically function in ways similar or even equivalent to the official boards, it's worth
oting that purchasing unlicensed boards from different manufactures doesn't financially support the
rduino project. In this video, we looked at some of the different versions of the Arduino hardware.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 6/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we are going to look at the steps that you need to take to program an Arduino.
o to begin, the first thing that you will need to do is of course download the Arduino IDE and it can be
ound at the address here in this slide. Now, there are versions available for Windows, MAC, and the
inux operating systems and these are all free of charge; there is no cost involved.
rduino projects are called ‘sketches’. So to start a new project, you need to open a new sketch. And
like other programming languages, you can write comments in your sketch. So to do this for a single
line, you would use the double forward slash (//) method and if your comments are going to be larger
nd spread over multiple lines, you would use the forward slash asterisk (/*) at the beginning of your
omments and then the asterisk followed by a forward slash (*/) to signify the end of your multiline
omment.
ow, we can create variables when programming in Arduino sketch. Some of the different variables are
har, byte, I-N-T int, which is showing here on our slide and we can also use long, float, double, and a
ew other different variables as well. And functions are used in programming Arduino much the same
ay as other languages like the C language, for example.
unctions are useful in making your sketch smaller because portions of the code are reused many
imes. We have the Setup function, which is used to start and set initial values in the sketch and we also
ave our Loop function, which allows for the program to keep running.
In this video, we looked at some of the basics of programming in Arduino.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 7/28
2/3/2019 Skillsoft Course Transcript
.
ow that you've spent some time learning about the Arduino, it's time to put your knowledge to the test.
In this exercise, I would like you to create a simple Arduino sketch to make an LED light blink. Now don't
orry if you don't have an Arduino there, you can do this using the Arduino software, downloaded from
he Arduino web site. You can also validate the code from within the Arduino IDE software without
aving an Arduino connected to your machine. Now I want you to pause the video to perform the
xercise. And, when you've finished, you can unpause the video and see how I would have done this
xercise.
elcome back. Now let's see how I would have tackled this exercise. So, of course, the first thing we
ould have to do is install our Arduino IDE software and start a new sketch. Now we're going to create
he Blink sketch. So what it's going to do is it's going to turn the LED on for one second and then off for
ne second and it's going to do this repeatedly. Now most Arduinos do have an onboard LED that you
an control. On the Arduino Uno and the Leonardo, for example, it's attached to digital pin 13. And, if
ou are unsure what pin the onboard LED is connected to on your particular Arduino model, you can
heck your documentation for that information. You can see here in our sketch, the first command after
he setup is done is to initialize digital pin 13 as an output. So by default it's set to input. We need to tell
it, "This is an output pin." And we do that using the pinMode command. Then we have the loop function,
hich runs over and over again. And then we have digitalWrite(13, HIGH);. This is going to turn our LED
n.
An illustration of the "sketch_setup 13a|Arduino 1.6.5" window is displayed. Running along the top of
he window is the menu bar including the File menu. The "sketch_sep13a" tabbed page is open. This
age includes the following set of codes: void setup() { // initialize digital pin 13 as an output.
inMode(13, OUTPUT); } // the loop function runs over and over again forever void loop() {
igitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a
econd digitalWrite(13, LOW); // turn the LED off by making the voltage LOW delay(1000);
// wait for a second }]
ext up, we have delay(1000);, which is going to make the LED wait for one second. Then we have a
igitalWrite(13, LOW);. This is going to turn the LED off by making the voltage low. And finally, we have
elay(1000);, which once again is going to make the LED wait for one second. Now you can click on the
erify button in the Arduino IDE and it will compile your code and let you know if there are any errors.
ight next to the verify button is the upload button. And, if you actually have an Arduino attached to your
C, you can now upload your sketch to your Arduino and see it in action. And that's all there is to it.
ou've just written your first Arduino sketch.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 8/28
2/3/2019 Skillsoft Course Transcript
Introduction to Raspberry Pi
earning Objective
fter completing this topic, you should be able to
identify the components of the Raspberry Pi platform
.
In this video, we're going to take a look at the components of the Raspberry Pi platform. And the
aspberry Pi is a single board computer. It's roughly the size of a credit card, and it was initially
eveloped back in 2006. It got its inspiration from the BBC Micro, which was developed back in 1981.
ow early concepts of the Raspberry Pi make use of the ATmega644 CPU, but eventually the
evelopment shifted towards the ARM processor which is currently used. Now the original Raspberry Pi
– it runs its ARM processor at 700 megahertz. It also has 256 megabytes of system RAM and an SD
ard slot for more storage. Now that may not sound like much, but it's actually quite impressive for a
ystem that's the size of a credit card. Now I actually have an old, retro laptop here that's running a
entium III processor at the same 700 megahertz as our Raspberry Pi. And it only has 128 megabytes
f RAM, and that computer costs 3,500 US Dollars when it was released back in 2001. Now you can
ave a Raspberry Pi for $35. The Pi also has a USB port to allow peripherals like keyboards, mice, and
etwork adaptors. And the video output is capable of multiple different standard resolutions.
ow, that here are some more specifications for the Raspberry Pi...now I say original Raspberry Pi
ecause there is a squeal to the Pi – the Pi 2 – which has more power and more features. The one we're
alking about here through, it comes with eight GPIO pins. It has additional pins, which support UART,
I2C, SPI. And it also has HDMI video support and composite video support as well. So what operating
ystems can run on the Raspberry Pi? Well, traditionally the Raspberry Pi runs one of a number of
ifferent Linux distros like Raspbian, which is a Debian derivative that was ported to the Raspberry Pi.
rch Linux for ARM processors – that's another operating system that it can run. There is also Pidora,
hich is a derivative of Fedora. However, there are some other operating systems out there as well. So
here is RISC OS, FreeBSD, and Plan 9 which comes from Bell Labs. In this video, we looked at the
omponents of the Raspberry Pi platform.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 9/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we'll have a look at some of the accessories that are available for the Raspberry Pi. Now
he Raspberry Pi features an expansion port, which enables the use of official Raspberry Pi camera or
he Raspberry Pi infrared camera accessories. And there is also an LCD touchscreen that uses the SPI
us that's available. And that can be used as the primary display for your Raspberry Pi if you like. Now, if
ou're not familiar with SPI, it's the Serial Peripheral Interface bus. And it's a synchronous serial
ommunication interface specification that's used for short-distance communications, primarily in
mbedded systems. Now there are also prototyping boards that are similar to those for the Arduino that
re available. And these can provide easy access to the Raspberry Pi's GPIO pins. The Raspberry Pi
an make use of nearly any discrete electronic component or sensor that can function at 3.3V logic
levels. Now there is also a 5V supply pin that's available.
he GPIO pins on the Raspberry Pi are not 5V tolerant. Now that's important. If you want it to connect
V output to a Pi input, you can do this. But you have to make use of a level shifter to accomplish this
ask. In this video, we looked at some of the accessories that are available for the Raspberry Pi.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 10/28
2/3/2019 Skillsoft Course Transcript
Pi Variants
earning Objective
fter completing this topic, you should be able to
identify variations of the Raspberry Pi platform
.
In this video, we'll have a look at the different versions of the Raspberry Pi. Now first up are the official
ariants. And there are several official variants of the Raspberry Pi and different revisions as well. So
irst up is the Model A. Now that's the original Raspberry Pi. It has 700 megahertz of ARM processor.
nd it also had 256 megabytes of shared RAM, and it was released back in February of 2012 with a
arget price point of just 25 US Dollars. Now the Model A+ – it was released in November of 2014. It has
imilar specifications to the A with a few notable differences. For example, the SD card slot was
eplaced with a microSD. There are some more GPIO pins that were added. It's also 10 millimeter
horter and half the weight of the original. The Model B – it has twice as much RAM as the Model A. It
as 512 megabytes of shared memory. Now there is also the addition of a second USB port option, and
nboard Ethernet was also added. The most notable new features of the Model B+ over the Model B
as the ability to have up to four USB devices through the onboard hub. Now the second generation –
he Generation 2 Model B was released in February of 2015. And the CPU was replaced with a new 900
egahertz ARM processor. And the system RAM was doubled once again, this time to 1 gigabyte.
ow there are also unofficial boards that are similar to the Raspberry Pi. There is the Banana Pi and the
range Pi. These are two of those boards. Now they use slower dual-core processors compared to the
aspberry Pi 2. And they both offer their own unique features. Now, for example, the Orange Pi – well, it
as a VGA port as well as an HDMI port. And the Banana Pi – it has a separate IC for Ethernet, where
he official Raspberry Pi uses a LAN and USB combo IC. So the speed of the Banana is actually quite a
it faster. In fact, it's capable of gigabit Ethernet speeds. In this video, we looked at some of the different
ersions of the Raspberry Pi.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 11/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we're going to look at what is needed to get started on programming with a Raspberry Pi.
ow the fastest way to get started in programming a Raspberry Pi is to use Python, which comes
reinstalled with all Raspberry images. The Python is also available for free download on your PC. So
ven if you don't have a Raspberry Pi yet, you can still download the Python software and start playing
round with it. Pythons are relatively easy programming language to use, but it's also very powerful. The
ext thing you're going to want to do is download the RPi.GPIO library and you're going to copy the gz
arball to the RPi wheezy Raspbian. Now you'll want to open up the terminal and navigate to the
xtracted folder that contains the RPi.GPIO library. And in the terminal, you're going to type in this line –
his command – $ sudo python setup.py install. And this will install the module. The RPi GPIO Python
library could be used to control the LED for a Raspberry Pi – if you wanted to make a blinky LED
rogram, for example.
ow the Raspberry Pi has eight general-purpose input/output pins. Each of these can be configured as
input or output and they can be turned on or off via software. Now if you actually have a Raspberry Pi
nd you wanted to try the blinky program, you are also going to need an LED with a 270 ohm resistor in
eries with ground and the GPIO pin for the Raspberry Pi. You'll always want to use a resistor with your
EDs to limit the current or you might end up with a burned-out LED. If you want to make comments in
our program – and we definitely encourage you to do that – you can use the pound sign to comment
ut lines of text. All Raspberry programs will need to be saved with a .py file extension. So that's also
orth noting here. They have to be saved as a .py in order for the Raspberry Pi to be able to use the
rograms. In this video, we took a look at some of the tools needed to start programming with a
aspberry Pi.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 12/28
2/3/2019 Skillsoft Course Transcript
.
ow that you've spent some time learning about the Raspberry Pi, let's put your knowledge to the test.
In this exercise, I'm going to have you create a Python script to control an LED light connected to a
PIO pin. Now, if you haven't got a Raspberry Pi connected to your computer, you can still do the
xercise in Python on your PC or simply complete it in a text editor. Now I want you to pause the video
nd complete the exercise. And when you've finished, you can unpause the video and see how I would
ave done this exercise.
elcome back. Now hopefully, you were successful with that exercise and you have a Raspberry Pi
itting next to you, blinking an LED light. If you didn't get it to work, that's okay. You can look here on our
lide and see the solution to the problem. So the first thing you needed to do was install the RPi GPIO
library. Once that was done, we had to open up a .py file in our editor of choice. Now I actually chose to
se Python for this. I have Python installed on my PC and I just thought it would be the easiest way to do
it. So I opened up Python and I wrote in my code here and I actually took a screenshot of it and included
in our slide so you can reference this. So here's our code written out here for the blinky LED light. If you
idn't get it to work in your exercise, then feel free to copy this code out and try it again and see if you
an get your Raspberry Pi to blink for you.
The presenter explains the following set of codes: Import RPi.GPIO as GPIO import time # blinking
unction def blink(pin) : GPIO.output (pin,GPIO.HIGH) time.sleep (1) GPIO.output (pin,GPIO.LOW)
ime.sleep (1) return # to use Raspberry Pi board pin numbers GPIO.setmode (GPIO.BOARD) # set up
PIO output channel GPIO.setup (11,GPIO.OUT) #blink GPIO17 50 times for i in range (0,50) : blink
11) GPIO.cleanup ()]
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 13/28
2/3/2019 Skillsoft Course Transcript
Introduction to Galileo
earning Objective
fter completing this topic, you should be able to
identify the features of the Intel Galileo platform
.
In this video, we're going to have a look at the features of the Intel Galileo. Now the Intel Galileo is the
irst in a line of Arduino-certified development boards based on Intel x86 architecture. And it's designed
or the maker and education communities. And this makes it unique among small single board
omputers since most of the others out there run ARM processors. x86 processors are typically seen in
esktop PCs running Windows since these processors are more powerful than ARM processors. But the
dvantage of ARM processors is that they are much more power efficient. Well, the Galileo – it's kind of
cross between the Raspberry Pi and the Arduino. It uses an Intel Quark X1000 CPU. And the X1000 is
single-core, single-thread, 400 megahertz, 32-bit processor. The Galileo is compatible with Arduino
hield expansion cards and can also be programmed using the Arduino IDE. The Galileo is Intel's
ffering in the Internet of Things and wearables markets.
It runs a version of Linux with Arduino libraries to provide compatibility with Arduino sketches.
emember, sketches are the applications that are written for the Arduino. The Galileo operates at 3.3V
nd has onboard jumpers that enable voltage translation to the 5V for the Arduino shield compatibility.
ow here are a few additional features that are offered by the Galileo on top of the standard Arduino
acilities. Well, first up, it has 10/100 network adaptor – that's great. It has PCI Express mini expansion
ort. It has a USB 2.0 host, 8 megabytes of Flash storage, which can store firmware and the bootloader.
It also supports the optional microSD card of up to 32 gigabytes for storage. But it can also access
xternal USB storage devices. It has an 11 kilobyte EEPROM, which can be programmed via the
EPROM library. And the Galileo also supports ACPI sleep states and also has a real-time clock with
ptional battery backup time keeping. In this video, we looked at the features of the Intel Galileo.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 14/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we're going to have a look at some of the accessory options that are available for the Intel
alileo. Now the Galileo offers a number of different expansion possibilities. First up is the Mini PCI
xpress slot – well, that can be used for a large number of different devices. The Galileo also has TTL
ART serial communication, a 3.5 millimeter RS-232 serial port, and a USB host. Now, using the PCI
xpress slot, you can connect Wi-Fi cards, Bluetooth or cellular cards, and many other mini PCI
xpress-compatible devices like a SATA adapter and possibly even a video card. Now, like the Arduino,
hields, discrete components, and sensors can also be used. The onboard UARTs provide access to
erial communication.
ow, with the USB 2.0, the Galileo can use any number of devices from keyboards and mice, USB
ound cards, mass storage devices, and cameras. It can even use a USB VGA adapter or a game
ontroller. The USB device ports allow for serial communication over USB. Now this provides a serial
onnection to the serial monitor or other applications on the computer. It also enables the Galileo to act
s a USB mouse or keyboard to an attached computer. In this video, we looked at some of the
ccessories that are available for the Intel Galileo.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 15/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we'll look at some of the different variants of the Intel Galileo. Now, unlike some of the
ther boards that are discussed in this course, the Galileo is actually a pretty new entry. And there aren't
hat many different versions available, but there are a couple that are worth mentioning. Now first step is
he Edison. And this is a development system that's based on the same Quark X1000 processor as the
alileo. Now it's incredibly small. In fact, it's the same size and shape as an SD card. If you haven't seen
ne of these, do a quick Google Images search, you'll be amazed that how tiny it is. Now, because the
dison obviously doesn't have any pinouts, you can actually connect the Edison to a prototyping board
roviding Arduino compatible pin headers. Now there is a second version of the Edison that's now
vailable. And it's slightly larger than the original version. It's based on the dual-core Intel Atom
rocessor, code name – Tangier. This processor has two Silvermont cores running at 500 MHz.
he CPU has 1 GB of RAM integrated on the package. There is also 4 GB of eMMC flash on the board.
here is WiFi, Bluetooth 4.0, and USB controllers. And the board has a 70-pin dense connector with
SB, SD, UARTs, GPIOs. And the price of the device is around 50 US Dollars. This device actually runs
octo Linux with development support from Arduino IDE and Eclipse. In this video, we looked at a
ouple of the different versions of the Intel Edison, which is actually a variant of the Intel Galileo.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 16/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we'll take a look at what is needed to program an Intel Galileo. Well, the first thing you are
oing to need is, of course, an Intel Edison or Galileo board attached to your computer. You are also
oing to need to go to Intel's web site and download the Internet of Things development kit. The kit
includes many tools that you can use to work with your Galileo. For example, the live USB image can be
sed to run a host system that can control an Intel Galileo board using Yocto application development
ools and Eclipse. And, of course, because the Intel Galileo is an Arduino certified board, you can also
se the Arduino IDE to develop sketches for your Galileo. In fact, if you wanted to test out the Arduino
linking LED sketch – that was mentioned in another video in this course – you could test that sketch out
n your Galileo. As long as the LED is connected to pin 13, that sketch will blink the LED for you. If you
on't want to use the Arduino sketch, you can also program your Galileo using Intel's development kit.
o do the blinky LEDs with the Galileo, you should start by finding the logical representation of each
PIO that's available. And you're going to do this by looking in the /sys/class/gpio directory. Once you
now your pins, you need to export the GPIO number to the /sys/class/gpio export file. Then you can set
he direction for input and output. So in for input, out for output.
he next step is implemented by using the open-GPIO function, which opens the corresponding file and
eturns this file identifier for future reading or writing, depending on the direction declared. Now once we
ave verified that there are no errors, we can go to the fun part, which is – of course – changing the
PIO value to zero or one, effectively enabling or disabling the voltage in the port and making the LED
link. In this video, we looked at what is needed to program the Intel Galileo.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 17/28
2/3/2019 Skillsoft Course Transcript
SP8266 Introduction
earning Objective
fter completing this topic, you should be able to
identify the features of the ESP8266 chip
.
In this video, we're going to take a look at the ESP8266 Wi-Fi chip. Now the ESP8266 is a small
integrated circuit, which provides a number of features in a tiny package. It's typically available,
ssembled on a board with SRAM, crystal, and pin headers from various different vendors. The
SP8266 is used in conjunction with Arduino or Raspberry Pi to provide inexpensive wireless network
ccess. Now it's a self-contained 3.3 volt board which is not advertised as 5 volt friendly. Now this
eans that the module must be powered from 3.3 volts and any 5 volt I/O must be level shifted to 3.3
olts in either or both directions. Now here are some of the features of the ESP chip. It has support for
02.11b/g/n wireless networks. It comes with 512 KB of flash memory and has a built-in TCP/IP stack.
here is also a temperature sensor that's built in. The chip is a low-powered, 32-bit CPU. It runs at just
0 MHz. And it has 17 pin – general-purpose input/output pins – and also SPI and UART support.
he ESP8266 communicates with the Arduino and the Raspberry Pi through the UART port.
ommunication with the chip is done through the use of AT commands – similar to a telephony system
s illustrated in our graphic here on the slide. These are example commands to connect to an access
oint called WiFiNetwork with the password GetAccess. Now there are no specific accessories designed
or this chip, but you can make use of discrete components and sensors using the GPIO pins. More
omplex devices can communicate with the ESP through SPI and UART connections. The ESP8266 is
vailable in a few different variants. Board variations come from independent suppliers and typically
ollow the naming format ESP-NN. Now there are currently around a dozen boards. They vary slightly
ith different antenna designs, GPIO pin accessibility, and flash memory sizes. The most common
odels seem to come from two companies – AI-Thinkers and Olimex. In this video, we looked at the
SP8266 Wi-Fi chip.
Heading: ESP8266 Wi-Fi Chip. The following set of codes is illustrated: AT+CWMODE=1
T+CWJAP="WiFiNetwork", "GetAccess"]
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 18/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we will take a look at programming with the ESP8266.
ow, an ESP8266 does come already programmed with the NodeMCU’s Lua Interpretter, but that
oesn’t mean that you will necessarily want to use it. You can also program the device with the Arduino
IDE, but if you choose to do this, it will overwrite the firmware of the MCU. So if you need to flash it back
o the stock setup, there is a tool available for that as well that you can simply download off the internet.
o to install your sketch on the ESP, you will need to use a USB to serial cable, but it is worth noting
ere that the device supports ‘Level Shifting’. So 3 volt or 5 volt will work.
o you are going to start by connecting the USB to serial cable and this can be either an FTDI or a
onsole cable. Once you do, you will see the LED lights on the device flicker to show that it’s powered
p, but then it will go out again. So watch for that flickering LED.
ith regards to the Arduino IDE side of the equation, make sure that you have a more recent version of
he program. You will need version 1.6.4 or higher in order to be able to do this, and as of the time of
his recording, the latest version is 1.6.7.
nd finally, you will need to install the Board package from the Arduino website, which is listed here in
ur slide. Once all this is complete, you are ready to start programming your ESP with the Arduino IDE.
In this video, we looked at what’s needed to program an ESP8266.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 19/28
2/3/2019 Skillsoft Course Transcript
innowBoard Introduction
earning Objective
fter completing this topic, you should be able to
identify the features of the MinnowBoard platform
.
In this video, we'll look at the different features of the MinnowBoard. Now the MinnowBoard is yet
nother Internet of Things platform that's available to us. It's compact at just 10.6 centimeter squared.
It's also affordable. And it has an open and simple hardware design that really promotes customization.
he MinnowBoard uses standard off-the-shelf components for easy replication. It's actually based off the
Intel Atom E640 processor. If you're not familiar with the E640, it's a 32-bit, single-core, dual-thread, 1
Hz CPU with on-board Intel GMA600 graphics. This processor also supports advanced configuration
nd Power Interface Specification version 5.0. And it has UEFI firmware. It also has numerous input and
utput features.
n the software side of things, the MinnowBoard runs Angstrom Linux distribution, which provides a
ariety of different software packages that are relevant to and optimized for embedded applications.
ngstrom is actually registered as Yocto Project Compatible. And that makes it the most flexible build
ystem for embedded Linux on the open source market. In this video, we looked at the different features
f the MinnowBoard.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 20/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we'll look at the accessory and expansion possibilities of the MinnowBoard. Now, in the
ame way that the Arduino provide shields, well the MinnowBoard – it has Lures. The Lure expansion
ort is designed to be stackable. Up to four devices can be easily incorporated in the chassis. Some of
he Lures that are currently under the development are the Beacon Board – which has a tricolor LED;
rainer Lure – which has an Arduino-compatible and user-programmable ATmega328 processor. There
is also the LVDS Lure. And there is the Automotive Lure. And now that's actually got support for ODB2.
nd it could potentially be used to program start and shut down with your vehicle ignition. It could also
interface to read ignition voltages – VIN voltage – and currents. It could also be used to turn off auxiliary
evices that are connected to your vehicle through the auxiliary 12-volt outlets. Now, developers – they
lso have the ability to develop their own Lures as well.
ow all accessory interface connections, they're done through the Lure expansion port. So we're talking
PIO, CAN bus, PCI Express, and more. Now using these different types of interfaces, it is possible to
onnect discrete logic-level components and sensors and serial devices. You can also connect HD audio
evices and SD cards to the Lure. In this video, we looked at some of the accessories and expansion
apabilities that are available for the MinnowBoard.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 21/28
2/3/2019 Skillsoft Course Transcript
innowBoard Variants
earning Objective
fter completing this topic, you should be able to
identify the features of the MinnowBoard MAX
.
In this video, we're going to look at another variation of the MinnowBoard. Now, aside from the original
innowBoard, there is also an updated version and it's called the MinnowBoard MAX. Now, the MAX – it
hips without any operating system and it's based off the Intel Atom Bay Trail processor. And that Bay
rail processor is capable of running either a 32-bit or a 64-bit operating system. In fact, the MAX is
ven compatible with Windows 8.1.
ow the specific chip that it uses is the Atom E3825 and it runs at 1.33 GHz. It also supports up to 2 GB
f RAM. And it has an integrated Intel HD graphics and HDMI output. Now there is no low-voltage
ifferential signaling output on the MAX like there is on the original MinnowBoard. So that is worth
oting. In this video, we looked at the MinnowBoard MAX – another variation of the original
innowBoard.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 22/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we're going to take a look at programming the MinnowBoard using Linux commands. Now
he MinnowBoard provides a variety of general purpose input/output pins, but some of these have
edicated purposes. The GPIO's – they are accessible via user space in Linux, and that space is located
t /sys/class/gpio. Now there is one directory per GPIO and two files in each directory. The two files are
amed direction and value. The direction is for configuring the mode of the GPIO. So in for input, out for
utput. And the value is set to either one for high or zero for low, if it's used in output mode. The
innowBoard exposes control of the GPIO pins using the Linux SYSFS. And it's a virtual file system,
hich translates the hardware devices and buses that are attached to the system or – in our case – the
oard. And it translates this into a filesystem-type hierarchy that can be accessed from the user space.
YSFS is generated by the kernel and it's always mounted at the /sys directory. Now it is possible to
rogramically alter the state of these GPIOs using simple file system commands. But they can also be
erformed using languages like C and C++.
or the sake of this sample, let's assume that GPIO is number 3. So let's have a look at our sample
ode. If GPIO 3 is referenced as 244 in the kernel and since its set to be input mode by default, we need
o change that to output mode. So, to do this, we would type in the following command in our terminal.
e type in echo out – for output – and then we're going to type in /sys/class/gpio/gpio244 and we're
oing to point it towards the direction file to set our direction to output. And, now that we have our GPIO
in 3 outputting, now we can have a little bit of fun. We can start toggling our LED light on and off. And,
o do that, we need to type in echo 1 – remember, 1 is the value for high – and then
sys/class/gpio/gpio244/value to point towards our value file. And then to toggle it off again, we would
ype echo 0 and then the rest would be the same. In this video, we looked at how to program a
innowBoard using Linux commands.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 23/28
2/3/2019 Skillsoft Course Transcript
Introduction
earning Objective
fter completing this topic, you should be able to
identify the features of the BeagleBone
.
In this video, we're going to look at the features of the BeagleBone. Now the BeagleBone is another
redit card sized computer. This one though, it has some multiple different operating systems that are
vailable for use with it. The BeagleBone supports Android 4.0, Ubuntu, and FreeBSD. Now it also
upports Angstrom Linux and it actually ships with a 4 GB micro-SD card that's preloaded with it. The
eagleBone is powered by an ARM Cortex-A8 processor and it runs at 720 MHz core speed. It also has
56 MB of Double Data Rate 2 RAM and an integrated 3D graphics accelerator. It also has built-in
0/100 network support and USB host and USB on-the-go ports.
ith two 46-pin headers, the BeagleBone has a wealth of expansion possibilities. It has I2C. It has five
ARTs, 66 GPIO pins, and more. Now it's also worth noting that all signals on the BeagleBone are 3.3
olts. In this video, we looked at the features of the BeagleBone.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 24/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we'll look at some of the different expansion possibilities for the BeagleBone. Now the
eagleBone accessories, they are known as capes and similar to shields for the Arduino and Lures for
he MinnowBoard. That's how they work. Now capes plug in to the dual 46-pin headers and provide
dditional headers for stacking additional capes on top of them. In fact, you can stack capes up to a
aximum depth of four just like what the MinnowBoard and where it could stack four deep with its Lures.
nd there are a number of different commercial capes that are already available for you. The
eagleBone DVI-D with audio cape – it provides both DVI-D output and stereo audio input and output for
he BeagleBone. There is the CAN bus cape, that can be used to provide a Controller Area Network
interface. And it can be accessed via a standard D-SUB nine female serial connector. The BeagleBone
bee cape – it allows you to easily mount your Xbee RF module and attain wireless connectivity for your
roject. Developers can also design their own capes. And the BeagleBone also supports a number of
SB and Wi-Fi modules for wireless connectivity.
here are a number of LCD displays, which can connect as what is known as the top cape. They're
vailable for the BeagleBone as well in various sizes and different screen resolutions. Audio output is
lso available through the I2S bus. In this video, we looked at a number of the different expansion
ossibilities for the BeagleBone.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 25/28
2/3/2019 Skillsoft Course Transcript
ariants
earning Objective
fter completing this topic, you should be able to
identify the features of BeagleBoard variants
.
In this video, we'll look at some of the different variants of the BeagleBone hardware. Now, aside from
he standard BeagleBone, there is also a Black edition. And the Black edition...well, it's got a 1 GHz
RM Cortex-A8 processor in it. It's got 512 MB of DDR3 RAM – now that's double the RAM of the
riginal. And it's now DDR3 versus DDR2. It also has 2 GB of flash memory on-board and a micro-SD
ard slot for user data. There is also HDMI support through a micro-HDMI video port. The BeagleBone
lack is actually available at a lower cost than the original BeagleBone and it has smaller physical
imensions. The BeagleBone Black features an integrated power management IC. Now this provides
harging capabilities for user supplied Lithium-polymer or Lithium-ion batteries. It also enables the
inclusion of a soft power-on, power-off button and lower power consumption.
ow another variant that we're going to look at is actually called the BeagleBoard-xM. Now, not to be
onfused with BeagleBone, the BeagleBoard-xM – it was designed to bring a laptop like performance
nd expandability to the next level while adhering to handheld power levels. It has direct connectivity
hat's supported by onboard 4-port USB hubs with 10/100 Ethernet and also maintains a tiny credit card
ized footprint. The BeagleBoard has an ARM Cortex-A8 1GHz CPU, 512 MB of low-power DDR RAM,
nd it has HD video output. It has 2D/3D accelerated graphics, DVI-D, and S-Video outputs. In this
ideo, we looked at a couple of the different versions of the BeagleBone hardware.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 26/28
2/3/2019 Skillsoft Course Transcript
.
In this video, we're going to take a look at the tools used for programming a BeagleBone or BeagleBoard
evice. Now the BeagleBone ships ready-to-use running Angstrom Linux distribution with C++, Perl, and
ython. The Linux drivers support countless USB peripherals, and there is even an interactive tutorial to
tart learning about the capabilities of the device. Now BoneScript is a tool that you'll most likely want to
se. It's a web-based programming environment hosted on the board itself and it uses a JavaScript
library with functions that are similar to those of the Arduino to help simplify programming. Now, because
he actual IDE runs on the board itself, it will be unavailable without actually having a BeagleBoard or
eagleBone connected to your computer. So before you begin programming, you're going to need to set
p your BeagleBone. Now, as I mentioned, it does come ready to run, but you'll still want to get the latest
pdates for your device. There are multiple ways to run the initial software on your board. But it's likely
hat the simplest way is to get an update by creating an exact replica of a bootable micro SD card and
hen boot off of it.
The presenter explains the following set of codes: 1 var b = require('bonescript'); 2 b.pinMode('USR0',
.OUTPUT); 3 b.pinMode('USR1', b.OUTPUT); 4 b.pinMode('USR2', b.OUTPUT); 5 b.pinMode('USR31,
.OUTPUT); 6 b.digitalWrite('USRO', b.HIGH); 7 b.digitalWrite('USR1', b.HIGH); 8 b.digitalWrite('USR2',
.HIGH); 9 b.digitalWrite('USR3', b.HIGH); 10 setTimeout(restore, 2000); 11]
he BeagleBone Black Revision C has 4 gigabytes of EMMC storage that can be initialized by a
rogram booted off of a micro SD card. So, if you wanted to update to the latest software image for your
oard, this is the way to do that. Now the blinking LED script is one of the first programs that you may
ant to run on your board. You could run this using the web-based BoneScript tool. And it should look
like the picture here in our slide. Now I wrote this out in an Arduino IDE just so I could grab a screenshot
f it for the purposes of this video, but the code is accurate. And, if you have a BeagleBone or a
eagleBoard connected to your PC and you were to write this script out in BoneScript, it would start
lashing your LED. In this video, we looked at what is needed to program a BeagleBone or BeagleBoard
evice.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 27/28
2/3/2019 Skillsoft Course Transcript
.
ow that you've spent some time learning all about the MinnowBoard, it's time to put your knowledge to
he test. So, in this exercise, we would like you to toggle LEDs that are connected to the GPIO pins of a
innowBoard using the file system commands. Now, I want you to pause the video and complete the
xercise. And once you've completed it, you can unpause the video and see how I would have tackled
his exercise.
elcome back. Hopefully that exercise wasn't too challenging for you. Let's have a look at how I would
ave tackled this exercise. So the MinnowBoard provides a variety of GPIO pins, some have dedicated
urposes. So, because of that, there are tables that are available online and possibly in your own
ocumentation – that came with your board – that will outline the different GPIOs. And it should also
utline how they're actually referenced in the kernel along with their default modes and default values.
he GPIOs are accessible via the user space in Linux. Remember, that's located at sys/class/gpio. And,
in there, there's one directory per GPIO. And, inside each one of those directories, there are two files –
irection and value. The direction is for configuring the mode of the GPIO – either input or output – while
he value is set to either high or low, one or zero.
ow make sure that you're going to use a compatible LED. So you want one that's 3.3 volts and no
ore than 10 milliamps. What we want to do is set our pin direction by entering the command in our
erminal. So we're going to type in echo out /sys/class/gpio/gpio244, for example – if we're using 244 –
nd then direction. So that's going to echo out. So it's going to set that pin as output. Then we're going
o toggle our LED. So, to do that, we use these two commands, echo 1 and echo 0. And that's all there
is to it. So, if you type those commands correctly and if your MinnowBoard is connected, then you
hould see your LED Blink.
https://cdnlibrary.skillport.com/courseware/Content/cca/dt_ioti_a02_it_enus/output/html/course_transcript.html 28/28