Мазмұны:

ГЕОЛОАКАЦИЯ: 5 қадам
ГЕОЛОАКАЦИЯ: 5 қадам

Бейне: ГЕОЛОАКАЦИЯ: 5 қадам

Бейне: ГЕОЛОАКАЦИЯ: 5 қадам
Бейне: Смогут ли Технологии Уничтожить всю Преступность? 2024, Қараша
Anonim
ГЕОЛОАКАЦИЯ
ГЕОЛОАКАЦИЯ

Бұл менің жазғы тағылымдама жобасы. GPS модулін пайдаланбай, кез келген құрылғының орнын NodeMCU көмегімен анықтауға болатынын естігенде, мен таң қаламын. Бұл арқылы біз кез келген құрылғыны қадағалай аламыз. Сонымен қатар біз тек WiFi көмегімен құрылғыны қалай қадағалай алатынымызға таң қаласыз. Міне, оны түсіну үшін сұрыптау сипаттамасы.

  • · Бұл барлық дерлік WiFi сканерлейді.
  • · Бұл құрылғының орналасқан жерін Google API арқылы Google -ға жіберіңіз
  • · Осыған сәйкес ол сіздің құрылғыңыздың орнын табады
  • · Сізде бұл жоба үшін күшті желілік байланыс бар.

1 -қадам: Бөлшектер мен құрал

Бөлшектер

  • NodeMCU (ESP8266 1.0 12E)
  • USB кабелі

Құралдар

NodeMcu 1.0 12E тақтасы бар Arduino IDE

Google API

2 -қадам: Google API табыңыз

Google API табыңыз
Google API табыңыз
Google API табыңыз
Google API табыңыз
Google API табыңыз
Google API табыңыз
  • Браузерді ашыңыз және теріңіз: console.developer.google.com
  • Жаңа жоба жасаңыз
  • Жаңа жоба жасағаннан кейін тіркелгі деректерін нұқыңыз
  • API кілтін басыңыз
  • Сіздің API кілтіңіз жасалды

    Оңай түсіну үшін келесі суретті қараңыз |>

3 -қадам: Arduino IDE -де NodeMCu орнатыңыз

Arduino IDE -де NodeMCu орнатыңыз
Arduino IDE -де NodeMCu орнатыңыз
Arduino IDE -де NodeMCu орнатыңыз
Arduino IDE -де NodeMCu орнатыңыз
Arduino IDE -де NodeMCu орнатыңыз
Arduino IDE -де NodeMCu орнатыңыз
  • Келесі сілтемеден Arduino IDE жүктеп алыңыз:- https:// www. Негізгі/Бағдарламалық қамтамасыз ету arduino.cc/kz/
  • Arduino IDE -ге Node MCu тақтасын қосыңыз
  • NodeMCU -ге код жүктеу үшін ARDUINO IDE -ге NodeMCu тақтасын қосу керек.

    • Arduino IDE ішіндегі файл мен артықшылыққа өтіңіз
    • Ал қосымша басқарма бөлімінде келесі сілтемені көшіріңіз
    • arduino.esp8266.com/stable/package_esp8266c…
    • және OK түймесін басыңыз
    • Тақта жүктеледі
    • Құралдар мен тақтаға өтіп, NodeMCU 1.0 12E таңдаңыз
    • Оңай түсіну үшін avobe суретін қараңыз

4 -қадам: ArduinoJson кітапханасын жүктеңіз

ArduinoJson кітапханасын жүктеп алыңыз
ArduinoJson кітапханасын жүктеп алыңыз
  • Барыңыз
  • Эскиз кітапхананы қамтиды Кітапхананы басқару

    Іздеу жолағына Arduino Json енгізіңіз

    ArduinoJson кітапханасының соңғы нұсқасын жүктеп алыңыз

    кітапхананы жүктегеннен кейін жабу түймесін басыңыз

    Кітапхананы қосу

    SketchincludeLibraryArduinoJson

5 -қадам: Бағдарлама

Келесі бағдарламаны NodeMCU тақтасына жүктеңіз. және сериялық монитордан сіздің құрылғының (NodeMCU 1.0 12E тақтасы) орнын көріңіз.

#қосу

#қосу

#қосу

char myssid = «Сіздің SSID»; // сіздің желі SSID (аты)

char mypass = «Сіздің құпия сөзіңіз»; // сіздің желі құпия сөзіңіз

// Google GeoLocation API тіркелгі деректері…

const char* Host = «www.googleapis.com»;

ThisPage жолын = «/geolocation/v1/geolocate? Key =»;

// --- Google карталарының ап кілтін мына жерден алыңыз:

developers.google.com/maps/documentation/geolocation/intro

String key = «Сіздің Google API кілтіңіз»; // 2 -қадамнан табыңыз

Нұсқау

int күйі = WL_IDLE_STATUS;

Жол jsonString = «{ n»;

қос ендік = 0,0;

қос бойлық = 0,0;

қос дәлдік = 0,0;

int more_text = 1; // отладтаудың көбірек шығуы үшін 1 мәніне қойыңыз

жарамсыз орнату () {

Serial.begin (9600);

Serial.println («Бастау»);

// WiFi -ді станция режиміне қойыңыз және

егер ол бұрын қосылған болса, кіру нүктесінен ажыратыңыз

WiFi.mode (WIFI_STA);

WiFi.disconnect ();

кешіктіру (100);

Serial.println («Орнату

жасалды »);

// Біз а -ға қосылудан бастаймыз

WiFi желісі

Serial.print («қосылуда

);

Serial.println (myssid);

WiFi.begin (myssid, mypass);

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

кешіктіру (500);

Serial.print («.»);

}

Serial.println («.»);

}

void loop () {

char bssid [6];

DynamicJsonBuffer jsonBuffer;

Serial.println («қарап шығуды бастау»);

// WiFi.scanNetworks оралады

табылған желілер саны

int n = WiFi.scanNetworks ();

Serial.println («скандон»);

егер (n == 0)

Serial.println («желілер табылмады»);

басқа

{

Serial.print (n);

Serial.println («желілер табылды …»);

if (more_text) {

// Пішімделген json басып шығарыңыз …

Serial.println («{»);

Serial.println («\» homeMobileCountryCode / «: 234,»); // бұл Ұлыбританияның нағыз MCC

Serial.println («\» homeMobileNetworkCode / «: 27,»); // және нағыз Ұлыбритания MNC

Serial.println («\» radioType / «: \» gsm / «,»); // gsm үшін

Serial.println («\» тасымалдаушы / «: \» Vodafone / «,»); // Vodafone -мен байланысты

Serial.println («\» cellTowers / «: [»); // Мен ұялы мұнаралар туралы хабарламаймын

Serial.println («],»);

Serial.println («\» wifiAccessPoints / «: [»);

үшін (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));

егер (мен <n - 1)

{

Serial.println («},»);

}

басқа

{

Serial.println («}»);

}

}

Serial.println («]»);

Serial.println («}»);

}

Serial.println («»);

}

// енді jsonString құрыңыз …

jsonString = «{ n»;

jsonString += «\» homeMobileCountryCode / «: 234, / n»; // бұл Ұлыбританияның нағыз MCC

jsonString += «\» homeMobileNetworkCode / «: 27, / n»; // және нағыз Ұлыбритания MNC

jsonString += «\» radioType / «: \» gsm / «, / n»; // gsm үшін

jsonString += «\» тасымалдаушы / «: \» Vodafone / «, / n»; // Vodafone -мен байланысты

jsonString += «\» wifiAccessPoints / «: [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»;

егер (j <n - 1)

{

jsonString += «}, / n»;

}

басқа

{

jsonString += «} n»;

}

}

jsonString += («] n»);

jsonString += («} n»);

//--------------------------------------------------------------------

Serial.println («»);

WiFiClientSecure клиенті;

// Клиентке қосылыңыз және api қоңырау шалыңыз

Serial.print («URL сұралуда:»);

// ---- Google Maps Api кілтін мына жерден алыңыз, сілтеме:

Serial.println («https://» + (String) Host + thisPage + «GOOGLE-MAPS-API-API-КІТІПТІ ОСЫНДА ҚОСУ»);

Serial.println («»);

if (client.connect (Host, 443)) {

Serial.println («Қосылды»);

client.println («POST» + thisPage + key + «HTTP/1.1»);

client.println («Хост:» + (Жол) хост);

client.println («Қосылу: жабу»);

client.println («Content-Type: application/json»);

client.println («Пайдаланушы-агент: Arduino/1.0»);

client.print («Content-Length:»);

client.println (jsonString.length ());

client.println ();

client.print (jsonString);

кешіктіру (500);

}

// Барлық жолдарды оқыңыз және талдаңыз

серверден жауап

while (client.available ()) {

Жол жолы = client.readStringUntil ('\ r');

if (more_text) {

Serial.print (жол);

}

JsonObject & root = jsonBuffer.parseObject (жол);

if (root.success ()) {

ендік = түбір [«орналасуы»] [«лат»];

бойлық = түбір [«орналасуы»] [«lng»];

дәлдік = түбір [«дәлдік»];

}

}

Serial.println («жабылатын байланыс»);

Serial.println ();

client.stop ();

Serial.print («Latitude =»);

Serial.println (ендік, 6);

Serial.print («Ұзындық =»);

Serial.println (бойлық, 6);

Serial.print («Дәлдік =»);

Serial.println (дәлдік);

кешіктіру (10000);

Serial.println ();

Serial.println («Қайта іске қосылады …»);

Serial.println ();

кешіктіру (2000);

}

Ұсынылған: