Application Design of Farmbot Mobile App Using Internet of Things on Android

Food is essential for country development. It can impact both sustainability and the succession of the process itself. As for a developing country, Indonesia’s main food supplies are coming from the agriculture sector. It was estimated at least 49.81 million tons of rice must be produced every year. However, this sector has faced some serious threats, the land conversion is one of the major issue, almost 4,000 agriculture hectares is getting convert every year resulting in a mass reduction of food supply. Furthermore, urbanization also decreasing the farmers with a ratio of 0.7 million people annually. These two factors alone will give a huge impact which leading to food shortage. Gladly, the improvements of Internet of Things give a sight at the technological solution. Robotics, combined with IoT, and machinery can produce an agriculture CNC based robotic called Farmbot which functioned to help urban people grow and maintain plants in a small indoor or outdoor area automatically. Farmbot can be controlled by the user using an installed interface on a connected device through internet which allows it to receive command and execute it with great accuracy. In this study, the automation system to operate Farmbot from smartphone devices will be created.


Introduction
The need for food is fundamental for all kinds of life, especially in human life. Not only on the individual scale, but it also made a huge impact on country sustainability. As the global population keeps rising, food will become more vital to maintain country development. Indonesia which was stated as the 4 th most populated country with more than 268 million people, was expected to produce 49.81 million tons of rice in 2019 according to "Portal Epublika Pertanian" [1]- [3]. This number was indicating a huge demand for food must be fulfilled. Agriculture is the most important and crucial sector in terms of food fulfillment especially in Indonesia as one of the agrarian country [3]- [5]. However, based on current observations, Food fulfillment was facing several threats such as urbanization, which caused the reducing numbers of land and clean water, and so do the farmers.
According to Djauhari's and Nurchamidah's research, it was stated that 4000 hectares of agricultural land annually were converted into other sector lands which are industrial area, housing, roads, and other facilities and infrastructures [2]. Also, on the other hand, the Ministry of Agriculture of Indonesia mentioned that every year from 2012 until 2017, the number of people who works as farmers were reducing as much as 0.7 million residents [6]. The bad news of this phenomenon is that the food fulfillment challenges are not just happened in a particular country or half side of the earth, but it is happening in a whole globe. As no one can prevent the urbanization, then a new grant solution ICETIR 2020 IOP Conf. Series: Materials Science and Engineering 982 (2020) 012055 IOP Publishing doi: 10.1088/1757-899X/982/1/012055 2 must be given and put into a realize in order to provide a great amount of food supply. One of the solutions is the merger between the agricultural sector with IoT which can lead to smart agriculture.
Smart agriculture can provide modern agriculture using the automation system and IoT. The main concept of IoT's technology needed to help solving the fulfillment food issue is simply the integration of various components and processes to generate highly intelligent and practical tools [7]- [9]. The agricultural sector must embrace the IoT for this advancement and develop more technology to sustain food fulfillment. Also, based on the main factor which is urbanization, the solution which makes agriculture smarter should follow up on the condition in the urban area which only has a small land area for agriculture. This makes the agricultural sector have to transform by utilizing modest resources. By using a modern agricultural concept, smart agriculture will be able to be carried out in urban areas with a high level of population, both on vacant land and in the yard [10].
The basic integration of IoT-based technology (Internet of Things) was accompanied by Artificial Intelligent, Robotic, Sensor, and Human Machine Interface [7], [11]. Smart Agriculture which is a modern farming method will be more efficient using IoT technology, and will also increase the level of productivity and food quality. The IoT system will facilitate the automated implementation of Smart Agriculture on both a large scale and a small scale. There are also some examples of the use of Smart Agriculture using IoT-based technology, namely, (a) agricultural drone which is the use of technology in the form of drones in the agricultural sector, (b) smart greenhouses which are smart greenhouse technology, (c) livestock monitoring or in other words supervision livestock, and (d) precision agriculture which is precision agriculture [12]. Also considering the development of smartphone technology, it is possible to integrate the agricultural tech into the mobile phone to make it easier to use.
Farmbot will be a perfect solution for urban smart farming, by connecting it into a smartphone device, a specific user can control and monitoring the plant from anywhere and harvest it at the correct time. Along with that, by considering the easiness factor, and user satisfactory point of view, it is important to create the UI to be easy to use, understandable, useful, and comfortable to use. All of those factors were wrapped up on this research which leading the research as into designing a mobile app that can be connected to Farmbot and send a specific command to execute watering feature, and spindle movement with high accuracy and the intensity of the app to be complacent to use [5], [13].

Materials and Method
2.1. Materials 2.1.1. User Interface. The user interface (UI) is one part of Human-Computer Interaction (HCI), which is a study, planning, and design of interactions between humans and computers [14]. UI in a nutshell can mean a display on a screen, which can be seen or controlled by the user by displaying information in an interactive system [15]- [17]. In the current Industry 4.0 era, a user interface can mean a display that connects a function in the form of a program in it, to do what is desired by one or more users using a computer or smartphone to allow interaction between humans and computers and smartphones. The UI must also prioritize the layout arrangement of the application or website display design which is simple, easily recognizable and consistent [18] 2.1.2. Farmbot. Farmbot is a small agricultural robot that resembles an open-source CNC that moves on a special track that navigates a plot of land with a plot of the Cartesian field [13]. There are several inseparable parts of a farmbot, including tracks, tools, servo, and containers of tools or tools bay. Farmbot conducts all activities from seeding, watering, scheduling, and monitoring (including monitoring plant moisture conditions) by being on the track that has been available on a plot of land using the right tool heads in accordance with its functions which are stored in the tool bay located in one side of the plot. Farmbot is controlled using electronic components such as Arduino / RAMPS and Raspberry Pi 3 [13].  Figure 1 above shows the high level of Farmbot Cartesian design which consist of 3 axis direction X, Y, and Z. This allowing better movement with precision to execute seeding, watering, and monitoring command. Farmbot is also identified by Web application that enables access from anywhere in which user located and using any internet-connected device. Figure 2 below showing the Farmbot web application which represents the garden design as one of the features available. Usability. Usability can be interpreted as a convenience that can be learned and understood by users in the process of operating, preparing, and interpreting the output of a system or component. Usability can also mean as a form of achieving a specific goal related to the satisfaction, effectivity, and efficiency of an application user [14], [19].
In determining the usability value, there is an interval scale of values that become a reference to determine whether the usability value obtained satisfies the user or not. According to Arikunto in a book entitled "Research Procedure for a Practical Approach", it was stated that if the usability results obtained ranged from 0 -52% then it can be said that the interface design was not successful or could not meet user expectations. Then, if the range of usability values ranges from 53 -68%, then it is said that the interface design is sufficient to meet user expectations and if the usability value ranges between 60-100%, then the interface design can be said to be successful. The following table 1 shows the scale interval of the qualification value from the usability test to be performed. Figure 3 below describes a frame of mind that consists of a step by step sequence of problem solving that will make it easier for writers to carry out the research process from the beginning to completion. The research was divided into 3 main sequences that began with the observation of the existing system of Farmbot hardware and software in research planning. Then it was processed with the software design or the app generation starting from gathering the user needs until testing it out using the Usability test. The last process was the integration phase which concludes the final step of the research.

Research Planning
The author began the research by do some benchmarking on existing systems of the Farmbot app and the system software to be used during the research. By doing research planning, the author found Android Studio will be selected for the app creation and Firebase Realtime-Database as the server.

Software Design Phase
Conduct 3 main sub-phase which are part of the User-Centered Design method, research design, design, and design evaluation [14], [20]. The phase began by interviewing the previous researchers of the Farmbot Windows-based app in order to generate a User Persona. The user persona is used as guidance for the app making process. Starting from creating the wireframe, mockup, and finalize it as a complete installable app. Just before the interface is being finalized, the fixed user interface is reviewed using usability test to assure it meets the user expectance. The usability test is begun by sending some questionnaires to some respondents while showing the interface designed, also some of the respondents got the chance to try the prototype. Author using Likert Scale Value as shown in table 1 for scaling the questionnaire result. The results are measured using the formula as follow: The usability test will be judge by the author using Qualification Usability Percentage by Arikunto as shown in table 2 below to determine whether the app interface has met the users' expectations or not.

Integration System with IoT.
Internet of things is the most important setup in this research. It is used to transfer the information it needed from the app onto the Farmbot hardware. The server which used in this research was Firebase system from google, it is connected to Android studio by giving certain code to send and retrieve information as the command for Farmbot to act. The command then received by Farmbot hardware through an embedded WIFI module inside Raspberry Pi3 used. Then Raspberry Pi3 forwarded it to Arduino Mega 2560 to utilize which hardware parts should move. It's connected to all parts of Farmbot such as motor driver, soil moisture sensor, water pump, camera, and motion sensor. Once the command is given using the app, the information will remain saved inside Firebase Realtime-Database and it can be changed by giving new commands. The integration phase is finished when the trial and error of the whole system succeed.

User Persona
Farmbot mobile app is an app that will be able to help farmbot user to operate it within such a long or short distance using a mobile platform. The app itself is meant for the user conformance thus make it has to satisfy the user needs. User Persona helps the author to map and determine the layout of User Interface and the structural function of the app. Table 3 below shows the User Persona gained by the author.

Want ease in managing watering events on the Farmbot
 Scheduling feature that can be controlled via an Android-based application  Plant coordinate feature that makes it easy for users to determine the coordinates of the farmbot watering Want to display applications that are simple, fun and easy to understand  The interface is made as simple as possible using the appropriate color so that it is fun to look at Each feature that was made in the app are mapped using scenario context as shown in Table 4 and 5:

Scheduling
The application to be designed is planned to have 4 scheduling slots that can be inputted by the user both for watering and scanning the planting area. Task scheduling that will manage all the functions of the event or scheduling feature that consists of:

Show Schedule
Shows event data that has been inputted previously. Users can see the minimum moisture content before the Farmbot device does the watering and other data including indicators whether the schedule is active or not.

Edit Schedule
Allows users to change the schedule for watering and scanning of planting land.

Activate Schedule
The four schedules that have been inputted can be activated in each event show interface using the button switch.

Deactivate Schedule.
Provides the ability for users to deactivate events that have been inputted.

Watering Coordinate
There are 3 components that determine the location of watering, the number of watering locations, and the distance between watering locations, including:

Start Point
Users can specify the location of watering manually by changing the start point in the Firebase database using the interface control.

Watering
Step Watering step determines the number of looping watering locations in the x and y-axis cartesian format. Users can set the number of watering locations manually through this function.

Interval
The interval determines the distance between watering locations. Users can set it manually using this function. Figure 4 below shows the arrangement of the wireframe UI app which was generated based on the user persona and scenario context. This application has 4 main menus shown in the interface architecture below which are the Scheduling menu, the Control menu, the Monitoring menu, and the About menu. However, in this study, there will be only 2 menus for discussion, which are scheduling and control menu. From the main menu, users can access scheduling and control menu. On the Scheduling menu, the user will immediately be directed to Schedule 1 Show menu which gives information about the first watering schedule. Users can navigate the schedule menus 2, 3, and 4 via the arrow buttons on each interface. Also included is a feature to activate or deactivate schedules that have been inputted. From the home menu, users can also access the Control menu which can display the coordinates of the temporary spindle of the Farmbot device. At the bottom of the interface, there is a watering coordinate feature. In this feature, the user can manually adjust the watering coordinates and specify the number of locations that must be watered. More details about each feature will be discussed in the prototype figures below.

Prototypes
In this application, there are several views to perform the previously mentioned scenario of the app which accessible from the main menu view which can be seen in Figure 5.  Figure 6 below which is the Scheduling menu which directs the user to an interface full of the Farmbot watering activity information. Its main functions are to provide information to the user regarding when it will perform watering to the plant, when it should do the watering again (it could be every day, every week, or every one-hour), and even in this menu the user could either activating or deactivating the watering schedule manually. It also providing some information regarding the moisture indicator to determine whether it should perform watering or not.

Schedule Edit
It's the sub-menu from Scheduling menu which can be accessed by touching the EDIT button at the bottom interface from the previous menu. Its main function is to edit the scheduled event that has been inputted before and change it with different parameters as the user's wills. Figure 7 below is the Schedule Edit interface.

Control
Control is the sub-menu which gives the user full control of farmbot movement by using the x,y, zaxis. Control menu is also divided into several functions which are described as follows.   In figure 10, it is shown the Watering Coordinate function interface that can be used to change the watering coordinates manually as wills.

Usability Test
The usability test in this research is meant to determine either the interface has met user expectations or not. The idea is to create a Farmbot mobile app which more understandable, useful, easy to use, and easy to learn. Several questions were spread in a questionnaire into 50 respondents whim given a sight of the app and tried to use it. The questionnaire was using Likert Scale from 1 to 5, and the result obtained was calculate using the usability formula as follows.
( )  usefulness score = A  easy to use score = B  easy to learn score = C  satisfaction score = D Questionnaire result calculated as follows in Table 6. Using the equation above, the usability result obtained as showed in the calculation below.

Integration System
This application is connected to a firebase realtime database server to store data or commands from the user using through the app and transfer it into existing farmbot hardware to perform a specific action.  Figure 11. Hardware and Software Integration Figure 11 explains that the Farmbot system consists of two main sub-systems consisting of a Farmbot schedule app and a Farmbot device. The two sub-systems are connected using a Firebase server which is an intermediary in sending and retrieving data from the Farmbot app to the Farmbot device and vice versa. Farmbot devices connect various farmbot devices such as water pumps, stepper motors, soil sensors, and water flow sensors. The Farmbot device is controlled by Arduino Mega which is connected using Raspberry Pi to the Firebase realtime database. Then the Farmbot scheduling application will retrieve information on firebase and store various scheduling commands in the database.   Figure 12 and 13 give brief information about the information stored in the Realtime Database which also can be transferred into Farmbot Hardware to do a specific command.

Conclusion
Farmbot is a CNC based robotic device which functions are to help people in the urban area to grow plants and enable them to produce plant-based food supply without consuming huge areas. Thus, the operation of Farmbot that was previously using computer which requires short distance between users and Farmbot hardware, can also be operated using user's smartphone with unlimited distance as far as the internet signal can reach it. Firebase holds an important role in this research as to store the information given by the user. The Raspberry Pi at Farmbot device helps it to get the information from Firebase as it has an embedded wifi module to access internet. Farmbot also detects area which information is transferred back to the Firebase, and the application which connected to Firebase can obtain it and shows it to the user. By using this app, users can control the position of Farmbot spindle manually, set scheduling events to do watering or monitoring the land area, and set the new watering coordinates by using mobile smartphone at any distance. The interface also user-oriented by the results of the usability test had shown. The advantage of this android based Farmbot app are the userfriendliness and its borderless, no matter where the user is giving the command to Farmbot, will be delivered by the Firebase server.