INTRODUCTION OF INTERNET OF THING TECHNOLOGY BASED ON PROTOTYPE

: Internet of thing has been able to attract people compete to create various devices. Devices developed have various benefits, but the point is to make life easier. So many vendors create products related to the internet of things, so the user gets confused to determine which is good and appropriate for the needs. To simplify the user in choosing IoT product, this research will discuss about technology that is widely used in IoT, the advantages of each technology, in terms of security, operating system, microcontroller, IoT platform, tools and communication technology. This research makes prototype with one of existing technology. The results of this research provide knowledge, skills and experience in the field of IoT as well as information related to IoT technology, which is widely in the market. Furthermore, the prototype also has the expected functionalities, but it does not close the opportunity for further improvements. The results of this research provide knowledge, skills and experience in the field of IoT as well as information related to IoT technology, which is widely in the market. Furthermore, the prototype also has the expected functionalities, but it does not close the opportunity for further improvements.


INTRODUCTION
Nowadays, technology has become one of the most important aspects of human life.Almost every activity gets affected by technology.Technology makes everything easier and more instant.IoT, one of the newer trend in technology field has become more and more relevant [1].It can be implemented anywhere and for any purpose.For instance, it can be used in building, transportation, city, and industry.There are some benefits that can be achieved by implementing IoT such as reducing operating cost, human errors, increasing productivity and even generating data that can be used to analyze customer behaviors, business pattern, and improving quality.Since IoT has been growing rapidly, it might be one of the most important sources of revenue in near future.According to Gartner's research, there will be around 20.8 billion devices on the internet of things by 2020.This fact drives organizations to expand their wings in IoT field.

IoT top Technologies
Internet of Things is a network of interconnected devices which supports the communication between devices to devices.Those devices can communicate with each other, so those devices can collect and exchange information with other devices or even do some actions.To be able to do those functions, the devices within IoT system must be embedded with technologies based on the project needs.
There are some technologies that normally used IoT field such as sensors, actuators, operating systems, microcontrollers, communication technologies, securities, IoT platforms, and analytic tools [2].The explanations and the top products of each technology can be found in the below.

Sensor and Actuator
Within IoT, sensors and actuator main role is to deal with the physical environment.The function of sensor is to collect and gather information from the environment.While the function of the actuator is to perform actions based on the information from the sensor.The actuator will trigger a mechanical action when it is supplied with energy.Nowadays, all the sensors and actuators nearly have the same accuracy and quality with each other.So, using any brand of sensors and actuators are fine as long as suitable with the projects and compatible with related hardware.Gas sensor, humidity sensor, velocity sensor, temperature sensor, and water quality sensor are the examples of most common used sensors within IoT field.

Security
Security may be the biggest challenge within IoT [3].IoT system will generate so much data from customers.The data can be in the form of personal information, customer behaviors, or even access to surveillance cameras.Therefore, security technologies have a very big impact in IoT.The security technologies must be good enough to protect IoT devices and platforms from both information attacks and physical tampering.The aspects that were used to compare the security technologies are: How big is the impact and Value added for customers.
These are top security technologies that can be implemented to protect the IoT system. A. IoT  Low power consumption and easy integration to server and enterprise system.

Microcontroller
Microcontroller is a microcomputer which is designed to govern the operation of embedded systems [5].Within IoT, the roles of microcontroller are dealing with sensors and actuators.Microcontroller collects the data that have been gathered by sensors and make it readable for programming languages, and then also provides energy for actuators to do action if necessary.
Furthermore, microcontroller also plays the role to transfer the data to IoT platform with the help of communication technology.Normally, microcontroller contains processor, memory, and programmable input/output.Nowadays, there are many types of microcontrollers which are available in the market.Research and analysis are needed to determine the top microcontrollers.There are some aspects which are used to decide the top microcontrollers: Affordable price, good community and documentations and Support popular communication technologies.

IoT Platform
IoT platform is a middleware which is used in the IoT system [7].The main purpose is to manage IoT devices, so it can connect other IoT devices, applications, and analytic tools.There are lots of benefits that can be obtained by using IoT platforms such as saving time because it provides end-to-end solutions to build IoT system, more secure, and makes integration become easier.The aspects that were used to decide the top IoT platform are:  The community  Device management  Security system  The strong point that differs from others These are the top IoT platforms: A. KAA Open source and the community is very huge B. Amazon Web Services (AWS) IoT Good device management, strong security, support many programming languages and good documentations and tutorials C. IBM Watson IoT Good device management, good security, has many services that can be easily integrated with the IoT platform, good documentations and tutorials D. Oracle IoT Good device management, good in security, the cost is good for massive IoT device usage, and Built in real-time data analytic which make the business process faster and more efficient

Analytic tool
The roles of analytic tool are to analyze and visualize the data in IoT system [8].With the help of analytic tool, it will be easier to understand the pattern and the meaning of data.Furthermore, that data can be used to understand customer behaviors, deliver services, and improve the product quality.The aspects that were used to compare the analytic tools are:

Working Prototype
After identifying the top IoT technologies, the next progress is to determine the function of the working prototype.The first thing to do is brainstormming some ideas for the prototype.Afterward, the next step is to define some aspects that will be used to compare the ideas.
The aspects that were used are:  Time: The available time to make it. Resources: The available hardware and documentations. Complexity: The level of complexity. Usefulness: How useful for the project owner.
Comparison of each prototype function can be seen in Table 1.After some analysis and considerations, the function of the working prototype will be people counter.

Technologies to Build the Prototype
After the function of the working prototype has been decided, the next step is to decide the technologies that will be used to build the working prototype.These are the technologies that will be used to build the prototype:  Camera as the sensor Camera is used as the sensor because of the accuracy that can be adjusted based on the algorithm.
 Raspberry Pi as the microcontroller Raspberry Pi has built in communication technologies such as Bluetooth, Wi-Fi, and Ethernet.The community of Raspberry Pi is huge.Moreover, Raspberry Pi is very great for multimedia operation because of its specification. Wi-Fi as the communication technology Wi-Fi is chosen as the communication technology because of the availability and doesn't require any cable. AWS IoT as the IoT platform AWS IoT has a very good device management, security with double authentications, and the community of AWS IoT itself is very good.Furthermore, AWS IoT supports many SDK.

IMPLEMENTATION
The implementation process is divided into: functionality requirement, programming languages and result.

Functionality Requirements
These are the expected functionalities that the prototype should have:  The prototype must be able to count people that have passed the prototype. The prototype must be able to send the data of the number of people that have passed the prototype to AWS IoT. Web-application must be able to get the data from AWS IoT and show it in the home page of the web-application. To be able to view the data in web-application, user must login. Web application should be able to send a notification message to all registered users when the number of people exceeds the limit.

Programming Languages
Python is used as the programming language to build the prototype alongside with the OpenCV as the computer vision library.Python is chosen because of its simplicity and can be integrated easily with Raspberry Pi.OpenCV is an open source computer vision library which is designed to program real-time computer vision.OpenCV is needed because to be able to make the camera as a sensor to count the people.OpenCV has very large community which can be used to smooth the developing process.The people counter algorithm is running in the prototype which is Raspberry Pi, so OpenCV and Python must be installed in the Raspberry Pi [9].
PHP is used as the programming language to build the back end of the web-application.PHP is chosen as the programming language because the writer has very good experience with that language, so it will be better to use PHP instead of learning another programming language that will consume more time.The web application runs locally using Apache server.

Result
The prototype can count people that have passed the prototype using computer vision programming.There are image processing and computer vision techniques that are used within the program such as:  Background subtraction is used to separate the objects from the background. Threshold is used to make the frame only has two types of colors which are black and white. Opening contains two types of processes which are erode and then followed by dilate.The purpose is to get rid of the noise within the frame. Closing contains two type of processes which are dilate and then followed by erode.The purpose is to join the white are of objects. Contour detection is used to get the outline of the objects that can be used to know the size of the objects. Get the center of the contour to know the position of the object. Count the people when passing the borders.When the center position passing the borders, then the prototype can count it.The prototype can send the data of the number of people that have passed the prototype to AWS IoT.To be able to do that, the prototype needs to be registered in AWS IoT [11].Afterward, AWS IoT will generate certificate and keys which the prototype needs to show to connect to AWS IoT.
After connected, the prototype can publish the data into AWS IoT using JSON format and then the data will be saved into the device shadow.The device shadow will update its data to the newest one whenever the prototype publishes new data.The web-application can get the data from AWS IoT and show it in the home page of the webapplication.REST is used as the API to get the state from device shadow.There is a PHP script that continuously runs in the server to keep comparing the state in device shadow with the local database of the web-application.Whenever the data is different, the script will update the data in the local database.On the client side, the page will be refreshed when the data that is shown on the home page is different with the data in the database.Web-application can send notification message to all registered users when the number of people exceeds the limit.
This feature is included in the script that continuously run in the server.Whenever the updated data is more than the limit, then the system will send notification to all registered users.Figure 4 shows the interface of notification page.

Review
All of the expected functionalities have been implemented successfully into the prototype.However, there are some parts that can be improved to make the prototype better.For instance, the accuracy of the prototype, it can miscount the people in some conditions.The next thing is the system of the webapplication to get the data from device shadow.The web application needs to keep getting the data from AWS IoT every several seconds, it would be much better if the web-application can get notified by the AWS IoT when the data is changed, so the webapplication can be in sleeping mode when there is no update.

CONCLUSION & RECOMMENDATION
The purpose of this research is to provide more knowledge, skills, and experiences within IoT field especially in the technology parts.The research has been completed successfully.It provides the information about IoT top technologies that are used in the market.Furthermore, the prototype also has the expected functionalities, but it doesn't close the opportunity for further improvements.
There are some improvements that could be done in the future to improve the project such as:  Improve the accuracy of the prototype  Implement the prototype in the real environment  Integrate the prototype with analytic tools  Implement the other technologies that have been found during the research

Table 1 .
Prototype Function Comparison