INTERNET OF THINGS
TYBSC IT- SEM V
UNIT I
CHAPTER 1:
THE INTERNET OF THINGS: AN OVERVIEW
• THE FLAVOUR OF THE INTERNET OF THINGS
• THE “INTERNET” OF “THINGS”
• THE TECHNOLOGY OF THE INTERNET OF THINGS
• ENCHANTED OBJECTS
• WHO IS MAKING THE INTERNET OF THINGS?
THE FLAVOUR OF THE INTERNET OF
THINGS
THE “INTERNET” OF “THINGS”
• All the cases we saw used the Internet to send, receive, or communicate information.
• And in each case, the gadget that was connected to the Internet wasn’t a computer,
tablet, or mobile phone but an object, a Thing.
• So the idea of the Internet of Things suggests that rather than having a small number of very
powerful computing devices in your life (laptop, tablet, phone) • you might have a large
number of devices which are perhaps less powerful (umbrella, bracelet, mirror, fridge, shoes).
• That is to say, such a device is an intelligently programmed computer processor, driven by
sensors in the real world, and driving output in the real world, all embedded into an everyday
object.
• The Thing is present, physically in the real world, in your home, your work, your car, or worn
around your body. • This means that it can receive inputs from your world and transform
those into data which is sent onto the Internet for collection and processing.
THE “INTERNET” OF “THINGS”
THE TECHNOLOGY OF THE INTERNET OF
THINGS
• As technology has progressed, new categories of objects have been created
• In the electronic age, they were telephones, radios, televisions, computers, and
smartphones. •
• As with most new technology, these devices tended to start out very
expensive and gradually come down in price.
• Ultimately, it becomes not just possible but also feasible to include functionality that
would previously have required its own dedicated device inside another one.
• Mere computing power isn’t a sufficient precondition for the Internet of Things.
• Rather, we are looking at computing power linked on the one hand to electronic
sensors and actuators which interact with the real world and on the other to the
Internet.
ENCHANTED OBJECTS
• various objects drawn from fairy tales and fantasy
literature in ways that apply as much to technological
objects.
• Human Connection
• Effortless Mobility
• Location Tracking
• So, technology has always been associated with magic,
and so this will be true almost by default for the Internet
of Things.
• A key element of many enchanted objects is that above
and beyond their practical enchantment they are given a
name and a personality—implying an intelligence greater
than strictly necessary to carry out the task for which they
are designed.
• So our connected devices, or Things, have processing and
communicating capabilities well beyond the needs of the
average lamp or umbrella.
WHO IS MAKING THE INTERNET OF
THINGS?
There are many crossover points between all the disciplines listed.
• Artists may collaborate with designers on installations or with
traditional craftspeople on printmaking.
• Designers and engineers work closely to make industrial products, and
hobbyist “hackers” (in the sense of tinkerers (unskilled person).
• A software developer might write the online component;
• A designer might turn the ugly prototype into a thing of beauty, possibly
invoking the skills of a craftsperson
• And an engineer might be required to solve difficult technical challenges,
especially in scaling up to production.
CHAPTER 2:
DESIGN PRINCIPLES FOR CONNECTED
DEVICES
• CALM AND AMBIENT TECHNOLOGY
• MAGIC AS METAPHOR
• PRIVACY
• KEEPING SECRETS
• WHOSE DATA IS IT ANYWAY?
• WEB THINKING FOR CONNECTED DEVICES
• SMALL PIECES, LOOSELY JOINED
• FIRST-CLASS CITIZENS ON THE INTERNET
• GRACEFUL DEGRADATION
• AFFORDANCES
CALM AND AMBIENT TECHNOLOGY
• The term “ambient” is not something to which we actively pay attention and in some cases
as something which we seek to remove (e.g., ambient noise in a sound recording).
• The term calm technology—systems which don’t compete for attention yet are ready to
provide utility or useful information when we decide to give them some attention.
• Proliferation of computing devices into the world comes with all manner of new
challenges. •
• Issues include configuration, how to provide power to all these items, how they talk to
each other, and how they communicate with us.
• The networking challenges.
• Configuration and user interaction, however, obviously involve people and so are difficult
problems to solve with just technical solutions.
• This is where good design can aid in adoption and usability.
• Always design a thing by considering it in its next larger context.
CALM AND AMBIENT TECHNOLOGY
• For connected devices which are just sensing their world, (or acting as inputs), as long as their
activity doesn’t require them to query the people around them, there shouldn’t be any issues.
• They will collect information and deposit it into some repository online for processing or
analysis.
• When the devices start interacting with people, things get more complicated.
• Already we’re seeing the number of notifications, pop-ups, and indicator noises on our
computers and mobile phones proliferate.
• When we scale up this number to include hundreds of new services and applications and then
spread that across the rest of the objects in our world, it will become an attention-seeking
cacophony (an unpleasant mixture of loud sounds).
• Calm technology engages both the center and the periphery of our attention, and in fact
moves back and forth between the two.
• A great example of this approach is Live Wire, one of the first Internet of Things devices.
CALM AND AMBIENT TECHNOLOGY: LIVE
WIRE CASE STUDY
• Live Wire (also sometimes called Dangling String) is a simple device.
• An electric motor connected to an eight-foot long piece of plastic string.
• The power for the motor is provided by the data transmissions on the Ethernet network to
which it is connected, so it twitches whenever a packet of information is sent across the network.
• Under normal, light network load, the string twitches (sudden jerk) occasionally.
• If the network is overloaded, the string whirls madly, accompanied by a distinctive noise from the
motor’s activity.
• Conversely, if no network activity is occurring, an unusual stillness comes over the string.
• Both extremes of activity therefore alert the nearby human.
• The mention of the distinctive sound from the motor when the Live Wire is under heavy load brings
up another interesting point.
• Moving the means of conveying information away from screens and into the real world often
MAGIC AS METAPHOR
• In addition to the technology becoming capable of a particular action, we often need society, to be ready to
accept it.
• There are many examples when the main difference between a failed technology and a wildly successful one is that
the successful one arrived a few years later, when people were more receptive to what was offered.
• For a technology to be adopted, it has to make its way inside the manufactured normalcy field((situation in
which everything is normal).
• As a result, the successful user-experience designer is the one who presents users with an experience which
doesn’t stretch the boundaries of their particular normalcy field too far, even if the underlying technology
being employed is a huge leap ahead of the norm.
• Technology blogger Venkatesh Rao came up with a good term to help explain how new technology becomes
adopted.
• He explained a basic fact that we don’t see the present, the world that we live in now, as something that is
changing.
• If we step back for a second, we do know that it has changed.
• Rao called this concept the manufactured normalcy (situation in which everything is normal ) field.
WHEREDIAL: A CASE STUDY
• Some Internet of Things projects draw their inspiration
directly from magic.
• For example, John McKerrell’s WhereDial takes its lead
from the clock in Harry Potter which tracked the
location of the members of the Weasley family.
• The WhereDial, by comparison, has to rely on mere
technology for its capabilities;
• However, with the GPS chipsets in smartphones and
location check-in services like FourSquare, it isn’t much
of a leap to also own an ornament which updates to
show when you are at work, or travelling, or at a
restaurant.
PRIVACY
• With more sensors and devices watching us and reporting
data to the Internet, the privacy of third parties who cross our
sensors’ paths is an important consideration.
• Designers of an Internet of Things service will need to
balance these concerns carefully.
PRIVACY: KEEPING SECRETS: CAR PRKING
CASE STUDY
• An example from an early instrumented car park in a Westfield shopping mall in Australia.
• Each parking bay is overlooked by a small sensor from Park Assist, which uses a cheap camera to tell
whether the space is occupied.
• The sensors are all networked and presumably can provide analytics to the owner of the car park as to
its usage.
• A light on the sensor can help guide drivers to a free space.
• The shopping mall provided a smartphone app for visitors to download so that they could find out
more information about the facilities.
• One of the features of the app was a Find My Car option, Choosing that, you were prompted to enter
the first few characters of your license plate, and the app would then return four small photos of
potential matches—from optical character recognition software processing the sensor data on the
mall’s server.
• security professional found that app was requesting data from the server was a simple unencrypted
PRIVACY: KEEPING SECRETS
• Don’t share more than you need to provide the service.
• “The best way to keep a secret is to never have it”.
• If you can avoid gathering and/or storing the data in the first place, you need not
worry about disclosing it accidentally.
• In this day and age, it is standard practice to never store passwords as clear-text.
• You could also consider applying the standard mechanisms for password encryption, such
as the one-way hash, to other pieces of data.
• One-way hashing is a cryptographic technique used to condense an arbitrarily sized
chunk of data into a fixed-sized piece, called the hash.
• It’s called one-way hashing because there isn’t an easy way, given the resultant hash, to
work out what the original data was.
• Hashing algorithms are so designed such that even a small difference in the
input data leads to a huge difference in the output hash.
RELATED CONCEPTS
• WHOSE DATA IS IT ANYWAY?: Consider the case of a camera deployed in an advertising hoarding
which can check to see whether people are looking at the different adverts. Does the data belong to
the company that installed the camera or to the members of the public who are looking at the adverts?
• WEB THINKING FOR CONNECTED DEVICES: You should aim to get into the mindset of the web and
create devices which are of the web rather than those which just exist on the web.
• SMALL PIECES, LOOSELY JOINED: Even if you are building all the components of your service, it
makes sense not to couple them too tightly together.
• FIRST-CLASS CITIZENS ON THE INTERNET: In the few cases where the existing protocols don’t
work, such as in extremely low-powered sensors, a better solution is to create new open standards
which address the issue.
• GRACEFUL DEGRADATION: This technique involves aiming to provide a fully featured experience if
the client is capable of it but then falling back—potentially in a number of levels—to a less feature-rich
experience on less capable clients.
• AFFORDANCES: Affordances provide strong clues to the operations of things. When affordances are
taken advantage of, the user knows what to do just by looking: no picture, label, or instruction is
required. Complex things may require explanation, but simple things should not.
CHAPTER 3:
INTERNET PRINCIPLES
• INTERNET COMMUNICATIONS:AN OVERVIEW
• IP
• TCP
• UDP
• IP ADDRESSES
• IPV4
• IPV6
• STATIC IP ADDRESS ASSIGNMENT
• DYNAMIC IP ADDRESS ASSIGNMENT (DHCP)
• MAC ADDRESS
• PORT ADDRESS
• DNS
• APPLICATION LAYER PROTOCOLS: HTTP, HTTPS
INTERNET COMMUNICATIONS:AN
OVERVIEW
• Data is sent from one machine to another in a packet, with a destination address
and a source address in a standardized format (a “protocol”).
• Most of the time, the packets of data have to go through a number of intermediary
machines, called routers, to reach their destination.
• The underlying networks aren’t always the same.
• Like a postcard was placed in an envelope before getting passed onwards.
• This happens with Internet packets, too.
• So, an IP packet is a block of data along with the same kind of information you
would write on a physical envelope: the name and address of the server, and so on.
• There is no guarantee, and you can send only what will fit in a single packet.
TCP & THE IP PROTOCOL SUITE (TCP/IP)
• What if you wanted to send longer messages than fit on a postcard?
• Or wanted to make sure your messages got through?
• TCP is built on top of the basic IP protocol and adds sequence numbers, acknowledgements, and
retransmissions.
• This means that a message sent with TCP can be arbitrarily long and give the sender some
assurance that it actually arrived at the destination intact.
• whole suite or stack of protocols layered on top of each other, each layer building on the capabilities
of the one below.
• The low-level protocols at the link layer manage the transfer of bits of information across a network
link.
• The Internet layer uses IP address.
• Then TCP, which lives in the transport layer, sits on top of IP and extends it with more sophisticated
UDP
• It is protocol in the transport layer.
• In UDP each message may or may not arrive.
• No handshake or retransmission occurs, nor is there any
delay to wait for messages in sequence.
• These limitations make TCP preferable for many of the tasks
that Internet of Things devices will be used for.
• The lack of overhead, however, makes UDP useful for
applications such as streaming data, which can cope with
minor errors but doesn’t like delays.
• Voice over IP (VoIP)—computer-based telephony, such as
Skype—is an example of this.
IP ADDRESSES
• In the world of low-level computer networking, however, numbers are much
easier to deal with.
• So, IP addresses are numbers.
• In Internet Protocol version 4 (IPv4), 2^32 addresses are possible.
• Usually written as four 8-bit numbers separated by dots (from [Link] to
[Link]). •
• This “dotted quad” is still exactly equivalent to the 32-bit number.
• Every machine on the Internet has at least one IP address.
• Your home or office network might have only one publicly visible IP address.
DNS
• Although computers can easily handle 32-bit numbers, even formatted as dotted quads they
are easy for most humans to forget.
• The Domain Name System (DNS) helps our brains navigate the Internet.
• Domain names such as the following:
• [Link], [Link]
• Each domain name has a top-level domain (TLD), like .com or .uk, which further subdivides
into .[Link] and .[Link], and so on.
• This top-level domain knows where to find more information about the domains within it;
• for example, .com knows where to find [Link] and [Link].
• The domains then have information about where to direct calls to individual machines or
services.
• For example, the DNS records for .[Link] know where to point you for the following:
• [Link], [Link], [Link]
STATIC IP ADDRESS ASSIGNMENT
• How do you get assigned an IP address?
• If you have bought a server-hosting package from an Internet service provider (ISP), you
might typically be given a single IP address.
• But the company itself has been given a block of addresses to assign.
• Historically, these were ranges of different sizes, typically separated into “classes” of 8 bits,
16 bits, or 24 bits:
• Class A — From 0.x.x.x
• Class B — From 128.0.x.x
• Class C — From 192.0.0.x
• The class C ranges had a mere 8 bits (256 addresses) assigned to them, while the class A
ranges had many more addresses and would therefore be given only to the very largest of
Internet organizations.
• We call this kind of address static because once assigned it won’t change again without
human intervention.
DYNAMIC IP ADDRESS ASSIGNMENT
• Thankfully, we don’t typically have to choose an IP address for every device we connect to a
network.
• Instead, when you connect a laptop, a printer, it can request an IP address from the network itself
using the Dynamic Host Configuration Protocol (DHCP).
• When the device tries to connect, instead of checking its internal configuration for its address, it
sends a message to the router asking for an address.
• The router assigns it an address.
• This is not a static IP address which belongs to the device indefinitely; rather, it is a temporary
“lease” which is selected dynamically according to which addresses are currently available.
• If the router is rebooted, the lease expires, or the device is switched off, some other device may
end up with that IP address.
• Using a static address may be fine for development (if you are the only person connected to it
with that address), but for working in groups or preparing a device to be distributed to other
people on arbitrary networks, you almost certainly want a dynamic IP address.
IPV6
• If your mobile phone, watch, MP3 player, telehealth or sports-monitoring devices are all
connected to the Internet, then you personally are carrying half a dozen IP addresses
already.
• At home you would start with all your electronic devices being connected.
• But beyond that, you might also have sensors at every door and window for security.
• More sensitive sound sensors to detect the presence of mice or beetles.
• Other sensors to check temperature, moisture, and airflow levels for efficiency.
• It is hard to predict what order of number of Internet connected devices a household
might have in the near future. Tens? Hundreds? Thousands?
• Enter IPv6, which uses 128-bit addresses, usually displayed to users as eight groups of
four hexadecimal digits—for example, 001:0db8:85a3:0042 :0000:8a2e:0370:7334.
• The address space (2^128).
IPV6 AND POWERING DEVICES
• We know that we can regularly charge and maintain a small
handful of devices.
• The requirements for large numbers of devices, however, are
very different. • The devices should be low power and very
reliable, while still being capable of connecting to the
Internet.
• Perhaps to accomplish this, these devices will team together
in a mesh network.
MAC ADDRESSES
• Every network-connected device also has a MAC address, which is like the final address on a physical envelope in
our analogy.
• It is used to differentiate different machines on the same physical network so that they can exchange packets.
• This relates to the lowest-level “link layer” of the TCP/IP stack.
• Though MAC addresses are globally unique, they don’t typically get used outside of one Ethernet network (for
example, beyond your home router).
• So, when an IP message is routed, it hops from node to node, and when it finally reaches a node which knows
where the physical machine is, that node passes the message to the device associated with that MAC address.
• MAC stands for Media Access Control.
• It is a 48-bit number, usually written as six groups of hexadecimal digits, separated by colons—for example:
• 01:23:45:67:89:AB
• Most devices, such as your laptop, come with the MAC address burned into their Ethernet chips.
• Some chips, such as the Arduino Ethernet’s WizNet, don’t have a hardcoded MAC address. This is for production
reasons: if the chips are mass produced, they are, of course, identical. So they can’t, physically, contain a
distinctive address.
TCP AND UDP PORTS
• when you send a TCP/IP message over the Internet, you have to send it to the right port.
• TCP ports are referred to by numbers (from 0 to 65535).
• AN EXAMPLE: HTTP PORTS:
• If your browser requests an HTTP page, it usually sends that request to port 80. The web server is “listening” to that
port and therefore replies to it. If you send an HTTP message to a different port, one of several things will happen:
• Nothing is listening to that port, and the machine replies with an “RST” packet (a control sequence resetting the
TCP/IP connection) to complain about this.
• Nothing is listening to that port, but the firewall lets the request simply hang instead of replying.
• The client has decided that trying to send a message to that port is a bad idea and refuses to do it. (list of “restricted
ports”.)
• The message arrives at a port that is expecting something other than an HTTP message. The server reads the client’s
response, decides that it is garbage, and then terminates the connection.
• Ports 0–1023 are “well-known ports”, and only a system process or an administrator can connect to
them.
• Ports 1024–49151 are “registered”, so that common applications can have a usual port number.
APPLICATION LAYER PROTOCOLS
• This is the layer you are most likely to interact with while prototyping an
Internet of Things project.
• A protocol is a set of rules for communication between computers.
• It includes rules about how to initiate the conversation and what format
the messages should be in.
• It determines what inputs are understood and what output is transmitted.
• It also specifies how the messages are sent and authenticated and how to
handle errors caused by transmission.
APPLICATION LAYER PROTOCOLS: HTTP
• The client requests a resource by sending a command to a URL, with some headers.
• Ex: try to get a simple document at [Link]
• The basic structure of the request would look like this: GET /[Link] HTTP/1.1
• Host: [Link]
• We specified the GET method because we’re simply getting the page.
• We then tell the server which resource we want (/[Link]) and what version of the protocol we’re using.
• We write the headers, which give additional information about the request.
• The Host header is the only required header in HTTP 1.1.
• Accept: text/html,application/xhtml+xml, application/ xml;
• Accept-Charset: UTF-8
• Accept-Encoding: gzip
• Accept-Language :en-US
• The Accept- headers tell the server what kind of content the client is willing to receive and are part of
“Content negotiation”.
• Finally, the server sends back its response.
APPLICATION LAYER PROTOCOLS:
HTTPS(ENCRYPTED HTTP)
• If someone eavesdropped your connection (easy to do with tools such as Wireshark if
you have access to the network at either end), that person can easily read the
conversation.
• The HTTPS protocol is actually just a mix-up of plain old HTTP over the Secure Socket
Layer (SSL) protocol.
• An HTTPS server listens to a different port (usually 443) and on connection sets up a
secure, encrypted connection with the client.
• When that’s established, both sides just speak HTTP to each other as before!
• Diffie–Hellman (D-H) key exchange is a way for two people to exchange cryptographic
keys in public. without an eavesdropper being able to decode their subsequent
conversation.
• This is done by each side performing mathematical calculations which are simple to do
THANK YOU!