สารบัญ:
วีดีโอ: ตัวติดตาม GPS: 6 ขั้นตอน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สวัสดีทุกคนในวิดีโอนี้ เราจะสร้างตัวติดตาม GPS โดยใช้ Esp 8266 (nodemcu) และโมดูล GPS neo 6m มาเริ่มกันเลย
เสบียง:
NodemcuJumpersโมดูล GPS Neo 6mPower bank
ขั้นตอนที่ 1: การเดินสายไฟ
เชื่อมต่อพิน RX ของโมดูล GPS กับพิน D1 ของบอร์ด nodemcu พิน TX ของโมดูล GPS เข้ากับพิน D2 ของพิน nodemcuVcc ถึง 3.3voltsGnd พินไปยัง Gnd
ขั้นตอนที่ 2: Blynk Iot App
ติดตั้งแอป blynk https://play.google.com/store/apps/details?id=cc.blynk&hl=en_USเพิ่มค่า 2 ที่ติดป้ายกำกับแล้วตั้งชื่อค่า 1 เป็น Latitude แล้วเลือกพิน v1และตั้งชื่อค่าที่สองเป็นลองจิจูดและ เลือกพิน v2และตอนนี้เพิ่มการแสดงค่า 3 ค่าและตั้งชื่ออันแรกเป็นดาวเทียมและเลือกพิน v4และตอนนี้ตั้งชื่ออันที่สองเป็นความเร็วและเลือกพิน v3และตอนนี้ตั้งชื่ออันที่ 3 เป็น Direction และเลือกพิน v5 แล้วตอนนี้เพิ่มแผนที่และเลือกพิน v0และตอนนี้เลือกกดไปที่ 1 วินาทีในทุกวิดเจ็ตแล้วสร้างมันขึ้นมา
ขั้นตอนที่ 3: รหัส
โทเค็นการตรวจสอบความถูกต้องจะถูกส่งไปยังบัญชีอีเมลของคุณ คัดลอกโทเค็นและวางลงในโค้ด แล้วแก้ไขและป้อน WiFi ssid และรหัสผ่านไปยังโค้ดแล้วอัปโหลด !!รหัสคือ//Realtime GPS Tracker พร้อม Nodemcu ESP8266#include #include #define BLYNK_PRINT Serial#include #include คงที่ const int RXPin = 4, TXPin = 5; // GPIO 4=D2(เชื่อมต่อ Tx ของ GPS) และ GPIO 5=D1(เชื่อมต่อ Rx ของ GPSstatic const uint32_t GPSBaud = 9600; // ถ้าอัตรารับส่งข้อมูล 9600 ไม่ทำงานในกรณีของคุณ ให้ใช้ 4800TinyGPSPlus gps; // TinyGPS++ objectWidgetMap myMap(V0); // V0 สำหรับพินเสมือนของ Map WidgetSoftwareSerial ss (RXPin, TXPin); // การเชื่อมต่อแบบอนุกรมกับอุปกรณ์ GPS ตัวจับเวลา BlynkTimer;float spd; // ตัวแปรสำหรับจัดเก็บ speedfloat sats; // ตัวแปรสำหรับจัดเก็บ จำนวนการตอบสนองของดาวเทียมString bearing; //ตัวแปรเพื่อจัดเก็บการวางแนวหรือทิศทางของ GPSchar auth = "--------------------"; // your Project authentication keychar ssid = "-------"; // ชื่อเครือข่ายของคุณ (ชื่อ HotSpot หรือเราเตอร์) char pass = "-------"; // รหัสผ่านที่สอดคล้องกัน// int move_index ที่ไม่ได้ลงชื่อ; // ดัชนีการเคลื่อนที่ ที่จะใช้ภายหลัง unsigned int move_index = 1; // ตำแหน่งคงที่สำหรับการตั้งค่า nowvoid (){ Serial.begin(115200); Serial.println(); ss.begin(GPSBaud); Blynk.begin(auth, ssid, pass); timer.setInterval(5000L, checkGPS); // ทุกๆ 5 วินาที ตรวจสอบว่า GPS เชื่อมต่ออยู่หรือไม่ ต้องทำเพียงครั้งเดียวจริงๆ } เป็นโมฆะ checkGPS(){ if (gps.charsProcessed() < 10) { Serial.println(F("ไม่พบ GPS: ตรวจสอบการเดินสาย")); Blynk.virtualWrite (V4, "ข้อผิดพลาดของ GPS"); // วิดเจ็ตแสดงค่าบน V4 หากตรวจไม่พบ GPS }}void loop(){ while (ss.available()> 0) { // sketch แสดงข้อมูลทุกครั้งที่เข้ารหัสประโยคใหม่อย่างถูกต้อง ถ้า (gps.encode(ss.read())) displayInfo(); } Blynk.run(); timer.run ();} เป็นโมฆะ displayInfo () { if (gps.location.isValid ()) { float latitude = (gps.location.lat ()); //กำลังเก็บ Lat. และลอน ลองจิจูดลอย = (gps.location.lng()); Serial.print("LAT: "); Serial.println (ละติจูด, 6); // ลอยเป็นทศนิยม x ตำแหน่ง Serial.print("LONG: "); Serial.println(ลองจิจูด, 6); Blynk.virtualWrite (V1, สตริง (ละติจูด, 6)); Blynk.virtualWrite (V2, สตริง (ลองจิจูด, 6)); myMap.location(move_index, ละติจูด, ลองจิจูด, "GPS_Location"); spd = gps.speed.kmph(); // รับความเร็ว Blynk.virtualWrite (V3, spd); sats = gps.satellites.value (); //รับจำนวนดาวเทียม Blynk.virtualWrite(V4, sats); แบริ่ง = TinyGPSPlus::cardinal(gps.course.value()); // รับทิศทาง Blynk.virtualWrite(V5, แบริ่ง); } Serial.println();}
ขั้นตอนที่ 4: การนำเสนอ
นำกล่องเปล่าใส่ทั้งระบบเข้าไปแล้วเชื่อมต่อพาวเวอร์แบงค์กับบอร์ด Nodemcu
ขั้นตอนที่ 5:
ทุกอย่างเสร็จเรียบร้อย !!