Агуулгын хүснэгт:
- Алхам 1: эд анги ба багаж
- Алхам 2: Google API хайх
- Алхам 3: Arduino IDE дээр NodeMCu -г тохируулна уу
- Алхам 4: ArduinoJson номын санг татаж авах
- Алхам 5: Хөтөлбөр
Видео: GEOLOACATION: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэ бол миний зуны дадлага хийх төсөл юм. Зөвхөн NodeMCU ашиглан GPS модулийг ашиглахгүйгээр ямар ч төхөөрөмжийн байршлыг хянах боломжтой гэдгийг сонсоод би үнэхээр гайхаж байна. Үүгээр дамжуулан бид ямар ч төхөөрөмжийг хянах боломжтой болно. Та зөвхөн WiFi ашиглан төхөөрөмжийг хэрхэн яаж мөшгөхийг та гайхаж байна. Үүнийг ойлгохын тулд ангилах тайлбарыг энд оруулав.
- · Энэ нь бараг бүх WiFi сүлжээгээ сканнердах болно.
- · Энэ төхөөрөмжийн байршлыг Google API ашиглан Google рүү илгээнэ үү
- · Үүний дагуу энэ нь таны төхөөрөмжийн байршлыг олох болно
- · Танд энэхүү төслийн хүчирхэг сүлжээний холболт бий.
Алхам 1: эд анги ба багаж
Эд анги
- NodeMCU (ESP8266 1.0 12E)
- USB кабель
Багаж хэрэгсэл
NodeMcu 1.0 12E самбар бүхий Arduino IDE
Google API
Алхам 2: Google API хайх
- Хөтөчөө нээгээд: console.developer.google.com гэж бичнэ үү
- Шинэ төсөл бий болгох
- Шинэ төсөл үүсгэсний дараа итгэмжлэл дээр дарна уу
- API түлхүүр дээр дарна уу
-
Таны API түлхүүрийг үүсгэсэн
Ойлгохын тулд дараах зургийг үзнэ үү
Алхам 3: Arduino IDE дээр NodeMCu -г тохируулна уу
- Дараах линкээс Arduino IDE татаж авах:- https:// www. Үндсэн/Програм хангамж arduino.cc/en/
- Arduino IDE дээр Node MCu самбарыг нэмнэ үү
-
NodeMCU дээр код байршуулахын тулд та ARDUINO IDE дээр NodeMCu самбарыг нэмэх хэрэгтэй.
- Arduino IDE дээрх файл ба тохиргоо руу очно уу
- Нэмэлт зөвлөлийн менежерийн хэсэгт дараах линкийг хуулна уу
- arduino.esp8266.com/stable/package_esp8266c…
- мөн Ok дарна уу
- Самбарыг татаж авсан болно
- Багаж хэрэгсэл, самбар дээр очиж NodeMCU 1.0 12E -ийг сонгоно уу
- Ойлгохын тулд avobe зургийг үзнэ үү
Алхам 4: ArduinoJson номын санг татаж авах
- Руу очих
Ноорог номын сангийн номын санг удирдах
Хайлтын талбарт Arduino Json гэж бичнэ үү
ArduinoJson номын сангийн хамгийн сүүлийн хувилбарыг татаж авах
Номын санг татаж авсны дараа хаах товчийг дарна уу
Номын сангаас нэмэх
Номын сангийн ArduinoJson -ийн тойм зураг
Алхам 5: Хөтөлбөр
Дараах програмыг NodeMCU самбар дээр байршуулна уу. Цуваа дэлгэц дээрх төхөөрөмжийнхөө байршлыг (NodeMCU 1.0 12E) харах боломжтой.
#оруулах
#оруулах
#оруулах
char myssid = "Таны SSID"; // таны сүлжээний SSID (нэр)
char mypass = "Таны нууц үг"; // таны сүлжээний нууц үг
// Google GeoLocation API -ийн итгэмжлэлүүд …
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Google газрын зургийн апп түлхүүрийг эндээс аваарай.
developers.google.com/maps/documentation/geolocation/intro
String key = "Таны Google API түлхүүр"; // 2 -р алхамаас олоорой
Зааварчилгаа
int төлөв = WL_IDLE_STATUS;
String jsonString = "{ n";
давхар өргөрөг = 0.0;
давхар уртраг = 0.0;
давхар нарийвчлал = 0.0;
int more_text = 1; // илүү дибаг хийх гарцыг 1 болгож тохируулна уу
хүчингүй тохиргоо () {
Цуваа эхлэх (9600);
Serial.println ("Эхлэх");
// WiFi -ийг станцын горимд тохируулах ба
хэрэв өмнө нь холбогдсон бол AP -ээс салгах
WiFi горим (WIFI_STA);
WiFi.disconnect ();
саатал (100);
Serial.println ( Тохиргоо
хийсэн );
// Бид а руу холбосноор эхэлнэ
WiFi сүлжээ
Serial.print ( Холбогдож байна
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
байхад (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 ("scandone");
хэрэв (n == 0)
Serial.println ("сүлжээ олдсонгүй");
өөр
{
Цуваа.хэвлэх (n);
Serial.println ("сүлжээ олсон …");
if (more_text) {
// Форматлагдсан json хэвлэх …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // энэ бол Их Британийн жинхэнэ MCC юм
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // мөн жинхэнэ UK MNC
Serial.println ("\" radioType / ": \" gsm / ","); // gsm -ийн хувьд
Serial.println ("\" оператор / ": \" Vodafone / ","); // 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));
хэрэв (би <n - 1)
{
Serial.println ("},");
}
өөр
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// одоо jsonString -ийг бүтээнэ үү …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // энэ бол Их Британийн жинхэнэ MCC юм
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // мөн жинхэнэ UK MNC
jsonString += "\" radioType / ": \" 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 газрын зургийн Api түлхүүрийг эндээс аваарай, холбоос:
Serial.println ("https://" + (String) Host + thisPage + "POG-YOUR-GOOGLE-MAPS-API-KEY-EER");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Холбогдсон");
client.println ("POST" + thisPage + key + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println ("Холболт: хаах");
client.println ("Агуулгын төрөл: application/json");
client.println ("Хэрэглэгч-Агент: Arduino/1.0");
client.print ("Агуулга-Урт:");
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
саатал (500);
}
// Бүх мөрүүдийг уншаад задлан шинжилнэ үү
серверээс ирсэн хариу
while (client.available ()) {
String мөр = client.readStringUntil ('\ r');
if (more_text) {
Цуваа.хэвлэх (мөр);
}
JsonObject & root = jsonBuffer.parseObject (мөр);
if (root.success ()) {
өргөрөг = үндэс ["байршил"] ["лат"];
уртраг = үндэс ["байршил"] ["lng"];
нарийвчлал = root ["нарийвчлал"];
}
}
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);
}
Зөвлөмж болгож буй:
Ухаалаг мотоциклийн HUD прототип (алхам алхмаар навигаци хийх гэх мэт): 9 алхам
Ухаалаг мотоциклийн HUD прототип (ээлжлэн навигаци хийх гэх мэт): Сайн байна уу! Энэхүү зааварчилгаа нь миний мотоциклийн дуулга дээр суурилуулах зориулалттай HUD (Heads-Up Display) платформыг хэрхэн бүтээж, бүтээсэн тухай түүх юм. Үүнийг " газрын зураг " уралдааны хүрээнд бичсэн болно. Харамсалтай нь би үүнийг бүрэн дуусгаж чадаагүй
Arduino машины урвуу зогсоолын дохиоллын систем - Алхам алхамаар: 4 алхам
Arduino машины урвуу зогсоолын дохиоллын систем | Алхам алхамаар: Энэ төсөлд би Arduino UNO болон HC-SR04 хэт авианы мэдрэгч ашиглан Arduino автомашины урвуу зогсоолын мэдрэгчийн энгийн хэлхээг зохион бүтээнэ. Энэхүү Arduino дээр суурилсан Автомашины Урвуу дохиоллын системийг бие даасан навигаци, роботын хүрээ болон бусад хүрээний зориулалтаар ашиглаж болно
Алхам алхамаар PC -ийн барилга: 9 алхам
Алхам алхамаар PC барилга: хангамж: хангамж: техник хангамж: MotherboardCPU & CPU хөргөгч PSU (Цахилгаан хангамжийн хэсэг) Хадгалалт (HDD/SSD) RAMGPU (шаардлагагүй) Кейс Хэрэгсэл: Халив ESD бугуйвч/матстермал оо
Arduino Uno ашиглан акустик левитаци Алхам алхам (8 алхам): 8 алхам
Arduino Uno-тай акустик Levitation Алхам алхамаар (8 алхам): хэт авианы дууны дамжуулагч L298N Dc эмэгтэй адаптерийн эрэгтэй тэжээлийн тэжээлийн хангамж Arduino UNOBreadboard Энэ нь хэрхэн ажилладаг вэ: Нэгдүгээрт, та кодыг Arduino Uno-д байршуулдаг (энэ нь дижитал төхөөрөмжөөр тоноглогдсон микроконтроллер юм. кодыг хөрвүүлэх аналог портууд (C ++)
DIY Arduino робот гар, Алхам алхам: 9 алхам
DIY Arduino робот гар, алхам алхмаар: Эдгээр заавар нь танд робот гарыг хэрхэн яаж хийхийг зааж өгөх болно