Juni 2020 - IpanDiana Official Website Blogger Indonesia
NodeMCU + GPS Module - Mengirim Data ke Firebase

NodeMCU + GPS Module - Mengirim Data ke Firebase

halaman utama firebase


Google Firebase adalah perangkat lunak pengembangan aplikasi yang didukung oleh Google yang memungkinkan pengembang mengembangkan aplikasi iOS, Android, dan Web . Firebase menyediakan alat untuk melacak analitik, melaporkan dan memperbaiki kerusakan aplikasi, membuat percobaan pemasaran dan produk.
Firebase menawarkan sejumlah layanan, diantaranya:
  1. Analytics - Google Analytics Firebase menawarkan pelaporan gratis dan tidak terbatas pada sebanyak 500 peristiwa terpisah . Analytics menyajikan data tentang perilaku pengguna di aplikasi iOS dan Android, memungkinkan pengambilan keputusan yang lebih baik tentang peningkatan kinerja dan pemasaran aplikasi.
  2. Otentikasi - Firebase Authentication memudahkan pengembang untuk membangun sistem otentikasi aman dan meningkatkan pengalaman masuk dan onboarding bagi pengguna. Fitur ini menawarkan solusi identitas lengkap, mendukung akun email dan kata sandi, otentikasi ponsel, Google, Facebook, GitHub, login Twitter, dan banyak lagi.
  3. Olah pesan cloud - Firebase Cloud Messaging ( FCM ) adalah alat perpesanan lintas platform yang memungkinkan perusahaan menerima dan mengirim pesan dengan handal di iOS, Android, dan web tanpa biaya.
  4. Basis data realtime - Basis Data Realtime Firebase adalah basis data NoSQL yang di-hosting-cloud yang memungkinkan data untuk disimpan dan disinkronkan antara pengguna secara real time. Data disinkronkan di semua klien secara real time dan masih tersedia saat aplikasi offline.
  5. Crashlytics - Firebase Crashlytics adalah pelaporan kerusakan real time yang membantu pengembang melacak, memprioritaskan, dan memperbaiki masalah stabilitas yang mengurangi kualitas aplikasi mereka. Dengan crashlytics, pengembang menghabiskan lebih sedikit waktu untuk mengatur dan mengatasi masalah crash dan lebih banyak waktu membangun fitur untuk aplikasi mereka.
  6. Performance - Layanan Firebase Performance Monitoring memberi pengembang wawasan tentang karakteristik kinerja aplikasi iOS dan Android mereka untuk membantu mereka menentukan di mana dan kapan kinerja aplikasi mereka dapat ditingkatkan.
  7. Test lab - Firebase Test Lab adalah infrastruktur pengujian aplikasi berbasis cloud. Dengan satu operasi, pengembang dapat menguji aplikasi iOS atau Android mereka di berbagai perangkat dan konfigurasi perangkat. Mereka dapat melihat hasilnya, termasuk video, tangkapan layar, dan log, di Firebase console.
Untuk dapat menghubungkan NodeMCU ke firebase, maka diperlukan data berupa "host" dan "auth" dari firebase yang telah kita buat. Data "host" bisa didapatkan pada menu database, kemudian pilih menu "realtime database", dan pada saat penulisan program tidak menyertakan "https://". Untuk lebih jelas, dapat dilihat pada Gambar 1.
setting firebase
Gambar 1.

Sementara itu, untuk mendapatkan data "auth" dapat diakses dengan cara klik Setelan Project - Pilih tab Akun Layanan - Pilih Rahasia Database - klik tampilkan untuk melihat kode auth. untuk lebih jelasnya, dapat dilihat pada Gambar 2.
setting firebase
Gambar 2.

Setting untuk FirebaseDB pada app inventor dapat dilihat pada Gambar 3.  Firebase token di isi dengan auth, firebaseURL di isi dengan Host.                          
setting firebase
Gambar 3
    
Skema rangkaian masih tetap seperti pada tulisan sebelumnya Disini .
Untuk program dapat diunduh Disini
Blok-blok yang digunakan pada app inventor bisa dilihat langsung pada video berikut :

NodeMCU + NEO 6M - Menampilkan Lokasi Pada Aplikasi Android

NodeMCU + NEO 6M - Menampilkan Lokasi Pada Aplikasi Android

gps mobil


      Modul NEO-6M GPS adalah penerima GPS yang berperforma baik dengan antena keramik yang terintegrasi, modul ini menyediakan kemampuan pencarian satelit yang kuat. Dengan indikator daya dan sinyal, anda dapat memantau status modul. Berkat baterai cadangan, modul dapat menyimpan data ketika daya utama dimatikan secara tidak sengaja. Penerima GPS sebenarnya bekerja dengan mencari tahu seberapa jauh mereka dari sejumlah satelit. Mereka diprogram untuk mengetahui di mana satelit GPS berada pada waktu tertentu. Satelit mengirimkan informasi tentang posisi mereka dan waktu saat ini dalam bentuk sinyal radio menuju Bumi. Sinyal-sinyal ini mengidentifikasi satelit dan memberi tahu penerima di mana mereka berada. Penerima kemudian menghitung seberapa jauh masing-masing satelit dengan mencari tahu berapa lama waktu yang dibutuhkan untuk sinyal sampai. Setelah memiliki informasi tentang seberapa jauh setidaknya tiga satelit dan di mana mereka berada di ruang angkasa, ini dapat menentukan lokasi anda di bumi.
      Untuk dapat menampilkan koordinat dimana GPS tersebut berada, maka diperlukan sebuah alat yang dapat mengirimkan data dari tempat asal ke tempat tujuan. Maka, dipilihlah NodeMCU untuk mengirimkan data dari modul ke smartphone agar dapat dilihat dengan nyaman. Alat yang dirangkai  kali ini menggunakan server lokal untuk mengirimkan data. Oleh karena itu, smartphone yang telah terinstall aplikasi harus berada dalam satu jaringan dengan modul NodeMCU.
Skema dari rangkaian yang dibuat dapat dilihat pada Gambar 1.
koneksi nodemcu dan modul gps
Gambar 1.
Untuk program nya dapat diperoleh melalui Link ini .
Disini saya menggunakan app inventor untuk membuat aplikasinya. Beberapa blok akan coba saya jelaskan, supaya menjadikannya ilmu untuk yang baru saja belajar. 
Pertama ada blok inisialisasi, disini kalian harus ubah pada bagian IP lokal nya, ubah ke IP yang kalian dapat pada bagian serial monitor Arduino IDE.
setting app inventor
Gambar 2.
Selanjutnya ada bagian untuk menghilangkan notifikasi kesalahan. Saat nodemcu tidak tersambung ke internet, maka pada aplikasi yang dibuat akan memunculkan kesalahan yang berulang. Untuk mencegah munculnya kesalahan ini, maka dibuatlah blok untuk menghilangkannya. Seperti pada Gambar 3, kesalahan yang muncul adalah 1109. Maka dari itu kita harus mengkonfigurasi saat ada kesalahan, label yang kita taruh pada aplikasi di tugaskan untuk mengisi sebuah "Empty String". 
setting app inventor
Gambar 3.

Pada aplikasi ini digunakan sebuah ActivityStarter, untuk setelan nya dapat dilihat pada Gambar 4.
setting app inventor
Gambar 4

Action di isi dengan android.intent.action.VIEW
ActivityClass di isi dengan com.google.android.maps.MapsActivity
ActivityPackage di isi dengan com.google.android.apps.maps

Untuk dapat membuka koordinat pada aplikasi google maps, maka digunakan sebuah ActivityStarter serta sebuah button untuk mentrigger agar aplikasi terbuka. Pada bagian fungsi "Join", penggabungan tersebut dimaksudkan supaya format lokasi yang terbuka akan langsung seperti pada Gambar 6, Sehingga kita bisa langsung mengetahui koordinat yang sedang berlangsung.
setting app inventor
Gambar 5

setting app inventor
Gambar 6.

Selain blok - blok seperti yang tertera diatas, blok lainnya dapat anda lihat pada Gambar berikut :
setting app inventor
setting app inventor
setting app inventor

Untuk hasil dari aplikasinya, anda bisa lihat pada video berikut ini :