Mục lục:
- Bước 1: Bạn cần gì
- Bước 2: Đi tới Phòng thí nghiệm không có dây
- Bước 3: Đăng ký để nhận mã thông báo API
- Bước 4: Kiểm tra Email của bạn
- Bước 5: Các thư viện bạn sẽ cần
- Bước 6: Thêm mã trong Arduino để kết nối với LocationAPI
- Bước 7: Mở Serial Monitor để xem bạn đã kết nối chưa
- Bước 8: Lấy tọa độ
- Bước 9: Truy cập Google Maps
- Bước 10: Gửi vị trí đến điện thoại di động của bạn
Video: Theo dõi vị trí với NodeMCU ESP8266: 10 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Bạn có tò mò về cách NodeMCU có thể theo dõi vị trí của bạn không? Nó có thể, ngay cả khi không có mô-đun GPS và không có màn hình. Đầu ra sẽ là tọa độ nơi bạn đang ở và bạn sẽ thấy chúng trong màn hình nối tiếp của mình.
Thiết lập sau được sử dụng cho NodeMCU 1.0 (Mô-đun ESP-12E) với Arduino IDE.
- Windows 10
- Arduino IDE v. 1.8.4
Bước 1: Bạn cần gì
Những gì bạn cần để làm theo hướng dẫn này là các thành phần sau:
- Cáp micro USB
- NodeMCU ESP8266
Hơn nữa, bạn sẽ cần:
- LocationAPI (từ Unwired Labs)
- Kết nối với Wi-Fi hoặc điểm phát sóng
Bước 2: Đi tới Phòng thí nghiệm không có dây
Định vị địa lý rất tiện dụng vì khi GPS của bạn bị hỏng, bạn vẫn có thể sử dụng Định vị địa lý để theo dõi vị trí của mình. Máy chủ cung cấp vị trí địa lý của chúng tôi sẽ là https://www.unwiredlabs.com/. Truy cập trang web đó và đăng ký (nút màu cam ở góc trên bên phải).
Bước 3: Đăng ký để nhận mã thông báo API
Trên trang đăng ký, bạn phải điền tên, email (mã thông báo API của bạn sẽ được gửi đến email của bạn) và trường hợp sử dụng (ví dụ: sử dụng cá nhân). Chọn loại tài khoản của bạn. Phiên bản miễn phí sẽ hoạt động tốt, nhưng hãy nhớ rằng bạn bị giới hạn và không thể theo dõi vị trí của bạn 24/7. Bắt đầu nào!
Bước 4: Kiểm tra Email của bạn
Truy cập email của bạn và bạn sẽ thấy mã thông báo API của mình. Sao chép mã thông báo API, vì bạn cần mã đó cho mã mà chúng tôi sẽ sử dụng. Đây là cách email trông như thế này:
Xin chào!
Cảm ơn bạn đã đăng ký với LocationAPI trong Unwired Labs! Mã thông báo API của bạn là 'mã API của bạn ở đây' (không có dấu ngoặc kép). Điều này sẽ cung cấp 100 yêu cầu / ngày miễn phí - mãi mãi.
Nếu bạn muốn theo dõi 5 thiết bị miễn phí, vui lòng trả lời kèm theo các chi tiết sau và chúng tôi sẽ nâng cấp tài khoản của bạn trong vòng 12 giờ:
1. Loại triển khai (Phần cứng / Ứng dụng / Khác):
2. Về dự án của bạn:
3. Trang web:
Bạn có thể đăng nhập vào trang tổng quan của mình tại đây: https://unwiredlabs.com/dashboard. Nếu bạn gặp sự cố hoặc có câu hỏi, hãy trả lời email này và tôi sẽ giúp bạn!
Định vị hạnh phúc!
Sagar
Labs không sử dụng
Bước 5: Các thư viện bạn sẽ cần
Bước tiếp theo là mở Arduino và đi đến quản lý thư viện. Bạn cần cài đặt thư viện ArduinoJson. Các thư viện khác đã được tích hợp sẵn. Khi đã sẵn sàng, bạn có thể bắt đầu viết mã.
Bước 6: Thêm mã trong Arduino để kết nối với LocationAPI
Tạo một bản phác thảo mới và thêm đoạn mã sau vào Arduino. Viết tên wifi / điểm phát sóng và mật khẩu của bạn. Dán mã thông báo API bạn nhận được vào email. Tải mã của bạn lên NodeMCU của bạn.
#bao gồm
#bao gồm
#include "ESP8266WiFi.h"
// SSID mạng (tên) và mật khẩu mạng của bạn
char myssid = "Tên điểm phát sóng / wifi của bạn"; char mypass = "Mật khẩu của bạn";
// url điểm cuối tên máy chủ & vị trí địa lý unwiredlabs
const char * Host = "www.unwiredlabs.com"; String endpoint = "/v2/process.php";
// UnwiredLabs API_Token. Đăng ký tại đây để nhận mã thông báo miễn phí
Chuỗi mã thông báo = "d99cccda52ec0b";
Chuỗi jsonString = "{ n";
// Các biến để lưu trữ phản hồi unwiredlabs
vĩ độ kép = 0,0; kinh độ kép = 0,0; độ chính xác kép = 0,0;
void setup () {
Serial.begin (115200);
// Đặt WiFi thành chế độ trạm và ngắt kết nối khỏi AP nếu nó đã được kết nối trước đó
WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Đã thiết lập xong");
// Chúng tôi bắt đầu bằng cách kết nối với mạng WiFi
Serial.print ("Đang kết nối với"); Serial.println (myssid); WiFi.begin (myssid, mypass);
trong khi (WiFi.status ()! = WL_CONNECTED) {
chậm trễ (500); Serial.print ("."); } Serial.println ("."); }
void loop () {
char bssid [6]; DynamicJsonBuffer jsonBuffer;
// WiFi.scanNetworks sẽ trả về số lượng mạng được tìm thấy
int n = WiFi.scanNetworks (); Serial.println ("quét xong");
nếu (n == 0) {
Serial.println ("Không có mạng nào"); } else {Serial.print (n); Serial.println ("mạng tìm thấy"); }
// bây giờ xây dựng jsonString…
jsonString = "{ n"; jsonString + = "\" mã thông báo / ": \" "; jsonString + = mã thông báo; 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 + = "\" signal / ":"; jsonString + = WiFi. RSSI (j); jsonString + = "\ n"; if (j <n - 1) {jsonString + = "}, / n"; } else {jsonString + = "} n"; }} jsonString + = ("] n"); jsonString + = ("} n"); Serial.println (jsonString);
Máy khách WiFiClientSecure;
// Kết nối với máy khách và thực hiện cuộc gọi api
Serial.println ("URL yêu cầu: https://" + (Chuỗi) Máy chủ + điểm cuối); if (client.connect (Host, 443)) {Serial.println ("Đã kết nối"); client.println ("POST" + endpoint + "HTTP / 1.1"); client.println ("Máy chủ:" + (Chuỗi) Máy chủ); client.println ("Kết nối: đóng"); client.println ("Loại-Nội dung: ứng dụng / json"); client.println ("Tác nhân người dùng: Arduino / 1.0"); client.print ("Nội dung-Độ dài:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); chậm trễ (500); }
// Đọc và phân tích cú pháp tất cả các dòng trả lời từ máy chủ
while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (dòng); if (root.success ()) {latitude = root ["lat"]; longitude = root ["lon"]; độ chính xác = root ["độ chính xác"];
Serial.println ();
Serial.print ("Latitude ="); Serial.println (vĩ độ, 6); Serial.print ("Kinh độ ="); Serial.println (kinh độ, 6); Serial.print ("Độ chính xác ="); Serial.println (độ chính xác); }}
Serial.println ("đóng kết nối");
Serial.println (); client.stop ();
chậm trễ (5000);
}
Bước 7: Mở Serial Monitor để xem bạn đã kết nối chưa
Đi tới các công cụ trong Arduino và mở màn hình nối tiếp. Để xem bạn đã kết nối với Internet chưa, bạn sẽ thấy thông tin sau trong màn hình nối tiếp:
Thiết lập xong
Đang kết nối với (tên wifi của bạn)… quét xong
Bước 8: Lấy tọa độ
Nếu nó hoạt động thành công, bạn sẽ thấy trong quá trình quét toàn bộ danh sách dữ liệu. Điều duy nhất chúng tôi cần là mã dưới URL yêu cầu, vì vậy chúng tôi sẽ cần vĩ độ và kinh độ. Đây là các tọa độ.
URL yêu cầu:
Đã kết nối
Vĩ độ = 52.385259
Kinh độ = 5.196099
Độ chính xác = 41,00
đóng kết nối
Sau 5 giây, mã sẽ liên tục cập nhật và bạn có thể sẽ thấy vĩ độ, kinh độ và độ chính xác thay đổi. Đó là bởi vì API đang cố gắng theo dõi vị trí một cách chính xác nhất có thể.
Bước 9: Truy cập Google Maps
Truy cập https://www.google.com/maps/ và nhập tọa độ của bạn vào thanh tìm kiếm. Tọa độ cần ghi theo cách sau: 52.385259, 5.196099. Google Maps sẽ hiển thị vị trí của bạn trên bản đồ.
Bước 10: Gửi vị trí đến điện thoại di động của bạn
Và… Bạn đã hoàn thành! Do đó, nếu bạn muốn gửi vị trí đến điện thoại di động của mình, bạn hoàn toàn có thể. Google Maps sau đó sẽ gửi một email có tọa độ của bạn nếu bạn muốn.
Chúc bạn định vị vui vẻ!
Đề xuất:
Theo dõi & theo dõi các cửa hàng nhỏ: 9 bước (có hình ảnh)
Theo dõi & theo dõi cho các cửa hàng nhỏ: Đây là một hệ thống dành cho các cửa hàng nhỏ được cho là gắn vào xe đạp điện hoặc xe tay ga điện tử để giao hàng trong phạm vi ngắn, ví dụ như một tiệm bánh muốn giao bánh ngọt. Theo dõi và theo dõi nghĩa là gì? Theo dõi và theo dõi là một hệ thống được sử dụng bởi ca
Bộ dụng cụ theo dõi xe ô tô tự làm bằng rô bốt thông minh Theo dõi ô tô cảm quang: 7 bước
Tự làm bộ dụng cụ theo dõi rô bốt thông minh theo dõi ô tô Theo dõi ô tô cảm quang: Thiết kế bởi SINONING ROBOT Bạn có thể mua từ rô bốt theo dõi ô tô ChipLM393 so sánh hai điện trở quang, khi có một đèn LED cảm quang một bên TRẮNG thì bên của động cơ sẽ dừng ngay lập tức, bên kia của động cơ quay lên, để
Raspberry Pi - Mars Rover tự trị với tính năng theo dõi đối tượng OpenCV: 7 bước (có hình ảnh)
Raspberry Pi - Mars Rover tự trị với tính năng theo dõi đối tượng OpenCV: Được hỗ trợ bởi Raspberry Pi 3, nhận dạng đối tượng Open CV, cảm biến siêu âm và động cơ DC có hộp số. Rover này có thể theo dõi bất kỳ đối tượng nào mà nó được huấn luyện và di chuyển trên mọi địa hình
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 - Theo dõi nhiệt độ độ ẩm & chỉ số nhiệt trên M5stick-C với DHT11: 6 bước
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 | Theo dõi nhiệt độ độ ẩm và chỉ số nhiệt trên M5stick-C Với DHT11: Xin chào các bạn, trong phần hướng dẫn này, chúng ta sẽ học cách giao tiếp cảm biến nhiệt độ DHT11 với m5stick-C (một bảng phát triển của m5stack) và hiển thị nó trên màn hình của m5stick-C. Vì vậy, trong hướng dẫn này, chúng ta sẽ đọc nhiệt độ, độ ẩm & nhiệt tôi
Hệ thống theo dõi xe đạp với cảnh báo người chết với Sigfox: 7 bước (có hình ảnh)
Hệ thống theo dõi xe đạp với cảnh báo người chết với Sigfox: Hệ thống an ninh cho người đi xe đạp với các tính năng theo dõi và gửi cảnh báo. Trong trường hợp xảy ra tai nạn, một cảnh báo sẽ được gửi kèm theo vị trí GPS. Đảm bảo an toàn cho người đi xe đạp là điều bắt buộc, khi xảy ra tai nạn xe đạp đường bộ hoặc xe đạp leo núi và cấp cứu càng sớm càng tốt cho mỗi