CHAPTER 2
IOT HARDWARE
MSc. Cao Van Kien
caovankien@iuh.edu.vn
OUTLINE
2.1 Introduction
2.2 IoT device characteristics
2.3 Thing design
2.4 IoT hardware requirements for deploying IoT project
2.5 Python - Building Embedded Linux Systems
2.1. INTRODUCTION
The definition of a “Thing” in the Internet of
Things varies a lot. At hear, we define a Thing
as an embedded computing device (or
embedded system) that transmits and receives
information over a network
2.2. IOT DEVICE CHARACTERISTICS
Data acquisition and control
Data processing and storage
Connectivity
Power management
DATA ACQUISITION AND CONTROL
Data acquisition (DAQ) is the process of measuring real-world conditions and
converting these measurements into digital readings at fixed-time intervals (the
data sample rate).
DAQ is used to manipulate and scale raw sensor readings, and analog-to-digital
converters, which are used to convert the analog sensor readings into digital
values so that they can be processed and analyzed.
Signals: analog, digital ... Resolution: 10 bit, 12bit
Range, conditions, Sensity, accuracy and
manufacturers precision
Hơn triệu Sensors, chọn như thế nào?
DATA ACQUISITION AND CONTROL
Manufacturing to move and grip products?
Chọn như thế nào?
DATA PROCESSING AND STORAGE
Require data
processing and
storage IoT devices Can transmit this
capabilities to data to other
perform basic devices, gateway
handling, devices, or cloud
transformation, services or apps for
and analysis of aggregation and
the data that they analysis
capture Edge IT
Can process data
directly
DATA PROCESSING AND STORAGE
Edge analytics involves performing data analysis at the edges of a network rather
than in a centralized location.
Data can be analyzed in near real-time on the devices themselves, or on a nearby
gateway device (like a router) that the IoT devices are immediately connected to,
rather than devices transmitting large volumes of data upstream to a cloud server
or data center for further analysis.
Processing data at the edge provides an opportunity to aggregate and filter the
data as it is collected, with only the most salient data selected to be sent
upstream.
Ultimately, edge analytics reduces the upstream processing and storage
requirements as well as relieves the load on the network.
DATA PROCESSING AND STORAGE
The processing power and storage that is used by an IoT application will depend
on how much processing occurs on the device itself as opposed to how much
processing is performed by the services or apps that consume the data.
The amount of memory that is available and the specifications of the processor,
including the clock speed and number of cores, determine the rate at which data
can be processed by the device.
The capacity of the non-volatile flash memory, which is used to persist data until it
can be transmitted upstream, determines how much data can be stored on the
device.
Devices performing edge analytics will require substantially more processing
capabilities than devices that perform only basic data processing like validating,
normalizing, scaling, or converting readings.
CONNECTIVITY
Wire or Wireless
Local or Global
POWER MANAGEMENT
Power management is of particular concern for portable and
wearable IoT devices that rely on batteries or other non-wired
power sources like solar
2.3. THING DESIGN
The “thing” is fully integrated into the smart device
2.3. THING DESIGN
WHAT IS AN EMBEDDED SYSTEM?
Embedded systems are based on processor and run
software with a small memory footprint
Medical equipment Misfit wearable
Smart home devices - google
2.3. THING DESIGN
Embeded
hardware system
ASIC and FPGA
Microcontroller Computer board solution
Microchip PC 104 Application-specific integrated circuit
Texas Instrument Raspberry Pi SAMSUNG
ARM Beagleboard ….
NVIDIA embeded computer
AVR
Fanless Embedded Computer Field-programmable gate array
Freescale Advantech Embedded Computer ALTERA
NXP … ….
…
2.3. THING DESIGN
Embeded
software system
Python
Rust
VHDL and Verilog
2.3. THING DESIGN
Basic Structure of an
Embedded System
2.3. THING DESIGN
Basic Structure of an
Embedded System
2.3. THING DESIGN
Type of Embedded
System
2.3. THING DESIGN
Type of Embedded
System
Stand Alone Embedded Systems
Do not require a host system like a computer, it works by itself.
Takes the input from the input ports either analog or digital and processes,
calculates and converts the data and gives the resulting data through the
connected device-which either controls, drives and displays the connected
devices.
mp3 players video game consoles
2.3. THING DESIGN
Type of Embedded
System
Real Time Embedded Systems
a system which gives a required in a particular time.
These types of embedded systems follow the time deadlines for
completion of a task.
Real time embedded systems are classified into two types such as
soft and hard real time systems
2.3. THING DESIGN
Type of Embedded
System
Networked Embedded Systems
These types of embedded systems are related to a network to access the
resources
2.3. THING DESIGN
Type of Embedded
System
Small Scale Embedded Systems
These types of embedded systems are designed with a single 8 or 16-bit
microcontroller, that may even be activated by a battery.
For developing embedded software for small scale embedded systems, the
main programming tools are an editor, assembler, cross assembler and
integrated development environment (IDE).
2.3. THING DESIGN
Type of Embedded
System
Medium Scale Embedded Systems
These types of embedded systems design with a single or 16 or 32 bit
microcontroller, RISCs or DSPs.
These types of embedded systems have both hardware and software
complexities.
For developing embedded software for medium scale embedded systems, the
main programming tools are C, C++, JAVA, Visual C++, RTOS, debugger,
source code engineering tool, simulator and IDE.
2.3. THING DESIGN
Type of Embedded
System
Sophisticated Embedded Systems
These types of embedded systems have enormous hardware and software
complexities, that may need ASIPs, IPs, PLAs, scalable or configurable
processors.
They are used for cutting-edge applications that need hardware and software
Co-design and components which have to assemble in the final system.
5 BEST IOT HARDWARE PLATFORMS
1) Arduino Yun
Arduino Yun is a hybrid board
which has inbuilt Ethernet and
Wi-Fi connectivity features. This
board is powered by
ATmega32u4 which handles
USB communication whereas
the powerful Atheros AR9331
which handles the Wifi and
Ethernet interfaces and comes
with a Linux distribution based
on OpenWrt.
5 BEST IOT HARDWARE PLATFORMS
2)Raspberry Pi
Raspberry Pi is a credit card sized
computing platform which runs on linux
platform. This board features USB ports
for keyboard and mouse, a HDMI port
for display and an Ethernet port for
wired internet connectivity. However for
wireless connectivity we need to go for
Wifi adapters which we can get it from
the market without any trouble.
5 BEST IOT HARDWARE PLATFORMS
3)ESP8266
ESP8266 is a Wi-Fi module that is capable
of providing internet connectivity to any
microcontroller through UART
communication. Also it comes with an
integrated TCP/IP protocol stack
5 BEST IOT HARDWARE PLATFORMS
4)Beaglebone Black
Beaglebone Black is a pretty famous
low-cost development platform built
around ARM Cortex A8 processor. It
runs on Linux environment just like the
Raspberry Pi. This board has in-built
Ethernet Connectivity feature along
with HDMI port to connect a monitor to
work on
5 BEST IOT HARDWARE PLATFORMS
5) Particle.io (Photon and Electron)
Particle.io (formerly known as Spark Core)
Photon and Electron is a Wi-Fi enabled IOT
hardware platform. It was built using
powerful STM32 ARM Cortex M3 and
Broadcom Wi-Fi chip . The striking feature
of this Particle products is a website cloud
platform that allows user to send and
receive data seamlessly from anywhere
rather than only accessing data from your
local network.
2.4 IOT HARDWARE REQUIREMENTS FOR DEPLOYING IOT PROJECT
You will need to consider these kinds of hardware requirements:
Security requirements
Ease of development
Data acquisition, processing and storage requirements
Connectivity requirements
Power requirements
Physical device design
Cost requirements
2.4 IOT HARDWARE REQUIREMENTS FOR DEPLOYING IOT PROJECT
Security requirements
Security requirements relate to the security of the IoT devices themselves,
hardening of the network, and the security of related cloud services and mobile
and web applications
2.4 IOT HARDWARE REQUIREMENTS FOR DEPLOYING IOT PROJECT
Ease of development
While prototyping, ease of development is another high priority requirement so
that you can quickly and easily get your IoT device up and running, capturing
data, and communicating with other devices and the cloud.
Consider the accessibility, availability, and quality of API documentation,
development tools, and support offered by the hardware manufacturer or by the
development community.
2.4 IOT HARDWARE REQUIREMENTS FOR DEPLOYING IOT PROJECT
Data acquisition, processing, and storage requirements
The number of sensors that are connected, the resolution of the data that is
captured, and the rate at which the data is sampled all determine the volume of
data to be processed, which impacts on data processing and storage
requirements.
The amount of data that needs to be retained on a device is dependent on how
frequently the device connects to transmit data upstream.
A wired, always-connected device that is installed in a smart building, one that
streams low volumes of raw data directly to a highly available server, will require
less data processing power and storage compared to a device that needs to
process large volumes of data in bursts.
2.4 IOT HARDWARE REQUIREMENTS FOR DEPLOYING IOT PROJECT
Connectivity requirements
Connectivity requirements for wireless networking include operating range, or
how far the signal will need to be transmitted, as well as the anticipated volume
and rate of data to be transmitted.
Consider fault-tolerance and the ability for a device to reconnect and retry
sending data after it was disconnected
2.4 IOT HARDWARE REQUIREMENTS FOR DEPLOYING IOT PROJECT
Power requirements
Consider whether your device will be wired, or whether it will require a portable
power source like a battery or super capacitor.
If it requires a battery, you need to know the size, weight, and capacity
requirements for the battery, as well as whether the battry should be
rechargeable, replaceable, or whether the device should be discarded after the
battery dies.
If the device is rechargeable, how often should be charged, and by what
means?
2.4 IOT HARDWARE REQUIREMENTS FOR DEPLOYING IOT PROJECT
Physical device design requirements
The physical device design requirements include the appearance and size of
the device.
The environmental conditions in which the device will be installed also need to
be considered.
2.4 IOT HARDWARE REQUIREMENTS FOR DEPLOYING IOT PROJECT
Cost requirements
2.5 PYTHON - BUILDING EMBEDDED LINUX SYSTEMS