You are on page 1of 57

IOT AND GOOGLE ASSISTANT BASED

WIRELESS NOTICE BOARD

A PROJECT REPORT
Submitted by
ANANTHI.N 411518104011
NANTHINI.K 411518104055
REKHA.T.V 411518104081

In partial fulfilment for the award of the degree


of
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING

PERI INSTITUTE OF TECHNOLOGY, CHENNAI


ANNA UNIVERSITY: CHENNAI 600025
JUNE 2022
ANNA UNIVERSITY, CHENNAI 600 025
BONAFIDE CERTIFICATE

Certified that this Project Report “IOT AND GOOGLE ASSISTANT


BASED WIRELESS NOTICE BOARD” is the bonafide work of
ANANTHI.N (411518104011) NANTHINI.K (411518104055)
REKHA.T.V (411518104081) who carried out the work under my
supervision.

SIGNATURE SIGNATURE

Mrs. K. VARALAKSHMI, Dr. P. NEELAVENI,

HEAD OF THE DEPARTMENT, SUPERVISOR,

Computer Science and Engineering, Computer Science and Engineering,

Peri Institute of Technology, Peri Institute of Technology,

Mannivakkam 600 048. Mannivakkam 600 048.

Submitted for the Viva-Voce examination held on …………………………

INTERNAL EXAMINER EXTERNAL EXAMINER


ACKNOWLEDGEMENT

We express our deep sense of gratitude to our honourable and beloved


Chairman SHRI. SARAVANAN PERIASAMY, our Chief Operating
officer Mr. SASIKUMAR VEERARAJAN, and other management
members for providing the infrastructure needed.
We are very much indebted to Principal of our college Dr. R.PALSON
KENNEDY for his guidance and immense help in making this project a
success.
We are very much indebted to Vice Principal of our college Mr.
B.MAGESH for his guidance and immense help in making this project a
success.
We are highly indebted to Mrs. K. VARALAKSHMI Head of
Computer Science and Engineering Department for her support and
guidance.
We would like to express our sense of profound gratitude and
indebtedness to Mrs. KALAIARASI, Assistant Professor, Department of
Computer Science and Engineering for her invaluable guidance.
We thank our project coordinator, Dr. P. NEELAVENI, Professor,
Department of Computer Science and Engineering for her help and
guidance, suggestion, and timely supervision for the successful completion
of the project. We thank her for the great support with blessings.
We also extend our heartful thanks to all Staff members of Computer
Science and Engineering who have rendered their valuable help in making
this project successful.
We are very much indebted to our beloved parents and friends for their
continuous support and encouragement throughout the project.
ABSTRACT

This project presents a digital notice board using WiFi module. The idea

behind this project is to provide its users with a simple, fast and reliable

way to put up important notices in an LCD where the user can send a

message to be displayed in the LCD. The message can be sent through a

Google Assistant application designed in this project, through the WiFi

module. So, notices can be put up in an LCD display from any location

in the world. It uses a microcontroller for system control, WiFi based

technology for communication and sends the message through the Google

Assistant application. The project consists of a Nodemcu, WiFi module,

an LCD, and a Google Assistant application for user interface with the

hardware. This device can be used anywhere irrespective of the place of

deployment provided mobile network connectivity is available.

iii
TABLE OF CONTENT
CHAPTER TITLE PAGE
NO

ABSTRACT iii

LIST OF FIGURES vii

LIST OF TABLES viii

LIST OF ABBREVIATIONS ix

1 INTRODUCTION 1

1.1 PROBLEM STATEMENT 3

1.2 OBJECTIVE OF THE PROJECT 3

1.3 PROPOSED SYSTEM 3

2 LITERATURE SURVEY 4

3 SYSTEM ANALYSIS 9

3.1 OVERVIEW 9

3.2 EXISTING SYSTEM 9

3.3 DISADVANTAGES OF EXISTING SYSTEM 9

3.4 PROPOSED SYSTEM 9

3.5 ADVANTAGES OF PROPOSED SYSTEM 10

3.6 OBJECTIVE 10

3.7 HARDWARE AND SOFTWARE 10

REQUIREMENTS

iv
4 SYSTEM DESIGN 12

4.1 ARCHITECTURAL DESIGN 12

4.1.1 Class Diagram 14

4.1.2 Use Case Diagram 16

4.1.3 Activity Diagram 18

4.1.4 Sequence Diagram 19

4.2 LIST OF MODULES 20

4.2.1 Nodemcu 20

4.2.2 Voltage Regulator 23

4.2.3 Embedded C Language 24

4.3 SPI 25

4.4 DOT MATRIX 26

4.5 ARDUINO IDE 27

4.6 ESP8266 ARDUINO CORE 27

4.7 GOOGLE ASSISTANT APPLICATION 28

4.8 HARDWARE IMPLEMENTATION 29

5 IMPLEMENTATION AND TESTING 31

5.1 IMPLEMENTATION 31

5.2 TEST CASES 34

6 CONCLUSION & FUTURE ENHANCEMENT 36

6.1 CONCLUSION 36

v
6.2 FUTURE ENHANCEMENT 37

APPENDIX 1: SAMPLE CODE 38

APPENDIX 2: OUTPUT SCREENSHOTS 43

APPENDIX 3: ACCEPTANCE OF 45
CONFERENCE PAPER

REFERENCE 47

vi
LIST OF FIGURES

FIGURE NO NAME OF THE FIGURE PAGE NO

4.1 System Architecture 13

4.2 Class Diagram 15

4.3 Usecase Diagram 17

4.4 Activity Diagram 18

4.5 Sequence Diagram 20

4.6 Nodemcu Devkit Board 21

4.7 Nodemcu Pin Schema 22

4.8 Voltage Regulator 23

4.9 Hardware Wiring 29

4.10 Proto Type 30

5.1 Sample Output 33

A2.1 Output Display 1 43

A2.2 Output Display 2 43

A2.3 Hardware Prototype 44

vii
LIST OF TABLE

TABLE NO NAME OF THE TABLE PAGE NO

5.1 Test Case Table1 34

5.2 Test Case Table2 35

viii
LIST OF ABBREVIATIONS

ABBREVIATION EXPANSION

LCD Liquid Crystal Display

WiFi Wireless Fidelity

GSMC Global System for Mobile

Communication

SMS Short Message Service

LED Light Emitting Diode

MCU Microcontroller Unit

IDE Integrated Development Environment

SPI Serial Peripheral Interface

ix
CHAPTER 1

INTRODUCTION

As technology improves, efficient, financially affordable and


highly productive output becomes an absolute necessity, and this leads
us to be more inclined towards using automated control systems. Human
intervention, although it offers variety, adaptability and interactivity,
could lead to errors, as it is a natural and inevitable result of this
variability. Hence, automation of a system is an accepted means to
minimize human error and its impact.

Applying this to the situation under scrutiny now, the traditional


methods of writing typing the notice on paper, and having a
man/woman deliver the notice to the respective groups, or having him/her
paste the notice on the notice board, is prone to errors. The person
delivering could deliver it to the wrong group, or tamper with the
information being sent, etc.

With the electronics industry moving at a fast pace, we are able to


solve many such problems with digital replacements. Our project, Multi
Electronic Notice Board, aims at eliminating the use of paper in offices,
schools & colleges, and other institutions; also minimizing the risk of
errors, by replacing paper with LCD displays.

In this project, an hardware capable of displaying notices


electronically using an Google Assistant application has been built. In order
to display notices, a user can use the Google Assistant application to type

1
a notice and click on the send button to get it displayed. The
functionality can be used only if wiFi module is connected to hot spot of
the host. The hardware consists of a Nodemcu that communicates to the
application through a WiFi module to receive messages. N o d e m c u
itself retrieves message and sends signal to switch on/off a device or
display a notice.

The motivation behind such a project is mainly to reduce physical


effort for operating appliances especially for aged people. Another
reason for this project is over usage of paper in educational institutions
for printing notices. Due to mushrooming paper usage day by day, lot of
trees are being cut which is harmful for the environment. So, if notices
are displayed everywhere electronically, it would reduce paper usage
and make communication easier and faster. A GSM based system is
edible, durable without any risk of getting hacked. Such a system has a
low cost of installation and maintenance.

Google Assistant is a virtual assistant software application developed


by Google that is primarily available on mobile and home automation
devices. Based on artificial intelligence, Google Assistant can engage in
two-way conversations, unlike the company's previous virtual assistant,
Google Now Your data, like your conversations with Google Assistant, is
private and secure. It's encrypted when it moves between your device,
Google services, and our data centers. Google products and services are
built to protect your information with multiple layers of security, including
leading encryption technology.

Google Assistant offers voice commands, voice searching, and voice-


activated device control, letting you complete a number of tasks after
you've said the "OK Google" or "Hey Google" wake words. It is designed

2
to give you conversational interactions. Google Assistant will: Control your
devices and your smart home.

1.1 Problem Statement

The idea behind this project is to provide its users with a simple,
fast and reliable way to put up important notices in an LCD where the
user can send a message to be displayed in the LCD. The message can
be sent through a Google Assistant application in this project

1.2 Objective of the project

Presently almost all electronic notice boards are designed using


wired system. One of the drawbacks of the design is the system is
inflexible in term of placement. The common notice board cannot be
placed anywhere because of the messy wire.

The aim of this project is to develop a digital notice board that


will be used at the faculty in order to display latest information through
WiFi module. The message can be send through Google Assistant
application

1.3 Proposed System

The project overcomes this problem by introducing an electronic


display notice board interfaced to a Google Assistant device through
WiFi connectivity. The WiFi module receives the message from the
Google Assistant device that is sent to a microcontroller. The
microcontroller displays the message on a LCD screen. This project
can be used in colleges, offices, railway stations or airports for
displaying any information

3
CHAPTER 2

LITERATURE SURVEY

Literature survey is mainly carried out in order to analyze the


background of the current project which helps to find out flaws in the
existing system and guides on which unsolved problems we can work
out. So, the following topics not only illustrate the background of the
project but also uncover the problems and flaws which motivated to
propose solutions and work on this project.

GSM network is widely used today whether it is for calling or


SMS. Also some of the places needs urgent notices like in college,
railway stations sharemarket , and this notice should be in real-time , so
we need a real-time notice [1]. This project is our experiment to give a
start to the era of real-time noticing. This project is about writing the
message which is to be displayed in mobile and send it as SMS to other
side. This received message is fetched into Microcontroller and after
authentication it is displayed on LCD screen. Also by interfacing a
voice data recording IC with Microcontroller we can also do
announcements in real-time.

This paper is designed using Nodemcu interfaced with Graphical


Display[2]. At present, when information has to be updated in a notice
board, it has to be done manually. Also in present electronic systems,
no matter how many displays are present, only a single notice can be
sent to all of the notice boards irrespective of their places. In order to
overcome this disadvantage, multiple displays along with a decoder are
used to select a particular display and the corresponding information is

4
sent through a Nodemcu controller by using GSM technology. The
entries can be documented and a record may be maintained for future
use by using visual basic. The controller has internal a real time clock
used for synchronization of data. A resistive touch screen is used to
access the previous notices and also progress details. The monitoring
system consists of an image sensor which captures the images for the
specified amount of time and the images can be transferred through an
USB port to a PC for storage purposes.

This paper is developed a GSM based notice board display using


ARM7 con- troller along with LED array[3]. The microcontrollers
provide all the functionality of the display notices and wireless
control. The Display is obtained on a 7X96 Light Emit- ting Diode
(LED) dot matrix display. A desired text message from a mobile
phone is sent via a Global System for Mobile Communication
(GSM) to the GSM module located at the receiving end [3]. The GSM
modem is connected, through MAX 232 Integrated Circuit (MAX
32IC), to the ARM7 microcontroller. The message that is stored in
the Electrically Erasable Programmable Read Only Memory
(EEPROM) is then displayed on the LED dot matrix display. This
hardware uses regulated 5V, 500mA power supply. A three-terminal
LM7805 is employed for regulation of the voltage. A bridge type full-
wave rectifier is used to rectify the AC output of the secondary of
230/12V step down transformer. The system was tested to work
according to specification.

In the last couple of decades, communication technology has


developed by leaps and bounds. The use of Embedded System in

5
Communication has given rise to many interesting applications. One of
such applications is public addressing sys- tem (PAS). Many
companies are manufacturing audio / video systems like public
announcement system, CCTV, programmable sign boards etc. But all
these systems are generally hardwired, complex in nature and difficult
to expand. So, by adding wireless communication interface such as
GSM to these systems, we can overcome their limitations. Now a days
LED Message Scrolling Displays are becoming very popular .These
displays are used in shopping malls, theaters, public transportation,
traffic signs, highways signs, etc. This paper describes the GSM based
LED display [4].

Now a days, Scrolling LED Displays are normally used in


stationaries, rail- way stations, banks, etc. everywhere in the daily
occupational life. This LEDs are preprogrammed in sense that they are
already programmed to display a particular message; in case of editing
or manipulating the message a person is needed around the display
either by leased media or some kind of wireless media(within a limited
area) which itself is an disadvantage because a the person cannot be
always present at the location of the display board; a person might be at
some other place and it is urgent for the person to display the message
on the LED display board which is at a distant place, so this type of
Scrolling LED Displays are not effective in all situations and also this
display board cannot be placed anywhere because of complex and
delicate wiring. GSM based LED Scrolling Display Board is a model
for displaying notices or messages within any networked area through
SMS which can be send by mobiles[5].

The Project aims to provide the services of communication with

6
LED displays remotely using GSM (that is by using SIMs SMSs via
mobile phones) and updating message instantly on display board unlike
a desk bound device such as PC or laptop. The user can update it even
from a remote distant with simple user interaction.

Everything around us is becoming smart such as smart phones,


smart televisions, smart refrigerators, so why not smart displays boards
for advertisements and notices. Display boards are primary thing in any
institute, organization, public utility places like bus stops, railway
stations, parks, shopping malls to display information regarding
platforms, various advertisements about the products, or important notices.
People are now adapted to the idea of the world at its fingertips. The old
wired display boards are controlled by microcontroller. To change
message, we need to change the microcontroller program code again and
again. By adding GSM wireless communication 9and real-time
displaying of messages on display boards. This paper explains the
development of GSM based Smart LED Display Boards using Short
Message Service(SMS). This paper is developed the SMS is sent by the
registered mobile to micro controller interfaced with SIM300 modem.
Message is fetched into the Microcontroller and further displayed on
the LCD Display[7].

Message will be send by a pc with authorized address which is


interfaced with the Zigbee module and the message is received by the
microcontroller interfaced with another Zigbee module. Then the message
is extracted from the microcontroller and displayed by a LCD display[8].
SMS will be send by a smart phone with android OS. Using Bluetooth
technology SMS will be sent to the microcontroller for the short distance.
By extracting the SMS from. The Microcontroller message is displayed,

7
printed and voice of the SMS are got as the output[9]. Sms from the user's
mobile will be send to GSM interfaced with level shifter for establishing
RS232 communication protocol to the microcontroller. The sms received
by the GSM is sent to the microcontroller[10].

Summary

Literature survey is mainly carried out in order to analyze the


background of he current project which helps to find out flaws in the
existing system and guides on which unsolved problems we can work
out.

8
CHAPTER 3

SYSTEM ANALYSIS

3.1 Overview

Analysis is the process of finding the best solution to the problem.


System analysis is the process by which we learn about the existing
problems, define objects and requirements and evaluates the solutions. It is
the way of thinking about the organization and the problem it involves, a
set of technologies that helps in solving these problems. Feasibility study
plays an important role in system analysis which gives the target for
design and development.

3.2 Existing System


• Wired based lcd display for notice board
• Bluetooth based lcd notice board display

3.3 Disadvantages of Existing System


Not able to control from long distance

3.4 Proposed System


This system allows a person to provide information to students
without visiting them, instead of going to students and providing
information, he/she can stay in a place and supply information. This system
is used to reduce the time consumed in providing information; the system
performs several functions like displaying the schedule of the classes,
supplying notes to students etc. The system gets activated when someone
directs a data to the cloud, after recognizing of the data is received by the

9
cloud. Then, the cloud is activated to perform forward action by which
cloud direct the information to the Esp8266 module and also can be
accessed by power supply for the convenience of the faculty. In this project
the main module is WI-FI esp2866 is implemented for controlling and
manipulating the data.

3.4 Advantages of Proposed System


• Anywhere we send the data in text form.
• Power Saving and low power consumption by hardware.
• Compact size.
• Low cost.

3.5 Objective

The main objective of this project is to develop a wireless notice


board that displays messages send from the user's mobile. The main
purposes to design this electronic notice board system is to interface it with
user’s mobile phones for displaying the latest information. In other words,
the user can easily send the message or information for displaying from
remote areas. In this system, the user sends the information or data
from remote areas and this information or data is received by the sim
loaded into ESP8266 module which is basically receiving end. This system
is designed with PIC16F microcontroller. LED Matrix is also used in this
system for displaying the information or data. Max 232 is a 16-pin dip
package, which consists of three major blocks and is powered by 5 volt’s
supply. It is mostly used in embedded system for serial communication

3.6 Hardware and Software Requirements

Hardware

10
1) LCD
2) ESP8266
3) Phone
4) Powersupply

Software
1) Googe Assistant
2) Arduino IDE
3) Embedded C

Summary
The main aim of this chapter is to find out whether the system is
feasible enough or not. For these reasons different kinds of analysis, such as
performance analysis, technical analysis, economical analysis etc is
performed.

11
CHAPTER 4

SYSTEM DESIGN

4.1Architectural Design

The overall logical structure of the proposed system is divided into


processing modules and a conceptual data structure is defined as
Architectural Design.

From the above figure 6.2 we can observe that the dot matrix is
connected to NodeMCU10 by 3 wired SPI protocol connection. The
NodeMCU10 has one wifi module inbuilt in it. The NodeMCU10 has
12pins.Here in this we are using only 3 pins rest of the pins we are
leaving free. The user connect the device and Google Assistant
application with the same hot spot. The user then open the app and
press the ip address of the hot spot then after establishment of the
connection between device and Google Assistant application, User will
type the content to be displayed in the text box provided for text in the
Google Assistant application and then user will press enter then the
message will be transferred from application to device through wifi and it
will be displayed in dot matrix display.

12
Figure 4.1: System Architecture

Data pin D5 from arduino is connected to the display pin Din.


Data pin D6 from arduino is connected to the display pin CS data pin
D7 from arduino is connected to the display pin CLK. VCC pin from
arduino connected to VCC pin in display. Gnd pin from arduino
connected to Gnd pin in display

Using data output pin in display we can connect to another display


in serial fashion as Shown in above figure. It has inbuilt Wifi module, it is
used for communication purpose. Separate power module is used to power
the arduino and display, because arduino has 5v has output it is used to
power only one display module and input is given to this from Google
Assistant app.

13
4.1.1 Class Diagram

UML class diagram shows the static structure of the model. The
class diagram is a collection of static modeling elements, such as
classes and their relationships, connected as a graph to each other and
to their contents.

The class diagram is the main building block of object oriented


modeling. It is used both for general conceptual modeling of the
systematic of the application, and for detailed modeling translating the
models into programming code. Class diagrams can also be used for
data modeling. The classes in a class diagram represent both the main
objects and or interactions in the application and the objects to be
programmed. Figure 4.2 shows the Class Diagram.

Here the class diagram consist of three classes. They are


NodeMCU, matrix Displayed server .Here the class NodeMCU was
used for checking the status and for transmission of information.

14
Figure 4.2: Class Diagram

15
The class matrix display is used for fetching the user input from the user
and displaying it on display. Whereas server class is used for storing the
local host user name and password .It was also used for connecting of the
device to local host.

4.1.2 Use Case Diagram

A use case defines a goal-oriented set of interactions between


external entities and the system under consideration. The external entities
which interact with the system are its actors. A set of use cases describe
the complete functionality of the system at a particular level of detail and it
can be graphically denoted by the use case diagram.

The use case diagram of the proposed system is shown in Figure


6.4 , the system broadly classifies the functionality of the system into
components that perform the actions :-connecting to network, display ip
address, enter the text, fetch the input and display it on matrix.
Connecting to the net is common action performed by app and lcd.
Display ip, take input and display the text will be performed by lcd.
Enter the text will be performed by app.

16
Figure 4.3: Use Case Diagram

The following are the actors and use cases:

Actors
1.app
2.Lcd

Use Cases
1.Connect to network
2.Display IP
3.Enter text
4.Receive text
5.Display text

17
4.1.3 Activity Diagram

An activity diagram shows the sequence of steps that make up a


complex process. An activity is shown as a round box containing the name
of the operation. An outgoing solid arrow attached to the end of the
activity symbol indicates a transition triggered by the completion.
Figure 6.5 shows the Activity Diagram.

Figure 4.4: Activity Diagram

In the activity diagram first we will update the ssid and password of
the wifi , then we will check whether connection is established or not. If
established we will then enter the ip address which is displayed on the lcd
into the app and then we will type the text which has to be displayed on

18
the lcd. If connection is not established then we will go back to check
whether ssid and password are correct or not.

4.1.4 Sequence Diagram

Sequence diagrams are an easy and intuitive way of describing the


behavior of a system by viewing the interaction between the system and
the environment. A sequence diagram shows an interaction arranged in
a time sequence. A sequence diagram has two dimensions: vertical
dimension represents time, the horizontal dimension represents the
objects existence during the interaction. Figure 6.6 shows the Sequence
Diagram.

Basic elements:
→ Vertical rectangle: represent the object is active (method is
being performed).
→ Vertical dashed line: represent the life of the object.
→ X: represent the life end of an object. (Being destroyed from
memory).
→Horizontal line with arrows: messages from one object to
another.

19
Figure 4.5: Sequence Diagram

In this sequence diagram there are 3 objects named as app, Mcu and Lcd
matrix respectively. Here the user has to enter the ip address displayed on lcd
in app to get connected to it. After establishing connection the user can
type any text whatever he wants to display on the lcd screen in the app
and then he press enter. This data is transmitted to the Mcu through Wifi
then it is transferred to the lcd display via SPI protocol.Now Lcd display
will fetch the content and it will display on the Lcd matrix.If the user want to
stop the text then user press plain text and enter ,automat- ically the
displayed will be stopped.

4.2 List of Modules

4.2.1 NodeMCU

NodeMCU is an open source IoT platform. It includes firmware

20
which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and
hardware which is based on the ESP-12 module. The term
”NodeMCU” by default refers to the firmware rather than the
development kits. The firmware uses the Lua scripting language. It is
based on the eLua project, and built on the Espressif Non-OS SDK for
ESP8266. Since NodeMCU is open source platform, their hardware
design is open for edit/- modify/build. NodeMCU Dev Kit/board
consist of ESP8266 wifi enabled chip. The ESP8266 is a low-cost Wi-
Fi chip developed by Espressif Systems with TCP/IP protocol. F
There is Version2 (V2) available for NodeMCU Dev Kit i.e.
NodeMCU Development Board v1.0 (Version2), which usually comes
in black colored PCB.

Figure 4.6: NodeMCU DEVKIT board

ESP8266 is Wi-Fi enabled system on chip (SoC) module developed


by Espressif system. It is mostly used for development of IoT (Internet of
Things) embedded applications. ESP8266 comes with capabilities of

→ 2.4 GHz Wi-Fi (802.11 b/g/n, supporting WPA/WPA2).


→ general-purpose input/output (16 GPIO).

21
→ Inter-Integrated Circuit (IC) serial communication protocol.
→ analog-to-digital conversion (10-bit ADC).
→ Serial Peripheral Interface (SPI) serial communication
protocol.
→ IS (Inter-IC Sound) interfaces with DMA(Direct Memory
Access) (sharing pins with GPIO).
→ UART (on dedicated pins, plus a transmit-only UART can be
enabled on GPIO2).
→ pulse-width modulation (PWM).

It employs a 32-bit RISC CPU based on the Tensilica Xtensa


L106 running at 80 MHz (or overclocked to 160 MHz). It has a 64
KB boot ROM, 64 KB instruction RAM and 96 KB data RAM.
External flash memory can be accessed through SPI.

Figure 4.7: NodeMCU pin schema

22
ESP8266 module is low cost standalone wireless transceiver that
can be used for end-point IoT developments. To communicate with the
ESP8266 module, micro- controller needs to use set of AT commands.
Microcontroller communicates with ESP8266-01 module using UART
having specified Baud rate. There are many third- party manufacturers
that produce different modules based on this chip. So, the module comes
with different pin availability options like
→ ESP-01 comes with 8 pins (2 GPIO pins) PCB trace
antenna.
→ ESP-02 comes with 8 pins, (3 GPIO pins) U-FL antenna
connector.
→ ESP-03 comes with 14 pins, (7 GPIO pins) Ceramic antenna.
→ ESP-04 comes with 14 pins, (7 GPIO pins) No ant

4.2.2 Voltage Regulator


A voltage regulator is an electronic circuit that provides a stable
DC voltage in- dependent of the load current, temperature and AC line
voltage variations. A voltage regulator may use a simple feed-forward
design or may include negative feedback. It may use an electro
mechanical mechanism, or electronic components. Depending on the
design, it may be used to regulate one or more AC or DC voltages.

Figure 4.8: Voltage Regulator

23
Electronic voltage regulators are found in devices such as computer
power supplies where they stabilize the DC voltages used by the
processor and other elements. In automobile alternators and central power
station generator plants, voltage regulators control the output of the plant.
In an electric power distribution system, voltage regulators may be
installed at a substation or along distribution lines so that all customers
receive steady voltage independent of how much power is drawn from
the line.

4.2.3 Embedded C Language

Embedded C is one of the most popular and most commonly used


Programming Languages in the development of Embedded Systems.
There are many popular programming languages like Assembly,
BASIC, C++ etc. that are often used for developing Embedded Systems
but Embedded C remains popular due to its efficiency, less
development time and portability. An Embedded System can be best
described as a system which has both the hardware and software and is
designed to do a specific task. A good example for an Embedded
System, which many households have, is a Washing Machine.

4.2.4 Arduino 1.8.5 Software

The Arduino Integrated Development Environment or Arduino


Software contains a text editor for writing code, a message area, a text
console, a toolbar with buttons for common functions and a series of
menus. It connects to the Arduino and Genuino hardware to upload
programs and communicate with them. Programs written using Arduino

24
Software (IDE) are called sketches. These sketches are written in the
text editor and are saved with the file extension. The editor has features
for cutting/pasting and for searching/replacing text. The message area
gives feedback while saving and exporting and also displays errors. The
console displays text output by the Arduino Software (IDE), including
complete error messages and other information.

4.3 SPI

Serial Peripheral Interface (SPI) Synchronous serial communications


comprises CLK, DATA IN, DATA OUT and optionally chip selects. As
well as using specific SPI devices, it is very easy to expand I/O using the
SPI and standard logic devices (e.g. 74HC595 and 74HC165). The SPI also
enables synchronous communication between the microcontroller and
peripheral, devices such as:
→ Shift registers.
→ Liquid Crystal Display (LCD) drivers.
→ Analog to Digital Converters.

→ Other microprocessors.

Microcontrollers employ multiple approaches to communicate


synchronously with peripheral devices and other microcontrollers. The
Serial Peripheral Interface or SPI is one of such protocols. Two devices
communicating with synchronous serial inter- faces operate from the same
clock. The clock signal is included in the interface cable between devices.
Typically, the master device creates the clock, and the slave de- vice(s)
uses the clock to latch the data (in or out.) The SSI protocol includes
four I/O lines. The CS is a logic control signal from master to slave signal

25
signifying the channel is active. The CLK line is a clock generated by the
master. The DOUT is a data line driven by the master and received by
the slave. The DIN is a data line driven by the slave and received by the
master. In order to work properly, the transmitting device uses one edge of
the clock to change its output, and the receiving device uses the other
edge to accept the data. In general, the SSI interface allows data to
flow both directions.

4.4 Dot Matrix

A dot-matrix display is a display device used to display information


on machines, clocks, railway departure indicators and many other devices
requiring a simple dis- play device of limited resolution. The display
consists of a dot matrix of lights or mechanical indicators arranged in a
rectangular configuration (other shapes are also possible, although not
common) such that by switching on or off selected lights, text or
graphics can be displayed. A dot matrix controller converts instructions
from a processor into signals which turns on or off lights in the matrix so
that the required display is produced.

A dot matrix is a 2-dimensional patterned array, used to represent


characters, symbols and images. Every type of modern technology uses
dot matrices for display of information, including cell phones, televisions,
and printers. They are also used in textiles with sewing, knitting, and
weaving. An alternate form of information display using lines and curves is
known as a vector display, was used with early computing de- vices such as
air traffic control radar displays and pen-based plotters but is no longer
used. Electronic vector displays were typically monochrome only, and
either don’t fill in the interiors of closed vector shapes, or shape-filling is
slow, time-consuming, and often non-uniform, as on pen-based plotter

26
4.5 Arduino IDE

The NodeMcu is the wifi module required for uploading the APP
data to the Smatrix display. NodeMCU is an open source IoT platform.
It includes firmware which runs on the ESP8266 Wi-Fi SoC from
Express if Systems and hardware which is based on the ESP-12 module.
The term ”NodeMCU” by default refers to the firmware rather than the
dev kits. The firmware uses the Lua scripting language. It is based on
the eLua project, and built on the Express if Non-OS SDK for
ESP8266. It uses many open source projects, such as lua-cjson and
spiffs.

4.6 ESP8266 Arduino Core

As Arduino.cc began developing new MCU boards based on non-


AVR processors like the ARM/SAM MCU and used in the Arduino
Due, they needed to modify the Arduino IDE so that it would be
relatively easy to change the IDE to support alternate tool chains to
allow Arduino C/C++ to be compiled down to these new processors.
They did this with the introduction of the Board Manager and the SAM
Core. A ”core” is the collection of software components required by the
Board Manager and the Arduino IDE to compile an Arduino C/C++
source file down to the target MCU’s machine language. Some creative
ESP8266 enthusiasts have developed an Arduino core for the ESP8266
WiFi SoC. This is what is popularly called the ”ESP8266 Core for the
Arduino IDE” and it has become one of the leading software
development platforms for the various ESP8266 based modules and

27
development boards, including NodeMCUs. The nodemcu will provide
power to the matrix display. The matrix display will upload its reading
in the wireless module, the wireless module will upload the data to the
app.

4.7 Google Assistant Application

App Inventor for Google Assistant is an open-source web


application originally provided by Google, and now maintained by the
Massachusetts Institute of Technology (MIT). It allows newcomers to
computer programming to create software applications for the Google
Assistant operating system (OS). It uses a graphical interface, very
similar to Scratch and the Star Logo TNG user interface, which allows
users to drag-and-drop visual objects to create an application that can
run on Google Assistant devices. In creating App Inventor, Google
drew upon significant prior research in educational computing, as well
as work done within Google on online development environments. App
Inventor and the projects on which it is based are informed by
constructionist learning theories, which emphasizes that programming
can be a vehicle for engaging powerful ideas through active learning.
MIT App Inventor is also supported with the Firebase Database
extension. This allows people to store data on Google’s firebase.

Google Assistant software development is the process by which new


applications are created for devices running the Google Assistant operating
system. The Google Assistant software development kit (SDK) includes a
comprehensive set of development tools. These include a debug- ger,
libraries, a handset emulator based on QEMU, documentation, sample

28
code, and tutorials.

4.8 Hardware Implementation

Figure 4.9: Hardware Wiring

Hardware wiring from Arduino to dot matrix display

4.8.1 data pin D5 from arduino is connected to the display pin Din.

4.8.2 data pin D6 from arduino is connected to the display pin CS

4.8.3 data pin D7 from arduino is connected to the display pin CLK.

4.8.4 VCC pin from arduino connected to VCC pin in display.

4.8.5 Gnd pin from arduino connected to Gnd pin in display

29
Using data output pin in display we can connect to another display
in serial fashion as Shown in above figure. It has inbuilt Wifi module, it is
used for communication purpose. Separate power module is used to power
the arduino and display, because arduino has 5v has output it is used to
power only one display module and input is given to this from Google
Assistant app.

Figure 4.10: Proto Type

Summary
This chapter mainly concentrates on few fundamental design concepts
such as system development methodology, system architecture, class diagram,
flowchart, sequence diagram, use-case diagram, activity diagram, dataflow
diagram etc..

30
CHAPTER 5

IMPLEMENTATION AND TESTING

5.1 Implementation
The ESP8266 is a low-cost Wi-Fi microchip, with built-in TCP/IP
networking software, and microcontroller capability, produced by Espressif
Systems in Shanghai, China. The chip was popularized in the English-
speaking maker community in August 2014 via the ESP-01 module, made
by a third-party manufacturer Ai-Arduino is the popular open-source
electronics prototyping platform based on easy-to-use hardware and
software.

Adafruit.io is a cloud service - that just means we run it for you and
you don't have to manage it. You can connect to it over the Internet. It's
meant primarily for storing and then retrieving data but it can do a lot more
than just that. MQTT (MQ Telemetry Transport) is a lightweight open
messaging protocol that provides resource-constrained network clients with
a simple way to distribute telemetry information in low-bandwidth
environments.

The Liquid Crystal library allows you to control LCD displays that are
compatible with the Hitachi HD44780 driver. There are many of them out
there, and you can usually tell them by the 16-pin interface. A register
select (RS) pin that controls where in the LCD's memory you're writing
data to. You can select either the data register, which holds what goes on
the screen, or an instruction register, which is where the LCD's controller
looks for instructions on what to do next. A Read/Write (R/W) pin that
selects reading mode or writing mode

31
An Enable pin that enables writing to the registers 8 data pins (D0 -
D7). The states of these pins (high or low) are the bits that you're writing to
a register when you write, or the values you're reading when you read.
Creates a client that can connect to to a specified internet IP address and
port as defined in client.

In this scenario, the Arduino board uses MQTT to transfer data to the
remote IoT cloud platform. Data comes from sensors for example.
Therefore, the Arduino board is the client while the IoT cloud platform is
the broker. As we know already, an MQTT broker can handle several
MQTT clients. void loop( ){ }

The loop is another function that Arduino uses as a part of its


structure. The code inside the loop function runs over and over as long as
the Maker Board is turned on. ; (semicolon) The end of a command or
statement clear() Clears the LCD screen and positions the cursor in the
upper-left corner (first row setCursor() method.

The Liquid Crystal Library allows you to control LCD displays that
are compatible with the Hitachi HD44780 driver. There are many of them
out there, and you can usually tell them by the 16-pin interface. This
example sketch shows how to use the setCursor() method to reposition the
cursor.

ESP8266 modules can operate as a station, so we can connect it to the


Wi-Fi network. It can also operate as a soft access point (soft-AP), to
establish its own Wi-Fi network. When the ESP8266 module is operating
as a soft access point, we can connect other stations to the ESP module.

32
ESP8266 is also able to operate as both a station and a soft access point
mode. This provides the possibility of building e.g. mesh networks.

The ESP8266 that connects to an existing WiFi network (one created


by your wireless router) is called Station (STA) In STA mode ESP8266
gets IP from wireless router to which it is connected. With this IP address,
it can set up a web server and deliver web pages to all connected devices
under existing WiFi network.

Figure 5.1: Sample Output

33
5.2 Test Cases

There are Two cases:-

1. Left to Right

2. Right to left

The following test cases were generated for case 1.

Table 5.1: Test case table1

Test case Input Expected 0/p Status


id
1 Ip address Displaying Ip Pass
address
2 Single word Displaying Word Pass
3 Sentence Displaying Sentence Pass
4 Special Symbols Displaying Symbols Pass
5 Sentence including displaying Content Pass
Symbols

34
The following test cases were generated for case 2.

Table 5.2: Test case table2

Test case Input Expected 0/p Status


id
1 Ip address Displaying Ip Pass
address
2 Single word Displaying Word Pass
3 Sentence Displaying Sentence Pass
4 Special Displaying Symbols Pass
Symbols
5 Sentence displaying Content Pass
including
Symbols

Summary
The chapter discusses the tests that are done on the system to check its
functionality. Testing is carried out at three different levels from the
module level to the system level checking for errors at each stage. The
remarks have also been documented.

35
CHAPTER 6

CONCLUSION AND FUTURE

ENHANCEMENT

6.1 Conclusion

The prototype of the proposed WI-FI based electronic notice board


was successfully designed. It can be easily integrated with all general-
purpose display board thus proving its mobility. The message is
transferred using wireless technology and is eventually obtained on the
LED matrix. Thus we are using modern technology to replace
conventional display boards the Google Assistant app interface can
make this system even more user friendly and popular.

The system accepts the message from app to be displayed in the


form of Short Message Service (SMS) stores it, checks for its validation
and then displays it on the display unit if it meant for that particular
display unit, it decided based on IP ad- dress. This system supports only
one message at a time. The proposed system can be efficiently used for
transfer of message instantly on campus.

The WI-FI based smart electronic notice board is efficiently


designed. the smart electronic notice board system accepts new SMS,

36
validate it, store it and display it on 8X8 LED panel. It reduces the
overall development6. cost and also minimizes the complexity.
Therefore, smart electronic notice board system becomes smarter, efficient,
robust and portable.

6.2 Future Enhancement

The display unit can range from LED scrolling displays to LCD
monitors. The LED scrolling displays can be set up at public transport
places such as bus stations, railway stations and airports. They can also
be used in offices and similar organi- zations for sending notices. The
LCD monitors can be setup on school and college campuses for sending
out notices. Also, as an extension to the current message dis- playing
template, multiple messages can be displayed at a time, by dividing the
screen to the required number of parts.

A commercial model can be able to display more than one message


at a time.In our project we are sending messages via WI-FI network
and displaying on a LED by utilizing AT-WF commands. The same
principle can be applied to control electrical appliances at a distant
location.

Robots can be controlled in a similar fashion by sending the


commands to the robots. These commands are read by using AT-WF

37
APPENDIX - 1

SAMPLE CODE

/* Necessary Libraries */
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
#include <LiquidCrystal.h>LiquidCrystal lcd(D1,D2,D3,D4,D5,D6);
/*Variables */
char* str;
String payload;
uint32_t present;
bool first_time;
String myString;
ESP8266WiFiMulti WiFiMulti;
/*Adafruit.io Setup */
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883 // use 8883 for SSL
#define AIO_USERNAME"Ananthi2002"
#define AIO_KEY"aio_XuwC94zqB4uwMweGDuBcgOEJTuNQ"
//aio_iLiY95M4qh5bIREAdw9Ov3Rh5Re n

38
/*Global State (you don't need to change this!) */
// Create an ESP8266 WiFiClient class to connect to the MQTT server.
WiFiClient client;
// or... use WiFiFlientSecure for SSL
//WiFiClientSecure client;
// Setup the MQTT client class by passing in the WiFi client and MQTT
server and login details.
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER,
AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);
/*Feeds */
// Setup a feed called 'onoff' for subscribing to changes.
Adafruit_MQTT_Subscribe message = Adafruit_MQTT_Subscribe(&mqtt,
AIO_USERNAME "/feeds/message");
/*Sketch Code */
void MQTT_connect();
void setup()
{
lcd.begin(20, 4); // The begin call takes the width and height. This
lcd.setCursor(3, 0); // Move the cursor at origin
lcd.print("IOT BASED,"); lcd.setCursor(0, 1);
lcd.print("WIRELESS NOTICEBOARD");
lcd.setCursor(0, 2);
lcd.print("with LCD 20X4."); lcd.setCursor(5, 3);
lcd.print("GOOD LUCK!"); newMessage[0] = '\0';
Serial.begin(57600);

39
Serial.begin(115200);

WiFi.mode(WIFI_STA);

WiFiMulti.addAP("iotdata", "12345678");

WiFiMulti.addAP("SSID2", "PASS2");

WiFiMulti.addAP("SSID3", "PASS3");
Serial.println("Connecting");
newMessageAvailable = 1;
present = millis();
first_time = 1;
// Setup MQTT subscription for onoff feed. mqtt.subscribe(&message);
str = " Ask Google assistant to change the msg!!! ";
}

void loop()
{
while (WiFiMulti.run() != WL_CONNECTED) {
Serial.println("WiFi not connected!");
delay(1000);
}
MQTT_connect();
Adafruit_MQTT_Subscribe *subscription;
while ((subscription = mqtt.readSubscription(1))) {
if (subscription ==&message) {
payload = "";
Serial.print(F("Got: "));

40
Serial.println((char *)message.lastread);
str = (char*)message.lastread;
myString = str;
String mod = myString.substring(0, 20);//string to integer
String engine = myString.substring(20, 40);
String driver = myString.substring(40, 60);
String health = myString.substring(60, 80);
lcd.clear();
lcd.setCursor(0, 0); // Move the cursor at origin lcd.print(mod);
lcd.setCursor(0, 1);
lcd.print(engine);
lcd.setCursor(0, 2);
lcd.print(driver);
lcd.setCursor(0, 3);
lcd.print(health);
payload = (String) str;
payload += " "; str = &payload[0];
newMessageAvailable = 1;
}

}
}
void MQTT_connect() {
int8_t ret;// Stop if already connected.
if (mqtt.connected()) {

41
return;
}

Serial.print("Connecting to MQTT... ");


uint8_t retries = 3;
while ((ret = mqtt.connect()) != 0) { // connect will return 0 for connected
Serial.println(mqtt.connectErrorString(ret));
Serial.println("Retrying MQTT connection in 5 seconds...");
mqtt.disconnect();
delay(5000); // wait 5 seconds retries--;
if (retries == 0) {
// basically die and wait for WDT to reset me while (1);
}
}
Serial.println("MQTT Connected!");
}

42
APPENDIX 2 – OUTPUT SCREENSHOT

A2.1 Output Display 1

A2.2 Output Display 2

43
A2.3 Hardware Prototype

44
APPENDIX 3: ACCEPTANCE OF CONFERENCE PAPER

45
46
REFERENCES

[1] Darshankumar C. Dalwadi, Ninad Trivedi , Amit Kasundra


,(2011) Wireless notice board our real-time solution, National
Conference on Recent Trends in Engineering & Technology.
[2] Nivetha S. R, Pujitha. R, Preethi Selvaraj & Yashvanthini
S.M,(2012) SMS based Wireless Notice board with monitoring
system ,International Journal of Advanced Electrical and Electronics
Engineering, (IJAEEE) ISSN (Print) : 2278-8948, Volume-2, Issue-
3, 2013.
[3] Pawan Kumar, VikasBhrdwaj, Kiran Pal, Narayan Singh
Rathor & Amit Mishra, (2012) GSMbased e-notice board: Wireless
Communication, Interna- tional Journal of Soft Computing
andEngineering (IJSCE), ISSN: 2231-2307, Volume 2, Issue-3, pp
601-605.
[4] Prachee U. Ketkar, Kunal P. Tayade, Akash P. Kulkarni
& Rajkishor M. Tugnayat, (2013) GSMmobile phone based led
scrolling message display system, International Journal of
ScientificEngineering and Technology (ISSN : 2277-1581), Volume
2 Issue 3, pp 149.
[5] AnuradhaMujumdar, VaishaliNiranjane & Deepika Sagne,
(2014)Scrolling LED display using wireless transmission,
International Journal of Engineering Development and Research
(ISSN: 2321-9939), Volume 2, Issue 1, pp 475-478.
[6] BhawnaSaini,RachnaDevi, ShilpiDhankhar, Mohammad -ziaul-
Haque and JagandeepKaur, (2014) Smart LED display

47

You might also like