Real-time Home Bell Notification Using Node-MCU Through E-mail (Base on the Internet of Things)

In the conventional use of the house bell, the first impression that arises is that it can only give a message ringing people who are in the house so that the person knows that guests are coming to the house, what will be the problem is what if there is no one in the house or the owner. Home away from home for a long time, so that any guests who come will not be detected. For this reason, a system is needed to make it easier for homeowners to provide message information that there are visitors to the house at some time which can be recorded on the device (notification bell) based on Internet of Things (IoT) and send the information via e-mail. This research was designed using internet-based Node-MCU as the hardware. It used a flowchart which contains procedures for how the doorbell notification device works and realtime time measurement using phpmailer as the software. The results of this study, in the form of a doorbell notification tool that can provide realtime messages to homeowners when there are known or unknown visitors.


Introduction
Internet of things (IoT) technology is proliferating [1]. From various fields such as agriculture, industry, education, and transportation have become part of human life. Therefore, in the modern era, the development of innovation in electronics and information technology, which is increasingly advanced, requires a person to create technological innovations to facilitate time efficiency, cost, labour and job security.
Internet of things (IoT) is a concept where particular objects can transfer data via a Wifi network [2]; this process is carried out automatically with a program without human interaction. It is hoped that IoT in the residential area will be safer and more comfortable if IoT technology is applied in the home. Examples of applying IoT inboard areas such as control rooms use the technology automatically without human interaction. Call it a smart home, all the equipment in the house starting from lighting, monitoring the water level content, and users can watch all home appliances that work automatically.
Mainly the conventional house bell system which has two shortcomings. First, the bell that is carried out only gives a message to the ring which is inside the house, what if the owner of the house is away from home for a long time. Second, the ringing bell cannot save time history when a visitor does not know the home owner's cellphone number.
This research was created to provide an overview of developing smart home bells based on the internet of things (IoT). It is utilizing an IoT platform called Node-MCU, which acts as a  [3]. Node-MCU can be analogized as an Arduino board connected to the ESP8622. Node-MCU includes the ESP8266 on a board that has been integrated with various features such as a microcontroller and can access Wifi and also a communication chip in the form of USB to serial [4]. So that in programming only a USB data cable is needed.
Several studies related to bell notification using Node-MCU, one of which is (Park and Y. Cheong, 2017), which is making a security system in the form of an IoT-based doorbell, which combines the functions of smartphones and home network systems in realtime, which is installed near the entrance to a house, coupled with CCTV cameras to help identify someone entering the house, and this system can be used to report to the police or home security service providers immediately when a violation occurs. However, it does not explain how this system works to be able to report to the authorities. Other researchers [5] namely making bell notifications which are used to help deaf people to respond to bell sounds. In this study, the message will be sent via a wireless module, with one module installed on the doorbell, and the other module will be connected to the user, with several LED/vibration motors installed as an indication so that the LCD screen will display text for notification purposes. The Arduino Control Unit controls these modules.
Research conducted by [6] almost the same as what was done by previous researchers, namely making a notification bell based on IoT by storing data and sending it to users using the SMS gateway system. From references by [7] that is make a doorbell whose purpose is to help solve some of the problems that occur in everyday life, especially for hosts who don't hear the sound of the bell because they have problems hearing or don't hear the sound of the bell because they are playing a gadget complete with earphones, this system is designed by using the wifi module Node-MCU ESP8266 as a control to send notifications to e-mail. However, the weakness of this system is that there is no notification to other devices. Meanwhile, there are many studies related to the use of Node-MCUs, among others [8] and [9] where Node-MCU is used to control household appliances remotely and is used for remote monitoring of an object using a wireless sensor network. From some of the studies above, this paper creates a house bell notification system by sending via e-mail, using Note-MCUThe IoT-based ESP8266 is added with other equipment into one module. The advantage of this system is that it can be implemented in realtime, by adding a PHP Mailer which functions to send E-mails that have been registered in the system.

Literary Review 2.1. Internet of Things (IoT)
Internet of Things (IoT) is a concept that uses the internet as the primary infrastructure network that connects particular objects [10]. In this case, IoT can also be interpreted as the internet that connects things, where things here mean information such as metadata [11]. According to [12], can define IoT (Internet of Thing) as the ability of various devices to connect and exchange data via the internet network. IoT is a technology that allows control, communication, collaboration with different hardware, data via the internet network. So can that the Internet of Things (IoT) is when we connect something (things) that are not operated by humans to the internet. But IoT is not only related to controlling devices remotely, but also how to share data, virtualize all real things in the form of the internet, and so on. The internet becomes a link between machines automatically. Say Also, some users act as regulators and supervisors of the operation of these tools directly. The benefit of using IoT technology is that the work done by humans becomes faster, easier and more efficient. And others. The internet becomes a link between machines automatically. Some users act as regulators and supervisors of the operation of these tools directly. The benefit of using IoT technology is that the work done by humans becomes faster, easier and more efficient. And others. The internet becomes a link between machines automatically. Also, some users act as regulators and supervisors of the operation of these tools directly. The benefit of using IoT technology is that the work done by humans becomes faster, easier and more efficient.

Node-MCU Module
According to [13], Arduino is an electronic kit or open-source electronic circuit board in which there are six main components, namely a microcontroller chip with the AVR type from the Atmel company. The microcontroller itself is a chip or IC (integrated circuit) that can be programmed using a computer. The purpose of embedding the program on the microcontroller is so that the electronic circuit can read the input, process the input and then produce the desired output. So the microcontroller serves as the 'brain' which controls the input, process and output of an electronic circuit. Microcontrollers exist in electronic devices all around us, for example, mobile phones, MP3 players, DVDs, televisions, air conditioners, and so on. Microcontrollers are also used to control robots. Good toy robot and industrial robots. Because the main component of Arduino is a microcontroller, the Arduino can be programmed using a computer as needed. Arduino's strengths There is no need for a chip programmer device because there is already a bootloader that will handle the uploading of programs from the computer. It already has a USB communication facility, so Laptop users who don't have a serial / RS323 port can use it. The programming language is relatively easy because the Arduino software is equipped with a complete library collection. Has a ready-to-use module (shield) that can be plugged into the Arduino board. For example, shield GPS, Ethernet, SD Card, and others. The Arduino programming language is the C language. The use of Node-MCU is more profitable in terms of cost and space efficiency because Node-MCU is small in size, more practical, and the price is much lower than the Arduino Uno. Arduino Uno itself is one type of microcontroller that is in great demand and has the same C ++ programming language as Node-MCU.
However, Arduino Uno does not have a wifi module and is not based on IoT [14]. To be able to use Arduino Uno wifi requires an additional device in the form of a wifi shield. Node-MCU is one of the products that get special rights from Arduino to be able to use the Arduino application so that the programming language used is the same as the Arduino board in general. To create an Arduino program and upload it to the Arduino board, the Arduino IDE software is needed. But Arduino Uno does not have a wifi module and is not based on IoT. To be able to use Arduino Uno wifi requires an additional device in the form of a wifi shield. Node-MCU is one of the products that get special rights from Arduino to be able to use the Arduino application so that the programming language used is the same as the Arduino board in general. To create an Arduino program and upload it to the Arduino board, the Arduino IDE software is needed. But Arduino Uno does not have a wifi module and is not based on IoT. To be able to use Arduino Uno wifi requires an additional device in the form of a wifi shield. Node-MCU is one of the products that get special rights from Arduino to be able to use the Arduino application so that the programming language used is the same as the Arduino board in general. To create an Arduino program and upload it to the Arduino board, the Arduino IDE software is needed.

PHP Mailer
PHP Mailer is a function used to send E-mail . This function was initially only intended for fellow localhosts, but it can be added the ability so that PHP can carry out its function to send e-mail between servers. PHP Mailer can carry out its role as an e-mail sender if it is added with the Simple Mail Transfer Protocol (SMTP) [15]. Simple Mail Transfer Protocol (SMTP) is an Internet standard for electronic mail (e-mail) transmission across Internet Protocol (IP) networks. The SMTP service runs on TCP port 25, which is the standard port for the SMTP service. Because SMTP cannot store E-Mail in a mailbox, other protocols are needed to perform this function, namely POP3 (Post Office Protocol) and IMAP (Internet Message Access Protocol) [16]. The primary part of SMTP is to deliver E-Mail from one host to another in the network. This protocol cannot store and retrieve E-Mail from a mailbox. From the E-Mail client-side, the SMTP server is a means of making outgoing connections or sending messages. Meanwhile, for the incoming connection, the POP3 protocol is used [17] A notification is something that provides official information to someone. The act of telling someone [18]

Methodology
The research methodology is necessary as a way of carrying out research steps, which include literature studies, problem analysis, hardware and software design, testing and documentation. In this research, namely designing and making a smart house bell that can send e-mail notifications, there are three parts to support this system including the input part, the process part, and the output port, as shown in Figure 1. In this Input Section, there is a Push Button, which functions to input commands that will be processed by the MCU-Nodes. In the Process Section, there is NodeMCU. NodeMCU is included with the ESP8266 module, which is a wifi module that allows you to connect to the internet. NodeMCU functions as a data sender to the Web Server. In the Output section, there is an SMTP called PHPMailer, which is a library of PHP. SMTP functions to send an e-mail as a notification to the residents of the house that there are guests in front of the house. The process of each module is shown in Table 1. Table 1. Functions of the System Section Name Training Data

MCU nodes
As a Data Processing Center ESP8266 (Embedded with NodeMCU) As a Liaison 5V battery As a Resource Push Button As Giver of Orders E-mail Output Figure 2. In part circled in red, is a schematic of a hardware circuit consisting of Node-MCU, Push Button, Resistor. For communication, in this case, it requires an ESP8266 module which is on the Node-MCU board and will be connected to Wifi so that it can connect to the internet. Figure 2, as a whole, is the use case scheme of the user where here is the guest when they ring the house bell. The house bell will send data to the NodeMCU board, on the Node-MCU board that is connected to the internet, then it will immediately forward it to the webserver. In the web server, there is already a PHP coding; in this case, we use PHPMailer as a library to be able to use the SMTP function. When the webserver has received the data,

a. PHP-Mailer Design
PHP Mailer is a PHP function used to send e-mail, but this function only works for fellow localhosts. Therefore, additional support is needed so that PHP can carry out its role as an e-mail sender. PHP Mailer can perform its function as an e-mail sender if it is supported by the Simple Mail Transfer Protocol (SMTP). SMTP is a protocol required for sending and receiving e-mail. That's why you have to use SMTP as a service to send e-mail. Can use This service for purposes such as verifying e-mails, for example when registering on Twitter or Facebook. After registering, you are required to open the e-mail and verify it. Next, we will go through the stages of preparing and adjusting the script to use this PHP Mailer. The first stage, of course, you must have PHP Mailer first. Then, the next step is to prepare the SMTP host, user, password. As for the e-mail account used in this study is native-bell@gmail.com. Next, enter the scriptwriting stage. Figure 3. is a snippet of the script used.

Results
Testing is done through Localhost as an intermediary place to connect NodeMCU with e-mail messages sent. Analysis of research experiments is carried out when a visitor presses the doorbell of the house. Then will send a ringing message notification via NodeMCU to the PHP Mailer server, the message data is processed into a message (express message) to the home owner's e-mail, after which the homeowner checks the e-mail on the day and what time are their visitors at the house. In Figure  4.a. shows the display of the success message notification that has been sent to the intended e-mail (Home owner's e-mail), and Figure 5 shows the notification display of incoming messages in Gmail (Home owner's e-mail) He carried out the bell notification test t 12 attempts over a period of 4 days. So, from the 12 experiments, the difference in realtime between 3 trials in a few days can be seen which can be seen in Table 2 to Table 5.

Conclusion
After testing the tools and applications, can be drawn conclusions, the tools that have been made by the planned design can provide notifications in the form of an e-mail to residents of the house. Enter E-mail Notifications makes it easy for users to know that there are guests in front of the house. For long-term development, it can be combined with a short message in the form of a voice recorder that is sent to the recipient of the e-mail/householder.