Design automatic waitress in android based restaurant using MQTT communication protocol

Currently, many technologies are created to facilitate and help solve problems in society. The development of technology and industrial automation encourages people to fulfill their daily needs quickly, precisely and efficiently. At this time, a variety of automatic equipment that supports human performance in carrying out their duties has been widely used, ranging from simple control tools to robotics with a variety of up-to-date technology bases. how to queue in front of the cashier and be delivered by the waiter to the dining table which utilizes a lot of Human Resources with various risks such as dishes or even fallen humans. Automatic serving is an alternative for serving food in a modern style. In the process of serving food, it is carried out by placing the food on the robot, using a stepper motor, the robot can walk and by using the photodiode sensor to detect food running on the food tray it will automatically stop in front of the table of customers who have ordered through the android application that has been provided in each table to seat. This system is expected to be able to make the system at the restaurant and its visitors safer and more comfortable.


Introduction
The word robot comes from the Czech language, namely robota, which means worker. According to the meaning of language, a robot is a mechanical device that can perform physical tasks, either using human supervision and control, or using predefined programs. Meanwhile, according to the Big Indonesian Dictionary, robots are tools in the form of people and so on that can move or act like humans, and are controlled by machines [1].
Serving food / culinary at this time by queuing in front of the cashier and delivered by the waiter to the dining table. In addition, the waiter brings many dishes regardless of the risk of the dish falling or anything else [2]. The development of increasingly modern technology has made it easier for people today, not only in industry, but in the field of food service as well. This has led to a shift in consumption patterns, people are more interested in eating outside the home in search of something practical. Therefore, to attract consumers, many restaurants try to be superior in providing services. This of course can be overcome by creating an innovation that makes it easier for the community, by utilizing Android and Web applications using the automatic waiter MQTT communication protocol with electronic payment methods. It is hoped that today's restaurant services will be more effective.

Methodology
In 2018, Food Serving System Prototype Using RFID-Based Arduino discusses creating an automation system for serving food in restaurants using RFID-based arduino. The method used is a laboratory experimental method, namely by creating and conducting a test program to then apply it to the prototype [3].
In 2018, Food Sort Control System Using Android as Human Machine Interface (HMI) discusses the use of android devices as a display interface or commonly known as the Human Machine Interface (HMI). Created with the aim of helping the work of an industrial unit in controlling and monitoring food sorting equipment according to predetermined usage needs [4]. Based on previous research, the authors developed a prototype to implement waiters automatically. This research develops what can be accessed by android applications.

3.1.System Design
At this stage, the system design is carried out, including mechanical design and electrical design. In addition to making mechanical and electrical designs, making software designs is also needed so that later it can simplify integration between hardware and software.

3.2.Prototype Design
In this automatic waiter system using 1 input which will be processed and produce 1 output. The input is in the form of order menu data which is then processed by the smartphone. The smartphone will send the data that will be received by the server computer. Furthermore, the restaurant chef will follow up. After the cooking is ready, the chef immediately places the food and drinks according to the data on the server on the robot. This system will automatically distribute food and beverages in the restaurant according to the table number ordered. Figure 3.2 shows the prototype design that will be used. The design of the prototype automatic waiter system consists of 4 wheels for each wheel, there is a 12 V motor for serving food and drinks, delivering according to orders that have been processed by a computer server or cashier with a path as in Figure 3

3.3.MQTT Protocol Communication
Message Queue Telemetry Transport or commonly called MQTT is a protocol for machine to machine or M2M communication and works at the seventh layer or application and is lightweight message. Even if the connection is lost, all messages sent will be guaranteed by the MQTT protocol. The publish / subscribe communication method is the sending method used by the MQTT protocol. The mes-IOP Publishing doi:10.1088/1757-899X/1175/1/012009 4 sage on MQTT is sent to the broker and contains the topic sent by the publisher. Then the topic was processed to be forwarded to the subscriber based on user requests.

3.4.Android Application Design
The android application that will be shows from the android application that will be used for the process of ordering food and drinks that have been installed on each device on the table.  To integration communication between the two uses the MQTT communication protocol where the application will publish messages on predetermined topics into the broker. Then the broker will receive the message and send it to nodemcu to command the prototype. The order data will be received by the chef and stored automatically into the database shown in Figure 3.9. The website created as shown in the image above will be used by the cashier and to process orders according to the data received from the customer to the cashier.

3.5.Trial and Analysis
In the implementation stage the system has been adjusted to the restaurant scheme. There are 3 tables as places for distributing orders. Arduino software is used as a programming language to retrieve data in the monitoring process. The prototypes that have been made and implemented in this system. The next stage after the prototype and application are ready for use is to test and analyze the system so that it runs well. Various kinds of tests are carried out, including testing the application function, namely testing the error magnitude in prototype integration with the system that may occur and can run according to the flowchart that has been compiled. In the system integration process, the application will publish messages according to predetermined topics as shown in Figure 10. In Figure 10. above we can see that predetermined topics can be published and subscribed by the system, so that when the application places an order, the order is automatically received by the restaurant and then distributed according to the order. In Figure 9. it can be seen that predetermined topics can be published and subscribed by the system, so that when the user application places an order at the restaurant table, the order will automatically be received by the restaurant as shown in Figure 11. and Figure 12. . and Figure 12. is the result of data in the database which shows the order information made by the application and will then be received by the system. The Autoresto application has been tested to record whether the application can run according to the flowchart that has been compiled and produces the output value according to the user's wishes.
Furthermore, testing is also carried out on the website to find out whether the website is able to accept orders according to the orders that have been sent from the application, so that the chef can serve the appropriate orders and distribute them to the restaurant table. In the last stage of testing the communication protocol used, to determine the delay and error generated by the MQTT communication protocol.

Conclusion
The MQTT protocol used is able to run well and smoothly when implemented in the IoT device monitoring system. The publish-subscribe principle that is applied can work well in the data transfer process that has been done and obtained a topic that contains information needed by the user based on observations from the specified device. Also concluded that the resources in the MQTT protocol can work well in low bandwidth conditions and high latency.