Оглавление:

Талос, безопасность во время поездок: 5 шагов
Талос, безопасность во время поездок: 5 шагов

Видео: Талос, безопасность во время поездок: 5 шагов

Видео: Талос, безопасность во время поездок: 5 шагов
Видео: 5 признаков того, что вам 100% нужно увольняться с работы 2024, Ноябрь
Anonim
Талос, защитит вас во время поездок
Талос, защитит вас во время поездок

Быть жертвой домогательств во время поездок на работу - обычное дело для многих людей, особенно женщин. В любой стране пользоваться общественным транспортом часто означает знать, что вы можете подвергнуться сексуальным домогательствам или даже преследовать вас по дороге домой. В таких ситуациях не всегда легко отреагировать и оценить угрозу, от простого испуга после крика до реальной обеспокоенности, что может случиться что-то плохое. Страх - всегда фактор, и нежелание привлекать внимание потенциального преследователя может помешать нам предупредить кого-то, кому мы доверяем.

Talos - это небольшое устройство, которое подключается к вашему телефону и позволяет отправлять текст любому человеку по вашему выбору. SMS автоматически включает ваше последнее известное местоположение и предварительно записанный текст по вашему выбору. Благодаря виду простого брелка, Talos остается прикрепленным к вашей сумке и позволяет вам дискретно активировать его, нажимая на него, что запускает отправку текстового сообщения. Его низкое энергопотребление означает, что вам не нужно заряжать его каждый день и вы рискуете забыть о нем или просто каждый день напоминать об угрозе, с которой вы сталкиваетесь.

Этот проект состоит из трех частей:

- Физический модуль: я использовал модуль Puck-js, который основан на модуле nRF52832 и может быть запрограммирован с использованием Javascript благодаря Espruino. - Приложение для Android: я создал простое приложение, которое подключается к модулю. чехол для Puck JS в виде простого брелка

Запасы

- Модуль Puck.js (https://www.puck-js.com)

- Телефон Android с версией не ниже 8.0 - Компьютер с установленной Android Studio

- 3D-принтер (по желанию)

Шаг 1. Обзор

Обзор
Обзор

Эта диаграмма должна дать вам представление о различных компонентах: код самого модуля Puck действительно прост, и мы позволяем приложению Android позаботиться о подключении, а не сканировать Puck для телефона. Мы будем использовать Bluetooth Low Energy и его характеристики для связи между приложением и устройством, чтобы продлить срок службы батареи.

Шаг 2: программирование шайбы

Программирование шайбы
Программирование шайбы

Убедившись на сайте puck-js.com, что ваш браузер и компьютер поддерживают Web Bluetooth, перейдите на сайт www.espruino.com/ide и подключитесь к Puck, щелкнув значок штекера в верхнем левом углу страницы.

Затем вы можете скопировать и вставить код из прикрепленного файла в редактор и отправить его в Puck.

В первой части кода мы определяем функции Blink и updateCharacteristic, которые мы будем использовать позже в коде. В функции updateCharacteristic мы присваиваем характеристике текущую дату, чтобы убедиться, что она действительно будет восприниматься как новое значение. Затем мы уведомляем всех подписчиков об этом обновлении.

После этих объявлений в код, который будет выполняться:

Код в строке 56 позволяет вам получить физический адрес вашей Puck, который вам нужно будет отредактировать в приложении для Android: раскомментируйте эту строку, и вы увидите адрес в журналах в левой части IDE (см. Прилагаемый Скриншот). Получив это значение, вы можете прокомментировать строку или оставить ее в таком виде.

После этого мы определяем одну настраиваемую службу BLE (UUID - это случайные значения) с тремя различными характеристиками, каждая из которых подлежит уведомлению. Мы не будем использовать сами значения для передачи нашего сообщения, а будем использовать только тот факт, что они изменились.

В строках 78 и 79 мы устанавливаем некоторых слушателей, которые заставят встроенный светодиод мигать всякий раз, когда устройство подключается или отключается от другого устройства Bluetooth. Наконец, в строке 81 мы добавляем прерывание к встроенной кнопке, чтобы нажатие на нее вызывало функцию updateCharacteristic.

Шаг 3. Создание приложения для Android

Создание приложения для Android
Создание приложения для Android
Создание приложения для Android
Создание приложения для Android
Создание приложения для Android
Создание приложения для Android
Создание приложения для Android
Создание приложения для Android

Поскольку все приложение включает в себя довольно тяжелые библиотеки, я включил только исходные файлы и файл Gradle для приложения в прикрепленный zip-архив. Чтобы все заработало, вам нужно запустить Android studio и создать новый проект (выберите «Пустое действие», см. Снимок экрана). Выберите 26 (Android 8.0, Oreo) в качестве минимальной версии для приложения, поскольку часть написанного мной кода использует API-интерфейсы, которых до этого не существовало. После настройки проекта у вас будет файл build.gradle для приложения (помеченный build.gradle - Module: App). Откройте его и скопируйте содержимое из zip-файла: IDE предложит вам выполнить синхронизацию Gradle, во время которой она загрузит скандинавскую библиотеку, на которую полагается приложение. Затем вы можете запустить приложение один раз и убедиться, что оно работает.

После того, как приложение будет установлено на вашем устройстве, перейдите в меню настроек, выберите «Приложения» и найдите приложение в списке. Выберите его и нажмите «Авторизация». Там у вас будет несколько переключателей, которые по умолчанию отключены: отметьте их все, чтобы убедиться, что приложение имеет доступ ко всему, что ему нужно.

Теперь вы можете импортировать исходные файлы из zip-архива: самый простой способ сделать это - создать новые классы (щелчок правой кнопкой мыши, новый файл / класс Kotlin) и дать им то же имя, что и имена из архива. Когда файл класса открыт, вы можете скопировать и вставить в него код.

Если вы хотите использовать только приложение, просто измените адрес в строке 31 класса BTService и вместо этого введите адрес, полученный на предыдущем шаге. Теперь вы можете скомпилировать приложение и запустить его на своем устройстве!

Если вы хотите узнать больше о том, как работает приложение, читайте дальше:-)

Следующая диаграмма поможет вам лучше понять, что происходит внутри приложения: - MainActivity - это то, что пользователь будет использовать только время от времени: его основная цель - дать им возможность ввести номер телефона человека. они хотели бы связаться при использовании Талоса, а также текст для их отправки.

- BTService - это служба переднего плана, что означает, что всякий раз, когда она запускается, она создает постоянные уведомления, которые ограничивают вероятность того, что служба будет убита Android. Этот сервис пытается подключиться к Talos, используя классический процесс Bluetooth Low Energy - я использовал образец кода Nordic и другие ресурсы, которые смог найти. Прямо сейчас он специально ищет UUID шайбы: вы должны изменить это значение (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30"), чтобы оно соответствовало собственному адресу вашего устройства, полученному на предыдущем шаге. Найдя устройство и убедившись, что у него действительно есть служба, которую мы ищем, оно подписывается на уведомления о характеристиках, которые будут обновляться всякий раз, когда пользователь нажимает кнопку.

Когда BTService действительно получает обновление для этой характеристики, он запускает объект LocalBroadcast, чтобы другие компоненты приложения отреагировали. Он также вызовет SMSIntentService, чтобы отправить SMS.

- SMSIntentService получит номер телефона и текст из SharePreferences, чтобы иметь последние значения, введенные пользователем. Затем он автоматически отправит SMS без взаимодействия пользователя с приложением и добавит последнее известное местоположение пользователя в SMS.

Шаг 4: разработка кейса

Текущий чехол, который поставляется с Puck, уже включает небольшую петлю для ее прикрепления к брелку, так что мы почти можем оставить это так. Полностью белый силиконовый чехол, который мне показался все еще довольно странным, поэтому, чтобы не вызывать подозрений, я разработал простой предмет, который можно было надеть поверх шайбы. Говорят, что картинка стоит тысячи слов, я подумал, что дам вам 25 изображений в секунду: в следующем видео вы увидите, как я использовал Fusion 360 для создания дизайна, включая команды и сочетания клавиш, которые я использовал:

Шаг 5: Собираем все вместе

Теперь, когда у вас есть разные компоненты, пришло время собрать их вместе! В текущем случае модуля Puck уже есть отверстие, которое вы можете использовать для вставки цепочки - у меня был старый брелок, который я разобрал, но вы также можете легко его купить. Разберите кольцо плоскогубцами - как только вы найдете отверстие в кольце, перемещайте каждую половину в противоположных направлениях, одну к себе, а другую - от вас. Затем вы можете вставить кольцо в шайбу и закрыть его обратно.

Распечатайте на 3D-принтере дизайн, который вы только что создали - я использовал немного фиолетового PLA и прикрепил сверху шайбу.

Рекомендуемые: