Isi kandungan:

Penjejak Lokasi Dengan Langkah NodeMCU ESP8266: 10
Penjejak Lokasi Dengan Langkah NodeMCU ESP8266: 10

Video: Penjejak Lokasi Dengan Langkah NodeMCU ESP8266: 10

Video: Penjejak Lokasi Dengan Langkah NodeMCU ESP8266: 10
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, November
Anonim
Penjejak Lokasi Dengan NodeMCU ESP8266
Penjejak Lokasi Dengan NodeMCU ESP8266

Adakah anda ingin tahu bagaimana NodeMCU anda dapat mengesan lokasi anda? Itu mungkin, walaupun tanpa modul GPS dan tanpa paparan. Keluarannya adalah koordinat di mana anda berada dan anda akan melihatnya di monitor bersiri anda.

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

  • Windows 10
  • Arduino IDE lwn 1.8.4

Langkah 1: Apa Yang Anda Perlu

Apa yang anda perlukan untuk mengikuti tutorial ini adalah komponen berikut:

  • Kabel USB mikro
  • NodeMCU ESP8266

Tambahan pula, anda memerlukan:

  • LokasiAPI (dari Makmal Tanpa Wayar)
  • Akses ke wifi atau hotspot

Langkah 2: Pergi ke Makmal Tanpa Wayar

Pergi ke Makmal Tanpa Wayar
Pergi ke Makmal Tanpa Wayar

Geolokasi sangat berguna kerana ketika GPS anda tidak berfungsi, anda masih dapat menggunakan Geolokasi untuk mengesan lokasi anda. Tuan rumah kami yang menyediakan geolokasi, akan https://www.unwiredlabs.com/. Pergi ke laman web itu dan daftar (butang oren di sudut kanan atas).

Langkah 3: Daftar untuk Dapatkan Token API

Daftar untuk Dapatkan Token API
Daftar untuk Dapatkan Token API

Di halaman pendaftaran, anda harus mengisi nama anda, e-mel (token API anda akan dihantar ke e-mel anda) dan kes penggunaan (misalnya, penggunaan peribadi). Pilih jenis akaun anda. Versi percuma akan baik-baik saja, tetapi perlu diingat bahawa anda terhad dan tidak dapat mengesan lokasi anda 24/7. Mari kita mulakan!

Langkah 4: Periksa E-mel Anda

Pergi ke e-mel anda dan anda akan melihat token API anda. Salin token API, kerana anda memerlukannya untuk kod yang akan kami gunakan. Beginilah rupa e-mel:

Helo!

Terima kasih kerana mendaftar dengan Lokasi Makmal Tanpa WayarAPI! Token API anda adalah 'kod API anda ada di sini' (tanpa tanda petik). Ini akan memberikan 100 permintaan / hari secara percuma - selamanya.

Sekiranya anda ingin menjejaki 5 peranti secara percuma, balas dengan maklumat berikut dan kami akan meningkatkan akaun anda dalam masa 12 jam:

1. Jenis penyebaran (Perkakasan / Aplikasi / Lain-lain):

2. Mengenai projek anda:

3. Laman web:

Anda boleh log masuk ke papan pemuka anda di sini: https://unwiredlabs.com/dashboard. Sekiranya anda menghadapi masalah atau mempunyai pertanyaan, balas e-mel ini dan saya akan membantu anda!

Selamat Mencari!

Sagar

Makmal Tanpa Wayar

Langkah 5: Perpustakaan yang Anda Perlu

Perpustakaan yang Anda Perlu
Perpustakaan yang Anda Perlu

Langkah seterusnya adalah membuka Arduino dan pergi untuk menguruskan perpustakaan. Anda perlu memasang perpustakaan ArduinoJson. Perpustakaan lain sudah dibina. Apabila anda sudah bersedia, anda boleh mula menulis kodnya.

Langkah 6: Tambahkan Kod di Arduino untuk Berhubung Dengan LokasiAPI

Buat lakaran baru dan tambahkan kod berikut di Arduino. Tuliskan nama wifi / hotspot anda sendiri dan kata laluan anda. Tampal token API yang anda terima dalam e-mel. Muat naik kod anda ke NodeMCU anda.

#sertakan

#sertakan

#sertakan "ESP8266WiFi.h"

// SSID rangkaian (nama) & kata laluan rangkaian anda

char myssid = "Nama wifi / hotspot anda"; char mypass = "Kata laluan anda";

// URL yang tidak diingini Nama Hos & Geologi Lokasi Akhir

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

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

String token = "d99cccda52ec0b";

Rentetan jsonString = "{ n";

// Pemboleh ubah untuk menyimpan tindak balas label tidak dikehendaki

garis lintang berganda = 0.0; bujur berganda = 0.0; ketepatan berganda = 0.0;

batal persediaan () {

Serial.begin (115200);

// Tetapkan WiFi ke mod stesen dan putuskan sambungan dari AP jika sebelumnya disambungkan

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Persiapan selesai");

// Kita mulakan dengan menyambung ke rangkaian WiFi

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

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

kelewatan (500); Cetakan bersiri ("."); } Serial.println ("."); }

gelung kosong () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks akan mengembalikan jumlah rangkaian yang dijumpai

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

jika (n == 0) {

Serial.println ("Tiada rangkaian tersedia"); } lain {Serial.print (n); Serial.println ("rangkaian dijumpai"); }

// sekarang bina jsonString…

jsonString = "{ n"; jsonString + = "\" token / ": \" "; jsonString + = token; jsonString + =" / ", / n"; jsonString + = "\" id / ": \" saikirandevice01 / ", / n"; jsonString + = "\" wifi / ": [n"; untuk (int j = 0; j <n; ++ j) {jsonString + = "{ n"; jsonString + = "\" bssid / ": \" "; jsonString + = (WiFi. BSSIDstr (j)); jsonString + =" / ", / n"; jsonString + = "\" signal / ":"; jsonString + = WiFi. RSSI (j); jsonString + = "\ n"; jika (j <n - 1) {jsonString + = "}, / n"; } lain {jsonString + = "} n"; }} jsonString + = ("] n"); jsonString + = ("} n"); Serial.println (jsonString);

Pelanggan WiFiClientSecure;

// Sambungkan ke klien dan buat panggilan api

Serial.println ("Memohon URL: https://" + (String) Host + endpoint); jika (client.connect (Host, 443)) {Serial.println ("Connected"); client.println ("POST" + endpoint + "HTTP / 1.1"); client.println ("Host:" + (String) Host); client.println ("Sambungan: tutup"); client.println ("Jenis Kandungan: aplikasi / json"); client.println ("Ejen Pengguna: Arduino / 1.0"); client.print ("Panjang Kandungan:"); client.println (jsonString.length ()); pelanggan.println (); client.print (jsonString); kelewatan (500); }

// Baca dan huraikan semua baris jawapan dari pelayan

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

Bersiri.println ();

Serial.print ("Latitud ="); Serial.println (garis lintang, 6); Serial.print ("Longitud ="); Serial.println (garis bujur, 6); Serial.print ("Ketepatan ="); Serial.println (ketepatan); }}

Serial.println ("menutup sambungan");

Bersiri.println (); pelanggan.stop ();

kelewatan (5000);

}

Langkah 7: Buka Monitor Serial untuk Melihat Jika Anda Terhubung

Pergi ke alat di Arduino dan buka monitor bersiri. Untuk melihat sama ada anda tersambung ke internet, anda perlu melihat yang berikut di monitor bersiri:

Penyediaan selesai

Menyambung ke (nama wifi anda) … imbasan selesai

Langkah 8: Dapatkan Koordinat

Sekiranya berjaya, anda mesti melihat di bawah imbasan dilakukan keseluruhan senarai data. Satu-satunya perkara yang kita perlukan adalah kod di bawah URL yang meminta, jadi kita memerlukan garis lintang dan garis bujur. Ini adalah koordinat.

Meminta URL:

Bersambung

Lintang = 52.385259

Bujur = 5.196099

Ketepatan = 41.00

menutup sambungan

Selepas 5 saat, kod akan sentiasa dikemas kini dan anda mungkin akan melihat perubahan garis lintang, garis bujur dan ketepatan. Ini kerana API berusaha sebaik mungkin untuk mengesan lokasi secepat mungkin.

Langkah 9: Pergi ke Peta Google

Pergi ke Peta Google
Pergi ke Peta Google

Pergi ke https://www.google.com/maps/ dan taipkan koordinat anda di bar carian. Koordinat perlu ditulis dengan cara berikut: 52.385259, 5.196099. Peta Google harus menunjukkan tempat anda berada di peta.

Langkah 10: Hantar Lokasi ke Telefon bimbit anda

Hantar Lokasi ke Telefon bimbit anda
Hantar Lokasi ke Telefon bimbit anda

Dan … Anda sudah selesai! Oleh itu, jika anda ingin menghantar lokasi ke telefon bimbit anda, ada kemungkinan. Peta Google kemudian akan menghantar e-mel dengan koordinat anda jika anda mahu.

Selamat mencari!

Disyorkan: