Status Checking System of Home Appliances using machine learning

This paper describes status checking system of home appliances based on machine learning, which can be applied to existing household appliances without networking function. Designed status checking system consists of sensor modules, a wireless communication module, cloud server, android application and a machine learning algorithm. The developed system applied to washing machine analyses and judges the four-kinds of appliance’s status such as staying, washing, rinsing and spin-drying. The measurements of sensor and transmission of sensing data are operated on an Arduino board and the data are transmitted to cloud server in real time. The collected data are parsed by an Android application and injected into the machine learning algorithm for learning the status of the appliances. The machine learning algorithm compares the stored learning data with collected real-time data from the appliances. Our results are expected to contribute as a base technology to design an automatic control system based on machine learning technology for household appliances in real-time.


Introduction
Nowadays, most of electronics equipment and device can communicate with user or other things and these communications and its services among things are referred to Internet of Things (IoT).The user and things can get information about the equipment and control the equipment through the various communications technologies.Although IoT technology is raipidly advancing, but the application of IoT technologies to the traditional home appliances is a little bit slow in progress.Therefore, many of the existing home electronics appliances are not still connected to internet.In our study, we selected a washing machine as an experimental subject to develop a status checking system based on machine learning.Especially, washing machines in launderette are shared with other people, people who want to do the wash need to know when the washing will be ended and which washing machine is available for use to save their time and considerate of others.For these reasons, we developed the status checking system which consists of hardware board, data server and android application.The Arduino system equipped with wireless internet module, current sensor and vibration sensor.It collects data from the washing machines and transmits to server and recognizes the status of the washing machine.And the android application accesses the server to fetch the data and injects into a machine learning algorithm which will determine real time status of the washing machine.The machine learning algorithm returns a prediction result after comparing with the learned data and real time data.This paper describes the system diagram, data flow and experimental result of the developed system.We analysed the results and the machine learning logic to improve the accuracy of the prediction of the washing machine status.

Parse.com web server
The system introduced in this paper operates based on data communication with smartphone, data server and Arduino board.The server is Parse.comweb server and the Parse.comprovides proper APIs for android and Arduino [1], [2].The web server is based on text data sheet format, and data requesting and saving actions are convenient by using the APIs.In this system, because the main data which are transmitted from Arduino to server are float format such as vibration data and current data, the Parse.comweb server is proper to implement this system.

WEKA machine learning program
The Waikato Environment for Knowledge Analysis (WEKA) program is machine learning software developed by university of Waikato, New Zealand.Developers can choose a proper machine learning algorithm and modify the algorithms for their purposes as open source software.Because the software is developed using java code, it is compatible for android system by making the software library form.

RBF network algorithm
Radial Basis Function (RBF) network is one of the artificial neural network logic.The main feature of this algorithm is effect between input sources.In the Figure 1-(a), all of the input sources effect to all of the radial basis functions with each weights of input sources and the radial basis functions effect to the one output with linear weights.Because of the feature the RBF network has advantage not only in nonlinear system also linear system to derive a specific output by allocating independence weights to each input sources [3], [4], [5].The Figure 1-(b) is expressing the probability distribution of two functions with equal value of weights in RBF network.In the system which is introducing in this paper, because the washing machine has four states of output such as staying, washing, rinsing and spin-drying, the functions should be four with equal weights and probabilities.

System Design
Figure 2 is a simple expression about the structure and data flow of this system.The sensor data are transmitted to server from washing machine using Arduino through wireless internet and the data are stored in the server.The stored data are transmitted to smartphone application and injected to a machine learning system.
In details, the process 1 is data flow from Arduino to web server.The first of the process in the Arduino is generating data using a current sensor and a vibration sensor.The current sensor is connected directly with washing machine and the vibration data is measured indirectly by detaching on the washing machine.To low the error range of the gap between analog data and digital data, the Arduino transmits the sensor data after calculating the average of the sensor values in a second.The data which transmitted from Arduino are accumulated in the server divided with learning data and real time data.The divided data are accessed by smartphone in the process 2. When user requests current status of washing machine, the application accesses the server and request learning data and real time data.And then, in the process 3, the data are injected machine learning to determine the current status of the washing machine.At last, the machine learning returns result to the application and the application displays the result.

Arduino
We should create sensor that can extract data about four states of machine and we should create transmission system that can send the sensor data.First, it needs basic three buttons.One of them is stop button to avoid extracting wrong data from unpredicted situations that generate error.We use yellow LED to distinguish whether the stop button is on or off.If the yellow LED was on, the system is stopped.Another button is separating with testing data and learning data.It is also expressed by red LED and green LED.So, if green LED is on, the Arduino is extracting testing data.And red LED means extracting testing data.When the button is pushed, the state of extracting is changed.The other button is to distinguish learning data class.Because there are four states, the learning data are extracted separately according to each state.It is expressed by two green LED and the LED make binary number.We assume the LED on is 1 and off is 0. The each binary number means that 00 is staying, 01 is washing, 10 is rinsing and 11 is spin

Android and machine learning
The android has a button for requesting the status.In the (a) of Figure 5, this capture of display is showing the status of rinsing.In the android application, there is determining logic with a WEKA machine learning algorithm library [6].We choose a machine learning algorithm as the RBF network model which has some advantages in non-linear system, because we cannot assure that the sensor data show the linear trend at the moment of status change.
The (b) of Figure 5 is expressing the modified RBF network algorithm.This algorithm is simplified by allocating equal weight to each statuses and equal probability to 1.Because the washing machine has four statuses, the graph should be expressed with four functions.In the graph, y-axis means the probability of each status and x-axis means RBFs.When the RBF network learned from learning data, each statuses are defined 0, 1, 2 and 3 and determine the status by the probability of each RBFs.The x-axis value divide with 0.75 gaps between each functions and the boundaries on 0.75, 1.5 and 2.25 are standards of determining status in this algorithm.After input data passing this algorithm, the machine learning return the value of functions which is determined as the highest probability.And then, the machine learning find which the status' range is containing the value.

Result
The experiment using this system is implemented two step as learning and real time for status determination.The Figure 6 is learning data which accumulated in server.The vibration data show the gathering aspect in each range of each statuses like (b).In the current data, the values of the staying and spin-drying statuses are stable, on the other hands, the washing and rinsing statuses show wide variations.The reason of the variations is, when washing and rising, the drum in the washing machine is turned direction periodically.When the drum is turned direction, the washing machine needs so much energy that makes need more current.The unstable graph aspect may cause misjudgement of machine learning between staying and rinsing in the moment at four seconds and six seconds.So, we should add the status judgement logic which counts the number of judgements in a moment and return the most number of judgements.To test the modified logic, we checked the android log in a moment which shows in Figure 7.The moment is changing status from staying to rinsing and the logs contain total nine judgements.As a result, because the nine judgements have three staying status and six rinsing status, the machine learning determines that the status is rinsing.

Conclusion
Nowadays, although many people could not experience the usability of the IoT technologies because of the high prices of the new home electronics appliances equipped with IoT technologies, the system introduced in this paper provides a method that the new IoT technologies can be applied to existing old-fashioned home appliances.These technologies can make home appliances automatic and it also can be used to other areas such as agriculture, effective management system of industrial field, if proper sensors are used and control software is developed for each application environments.In the transition phase of change to automation life, much research work on control technologies which can be applied to existing oldfashioned devices is needed to develop high quality of automation systems.Finally, our trials achieved in this paper may contribute to change our life to future IoTbased connected life.
Figure 1.The principle of RBF network.

Figure 2 .
Figure 2. The structure of system and data flow Figure 3 is a simplified circuit diagram of the arduino board.

Figure 3 .
Figure 3.The Arduino system circuit

Figure 4 .
Figure 4. Parse.comweb server (a) Android application display (b) Weight modified RBF network algorithm in application