Obsah:

Talos, zaistenie vašej bezpečnosti počas dochádzania: 5 krokov
Talos, zaistenie vašej bezpečnosti počas dochádzania: 5 krokov

Video: Talos, zaistenie vašej bezpečnosti počas dochádzania: 5 krokov

Video: Talos, zaistenie vašej bezpečnosti počas dochádzania: 5 krokov
Video: Часть 2 — Аудиокнига Джеймса Фенимора Купера «Последний из могикан» (гл. 06–10) 2024, November
Anonim
Talos, aby ste boli v bezpečí počas dochádzania
Talos, aby ste boli v bezpečí počas dochádzania

Byť obeťou obťažovania pri dochádzaní je pre mnohých ľudí, obzvlášť pre ženy, celkom bežná vec. Bez ohľadu na krajinu sa verejná doprava často rovná vedeniu, že vás môže sexuálne obťažovať alebo dokonca nasledovať pešo domov. V týchto situáciách nie je vždy ľahké zareagovať a vyhodnotiť hrozbu, od jednoduchého vystrašenia od volania mačky až po skutočnú obavu, že sa môže stať niečo zlé. Strach je vždy faktorom a ak nechceme upútať pozornosť potenciálneho obťažovateľa, môže nám to zabrániť upozorniť niekoho, komu dôverujeme.

Talos je malé zariadenie, ktoré sa pripája k telefónu a umožňuje vám odoslať textovú správu osobe, ktorú si vyberiete. SMS automaticky obsahuje vašu poslednú známu polohu a vopred nahratý text podľa vášho výberu. Vďaka vzhľadu jednoduchej kľúčenky zostane Talos pripnutý vo vašej taške a umožní vám ho diskrétne aktivovať stlačením, čím sa spustí odosielanie textových správ. Jeho nízka spotreba energie znamená, že ho nemusíte každý deň nabíjať a riskovať, že naň zabudnete - alebo si len budete každý deň pripomínať hrozbu, ktorej čelíte.

Tento projekt má tri časti:

- Fyzický modul: Použil som modul Puck-js, ktorý je založený na module nRF52832 a dá sa programovať pomocou Javascriptu vďaka aplikácii Espruino- Aplikácia pre Android: Vytvoril som jednoduchú aplikáciu, ktorá sa pripája k modulu- Kryt kľúčenky: Vytvoril som jednoduchý kryt, aby Puck JS vyzeral ako jednoduchá kľúčenka

Zásoby

- modul Puck.js (https://www.puck-js.com)

- Telefón s Androidom najmenej vo verzii 8.0- Počítač s nainštalovaným Android Studio

- 3D tlačiareň (voliteľné)

Krok 1: Prehľad

Prehľad
Prehľad

Tento diagram by vám mal poskytnúť predstavu o rôznych komponentoch: kód v samotnom module Puck je skutočne jednoduchý a nechávame aplikáciu Android, aby sa starala o pripojenie, a nie aby skenovala Puck pre telefón. Bluetooth Low Energy a jeho vlastnosti budeme používať na komunikáciu medzi aplikáciou a zariadením, aby sa zachovala životnosť batérie

Krok 2: Programovanie puku

Programovanie puku
Programovanie puku

Potom, čo ste na puck-js.com skontrolovali, že váš prehliadač a počítač podporujú webové Bluetooth, navštívte stránku www.espruino.com/ide a pripojte sa k svojmu puku kliknutím na ikonu zásuvky v ľavom hornom rohu stránky.

Potom môžete skopírovať a vložiť kód z priloženého súboru do editora a odoslať ho do puku.

V prvej časti kódu definujeme funkciu Blink a updateCharacteristic, ktorú použijeme neskôr v kóde. Vo funkcii updateCharacteristic priradíme aktuálny dátum k charakteristike, aby sme sa uistili, že bude skutočne považovaná za novú hodnotu. Potom upozorníme všetkých predplatiteľov tejto aktualizácie.

Po týchto vyhláseniach do kódu, ktorý sa vykoná:

Kód na riadku 56 vám umožňuje získať fyzickú adresu vášho puku, ktorý budete potrebovať harcdode v aplikácii pre Android: odkomentujte tento riadok a adresu uvidíte v denníkoch na ľavej strane IDE (pozri prílohu) snímka obrazovky). Akonáhle budete mať túto hodnotu, môžete komentovať riadok alebo ho nechať tak.

Potom definujeme jednu vlastnú službu BLE (UUID sú náhodné hodnoty) s tromi rôznymi charakteristikami, z ktorých všetky je možné oznámiť. Nebudeme používať samotné hodnoty na sprostredkovanie nášho posolstva, ale iba skutočnosť, že sa zmenili.

Na linkách 78 a 79 sme nastavili niektoré posluchače, ktoré spôsobia blikanie integrovanej LED diódy vždy, keď je zariadenie pripojené alebo odpojené od iného zariadenia Bluetooth. Nakoniec na riadku 81 pripájame prerušenie k integrovanému tlačidlu, takže jeho stlačením zavoláte funkciu updateCharacteristic

Krok 3: Vytvorenie aplikácie pre Android

Vytvorenie aplikácie pre Android
Vytvorenie aplikácie pre Android
Vytvorenie aplikácie pre Android
Vytvorenie aplikácie pre Android
Vytvorenie aplikácie pre Android
Vytvorenie aplikácie pre Android
Vytvorenie aplikácie pre Android
Vytvorenie aplikácie pre Android

Pretože celá aplikácia obsahuje dosť ťažké knižnice, vložil som do priloženého zipu iba zdrojové súbory a súbor gradle pre aplikáciu. Aby to fungovalo, musíte spustiť Android studio a vytvoriť nový projekt (zvoľte Prázdna aktivita, pozri snímku obrazovky). Vyberte 26 (Android 8.0, Oreo) ako minimálnu verziu aplikácie, pretože časť kódu, ktorý som napísal, používa rozhrania API, ktoré predtým neexistovali. Akonáhle je váš projekt nastavený, budete mať pre aplikáciu súbor build.gradle (označený ako build.gradle - Module: App). Otvorte ho a skopírujte obsah zo súboru zip: IDE vás vyzve, aby ste urobili synchronizáciu Gradle, počas ktorej stiahne severskú knižnicu, na ktorú sa aplikácia spolieha. Potom môžete aplikáciu raz spustiť a skontrolovať, či funguje.

Po nainštalovaní aplikácie do zariadenia prejdite do ponuky nastavení, vyberte položku Aplikácie a v zozname nájdite aplikáciu. Vyberte ho a kliknite na „Autorizácie“. Tam budete mať niekoľko prepínačov, ktoré budú predvolene vypnuté: začiarknite všetky a uistite sa, že aplikácia má prístup ku všetkému, čo potrebuje.

Teraz môžete importovať zdrojové súbory z archívu zip: najľahšie to urobíte tak, že vytvoríte nové triedy (pravým tlačidlom myši, nový súbor/triedu Kotlin) a pomenujete ich rovnakým názvom ako tie z archívu. Hneď ako je súbor triedy otvorený, môžete doň skopírovať a vložiť kód.

Ak chcete aplikáciu používať iba, stačí zmeniť adresu na riadku 31 v triede BTService a namiesto toho zadať adresu, ktorú ste získali v predchádzajúcom kroku. Teraz by ste mali mať možnosť kompilovať aplikáciu a spustiť ju na svojom zariadení!

Ak sa chcete dozvedieť viac o tom, ako aplikácia funguje, čítajte ďalej:-)

Nasledujúci diagram vám pomôže lepšie porozumieť tomu, čo sa deje v aplikácii: - MainActivity je tá, ktorú používateľ bude používať iba raz za čas: jej hlavným účelom je, aby mohol zadať telefónne číslo osoby by chceli kontaktovať pri používaní Talosu, ako aj text, ktorý im majú poslať.

- Služba BTS je poprednou službou, čo znamená, že pri každom spustení vytvára trvalé oznámenia, ktoré obmedzujú pravdepodobnosť zabitia služby systémom Android. Táto služba sa pokúša pripojiť k Talosu klasickým procesom Bluetooth Low Energy - Použil som ukážkový kód spoločnosti Nordic a ďalšie zdroje, ktoré som našiel. Práve teraz konkrétne vyzerá UUID puku: túto hodnotu (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") by ste mali zmeniť tak, aby zodpovedala vlastnej adrese vášho zariadenia získanej v predchádzajúcom kroku. Keď zariadenie nájde a skontroluje, či má službu, ktorú hľadáme, prihlási sa na odber upozornení na charakteristiku, ktorá sa aktualizuje vždy, keď používateľ stlačí tlačidlo.

Keď služba BTS dostane aktualizáciu tejto charakteristiky, spustí objekt LocalBroadcast, aby ostatné komponenty aplikácie reagovali. Na odoslanie SMS zavolá aj službu SMSIntentService

- Služba SMSIntentService získa telefónne číslo a text zo služby SharePreferences, aby používateľ mohol zadať posledné hodnoty. Potom automaticky odošle SMS bez toho, aby používateľ musel s aplikáciou interagovať, a pridá do SMS poslednú známu polohu používateľa.

Krok 4: Navrhovanie puzdra

Súčasný prípad, s ktorým je Puk dodávaný, už obsahuje malú slučku na pripevnenie na kľúčenku, takže by sme to mohli takmer nechať tak. Celý biely kremíkový kryt, ktorý som náhodou mal, bol stále dosť divný, takže aby to nevzbudzovalo žiadne podozrenie, navrhol som jednoduchý predmet, ktorý by som položil na puk. Hovorí sa, že obrázok stojí za tisíc slov, myslel som si, že vám dám 25 obrázkov za sekundu: v nasledujúcom videu uvidíte, ako som na vytvorenie návrhu použil Fusion 360 vrátane príkazov a skratiek, ktoré som použil:

Krok 5: Dajte to všetko dohromady

Teraz, keď máte rôzne komponenty, je načase ich skombinovať! Súčasný prípad modulu Puck už má otvor, pomocou ktorého môžete vložiť retiazku - náhodou som mal starú kľúčenku, ktorú som rozobral, ale tie sa dajú kúpiť aj ľahko. Prstenec rozoberte pomocou klieští - keď nájdete otvor krúžku, presuňte každú polovicu v opačných smeroch, jednu smerom k sebe a druhú od seba. Potom môžete vložiť krúžok do puku a zavrieť ho späť.

3D vytlačte dizajn, ktorý ste práve vytvorili - použil som fialové PLA a zacvakol som ho hore na Puk

Odporúča: