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