Keywords

1 Introduction

A “Thing” is an entity or a system composed of subsystems where every subsystem becomes the integral component of the system and makes a thing as “Thing”. If we break the thing abstraction, we can find that every subsystem has a behavior. Now the question is how we can understand a thing in isolation. To understand the behavior of “Thing,” we need to understand what are the basic subcomponents of the system (thing) and then we need to understand the behavior of these subsystems to understand the behavior of the thing as a whole.

To understand these subcomponents, these subcomponents are deployed with sensors or better said agents, and these agents are not just electronic sensors but also they are equipped with the capability to learn the behavior of the subcomponent and log the behavior data of that subcomponent for that “Thing” which has a unique ID onto the cloud so that this sensed data for the thing can be further analyzed to extract “Thing Dynamics” a coin termed similar to Human Dynamics.

2 Working of “Thing”

2.1 Architecture of Thing

As we can see in Fig. 1, we have a conceptual diagram of Thing including its sub component. The subcomponents are deployed with learning agent (sensor). These agents sniff the behavior data of the subcomponent of Thing and record it as a variable. Since there are multiple subcomponents, hence we record every subcomponent as a variable. Attaching all these recorded variables gives us a concrete dataset to study the behavior of the Thing as a whole. All the agents send the recorded data to raspberry pi. The raspberry pi has an internal storage of 1 GB to store the daily sensor recorded data locally as we can see in Fig. 1. The scheduled batch job runs periodically to upload the data to Hadoop cluster for batch analysis. Once the data is uploaded to the Hadoop cluster, it is pushed to the analyzer which has an R Engine to identify the relationship between the recorded variables and create the hypothesis. The hypothesis created helps in modeling the sentiment of the health of the product. There are various subcomponents of AC such as compressor, condenser, evaporator, capillary tube, indoor fan, and outdoor fan. Now our goal is to identify:

  • If the compressor of the Air conditioner will be faulty in the near future.

  • Predicts the date for maintenance, contacts the manufacturer, books the calendar and informs the present health status to the owner and requests to enter the credit card details to finalize the maintenance booked by making the payment.

Fig. 1
figure 1

.

Here we have a dataset of various subcomponents of air conditioner (AC). For each variable, we have corresponding variable in the dataset as follows:

  1. 1.

    Compressor temperature

  2. 2.

    Condenser

  3. 3.

    Evaporator

  4. 4.

    Amount of Oil.

3 Results

Now, we import the dataset and explore the variables (as in descriptive models for Internet of Things) to check the dependency or the relationship, so now we need to check if the compressor will be faulty in near future. So for this, our variables of interest are:

  • Compressor temperature

  • Amount of Oil.

And we draw the scatterplot to identify the relationship between them as we can see as results of the relationships in Fig. 2.

Fig. 2
figure 2

.

As we can see here, as the amount of oil in compressor increases, the temperature of the compressor decreases and possess the indirect relationship between them. In the dataset, we have a target variable using which we can categorize the state of the compressor and see if the compressor temperature is in the three classifications listed below:

  1. 1.

    NORMAL

  2. 2.

    HEAT

  3. 3.

    COLD.

Here, is Faulty is a Boolean vector which holds value 1 if the compressor_state variable is either HEAT or COLD else 0 if NORMAL.

The vector isFaulty is used for checking the sentiment of the product. For this, we use Naive Bayes Classifier for predicting the sentiment of the “Thing” as follows:

Sentiment Classification:

Category

Sentiment

NORMAL

Positive

HEAT

Negative

COLD

Negative

CODE:

isFaulty <- NULL #calculates the tempature difference temprature_difference <- Compressor_temperature - tartemp

#initializing the initial state of vector as NULL compressor_state <- NULL

#checking if the value of temprature_difference > = < 5  for(temp in temprature_difference){ if(temprature_difference > 5){     compressor_state <- c(compressor_state, ″ HEAT ″)   isFaulty <- c(isFaulty, 1) }else if(temprature_difference < 5){   compressor_state <- c(compressor_state, ″ COLD ″)     isFaulty <- c(isFaulty, 1) }else   compressor_state <- c(compressor_state, ″ NORMAL ″)    isFaulty <- c(isFaulty, 0) }

Now, once we get the sentiment of the Thing, the Thing also has a social sensor attached to it. By the term social sensor we mean the “Thing” has the capability to tweet its sentiment, state of health, and also the hypothesis on the social platforms like Twitter and also the human beings. Now as we can see in the Fig. 3, we have a correlation engine. The correlation engine takes the input component sentiment analyzer and the Thing social sensor and also the tweets done by people saying:

Fig. 3
figure 3

.

“I hate this Thing, since this is not working.” The engine will correlate all the sentiments (Sentiment of Thing and Person) and will infer the actionable telling:

What and Why the Thing is not good or something is broken. Next we have a module called Automated Maintenance Recommender. Once it sees that the sentiment of the product is negative, it then automatically books the calendar for maintenance and informs the Prosumer about the details of the payment being requested to book the appointment for maintenance of the air conditioner. Once the Prosumer makes the payment, the Thing finalizes the appointment and drops the e-mail to the Prosumer of the confirmation.

4 Limitation and Future Scope

Recording the variables as properties of the “Thing” and exploring the relationships between them is still a manual process which needs exporting the data from the “Thing” into R Studio and applying the exploratory techniques in order to model a hypothesis and test this hypothesis using confirmatory data analysis to model a prediction equation. The future scope of the present technique is, if we can devise a way, we can automate the exploratory techniques applied on the real-time data on the fly.

5 Conclusion

The current system helps in automated “Thing” maintenance where the thing can automatically keep its health check and request for maintenance from the manufacturer if required. And it also helps the manufacturer to look-understand-react on the problems being faced by the Thing giving them actionable insights.