Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

PhoneLocator: Находите свой телефон где угодно

Компоненты и материалы

Перемычки (jumper wires) × 1
Arduino Yun × 1
Резистор 220 Ом × 1
Кнопка 12 мм (SparkFun) × 1
Макетная плата × 1

Приложения и сервисы

О проекте

Обзор

Забывали телефон у друзей? Боитесь, что его украдут? Все сталкивались с потерей телефона. PhoneLocator находит телефон и присылает его GPS-координаты на email. Всё, что нужно — нажать кнопку. Нужен аккаунт Blynk (инструкция ниже).

PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно

Функционал

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

PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно

Ответ приходит за ~8 секунд, если телефон найден. Работает даже если телефон спит или экран выключен, если Blynk разрешено работать в фоне. Blynk-проект на телефоне должен быть активен (подробнее в сборке).

Преимущества

Сборка проекта

Шаг 1: Необходимое оборудование

PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно

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

Простая схема:

PhoneLocator: Находите свой телефон где угодно

Шаг 3: Разбор кода

Три части:

Детали функций:

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 получите ниже.

Библиотеки

Настройка Blynk

  1. Скачайте Blynk (iOS/Android).
  2. Создайте аккаунт Blynk — следуйте скриншотам ниже.
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно
PhoneLocator: Находите свой телефон где угодно

Финальная настройка

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

PhoneLocator: Находите свой телефон где угодно

Предыстория

Создал проект, думая о простом способе найти потерянный телефон. Blynk позволяет получать геолокацию даже если приложение в фоне и телефон спит. Одним нажатием кнопки находите телефон. Протестировано на iPhone (iOS 11).

Код

PhoneLocator

Полный код (см. исходник).

Схемы

PhoneLocator: Находите свой телефон где угодно schematics_UhOTpO8N1Z.fzz

Производственный процесс

  1. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  2. Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
  3. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  4. Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство
  5. DIY-контроллер увлажнителя на Arduino с реле: безопасная работа с высоким напряжением
  6. Бесконтактный термометрический шлюз для быстрого и точного скрининга
  7. PiBot: Робот-пианист на Arduino для точного исполнения музыки
  8. NeoPixel Matrix Pong на Arduino Nano: неоновая игра Pong на матрице 15×10
  9. Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке
  10. Своё рулевое управление (джойстик) для игр на Arduino