Мазмұны:
- 1 -қадам: Бөлшектер мен құрал
- 2 -қадам: Google API табыңыз
- 3 -қадам: Arduino IDE -де NodeMCu орнатыңыз
- 4 -қадам: ArduinoJson кітапханасын жүктеңіз
- 5 -қадам: Бағдарлама
Бейне: ГЕОЛОАКАЦИЯ: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл менің жазғы тағылымдама жобасы. 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 табыңыз
- Браузерді ашыңыз және теріңіз: console.developer.google.com
- Жаңа жоба жасаңыз
- Жаңа жоба жасағаннан кейін тіркелгі деректерін нұқыңыз
- API кілтін басыңыз
-
Сіздің API кілтіңіз жасалды
Оңай түсіну үшін келесі суретті қараңыз |>
3 -қадам: 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 кітапханасын жүктеңіз
- Барыңыз
Эскиз кітапхананы қамтиды Кітапхананы басқару
Іздеу жолағына 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);
}
Ұсынылған:
Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Arduino басқарылатын роботты екіжақты: Мен әрқашан роботтарға қызығатынмын, әсіресе адамның іс -әрекетіне еліктеуге тырысатын. Бұл қызығушылық мені жаяу жүруге және жүгіруге еліктей алатын екіжақты робот құрастыруға және дамытуға талпындырды. Бұл нұсқаулықта мен сізге көрсетемін
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Түймені іске қосатын қадам реттегіші: 4 қадам
Түймені іске қосатын қадам реттегіші:
Тікелей 4G/5G HD бейне ағыны DJI Drone -ден төмен кідірісте [3 қадам]: 3 қадам
Тікелей 4G/5G HD бейне ағыны DJI Drone-ден төмен кідірісте [3 қадам]: Келесі нұсқаулық кез-келген DJI дронынан HD сапалы бейне ағындарын алуға көмектеседі. FlytOS мобильді қосымшасы мен FlytNow веб -қосымшасының көмегімен сіз дроннан бейне ағынды бастай аласыз
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): 6 қадам (суреттермен)
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): Индуктивті зарядтау (сымсыз зарядтау немесе сымсыз зарядтау деп те аталады) - сымсыз қуат беру түрі. Ол портативті құрылғыларды электрмен қамтамасыз ету үшін электромагниттік индукцияны қолданады. Ең көп таралған қолданба - Qi сымсыз зарядтау