โปรเจกต์ PhoneLocator
เพียงแค่คลิกปุ่มเพื่อรับ geolocation ของโทรศัพท์คุณ
เพียงแค่คลิกปุ่มเพื่อรับ geolocation ของโทรศัพท์คุณ
คุณเคยลืมโทรศัพท์ไว้ที่บ้านเพื่อนไหม? คุณกังวลว่าจะมีคนไม่หวังดีหยิบโทรศัพท์ของคุณไปหรือเปล่า? ฉันแน่ใจว่าทุกคนเคยเจอปัญหาทำโทรศัพท์หายหรือลืมโทรศัพท์ทิ้งไว้ PhoneLocator มีเป้าหมายเพื่อระบุตำแหน่งโทรศัพท์ของคุณ (ตามชื่อโปรเจกต์) และส่งพิกัด geolocation ให้คุณทาง email เพื่อให้คุณสามารถตามหาอุปกรณ์ที่มีค่าของคุณกลับมาได้ ต้องขอบคุณ Blynk ที่ทำให้คุณทำทั้งหมดนี้ได้เพียงแค่กดปุ่มเดียว โปรดทราบว่าคุณจำเป็นต้องมีบัญชี Blynk เพื่อใช้งานโปรเจกต์นี้ โดยคู่มือการสร้างบัญชีจะอยู่ในส่วนการสร้างโปรเจกต์ด้านล่าง

โปรเจกต์นี้ทำงานอย่างเรียบง่ายมาก เมื่อใดก็ตามที่ผู้ใช้กดปุ่ม Arduino Yún จะอ่านค่า geolocation ของโทรศัพท์และส่ง email ให้กับผู้ใช้งาน และเพื่อให้โปรเจกต์ดูเป็นมืออาชีพยิ่งขึ้น คุณสามารถตั้งค่าให้ email ถูกส่งมาจากแอป Blynk บนโทรศัพท์ของคุณได้ (หลอกหัวขโมยที่ฉลาดๆ ได้) นี่คือรูปภาพประกอบการทำงานของโปรเจกต์นี้

รูปภาพนี้แสดงภาพรวมของ Code ในโปรเจกต์

การตอบสนองจาก Arduino จะได้รับภายในประมาณ 8 วินาทีหลังจากกดปุ่มหากระบุตำแหน่งโทรศัพท์ได้ โปรดทราบว่าโปรเจกต์นี้สามารถทำงานได้แม้โทรศัพท์จะอยู่ในโหมด sleeping หรือเปิดใช้งานอยู่ หากแอป Blynk ได้รับอนุญาตให้ทำงานใน background (แม้ว่าจะปิดแอปไปแล้วก็ตาม) ผู้ใช้ต้องแน่ใจว่าโปรเจกต์ Blynk บนโทรศัพท์ถูกเปิดใช้งานอยู่ สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ส่วนการสร้างโปรเจกต์
ผู้ใช้งานโปรเจกต์นี้จะได้รับประโยชน์ดังนี้:
ขั้นตอนที่ 1: อุปกรณ์ที่จำเป็น
มีอุปกรณ์สองสามอย่างที่จำเป็นในโปรเจกต์นี้
ขั้นตอนที่ 2: การเชื่อมต่อวงจร
โปรเจกต์ที่เรียบง่ายต้องการ Schematics ที่เรียบง่าย นี่คือรูปภาพแสดงการเชื่อมต่อวงจรของโปรเจกต์

ขั้นตอนที่ 3: ทำความเข้าใจกับ Code
Code ของโปรเจกต์นี้แบ่งออกเป็นสามส่วน ซึ่งแต่ละส่วนมีความเรียบง่าย
นี่คือรายละเอียดเชิงลึกของแต่ละฟังก์ชัน
BLYNK_WRITE(V0) // อ่านค่า virtual pin 0 สำหรับพิกัด
{
latitude = param[0].asDouble();
longitude = param[1].asDouble();
altitude = param[2].asDouble();
speed = param[3].asDouble();
}
Blynk จะเก็บค่า Variables ไว้ใน Virtual Pins ฟังก์ชัน BLYNK_WRITE(V0) จะอ่านค่าจาก Virtual Pin 0 และเก็บค่าไว้ใน Variable แยกกัน คือ latitude และ longitude ซึ่งจะถูกนำมาใช้ในโปรเจกต์นี้ ตรวจสอบให้แน่ใจว่าโปรเจกต์ Blynk ถูกตั้งค่าอย่างถูกต้องก่อนจะทำการอัปโหลด Code ดูคำแนะนำด้านล่าง
if(latitude != 0.00 && longitude != 0.00) // ถ้าพิกัดถูกต้อง
{
// String toSend คือข้อความที่จะถูกส่งเป็นเนื้อหาใน email
String toSend = "Phone Located! \
received co-ordinates \
LAT ";
toSend += latitude; // เพิ่มค่า variables ลงใน string
toSend += " LNG ";
toSend += longitude;
toSend += ". View location on Maps: ";
toSend += "www.google.com/maps/?q=";
toSend += latitude;
toSend += ",";
toSend += longitude;
delay(500);
}
email สามารถส่งได้เฉพาะในรูปแบบ String เท่านั้น ดังนั้นเนื้อหาหลักจึงต้องเป็น String โค้ดส่วนนี้จะทำงานหากพิกัดที่ได้รับมามีความน่าเชื่อถือ ข้อมูลหลายอย่างจะถูกเพิ่มเข้าไปใน String รวมถึง Latitude และ Longitude ของโทรศัพท์ และลิงก์ Google Maps เพื่อดูตำแหน่งบนแผนที่
Arduino จะตรวจสอบเสมอว่าพิกัดที่ได้รับมานั้นมีอยู่จริง (ไม่ใช่ 0) ก่อนส่ง email โดย Arduino จะร้องขอตำแหน่งของโทรศัพท์ไปเรื่อยๆ จนกว่าจะได้รับพิกัดที่ถูกต้อง โดยจะ Loop ฟังก์ชันนี้สูงสุด 10 ครั้ง
Blynk.email(userEmail, "PhoneLocator | Notification", toSend); // ส่ง email
if(proDebug == 1)
{
Serial.println("Success");
Serial.println("Email Sent");
Serial.println("Restarting Protocol");
Serial.println("");
}
นี่คือฟังก์ชันที่ Arduino จะทำการส่ง email โดยส่ง String เป็นเนื้อหาของ email สำหรับ proDebug คือเครื่องมือสำหรับ Debugging ซึ่งต้องตั้งค่าเป็น 0 ในโปรเจกต์เพื่อให้โปรเจกต์ทำงานได้โดยไม่ต้องเปิด Serial Monitor ค่าเริ่มต้นคือ 1 ซึ่งต้องเปิด Serial Monitor ไว้เพื่อให้โปรเจกต์ทำงาน
การตั้งค่า Variables
ตรวจสอบให้แน่ใจว่า Variables ทั้งหมดที่ทำเครื่องหมาย TODO ได้รับการแก้ไขแล้ว ซึ่งรวมถึง email ของคุณ, Blynk auth token ของคุณ และ proDebug คุณจะได้รับคำแนะนำในการรับ Blynk auth token ในลำดับถัดไป
Libraries
Bridge - Arduino LLC ไลบรารีนี้เป็น Public Domain
Blynk - Blynk ไลบรารีนี้เผยแพร่ภายใต้ MIT License (MIT)
การตั้งค่า Blynk
Blynk เป็นแอปง่ายๆ ที่ช่วยให้คุณสร้างผลิตภัณฑ์ IOT ได้อย่างสะดวกและง่ายดาย ในการเริ่มต้น ให้ดาวน์โหลด Blynk สำหรับ IOS หรือ Android.
ทำตามรูปภาพด้านล่างและข้อมูลประกอบเพื่อตั้งค่าบัญชี Blynk ของคุณ












Setup
ขั้นตอนสุดท้ายคือการเปลี่ยน TODO variables หากยังไม่ได้ทำ Variable ชื่อ auth จะต้องตั้งค่าเป็น Auth token ที่ได้รับทาง email ในขั้นตอนก่อนหน้า ตรวจสอบให้แน่ใจว่า Variables ที่ทำเครื่องหมาย TODO ทั้งหมดถูกต้อง เชื่อมต่อ Arduino Yún ของคุณเข้ากับ Mac/PC และทำการอัปโหลดโค้ด
ฉันสร้างโปรเจกต์นี้ขึ้นมาเพราะกำลังคิดหาวิธีง่ายๆ ในการตามหาโทรศัพท์ที่หายไป Blynk ช่วยให้ Arduino Yun ของผู้ใช้ได้รับ geolocation แม้ว่าแอปจะทำงานอยู่ใน background เท่านั้นและโทรศัพท์จะอยู่ในโหมด sleeping อยู่ก็ตาม เพียงแค่คลิกปุ่ม ก็สามารถระบุตำแหน่งโทรศัพท์ที่หายไปได้ ทดสอบแล้วบน iPhone (iOS11)
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้