PhoneLocator: Находите свой телефон где угодно
Компоненты и материалы
| Перемычки (jumper wires) | × | 1 |
| Arduino Yun | × | 1 |
| Резистор 220 Ом | × | 1 |
| Кнопка 12 мм (SparkFun) | × | 1 |
| Макетная плата | × | 1 |
Приложения и сервисы
- Arduino Web Editor
- Blynk
О проекте
Обзор
Забывали телефон у друзей? Боитесь, что его украдут? Все сталкивались с потерей телефона. PhoneLocator находит телефон и присылает его GPS-координаты на email. Всё, что нужно — нажать кнопку. Нужен аккаунт Blynk (инструкция ниже).


Функционал
Принцип прост: нажатие кнопки → Arduino Yún запрашивает геолокацию телефона через Blynk → отправляет email с координатами. Email уходит «от имени» Blynk-приложения на телефоне — уловка для вора. Схема логики:


if(button pressed)— проверка кнопки на пине 2.getLocation— запрос координат у Blynk.Process Data— формирование тела письма.Send email— отправка email пользователю.
Ответ приходит за ~8 секунд, если телефон найден. Работает даже если телефон спит или экран выключен, если Blynk разрешено работать в фоне. Blynk-проект на телефоне должен быть активен (подробнее в сборке).
Преимущества
- Поиск потерянного/украденного телефона.
- Простота использования — одна кнопка.
Сборка проекта
Шаг 1: Необходимое оборудование
- Перемычки
- Arduino Yún
- Кнопка
- Макетная плата
- Резистор 220 Ом
- Смартфон


Шаг 2: Подключение схемы
Простая схема:

Шаг 3: Разбор кода
Три части:
getLocationProcess Location DataSend Email
Детали функций:
getLocation
BLYNK_WRITE(V0) // читаем виртуальный пин 0 для координат
{
latitude = param[0].asDouble();
longitude = param[1].asDouble();
altitude = param[2].asDouble();
speed = param[3].asDouble();
}
Blynk хранит переменные в виртуальных пинах. BLYNK_WRITE(V0) читает пин 0 и сохраняет значения в переменные. Широта и долгота используются в проекте. Настройте Blynk-проект перед загрузкой кода (см. ниже).
Process Location Data
if(latitude != 0.00 && longitude != 0.00) // если координаты валидны
{
String toSend = "Phone Located! \n received co-ordinates \n LAT ";
toSend += latitude;
toSend += " LNG ";
toSend += longitude;
toSend += ". View location on Maps: ";
toSend += "www.google.com/maps/?q=";
toSend += latitude;
toSend += ",";
toSend += longitude;
delay(500);
}
Email отправляется как строка. Код выполняется только при достоверных координатах. Добавляются широта, долгота и ссылка на Google Maps. Arduino запрашивает координаты до 10 раз, пока не получит валидные (не 0).
Send Email
Blynk.email(userEmail, "PhoneLocator | Notification", toSend);
if(proDebug == 1) {
Serial.println("Success");
Serial.println("Email Sent");
Serial.println("Restarting Protocol");
Serial.println("");
}
Отправка строки как тела письма. proDebug — отладка: 1 требует открытый Serial Monitor, 0 — автономная работа. По умолчанию 1.
Настройка переменных
Отредактируйте все переменные с пометкой TODO: ваш email, Blynk auth token, proDebug. Auth token получите ниже.
Библиотеки
- Bridge — Arduino LLC (public domain)
- Blynk — MIT License
Настройка Blynk
- Скачайте Blynk (iOS/Android).
- Создайте аккаунт Blynk — следуйте скриншотам ниже.













Финальная настройка
Замените TODO-переменные. auth = Auth token из email. Проверьте все TODO. Подключите Arduino Yún к ПК/Мак, загрузите код.

Предыстория
Создал проект, думая о простом способе найти потерянный телефон. Blynk позволяет получать геолокацию даже если приложение в фоне и телефон спит. Одним нажатием кнопки находите телефон. Протестировано на iPhone (iOS 11).
Код
PhoneLocator
Полный код (см. исходник).
Схемы
schematics_UhOTpO8N1Z.fzz
Производственный процесс
- Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
- Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство
- DIY-контроллер увлажнителя на Arduino с реле: безопасная работа с высоким напряжением
- Бесконтактный термометрический шлюз для быстрого и точного скрининга
- PiBot: Робот-пианист на Arduino для точного исполнения музыки
- NeoPixel Matrix Pong на Arduino Nano: неоновая игра Pong на матрице 15×10
- Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке
- Своё рулевое управление (джойстик) для игр на Arduino