5.3 Unit-V Developing Applications Through IoT Tools
5.3 Unit-V Developing Applications Through IoT Tools
Developing sensor based application through embedded system platform, Implementing IoT concepts with
python.
Raspberry Pi
The history of the Raspberry Pi was basically introduced in 2006. Its main concept is based on Atmel ATmega644
which is particularly designed for educational use and intended for Python. A Raspberry Pi is of small size i.e., of a
credit-card-sized single-board computer, which is developed in the United Kingdom(U.K) by a foundation called
Raspberry Pi. The main motto of this foundation is to promote the teaching of basic computer science in the
education institutes and also in developing countries. The first generation of Raspberry (Pi 1) was released in the
year 2012, which has two types of models namely model A and model B.
In the subsequent year, A+ and B+ models were released. Again in 2015, Raspberry Pi2 model B was released and an
immediate year Raspberry Pi3 model B was released in the market.
Raspberry Pi can be plugged into a TV, computer monitor, and it uses a standard keyboard and mouse. It is user-
friendly as it can be handled by all the age groups. It does everything you would expect a desktop computer to do
like word-processing, browsing the internet spreadsheets, playing games to playing high definition videos. It is used
in many applications like in a wide array of digital maker projects, music machines, parent detectors to the weather
station and tweeting birdhouses with infrared cameras.
All models feature on a Broadcom system on a chip (SOC), which includes chip graphics processing unit GPU(a Video
Core IV), an ARM-compatible and CPU. The CPU speed ranges from 700 MHz to 1.2 GHz for the Pi 3 and onboard
memory range from 256 MB to 1 GB RAM. An operating system is stored in the secured digital SD cards and program
memory in either the MicroSDHC or SDHC sizes. Most boards have one to four USB slots, composite video output,
HDMI and a 3.5 mm phone jack for audio. Some models have WiFi and Bluetooth.
The Raspberry Pi Foundation provides Arch Linux ARM and Debian distributions for download, and promotes Python
as the main programming language, with support for BBC BASIC, Java, C, Perl, Ruby, PHP, Squeak Smalltalk, C++, etc.
The following are essential to get started
Video cable to suit the TV or monitor used
SD card containing Linux Operating system
Power supply (see Section 1.6 below)
USB keyboard
TV or monitor (with DVI, HDMI, Composite or SCART input)
Internet Gateway Device
Internet Gateway Device has the ability to route data approaching from the WSN network to the internet and Send
data coming from the internet to the WSN network. It is like a Wi-Fi router for the Internet of Things. In the internet
gateway device, we use raspberry pi model B, it features a quad-core ARM Cortex- A7 CPU is running at 900MHz (for
a 6x presentation improve on the first generation Raspberry Pi Model B+) and 1GB of LPDDR2 SDRAM (for a 2x
memory increase). And yes, there is total compatibility with Raspberry Pi1 we are secured. Broadcom’s new SoC, the
BCM2836, is the key factor.
Five steps we are using Internet Gateway Device
Port Linux operating system on Raspberry Pi
Modify Linux to work with Our Prototype
Developed Python Library for Communication of RPI with Xbee ZB
Wrote Program from sensors and Device controlling
Create WI-FI functionality on RPI for Internet Connection
WSN Nodes
A wireless sensor network (WSN) consists of three main components: nodes, gateways, and software. The spatially
dispersed measurement nodes interface with the sensors to monitor assets or their surroundings. The acquired
information is wirelessly transmitted to the gateway, which provides a connection to the wired globe where you can
collect, procedure, analyze, and present your measurement information using the software. Routers are an
individual type of dimension node that you can use to expand the distance and dependability in a WSN. Sensors can
be dispersed on the roads, vehicles, hospitals, buildings, people and allow dissimilar applications such as medical
services, battlefield operations, disaster response, disaster relief, and environmental monitoring.
Linux on Raspberry Pi
• Raspbian
• Raspbian Linux is a Debian Wheezy port optimized for Raspberry Pi.
• Arch
• Arch is an Arch Linux port for AMD devices.
• Pidora
• Pidora Linux is a Fedora Linux optimized for Raspberry Pi.
• RaspBMC
• RaspBMC is an XBMC media-center distribution for Raspberry Pi.
• OpenELEC
• OpenELEC is a fast and user-friendly XBMC media-center distribution.
• RISC OS
• RISC OS is a very fast and compact operating system.
Raspberry Pi GPIO
Raspberry Pi Interfaces
• Serial
• The serial interface on Raspberry Pi has receive (Rx) and transmit (Tx) pins for communication with
serial peripherals.
• SPI
• Serial Peripheral Interface (SPI) is a synchronous serial data protocol used for communicating with
one or more peripheral devices.
• I2C
• The I2C interface pins on Raspberry Pi allow you to connect hardware modules. I2C interface
allows synchronous data transfer with just two pins - SDA (data line) and SCL (clock line).
Raspberry Pi Example:
Interfacing LED and switch with Raspberry Pi
#Switch Pin
GPIO.setup(25, GPIO.IN)
#LED Pin
GPIO.setup(18, GPIO.OUT)
state=false
def toggleLED(pin):
state = not state
GPIO.output(pin, state)
while True:
try:
if (GPIO.input(25) == True):
toggleLED(pin)
sleep(.01)
except KeyboardInterrupt:
exit()
Other Devices
• pcDuino
• BeagleBone Black
• Cubieboard
BeagleBone Black
It’s similar to a Raspberry Pi but It’s more powerful, Based on the TI Sitara AM335x, an application
processor SoC containing an ARM Cortex-A8 core. You have more pins to control. They recently won “2013
Top Embedded Innovator award”.
Chip TI AM3359
USB 2.0 type A host port. Dedicated single mini-USB 2.0 client port (no additional 2-
USB 2.0
port hub)
Onboard 2 GB 8-bit embedded MMC on-board flash versionmicroSD card 3.3 V Supported
Storage (No Card Supplied)
Operating
Linux, Android, Cloud9 IDE on Node.js w/ BoneScript library, plus more
System
Price: $45
pcDuino
RAM: 1GB
Price: 59 $
Cubieboard
Arduino
Arduino devices are the microcontrollers and microcontroller kit for building digital devices that can be sense and
control objects in the physical and digital world. Arduino boards are furnished with a set of digital and analog
input/output pins that may be interfaced to various other circuits. Some Arduino boards include USB (Universal
Serial Bus) used for loading programs from the personal computer.
The Arduino is simply perfect for electronics projects and prototyping. You can easy connect some LED’s, sensors,
motors into the board directly. With their user friendly board it easy to do that. To program the Arduino you need
their software (that can be download for free here). Basically with that software you can upload your source code
directly into your Arduino through USB.
After you upload the Arduino code you can unplug the USB cable attach a battery to your Arduino Board and It will
run your program forever. (Read 5 ways to Power Up your Arduino).
The heart of the Arduino is ATMega3280P microcontroller.
The most common board is the Arduino UNO. But you can choose a wide range of options. See here more options.
Specifications:
Microcontroller ATmega328
Operating Voltage 5V
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Price: $20
Raspberry Pi
On the other hand The Raspberry Pi is a complete mini computer. It needs an operating system to work.
All the Storage is provided from a SD card. You can connect this to your network with an Ethernet Cable.
Below I’ll show the specifications for the Model B.The brain of the Pi is a
ARM1176JZF-S 700 MHz. It has graphics it has a HDMI output. You can plug in a
keyboard and monitor, load up Linux, and the less technically savvy might have no
clue how tiny the machine driving everything really is. The Pi is an incredibly
powerful platform in a very small package it’s credit card sized and perfect for
embedded systems, or projects requiring more interactivity and processing power.
Specifications:
Chip Broadcom BCM2835 SoC full HD multimedia applications
processor
CPU 700 MHz Low Power ARM1176JZ-F Applications Processor
Video Output HDMI (rev 1.3 & 1.4) Composite RCA (PAL and NTSC)
Price: $35