Оглавление:
- Запасы
- Шаг 1. Обзор
- Шаг 2: программирование шайбы
- Шаг 3. Создание приложения для Android
- Шаг 4: разработка кейса
- Шаг 5: Собираем все вместе
Видео: Талос, безопасность во время поездок: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Быть жертвой домогательств во время поездок на работу - обычное дело для многих людей, особенно женщин. В любой стране пользоваться общественным транспортом часто означает знать, что вы можете подвергнуться сексуальным домогательствам или даже преследовать вас по дороге домой. В таких ситуациях не всегда легко отреагировать и оценить угрозу, от простого испуга после крика до реальной обеспокоенности, что может случиться что-то плохое. Страх - всегда фактор, и нежелание привлекать внимание потенциального преследователя может помешать нам предупредить кого-то, кому мы доверяем.
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
Поскольку все приложение включает в себя довольно тяжелые библиотеки, я включил только исходные файлы и файл 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 и прикрепил сверху шайбу.
Рекомендуемые:
Кибер-физическая безопасность интеллектуальной парковки и контроля дорожного движения: 6 шагов
Кибер-физическая безопасность интеллектуальной парковки и контроля дорожного движения: Интернет растет с беспрецедентными темпами благодаря появлению миллиардов устройств, включая автомобили, датчики, компьютеры, серверы, холодильники, мобильные устройства и многое другое. Это приводит к появлению множества рисков и уязвимостей в инфраструктуре, эксплуатации и
Безопасность с Arduino: Atecc608a: 7 шагов
Безопасность с Arduino: Atecc608a: Тема Привет всем! Это моя первая статья с инструкциями, поэтому я надеюсь, что она будет интересна всем вам. В этой статье я объясню вам, как использовать микрочип под названием ATECC608A. которые предоставляют несколько инструментов безопасности. В этом чипе
ESP8266 - Розетка с синхронизацией и дистанционным управлением (безопасность пожилых людей): 6 шагов
ESP8266 - Розетка с синхронизацией и дистанционным управлением (безопасность пожилых людей): ИНФОРМАЦИЯ: Эта сборка предназначена для защиты от перегрева, пожара и несчастных случаев в случае забывания подключенных устройств (в основном пожилыми людьми с болезнью Альцгеймера). После нажатия кнопки на розетку поступает напряжение 110/220 В переменного тока на 5 минут (еще
Обеспечьте безопасность вашей Windows: 10 шагов
Держите вашу Windows в безопасности: HACKING - слово, которое очаровывает, но пугает всех нас. Это означает, что вы можете быть крутым и технически подкованным человеком или стать тем, кого взламывают. В современном цифровом мире, где все зависит от компьютеров и смартфонов, взлом - это не то, что мы
Безопасность викторины: 5 шагов
Безопасность викторины: если ваши результаты теста плохие, вы не хотите, чтобы об этом узнали ваши родители. Вы можете использовать его, чтобы положить тестовую бумагу в коробку. Если родители обнаружат, что им нужна их книга, родители ее найдут. Пароль откроет его. Вдохновение: https: // www