Daftar Isi:

Pelacak Lokasi Dengan NodeMCU ESP8266: 10 Langkah
Pelacak Lokasi Dengan NodeMCU ESP8266: 10 Langkah

Video: Pelacak Lokasi Dengan NodeMCU ESP8266: 10 Langkah

Video: Pelacak Lokasi Dengan NodeMCU ESP8266: 10 Langkah
Video: IoT Project - Membuat GPS Tracker Benda Menggunakan Aplikasi Blynk 2024, Juli
Anonim
Pelacak Lokasi Dengan NodeMCU ESP8266
Pelacak Lokasi Dengan NodeMCU ESP8266

Apakah Anda ingin tahu tentang bagaimana NodeMCU Anda dapat melacak lokasi Anda? Itu mungkin, bahkan tanpa modul GPS dan tanpa tampilan. Outputnya akan menjadi koordinat di mana Anda berada dan Anda akan melihatnya di monitor serial Anda.

Pengaturan berikut digunakan untuk NodeMCU 1.0 (Modul ESP-12E) dengan Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Langkah 1: Apa yang Anda Butuhkan

Apa yang Anda butuhkan untuk mengikuti tutorial ini adalah komponen berikut:

  • Kabel mikro USB
  • NodeMCU ESP8266

Selanjutnya, Anda akan membutuhkan:

  • LocationAPI (dari Lab Tidak Berkabel)
  • Akses ke wifi atau hotspot

Langkah 2: Buka Lab Tidak Berkabel

Buka Lab Tanpa Kabel
Buka Lab Tanpa Kabel

Geolokasi sangat berguna karena saat GPS Anda mati, Anda masih dapat menggunakan Geolokasi untuk melacak lokasi Anda. Host kami yang menyediakan geolokasi, adalah https://www.unwiredlabs.com/. Buka situs web itu dan daftar (tombol oranye di sudut kanan atas).

Langkah 3: Daftar untuk Mendapatkan Token API

Daftar untuk Mendapatkan Token API
Daftar untuk Mendapatkan Token API

Pada halaman pendaftaran, Anda harus mengisi nama Anda, email (token API Anda akan dikirim ke email Anda) dan use case (misalnya, penggunaan pribadi). Pilih jenis akun Anda. Versi gratisnya akan baik-baik saja, tetapi perlu diingat bahwa Anda terbatas dan tidak dapat melacak lokasi Anda 24/7. Mari kita mulai!

Langkah 4: Periksa Email Anda

Buka email Anda dan Anda akan melihat token API Anda. Salin token API, karena Anda memerlukannya untuk kode yang akan kami gunakan. Begini tampilan emailnya:

Halo!

Terima kasih telah mendaftar dengan Unwired Labs LocationAPI! Token API Anda adalah 'kode API Anda ada di sini' (tanpa tanda kutip). Ini akan memberikan 100 permintaan/hari gratis - selamanya.

Jika Anda ingin melacak 5 perangkat secara gratis, harap balas dengan detail berikut dan kami akan meningkatkan versi akun Anda dalam waktu 12 jam:

1. Jenis penerapan (Perangkat Keras/ Aplikasi/ Lainnya):

2. Tentang proyek Anda:

3. Situs Web:

Anda dapat masuk ke dasbor Anda di sini: https://unwiredlabs.com/dashboard. Jika Anda mengalami masalah atau memiliki pertanyaan, balas email ini dan saya akan membantu Anda!

Selamat Menemukan!

Sagar

Lab Tidak Berkabel

Langkah 5: Perpustakaan yang Anda Butuhkan

Perpustakaan yang Anda Butuhkan
Perpustakaan yang Anda Butuhkan

Langkah selanjutnya adalah membuka Arduino dan pergi untuk mengelola perpustakaan. Anda perlu menginstal perpustakaan ArduinoJson. Pustaka lain sudah ada di dalamnya. Saat Anda siap, Anda bisa mulai menulis kodenya.

Langkah 6: Tambahkan Kode di Arduino untuk Terhubung Dengan LocationAPI

Buat sketsa baru dan tambahkan kode berikut di Arduino. Tulis nama wifi/hotspot Anda sendiri dan kata sandi Anda. Tempelkan token API yang Anda terima di email. Unggah kode Anda ke NodeMCU Anda.

#termasuk

#termasuk

#sertakan "ESP8266WiFi.h"

// SSID jaringan Anda (nama) & kata sandi jaringan

char myssid = "Nama wifi/hotspot Anda"; char mypass = "Kata sandi Anda";

// unwiredlabs Hostname & Geolocation Endpoint url

const char* Host = "www.unwiredlabs.com"; Titik akhir string = "/v2/process.php";

// UnwiredLabs API_Token. Daftar di sini untuk mendapatkan token gratis

Token string = "d99cccda52ec0b";

String jsonString = "{n";

// Variabel untuk menyimpan respons unwiredlabs

lintang ganda = 0,0; bujur ganda = 0,0; akurasi ganda = 0,0;

batalkan pengaturan(){

Serial.begin(115200);

// Atur WiFi ke mode stasiun dan putuskan sambungan dari AP jika sebelumnya terhubung

WiFi.mode(WIFI_STA); WiFi.putuskan(); Serial.println("Konfigurasi selesai");

// Kita mulai dengan menghubungkan ke jaringan WiFi

Serial.print("Menghubungkan ke "); Serial.println(myssid); WiFi.begin(myssid, mypass);

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

penundaan (500); Serial.print("."); } Serial.println("."); }

lingkaran kosong() {

char bssid[6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks akan mengembalikan jumlah jaringan yang ditemukan

int n = WiFi.scanNetworks(); Serial.println("scan selesai");

jika (n == 0) {

Serial.println("Tidak ada jaringan yang tersedia"); } else { Serial.print(n); Serial.println("jaringan ditemukan"); }

// sekarang buat jsonString…

jsonString = "{n"; jsonString += "\"token\": \""; jsonString += token; jsonString += "\", \n"; jsonString += "\"id\": \"saikirandevice01\", \n"; jsonString += "\"wifi\": [n"; for (int j = 0; j < n; ++j) { jsonString += "{n"; jsonString += "\"bssid\": \""; jsonString += (WiFi. BSSIDstr(j)); jsonString += "\", \n"; jsonString += "\"sinyal\": "; jsonString += WiFi. RSSI(j); jsonString += "\n"; if (j < n - 1) { jsonString += "}, \n"; } else { jsonString += "}\n"; } } jsonString += ("]\n"); jsonString += ("}\n"); Serial.println(jsonString);

Klien WiFiClientSecure;

//Hubungkan ke klien dan lakukan panggilan api

Serial.println("Meminta URL: https://" + (String)Host + endpoint); if (klien.koneksi(Host, 443)) { Serial.println("Terhubung"); client.println("POST" + titik akhir + "HTTP/1.1"); client.println("Host: " + (String)Host); client.println("Koneksi: tutup"); client.println("Tipe Konten: aplikasi/json"); client.println("User-Agent: Arduino/1.0"); client.print("Panjang Konten: "); client.println(jsonString.length()); klien.println(); client.print(jsonString); penundaan (500); }

//Baca dan parsing semua baris balasan dari server

while (client.available()) { String baris = client.readStringUntil('\r'); JsonObject& root = jsonBuffer.parseObject(baris); if (root.success()) { lintang = root["lat"]; bujur = akar["lon"]; akurasi = root["akurasi"];

Serial.println();

Serial.print("Lintang = "); Serial.println(lintang, 6); Serial.print("Bujur = "); Serial.println(bujur, 6); Serial.print("Akurasi = "); Serial.println(akurasi); } }

Serial.println("menutup koneksi");

Serial.println(); klien.berhenti();

penundaan(5000);

}

Langkah 7: Buka Serial Monitor untuk Melihat Apakah Anda Terhubung

Buka alat di Arduino dan buka monitor serial. Untuk melihat apakah Anda terhubung ke internet, Anda akan melihat yang berikut di monitor serial:

Penyiapan selesai

Menghubungkan ke (nama wifi Anda) … pemindaian selesai

Langkah 8: Dapatkan Koordinat

Jika berhasil, Anda akan melihat di bawah pemindaian dilakukan seluruh daftar data. Satu-satunya hal yang kita butuhkan adalah kode di bawah URL yang meminta, jadi kita akan membutuhkan garis lintang dan garis bujur. Ini adalah koordinatnya.

Meminta URL:

Terhubung

Lintang = 52.385259

Bujur = 5,196099

Akurasi = 41.00

menutup koneksi

Setelah 5 detik, kode akan terus diperbarui dan Anda mungkin akan melihat garis lintang, garis bujur, dan akurasi berubah. Itu karena API mencoba yang terbaik untuk melacak lokasi setepat mungkin.

Langkah 9: Buka Google Maps

Buka Google Maps
Buka Google Maps

Buka https://www.google.com/maps/ dan ketik koordinat Anda di bilah pencarian. Koordinat perlu ditulis sebagai berikut: 52.385259, 5.196099. Google Maps harus menunjukkan lokasi Anda di peta.

Langkah 10: Kirim Lokasi ke Ponsel Anda

Kirim Lokasi ke Ponsel Anda
Kirim Lokasi ke Ponsel Anda

Dan… Selesai! Karena itu, jika Anda ingin mengirim lokasi ke ponsel Anda, itu mungkin. Google Maps kemudian akan mengirim email dengan koordinat Anda jika Anda mau.

Selamat mencari!

Direkomendasikan: