Სარჩევი:

მდებარეობის თვალთვალის მქონე NodeMCU ESP8266: 10 ნაბიჯი
მდებარეობის თვალთვალის მქონე NodeMCU ESP8266: 10 ნაბიჯი

ვიდეო: მდებარეობის თვალთვალის მქონე NodeMCU ESP8266: 10 ნაბიჯი

ვიდეო: მდებარეობის თვალთვალის მქონე NodeMCU ESP8266: 10 ნაბიჯი
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ნოემბერი
Anonim
მდებარეობის თვალთვალის მქონე NodeMCU ESP8266
მდებარეობის თვალთვალის მქონე NodeMCU ESP8266

გაინტერესებთ როგორ შეუძლია თქვენს NodeMCU თვალყური ადევნოს თქვენს მდებარეობას? ეს შესაძლებელია, თუნდაც GPS მოდულის გარეშე და ეკრანის გარეშე. გამომავალი იქნება კოორდინატები, სადაც თქვენ ხართ და ნახავთ მათ თქვენს სერიულ მონიტორზე.

შემდეგი კონფიგურაცია იქნა გამოყენებული NodeMCU 1.0 (ESP-12E მოდული) Arduino IDE– ით.

  • Windows 10
  • Arduino IDE v. 1.8.4

ნაბიჯი 1: რა გჭირდებათ

ის, რაც გჭირდებათ ამ გაკვეთილის შესასრულებლად, არის შემდეგი კომპონენტები:

  • მიკრო USB კაბელი
  • NodeMCU ESP8266

გარდა ამისა, თქვენ დაგჭირდებათ:

  • მდებარეობა API (დაუკავშირებელი ლაბორატორიებიდან)
  • უერთდება wifi ან ცხელ წერტილს

ნაბიჯი 2: გადადით Unwired Labs– ში

გადადით Unwired Labs– ში
გადადით Unwired Labs– ში

გეოლოკაცია ძალიან მოსახერხებელია, რადგან როდესაც თქვენი GPS გამორთულია, თქვენ კვლავ შეგიძლიათ გამოიყენოთ გეოლოკაცია თქვენი მდებარეობის თვალყურის დევნისთვის. ჩვენი მასპინძელი, რომელიც უზრუნველყოფს გეოლოკაციას, იქნება https://www.unwiredlabs.com/. გადადით ამ ვებსაიტზე და დარეგისტრირდით (ფორთოხლის ღილაკი ზედა მარჯვენა კუთხეში).

ნაბიჯი 3: დარეგისტრირდით API ჟეტონის მისაღებად

დარეგისტრირდით API ჟეტონის მისაღებად
დარეგისტრირდით API ჟეტონის მისაღებად

რეგისტრაციის გვერდზე, თქვენ უნდა შეავსოთ თქვენი სახელი, ელ.ფოსტა (თქვენი API ნიშანი გაიგზავნება თქვენს ელ.ფოსტაზე) და გამოყენების შემთხვევა (მაგალითად, პირადი გამოყენება). აირჩიეთ თქვენი ანგარიშის ტიპი. უფასო ვერსია ჯარიმა იქნება, მაგრამ გაითვალისწინეთ, რომ შეზღუდული ხართ და ვერ აკონტროლებთ თქვენს ადგილს 24/7. Დავიწყოთ!

ნაბიჯი 4: შეამოწმეთ თქვენი ელ

გადადით თქვენს ელ.ფოსტაზე და ნახავთ თქვენს API ნიშანს. დააკოპირეთ API ნიშანი, რადგან თქვენ გჭირდებათ ეს იმ კოდისთვის, რომელსაც ჩვენ ვიყენებთ. ასე გამოიყურება ელ.წერილი:

გამარჯობა!

გმადლობთ, რომ დარეგისტრირდით Unwired Labs LocationAPI– ით! თქვენი API ნიშანი არის "თქვენი API კოდი აქ არის" (ბრჭყალების გარეშე). ეს მოგცემთ 100 მოთხოვნას/ დღეში უფასოდ - სამუდამოდ.

თუ გსურთ თვალყური ადევნოთ 5 მოწყობილობას უფასოდ, გთხოვთ უპასუხოთ შემდეგ დეტალებს და ჩვენ განვაახლებთ თქვენს ანგარიშს 12 საათის განმავლობაში:

1. განლაგების ტიპი (აპარატურა/ აპლიკაცია/ სხვა):

2. თქვენი პროექტის შესახებ:

3. ვებ გვერდი:

თქვენ შეგიძლიათ შეხვიდეთ თქვენს დაფაზე აქ: https://unwiredlabs.com/dashboard. თუ პრობლემები შეგექმნათ ან გაქვთ შეკითხვები, უპასუხეთ ამ ელ.წერილს და მე დაგეხმარებით!

ბედნიერი მდებარეობა!

საგარი

დაუკავშირებელი ლაბორატორიები

ნაბიჯი 5: ბიბლიოთეკები, რომლებიც დაგჭირდებათ

ბიბლიოთეკები, რომლებიც დაგჭირდებათ
ბიბლიოთეკები, რომლებიც დაგჭირდებათ

შემდეგი ნაბიჯი არის არდუინოს გახსნა და ბიბლიოთეკების მართვა. თქვენ უნდა დააინსტალიროთ ArduinoJson ბიბლიოთეკა. სხვა ბიბლიოთეკები უკვე ჩაშენებულია. როდესაც მზად იქნებით, შეგიძლიათ დაიწყოთ კოდის წერა.

ნაბიჯი 6: დაამატეთ კოდი Arduino– ში მდებარეობასთან API– ს დასაკავშირებლად

გააკეთეთ ახალი ესკიზი და დაამატეთ შემდეგი კოდი არდუინოში. ჩაწერეთ თქვენი საკუთარი wifi/hotspot სახელი და პაროლი. ჩასვით ელ.ფოსტაში მიღებული API ნიშანი. ატვირთეთ თქვენი კოდი თქვენს NodeMCU- ში.

#ჩართეთ

#ჩართეთ

#მოიცავს "ESP8266WiFi.h"

// თქვენი ქსელის SSID (სახელი) და ქსელის პაროლი

char myssid = "თქვენი wifi/ცხელი წერტილის სახელი"; char mypass = "შენი პაროლი";

// unwiredlabs Hostname & Geolocation Endpoint url

const char* მასპინძელი = "www.unwiredlabs.com"; სიმებიანი ბოლო წერტილი = "/v2/process.php";

// UnwiredLabs API_Token. დარეგისტრირდით აქ, რომ მიიღოთ უფასო ნიშანი

სიმებიანი სიმბოლო = "d99cccda52ec0b";

სიმებიანი jsonString = "{ n";

// ცვლადები შენახვის unwiredlabs პასუხი

ორმაგი გრძედი = 0.0; ორმაგი გრძედი = 0.0; ორმაგი სიზუსტე = 0.0;

void setup () {

Serial.begin (115200);

// დააყენეთ WiFi სადგურის რეჟიმში და გათიშეთ AP– დან, თუ ის ადრე იყო დაკავშირებული

WiFi.mode (WIFI_STA); WiFi. გათიშვა (); Serial.println ("დაყენება შესრულებულია");

// ჩვენ ვიწყებთ WiFi ქსელთან დაკავშირებას

Serial.print ("დაკავშირება"); Serial.println (myssid); WiFi. დასაწყისი (myssid, mypass);

ხოლო (WiFi.status ()! = WL_CONNECTED) {

დაგვიანება (500); Serial.print ("."); } Serial.println ("."); }

ბათილი მარყუჟი () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks დააბრუნებს ნაპოვნი ქსელების რაოდენობას

int n = WiFi.scanNetworks (); Serial.println ("სკანირება დასრულებულია");

თუ (n == 0) {

Serial.println ("ქსელები მიუწვდომელია"); } else {Serial.print (n); Serial.println ("ნაპოვნია ქსელები"); }

// ახლა ააშენე jsonString…

jsonString = "{ n"; jsonString += "\" ნიშანი / ": \" "; jsonString += ნიშანი; 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 += "\" სიგნალი / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; if (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure კლიენტი;

// დაუკავშირდით კლიენტს და განახორციელეთ api ზარი

Serial.println ("URL- ის მოთხოვნა: https://" + (სიმებიანი) მასპინძელი + საბოლოო წერტილი); if (client.connect (მასპინძელი, 443)) {Serial.println ("დაკავშირებულია"); client.println ("POST" + საბოლოო წერტილი + "HTTP/1.1"); client.println ("მასპინძელი:" + (სიმებიანი) მასპინძელი); client.println ("კავშირი: დახურვა"); client.println ("შინაარსი-ტიპი: პროგრამა/json"); client.println ("მომხმარებელი-აგენტი: Arduino/1.0"); client.print ("შინაარსი-სიგრძე:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); დაგვიანება (500); }

// წაიკითხეთ და გაანალიზეთ სერვერის პასუხის ყველა ხაზი

while (client.available ()) {სიმებიანი ხაზი = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (ხაზი); if (root.success ()) {latitude = root ["lat"]; გრძედი = ფესვი ["ლონ"]; სიზუსტე = ფესვი ["სიზუსტე"];

Serial.println ();

Serial.print ("გრძედი ="); Serial.println (გრძედი, 6); Serial.print ("განედი ="); Serial.println (გრძედი, 6); Serial.print ("სიზუსტე ="); Serial.println (სიზუსტე); }}

Serial.println ("კავშირის დახურვა");

Serial.println (); client.stop ();

დაგვიანება (5000);

}

ნაბიჯი 7: გახსენით სერიული მონიტორი იმის დასადგენად, ხართ თუ არა დაკავშირებული

გადადით Arduino– ს ინსტრუმენტებზე და გახსენით სერიული მონიტორი. იმის დასადგენად, ხართ თუ არა ინტერნეტთან დაკავშირებული, სერიულ მონიტორში უნდა ნახოთ შემდეგი:

დაყენება დასრულებულია

დაკავშირება (თქვენი wifi სახელთან)… სკანირება დასრულდა

ნაბიჯი 8: მიიღეთ კოორდინატები

თუ ის წარმატებით მუშაობდა, თქვენ უნდა ნახოთ სკანირების ქვეშ გაკეთებული მონაცემების მთელი სია. ერთადერთი რაც ჩვენ გვჭირდება არის კოდი მოთხოვნის URL- ის ქვეშ, ასე რომ ჩვენ გვჭირდება გრძედი და გრძედი. ეს არის კოორდინატები.

მოთხოვნილი URL:

დაკავშირებულია

გრძედი = 52.385259

განედი = 5.196099

სიზუსტე = 41.00

კავშირის დახურვა

5 წამის შემდეგ კოდი მუდმივად განახლდება და თქვენ ალბათ დაინახავთ გრძედის, გრძედის და სიზუსტის ცვლილებას. ეს იმიტომ ხდება, რომ API ცდილობს მაქსიმალურად ზუსტად აკონტროლოს ადგილმდებარეობა.

ნაბიჯი 9: გადადით Google Maps– ში

გადადით Google Maps– ში
გადადით Google Maps– ში

გადადით https://www.google.com/maps/ და ჩაწერეთ თქვენი კოორდინატები საძიებო ზოლში. კოორდინატები უნდა დაიწეროს შემდეგნაირად: 52.385259, 5.196099. Google Maps- მა უნდა აჩვენოს სად მდებარეობს რუკაზე.

ნაბიჯი 10: გაგზავნეთ ადგილმდებარეობა თქვენს მობილურზე

გაგზავნეთ ადგილმდებარეობა თქვენს მობილურზე
გაგზავნეთ ადგილმდებარეობა თქვენს მობილურზე

და … თქვენ დაასრულეთ! ამიტომ, თუ გსურთ გაგზავნოთ ადგილმდებარეობა თქვენს მობილურზე, ეს შესაძლებელია. თუ გსურთ, Google Maps გამოგიგზავნით ელ.წერილს თქვენი კოორდინატებით.

ბედნიერი ადგილმდებარეობა!

გირჩევთ: