Documente Academic
Documente Profesional
Documente Cultură
Bachelor of Technology
by
Divya Trivedi(15UEC159)
Hima Sowndarya Obugari(15UEC055)
Ch. Sai Manish (15UEC062)
Vivek Kumar (15UEC072)
Navlit Kumar(15UEC071)
i
DEDICATION
We would like to dedicate this report to our loving parents and teachers and lab
assistants who guided us and advised on our difficulties during this time span
and helped us throughout.
I also dedicate my work to my friends who helped me a lot throughout my Work.
ii
“All power is within you; you can do anything and everything.”
-Swami Vivekananda
iii
APPROVAL SHEET
________________________
________________________
________________________
________________________
________________________
________________________
Supervisor (s)
________________________
________________________
________________________
Chairman
________________________
Date: ____________
Place: ____________
iv
DECLARATION
Divya Trivedi
(15UEC159)
Navlit Kumar
(15UEC071)
Vivek Kumar
(15UEC072)
v
CERTIFICATE
vi
ACKNOWLEDGEMENT
During the entire course of our project, we had help and guidelines of our
respected guide, who deserve our greatest gratitude. The completion of
this report gave us much pleasure and we gathered a bunch of experience
and knowledge. We would like to hence show our gratitude to Mr. Partha
Kumar Deb, Assistant Professor, Department Electronics and
Communication, National Institute of Technology for giving us a good
guideline for project throughout numerous consultations. We would also
like to expand our deepest gratitude to all those who have directly and
indirectly guided us in every way. Many people especially our classmates
and team members itself have made valuable comments and suggestions
on this proposal which gave us an inspiration to improve our work. We
thank all the people for their help directly and indirectly to complete our
assignment.
Thank You
Name :
Place :
vii
CONTENTS
DEDICATION..................................................................................................................................ii
APPROVAL SHEET..........................................................................................................................iv
DECLARATION................................................................................................................................v
CERTIFICATE..................................................................................................................................vi
ACKNOWLEDGEMENT...................................................................................................................vii
CONTENTS...................................................................................................................................viii
LIST OF IMAGES.............................................................................................................................xi
ABSTRACT.....................................................................................................................................xii
Chapter 1:
INTRODUCTION 1
● 1.1 Overview 1
➔ 1.1.1 Why automation in restaurants? 1
➔ 1.1.2 How are restaurants transitioning towards automation? 2
➔ 1.1.3 Automation in front-of-house sites 2
➔ 1.1.4 Automation in restaurants back-of-house 2
➔ 1.1.5 Automated food delivery 3
● 1.2 Objectives 4
● 1.3 Idea 5
Chapter 2:
HARDWARE-RASPBERRY PI 6
Chapter 3:
DESIGN METHODOLOGY 11
Chapter 4:
viii
● 4.1 Introduction to access point 13
● 4.2 Hostapd 14
● 4.3 Dnsmasq 14
● 4.4 Configuration for access point establishment 15
➔ 4.4.1 Setting Static ip 15
➔ 4.4.2 Configuring hostapd 16
➔ 4.4.3 Configuring dnsmasq 17
Chapter 5:
Chapter 6:
Chapter 7:
Chapter 8:
Chapter 9:
● 9.1 Introduction 38
● 9.2 Sessions 38
● 9.3 File Structure 39
Chapter 10:
Chapter 11:
ix
CONCLUSION 43
Chapter 12:
FUTURE SCOPE 44
BIBLIOGRAPHY 45
x
LIST OF IMAGES
Image 1- Raspberry pi
Image 2- Workflow
Image 3- Command terminal with static ip
Image 4- Wi-Fi network
Image 5- Sign in page opens
Image 6- Sign in
Image 7- PHP test script
Image 8- Database creation
Image 9- Table creation
Image 10- Username and password entries
Image 11- Table
Image 12- Entries of items
Image 13- Login/ Sign in page
Image 14- Login successful page
Image 15- Add to cart
Image 16- View cart
Image 17- Deleted from cart
Image 18- Session file
xi
Abstract
xii
0
Chapter 1
Introduction
1.1 Overview
So why is it, then, that the same savvy restaurateurs who invest in
accounting, restaurant point of sale software, or energy management
solutions often find themselves chained to their desks week after week,
spending as many as 8 hours trying to build the perfect schedule by hand?
1
eatable items. All this process is cumbersome for customers from order
placement till bill payment.
Moreover, changing of menu cards or adding new items to menu, causes
problems for responsible persons to update menu cards frequently.
Therefore, existing system is time taking and requires a lot of human
effort. The existing system is non-computerized. Such manual systems
lead to problems because the waiter might not understand what the
customer had ordered therefore serving him/her a different menu. This
could be quite embarrassing as it will lead to customer dissatisfaction and
ruin of restaurant reputation.
Automation in the front-of-house sites would not have a lot to do with the
installation of robots to take on basic tasks and would primarily be related
to substituting cashiers and servers with self-service kiosks. A number of
large-scale hospitality chains, such as McDonald's and Wendy's, are
actually starting to experiment with self-service kiosks in their eateries.
Although this continues to be in the testing stage, it can eventually turn
out to be a feature in each and every outlet if successful.
Furthermore, front-of-house automation is not restricted only to fast-food
facilities, as a number of notable fine-dine restaurant chains have adopted
automation as a part of their front-of-house sites.
2
Robots in restaurants are carrying out basic tasks that are repetitive in
nature, and this makes them ideal for the back-office management of
restaurants. Although this may appear to be more like science fiction,
there are now many real-life instances where robots are used in
restaurants as cooks in the kitchen. A Boston-based restaurant, named
Spyce, has been using robots in their kitchen and those robots manage
back-of-house tasks like fetching food from the refrigerator, prepping it,
cooking it, and also garnishing it prior to serving to the customers.
3
off. The majority of the restaurants involved in developing prototypes or
attempting to make use of robots in their franchises are large-scale
businesses. They have a considerable amount of money to pay for research
and innovation, therefore it is going to take a couple of years before they
have mastered the concept for robots and are able to introduce them to
the mainstream and make them available to regular eateries. Although
this technology is still in its growing stage, it is important to be completely
aware of it and the way it could impact your restaurant, so you can be
prepared to take your restaurant to the next level in the near future.
1.2 Objectives
1.) To reduce the monthly cost paid to employees. This will reduce the
overall cost paid by the owner from his income and ultimately lead to
better resources.
2.) Reduce mistake made by waiters. Sometimes waiters misinterpreting
the order and missing the quantity are not an uncommon sight. With the
help of this system this can be minimized.
3.) Reduce labour into minimum needed. The only labour required with
this system will be labour required at the backend side examples cooks.
4.) Increase customer comfortability. The customer can take his/her own
time to comfortably analyse the menu and order the food accordingly
4
1.3 Idea
5
Chapter 2
Hardware: Raspberry pi
Image 1. Raspberry pi
6
● USB ports: 4
● Video outputs: HDMI, composite video (PAL and NTSC) via 3.5
mm jack
● Network: 10/100Mbps Ethernet and 802.11n Wireless LAN
● Peripherals: 17 GPIO plus specific functions, and HAT ID bus
● Bluetooth: 4.1
● Power source: 5 V via MicroUSB or GPIO header
7
2.2 Capabilities of raspberry pi
● Budget desktop
The Pi can be run as a budget desktop, providing you have the patience.
However, don't expect the Pi 3 to match a typical PC, it will lag loading
heavier websites and, when browsing these demanding sites, having more
than a handful of tabs open at once runs the risk of overloading the Pi's
memory--causing a lengthy freeze.
● Media Center
There are various options if you want to use the Pi 3 as a media center but
the most popular choices are the Kodi-based OSes OSMC or LibreElec.
The Pi 3 has the added advantage of a slightly faster graphics processor,
which the Raspberry Pi Foundation has said is able to play local H.264-
encoded video recorded at 1920x1080 resolution and 60 frames per
second. Another advantage is built-in support for Wi-Fi makes it easier to
stream content to the Pi, while native Bluetooth simplifies the hooking up
peripherals.
● Retro games console
A wide range of vintage games will run on the Pi with the help of emulators
like RetroPie, including some games from all of the systems listed above,
although the more recent the system, the more likely it is that more
demanding titles will struggle.
● Router
Raspberry Pi comes with wireless capabilities already on board. It can take
the place of a ton of different (and more expensive) devices – including a
router! If you turn your Raspberry Pi into a wireless access point, you can
make it act as a router.
● WiFi and Bluetooth device
Raspberry pi 3 comes with WiFi and bluetooth connectivity, where one
can access to internet as well connect to other devices very easily using
raspberry pi.
8
The Pi can run the official Raspbian OS, Ubuntu Mate, Snappy Ubuntu
Core, the Kodi-based media centers OSMC and LibreElec, the non-Linux
based Risc OS (one for fans of 1990s Acorn computers). It can also run
Windows 10 IoT Core, which is very different to the desktop version of
Windows, as mentioned below. However, these are just the officially
recommended operating systems, and a large array of other weird and
wonderful OSes also work on the Pi.
9
2.3 Scope of raspberry pi
Raspberry pi was once only hoped for the device to make computer science
appealing to young students. However, with millions of sales in just a few
years, IT experts and enthusiasts discovered many more use cases for the
mini computer. Today, one can use it for multiple projects such as
robotics, home automation and building a mini web browser or living
room PC.
Essentially, the Raspberry Pi makes sense as a VDI solution for SMBs
where the user base mainly consists of task workers. It functions
effectively as an embedded systems platform that can be configured to run
tasks without codec decompression. Any company with a modest IT
budget can use Raspberry Pi as a Thin Client and it is a safety net for those
that start small. This is a plus point for all the aspiring and upcoming
entrepreneurs out there. One can use it to initiate small-scale projects with
low computational power with just a few simple clicks. For these reasons,
the Raspberry Pi’s adoption rate shows great promise in the future and we
expect more computational experimentations to be carried out with this
device.
In keeping up with virtualization market trends, ClearCube has launched
the new C3Pi+ Raspberry Pi 3 Model B+ Thin Client which integrates
VMware Blast Extreme for virtual desktops and applications. It
dynamically increases the Thin Client device’s processor and network
speed and adds extra Wifi bands for further deployment opportunities.
Furthermore, the C3Pi+ includes a 2.4 GHz processor that offers users
faster response, improved video decoding and clearer images. Taking all
this into consideration, we can safely say that there is a lot more to expect
from this Thin Client model in the years to come.
10
Chapter 3
Design methodology
11
3.2 Workflow
Image 2. Workflow
12
Chapter 4
13
4.2 Hostapd
4.3 Dnsmasq
14
4.4 Configuration for access point establishment
Since the Raspberry Pi will be the DHCP server on the wireless network,
we need to assign a static IP address to its wireless adapter.
For setting up static ip we need to edit interface file found at
/etc/network/interfaces file and configure wlan0 setting to set up static ip
address as 198.162.1.1
Now typing ifconfig on command terminal we can see the ip address has
been changed to static ip address.
15
4.4.2 Configuring hostapd
16
4.4.3 Configure dnsmasq
17
Chapter 5
18
● NGINX is a multifunction tool. With NGINX, you can use the same
tool as your load balancer, reverse proxy, content cache, and web
server, minimizing the amount of tooling and configuration your
organization needs to maintain. NGINX offers tutorials, webinars,
and a wide array of documentation to get you on your feet.
NGINX Plus includes rapid-response customer support, so you can
easily get help diagnosing any part of your stack that uses NGINX or
NGINX Plus.
● NGINX keeps evolving. For the past decade NGINX has been at the
forefront of development of the modern Web, and has helped lead
the way on everything from HTTP/2 to microservices support. As
development and delivery of web applications continue to evolve,
NGINX Plus keeps adding features to enable flawless application
delivery, from the recently announced support for configuration
using an implementation of JavaScript customized for NGINX, to
support for dynamic modules. Using NGINX Plus ensures you’ll stay
at the cutting edge of web performance.
Nginx can host multiple sites, and each one requires its own
configuration file. The configuration file tells nginx where the files for
the site are located and how to handle client requests. We need to create
a new configuration file for our site:
/etc/nginx/sites-available/mysite.conf
server {
# Listen for requests over both HTTP and HTTPS
listen 80;
listen [::]:80;
19
#listen 443 ssl;
#listen [::]:443;
# Present a friendly name to the client, instead of an IP
address
server_name download.localnet;
#Include HTTPS configuration from the snippets directory
#include snippets/self-signed.conf;
#include snippets/ssl-params.conf;
root /usr/share/nginx/html/download;
20
notification will appear on the phone asking the user to sign in via the
captive portal.
Dnsmasq resolves connectivitycheck.android.com to the IP address of our
Raspberry Pi and nginx receives the phone’s request for generate_204.
We have configured nginx to return code 302 (redirect) when a request
for generate_204 comes in. This will cause the phone to display a
notification to sign into the network.
Activate the new site by creating a link to it in the sites-
enabled directory:
sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-
enabled/mysite.conf
Deactivate the default nginx site to prevent conflicts:
sudo rm /etc/nginx/sites-enabled/default
Restart the server for the changes to take effect:
sudo service nginx restart
If you reconnect to the hotspot, you should receive a notification to sign
in:
21
Image 5. Sign in page opens
When you tap the notification, it should take you to the captive portal
and display our custom page:
22
Image 6. Sign in
23
Chapter 6
PHP means - Personal Home Page, but it now stands for the recursive
backronym PHP: Hypertext Preprocessor. Only after installing PHP the
PHP scripts can be interpreted.
Web browser is the only requirement for the client systems to access PHP
scripts.
A PHP file contains PHP tags and ends with the extension ".php".
PHP code can be embedded into HTML code, as well an be combined with
various web template systems, web content management system and web
frameworks.
24
● PHP is cross platform; this means you can deploy your application
on a number of different operating systems such as windows, Linux,
Mac OS etc.
● PHP has in built support for working hand in hand with MySQL
● PHP can also be used to work with other database management
systems like Oracle, Postgres, ODBC, etc
6.2 PHP-FPM
The following steps can be followed one after other so as to install php on
our Raspberry pi
● Initially PHP-FPM can be installed by the command sudo apt-get
install php-fpm
● Go to the default file in the sites-enabled folder of nginx where the
following line is found, index index.html index.htm;
which is edited as index index.php index.html index.htm;
● In the same file find the following portion
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
25
#
# location ~ \.php$ {
Remove the # in the following lines so as to look like
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php-fpm.sock;
}
Now makes changes as shown below
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
26
<!DOCTYPE html>
<html>
<body>
<?php
echo "My first PHP script!";
?>
</body>
</html>
● Now, open the index.php file using browser where we can find the
image as follows
27
Chapter 7
MySQL is written in C and C++ and accessible and available across over
20 platforms, including Mac, Windows, Linux and Unix. The RDBMS
supports large databases with millions records and supports many data
28
types including signed or unsigned integers 1, 2, 3, 4, and 8 bytes long;
FLOAT; DOUBLE; CHAR; VARCHAR; BINARY; VARBINARY; TEXT;
BLOB; DATE; TIME; DATETIME; TIMESTAMP; YEAR; SET; ENUM;
and OpenGIS spatial types. Fixed- and variable-length string types are
also supported.
29
Image 8. Database creation
30
Image 9. Table creation
31
Image 10. Username and password entries
32
Image 11. Table
33
Image 12. Entries of items
More tables can be created in the same database for less chaotic working
as well as editing.
34
Chapter 8
Here login page will be created in HTML , CSS and backend support
from php and mysql database for data storage.
download.html
|
assets
├─── css
├────── style.css
api
├─── config/
├────── DBM.php
├─── objects/
├────── USR.php
├─── User/.
├────── login.php
35
Login.php- The file that will accept username & password from the user
and validate.
NOTE- This file Index.html along with all the folders should be saved in
/usr/share/nginx/html/download
36
After putting username and password as “table1” and “table1”
respectively, we will be able to login.
37
Chapter 9
9.1 Introduction
Once the user successfully enters the username and password and it is
correctly verified, food menu will be displayed to user. The data item
present in the restaurant will be saved in another table in mysql
database. Food database is fetched from the database and displayed on
webpage. When the user want to order some item, he has to select it and
put in the cart.
9.2 Sessions
38
9.3 File Structure
39
Image 16. View Cart
40
Chapter 10
41
Here you will get the name of session file generated
3. Type
Sudo nano sessionfilename
Now you can watch the contents of file and see all the cart products from
the user.
42
Chapter 11
Conclusion
43
Chapter 12
Future scope
44
Bibliography
● Wikipedia.org
● softwaresuggest.com
● businessinsider.in
● Codeofninja.com
● Codinginfinite.com
● Pimylifeup.com
● Stewright.me
● Sanwebe.com
● Brennham.com
● W3schools.com
● Tutorialspoint.com
● Stackoverflow.com
● Raspberrypi.org
45
46