Daftar Isi:
- Langkah 1: Apa yang Anda Butuhkan
- Langkah 2: Buka Lab Tidak Berkabel
- Langkah 3: Daftar untuk Mendapatkan Token API
- Langkah 4: Periksa Email Anda
- Langkah 5: Perpustakaan yang Anda Butuhkan
- Langkah 6: Tambahkan Kode di Arduino untuk Terhubung Dengan LocationAPI
- Langkah 7: Buka Serial Monitor untuk Melihat Apakah Anda Terhubung
- Langkah 8: Dapatkan Koordinat
- Langkah 9: Buka Google Maps
- Langkah 10: Kirim Lokasi ke Ponsel Anda
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
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
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
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
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 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
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!