Skip to content
This repository has been archived by the owner on Oct 18, 2024. It is now read-only.

Latest commit

 

History

History
366 lines (262 loc) · 13.6 KB

File metadata and controls

366 lines (262 loc) · 13.6 KB

Open Source Love License: MIT GitHub last commit Project1 Project2 Type

Bot-Telegram-based-GPS-monitoring-using-UART-communication

Pencurian barang marak terjadi di Indonesia saat ini karena yang pertama dipengaruhi oleh faktor ekonomi, kemudian kurangnya kesadaran dari masyarakat setempat dalam menjaga barang pribadi masing-masing, sehingga menciptakan peluang bagi pencuri untuk dapat beraksi. Oleh karena itu, proyek ini dibuat sebagai upaya dalam meningkatkan keamanan barang dalam jangkauan yang dekat. Dalam hal ini, penulis mencoba menggunakan protokol UART di sisi Arduino dan Wemos. Proyek ini telah dilaksanakan dan memakan waktu kurang lebih 1 bulan. Ada 2 jenis papan pengembangan yang dipakai. Arduino Pro Micro dipakai untuk menampung data koordinat yang diperoleh dari sensor, kemudian mengirimkan data koordinat tersebut ke Wemos D1 Mini dengan menggunakan protokol komunikasi UART: Hardware Serial. Sedangkan Wemos D1 Mini dipakai untuk menampung data koordinat dari Arduino Pro Micro dengan menggunakan protokol komunikasi UART: Software Serial. Selanjutnya, data mentah yang sudah diterima itu diolah menjadi informasi yang bermanfaat, lalu dikirimkan ke Bot Telegram. Bot Telegram ini dapat merespon pengguna jika ada interaksi di dalamnya. Manfaat dari pembuatan proyek ini tidak lain adalah untuk menambah wawasan. Hasil dari proyek ini yaitu letak koordinat barang pribadi dapat dipantau sewaktu-waktu dengan mudah dan cepat hanya melalui Bot Telegram, sehingga barang yang ada tidak akan mudah dicuri. Namun, jika barang berada di luar jangkauan router, barang tersebut dapat dipastikan hilang sepenuhnya. Untuk mengatasi kekurangan ini, anda dapat menambahkan modul GSM yang disertai dengan kartu SIM di penelitian selanjutnya.



Kebutuhan Proyek

Bagian Deskripsi
Papan Pengembangan • Arduino Pro Micro Leonardo ATMEGA32U4
• Wemos D1 Mini
Editor Kode Arduino IDE
Dukungan Aplikasi Bot Telegram
Driver CH340 USB Driver
Protokol Komunikasi • Universal Asynchronous Receiver-Transmitter (UART)
• MTProto
Arsitektur IoT 3 Lapisan
Bahasa Pemrograman C/C++
Pustaka Arduino • SoftwareSerial (bawaan)
• TinyGPS++
• CTBot
• ArduinoJson
Sensor GPS NEO6MV2 (x1)
Komponen Lainnya • Kabel USB Mikro - USB tipe A (x1)
• Kabel jumper (1 set)
• Baterai Li-ion 18650 5V (x1)
• Tempat baterai 1 slot (x1)
• Kabel Mikro USB - JST 2 pin (x1)



Unduh & Instal

  1. Arduino IDE

    https://bit.ly/ArduinoIDE_Installer
    

  2. CH340 USB Driver

    https://bit.ly/CH340_USB_Driver
    



Rancangan Proyek

Diagram Blok Diagram Ilustrasi
block-diagram pictorial-diagram
Pengkabelan
wiring



Pengetahuan Dasar

Pada dasarnya, suatu perangkat itu dapat dikomunikasikan dengan perangkat lain baik secara nirkabel maupun dengan kabel. Komunikasi antar perangkat keras yang umum digunakan salah satunya adalah Komunikasi Serial. Dapat diketahui bersama bahwa Komunikasi Serial ini ada tiga jenis, yaitu meliputi: UART (Universal Asynchronous Receiver-Transmitter), SPI (Serial Peripheral Interface), dan I2C (Inter Integrated Circuit). Komunikasi Serial UART memungkinkan setiap perangkat dapat bertindak sebagai master atau slave secara terbatas. Master adalah perangkat utama yang memiliki otoritas penuh atas kontrol Slave, sedangkan Slave adalah perangkat sekunder yang berada di bawah otoritas perangkat Master. Ada dua macam Komunikasi Serial UART, yaitu Hardware Serial dan Software Serial. Komunikasi Hardware Serial dapat dilakukan dengan cara menghubungkan pin TX dan pin RX secara menyilang pada masing-masing papan pengembangan, misalnya: RX-TX, kemudian TX-RX. Pin TX yaitu untuk mengirim data, sedangkan pin RX yaitu untuk menerima data. Komunikasi Software Serial ini kurang lebih sama dengan Komunikasi Hardware Serial dalam segi pengkabelan, namun ada perbedaan dalam segi pengkodean. Dengan menggunakan Software Serial inilah anda dapat mengatasi masalah keterbatasan pin RX dan TX yang ada di papan pengembangan. Untuk berkomunikasi dengan Software Serial ini cukup mudah, yaitu dengan menggunakan Pin Digital tertentu sebagai pengganti pin TX dan pin RX.

Arduino Pro Micro memiliki beberapa pin yang dapat mendukung Software Serial yaitu meliputi :

Nama Pin Mendukung
8 RX dan TX
9 RX dan TX
10 RX dan TX
16 RX dan TX
14 RX dan TX
15 RX dan TX
Pin Digital lainnya Hanya TX


Wemos D1 Mini memiliki beberapa pin yang dapat mendukung Software Serial yaitu meliputi :

Nama Pin Mendukung
D0 Hanya TX
D1 RX dan TX
D2 RX dan TX
D3 RX dan TX
D4 RX dan TX
D5 RX dan TX
D6 RX dan TX
D7 RX dan TX
D8 RX dan TX

Referensi Pinout Wemos D1 Mini : Klik Disini



Pengaturan Arduino IDE

  1. Buka Arduino IDE terlebih dahulu, kemudian buka proyek dengan cara klik File -> Open :

    APmicro_gpstracker.ino

    WD1mini_bot.ino


  2. Isi Url Pengelola Papan Tambahan di Arduino IDE

    Klik File -> Preferences -> masukkan Boards Manager Url dengan menyalin tautan berikut :

    http://arduino.esp8266.com/stable/package_esp8266com_index.json
    

  3. Pengaturan Board di Arduino IDE

    i

    Cara mengatur board Arduino Pro Micro

    Klik Tools -> Board -> Arduino AVR Boards -> Arduino Micro


    ii

    Cara mengatur board Wemos D1 Mini

    • Klik bagian Tools -> Board -> Boards Manager -> Instal esp8266.

    • Kemudian klik Tools -> Board -> ESP8266 Boards -> Wemos D1 Mini.


  4. Ubah Kecepatan Papan di Arduino IDE

    i

    Cara mengubah kecepatan board Arduino Pro Micro

    Klik Tools -> Upload Speed -> 9600


    ii

    Cara mengubah kecepatan board Wemos D1 Mini

    Klik Tools -> Upload Speed -> 115200


  5. Instal Pustaka di Arduino IDE

    Unduh semua file zip pustaka. Lalu tempelkan di: C:\Users\Computer_Username\Documents\Arduino\libraries


  6. Pengaturan Port di Arduino IDE

    Klik Port -> pilih sesuai dengan port perangkat anda (anda dapat melihatnya di Device Manager)


  7. Ubah Nama WiFi, Kata Sandi WiFi, dan sebagainya sesuai dengan apa yang anda gunakan saat ini.

  8. Sebelum mengunggah program, silakan klik: Verify.

  9. Jika tidak ada kesalahan dalam kode program, silakan klik: Upload.

  10. Jika masih ada masalah saat unggah program, maka coba periksa pada bagian driver / port / yang lainnya.



Pengaturan Bot Telegram

  1. Buka @BotFather.

  2. Ketik /newbot.

  3. Ketik nama bot yang diinginkan, contoh: personalgps_bot.

  4. Ketik nama pengguna bot yang diinginkan, contoh: personalgps_bot.

  5. Lakukan juga untuk pengaturan gambar bot, deskripsi bot, dan lain sebagainya menyesuaikan dengan kebutuhan anda.

  6. Salin API token bot telegram anda -> lalu tempelkan pada bagian #define botToken "YOUR_API_BOT_TOKEN".

    Contohnya :

    #define botToken "2006772150:AAE6Fdjk3KbiySkzV6CLbd6ClJDzgTfJ5y0"


Memulai

  1. Unduh dan ekstrak repositori ini.

  2. Pastikan anda memiliki komponen elektronik yang diperlukan.

  3. Pastikan komponen anda telah dirancang sesuai dengan diagram.

  4. Konfigurasikan perangkat anda menurut pengaturan di atas.

  5. Selamat menikmati [Selesai].



Demonstrasi Aplikasi

Via Telegram: @personalgps_bot



Sorotan

Perangkat GPS
gps_device
Bot Telegram
telegram_bot1 telegram_bot2



Pengujian Komponen

Anda dapat mengunduh berkas uji komponen melalui tautan berikut: Klik Disini



Apresiasi

Jika karya ini bermanfaat bagi anda, maka dukunglah karya ini sebagai bentuk apresiasi kepada penulis dengan mengklik tombol ⭐Bintang di bagian atas repositori.



Penafian

Aplikasi ini merupakan hasil karya saya sendiri dan bukan merupakan hasil plagiat dari penelitian atau karya orang lain, kecuali yang berkaitan dengan layanan pihak ketiga yang meliputi: pustaka, kerangka kerja, dan lain sebagainya.



LISENSI

LISENSI MIT - Hak Cipta © 2024 - Devan C. M. Wijaya, S.Kom

Dengan ini diberikan izin tanpa biaya kepada siapa pun yang mendapatkan salinan perangkat lunak ini dan file dokumentasi terkait perangkat lunak untuk menggunakannya tanpa batasan, termasuk namun tidak terbatas pada hak untuk menggunakan, menyalin, memodifikasi, menggabungkan, mempublikasikan, mendistribusikan, mensublisensikan, dan/atau menjual salinan Perangkat Lunak ini, dan mengizinkan orang yang menerima Perangkat Lunak ini untuk dilengkapi dengan persyaratan berikut:

Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus menyertai semua salinan atau bagian penting dari Perangkat Lunak.

DALAM HAL APAPUN, PENULIS ATAU PEMEGANG HAK CIPTA DI SINI TETAP MEMILIKI HAK KEPEMILIKAN PENUH. PERANGKAT LUNAK INI DISEDIAKAN SEBAGAIMANA ADANYA, TANPA JAMINAN APAPUN, BAIK TERSURAT MAUPUN TERSIRAT, OLEH KARENA ITU JIKA TERJADI KERUSAKAN, KEHILANGAN, ATAU LAINNYA YANG TIMBUL DARI PENGGUNAAN ATAU URUSAN LAIN DALAM PERANGKAT LUNAK INI, PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB, KARENA PENGGUNAAN PERANGKAT LUNAK INI TIDAK DIPAKSAKAN SAMA SEKALI, SEHINGGA RISIKO ADALAH MILIK ANDA SENDIRI.