Rabu, 21 April 2021

Internet of Things (IoT) : Mailbox Notifier Menggunakan NodeMCU dan Telegram

 

LAPORAN

Pemanfaatan IoT Pada Mailbox Notifier

"Internet of Things (IoT) : Mailbox Notifier Menggunakan NodeMCU dan Telegram"

Youtube : https://youtu.be/JW9R_w1rxI0


Dosen Pengampu : Aditya Prapanca, S.T., M.KOM.

 

Disusun oleh :

 

Muhammad Rizqi Ardiansyah (20051204044)

Ridho Ainul Kurniawan (20051204046) 

Alifian Bahtiar (20051204074)

Karenina Andhara Maharani Gala (20051204110)

 

 

 

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI SURABAYA

2020/2021


BAB 1

Pendahuluan

 

A.      Latar belakang

Perkembangan teknologi saat ini telah memberikan banyak manfaat dalam kemajuan di berbagai aspek sosial. Teknologi telah membantu manusia dalam menyelesaikan berbagai permasalahan. Namun perkembangan teknologi saat ini menuntut pula perkembangan Sumber Daya Manusia (SDM).

Manusia sebagai pengguna teknologi harus memanfaatkan serta mengembangkan teknologi yang ada saat ini. Penggunaan serta pengembangan teknologi membutuhkan SDM yang mempu serta waktu mereka. Proses ini bisa mengambil waktu manusia dirumah dalam hingga bisa dalam hitungan minggu ataupun bulan.

Menanggapi masalah diatas, kami bermaksud membuat sensor kotak surat yang nantinya akan terhubung ke HP melalui aplikasi telegram.

B.      Rumusan masalah

1.       Bagaimana kita mengetahui kedatangan surat tanpa melihat kotak pos?

2.       Apa itu NodeMCU esp8266?

3.       Apa itu PIR motion sensor?

C.       Tujuan

1.       Mengetahui kedatangan surat melalui aplikasi telegram

2.       Mengetahui pengertian NodeMCU esp8266 serta spesifikasinya

3.       Mengetahui pengertian PIR motion sensor

 


 

BAB 2

Pembahasan

 

A.      Alat dan bahan

1.       Alat

a.       Powerbank

b.       Kabel micro USB

c.       Komputer

d.       Gunting dan cutter

2.       Bahan

a.       Impraboard

b.       Breadboard

c.       Kabel jumper male-male

d.       Kabel jumper male-female

e.       NodeMCU esp8266

f.        PIR motion sensor

B.      Skematik

 

C.       Kode

        /*

          Rui Santos

    Complete project details at https://RandomNerdTutorials.com/telegram-esp8266-nodemcu-motion-detection-arduino/

       

    Project created using Brian Lough's Universal Telegram Bot Library: https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot

        */

 

        #include <ESP8266WiFi.h>

        #include <WiFiClientSecure.h>

        #include <UniversalTelegramBot.h>

        #include <ArduinoJson.h>

       

        // Replace with your network credentials

        const char* ssid = "REPLACE_WITH_YOUR_SSID";

        const char* password = "REPLACE_WITH_YOUR_PASSWORD";

 

        // Initialize Telegram BOT

  #define BOTtoken "XXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"  // your Bot Token (Get from Botfather)

 

        // Use @myidbot to find out the chat ID of an individual or a group

        // Also note that you need to click "start" on a bot before it can

        // message you

        #define CHAT_ID "XXXXXXXXXX"

       

        X509List cert(TELEGRAM_CERTIFICATE_ROOT);

        WiFiClientSecure client;

        UniversalTelegramBot bot(BOTtoken, client);

       

        const int motionSensor = 14; // PIR Motion Sensor

        bool motionDetected = false;

 

        // Indicates when motion is detected

        void ICACHE_RAM_ATTR detectsMovement() {

          //Serial.println("MOTION DETECTED!!!");

          motionDetected = true;

        }

 

        void setup() {

          Serial.begin(115200);

          configTime(0, 0, "pool.ntp.org");      // get UTC time via NTP

    client.setTrustAnchors(&cert); // Add root certificate for api.telegram.org

 

          // PIR Motion Sensor mode INPUT_PULLUP

          pinMode(motionSensor, INPUT_PULLUP);

    // Set motionSensor pin as interrupt, assign interrupt function and set RISING mode

  attachInterrupt(digitalPinToInterrupt(motionSensor), detectsMovement, RISING);

 

          // Attempt to connect to Wifi network:

          Serial.print("Connecting Wifi: ");

          Serial.println(ssid);

 

          WiFi.mode(WIFI_STA);

        WiFi.begin(ssid, password);

       

          while (WiFi.status() != WL_CONNECTED) {

            Serial.print(".");

            delay(500);

          }

 

          Serial.println("");

          Serial.println("WiFi connected");

          Serial.print("IP address: ");

          Serial.println(WiFi.localIP());

 

          bot.sendMessage(CHAT_ID, "Bot started up", "");

        }

 

        void loop() {

          if(motionDetected){

            bot.sendMessage(CHAT_ID, "Motion detected!!", "");

            Serial.println("Motion Detected");

            motionDetected = false;

          }

        }

 

D.      Langkah-langkah pengerjaan

1.       Mempersiapkan alat dan bahan

2.       Membelah breadboard menjadi dua dan menempelkan breadboard tersebut ke papan impraboard agar NodeMCU-nya dapat dipasang di breadboard

3.       Memasang aplikasi Telegram dan membuat bot Telegram dengan langkah-langkah sebagai berikut:

a.       Membuka akun @botfather

b.  Mengetik /start

c.       Mengisi nama bot sesuai dengan petunjuk dari akunnya

d.       Menyimpan token akses API yang diberikan untuk digunakan nanti

4.       Menyimpan kode ID akun Telegram untuk digunakan nanti, dengan menuju akun Telegram @myidbot, mengetik /getid lalu menyimpan kode yang diberikan

5.       Membuka dan mempersiapkan IDE Arduino agar dapat menggunakan NodeMCU.

6.       Memasang library Universal Telegram Bot Library serta ArduinoJSON

7.       Menempelkan kode yang ada di atas ke IDE Arduino

8.       Mengubah konstanta SSID dan password Wi-Fi dengan yang tersedia

9.       Mengubah konstanta kode token akses API dan kode ID akun Telegram dengan yang kode yang sudah disimpan tadi

10.   Merakit NodeMCU dan sensor sesuai dengan skematik di atas

11.   Meng-upload dan compile kode ke NodeMCU

12.   Membuat kotak pos dari papan impraboard

13.   Menempelkan NodeMCU dan sensor yang sudah dirakit ke dalam kotak pos

14.   Menutup keliling modul sensor dengan kertas agar tidak terjadi input yang tidak disengaja

15.   Menyambungkan NodeMCU ke sumber tenaga melalui micro USB

 

E.       Cara kerja

PIR motion sensor yang merupakan modul sensor Passive Infrared akan menerima sinar inflamerah dari manusia. Suhu manusia yang berbeda dengan lingkungannya membuatnya menghasilkan arus listrik. Kemudian arus tersebut dikuatkan oleh sebuah sirkuit implifier dan kemudian dibandingkan dengan comparator sehingga menghasilkan output berupa listrik. Listrik tersebut akan dialirkan ke NodeMCU.

NodeMCU yang menerima aliran listrik dari PIR motion sensor akan mengolahnya sesuai dengan kode yang telah kita masukkan. Setelah diolah NodeMCU yang sebelumnya telah terhubung dengan wifi akan mengirimkan pesan melalui bot Telegram yang telah kita buat sebelumnya.

F.       Sensor dan mikrokontroler

1.       NodeMCU esp8266

NodeMCU merupakan sebuah platform IoT yang bersifat opensource. Terdiri atas perangkat keras berupa system On Chip ESP8266 buatan Esperessif System.

a.       Spesifikasi :

-          Mikrokontroler            : Tensilica 32-bit RISC CPU Xtensa LX106

-          Tegangan input            : 7-12 Volt

-          Tegangan output         : 3.3 Volt

-          Pin I/O digital               : 16

-          Pin input analog          : 1

-          Memori                         : 4 MB

-          SRAM                             : 64 KB

b.       Pinout reference             :





-          GPIOs yang terhubung ke flash chip

·       GPIO6 sampai GPIO11 biasanya terhubung dengan flash chip

-          Penggunaan pin pada saat boot

·       GPIO16 => pin tinggi saat boot

·       GPIO0 => boot gagal jika pin bernilai rendah

·       GPIO2 => pin tinggi saat boot, boot gagal bila pin bernilai rendah

·       GPIO15 => boot akan gagal bila pin bernilai tinggi

·       GPIO3 => pin tinggi saat boot

·       GPIO1 => pin tinggi saat boot, tetapi gagal bila pin bernilai rendah

·       GPIO10 => pin tinggi saat boot

·       GPIO9 => pin tinggi saat boot

-          Analog input

ESP8266 hanya memiliki satu analog input yang disebutADC0

-          Terhubung pada LED di papan

Kebanyakan ESP8266 memiliki LED bawaan. Bisanya LED ini terhubung ke GPIO2. LED tersebut bekerja dengan logika terbalik. Dia akan padam bila diberi sinyal tinggi dan akan menyala apabila diberi sinyal rendah.

2.       PIR Motion Sensor

a.       Spesifikasi

-          Jarak deteksi      : 5-7 m

-          Pin output                        : 1

-          Jenis output       : continous high/low dan high-low pulse

-          Header               : 3 x 1

-          Pitch                    : 2.54 mm

-          Tegangan kerja : 3.3 VDC – 5 VDC

-          Dimensi                            : 32.2 mm x 24.3 mm x 25.4 mm

b.       Cara kerja

Sensor pir akan menangkap sinar inflamerah pasif yang dipancarkan oleh tubuh manusia. Tubuh manusia yang memiliki suhu yang berbeda dengan lingkungannya menyebabkan material pyroelectric beraksi dan menghasilkan arus listrik karena adanya energi panas yang dibawa oleh sinar tersebut. Kemudian arus tersebut dikuatkan oleh sebuah sirkuit implifier dan kemudian dibandingkan dengan comparator sehingga menghasilkan output.

 

 

 

 

BAB 3

PENUTUP

 

A.     Kesimpulan

Pesatnya perkembangan teknologi manusia saat ini menghasilkan banyak produk. Diantaranya adalah NodeMCU ESP8266 dan PIR Motion sensor. NodeMCU sendiri adalah sebuah platform IoT yang bersifat opensource dan terdiri atas perangkat keras berupa system On Chip ESP8266 buatan Esperessif System. Sedangkan PIR Motion sensor adalah modul sensor Passive Inflared yang ditunnjukan untuk aplikasi pendeteksi gerakan. Keduanya dipadukan menjadi satu produk. Karena PIR Motion sensor produk ini memiliki kemampuan untuk mendeteksi orang yang sedang mendekati lokasi kotak pos. Setelah itu NodeMCU ESP8266 membuatnya dapat mengirim pesan melalui telegram. Oleh karena itu pengguna dapat mengetahui kedatangan surat/kiriman dikotak pos.

B.      Saran

Kami mengharapkan kesempurnaan laporan serta penelitian kami. Namun, pademi Covid-19 serta ketidaktahuan kami menimbulkan banyak kesalahan. Oleh karena itu, kami sangat menghargai kritik serta saran yang membangun dari pihak pembaca. Kritik serta saran dari pembaca dapat menjadi bahan evaluasi kami untuk kedepannya.

Selain kesalahan yang bisa dikoreksi kami juga mengharapkan adanya pengembangan penelitian kami lebih lanjut.

 




Daftar Pustaka

 

https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/

https://components101.com/development-boards/nodemcu-esp8266-pinout-features-and-datasheet

https://randomnerdtutorials.com/telegram-esp8266-nodemcu-motion-detection-arduino/

https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot

https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/

http://www.innovativeelectronics.com/index.php?pg=ie_pdet&idp=218

 

 

Tidak ada komentar:

Posting Komentar