2. nodemcu 3. kabel jumper 4. led 5. sensor dht11 · 2020. 3. 15. · iii. teori nodemcu gambar 1...

17
Modul 8 NodeMCU dan Firebase I. Tujuan Praktikum 1. Praktikan dapat memahami tentang Firebase 2. Praktikan dapat mengetahui fungsi Firebase untuk NodeMCU 3. Praktikan dapat memahami dan menghubungkan NodeMCU ke Firebase 4. Praktikan dapat mengirim dan menerima data antara NodeMCU Firebase II. Alat dan bahan 1. Resistor 330 ohm 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 6. Potensiometer 7. Laptop dan Akun Google untuk Firebase III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source. Terdiri dari perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan Espressif System, juga firmware yang digunakan, yang menggunakan bahasa pemrograman scripting Lua, NodeMCU bisa dianalogikan sebagai board arduino-nya ESP8266.

Upload: others

Post on 24-Aug-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Modul 8 NodeMCU dan Firebase

I. Tujuan Praktikum 1. Praktikan dapat memahami tentang Firebase 2. Praktikan dapat mengetahui fungsi Firebase untuk NodeMCU 3. Praktikan dapat memahami dan menghubungkan NodeMCU ke Firebase 4. Praktikan dapat mengirim dan menerima data antara NodeMCU Firebase

II. Alat dan bahan

1. Resistor 330 ohm 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 6. Potensiometer 7. Laptop dan Akun Google untuk Firebase

III. Teori

NodeMCU

Gambar 1 NodeMCU

NodeMCU adalah sebuah platform IoT yang bersifat open source. Terdiri dari perangkat

keras berupa System On Chip ESP8266 dari ESP8266 buatan Espressif System,

juga firmware yang digunakan, yang menggunakan bahasa pemrograman scripting Lua,

NodeMCU bisa dianalogikan sebagai board arduino-nya ESP8266.

Page 2: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Gambar 2 Pinout NodeMCU

Features

• Wireless 802.11 b / g / n standards; • Support STA / AP / STA + AP three operating modes; • Built-in TCP / IP protocol stack to support multiple TCP Client connection (5 MAX); • D0 ~ D8, SD1 ~ SD3: used as GPIO, PWM, IIC, etc. Port Drive 15mA; • AD0: 1 channel ADC; • Power input: 4.5V ~ 9V (10VMAX), USB-powered, providing USB debugging interface; • Current job: keep sending: ≈70mA (200mA MAX), Standby: <200uA; • Transfer rate: 110-460800bps; • Support UART / GPIO data communication interface; • Remote firmware upgrade (OTA); • Smart Link supports intelligent networking capabilities; • Operating temperature: -40 ℃ ~ + 125 ℃; • Drive Type: Dual high-power H-bridge driver • Module Weight: about 7g

ESP8266

Gambar 3 ESP8266

ESP8266 merupakan suatu modul Wi-Fi yang memungkinkan perangkat mikrokontroler untuk mengakses jaringan Wi-Fi. Modul ini adalah self-contained SOC(System On Chip) yang tidak memerlukan mikrokontroler untuk memanipulasi input dan output yang biasanya dilakukan pada Arduino. Dilihat dari versinya, ESP8266 bisa menggunakan hingga 9 GPIO(General Purpose Input Output). Dengan demikian, kita dapat memberikan mikrokontroler akses internet seperti Wi-Fi untuk Arduino. Selain itu, kita juga bisa memprogram ESP8266 sebagai mikrokontroler

Page 3: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

dengan memanfaatkan GPIO yang terdapat pada perangkat. Hal ini membuat ESP8266 sangat serbaguna, dan bisa menghemat uang dan ruang dalam proyek Anda. Berikut beberapa fitur dari ESP8266:

· Wi-Fi, 802.11 b/g/n • Integrated low power 32-bit MCU • Integrated 10-bit ADC • Integrated TCP/IP protocol stack • Processor: L106 32-bit RISC microprocessor core based on the Tensilica Xtensa

Diamond Standard 106Micro running at 80 MHz* • 64 KiB of instruction RAM, 96 KiB of data RAM • External QSPI flash: 512 KiB to 4 MiB* (up to 16 MiB is supported) • Integrated TR switch, balun, LNA, power amplifier and matching network • Integrated PLL, regulators, and power management units • WiFi 2.4 GHz, support WPA/WPA2 • Support STA/AP/STA+AP operation modes • Support Smart Link Function for both Android and iOS devices • STBC, 1x1 MIMO, 2x1 MIMO • +20 dBm output power in 802.11b mode • Operating temperature range -40C ~ 125C • FCC, CE, TELEC, WiFi Alliance, and SRRC certified

Modul ESP8266 banyak digunakan untuk keperluan IoT(Internet of Thing). Hal ini dikarenakan penggunaannya yang mudah, ukuran yang tidak memakan tempat yang luas dan juga berdifat mobile. Berikut beberapa penggunaan dalam kehidupan sehari-hari :

· Home Appliances

• Home Automation • Smart Plug and lights • Mesh Network • Industrial Wireless Control • Baby Monitors

• IP Cameras • Sensor Networks • WiFi Location-aware Devices • Security ID Tags

Mode Operasi pada NodeMCU - ESP8266

ESP8266 ESP-01 modul memiliki tiga mode operasi: 1. Access Point (AP) 2. Station (STA) 3. BOTH (keduanya)

Pada Mode “AP”, modul Wi-Fi berfungsi sebagai jaringan Wi-Fi, atau jalur akses (sesuai namanya), sehingga perangkat lain dapat terhubung dengannya. Mode ini hanya membangun komunikasi dua arah antara ESP8266 dan perangkat yang terhubung dengannya melalui Wi-Fi.

Dalam mode “STA”, ESP-01 dapat terhubung ke AP seperti jaringan Wi-Fi dari rumah. Mode ini memungkinkan perangkat terhubung ke jaringan tersebut untuk berkomunikasi dengan modul. Modus operasi ketiga memungkinkan modul bertindak sebagai AP dan STA.

Page 4: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Google FIREBASE

Gambar 3 Logo Firebase

Firebase adalah layanan DbaaS (Database as a Service) dengan konsep realtime. Firebase merupakan penyedia layanan cloud dengan backend sebagai servis yang berbasis di San Fransisco, California. Firebase terdiri dari fitur pelengkap yang bisa dipadupadankan sesuai dengan kebutuhan Anda. Firebase memberikan anda perlengkapan dan infrastuktur untuk membangun suatu aplikasi yang lebih baik.

Dua fitur yang menarik adalah Firebase Remote Config dan Firebase Real Time Database. Secara sederhananya, Remote Config adalah fitur yang memungkinkan developer mengganti / mengubah beberapa konfigurasi aplikasi Android / iOS tanpa harus memberikan update aplikasi via Play Store / App Store.

Sedangkan Firebase Real Time Database adalah fitur yang memberikan sebuah NoSQL database yang bisa diakses secara Real Time oleh pengguna aplikasi. Dan hebatnya adalah aplikasi bisa menyimpan data secara lokal ketika tidak ada akses internet, kemudian melakukan sync data segera setelah mendapatkan akses internet.

Beberapa fitur yang dimiliki oleh Firebase adalah sebagai berikut : 1. Firebase Analytics. 2. Firebase Cloud Messaging dan Notifications. 3. Firebase Authentication. 4. Firebase Remote Config. 5. Firebase Real Time Database. 6. Firebase Crash Reporting.

Firebase Real Time Database

Gambar 1. Firebase Realtime Database

Page 5: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Firebase Realtime Database memungkinkan Anda untuk membuat aplikasi kolaboratif dan kaya fitur dengan menyediakan akses yang aman ke database, langsung dari kode sisi klien. Data disimpan di drive lokal. Bahkan saat offline sekalipun, peristiwa realtime terus berlangsung, sehingga pengguna akhir akan merasakan pengalaman yang responsif. Ketika perangkat kembali terkoneksi, Realtime Database akan menyinkronkan perubahan data lokal dengan update jarak jauh yang terjadi selama klien offline, sehingga setiap perbedaan akan otomatis digabungkan.

Realtime Database menyediakan bahasa aturan berbasis ekspresi yang fleksibel, atau disebut juga Aturan Keamanan Firebase Realtime Database, untuk menentukan metode strukturisasi data dan kapan data dapat dibaca atau ditulis. Ketika diintegrasikan dengan Firebase Authentication, developer dapat menentukan siapa yang memiliki akses ke data tertentu dan bagaimana mereka dapat mengaksesnya.

Realtime Database adalah database NoSQL, sehingga memiliki pengoptimalan dan fungsionalitas yang berbeda dengan database terkait. API Realtime Database dirancang agar hanya mengizinkan operasi yang dapat dijalankan dengan cepat. Hal ini memungkinkan Anda untuk membangun pengalaman realtime yang luar biasa dan dapat melayani jutaan pengguna tanpa mengorbankan kemampuan respons. Oleh karena itu, perlu dipikirkan bagaimana pengguna mengakses data, kemudian buat struktur data sesuai dengan kebutuhan tersebut.

Berikut beberapa fitur dari Firebase Realtime Database:

• Menyimpan dan Mensinkronisasi data secara realtime. • Dapat di akses dari device apapun. Seperti Web dan mobile. • Database Security Rules

Bagian Board Manager untuk NodeMCU-ESP8266

1. Tambah URL untuk Tambahan Board Manager File > Preferences > Lalu tambahkan Url di kolom Additional Boards Manager URLs: http://arduino.esp8266.com/stable/package_esp8266com_index.json

Page 6: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

2. Install Board Untuk ESP-8266

Tools > Board > Board Manager > Install esp8266 by esp8266 community

Install esp8266 by esp8266 community , gunakan pencarian untuk mempermudah.

Page 7: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

3. Hubungkan NodeMCU dan masukan codingan untuk menguji koneksi ke suatu SSID

Page 8: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Bagian Firebase

1. Buka https://firebase.google.com/ lalu “Go To Console” dan jangan lupa login Gmail.

Lalu pilih GET STARTED

2. Buat project dengan Add Project, Lalu isi nama projectnya dan Create.

Page 9: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Lalu

3. Ke tab Database, lalu Get Started

Page 10: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Lalu

4. Untuk mempermudah gunakan test mode dan pastikan security RULES menjadi true { "rules": { ".read": true, ".write": true } }

Page 11: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Lalu

5. Pembuatan database di bagian data dengan Add Child di sebelah nama project

Isi Name = input dan isi Value = 1.

Page 12: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Lalu tambahkan juga sebagai berikut

Page 13: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Bagian Firebase pada Arduino IDE 1. Tambah File Library Firebase untuk Arduino IDE

Download file tersebut di https://github.com/firebase/firebase-arduino 2. Lalu download as ZIP, simpan file firebase-arduino-master.zip

3. Add Library Arduino Sketch-> Include Library-> Add .ZIP Library

Page 14: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

4. Pilih file yang sudah di download tadi, lalu open

Bagian Library DHT11 pada Arduino IDE

1. Tambah File Library Firebase untuk Arduino IDE Download file tersebut di https://github.com/adafruit/DHT-sensor-library

2. Lalu download as ZIP, simpan file DHT-sensor-library-master.zip 3. Add Library Arduino Sketch-> Include Library-> Add .ZIP Library 4. Pilih file yang sudah di download tadi, lalu open

Bagian Rangkaian BreadBoard

Page 15: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

Pada Sketch Arduino IDE baris program sebagai berikut.

Page 16: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari
Page 17: 2. NodeMCU 3. Kabel Jumper 4. LED 5. Sensor DHT11 · 2020. 3. 15. · III. Teori NodeMCU Gambar 1 NodeMCU NodeMCU adalah sebuah platform IoT yang bersifat open source . T erdiri dari

6. Cara mendapatkan link firebase, dan ubah baris FIREBASE_HOST sesuai link firebase

7. Cara mendapatkan Secret di firebase Pilih icon Gear disebelah Overview-> Project Settings -> tab Service Account-> Database Secret