Mündəricat:
- Addım 1: Parçalar və Alət
- Addım 2: Google API tapın
- Addım 3: Arduino IDE -də NodeMCu qurun
- Addım 4: ArduinoJson Kitabxanasını yükləyin
- Addım 5: Proqram
Video: GEOLOACATION: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu mənim Yaz Stajı Layihəmdir. Yalnız NodeMCU istifadə edərək GPS modulundan istifadə etmədən hər hansı bir cihazı izləyə biləcəyimizi eşidəndə həqiqətən təəccüblənirəm. Bununla hər hansı bir cihazı izləyə bilərik. Siz yalnız WiFi istifadə edərək cihazı necə izləyə biləcəyimizə təəccüblənirsiniz. Anlamaq üçün sıralama təsviri burada.
- · Demək olar ki, bütün WiFi -lərinizi tarar.
- · Google API istifadə edərək bu cihazın yerini Google -a göndərin
- · Buna görə cihazınızın yerini tapın
- · Bu Layihə üçün güclü şəbəkə bağlantınız var.
Addım 1: Parçalar və Alət
Hissələri
- NodeMCU (ESP8266 1.0 12E)
- USB Kabel
Alətlər
NodeMcu 1.0 12E lövhəsi olan Arduino IDE
Google API
Addım 2: Google API tapın
- Brauzerinizi açın və yazın: console.developer.google.com
- Yeni bir layihə yaradın
- Yeni bir layihə yaratdıqdan sonra etimadnaməsini vurun
- API Açarını vurun
-
API Açarınız yaradıldı
Asan başa düşmək üçün aşağıdakı şəkilə baxın |>
Addım 3: Arduino IDE -də NodeMCu qurun
- Arduino IDE-ni aşağıdakı linkdən yükləyin:- https:// www. Əsas/Proqram təminatı arduino.cc/az/
- Arduino IDE -də Node MCu lövhəsini əlavə edin
-
NodeMCU -da kod yükləmək üçün ARDUINO IDE -də NodeMCu lövhəsini əlavə etməlisiniz.
- Arduino IDE faylına və Tercihə gedin
- Əlavə İdarə Heyətinin bölməsində aşağıdakı linki kopyalayın
- arduino.esp8266.com/stable/package_esp8266c…
- və Ok düyməsini basın
- Lövhə yüklənir
- Alətlərə və lövhəyə gedin və NodeMCU 1.0 12E seçin
- Asanlıqla başa düşmək üçün avobe şəklinə baxın
Addım 4: ArduinoJson Kitabxanasını yükləyin
- Gedin
Eskiz kitabxanaya kitabxananı idarə et
Axtarış qutusuna Arduino Json yazın
ArduinoJson kitabxanasının son versiyasını yükləyin
kitabxananı yüklədikdən sonra bağlayın
Kitabxana əlavə edin
SketchincludeKitabxanaArduinoJson
Addım 5: Proqram
Aşağıdakı proqramı NodeMCU lövhəsinə yükləyin. və Serial monitorda cihazınızın (NodeMCU 1.0 12E lövhəsi) yerini görün.
#daxil edin
#daxil edin
#daxil edin
char myssid = "Sizin SSID"; // şəbəkənizin SSID (adı)
char mypass = "Şifrəniz"; // şəbəkə parolunuz
// Google GeoLocation API üçün etimadnamələri…
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Bir google Maps ap açarını buradan əldə edin:
developers.google.com/maps/documentation/geolocation/intro
String key = "Google API açarınız"; // Addım 2 -dən tapın
Təlimat
int vəziyyəti = WL_IDLE_STATUS;
String jsonString = "{ n";
ikiqat enlik = 0.0;
ikiqat uzunluq = 0.0;
ikiqat dəqiqlik = 0.0;
int more_text = 1; // daha çox debug çıxışı üçün 1 olaraq təyin edin
boş quraşdırma () {
Serial.begin (9600);
Serial.println ("Başlat");
// WiFi -ni stansiya rejiminə qoyun və
əvvəllər bağlı olsaydı AP -dən ayırın
WiFi rejimi (WIFI_STA);
WiFi.disconnect ();
gecikmə (100);
Serial.println ( Quraşdırma
bitdi );
// a -ya qoşulmaqla başlayırıq
WiFi şəbəkəsi
Serial.print ( Bağlanır
);
Serial.println (msssid);
WiFi.begin (myssid, mypass);
isə (WiFi.status ()! = WL_CONNECTED) {
gecikmə (500);
Serial.print (".");
}
Serial.println (".");
}
boşluq döngəsi () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("tarama başlanğıcı");
// WiFi.scanNetworks geri qayıdacaq
tapılan şəbəkələrin sayı
int n = WiFi.scanNetworks ();
Serial.println ("skandone");
əgər (n == 0)
Serial.println ("heç bir şəbəkə tapılmadı");
başqa
{
Serial. çap (n);
Serial.println ("şəbəkələr tapıldı …");
əgər (more_text) {
// Biçimlənmiş jsonu çap edin …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // bu əsl İngiltərə MM -dir
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // və əsl UK MNC
Serial.println ("\" radioType / ": \" gsm / ","); // gsm üçün
Serial.println ("\" daşıyıcısı / ": \" Vodafone / ","); // Vodafone ilə əlaqəli
Serial.println ("\" cellTowers / ": ["); // Heç bir hüceyrə qülləsi haqqında məlumat vermirəm
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
üçün (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));
əgər (i <n - 1)
{
Serial.println ("},");
}
başqa
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// indi jsonString qurun …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // bu əsl İngiltərə MM -dir
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // və əsl UK MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // gsm üçün
jsonString += "\" daşıyıcısı / ": \" Vodafone / ", / n"; // Vodafone ilə əlaqəli
jsonString += "\" wifiAccessPoints / ": [n";
üçün (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
əgər (j <n - 1)
{
jsonString += "}, / n";
}
başqa
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure müştəri;
// Müştəriyə qoşulun və api zəng edin
Serial.print ("URL tələb olunur:");
// ---- Google Xəritə Api Açarını buradan əldə edin, Bağlantı:
Serial.println ("https://" + (String) Host + thisPage + "GOOGLE-XARİTALARINI-API-KEY-BURADA YAZ");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Bağlandı");
client.println ("POST" + thisPage + key + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println ("Bağlantı: yaxın");
client.println ("Məzmun Növü: application/json");
client.println ("İstifadəçi-Agent: Arduino/1.0");
client.print ("Məzmun-Uzunluq:");
müştəri.println (jsonString.length ());
müştəri.println ();
client.print (jsonString);
gecikmə (500);
}
// Bütün sətirləri oxuyun və təhlil edin
serverdən gələn cavab
while (client.available ()) {
String xətti = client.readStringUntil ('\ r');
əgər (more_text) {
Serial.print (xətt);
}
JsonObject & root = jsonBuffer.parseObject (xətt);
if (root.success ()) {
enlem = kök ["yer"] ["lat"];
Boylam = kök ["yer"] ["lng"];
dəqiqlik = kök ["dəqiqlik"];
}
}
Serial.println ("bağlanan əlaqə");
Serial.println ();
client.stop ();
Serial.print ("Enlem =");
Serial.println (enlik, 6);
Serial.print ("Boylam =");
Serial.println (uzunluq, 6);
Serial.print ("Dəqiqlik =");
Serial.println (dəqiqlik);
gecikmə (10000);
Serial.println ();
Serial.println ("Yenidən başlatılır …");
Serial.println ();
gecikmə (2000);
}
Tövsiyə:
Arduino Avtomobil Ters Park Diqqət Sistemi - Addım -addım: 4 addım
Arduino Avtomobil Ters Park Diqqət Sistemi | Addım-addım: Bu layihədə, Arduino UNO və HC-SR04 Ultrasonik Sensoru istifadə edərək sadə bir Arduino Car Reverse Park Sensor Dövrü dizayn edəcəyəm. Bu Arduino əsaslı Avtomobil Ters siqnal sistemi Avtonom Naviqasiya, Robot Aralığı və digər diapazonlarda istifadə edilə bilər
Addım -addım PC qurulması: 9 addım
Addım -addım PC Bina: Təchizat: Təchizat: MotherboardCPU & CPU soyuducu PSU (Enerji təchizatı vahidi) Yaddaş (HDD/SSD) RAMGPU (tələb olunmur) Kassa Alətləri: Tornavida ESD bilərzik/mattermal pasta/aplikator
Üç Hoparlör Devresi -- Addım-addım təlimat: 3 addım
Üç Hoparlör Devresi || Addım-addım Təlimat: Dinamik Dövrə, ətraf mühitdən alınan səs siqnallarını MIC-ə gücləndirir və gücləndirilmiş səsin çıxarıldığı yerdən Dinamikə göndərir.Burada bu Hoparlör Devrini düzəltməyin üç fərqli yolunu göstərəcəyəm:
Robot texnikasında bir dəst ilə addım-addım təhsil: 6 addım
Bir dəst ilə Robototexnikada Addım-addım Təhsil: Öz robotumu düzəltdikdən bir neçə ay sonra (zəhmət olmasa bunların hamısına baxın) və iki dəfə hissələri arızalandıqdan sonra bir addım geri çəkilmək və öz fikrimi yenidən düşünmək qərarına gəldim. strategiya və istiqamət. Bir neçə aylıq təcrübə bəzən çox mükafatlandırıcı idi və
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)