Isi kandungan:
- Langkah 1: Bahagian & Alat
- Langkah 2: Cari API Google
- Langkah 3: Sediakan NodeMCu pada Arduino IDE
- Langkah 4: Muat turun Perpustakaan ArduinoJson
- Langkah 5: Program
Video: GEOLOACASI: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Ini adalah Projek Internship Musim Panas saya. Saya sangat terkejut apabila mendengar kami dapat mengesan lokasi mana-mana peranti tanpa menggunakan modul GPS hanya menggunakan NodeMCU. Melalui ini kita dapat mengesan mana-mana peranti. Anda juga terkejut bagaimana kita dapat mengesan peranti hanya menggunakan WiFi. Berikut adalah penerangan semacam untuk memahaminya.
- · Imbas hampir semua WiFi anda.
- · Kirim lokasi perangkat ini ke Google menggunakan API Google
- · Menurut ini, cari lokasi peranti anda
- · Anda mempunyai sambungan rangkaian yang kuat untuk Projek ini.
Langkah 1: Bahagian & Alat
Bahagian
- NodeMCU (ESP8266 1.0 12E)
- Wayar USB
Alat
Arduino IDE dengan NodeMcu 1.0 12E Board
API Google
Langkah 2: Cari API Google
- Buka Penyemak Imbas Anda dan ketik: console.developer.google.com
- Buat projek baru
- Selepas Buat Projek baru, klik pada kelayakan
- Klik pada Kekunci API
-
Kunci API Anda Telah dihasilkan
Untuk pemahaman dengan mudah lihat gambar berikut |>
Langkah 3: Sediakan NodeMCu pada Arduino IDE
- Muat turun Arduino IDE dari Pautan berikut: - https:// www. Utama / Perisian arduino.cc/en/
- Tambahkan papan Node MCu di Arduino IDE
-
Untuk memuat naik kod di NodeMCU anda harus menambahkan papan NodeMCu pada ARDUINO IDE.
- PERGI ke fail & Keutamaan di Arduino IDE
- Dan dalam pengurusan Lembaga Tambahan salin pautan berikut
- arduino.esp8266.com/stable/package_esp8266c…
- dan klik Ok
- Papan dimuat turun
- Pergi ke alat dan papan dan pilih NodeMCU 1.0 12E
- Lihat gambar avobe untuk difahami dengan mudah
Langkah 4: Muat turun Perpustakaan ArduinoJson
- Pergi ke
Sketsa Sertakan Perpustakaan Menguruskan Perpustakaan
Taip Arduino Json di kotak carian
Muat turun versi terbaru perpustakaan ArduinoJson
selepas memuat turun perpustakaan klik tutup
Tambahkan perpustakaan dari
LakarkanSertakanLibraryArduinoJson
Langkah 5: Program
Muat naik program berikut di papan NodeMCU. dan lihat lokasi peranti anda (papan NodeMCU 1.0 12E) pada Serial monitor.
#sertakan
#sertakan
#sertakan
char myssid = "SSID Anda"; // SSID rangkaian anda (nama)
char mypass = "Kata Laluan Anda"; // kata laluan rangkaian anda
// Kelayakan untuk API GeoLocation Google…
const char * Host = "www.googleapis.com";
Rentetan iniPage = "/ geolocation / v1 / geolocate? Key =";
// --- Dapatkan kunci ap peta google di sini:
developers.google.com/maps/documentation/geolocation/intro
Kekunci rentetan = "Kunci API Google Anda"; // Cari dari langkah2
Arahan
status int = WL_IDLE_STATUS;
Rentetan jsonString = "{ n";
garis lintang berganda = 0.0;
bujur berganda = 0.0;
ketepatan berganda = 0.0;
int lebih_teks = 1; // tetapkan ke 1 untuk output debug yang lebih banyak
batal persediaan () {
Serial.begin (9600);
Serial.println ("Mula");
// Tetapkan WiFi ke mod stesen dan
putuskan sambungan dari AP jika sebelum ini disambungkan
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
kelewatan (100);
Serial.println ( Persediaan
selesai );
// Kita mulakan dengan menyambung ke a
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;
Serial.println ("permulaan imbasan");
// WiFi.scanNetworks akan kembali
bilangan rangkaian yang dijumpai
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
jika (n == 0)
Serial.println ("tidak ada rangkaian dijumpai");
yang lain
{
Cetakan bersiri (n);
Serial.println ("networkfound …");
jika (lebih_teks) {
// Cetak json yang diformat …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // ini adalah MCC UK sebenar
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // dan MNC UK sebenar
Serial.println ("\" radioType / ": \" gsm / ","); // untuk gsm
Serial.println ("\" pembawa / ": \" Vodafone / ","); // dikaitkan dengan Vodafone
Serial.println ("\" cellTowers / ": ["); // Saya tidak melaporkan sebarang menara sel
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
untuk (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Serial.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
jika (i <n - 1)
{
Serial.println ("},");
}
yang lain
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// sekarang bina jsonString…
jsonString = "{ n";
jsonString + = "\" homeMobileCountryCode / ": 234, / n"; // ini adalah MCC UK sebenar
jsonString + = "\" homeMobileNetworkCode / ": 27, / n"; // dan MNC UK sebenar
jsonString + = "\" radioType / ": \" gsm / ", / n"; // untuk gsm
jsonString + = "\" pembawa / ": \" Vodafone / ", / n"; // dikaitkan dengan Vodafone
jsonString + = "\" wifiAccessPoints / ": [n";
untuk (int j = 0; j <n; ++ j)
{
jsonString + = "{ n";
jsonString + = "\" macAddress / ": \" ";
jsonString + = (WiFi. BSSIDstr (j));
jsonString + = "\", / n ";
jsonString + = "\" signalStrength / ":";
jsonString + = WiFi. RSSI (j);
jsonString + = "\ n";
jika (j <n - 1)
{
jsonString + = "}, / n";
}
yang lain
{
jsonString + = "} n";
}
}
jsonString + = ("] n");
jsonString + = ("} n");
//--------------------------------------------------------------------
Serial.println ("");
Pelanggan WiFiClientSecure;
// Sambungkan ke klien dan buat panggilan api
Serial.print ("Memohon URL:");
// ---- Dapatkan Kunci Api Peta Google di sini, Pautan:
Serial.println ("https://" + (String) Host + thisPage + "TUTUP-GOOGLE-MAPS-API-KEY-SINI");
Serial.println ("");
jika (client.connect (Host, 443)) {
Serial.println ("Bersambung");
client.println ("POST" + thisPage + key + "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
balasan dari pelayan
sementara (client.available ()) {
Garisan rentetan = client.readStringUntil ('\ r');
jika (lebih_teks) {
Serial.print (baris);
}
JsonObject & root = jsonBuffer.parseObject (baris);
jika (root.success ()) {
latitud = root ["location"] ["lat"];
longitud = root ["location"] ["lng"];
ketepatan = akar ["ketepatan"];
}
}
Serial.println ("menutup sambungan");
Bersiri.println ();
pelanggan.stop ();
Serial.print ("Latitud =");
Serial.println (garis lintang, 6);
Serial.print ("Longitud =");
Serial.println (garis bujur, 6);
Serial.print ("Ketepatan =");
Serial.println (ketepatan);
kelewatan (10000);
Bersiri.println ();
Serial.println ("Memulakan Semula …");
Bersiri.println ();
kelewatan (2000);
}
Disyorkan:
Sistem Makluman Tempat Letak Balik Kereta Arduino - Langkah demi Langkah: 4 Langkah
Sistem Makluman Tempat Letak Balik Kereta Arduino | Langkah demi Langkah: Dalam projek ini, saya akan merancang Litar Sensor Tempat Letak Kereta Berbalik Arduino yang ringkas menggunakan Sensor Ultrasonik Arduino UNO dan HC-SR04. Sistem amaran Car Reverse berasaskan Arduino ini dapat digunakan untuk Navigasi Autonomi, Robot Ranging dan rangkaian lain
Langkah demi Langkah Pembinaan PC: 9 Langkah
Langkah demi Langkah Pembinaan PC: Persediaan: Perkakasan: MotherboardCPU & CPU cooler PSU (Unit bekalan kuasa) Penyimpanan (HDD / SSD) RAMGPU (tidak diperlukan) Alat kes: Pemutar skru Gelang ESD / tampal matsthermal dengan aplikator
Tiga Litar Pembesar Suara -- Tutorial Langkah demi Langkah: 3 Langkah
Tiga Litar Pembesar Suara || Tutorial Langkah-demi-Langkah: Loudspeaker Circuit menguatkan isyarat audio yang diterima dari persekitaran ke MIC dan menghantarnya ke Speaker dari tempat audio diperkuat dihasilkan. Di sini, saya akan menunjukkan kepada anda tiga cara berbeza untuk membuat Loudspeaker Circuit ini menggunakan:
Pendidikan Langkah demi Langkah dalam Robotik Dengan Kit: 6 Langkah
Pendidikan Langkah-demi-Langkah dalam Robotik Dengan Kit: Setelah beberapa bulan membina robot saya sendiri (sila rujuk semua ini), dan setelah dua kali bahagian gagal, saya memutuskan untuk mengambil langkah mundur dan memikirkan semula strategi dan arahan. Pengalaman selama beberapa bulan kadang-kadang sangat bermanfaat, dan
Pengangkatan Akustik Dengan Arduino Uno Langkah demi Langkah (8-langkah): 8 Langkah
Acoustic Levitation With Arduino Uno Step-by Step (8-step): transduser suara ultrasonik L298N Dc power adaptor wanita dengan pin dc lelaki Arduino UNOBreadboardBagaimana ini berfungsi: Pertama, anda memuat naik kod ke Arduino Uno (ia adalah mikrokontroler yang dilengkapi dengan digital dan port analog untuk menukar kod (C ++)