Სარჩევი:
- ნაბიჯი 1: ნაწილები და ინსტრუმენტი
- ნაბიჯი 2: იპოვეთ Google API
- ნაბიჯი 3: დააინსტალირეთ NodeMCu Arduino IDE– ზე
- ნაბიჯი 4: ჩამოტვირთეთ ArduinoJson ბიბლიოთეკა
- ნაბიჯი 5: პროგრამა
ვიდეო: გეოლოკაცია: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ეს არის ჩემი საზაფხულო სტაჟირების პროექტი. მე ნამდვილად მიკვირს, როდესაც მესმის, რომ ჩვენ შეგვიძლია მოვძებნოთ ნებისმიერი მოწყობილობის ადგილმდებარეობა GPS მოდულის გამოყენების გარეშე მხოლოდ NodeMCU– ს გამოყენებით. ამის საშუალებით ჩვენ შეგვიძლია მივაკვლიოთ ნებისმიერ მოწყობილობას.თქვენ ასევე გაგიკვირდებათ როგორ შეგვიძლია მოწყობილობის კვალი მხოლოდ WiFi- ს გამოყენებით. აქ არის სახის აღწერილობა მის გასაგებად.
- · ეს არის თქვენი თითქმის ყველა WiFi სკანირება.
- · ამ მოწყობილობის მდებარეობის გაგზავნა Google- ში Google API გამოყენებით
- · ამის თანახმად, იპოვეთ თქვენი მოწყობილობის ადგილმდებარეობა
- · თქვენ გაქვთ ძლიერი ქსელური კავშირი ამ პროექტისთვის.
ნაბიჯი 1: ნაწილები და ინსტრუმენტი
ნაწილები
- NodeMCU (ESP8266 1.0 12E)
- USB კაბელი
ინსტრუმენტები
Arduino IDE NodeMcu 1.0 12E დაფით
Google API
ნაბიჯი 2: იპოვეთ Google API
- გახსენით თქვენი ბრაუზერი და ჩაწერეთ: console.developer.google.com
- შექმენით ახალი პროექტი
- ახალი პროექტის შექმნის შემდეგ დააჭირეთ რწმუნებათა სიგელს
- დააჭირეთ API ღილაკს
-
თქვენი API გასაღები გენერირებულია
ადვილად გასაგებად იხილეთ შემდეგი სურათი |>
ნაბიჯი 3: დააინსტალირეთ NodeMCu Arduino IDE– ზე
- ჩამოტვირთეთ Arduino IDE შემდეგი ბმულიდან:- https:// www. მთავარი/პროგრამული უზრუნველყოფა arduino.cc/en/
- დაამატეთ Node MCu დაფა Arduino IDE– ზე
-
NodeMCU– ზე კოდის ასატვირთად თქვენ უნდა დაამატოთ NodeMCu დაფა ARDUINO IDE– ზე.
- გადადით ფაილზე და პარამეტრებზე Arduino IDE– ში
- და დამატებითი საბჭოს მენეჯმენტის განყოფილებაში დააკოპირეთ შემდეგი ბმული
- arduino.esp8266.com/stable/package_esp8266c…
- და დააწკაპუნეთ Ok
- დაფა გადმოწერილია
- გადადით ინსტრუმენტებსა და დაფაზე და აირჩიეთ NodeMCU 1.0 12E
- იხილეთ ავობეს სურათი ადვილად გასაგები
ნაბიჯი 4: ჩამოტვირთეთ ArduinoJson ბიბლიოთეკა
- გადადით
ესკიზი მოიცავს ბიბლიოთეკას მართვა ბიბლიოთეკა
ჩაწერეთ Arduino Json საძიებო ველში
ჩამოტვირთეთ ArduinoJson ბიბლიოთეკის უახლესი ვერსია
ბიბლიოთეკის გადმოტვირთვის შემდეგ დააჭირეთ დახურვას
ბიბლიოთეკის დამატება აქედან
ესკიზი მოიცავს ბიბლიოთეკასარდინო ჯსონი
ნაბიჯი 5: პროგრამა
ატვირთეთ შემდეგი პროგრამა NodeMCU დაფაზე. და ნახეთ თქვენი მოწყობილობის (NodeMCU 1.0 12E დაფა) მდებარეობა სერიულ მონიტორზე.
#ჩართეთ
#ჩართეთ
#ჩართეთ
char myssid = "შენი SSID"; // თქვენი ქსელის SSID (სახელი)
char mypass = "შენი პაროლი"; // თქვენი ქსელის პაროლი
// რწმუნებათა სიგელები Google GeoLocation API– სთვის…
const char* მასპინძელი = "www.googleapis.com";
სიმებიანი thisPage = "/geolocation/v1/geolocate? Key =";
// --- მიიღეთ google maps ap გასაღები აქ:
developers.google.com/maps/documentation/geolocation/intro
სიმებიანი გასაღები = "თქვენი Google API გასაღები"; // იპოვეთ ნაბიჯი 2 -დან
ინსტრუქცია
int სტატუსი = WL_IDLE_STATUS;
სიმებიანი jsonString = "{ n";
ორმაგი გრძედი = 0.0;
ორმაგი გრძედი = 0.0;
ორმაგი სიზუსტე = 0.0;
int more_text = 1; // დააყენეთ 1 -ზე მეტი გამართვის გამომუშავებისთვის
void setup () {
სერიული.დაწყება (9600);
Serial.println ("დაწყება");
// დააყენეთ WiFi სადგურის რეჟიმში და
გათიშეთ AP– დან, თუ ის ადრე იყო დაკავშირებული
WiFi.mode (WIFI_STA);
WiFi. გათიშვა ();
დაგვიანება (100);
Serial.println ( დაყენება
შესრულებულია );
// ვიწყებთ a– სთან დაკავშირებით
WiFi ქსელი
Serial.print ( დაკავშირება
);
Serial.println (myssid);
WiFi. დასაწყისი (myssid, mypass);
ხოლო (WiFi.status ()! = WL_CONNECTED) {
დაგვიანება (500);
Serial.print (".");
}
Serial.println (".");
}
ბათილი მარყუჟი () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("სკანირების დაწყება");
// WiFi.scanNetworks დაბრუნდება
ნაპოვნი ქსელების რაოდენობა
int n = WiFi.scanNetworks ();
Serial.println ("სკანდონი");
თუ (n == 0)
Serial.println ("ქსელები ვერ მოიძებნა");
სხვა
{
სერიული. ბეჭდვა (n);
Serial.println ("ქსელები აღმოაჩინეს …");
თუ (მეტი_ტექსტი) {
// დაბეჭდე ფორმატირებული json…
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // ეს არის ნამდვილი გაერთიანებული სამეფოს MCC
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // და ნამდვილი გაერთიანებული სამეფოს MNC
Serial.println ("\" რადიოტიპი / ": \" gsm / ","); // gsm– ისთვის
Serial.println ("\" გადამზიდავი / ": \" ვოდაფონი / ","); // ასოცირდება Vodafone– თან
Serial.println ("\" cellTowers / ": ["); // მე არ ვაცნობებ საკნის კოშკებს
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
for (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));
თუ (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 += "\" რადიოტიპი / ": \" gsm / ", / n"; // gsm– ისთვის
jsonString += "\" გადამზიდავი / ": \" Vodafone / ", / n"; // ასოცირდება Vodafone– თან
jsonString += "\" wifiAccessPoints / ": [n";
for (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 Key აქ, ბმული:
Serial.println ("https://" + (სიმებიანი) მასპინძელი + ეს გვერდი + "განათავსე-შენი-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (მასპინძელი, 443)) {
Serial.println ("დაკავშირებულია");
client.println ("POST" + thisPage + key + "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 (ხაზი);
თუ (root.success ()) {
გრძედი = ფესვი ["მდებარეობა"] ["ლათ"];
გრძედი = ფესვი ["მდებარეობა"] ["lng"];
სიზუსტე = ფესვი ["სიზუსტე"];
}
}
Serial.println ("კავშირის დახურვა");
Serial.println ();
client.stop ();
Serial.print ("გრძედი =");
Serial.println (გრძედი, 6);
Serial.print ("განედი =");
Serial.println (გრძედი, 6);
Serial.print ("სიზუსტე =");
Serial.println (სიზუსტე);
დაგვიანება (10000);
Serial.println ();
Serial.println ("გადატვირთვა …");
Serial.println ();
დაგვიანება (2000);
}
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: 3 ნაბიჯი
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: შემდეგი სახელმძღვანელო დაგეხმარებათ მიიღოთ პირდაპირი HD ხარისხის ვიდეო ნაკადები თითქმის ნებისმიერი DJI თვითმფრინავისგან. FlytOS მობილური აპლიკაციისა და FlytNow ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან