![Talos, abyste byli v bezpečí při dojíždění: 5 kroků Talos, abyste byli v bezpečí při dojíždění: 5 kroků](https://i.howwhatproduce.com/images/001/image-1940-22-j.webp)
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
![Talos, udržujeme vás v bezpečí při dojíždění Talos, udržujeme vás v bezpečí při dojíždění](https://i.howwhatproduce.com/images/001/image-1940-23-j.webp)
Být obětí obtěžování při dojíždění je pro mnoho lidí, zejména žen, celkem běžná věc. Bez ohledu na zemi se veřejná doprava často rovná vědomí, že můžete být sexuálně obtěžováni nebo dokonce sledováni při chůzi domů. V takových situacích není vždy snadné zareagovat a posoudit hrozbu, od pouhého vyděšení od zavolání kočky až po skutečnou obavu, že by se mohlo stát něco špatného. Faktorem je vždy strach, a když nechceme upoutat pozornost potenciálního obtěžovatele, může nám to zabránit upozornit někoho, komu důvěřujeme.
Talos je malé zařízení, které se připojuje k vašemu telefonu a umožňuje vám odeslat textové zprávě osobě, kterou si vyberete. SMS automaticky obsahuje vaše poslední známé umístění a předem nahraný text podle vašeho výběru. Díky vzhledu jednoduché klíčenky zůstane Talos připnutý ve vaší tašce a umožní vám ji diskrétně aktivovat stisknutím, což spustí odeslání textové zprávy. Jeho nízká spotřeba energie znamená, že jej nemusíte nabíjet každý den a riskovat, že na něj zapomenete - nebo si jen každý den připomenete hrozbu, které čelíte.
Tento projekt má tři části:
- Fyzický modul: Použil jsem modul Puck-js, který je založen na modulu nRF52832 a lze jej naprogramovat pomocí Javascriptu díky aplikaci Espruino- Aplikace pro Android: Vytvořil jsem jednoduchou aplikaci, která se připojuje k modulu- Kryt klíčenky: Vytvořil jsem jednoduchý kryt, aby Puck JS vypadal jako jednoduchá klíčenka
Zásoby
- modul Puck.js (https://www.puck-js.com)
- Android telefon s alespoň verzí 8.0- Počítač s nainstalovaným Android Studio
- 3D tiskárna (volitelně)
Krok 1: Přehled
![Přehled Přehled](https://i.howwhatproduce.com/images/001/image-1940-24-j.webp)
Tento diagram by vám měl poskytnout představu o různých komponentách: kód v samotném modulu Puck je opravdu jednoduchý a necháváme aplikaci Android, aby se starala o připojení, než aby nechala Puck skenovat telefon. Abychom zachovali životnost baterie, budeme ke komunikaci mezi aplikací a zařízením používat technologii Bluetooth Low Energy a její vlastnosti
Krok 2: Programování puku
![Programování puku Programování puku](https://i.howwhatproduce.com/images/001/image-1940-25-j.webp)
Poté, co na webu puck-js.com zkontrolujete, že váš prohlížeč a počítač podporují technologii Web Bluetooth, přejděte na web www.espruino.com/ide a připojte se ke svému Pucku kliknutím na ikonu zástrčky v levém horním rohu stránky.
Poté můžete zkopírovat a vložit kód z přiloženého souboru do editoru a odeslat jej do Pucku.
V první části kódu definujeme funkci Blink a updateCharacteristic, kterou použijeme později v kódu. Ve funkci updateCharacteristic přiřazujeme aktuální datum charakteristice, abychom se ujistili, že bude skutečně považována za novou hodnotu. Následně upozorníme všechny předplatitele této aktualizace.
Po těchto deklaracích na kód, který bude spuštěn:
Kód na řádku 56 vám umožňuje načíst fyzickou adresu vašeho Pucku, kterou budete muset harcdode v aplikaci pro Android: odkomentujte tento řádek a adresu uvidíte v protokolech na levé straně IDE (viz příloha Snímek obrazovky). Jakmile tuto hodnotu získáte, můžete řádek okomentovat nebo jej nechat tak.
Poté definujeme jednu vlastní službu BLE (UUID jsou náhodné hodnoty) se třemi různými charakteristikami, z nichž všechny lze oznámit. Nebudeme používat samotné hodnoty k vyjádření našeho poselství, ale pouze skutečnost, že se změnily.
Na linkách 78 a 79 jsme nastavili některé posluchače, které způsobí, že integrovaná LED bliká, kdykoli je zařízení připojeno nebo odpojeno od jiného zařízení Bluetooth. Nakonec na řádku 81 připojujeme přerušení k integrovanému tlačítku, takže jeho stisknutí vyvolá funkci updateCharacteristic
Krok 3: Vytvoření aplikace pro Android
![Vytvoření aplikace pro Android Vytvoření aplikace pro Android](https://i.howwhatproduce.com/images/001/image-1940-26-j.webp)
![Vytvoření aplikace pro Android Vytvoření aplikace pro Android](https://i.howwhatproduce.com/images/001/image-1940-27-j.webp)
![Vytvoření aplikace pro Android Vytvoření aplikace pro Android](https://i.howwhatproduce.com/images/001/image-1940-28-j.webp)
![Vytvoření aplikace pro Android Vytvoření aplikace pro Android](https://i.howwhatproduce.com/images/001/image-1940-29-j.webp)
Vzhledem k tomu, že celá aplikace obsahuje některé poměrně těžké knihovny, vložil jsem do přiloženého zipu pouze zdrojové soubory a soubor gradle pro aplikaci. Aby to fungovalo, musíte spustit Android studio a vytvořit nový projekt (zvolte Empty Activity, viz screenshot). Vyberte 26 (Android 8.0, Oreo) jako minimální verzi aplikace, protože část kódu, který jsem napsal, používá API, která před tím neexistovala. Jakmile je váš projekt nastaven, budete mít pro aplikaci soubor build.gradle (označený build.gradle - Module: App). Otevřete jej a zkopírujte obsah ze souboru zip: IDE vás vyzve k provedení synchronizace Gradle, během které stáhne severskou knihovnu, na kterou aplikace spoléhá. Poté můžete aplikaci spustit jednou a zkontrolovat, zda funguje.
Jakmile je aplikace nainstalována do vašeho zařízení, přejděte do nabídky nastavení, zvolte Aplikace a vyhledejte aplikaci v seznamu. Vyberte jej a klikněte na „Autorizace“. Tam budete mít několik přepínačů, které budou ve výchozím nastavení vypnuté: zkontrolujte je, abyste se ujistili, že aplikace má přístup ke všemu, co potřebuje.
Nyní můžete importovat zdrojové soubory z archivu zip: nejsnazší způsob je vytvořit nové třídy (pravým tlačítkem myši, nový soubor/třídu Kotlin) a pojmenovat je stejným názvem jako ty z archivu. Jakmile je soubor třídy otevřený, můžete do něj zkopírovat a vložit kód.
Pokud chcete aplikaci používat pouze, stačí upravit adresu na řádku 31 ve třídě BTService a místo toho zadat adresu, kterou jste získali v předchozím kroku. Nyní byste měli být schopni aplikaci zkompilovat a spustit na svém zařízení!
Pokud se chcete dozvědět více o tom, jak aplikace funguje, čtěte dále:-)
Následující diagram vám pomůže lépe porozumět tomu, co se děje v aplikaci: - MainActivity je ta, kterou bude uživatel používat pouze jednou za čas: jejím hlavním účelem je, aby mohl zadat telefonní číslo osoby chtěli by kontaktovat při používání Talosu, stejně jako text, který jim poslal.
- Služba BTS je služba v popředí, což znamená, že kdykoli je spuštěna, vytváří trvalá oznámení, která omezují pravděpodobnost zabití služby systémem Android. Tato služba se pokouší připojit k Talosu klasickým procesem Bluetooth Low Energy - použil jsem ukázkový kód společnosti Nordic a další zdroje, které jsem našel. Právě teď to vypadá konkrétně na UUID puku: tuto hodnotu (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") byste měli změnit tak, aby odpovídala vlastní adrese vašeho zařízení získané v předchozím kroku. Poté, co najde zařízení a zkontroluje, že má službu, kterou hledáme, přihlásí se k odběru upozornění na charakteristiku, která bude aktualizována, kdykoli uživatel stiskne tlačítko.
Když služba BTS obdrží aktualizaci pro tuto charakteristiku, spustí objekt LocalBroadcast, aby ostatní komponenty aplikace reagovaly. Rovněž zavolá službu SMSIntentService, aby odeslala SMS
- Služba SMSIntentService načte telefonní číslo a text ze SharePreferences, aby uživatel mohl zadat poslední hodnoty. Poté automaticky odešle SMS, aniž by uživatel musel s aplikací komunikovat, a přidá do SMS poslední známé umístění uživatele.
Krok 4: Navrhování pouzdra
Současný případ, se kterým je Puck dodáván, již obsahuje malou smyčku, kterou lze připevnit na klíčenku, takže bychom to mohli téměř nechat tak. Celý bílý silikonový kryt, který jsem náhodou měl, mi stále připadal dost divný, takže aby nevzbuzoval žádné podezření, navrhl jsem jednoduchý předmět, který bych dal na puk. Říká se, že obrázek stojí za tisíc slov, myslel jsem si, že vám dám 25 obrázků za sekundu: v následujícím videu uvidíte, jak jsem použil Fusion 360 k vytvoření návrhu, včetně příkazů a zkratek, které jsem použil:
Krok 5: Dát to všechno dohromady
Nyní, když máte různé komponenty, je čas je dát dohromady! Aktuální případ modulu Puck již má otvor, pomocí kterého můžete vložit řetěz - náhodou jsem měl starou klíčenku, kterou jsem rozebral, ale ty si můžete koupit také snadno. Kroužek rozeberte pomocí kleští - jakmile najdete otvor prstenu, přesuňte každou polovinu v opačných směrech, jednu směrem k sobě a druhou od sebe. Poté můžete vložit prsten do puku a zavřít jej zpět.
Vytiskněte 3D design, který jste právě vytvořili - použil jsem nějaké fialové PLA a zacvakl jsem ho nahoře na Puck
Doporučuje:
Jak upravit servo, abyste získali zpětnou vazbu uzavřené smyčky: 7 kroků
![Jak upravit servo, abyste získali zpětnou vazbu uzavřené smyčky: 7 kroků Jak upravit servo, abyste získali zpětnou vazbu uzavřené smyčky: 7 kroků](https://i.howwhatproduce.com/images/001/image-782-j.webp)
Jak upravit servo, aby se uzavřela zpětná vazba smyčky: ► Při řízení serva s mikrokontrolérem (jako Arduino) mu můžete dát pouze objednávky cílového umístění (v signálu PPM). S tímto pořadím se servo přesune na tento cíl umístění. Ale není to okamžité! Nevíte přesně, kdy
Omezte dav, abyste zabránili šíření COVID-19: 5 kroků
![Omezte dav, abyste zabránili šíření COVID-19: 5 kroků Omezte dav, abyste zabránili šíření COVID-19: 5 kroků](https://i.howwhatproduce.com/images/007/image-18886-j.webp)
Omezit dav, aby se zabránilo šíření COVID-19: Světová zdravotnická organizace, WHO, doporučila lidem, aby se drželi daleko od přeplněných míst, aby se chránili před šířením koronavirové choroby. Přestože lidé praktikují sociální distancování, nemusí být efektivní, pokud jsou přítomni v
Jak postavit parkovací senzor, abyste vyřešili bolest při hledání volného místa: 12 kroků
![Jak postavit parkovací senzor, abyste vyřešili bolest při hledání volného místa: 12 kroků Jak postavit parkovací senzor, abyste vyřešili bolest při hledání volného místa: 12 kroků](https://i.howwhatproduce.com/images/011/image-30468-j.webp)
Jak postavit parkovací senzor, abychom vyřešili bolest při hledání volného místa: V tomto projektu postavíme jednoduchý parkovací senzor pomocí Raspberry Pi. Ukazuje se, že každé ráno musím čelit této otázce: je již POUZE parkovací místo před mojí kanceláří obsazeno? Protože když to ve skutečnosti je, musím jít kolem
Zůstaňte v bezpečí při používání tohoto světlometu se směrovými signály: 5 kroků (s obrázky)
![Zůstaňte v bezpečí při používání tohoto světlometu se směrovými signály: 5 kroků (s obrázky) Zůstaňte v bezpečí při používání tohoto světlometu se směrovými signály: 5 kroků (s obrázky)](https://i.howwhatproduce.com/images/011/image-31434-j.webp)
Zůstaňte v bezpečí při používání tohoto světlometu se směrovými signály: Rád jezdím na kole, obvykle jej používám do školy. V zimním období je venku většinou ještě tma a pro ostatní vozidla je těžké vidět mé ruční blinkry. Proto je to velké nebezpečí, protože kamiony možná nevidí, že bych chtěl
Vytvořte bezpečnou zónu pro zařízení Android/IOS/WIN10, abyste zůstali odemčeni: 6 kroků
![Vytvořte bezpečnou zónu pro zařízení Android/IOS/WIN10, abyste zůstali odemčeni: 6 kroků Vytvořte bezpečnou zónu pro zařízení Android/IOS/WIN10, abyste zůstali odemčeni: 6 kroků](https://i.howwhatproduce.com/images/002/image-5760-12-j.webp)
Vytvořte bezpečnou zónu pro zařízení Android/IOS/WIN10, která zůstanou odemčená: V tomto článku chceme vytvořit skvělý gadget, který může vytvořit bezpečnou zónu pro odemčení vašich zařízení. Na konci tohoto projektu: Naučíte se používat snímač otisků prstů. Naučíte se spárovat svá zařízení s miniaplikací bezpečné zóny. Budete