หน้าแรก ดูโปรเจกต์ทั้งหมด
Hard

โปรเจกต์ PhoneLocator

เพียงแค่คลิกปุ่มเพื่อรับ geolocation ของโทรศัพท์คุณ

โปรเจกต์ PhoneLocator

รายการอุปกรณ์และเครื่องมือ

1x Breadboard (generic)
🛒 สั่งซื้อ
1x Jumper wires (generic)
🛒 สั่งซื้อ
1x Arduino Yun
-
1x Pushbutton switch 12mm
🛒 สั่งซื้อ
}

รายละเอียดและวิธีทำ

Overview

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

Functionality

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

ภาพรวมการทำงาน

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

ภาพรวมของ Code
  • if(button is pressed) จะตรวจสอบว่าปุ่มที่เชื่อมต่อกับ Pins 2 ถูกกดหรือไม่
  • getLocation จะขอตำแหน่งของโทรศัพท์จาก Blynk
  • Process Data จะประมวลผลพิกัดที่ได้รับมาใส่ลงในเนื้อหาของ email
  • Send email จะส่ง email ไปยังผู้ใช้งาน

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

Benefits

ผู้ใช้งานโปรเจกต์นี้จะได้รับประโยชน์ดังนี้:

  • ระบุตำแหน่งโทรศัพท์ของตนเองได้หากสูญหายหรือถูกขโมย
  • ใช้งานง่าย

Constructing the Project

ขั้นตอนที่ 1: อุปกรณ์ที่จำเป็น

มีอุปกรณ์สองสามอย่างที่จำเป็นในโปรเจกต์นี้

  • Jumper Wires
  • 1, Button
  • 1, Breadboard
  • 1, Resistor (220Ω)
  • 1, Smart Phone

ขั้นตอนที่ 2: การเชื่อมต่อวงจร

โปรเจกต์ที่เรียบง่ายต้องการ Schematics ที่เรียบง่าย นี่คือรูปภาพแสดงการเชื่อมต่อวงจรของโปรเจกต์

แผนผังวงจร (Schematics)

ขั้นตอนที่ 3: ทำความเข้าใจกับ Code

Code ของโปรเจกต์นี้แบ่งออกเป็นสามส่วน ซึ่งแต่ละส่วนมีความเรียบง่าย

  • getLocation
  • Process Location Data
  • Send Email

นี่คือรายละเอียดเชิงลึกของแต่ละฟังก์ชัน

  • getLocation
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 ดูคำแนะนำด้านล่าง

  • Process Location Data
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 ครั้ง

  • Send Email
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

  • ขั้นตอนที่ 1: ดาวน์โหลด Blynk

Blynk เป็นแอปง่ายๆ ที่ช่วยให้คุณสร้างผลิตภัณฑ์ IOT ได้อย่างสะดวกและง่ายดาย ในการเริ่มต้น ให้ดาวน์โหลด Blynk สำหรับ IOS หรือ Android.

  • ขั้นตอนที่ 2: สร้างบัญชี Blynk ของคุณ

ทำตามรูปภาพด้านล่างและข้อมูลประกอบเพื่อตั้งค่าบัญชี Blynk ของคุณ

Setup

ขั้นตอนสุดท้ายคือการเปลี่ยน TODO variables หากยังไม่ได้ทำ Variable ชื่อ auth จะต้องตั้งค่าเป็น Auth token ที่ได้รับทาง email ในขั้นตอนก่อนหน้า ตรวจสอบให้แน่ใจว่า Variables ที่ทำเครื่องหมาย TODO ทั้งหมดถูกต้อง เชื่อมต่อ Arduino Yún ของคุณเข้ากับ Mac/PC และทำการอัปโหลดโค้ด

PhoneLocator

Background

ฉันสร้างโปรเจกต์นี้ขึ้นมาเพราะกำลังคิดหาวิธีง่ายๆ ในการตามหาโทรศัพท์ที่หายไป Blynk ช่วยให้ Arduino Yun ของผู้ใช้ได้รับ geolocation แม้ว่าแอปจะทำงานอยู่ใน background เท่านั้นและโทรศัพท์จะอยู่ในโหมด sleeping อยู่ก็ตาม เพียงแค่คลิกปุ่ม ก็สามารถระบุตำแหน่งโทรศัพท์ที่หายไปได้ ทดสอบแล้วบน iPhone (iOS11)

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: phonelocator-777cff
299 บาท
PromptPay QR Code