دسته محصول : سورس , مقالات
دریافت

با استفاده از ماژول esp8266  و سرویس موقعیت یابی آنلاین گوگل می توانید بدون بدون نیاز به ماژول GPS مختصات طول و عرض جغرافیایی ماژول را که به اینترنت متصل است بدست آورید.

برای این کار نیاز به کتابخانه ESPWifiLocation-master  برای آردوینو و کلید API گوگل دارید.

برای دریافت GOOGLE API KEY پس از اینکه وارد اکانت گوگل خود شدید، میتوانید از طریق این لینک اون رو برای خودتان بسازید.

مثال زیر مقادیر طول و عرض جغرافیایی را از سرویس گوگل گرفته و روی پورت سریال پرینت می کند.

[css]

#ifdef ARDUINO_ARCH_SAMD
#include <WiFi101.h>
#elif defined ARDUINO_ARCH_ESP8266
#include <ESP8266WiFi.h>
#elif defined ARDUINO_ARCH_ESP32
#include <WiFi.h>
#else
#error Wrong platform
#endif

#include <WifiLocation.h>

const char* googleApiKey = "YOUR_GOOGLE_API_KEY";
const char* ssid = "SSID";
const char* passwd = "PASSWD";

WifiLocation location(googleApiKey);

void setup() {
Serial.begin(115200);
// Connect to WPA/WPA2 network
#ifdef ARDUINO_ARCH_ESP32
WiFi.mode(WIFI_MODE_STA);
#endif
#ifdef ARDUINO_ARCH_ESP8266
WiFi.mode(WIFI_STA);
#endif
WiFi.begin(ssid, passwd);
while (WiFi.status() != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid);
// wait 5 seconds for connection:
Serial.print("Status = ");
Serial.println(WiFi.status());
delay(500);
}
location_t loc = location.getGeoFromWiFi();

Serial.println("Location request data");
Serial.println(location.getSurroundingWiFiJson());
Serial.println("Latitude: " + String(loc.lat, 7));
Serial.println("Longitude: " + String(loc.lon, 7));
Serial.println("Accuracy: " + String(loc.accuracy));

}

void loop() {

}

[/css]

 

ديدگاه شما چيست ؟