Wifi Based Digital Notice Board
Wifi Based Digital Notice Board
Wifi Based Digital Notice Board
1CR14IS029 Bindushree J M
1CR14CS092 Ponnaganti Manendra
1CR14CS144 Suhas M S
1CR15CS412 HariKrishna P
Mrs.Vaishali Deshmukh
Associate Professor
Department of ISE, CMRIT, Bengaluru
2017-18
VISVESVARAYA TECHNOLOGICAL UNIVERSITY
JNANASANGAMA, BELAGAVI - 590018
Certificate
This is to certify that the project entitled “WiFi Based Digital Notice Board”
is a bonafide work carried out by Bindushree J M,Ponnaganti Manendra, Suhas
M S and Hari Krishna P in partial fulfillment of the award of the degree of
Bachelor of Engineering in Information Science & Engineering of Visvesvaraya
Technological University, Belgaum, during the year 2017-18. It is certified that all
corrections / suggestions indicated during reviews have been incorporated in the re-
port. The project report has been approved as it satisfies the academic requirements
in respect of the project work prescribed for the Bachelor of Engineering Degree.
External Viva
1.
2.
VISVESVARAYA TECHNOLOGICAL UNIVERSITY
JNANASANGAMA, BELAGAVI - 590018
Declaration
We Ms.Bindushree J M,Mr. Ponnaganti Manendra,Mr. Suhas M S and
Mr. HariKrishna P ,bonafide students of CMR Institute of Technology,Bangalore,hereby
declare that the dissertation entitled “WiFi Based Digital Notice Board”has been car-
ried out by us under the guidance of Mrs.Vaishali Deshmukh,Associate Professor
of ISE Department,CMRIT,Bangalore,in partial fulfillment of the requirements for
the award of the degree of Bachelor of Engineering in Information Science Engi-
neering,of the Visvesvaraya Technological University,Belgaum during the academic
year 2017-2018.The work done in this dissertation report is original and it has not
been submitted for any other degree in any University.
Bindushree J M
Ponnganti Manendra
Suhas M S
Hari Krishna P
Acknowledgement
The satisfaction and euphoria that accompany a successful com-
pletion of any task would be incomplete without mentioning people who
made it possible, success is the epitome of hard work and perseverance,
but steadfast of all is encouraging guidance.
We would also like to thank all the faculty members who have always
been very co-operative and generous. Conclusively, we also thank all the
non-teaching staff and all others who have done immense help directly or
indirectly during my project
Bindushree J M
Ponnganti Manendra
Suhas M S
Hari Krishna P
i
Table of Contents
Table of Contents ii
List of Figures iv
List of Tables v
Abstract vi
1 PREAMBLE 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Objective of the project . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Proposed System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Phase Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Organization of the project report . . . . . . . . . . . . . . . . . . . . . 3
2 LITERATURE SURVEY 5
3 THEORETICAL BACKGROUND 8
3.1 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 NodeMCU10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Dot Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Voltage Transformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Voltage Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.6 Embedded C Language . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.7 Arduino 1.8.5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
ii
5 SYSTEM ANALYSIS 19
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2 Feasibility Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 SYSTEM DESIGN 21
6.1 System development methodology . . . . . . . . . . . . . . . . . . . . 21
6.2 Design Using UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7 IMPLEMENTATION 30
7.1 SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.2 Dot Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.3 Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.4 ESP8266 Arduino Core . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.5 Android Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.6 hardware implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8 TESTING 35
8.1 Testing Methodologies . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.2 Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.3 Integration Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.4 System Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.5 Quality Assurance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.6 Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
REFERENCES 48
Appendices 49
A Code 49
iii
List of Figures
iv
List of Tables
v
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 an android 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 android
application. The project consists of a 32-bit ARM based microcontroller
LPC2148, WiFi module, an LCD, and an android application for user in-
terface with the hardware.This device can be used anywhere irrespective of
the place of deployment provided mobile network connectivity is available.
vi
Chapter 1
PREAMBLE
1.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 himher 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 institu-
tions; also minimizing the risk of errors, by replacing paper with LCD displays.
1
WiFi Based Digital Notice Board Chapter 1
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 overusage
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 exible, durable
without any risk of getting hacked. Such a system has a low cost of installation and
maintenance.
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 android application
Chapter 2: Literature Review - Gives a brief overview of the survey papers and
the research sources that have been studied to establish a thorough understanding of
the project under consideration.
Chapter 5: System Analysis - gives details about several analysis that are per-
formed to facilitate taking decision of whether the project is feasible enough or not.
Chapter 6: System Design - Gives the design description of the project, concep-
tual and detailed design well supported with design diagrams.
Chapter 8: Testing - Briefs the testing methods used for testing the different mod-
ules in the project.
Chapter 9: Results and Performance Analysis - Gives the snapshots and graphs
of the proposed protocols.
Chapter 10: Conclusion and Future Scope - Gives the concluding remarks of
the project, throwing light on its future aspects.
LITERATURE SURVEY
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 share-market ,
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.
5
WiFi Based Digital Notice Board Chapter 2
This paper is developed a GSM based notice board display using ARM7 con-
troller along with LED array. 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 sec-
ondary of 230/12V step down transformer. The system was tested to work according
to specification.
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 deli-
cate 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
Dept Of ISE - Feb - May 2018 6
WiFi Based Digital Notice Board Chapter 2
[5]. The Project aims to provide the services of communication with 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.
Summary
Literature survey is mainly carried out in order to analyze the background of the cur-
rent project which helps to find out flaws in the existing system and guides on which
unsolved problems we can work out.
THEORETICAL BACKGROUND
3.1 Arduino
Arduino is an open source, computer hardware and software company, project,
and user community that designs and manufactures single-board microcontrollers and
microcontroller kits for building digital devices and interactive objects that can sense
and control objects in the physical world. The project’s products are distributed as
open-source hardware and software, which are licensed under the GNU Lesser General
Public License (LGPL) or the GNU General Public License (GPL), permitting the
manufacture of Arduino boards and software distribution by anyone. Arduino boards
are available commercially in preassembled form, or as do-it-yourself kits.
Arduino board designs use a variety of microprocessors and controllers. The boards
are equipped with sets of digital and analog input/output (I/O) pins that may be in-
terfaced to various expansion boards (shields) and other circuits. The boards feature
serial communications interfaces, including Universal Serial Bus (USB) on some mod-
els, which are also used for loading programs from personal computers. The microcon-
trollers are typically programmed using a dialect of features from the programming
languages C and C++. In addition to using traditional compiler toolchains, the Ar-
duino project provides an integrated development environment (IDE) based on the
Processing language project.
8
WiFi Based Digital Notice Board Chapter 3
The Arduino project started in 2003 as a program for students at the Interaction
Design Institute Ivrea in Ivrea, Italy, aiming to provide a low-cost and easy way for
novices and professionals to create devices that interact with their environment using
sensors and actuators. Common examples of such devices intended for beginner hob-
byists include simple robots, thermostats, and motion detectors.
There are various types of arduinos.Of all the type of arduinos we are using
NodeMCU10 in this project.This Node arduino consist of 12pins.It also has an in-
built wiFi module in it.It has a storage of 32kb of memory.
3.2 NodeMCU10
NodeMCU is an open source IoT platform. It includes firmware 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 pro-
tocol. 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.
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 instruc-
tion RAM and 96 KB data RAM. External flash memory can be accessed through SPI.
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
The scrolling mechanism of the light on LED from the first column to the last
column is applied in this board so as to display fixed or scroll characters. It is con-
trolled by microcontroller system through decoder by enabling and disabling certain
Dept Of ISE - Feb - May 2018 10
WiFi Based Digital Notice Board Chapter 3
latches. Basically, only one column for each LED dot matrix will lit up at one time.
But due to the eye insensitivity, user cannot tell the different. The scrolling mecha-
nism means the LED lighting up simultaneously to display fixed or scrolling messages.
Initially, the first column for LED display blocks is lit up. It is followed by second
column while the other column is lit off. The process will continue until the last
column. Then the process is repeated to produce a character or word in accordance
to user request. The lit off the LED is so fast, so that all of the LED looks like lit up
at the same time.
The latch played the major role in controlling the data into rows and columns
for the LED. This process is controlled by software written in assembly language for
microcontroller MC68HC11A1.
For example, to display B in the dot matrix, a set of hex numbers instructions
must be given to the microcontroller for rows and columns. The numbers are $81,
$B5, $B5, $CB for rows and $C3 for columns. Logic 0 will lit up the LED on the Dot
Matrix. Figure 3.2 is an example of dot matrix display.
display is produced.
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 regu-
lators 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.
Summary
This chapter mainly concentrates on the basic theoretical background related to
the topic of focus. It gives information about the platform on which this application
has been developed in this chapter.
SYSTEM REQUIREMENT
SPECIFICATION
The SRS also functions as a blueprint for completing a project with as little cost
growth as possible. The SRS is often referred to as the ”parent” document because
all subsequent project management documents, such as design specifications, state-
ments of work, software architecture specifications, testing and validation plans, and
documentation plans, are related to it. It is important to note that an SRS contains
functional and nonfunctional requirements only; it doesn’t offer design suggestions,
possible solutions to technology or business issues, or any other information other
than what the development team understands the customer’s system requirements to
be.
14
WiFi Based Digital Notice Board Chapter 4
include calculations, data manipulation and processing and other specific functional-
ity. In this system following are the functional requirements:-
→ Input test case must not have compilation and runtime errors.
→ The application must not stop working when kept running for even a long time.
→ The application must function as expected for every set of test cases provided.
→ The application should generate the output for given input test case and input
parameters.
→ The application should generate on-demand services.
→ Product Requirements.
→ Organizational Requirements.
→ Basic Operational Requirements.
→ Response time The time the system takes to load and the time for responses on
any action the user does.
→ Processing time - How long is acceptable to perform key functions or export /
import data?
→ Throughput The number of transactions the system needs to handle must be kept
in mind.
→ Storage - The amount of data to be stored for the system to function.
→ Architectural Standards The standards needed for the system to work and sustain.
→Ease of Use: The front end is designed in such a way that it provides an interface
which allows the user to interact in an easy manner.
Non functional requirements are also called the qualities of a system. These qual-
ities can be divided into execution quality & evolution quality. Execution qualities
are security & usability of the system which are observed during run time, whereas
evolution quality involves testability, maintainability, extensibility or scalability.
Design Methods: Design is one of the important stages in the software engineering
process. This stage is the first step in moving from problem to the solution domain.
In other words, starting with what is needed design takes us to work how to satisfy
the needs.
Operational plans should establish the activities and budgets for each part of the
organization for the next 1-3 years. They link the strategic plan with the activities
the organization will deliver and the resources required to deliver them.
An operational plan draws directly from agency and program strategic plans to
describe agency and program missions and goals, program objectives, and program
activities. Like a strategic plan, an operational plan addresses four questions:
The customers are those that perform the eight primary functions of systems en-
gineering, with special emphasis on the operator as the key customer. Operational
requirements will define the basic need and, at a minimum, will be related to these
following points:
Performance and related parameters: It points out the critical system parame-
ters to accomplish the mission
Utilization environments: It gives a brief outline of system usage. Finds out ap-
propriate environments for effective system operation.
Summary
SYSTEM ANALYSIS
5.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.
proposed system is time efficient and accurate. It is essential that the process of per-
formance analysis and definition must be conducted in parallel.
Changes to bring in the system: All changes should be in positive direction, there
will be increased level of efficiency and better customer service.
Required skills: Platforms & tools used in this project are widely used. So the
skilled manpower is readily available in the industry.
Acceptability: The structure of the system is kept feasible enough so that there
should not be any problem from the users point of view.
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.
SYSTEM DESIGN
Overview
Design is a meaningful engineering representation of something that is to be
built. It is the most crucial phase in the developments of a system. Software design
is a process through which the requirements are translated into a representation of
software. Design is a place where design is fostered in software Engineering. Based on
the user requirements and the detailed analysis of the existing system, the new system
must be designed. This is the phase of system designing. Design is the perfect way
to accurately translate a customers requirement in the finished software product. De-
sign creates a representation or model, provides details about software data structure,
architecture, interfaces and components that are necessary to implement a system.
The logical system design arrived at as a result of systems analysis is converted into
physical system design.
21
WiFi Based Digital Notice Board Chapter 6
System Design: Keeping the requirements in mind the system specifications are
translated in to a software representation. In this phase the designer emphasizes on:-
algorithm, data structure, software architecture etc.
Coding: In this phase programmer starts his coding in order to give a full sketch
of product. In other words system specifications are only converted in to machine
readable compute code. Implementation: The implementation phase involves the ac-
tual coding or programming of the software. The output of this phase is typically the
library, executables, user manuals and additional software documentation .
Testing: In this phase all programs (models) are integrated and tested to ensure that
the complete system meets the software requirements. The testing is concerned with
verification and validation.
Maintenance: The maintenance phase is the longest phase in which the software
is updated to fulfill the changing customer need, adapt to accommodate change in
the external environment, correct errors and oversights previously undetected in the
testing phase, enhance the efficiency of the software.
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 mod-
ule inbuilt in it.The NodeMCU10 has 12pins.Here in this we are using only 3 pins
Dept Of ISE - Feb - May 2018 23
WiFi Based Digital Notice Board Chapter 6
rest of the pins we are leaving free.The user connect the device and android applica-
tion 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 android
application ,User will type the content to be displayed in the text box provided for
text in the android 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.
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 pro-
grammed.Figure 6.3 shows the Class Diagram.
Here the class diagram consist of three classes.They are NodeMCU,matrix Dis-
playand server .Here the class NodeMCU was used for checking the status and for
Dept Of ISE - Feb - May 2018 24
WiFi Based Digital Notice Board Chapter 6
transmission of information.The class matrix display is used for fecthing the user in-
put from the user and displaying it on display.Where as 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.
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,fetech 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.
Actors
1.app
2.Lcd
Use Cases
1.Connect to network
2.Display IP
3.Enter text
4.Receive text
5.Display text
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 the lcd.If connection is not established then we will
go back to check whether ssid and password are correct or not.
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.
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 fetech the content and it will display on the Lcd
matrix.If the user want to stop the textthen user press plain text and enter ,automat-
ically the displayed will be stopped.
Summary
This chapter mainly concentrates on few fundamental design concepts such as
system development methodology, system architecture, class diagram, flowchart, se-
quence diagram, use-case diagram, activity diagram, data flow diagram etc.
IMPLEMENTATION
The implementation phase of the project is where the detailed design is actually
transformed into working code. Aim of the phase is to translate the design into a
best possible solution in a suitable programming language. This chapter covers the
implementation aspects of the project, giving details of the programming language
and development environment used. It also gives an overview of the core modules
of the project with their step by step flow. The implementation stage requires the
following tasks.
→ Careful planning.
→ Investigation of system and constraints.
→ Design of methods to achieve the changeover.
→ Evaluation of the changeover method.
→ Correct decisions regarding selection of the platform.
→ Appropriate selection of the language for application development.
7.1 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.
30
WiFi Based Digital Notice Board Chapter 7
→ Other microprocessors.
well as work done within Google on online development environments. App Inven-
tor 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.
Android software development is the process by which new applications are created
for devices running the Android operating system. The Android 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 code, and
tutorials.
Using data output pin in display we can connect to another display in serial fash-
ion as Shown in above figure.It has inbuilt Wifi module, its 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
give to this from android app.
Summary
This chapter discusses the implementation details of the different modules of the
system and gives the step by step flow of each of them.Along with these,this chapter
also highlights some of the important features of the platform and language used for
implementation purpose.
TESTING
test paths between units during integration, and between subsystems during a system
level test
Though this method of test design can uncover an overwhelming number of test
cases, it might not detect unimplemented parts of the specification or missing require-
ments, but one can be sure that all paths through the test object are executed. Using
white box testing we can derive test cases that:
→ Guarantee that all independent paths within a module have been exercised at least
once.
→ Exercise all logical decisions on their true and false sides.
→ Execute all loops at their boundaries and within their operational bounds.
→ Execute internal data structure to assure their validity .
The tester does not ever examine the programming code and does not need any
further knowledge of the program other than its specifications. It enables us to de-
rive sets of input conditions that will fully exercise all functional requirements for a
program. Black box testing is an alternative to white box technique. Rather it is
a complementary approach that is likely to uncover a different class of errors in the
following categories:-
Advantages
→ The test is unbiased as the designer and the tester are independent of each other.
→ The tester does not need knowledge of any specific programming languages.
→ The test is done from the point of view of the user, not the designer.
As a rule, system testing takes, as its input, all of the ”integrated” software com-
ponents that have passed integration testing and also the software system itself inte-
grated with any applicable hardware system(s). The purpose of integration testing is
to detect any inconsistencies between the software units that are integrated together
(called assemblages) or between any of the assemblages and the hardware. System
testing is a more limited type of testing; it seeks to detect defects both within the
”interassemblages” and also within the system as a whole.
System testing is performed on the entire system in the context of a Functional Re-
quirement Specification(s) (FRS) and/or a System Requirement Specification (SRS).
System testing tests not only the design, but also the behavior and even the believed
expectations of the customer. It is also intended to test up to and beyond the bounds
defined in the software/hardware requirements specifications.
The following examples are different types of testing that should be considered
during System testing:
Two principles included in Quality Assurance are: ”Fit for purpose”, the product
should be suitable for the intended purpose; and ”Right first time”, mistakes should
be eliminated. QA includes management of the quality of raw materials, assemblies,
products and components, services related to production, and management, produc-
tion and inspection processes. Suitable quality is determined by product users, clients
or customers, not by society in general. It is not related to cost, and adjectives or
descriptors such as ”high” and ”poor” are not applicable. For example, a low priced
product may be viewed as having high quality because it is disposable, where another
may be viewed as having poor quality because it is not disposable.
In the context of software engineering, software quality refers to two related but
distinct notions that exist wherever quality is defined in a business context: Soft-
ware functional quality reflects how well it complies with or conforms to a given
design, based on functional requirements or specifications. That attribute can also
be described as the fitness for purpose of a piece of software or how it compares to
competitors in the marketplace as a worthwhile product; Software structural quality
refers to how it meets non-functional requirements that support the delivery of the
functional requirements, such as robustness or maintainability, the degree to which
the software was produced correctly.
Structural quality is evaluated through the analysis of the software inner structure,
its source code, at the unit level, the technology level and the system level, which is in
ffect how its architecture adheres to sound principles of software architecture outlined
in a paper on the topic by OMG. In contrast, functional quality is typically enforced
and measured through software testing. Historically, the structure, classification and
terminology of attributes and metrics applicable to software quality management have
been derived or extracted from the ISO 9126-3 and the subsequent ISO 25000:2005
quality model, also known as SQuaRE. Based on these models, the Consortium for
IT Software Quality (CISQ) has defined five major desirable structural characteris-
tics needed for a piece of software to provide business value: Reliability, Efficiency,
Security, Maintainability and (adequate) Size.
Summary
The chapter discusses the tests that are done on the system to check its functional-
ity. 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.
The following snapshots and graphs define the results or outputs that we will
get after step by step execution of each proposed protocol for different values.
9.1 Snapshots
The above screenshot shows the front end of the android application.It consist of
two text boxes.One for entering the ip address of the local host to get connected and
other box is used to type text which text user like to display on matrix display.
The screenshot in Figure 9.2 shows us how a simple word was displayed in dotmatrix
from left to right.Here the user had typed the msg which to be displayed in the textbox
in the app which we can observer in the figure.Here both mobile and hardware device
43
WiFi Based Digital Notice Board Chapter 9
are connected to same hot spot.the message transfer was happened here by using SPI
protocol.
The screenshot in Figure 9.3 shows us how a digits were displayed in dotmatrix from
left to right.Here the user had typed the msg which to be displayed in the textbox in
the app which we can observer in the figure.Here both mobile and hardware device
are connected to same hot spot.the message transfer was happened here by using SPI
protocol.
Dept Of ISE - Feb - May 2018 44
WiFi Based Digital Notice Board Chapter 9
The screenshot in Figure 9.4 shows us how a message was displayed in dotmatrix
from right to left.Here the user had typed the msg which to be displayed in the textbox
in the app which we can observer in the figure.Here both mobile and hardware device
are connected to same hot spot.the message transfer was happened here by using SPI
protocol.
Summary
WiFi based Digital Notice Board system makes user easy to type and display
the required content .It works based on SPI protocal.
10.1 Conclusion
The prototype of the proposed WI-FI based electronic notice board was suc-
cessfully 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 android 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, validate it, store it and display it
on 8X8 LED panel. It reduces the overall development cost and also minimizes the
complexity.Therefore, smart electronic notice board system becomes smarter, efficient,
robust and portable.
46
WiFi Based Digital Notice Board Chapter 10
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.
48
Appendix A
Code
byte l e d P i n = 2 ;
char s s i d [ ] = ”mani” ; // SSID o f your home WiFi
char p a s s [ ] = ”” ; // password o f your home WiFi
WiFiServer s e r v e r ( 8 0 ) ;
#include ”MaxMatrix . h”
#i f ( d e f i n e d ( AVR ) )
#include <avr \ pgmspace . h>
#e l s e
#include <pgmspace . h>
#endif
49
WiFi Based Digital Notice Board Chapter A
byte b u f f e r [ 8 ] ;
// S t a r t t h e s e r v e r
s e r v e r . begin ( ) ;
S e r i a l . println (” Server started ” ) ;
// P r i n t t h e IP a d d r e s s
S e r i a l . p r i n t l n ( WiFi . l o c a l I P ( ) ) ;
s=WiFi . l o c a l I P ( ) . t o S t r i n g ( ) ;
s+=” ”;
Serial . println ( s );
a=&s [ 0 ] ;
m. i n i t ( ) ; // module MAX7219
m. s e t I n t e n s i t y ( 1 0 ) ;
}
String req ;
void l o o p ( )
{
delay (100);
m. s h i f t L e f t ( f a l s e , t r u e ) ;
printStringWithShift (a , 100);
WiFiClient c l i e n t = s e r v e r . a v a i l a b l e ( ) ;
if (! client ) {
return ;
}
// Wait u n t i l t h e c l i e n t s e n d s some d a t a
S e r i a l . p r i n t l n ( ”new c l i e n t ” ) ;
while ( ! c l i e n t . a v a i l a b l e ( ) ) {
delay ( 1 ) ;
}
// Read t h e f i r s t l i n e o f t h e r e q u e s t
r e q = c l i e n t . r e a d S t r i n g U n t i l ( ’H ’ ) ;
S e r i a l . p r i n t l n ( req ) ;
client . flush ();
// Prepare t h e r e s p o n s e
S t r i n g s = ”HTTP/ 1 . 1 200 OK\ r \ nContent−Type : t e x t / html \ r \n\ r \n<!DOCTYP
// s += ( v a l )?” h i g h ” : ” low ” ;
s += ”</html>\n” ;
Dept Of ISE - Feb - May 2018 53
WiFi Based Digital Notice Board Chapter 10
// Send t h e r e s p o n s e t o t h e c l i e n t
client . print ( s );
delay ( 1 ) ;
S e r i a l . println (” Client disonnected ” ) ;
delay (100);
a=&r e q [ 6 ] ;
m. s h i f t L e f t ( f a l s e , t r u e ) ;
printStringWithShift (a , 100);
}
void p r i n t C h a r W i t h S h i f t ( char c , int s h i f t s p e e d ){
i f ( c < 3 2) return ;
c −= 3 2 ;
memcpy P ( b u f f e r , CH + 7∗ c , 7 ) ;
m. w r i t e S p r i t e ( maxInUse ∗ 8 , 0 , b u f f e r ) ;
m. setColumn ( maxInUse ∗8 + b u f f e r [ 0 ] , 0 ) ;
// E x t r a c t c h a r a c t e r s from S c r o l l i n g t e x t
void p r i n t S t r i n g W i t h S h i f t ( char∗ s , int s h i f t s p e e d ){
while (∗ s != 0){
p r i n t C h a r W i t h S h i f t (∗ s , s h i f t s p e e d ) ;
s++;
}
}