Sei sulla pagina 1di 54

A project report on

SMART UNIVERSITY

submitted in partial fulfillment of the requirements for the degree of

B. Tech
In
Electronics and Telecommunication Engineering

By

SAHELI SAMANTA 1404132


SOUMIK NATH 1404266
GULSHAN KUMAR 1404265
ANKUR S DUTTA 1404342
ASMIN ROY 1414007

under the guidance of

Dr. Suman Kumar Dey

School of Electronics Engineering


KIIT deemed to be UNIVERSITY, BHUBANESWAR, APRIL 2019

1
CERTIFICATE
This is to certify that the project report entitled “SMART UNIVERSITY” submitted by
SAHELI SAMANTA 1404132
SOUMIK NATH 1404266
GULSHAN KUMAR 1404265
ANKUR S DUTTA 1404342
ASMIN ROY 1414007
in partial fulfilment of the requirements for the award of the Degree of Bachelor of
Technology in Electronics and Telecommunication Engineering is a bona fide record of
the work carried out under my(our) guidance and supervision at School of Electronics
Engineering, KIIT deemed to be University.

Signature of Supervisor
Dr. Suman Kumar Dey
School of Electronics Engineering
KIIT deemed to be University

The Project was evaluated by us on _____________

EXAMINER 1 EXAMINER 2

EXAMINER 3 EXAMINER 4

2
ACKNOWLEDGEMENTS

We feel immense pleasure and feel privileged in expressing our deepest and most sincere
gratitude to our supervisor Dr. Suman Kumar Dey, for his excellent guidance throughout our
project work. His kindness, dedication, hard work and attention to detail have been a great
inspiration to us. Our heartfelt thanks to you sir for the unlimited support and patience shown
to us. We would particularly like to thank him for all his help in patiently and carefully
correcting all our manuscripts.

We are also very thankful to Professor Jyotiranjan Panda, B.tech project coordinator
(E&TC), Prof. Ghanshyam Rout, Prof. Sandep Kumar Dash and Prof. Bhargav
Appasani (School Of Electronics) for their support and suggestions during our course of the
project work in the final year of our undergraduate course.

SAHELI SAMANTA 1404132


SOUMIK NATH 1404266
GULSHAN KUMAR 1404265
ANKUR S DUTTA 1404342
ASMIN ROY 1414007

3
ABSTRACT

This report discusses the result of work done in the development of


Smart University automation project which aims at automating the
college campus as an example but can be applicable for small homes to
large scale industries.

Motivation
Energy and efficiency are very crucial in the 21 st century. Day by day
as innovation in technology progress our lives and push our civilisation
to new frontiers, our energy consumption also increases at a similar
rate. There is a need to automate the motivation behind this project is
to address this issue and to create smart systems with economical and
efficient available open-source technologies to reduce power
consumption.

The Idea is to make low or negligible power consuming electronics to


drive high power consuming electronics.

4
TABLE OF CONTENTS
Abstract 4
Table of Contents 5
CHAPTER I: INTRODUCTION 6
1.1 Background 6
1.2 Advantage of An Automated System 6

CHAPTER 2: BACKGROUND THEORY OF ARDUINO 7


2.1 Arduino Pinout 8
2.2 Arduino Mega Board 11
CHAPTER 3: MAKING THE ARCHITECTURE OF SMART UNIVERSITY

3.1 Part1: Control System 14

3.2 Part 2: Security System 14


3.3 Part 3: Server Setup 15
3.4 Part 4: Adding User Interface 15
3.5 Working 18
3.6 Circuit Diagram 16
3.7 Working Process 18
3.8 Codes Used for Testing and Deployment 19

CHAPTER 4: Summary & Conclusion


4.1 Limitations 40
4.2 Conclusion 40
4.3 Impact Assessment 40
4.4 Cost Analysis 41
4.5 Future Scope 41
4.6 Gantt Chart 42

4.7 References 43

5
CHAPTER 1
INTRODUCTION
______________________________________________
BACKGROUND

In today’s competitive business climate, process plants are looking for ways to
quickly reduce costs, improve operations, and comply with regulatory
requirements. Addressing these challenges with yesterday’s technologies, while
practical, often has unsatisfactory results and does not yield the desired
competitive advantage. But there is a technology ready for deployment right now
that can address many operational challenges, and it is proven in use with more
than 5 billion operating hours. This innovation consists of adding wireless sensors
to process plants, and then connecting these sensors to internal intranets or to the
Internet to create an industrial Internet of Things (IoT) infrastructure. The data
from these sensors can then be interpreted and analysed to help users save energy,
improve reliability, and increase throughput. This is not some futuristic vision of
the IoT, but is a current reality at many process plants around the globe.

ADVANTAGE OF AN AUTOMATED SYSTEM OVER HUMAN


CONTROLLED ACTIONS
 MACHINES ARE MORE PRECISE THAN HUMANS EVEN THOUGH HUMANS
ARE MORE INTELLIGENT TO MACHINES WHEN IT COMES TO HANDLING
MULTIPLE TASKS IN A SHORT FRAME OF TIME MACHINES ARE BETTER
 AUTOMATED SYSTEMS CAN LAST A LONG TIME WITH REGULAR
MAINTAINANCE AND LESS EFFORT.
 CAN BE CONNECTED TO THE INTERNET.
 HIGH LEVEL OF SECURITY OFFERED BY THE ADVANCED TECHNOLOGIES
THAT ARE FAR ADVANCED THAN TRADITIONAL LOCK AND KEY

6
CHAPTER 2
BACKGROUND THEORY OF ARDUINO
___________________________________________________
This chapter provides background information regarding Arduino. Arduino is an open source
platform used for building electronics projects. Arduino consists of both a physical
programmable circuit board (often referred to as a microcontroller) and a piece of software, or
IDE (Integrated Development Environment) that runs on your computer, used to write and
upload computer code to the physical board.

The Arduino platform has become quite popular with people just starting out with electronics,
and for good reason. Unlike most previous programmable circuit boards, the Arduino does not
need a separate piece of hardware (called a programmer) in order to load new code onto the
board – you can simply use a USB cable. Additionally, the Arduino IDE uses a simplified
version of C++, making it easier to learn to program. Finally, Arduino provides a standard form
factor that breaks out the functions of the micro-controller into a more accessible package.

Figure 1 : Arduino Uno

What Does it Do?

The Arduino hardware and software were designed for artists, designers, hobbyists, hackers,
newbies, and anyone interested in creating interactive objects or environments. Arduino can
interact with buttons, LEDs, motors, speakers, GPS units, cameras, the internet, and even your
smart-phone or your TV! This flexibility combined with the fact that the Arduino software is
free, the hardware boards are pretty cheap, and both the software and hardware are easy to learn

7
has led to a large community of users who have contributed code and released instructions for
a huge variety of Arduino-based projects.

For everything from robots and a heating pad hand warming blanket to honest fortune-telling
machines, and even a Dungeons and Dragons dice-throwing gauntlet, the Arduino can be used
as the brains behind almost any electronics project.

What's on the board?

There are many varieties of Arduino boards that can be used for different purposes. Some
boards look a bit different from the one below, but most Arduinos have the majority of these
components in common:

Figure 2: Arduino Uno Parts

Power (USB / Barrel Jack)

Every Arduino board needs a way to be connected to a power source. The Arduino UNO can
be powered from a USB cable coming from your computer or a wall power supply that is
terminated in a barrel jack. In the picture above the USB connection is labelled (1) and the
barrel jack is labelled (2).

The USB connection is also how you will load code onto your Arduino board.

8
Pins (5V, 3.3V, GND, Analog, Digital, PWM, AREF)

The pins on your Arduino are the places where you connect wires to construct a circuit probably
in conjunction with a breadboard and some wire. They usually have black plastic ‘headers’ that
allow you to just plug a wire right into the board. The Arduino has several different kinds of
pins, each of which is labelled on the board and used for different functions.

 GND (3): Short for ‘Ground’. There are several GND pins on the Arduino, any of which
can be used to ground your circuit.

 5V (4) & 3.3V (5): As you might guess, the 5V pin supplies 5 volts of power, and the
3.3V pin supplies 3.3 volts of power. Most of the simple components used with the
Arduino run happily off of 5 or 3.3 volts.

 Analog (6): The area of pins under the ‘Analog In’ label (A0 through A5 on the UNO)
are Analog In pins. These pins can read the signal from an analog sensor (like
a temperature sensor) and convert it into a digital value that we can read.

 Digital (7): Across from the analog pins are the digital pins (0 through 13 on the UNO).
These pins can be used for both digital input (like telling if a button is pushed) and
digital output (like powering an LED).

 PWM (8): You may have noticed the tilde (~) next to some of the digital pins (3, 5, 6,
9, 10, and 11 on the UNO). These pins act as normal digital pins, but can also be used
for something called Pulse-Width Modulation (PWM).

 AREF (9): Stands for Analog Reference. Most of the time you can leave this pin alone.
It is sometimes used to set an external reference voltage (between 0 and 5 Volts) as the
upper limit for the analog input pins.

Reset Button

Just like the original Nintendo, the Arduino has a reset button (10). Pushing it will temporarily
connect the reset pin to ground and restart any code that is loaded on the Arduino. This can be
very useful if your code doesn’t repeat, but you want to test it multiple times. Unlike the
original Nintendo however, blowing on the Arduino doesn’t usually fix any problems.

9
Power LED Indicator

Just beneath and to the right of the word “UNO” on your circuit board, there’s a tiny LED next
to the word ‘ON’ (11). This LED should light up whenever you plug your Arduino into a power
source. If this light doesn’t turn on, there’s a good chance something is wrong. Time to re-
check your circuit!

TX RX LEDs

TX is short for transmit, RX is short for receive. These markings appear quite a bit in
electronics to indicate the pins responsible for serial communication. In our case, there are two
places on the Arduino UNO where TX and RX appear – once by digital pins 0 and 1, and a
second time next to the TX and RX indicator LEDs (12). These LEDs will give us some nice
visual indications whenever our Arduino is receiving or transmitting data (like when we’re
loading a new program onto the board).

Main IC

The black thing with all the metal legs is an IC, or Integrated Circuit (13). Think of it as the
brains of our Arduino. The main IC on the Arduino is slightly different from board type to
board type, but is usually from the ATmega line of IC’s from the ATMEL company. This can
be important, as you may need to know the IC type (along with your board type) before loading
up a new program from the Arduino software. This information can usually be found in writing
on the top side of the IC. If you want to know more about the difference between various IC’s,
reading the datasheets is often a good idea.

Voltage Regulator

The voltage regulator (14) is not actually something you can (or should) interact with on the
Arduino. But it is potentially useful to know that it is there and what it’s for. The voltage
regulator does exactly what it says – it controls the amount of voltage that is let into the Arduino
board. Think of it as a kind of gatekeeper; it will turn away an extra voltage that might harm
the circuit. Of course, it has its limits, so don’t hook up your Arduino to anything greater than
20 volts.

10
Arduino Mega Board

The Arduino Mega is like the UNO’s big brother. It has lots of digital input/output pins (14 can be used
as PWM outputs), 16 analog inputs, a USB connection, a power jack, and a reset button. It contains
everything needed to support the microcontroller; simply connect it to a computer with a USB cable or
power it with a AC-to-DC adapter or battery to get started. The large number of pins make this board
very handy for projects that require a bunch of digital inputs or outputs (like lots of LEDs or buttons).

Figure 3: Arduino Mega 2560

Keypad

We used a 4x4 keypad which has four columns and four rows which are connected to Arduino
board. The pass-word will be passed from keypad to the Arduino and Arduino will respond
accordingly.

Figure 4: 4x4 Keypad

11
Espressif ESP8266
The ESP8266 is a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller
capability produced by manufacturer Espressif Systems in Shanghai, China. The chip first
came to the attention of western makers in August 2014 with the ESP-01 module, made by a
third-party manufacturer Ai-Thinker. This small module allows microcontrollers to connect to
a Wi-Fi network and make simple TCP/IP connections using Hayes -style commands.
However, at first there was almost no English-language documentation on the chip and the
commands it accepted. [2] The very low price and the fact that there were very few external
components on the module, which suggested that it could eventually be very inexpensive in
volume, attracted many hackers to explore the module, chip, and the software on it, as well as
to translate the Chinese documentation. The ESP8285 is an ESP8266 with 1 MB of built-in
flash, allowing for single-chip devices capable of connecting to Wi-Fi. The successor to these
microcontroller chips is the ESP32, released in 2016.

Figure 5: ESP8366 12E (nodeMCU)

16x2 LCD display


We have used 16x2 liquid crystal display (LCD) for displaying the process, like entering the
password, wrong password detection. When Arduino is set up correctly then message comes
on the screen.

Figure 6: 16x2 LCD display

12
SIM900D GSM Module
GSM (Global System for Mobile communication) is a digital mobile telephony system that is
widely used in Europe and other parts of the world. GSM uses a variation of time division
multiple access (TDMA) and is the most widely used of the three digital wireless telephony
technologies (TDMA and CDMA). SIM900D is a complete Quad-band GSM/GPRS in a
SMT type and designed with a very powerful single chip processor. The SIM900D delivers
GSM/GPRS 850/900/1800/1900 MHz performance for voice calls, SMS, data and Fax in a
small form factor and with low power consumption. It requires an external power supply of
12 V. The Rx pin of Arduino board is connected to Tx pin of SIM900D and the Tx pin of
Arduino board is connected to Rx pin of SIM900D. If the user enters incorrect password
more than 3 times then the GSM module sends the SMS to the owner that the security was
tried to be breached.

Figure 7: Sim 900D gsm module

13
CHAPTER 3

DESIGN AND DEVELOPMENT OF SMART UNIVERSITY

The system is divided into four parts. First part deals with the construction of a control system
that can accept data and process it to perform certain tasks. The second part deals with the
security system and the valid control signals that will allow the microprocessor to perform
selective tasks according to the signals. The third part deals with setting up as server on a
wireless network to connect to devices on the network and to set up interfacing between the
Arduino and Esp8266. The fourth part deals with developing the human interaction and user
interface for ease of access.

Part 1: Control System


In this section we connect the Arduino to the relay and use it to drive high voltage electronics.
We can also use the pins 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 as digital output pins as both digital
input and output pins but analog input is reserved to the a0, a1, a2, a3, a4, a5 pins and the pwm
pins.

WORKING
We put pins 10, 11, 12, 13 as digital output pins where we program the Arduino to supply 5v
to these pins. The input pins IN1, IN2, IN3, IN4 of the relay are connected to the pins 5, 4, 3,
2, of the Arduino. After that we upload the program (Code 1) on the Arduino Mega board and
test the functioning of the leds’ and relays. We use the Serial Monitor to provide the necessary
control signals to control the components.

Part 2: SECURITY SYSTEM


In this section we connect the Arduino to a 4x4 keypad to take input from the keypad.
According to the input of the user the appropriate control signal will be sent to the
microcontroller to process and take action. We divide this process into two modules. The first
module checks for input from the user and the second module sends the necessary control signal
according to the input.

14
WORKING

We put pins a0, a1, a2, a3, a4, a5, a6, a7 of the Arduino as digital input and connect to pins 0,
1, 2, 3, 4, 5, 6, 7 of the 4x4 keypad. For the code we add a header file to the library <Keypad.h>
in order to process the input from the keypad. The keymapping has to be defined and the
characters that are to be used are defined and assigned to the respective row and column
definition as in Code 2. Both the ‘checkKeypress’ and ‘check’ module were added to the
existing code to check for user input and send appropriate control signal.

PART 3: SETTING UP THE SERVER


The server is set up using the ESP8266 module. The ESP8266 is capable of working as a client,
as a soft Access point and as a server. The server can be set up using its own network or an
existing network. For our demonstration we will set the server in an existing network.
WORKING
The ESP8266 needs 3.3v for proper functioning. We set up the server in an existing network
at the address 192.168.43.2 and send data to the Arduino through the transmission and receive
ports. For the purpose of transmission and reception through the ESP8266 we use the library
<SoftwareSerial.h> and define the digital ports that we want for serial communication with the
Arduino. Code 3 was uploaded to the Arduino.

PART 4: ADDING USER INTERFACE


In this section we add a LCD display to display the status of the system and to improve the
ease of access and add a user interface for the server to be accessed through the web by using
HTML, CSS and JAVASCRIPT.
WORKING
For adding the 16x2 LCD display we also need to add the <LiquidCrystal.h> library to our
code as in Code 4 and define the pins that are to be attached to it, in the demonstration pins 33,
31, 29, 27, 25, 23 have been used to connect to the EN, Reset, D4, D5, D6 D7 of the LCD
display. We use HTML to design the skeleton of the web page and CSS to improve the visual
appearance and JAVASCRIPT to add functionality to the webserver page.

15
Circuit Diagram

Figure 8: Circuit Diagram of Smart University (generated on Fritzing)

Components Required
A. Hardware Requirements
 Arduino MEGA
 ESP8266 E-12
 Breadboard
 Android Smartphone
 Jumper Wires
 4X4 Keypad
 LCD display
B. Software Requirements
 Arduino IDE
C. Additional Software used
 Visual Studio Code (a flexible IDE that provides Arduino support)
 Mozilla Firefox Developer Edition (for debugging the server code)
 Fritzing (for circuit analysis and simulation)

16
Working
The user connects to the system through their smartphone by entering the address
http://192.168.43.2 in the web browser. As soon as connection to the server is established the
user can control the components and peripherals in the system. The user can switch between
NORMAL MODE, SECURE MODE and LOCKED MODE. In the normal mode the user can
control the system as usual but in the secure mode the user can only control the system though
the system keypad and in the locked mode the present state is saved and the system is locked.
In that case the operations can be started or stopped only with a password.

Circuit Diagram

Figure 9: Schematic of Smart University (generated on Fritzing)

17
Working Process

LCD
SERVER
KEYPAD ESP8266

Arduino

POWER
RELAY
SUPPLY

LIGHTS

Figure 10: Work Process of Smart University

Screenshot of the Arduino Bluetooth Terminal

Figure 11: GUI of Smart University Server (as generated on a smartphone)

Description of the Smart University System


This system is useful in a school or college situation where there can be multiple moderators.
The moderators can use system whenever they want provided they have Wi-Fi access and only
the admin has hard control over the system so he/she can decide which moderator and at what
time can have access to the system. This system is a base model for future developments and
can be extended and interfaced with more sensors and devices on the network.

18
Code Used in Arduino:
CODE 1:
#define RELAY1 7
#define LED1 9
#define LED2 10
#define LED3 11
#define LED4 12
void setup(){
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
Serial.begin(9600);
pinMode(RELAY1, OUTPUT);
}
void loop(){
digitalWrite(RELAY1,0);
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
Serial.println("Light ON");
delay(2000);
digitalWrite(RELAY1,1);
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
Serial.println("Light OFF");
delay(2000); }

19
CODE 2:
#include <Keypad.h>
const byte numRows= 4; //number of rows on the keypad
const byte numCols= 4; //number of columns on the keypad

//keymap defines the key pressed according to the row and columns just
as appears on the keypad
char keymap[numRows][numCols]=
{
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};

//Code that shows the the keypad connections to the arduino terminals
byte rowPins[numRows] = {9,8,7,6}; //Rows 0 to 3
byte colPins[numCols]= {5,4,3,2}; //Columns 0 to 3

//initializes an instance of the Keypad class


Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins,
numRows, numCols);

void setup(){
Serial.begin(9600);
}

//If key is pressed, this key is stored in 'keypressed' variable


//If key is not equal to 'NO_KEY', then this key is printed out
//if count=17, then count is reset back to 0 (this means no key is
//pressed during the whole keypad scan process

20
void loop(){
char keypressed = myKeypad.getKey();
if (keypressed != NO_KEY){
Serial.print(keypressed);
}
}

Code 3:
#include <ESP8266WiFi.h>
#include<SoftwareSerial.h> //Included SoftwareSerial Library
//Started SoftwareSerial at RX and TX pin of ESP8266/NodeMCU
SoftwareSerial s(D5,D6);

const char* ssid = "WifiServerTest";


const char* password = "test12345";

int ledPin = 4; // GPIO13---D7 of NodeMCU


WiFiServer server(80);

void setup() {
Serial.begin(9600);
s.begin(9600);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// Connect to WiFi network


Serial.println();
Serial.println();

21
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {


delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Start the server


server.begin();
Serial.println("Server started");

// Print the IP address


Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

22
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request


String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request


int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
s.write(1);
Serial.println(1);
}
if (request.indexOf("/LED=OFF") != -1) {
digitalWrite(ledPin, LOW);
value = LOW;
s.write(10);
Serial.println(0);
}

// Return the response


client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one

23
client.println("<!DOCTYPE HTML>");
client.println("<html>");

client.print("Led is now: ");

if(value == HIGH) {
client.print("On");
} else {
client.print("Off");
}
client.println("<br><br>");
client.println("<a href=\"/LED=ON\"\"><button>On </button></a>");
client.println("<a href=\"/LED=OFF\"\"><button>Off
</button></a><br />");
client.println("</html>");

delay(1);
Serial.println("Client disonnected");
Serial.println("");
}

24
Code 4: (This Final code was uploaded to Arduino Mega 2560)
#include <Keypad.h>
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins


LiquidCrystal lcd(33, 31, 29, 27, 25, 23);

const byte numRows= 4; //number of rows on the keypad


const byte numCols= 4; //number of columns on the keypad

//keymap defines the key pressed according to the row and columns just as appears on the
keypad
char keymap[numRows][numCols] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};

//Code that shows the the keypad connections to the arduino terminals
byte rowPins[numRows] = {A0, A1, A2, A3}; //Rows 0 to 3
byte colPins[numCols]= {A4, A5, A6, A7}; //Columns 0 to 3

//initializes an instance of the Keypad class


Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);

String pass = "751024AC";


String test = "test";
String str = "";
String substr = "";

#define LED1 13
#define LED2 12
#define LED3 11
#define LED4 10

#define IN1 5
#define IN2 4
#define IN3 3
#define IN4 2

int data; //Initialized variable to store received data

int mode = 0;
int MODE = 0;
int mSwitch = 0;

25
void menu(){
lcd.clear();
lcd.print("System Mode: ");

substr = "Lck:2 Sec:1 Nr:0";


for(int i = substr.length(); i < 16; i++){
substr = substr + " ";
}
lcd.print(substr);
Serial.println("Lock Mode: 2, Secure Mode: 1, Normal Mode: 0");
}

void check(int M){


if(test.endsWith("CC") || test.endsWith("CCC")){
test = "clear";
Serial.println(test);
return;
}
if(test.endsWith("AA")){
Serial.println(test);
menu();
test = "clear";
Serial.println(test);
return;
}
if(test.endsWith("AB")){
Serial.println(test);
lcd.clear();
Serial.println(test);
return;
}

if(test.endsWith("DC") && MODE != 2){


test.remove(test.indexOf("DC"), 2);
switchControl(test.toInt());
test = "clear";
}

if(test.endsWith("ADD") && MODE != 2){


test.remove(test.indexOf("ADD"), 3);
Serial.println(test);
switch (test.charAt(test.length() - 1)){
case '1' : MODE = 1; break;
case '2' : MODE = 2; break;
default : MODE = 0;
}
substr = "";
test = "clear";

26
Serial.print("MODE:");
Serial.println(MODE);
Serial.println(test);
return;
}
if(test.endsWith("ADD") && MODE == 2){
test.remove(test.indexOf("ADD"), 3);
Serial.println(test);
switch (test.charAt(test.length() - 1)){
case '1' : mSwitch = 1; break;
case '0' : mSwitch = 0; break;
default : MODE = 2;
}
lcd.clear();
lcd.print("Enter Password:");
test = "clear";
Serial.print("MODE:");
Serial.println(MODE);
Serial.println(test);
return;
}

switch(M){
case 2 :
if(test.endsWith("AC")){
if(pass.equals(test)){
Serial.println("Password Correct!");
MODE = mSwitch;
test = "test";
menu();
}else{
Serial.println("incorrect password!");
test = "test";
lcd.setCursor(0,1);
lcd.print("password incorrect");
}
}
break;

case 1:

break;

default:
Serial.println("checked");
}
}

27
void checkKeypress(){
char keypressed = myKeypad.getKey();
if (keypressed != NO_KEY){
Serial.println(keypressed);
if(test.equals("test") || test.equals("clear") || test.length() > 9){
test = String(keypressed);
Serial.println(test);
}
else{
test = String(test+keypressed);
Serial.println(test);
check(MODE);
}
}
}

void setDisplayMode(){
switch(MODE){
case 2:
if(!str.equals("Lock Mode:")){
str = "Lock Mode:";
lcd.clear();
lcd.print(str);
}else{
str = "Lock Mode:";
}
break;
case 1:
if(!str.equals("Secure Mode:")){
str = "Secure Mode:";
lcd.clear();
lcd.print(str);
}else{
str = "Secure Mode:";
}
break;
default:
if(!str.equals("Normal Mode:")){
str = "Normal Mode:";
lcd.clear();
lcd.print(str);
}else{
str = "Normal Mode:";
}
}
}

28
void switchControl(int d){
lcd.setCursor(0,1);
substr = "";
lcd.print(substr);
switch(d){
case 1:
digitalWrite(LED1, HIGH);
substr = "LED 1: ON";
break;

case 6: //MODE 1 ON
digitalWrite(IN1, LOW);
substr = "RELAY 1: ON";
break;

case 10: //MODE 0 OFF


digitalWrite(LED1, LOW);
substr = "LED 1: OFF";
break;

case 15: //MODE 1 OFF


digitalWrite(IN1, HIGH);
substr = "RELAY 1: OFF";
break;

case 2:
digitalWrite(LED2, HIGH);
substr = "LED 2: ON";
break;

case 7: //MODE 1 ON
digitalWrite(IN2, LOW);
substr = "RELAY 2: ON";
break;

case 20: //MODE 0 OFF


digitalWrite(LED2, LOW);
substr = "LED 2: OFF";
break;

case 25:
digitalWrite(IN2, HIGH);
substr = "RELAY 2: OFF";
break;

29
case 3:
digitalWrite(LED3, HIGH);
substr = "LED 3: ON";
break;

case 8: //MODE 1 ON
digitalWrite(IN3, LOW);
substr = "RELAY 3: ON";
break;

case 30: //MODE 0 OFF


digitalWrite(LED3, LOW);
substr = "LED 3: OFF";
break;

case 35: //MODE 1 OFF


digitalWrite(IN3, HIGH);
substr = "RELAY 3: OFF";
break;

case 4: //MODE 0 ON
digitalWrite(LED4, HIGH);
substr = "LED 4: ON";
break;

case 9: //MODE 1 ON
digitalWrite(IN4, LOW);
substr = "RELAY 4: ON";
break;

case 40: //MODE 0 OFF


digitalWrite(LED4, LOW);
substr = "LED 4: OOFF";
break;

case 45: //MODE 1 OFF


digitalWrite(IN4, HIGH);
substr = "RELAY 4: OFF";
break;

default:
Serial.println("Wrong input");
substr = "Wrong input";
}

//Clear residual characters on screen


for(int i = substr.length(); i < 16; i++){
substr = substr + " ";

30
}
lcd.print(substr);
}

void setup() {
//Serial Begin at 9600 Baud
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);

// set up the LCD's number of columns and rows:


lcd.begin(16, 2);
// Print a message to the LCD.
str = "Starting System...";
substr = "wifi: enabled";
lcd.print(str);
lcd.setCursor(0,1);
lcd.print(substr);
delay(2000);
}

void loop() {
checkKeypress();
setDisplayMode();
if(Serial.available()){
data = Serial.read(); //Read the serial data and store it
Serial.println(data);
}

// nodeMCU();
if(MODE == 0){
if(data){
switchControl(data);

31
}

}else{
if(!substr.equals("Wifi: disabled")){
substr = "Wifi: disabled";
lcd.setCursor(0,1);
lcd.print(substr);
}else{
substr = "Wifi: disabled";
}

Code: 5 (This final code was uploaded to ESP8366)


#include <ESP8266WiFi.h>
#include<SoftwareSerial.h> //Included SoftwareSerial Library
//Started SoftwareSerial at RX and TX pin of ESP8266/NodeMCU
SoftwareSerial s(D5,D6);

const char* ssid = "WifiServerTest";


const char* password = "test12345";

int ledPin = 4; // GPIO4---D2 of NodeMCU


WiFiServer server(80);

int mode = 0;

void setup() {
Serial.begin(9600);
s.begin(9600);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// Connect to WiFi network


Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

32
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Start the server


server.begin();
Serial.println("Server started");

// Print the IP address


Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request


String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request


int value1 = LOW;
int value2 = LOW;
int value3 = LOW;
int value4 = LOW;

if (request.indexOf("/LED1=ON") != -1) {
digitalWrite(ledPin, HIGH);
value1 = HIGH;
s.write((1+mode));
Serial.println(1);
}
if (request.indexOf("/LED1=OFF") != -1) {

33
digitalWrite(ledPin, LOW);
value1 = LOW;
s.write((10+mode));
Serial.println(0);
}
if (request.indexOf("/LED2=ON") != -1) {
digitalWrite(ledPin, HIGH);
value2 = HIGH;
s.write(2+mode);
Serial.println(1);
}
if (request.indexOf("/LED2=OFF") != -1) {
digitalWrite(ledPin, LOW);
value2 = LOW;
s.write(20+mode);
Serial.println(0);
}if (request.indexOf("/LED3=ON") != -1) {
digitalWrite(ledPin, HIGH);
value3 = HIGH;
s.write(3+mode);
Serial.println(1);
}
if (request.indexOf("/LED3=OFF") != -1) {
digitalWrite(ledPin, LOW);
value3 = LOW;
s.write(30+mode);
Serial.println(0);
}if (request.indexOf("/LED4=ON") != -1) {
digitalWrite(ledPin, HIGH);
value4 = HIGH;
s.write(4+mode);
Serial.println(1);
}
if (request.indexOf("/LED4=OFF") != -1) {
digitalWrite(ledPin, LOW);
value4 = LOW;
s.write(40+mode);
Serial.println(0);
}
if (request.indexOf("/MODE=LED") != -1) {
digitalWrite(ledPin, HIGH);
mode = 0;
Serial.println("MODE: LED");
}

if (request.indexOf("/MODE=RELAY") != -1) {
digitalWrite(ledPin, LOW);
mode = 5;

34
Serial.println("MODE: RELAY");
}

// Return the response


client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html; charset=utf-8");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head>");

//------------------------------------------------------------------------CSS-----------
---------------------------------------------------------
client.println("<style>");
client.println("body{background-color:#1A1A1D;height:100vh; width:100vw; box-sizing:
border-box; margin:0; padding: 0; font-size: 10px; font-family: helvetica}");
//heading
client.println("h1{color:#950741; display: inline-block; font-size: 3rem; margin: 1rem
2rem;}");
client.println("h2{color:#C3083F; display: inline-block; font-size: 3.5rem; margin:
.5rem 2rem;}");
client.println(".heading>h1{color:#1A1A1D; display: block; font-size: 4rem; margin:
.5rem 2rem;}");
client.println(".heading{background-color:#C3083F;text-align: center}");
client.println("div{text-align: center}");
client.println(".onOff{margin: 3rem auto}");
client.println(".mode{border: 2px solid #950740, border-radius: 1rem}");
client.println(".theme{position: fixed; display: block; right: 5rem; bottom: 1rem;}");
//buttons
client.println("button{color:#C3083F;margin: auto 3rem; padding: 0.5rem 1rem;
background-color:#1A1A1D; font-size: 3rem;border-radius: 2rem; border: 3px solid
#C3083F}");
client.println("</style>");
client.println("</head>");
//--------------------------------------------------------------HTML BODY---------------
----------------------------------------------------------
client.println("<body>");
client.println("<div class=\"heading\">");
client.println("<h1>");
client.print("Smart University Remote WiFi Server");
client.println("</h1>");
client.println("</div>");

client.println("<div class=\"onOff\">");
client.println("<h1>");

35
client.print("Led is now: ");
client.println("</h1>");
client.println("<h2>");
if(value1 == HIGH) {
client.print("On");
} else {
client.print("Off");
}
client.println("</h2>");
client.println("<br><hr style=\" color: #c3083f; border: 3px solid #6f2232 \"><br>");

client.println("<a href=\"/LED1=ON\"\"><button class=\"btn\">On </button></a>");


client.println("<a href=\"/LED1=OFF\"\"><button class=\"btn\">Off </button></a><br />");
client.println("</div>");

client.println("<div class=\"onOff\">");
client.println("<h1>");
client.print("Led is now: ");
client.println("</h1>");
client.println("<h2>");
if(value2 == HIGH) {
client.print("On");
} else {
client.print("Off");
}
client.println("</h2>");
client.println("<br><hr style=\" color: #c3083f; border: 3px solid #6f2232 \"><br>");

client.println("<a href=\"/LED2=ON\"\"><button class=\"btn\">On </button></a>");


client.println("<a href=\"/LED2=OFF\"\"><button class=\"btn\">Off </button></a><br />");

client.println("</div>");
client.println("<div class=\"onOff\">");
client.println("<h1>");
client.print("Led is now: ");
client.println("</h1>");
client.println("<h2>");
if(value3 == HIGH) {
client.print("On");
} else {
client.print("Off");
}
client.println("</h2>");
client.println("<br><hr style=\" color: #c3083f; border: 3px solid #6f2232 \"><br>");

client.println("<a href=\"/LED3=ON\"\"><button class=\"btn\">On </button></a>");


client.println("<a href=\"/LED3=OFF\"\"><button class=\"btn\">Off </button></a><br />");

36
client.println("</div>");
client.println("<div class=\"onOff\">");
client.println("<h1>");
client.print("Led is now: ");
client.println("</h1>");
client.println("<h2>");

if(value4 == HIGH) {
client.print("On");
} else {
client.print("Off");
}
client.println("</h2>");
client.println("<br><hr style=\" color: #c3083f; border: 3px solid #6f2232 \"><br>");

client.println("<a href=\"/LED4=ON\"\"><button class=\"btn\">On </button></a>");


client.println("<a href=\"/LED4=OFF\"\"><button class=\"btn\">Off </button></a><br />");
client.println("</h2>");
client.println("</div>");

client.println("</div>");
client.println("<div class=\"onOff mode\">");
client.println("<h1>");
client.print("Choose Control Option: ");
client.println("</h1>");
client.println("<h2>");
if(mode == 0) {
client.print("Lights (LED)");
} else {
client.print("Relay (BULBS)");
}
client.println("</h2>");
client.println("<br><hr style=\" color: #c3083f; border: 3px solid #6f2232 \"><br>");

client.println("<a href=\"/MODE=LED\"\"><button id=\"led\" class=\"btn\">LED


</button></a>");
client.println("<a href=\"/MODE=RELAY\"\"><button id=\"relay\" class=\"btn\">Relay
</button></a><br />");
client.println("</h2>");
client.println("</div>");

client.println("<div class=\"theme\">");
client.println("<a href=\"#\"><button id=\"theme-green\" style=\"display:inline-block;
color:#88C232; border: 3px solid #61892F; text-decoration: none\">Green </button></a>");
client.println("<a href=\"#\"><button id=\"theme-pink\" style=\"display:inline-block;
color:#C3083F; border: 3px solid #C3083F; text-decoration: none\">Pink </button></a>");
client.println("</div>");

37
//-------------------------------------------------------------JavaScript-----------------
-----------------------------------------------------
client.println("<script>");
client.println("document.querySelector(\'#led\').addEventListener('click',() => { ");
client.println("localStorage.setItem(\"mode\", JSON.stringify(0))");
client.println("});");

client.println("document.querySelector(\'#relay\').addEventListener('click',() => { ");


client.println("localStorage.setItem(\"mode\", JSON.stringify(1))");
client.println("});");

client.println("document.querySelector(\'#theme-green\').addEventListener('click',() =>
{ ");
client.println("document.querySelector(\'.heading\').style.backgroundColor = \"#61892F\"
");
client.println("document.querySelector(\'.heading>h1\').style.color = \"#ffff\"; ");

client.println("const btn = document.querySelectorAll(\'.btn\');");


client.println("btn.forEach((e)=>{");
client.println("e.style.border = \"3px solid #61892F\"; ");
client.println("e.style.color = \"#88C232\"; ");
client.println("});");

client.println("const h1 = document.querySelectorAll(\'.onOff h1\');");


client.println("h1.forEach((e)=>{");
client.println("e.style.color = \"#61892F\" ;");
client.println("});");
client.println("const h2 = document.querySelectorAll(\'.onOff h2\');");
client.println("h2.forEach((e)=>{");
client.println("e.style.color = \"#88C232\"; ");
client.println("});");

client.println("const hr = document.querySelectorAll(\'hr\');");
client.println("hr.forEach((e)=>{");
client.println("e.style.color = \"#6b6e70\"; ");
client.println("e.style.border = \"3px solid #474b4f\"; ");
client.println("});");

client.println("console.log(\"This button is pressed\");");


client.println("});");

38
client.println("document.querySelector(\'#theme-pink\').addEventListener('click',() => {
");
client.println("document.querySelector(\'.heading\').style.backgroundColor = \"#c3083f\"
");
client.println("document.querySelector(\'.heading>h1\').style.color = \"#1A1A1D\"; ");

client.println("const btn = document.querySelectorAll(\'.btn\');");


client.println("btn.forEach((e)=>{");
client.println("e.style.border = \"3px solid #c3083f\"; ");
client.println("e.style.color = \"#c3083f\"; ");
client.println("});");

client.println("const h1 = document.querySelectorAll(\'.onOff h1\');");


client.println("h1.forEach((e)=>{");
client.println("e.style.color = \"#950741\"; ");
client.println("});");
client.println("const h2 = document.querySelectorAll(\'.onOff h2\');");
client.println("h2.forEach((e)=>{");
client.println("e.style.color = \"#c3083f\"; ");
client.println("});");
client.println("const hr = document.querySelectorAll(\'hr\');");
client.println("hr.forEach((e)=>{");
client.println("e.style.color = \"#c3083f\"; ");
client.println("e.style.border = \"3px solid #6f2232\"; ");
client.println("});");

client.println("console.log(\"This button is pressed\");");


client.println("});");
client.println("</script>");

client.println("</body>");
client.println("</html>");
delay(1);
Serial.println("Client disconnected");
Serial.println("");
}

39
Chapter 4
Summary

Limitations
 The most striking problem for those models operating with smartphones, is linked to
the possibility of not being able to control the system when the battery of the
smartphone is down.

 Another matter related to system regards a sudden blackout of the control unit or a fault
of the recognition device.

 Being electronic devices, they might be violated by IT experts who can create
unauthorized fake access codes with smartphones.

 There is a possibility that you may forget your pin that you set to unlock it.

 Other disadvantage of automated systems is that electrically-powered systems may not


function properly in the case of a power failure.

Conclusion
With the advancement in technology day by day automation is becoming easier and more
accessible to people. They provide a faster and economic way to control systems that are
repetitive and mechanical in nature. With the advancement of scripting languages and the
internet it’s becoming easier to code easy to use graphical user interfaces. Automated smart
systems have a huge prospect in educational institutes, medical care and shops and storage
warehouses.

Impact Assessment
Smart University Automation System

Such a system is easy to manufacture with low cost and energy consumption and will not only
make controlling easier but will improve the ecological footprint of the area it’s implemented
in.

40
Easy to manage

Moderators can easily connect to the server at any time with their smartphones or personal
computers and take control of the system. With some improvements in the system it is also
possible to see the users that are currently engaged with the system and to revoke or invoke
access for a desired user.

Control and flexibility

The system can be accessed through any wifi enabled device.

COST ANALYSIS

The system is quite cost effective. The installation might feel expensive but the investment is
worthwhile in the long run as all the components involved are electronic and robust. The whole
system can be installed with an investment of 5000-6000 Rupees. The future seems good financially
but if broken expert consultation may cost the user as the system can only be repaired by a
electronics expert. The system may be exploited by a hacker attack which may prove to be fatal and
the investment may seem pointless. But keeping in account the Indian general public knowledge on
electronic devices the system will seem quite secured.

Future Scope

The security level can be increased by adding a login system for users on the wireless network. The
Lock mode can be improved by adding biometric fingerprint scanner.

Result

This hardware project has performed the locking and unlocking functions as expected. Any
Arduino-Uno or Nano compatible board can be used for this project. The main hurdle to overcome
in this project is to interface the Arduino Uno Board with the hardware components. Some new
systems take advantage of technologies like fingerprint scanning, iris scanning, retinal scanning,
voiceprint identification to authenticate users.

41
PLANNING AND PROJECT MANAGEMENT

Figure 12: Gantt table

Figure 13: Gantt chart

42
References

1. Brown, Eric (13 September 2016). "Who Needs the Internet of Things?". Linux.com.
Retrieved 23 October 2016.
2. Brown, Eric (20 September 2016). "21 Open Source Projects for IoT". Linux.com.
Retrieved 23 October 2016.
3. "Internet of Things Global Standards Initiative". ITU. Retrieved 26 June 2015.
4. Hendricks, Drew. "The Trouble with the Internet of Things". London Datastore. Greater
London Authority. Retrieved 10 August 2015.
5. Wigmore, I. (June 2014). "Internet of Things (IoT)". TechTarget.
6. "The "Only" Coke Machine on the Internet". Carnegie Mellon University. Retrieved 10
November 2014.
7. "Internet of Things Done Wrong Stifles Innovation". InformationWeek. 7 July 2014.
Retrieved 10 November 2014.
8. Mattern, Friedemann; Floerkemeier, Christian (2010). "From the Internet of Computer
to the Internet of Things" (PDF). Informatik-Spektrum. 33 (2): 107–121.
Bibcode:2009InfSp..32..496H. doi:10.1007/s00287-010-0417-7. Retrieved 3 February
2014.
9. Weiser, Mark (1991). "The Computer for the 21st Century" (PDF). Scientific
American. 265 (3): 94–104. Bibcode:1991SciAm.265c..94W.
doi:10.1038/scientificamerican0991-94. Archived from the original (PDF) on 11 March
2015. Retrieved 5 November 2014.
10. Raji, RS (June 1994). "Smart networks for control". IEEE Spectrum.
11. Pontin, Jason (29 September 2005). "ETC: Bill Joy's Six Webs". MIT Technology
Review. Retrieved 17 November 2013.
12. Ashton, K. (22 June 2009). "That 'Internet of Things' Thing". Retrieved 9 May 2017.
13. "Peter Day's World of Business". BBC World Service. BBC. Retrieved 4 October 2016.
14. Magrassi, P. (2 May 2002). "Why a Universal RFID Infrastructure Would Be a Good
Thing". Gartner research report G00106518.
15. Magrassi, P.; Berg, T (12 August 2002). "A World of Smart Objects". Gartner research
report R-17-2243.
16. Commission of the European Communities (18 June 2009). "Internet of Things — An
action plan for Europe" (PDF). COM(2009) 278 final.

43
17. Wood, Alex (31 March 2015). "The internet of things is revolutionizing our lives, but
standards are a must". The Guardian.
18. HUVIO, Eero, GRÖNVALL, John, FRÄMLING, Kary. Tracking and tracing parcels
using a distributed computing approach. In: SOLEM, Olav (ed.) Proceedings of the
14th Annual Conference for Nordic Researchers in Logistics (NOFOMA'2002),
Trondheim, Norway, 12–14 June 2002. pp. 29–43.
19. FRÄMLING, Kary. Tracking of material flow by an Internet-based product data
management system (in Finnish: Tavaravirran seuranta osana Internet-pohjaista
tuotetiedon hallintaa). Tieke EDISTY magazine, No. 1, 2002, Publication of Tieke
(Finnish Information Society Development Centre), Finland, 2002. pp. 24–25.
20. FRÄMLING, Kary, HOLMSTRÖM, Jan, ALA-RISKU, Timo, KÄRKKAINEN,
Mikko. Product agents for handling information about physical objects . Report of
Laboratory of Information Processing Science series B, TKO-B 153/03, Helsinki
University of Technology, 2003. 20 p.
21. Dave Evans (April 2011). "The Internet of Things: How the Next Evolution of the
Internet Is Changing Everything" (PDF). CISCO White Paper.
22. Vongsingthong, S.; Smanchat, S. (2014). "Internet of Things: A review of applications
& technologies" (PDF). Suranaree Journal of Science and Technology.
23. "The Enterprise Internet of Things Market". Business Insider. 25 February 2015.
Retrieved 26 June 2015.
24. Perera, C.; Liu, C. H.; Jayawardena, S. (December 2015). "The Emerging Internet of
Things Marketplace From an Industrial Perspective: A Survey". IEEE Transactions on
Emerging Topics in Computing. 3 (4): 585–598. arXiv:1502.00134.
doi:10.1109/TETC.2015.2390034. ISSN 2168-6750.
25. Ometov, A.; Bezzateev, S. V.; Kannisto, J.; Harju, J.; Andreev, S.; Koucheryavy, Y.
(July 2017). "Facilitating the Delegation of Use for Private Devices in the Era of the
Internet of Wearable Things". IEEE Internet of Things Journal. 4 (4): 843–854.
doi:10.1109/JIOT.2016.2593898. ISSN 2327-4662.
26. "How IoT's are Changing the Fundamentals of "Retailing"". Trak.in – Indian Business
of Tech, Mobile & Startups. 30 August 2016. Retrieved 2 June 2017.
27. Kang, Won Min; Moon, Seo Yeon; Park, Jong Hyuk (5 March 2017). "An enhanced
security framework for home appliances in smart home". Human-centric Computing
and Information Sciences. 7 (6). doi:10.1186/s13673-017-0087-4.

44
28. "How IoT & smart home automation will change the way we live". Business Insider.
Retrieved 10 November 2017.
29. Greengard, Samuel (2015). The Internet of Things. Cambridge, MA: MIT Press. p. 90.
ISBN 9780262527736.
30. Inc., Apple. "HomeKit – Apple Developer". developer.apple.com. Retrieved 2018-09-
19.
31. Wollerton, Megan (2018-06-03). "Here's everything you need to know about Apple
HomeKit". CNET. Retrieved 2018-09-19.
32. Lovejoy, Ben (2018-08-31). "HomeKit devices getting more affordable as Lenovo
announces Smart Home Essentials line". 9to5Mac. Retrieved 2018-09-19.
33. Prospero, Mike (2018-09-12). "Best Smart Home Hubs of 2018". Tom's Guide.
Retrieved 2018-09-19.
34. Demiris, G; Hensel, K (2008). "Technologies for an Aging Society: A Systematic
Review of 'Smart Home' Applications" (PDF). "IMIA Yearbook of Medical Informatics
2008": 33–40. Retrieved 27 October 2017.
35. Aburukba, Raafat; Al-Ali, A. R.; Kandil, Nourhan; AbuDamis, Diala (10 May 2016).
Configurable ZigBee-based control system for people with multiple disabilities in smart
homes. IEEE. pp. 1–5. doi:10.1109/ICCSII.2016.7462435. ISBN 978-1-4673-8743-9.
Retrieved 27 October 2017.
36. Mulvenna, Maurice; Hutton, Anton; Martin, Suzanne; Todd, Stephen; Bond, Raymond;
Moorhead, Anne (14 December 2017). "Views of Caregivers on the Ethics of Assistive
Technology Used for Home Surveillance of People Living with Dementia" (PDF).
Neuroethics. 10 (2): 255–266. doi:10.1007/s12152-017-9305-z. PMC 5486509. PMID
28725288. Retrieved 27 October 2017.
37. da Costa, CA; Pasluosta, CF; Eskofier, B; da Silva, DB; da Rosa Righi, R (July 2018).
"Internet of Health Things: Toward intelligent vital signs monitoring in hospital wards".
Artificial Intelligence in Medicine. 89: 61–69. doi:10.1016/j.artmed.2018.05.005.
PMID 29871778.
38. Engineer, A; Sternberg, EM; Najafi, B (21 August 2018). "Designing Interiors to
Mitigate Physical and Cognitive Deficits Related to Aging and to Promote Longevity
in Older Adults: A Review". Gerontology. 64 (6): 612–622. doi:10.1159/000491488.
PMID 30130764. open access

45
39. Kricka, LJ (21 June 2018). "History of disruptions in laboratory medicine: what have
we learned from predictions?". Clinical Chemistry and Laboratory Medicine.
doi:10.1515/cclm-2018-0518 (inactive 2018-11-27). PMID 29927745.
40. Gatouillat, Arthur; Badr, Youakim; Massot, Bertrand; Sejdic, Ervin (2018). "Internet
of Medical Things: A Review of Recent Contributions Dealing with Cyber-Physical
Systems in Medicine". IEEE Internet of Things Journal. 5 (5): 3810–3822.
doi:10.1109/jiot.2018.2849014. ISSN 2327-4662.
41. Topol, Eric (2016). The Patient Will See You Now: The Future of Medicine Is in Your
Hands. Basic Books. ISBN 978-0465040025.
42. Dey, Nilanjan; Hassanien, Aboul Ella; Bhatt, Chintan; Ashour, Amira S.; Satapathy,
Suresh Chandra (2018). Internet of things and big data analytics toward next-generation
intelligence (PDF). Springer International Publishing. ISBN 978-3-319-60434-3.
Retrieved 14 October 2018.
43. Joyia, Gulraiz J.; Liaqat, Rao M.; Farooq, Aftab; Rehman, Saad (2017). "Internet of
Medical Things (IOMT): Applications, Benefits and Future Challenges in Healthcare
Domain". Journal of Communications. doi:10.12720/jcm.12.4.240-247.
44. Ersue, M.; Romascanu, D.; Schoenwaelder, J.; Sehgal, A. (4 July 2014). "Management
of Networks with Constrained Devices: Use Cases". IETF Internet Draft.
45. "Goldman Sachs Report: How the Internet of Things Can Save the American
Healthcare System $305 Billion Annually". Engage Mobile Blog. Engage Mobile
Solutions, LLC. 23 June 2016. Retrieved 26 July 2018.
46. Roman, D.H.; Conlee, K.D. (29 June 2015). "The Digital Revolution Comes to US
Healthcare" (PDF). Goldman Sachs. Archived from the original (PDF) on 23 November
2015. Retrieved 26 July 2018.
47. Joyia, Gulraiz J.; Liaqat, Rao M.; Farooq, Aftab; Rehman, Saad (2017). "Internet of
Medical Things (IOMT): Applications, Benefits and Future Challenges in Healthcare
Domain". Journal of Communications: 240. doi:10.12720/jcm.12.4.240-247.
48. Istepanian, R.; Hu, S.; Philip, N.; Sungoor, A. (2011). The potential of Internet of m-
health Things "m-IoT" for non-invasive glucose level sensing. Annual International
Conference of the IEEE Engineering in Medicine and Biology Society (EMBC). 2011.
pp. 5264–6. doi:10.1109/IEMBS.2011.6091302. ISBN 978-1-4577-1589-1. PMID
22255525.

46
49. Swan, Melanie (8 November 2012). "Sensor Mania! The Internet of Things, Wearable
Computing, Objective Metrics, and the Quantified Self 2.0". Sensor and Actuator
Networks. 1 (3): 217–253. doi:10.3390/jsan1030217.
50. IJSMI, Editor (April 2018). "Overview of recent advances in Health care technology
and its impact on health care delivery". International Journal of Statistics and Medical
Informatics. 7: 1–6. SSRN 3169884.
51. Grell, Max; Dincer, Can; Le, Thao; Lauri, Alberto; Nunez Bajo, Estefania; Kasimatis,
Michael; Barandun, Giandrin; Maier, Stefan A.; Cass, Anthony E. G. (2018-11-09).
"Autocatalytic Metallization of Fabrics Using Si Ink, for Biosensors, Batteries and
Energy Harvesting". Advanced Functional Materials: 1804798.
doi:10.1002/adfm.201804798. ISSN 1616-301X.
52. Dincer, Can; Bruch, Richard; Kling, André; Dittrich, Petra S.; Urban, Gerald A. (2017-
08-01). "Multiplexed Point-of-Care Testing – xPOCT". Trends in Biotechnology. 35
(8): 728–742. doi:10.1016/j.tibtech.2017.03.013. ISSN 0167-7799.
53. Amiot, Emmanuel. "The Internet of Things. Disrupting Traditional Business Models"
(PDF). Oliver Wyman. Retrieved 14 October 2018.
54. Vermesan, Ovidiu, and Peter Friess, eds. Internet of things: converging technologies
for smart environments and integrated ecosystems. River Publishers, 2013.
https://www.researchgate.net/publication/272943881_Internet_of_Things_-
_Converging_Technologies_for_SNcEH1C3UXSaTcNMHNLGNuLZqjGKbSrEMZ7
8L45stems
55. Mahmud, Khizir; Town, Graham E.; Morsalin, Sayidul; Hossain, M.J. (February 2018).
"Integration of electric vehicles and management in the internet of energy". Renewable
and Sustainable Energy Reviews. 82: 4179–4203. doi:10.1016/j.rser.2017.11.004.
56. Xie, Xiao-Feng; Wang, Zun-Jing (2017). "Integrated in-vehicle decision support
system for driving at signalized intersections: A prototype of smart IoT in
transportation". Transportation Research Board (TRB) Annual Meeting, Washington,
DC, USA.
57. "Key Applications of the Smart IoT to Transform Transportation". 2016-09-20.
Retrieved 28 October 2017.
58. Haase, J.; Alahmad, M.; Nishi, H.; Ploennigs, J.; Tsang, K. F. (1 July 2016). "The IOT
mediated built environment: A brief survey". 2016 IEEE 14th International Conference
on Industrial Informatics (INDIN): 1065–1068. doi:10.1109/INDIAN.2016.7819322
(inactive 2018-11-27).
47
59. Jussi Karlgren; Lennart Fahlén; Anders Wallberg; Pär Hansson; Olov Ståhl; Jonas
Söderberg; Karl-Petter Åkesson (2008). Socially Intelligent Interfaces for Increased
Energy Awareness in the Home. The Internet of Things. Lecture Notes in Computer
Science. 4952. Springer. pp. 263–275. doi:10.1007/978-3-540-78731-0_17. ISBN 978-
3-540-78730-3.
60. Yang, Chen; Shen, Weiming; Wang, Xianbin (January 2018). "The Internet of Things
in Manufacturing: Key Issues and Potential Applications". IEEE Systems, Man, and
Cybernetics Magazine. 4 (1): 6–15. doi:10.1109/MSMC.2017.2702391.
61. Severi, S.; Abreu, G.; Sottile, F.; Pastrone, C.; Spirito, M.; Berens, F. (23–26 June
2014). "M2M Technologies: Enablers for a Pervasive Internet of Things". The
European Conference on Networks and Communications (EUCNC2014).
62. Gubbi, Jayavardhana; Buyya, Rajkumar; Marusic, Slaven; Palaniswami, Marimuthu
(24 February 2013). "Internet of Things (IoT): A vision, architectural elements, and
future directions". Future Generation Computer Systems. 29 (7): 1645–1660.
arXiv:1207.0203. doi:10.1016/j.future.2013.01.010.
63. Tan, Lu; Wang, Neng (20–22 August 2010). Future Internet: The Internet of Things.
3rd International Conference on Advanced Computer Theory and Engineering
(ICACTE). 5. pp. 376–380. doi:10.1109/ICACTE.2010.5579543. ISBN 978-1-4244-
6539-2.
64. Daugherty, Paul; Negm, Walid; Banerjee, Prith; Alter, Allan. "Driving Unconventional
Growth through the Industrial Internet of Things" (PDF). Accenture. Retrieved 17
March 2016.
65. Lee, Jay; Bagheri, Behrad; Kao, Hung-An (2015). "A cyber-physical systems
architecture for industry 4.0-based manufacturing systems". Manufacturing Letters. 3:
18–23. doi:10.1016/j.mfglet.2014.12.001.
66. Lee, Jay (2015). Industrial Big Data. China: Mechanical Industry Press. ISBN 978-7-
111-50624-9.
67. "Industrial Internet Insights Report" (PDF). Accenture. Retrieved 17 March 2016.
68. "Center for Intelligent Maintenance Systems". IMS Center. Retrieved 8 March 2016.
69. Lee, Jay (1 December 2003). "E-manufacturing—fundamental, tools, and
transformation". Robotics and Computer-Integrated Manufacturing. Leadership of the
Future in Manufacturing. 19 (6): 501–507. doi:10.1016/S0736-5845(03)00060-7.

48
70. Lee, Jay (19 November 2014). "Keynote Presentation: Recent Advances and
Transformation Direction of PHM". Roadmapping Workshop on Measurement Science
for Prognostics and Health Management of Smart Manufacturing Systems Agenda.
71. Meola, A. (20 December 2016). "Why IoT, big data & smart farming are the future of
agriculture". Business Insider. Insider, Inc. Retrieved 26 July 2018.
72. Zhang, Q. (2015). Precision Agriculture Technology for Crop Farming. CRC Press. pp.
249–58. ISBN 9781482251081.
73. "Google goes bilingual, Facebook fleshes out translation and TensorFlow is dope –
And, Microsoft is assisting fish farmers in Japan".
74. Chui, Michael; Löffler, Markus; Roberts, Roger. "The Internet of Things". McKinsey
Quarterly. McKinsey & Company. Retrieved 10 July 2014.
75. "Smart Trash". Postscapes. Retrieved 10 July 2014.
76. "THE INTERNET OF THINGS (IOT): REVOLUTIONIZED THE WAY WE LIVE!".
Postscapes. 2017-08-10. Retrieved 23 October 2017.
77. Poon, L. (22 June 2018). "Sleepy in Songdo, Korea's Smartest City". CityLab. Atlantic
Monthly Group. Retrieved 26 July 2018.
78. Rico, Juan (22–24 April 2014). "Going beyond monitoring and actuating in large scale
smart cities". NFC & Proximity Solutions – WIMA Monaco.
79. "A vision for a city today, a city of vision tomorrow". Sino-Singapore Guangzhou
Knowledge City. Retrieved 11 July 2014.
80. "San Jose Implements Intel Technology for a Smarter City". Intel Newsroom. Retrieved
11 July 2014.
81. "Western Singapore becomes test-bed for smart city solutions". Coconuts Singapore.
2014-06-19. Retrieved 11 July 2014.
82. Lipsky, Jessica. "IoT Clash Over 900 MHz Options". EETimes. Retrieved 15 May
2015.
83. Alleven, Monica. "Sigfox launches IoT network in 10 UK cities". Fierce Wireless Tech.
Retrieved 13 May 2015.
84. Merritt, Rick. "13 Views of IoT World". EETimes. Retrieved 15 May 2015.
85. Fitchard, Kevin (2014-05-20). "Sigfox brings its internet of things network to San
Francisco". Gigaom. Retrieved 15 May 2015.
86. Ujaley. "Cisco to invest in fiber grid, IoT, smart cities in andhra pradesh".
87. "STE Security Innovation Awards Honorable Mention: The End of the Disconnect".
securityinfowatch.com. Retrieved 12 August 2015.
49
88. Parello, J.; Claise, B.; Schoening, B.; Quittek, J. (28 April 2014). "Energy Management
Framework". IETF Internet Draft <draft-ietf-eman-framework-19>.
89. Davies, Nicola. "How the Internet of Things will enable 'smart buildings'". Extreme
Tech.
90. "Molluscan eye". Retrieved 26 June 2015.
91. Li, Shixing; Wang, Hong; Xu, Tao; Zhou, Guiping (2011). Application Study on
Internet of Things in Environment Protection Field. Lecture Notes in Electrical
Engineering Volume (Submitted manuscript). Lecture Notes in Electrical Engineering.
133. pp. 99–106. doi:10.1007/978-3-642-25992-0_13. ISBN 978-3-642-25991-3.
92. "Use case: Sensitive wildlife monitoring". FIT French Project. Retrieved 10 July 2014.
93. Hart, Jane K.; Martinez, Kirk (1 May 2015). "Toward an environmental Internet of
Things". Earth & Space Science. 2 (5): 194–200. Bibcode:2015E&SS....2..194H.
doi:10.1002/2014EA000044. Archived from the original on 17 June 2016.
94. Scuotto, Veronica; Ferraris, Alberto; Bresciani, Stefano (2016-04-04). "Internet of
Things". Business Process Management Journal. 22 (2): 357–367. doi:10.1108/bpmj-
05-2015-0074. ISSN 1463-7154.
95. Nordrum, Amy (18 August 2016). "Popular Internet of Things Forecast of 50 Billion
Devices by 2020 Is Outdated". IEEE.
96. Vermesan, Ovidiu; Friess, Peter (2013). Internet of Things: Converging Technologies
for Smart Environments and Integrated Ecosystems (PDF). Aalborg, Denmark: River
Publishers. ISBN 978-87-92982-96-4.
97. Santucci, Gérald. "The Internet of Things: Between the Revolution of the Internet and
the Metamorphosis of Objects" (PDF). European Commission Community Research
and Development Information Service. Retrieved 23 October 2016.
98. Mattern, Friedemann; Floerkemeier, Christian. "From the Internet of Computers to the
Internet of Things" (PDF). ETH Zurich. Retrieved 23 October 2016.
99. Lindner, Tim (13 July 2015). "The Supply Chain: Changing at the Speed of
Technology". Connected World. Retrieved 18 September 2015.
100. Köhn, Rüdiger. "Online-Kriminalität: Konzerne verbünden sich gegen Hacker".
Faz.net.
101. Hsu, Chin-Lung; Lin, Judy Chuan-Chuan (2016). "An empirical examination of
consumer adoption of Internet of Things services: Network externalities and concern
for information privacy perspectives". Computers in Human Behavior. 62: 516–527.
doi:10.1016/j.chb.2016.04.023.
50
102. "Smarter Things: The Autonomous IoT". GDR Blog. GDR Creative
Intelligence. 5 January 2018. Retrieved 26 July 2018.
103. Levine, Sergey, et al. "End-to-end training of deep visuomotor policies." The
Journal of Machine Learning Research 17.1 (2016): 1334-1373.
104. Mohammadi M., et al., "Deep Learning for IoT Big Data and Streaming
Analytics: A Survey," IEEE Communications Surveys and Tutorials, Vol. 20, No. 4,
2018
105. Mahdavinejad, M. S., Rezvan, M., Barekatain, M., Adibi, P., Barnaghi, P., &
Sheth, A. P. (2018). Machine learning for Internet of Things data analysis: A survey.
Digital Communications and Networks, 4(3), 161-175.
106. Alippi, C. (2014). Intelligence for Embedded Systems. Springer Verlag. ISBN
978-3-319-05278-6.
107. Delicato, F.C.; Al-Anbuky, A.; Wang, K., eds. (2018). Smart Cyber-Physical
Systems: towards Pervasive Intelligence systems. Future Generation Computer
Systems. Elsevier. Retrieved 26 July 2018.
108. Traukina, Alena; Thomas, Jayant; Tyagi, Prashant; Reddipalli, Kishore (2018-
09-29). Industrial Internet Application Development: Simplify IIoT development using
the elasticity of Public Cloud and Native Cloud Services (1st ed.). Packt Publishing. p.
18.
109. Hassan, Qusay; Khan, Atta; Madani, Sajjad (2017). Internet of Things:
Challenges, Advances, and Applications. Boca Raton, Florida: CRC Press. p. 198.
ISBN 9781498778510.
110. Chauhuri, Abhik (2018). Internet of Things, for Things, and by Things. Boca
Raton, Florida: CRC Press. ISBN 9781138710443.
111. Pal, Arpan (May–June 2015). "Internet of Things: Making the Hype a Reality"
(PDF). IT Pro. Retrieved 10 April 2016.
112. "Gartner Says 6.4 Billion Connected "Things" Will Be in Use in 2016, Up 30
Percent From 2015". Gartner. 10 November 2015. Retrieved 21 April 2016.
113. Reza Arkian, Hamid (2017). "MIST: Fog-based Data Analytics Scheme with
Cost-Efficient Resource Provisioning for IoT Crowdsensing Applications". Journal of
Network and Computer Applications. 82: 152–165. Bibcode:2017JNCA...93...27H.
doi:10.1016/j.jnca.2017.01.012.
114. Gautier, Philippe; Gonzalez, Laurent (2011). L'Internet des Objets... Internet,
mais en mieux (PDF). Foreword by Gérald Santucci (European commission), postword
51
by Daniel Kaplan (FING) and Michel Volle. Paris: AFNOR editions. ISBN 978-2-12-
465316-4.
115. Marginean, M.-T.; Lu, C. (2016). "sDOMO communication protocol for home
robotic systems in the context of the internet of things". Computer Science, Technology
And Application. World Scientific. pp. 151–60. ISBN 9789813200432.
116. Rowayda, A. Sadek (May 2018). "– An Agile Internet of Things (IoT) based
Software Defined Network (SDN) Architecture". Egyptian Computer Science Journal.
117. Waldner, Jean-Baptiste (2007). Nanoinformatique et intelligence ambiante.
Inventer l'Ordinateur du XXIeme Siècle. London: Hermes Science. p. 254. ISBN 978-
2-7462-1516-0.
118. "OGC SensorThings API standard specification". OGC. Retrieved 15 February
2016.
119. "OGC Sensor Web Enablement: Overview And High Level Architecture".
OGC. Retrieved 15 February 2016.
120. Minteer, A. (2017). "Chapter 9: Applying Geospatial Analytics to IoT Data".
Analytics for the Internet of Things (IoT). Packt Publishing. pp. 230–57. ISBN
9781787127579.
121. van der Zee, E.; Scholten, H. (2014). "Spatial Dimensions of Big Data:
Application of Geographical Concepts and Spatial Technology to the Internet of
Things". In Bessis, N.; Dobre, C. Big Data and Internet of Things: A Roadmap for
Smart Environments. Springer. pp. 137–68. ISBN 9783319050294.
122. Gassée, J.-L. (12 January 2014). "Internet of Things: The "Basket of Remotes"
Problem". Monday Note. Retrieved 26 June 2015.
123. de Sousa, M. (2015). "Chapter 10: Integrating with Muzzley". Internet of Things
with Intel Galileo. Packt Publishing. p. 163. ISBN 9781782174912.
124. Want, Roy; Bill N. Schilit, Scott Jenson (2015). "Enabling the Internet of
Things". 1. Sponsored by IEEE Computer Society. IEEE. pp. 28–35.
125. "The Internet of Things: a jumbled mess or a jumbled mess?". The Register.
Retrieved 5 June 2016.
126. "Can we talk? Internet of Things vendors face a communications 'mess'".
Computerworld. 2014-04-18. Retrieved 5 June 2016.
127. Hassan, Q.F. (2018). Internet of Things A to Z: Technologies and Applications.
John Wiley & Sons. pp. 27–8. ISBN 9781119456759.
128. Dan Brickley et al., c. 2001
52
129. Sheng, M.; Qun, Y.; Yao, L.; Benatallah, B. (2017). Managing the Web of
Things: Linking the Real World to the Web. Morgan Kaufmann. pp. 256–8. ISBN
9780128097656.
130. Waldner, Jean-Baptiste (2008). Nanocomputers and Swarm Intelligence.
London: ISTE. pp. 227–231. ISBN 978-1-84704-002-2.
131. Kushalnagar, N.; Montenegro, G.; Schumacher, C. (August 2007). IPv6 over
Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions,
Problem Statement, and Goals. IETF. doi:10.17487/RFC4919. RFC 4919.
132. Sun, Charles C. (1 May 2014). "Stop using Internet Protocol Version 4!".
Computerworld.
133. Thomson, S.; Narten, T.; Jinmei, T. (September 2007). IPv6 Stateless Address
Autoconfiguration. IETF. doi:10.17487/RFC4862. RFC 4862.
134. Jing, J.; Li, H. (2012). "Research on the Relevant Standards of Internet of
Things". In Wang, Y.; Zhang, X. Internet of Things: International Workshop, IOT
2012. Springer. pp. 627–32. ISBN 9783642324277.
135. Mahmood, Z. (2018). Connected Environments for the Internet of Things:
Challenges and Solutions. Springer. pp. 89–90. ISBN 9783319701028.
136. Howard, Philip N. (1 June 2015). "The Internet of Things is Posed to Change
Democracy Itself". Politico. Retrieved 8 August 2017.
137. Thompson, Kirsten; Mattalo, Brandon (24 November 2015). "The Internet of
Things: Guidance, Regulation and the Canadian Approach". CyberLex. Retrieved 23
October 2016.
138. "The Question of Who Owns the Data Is About to Get a Lot Trickier". Fortune.
6 April 2016. Retrieved 23 October 2016.
139. Weber, R.H.; Weber, R. (2010). Internet of Things: Legal Perspectives.
Springer Science & Business Media. pp. 59–64. ISBN 9783642117107.
140. Hassan, Q.F. (2018). Internet of Things A to Z: Technologies and Applications.
John Wiley & Sons. pp. 41–4. ISBN 9781119456759.
141. Hassan, Q.F.; Khan, A. ur R.; Madani, S.A. (2017). Internet of Things:
Challenges, Advances, and Applications. CRC Press. pp. 41–2. ISBN 9781498778534.
142. Lopez, Javier; Rios, Ruben; Bao, Feng; Wang, Guilin (2017). "Evolving
privacy: From sensors to the Internet of Things". Future Generation Computer Systems.
75: 46–57. doi:10.1016/j.future.2017.04.045.

53
143. "The 'Internet of Things': Legal Challenges in an Ultra-connected World".
Mason Hayes & Curran. 22 January 2016. Retrieved 23 October 2016.

54

Potrebbero piacerti anche