Spisu treści:

Talos, dbanie o bezpieczeństwo podczas dojazdów do pracy: 5 kroków
Talos, dbanie o bezpieczeństwo podczas dojazdów do pracy: 5 kroków

Wideo: Talos, dbanie o bezpieczeństwo podczas dojazdów do pracy: 5 kroków

Wideo: Talos, dbanie o bezpieczeństwo podczas dojazdów do pracy: 5 kroków
Wideo: SO: Moduł 2 - Stosowanie przepisów prawa 2024, Listopad
Anonim
Talos, dbanie o bezpieczeństwo podczas dojazdów
Talos, dbanie o bezpieczeństwo podczas dojazdów

Bycie ofiarą molestowania podczas dojazdów do pracy jest dość powszechną rzeczą dla wielu osób, zwłaszcza kobiet. Bez względu na kraj korzystanie z transportu publicznego często oznacza świadomość, że możesz być molestowany seksualnie, a nawet śledzony podczas spaceru do domu. W takich sytuacjach nie zawsze łatwo jest zareagować i ocenić zagrożenie, od zwykłego przerażenia przez gwizdanie po prawdziwą obawę, że może się zdarzyć coś złego. Strach jest zawsze czynnikiem, a niechęć do zwrócenia uwagi potencjalnego napastnika może uniemożliwić nam zaalarmowanie kogoś, komu ufamy.

Talos to małe urządzenie, które łączy się z Twoim telefonem i umożliwia wysłanie SMS-a do wybranej osoby. Wiadomość SMS automatycznie zawiera ostatnią znaną lokalizację i wybrany wcześniej nagrany tekst. Dzięki wyglądowi prostego breloczka Talos pozostaje przypięty do torby i pozwala dyskretnie go aktywować, naciskając go, co powoduje wysłanie wiadomości tekstowej. Niskie zużycie energii oznacza, że nie musisz go codziennie ładować i ryzykujesz, że o nim zapomnisz – lub po prostu codziennie przypominasz sobie o zagrożeniu, z którym się zmagasz.

Ten projekt składa się z trzech części:

- Moduł fizyczny: użyłem modułu Puck-js, który jest oparty na module nRF52832 i można go zaprogramować za pomocą Javascript dzięki Espruino- aplikacja na Androida: stworzyłem prostą aplikację, która łączy się z modułem- Okładka pęku kluczy: zrobiłem prostą pokrowiec, aby Puck JS wyglądał jak prosty brelok

Kieszonkowe dzieci

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

- Telefon z Androidem w wersji co najmniej 8.0 - Komputer z zainstalowanym Android Studio

- drukarka 3D (opcja)

Krok 1: Przegląd

Przegląd
Przegląd

Ten diagram powinien dać ci wyobrażenie o różnych komponentach: kod w samym module Puck jest naprawdę prosty i pozwalamy aplikacji na Androida zająć się połączeniem, a nie skanować Puck dla telefonu. Będziemy używać technologii Bluetooth Low Energy i jej właściwości do komunikacji między aplikacją a urządzeniem, aby wydłużyć czas pracy baterii

Krok 2: Programowanie krążka

Programowanie krążka
Programowanie krążka

Po sprawdzeniu na puck-js.com, że Twoja przeglądarka i komputer obsługują Web Bluetooth, przejdź na stronę www.espruino.com/ide i połącz się z Puckiem, klikając ikonę wtyczki w lewym górnym rogu strony.

Następnie możesz skopiować i wkleić kod z załączonego pliku do edytora i wysłać go do Pucka.

W pierwszej części kodu definiujemy funkcję Blink i updateCharacteristic, z których będziemy korzystać w dalszej części kodu. W funkcji updateCharacteristic przypisujemy aktualną datę do charakterystyki, aby upewnić się, że rzeczywiście będzie ona postrzegana jako nowa wartość. Następnie powiadamiamy każdego subskrybenta o tej aktualizacji.

Po tych deklaracjach na kod, który zostanie wykonany:

Kod w linii 56 pozwala na odzyskanie fizycznego adresu Pucka, który będziesz musiał zhakować w aplikacji na Androida: odkomentuj tę linię, a zobaczysz adres w dziennikach po lewej stronie IDE (patrz załącznik zrzut ekranu). Gdy już masz tę wartość, możesz skomentować linię lub pozostawić ją w ten sposób.

Następnie definiujemy jedną niestandardową usługę BLE (identyfikatory UUID są wartościami losowymi) o trzech różnych cechach, z których wszystkie można zgłaszać. Nie wykorzystamy samych wartości do przekazania naszego przesłania, a jedynie fakt, że się zmieniły.

W liniach 78 i 79 ustawiliśmy kilka odbiorników, które spowodują, że zintegrowana dioda LED będzie migać za każdym razem, gdy urządzenie zostanie podłączone lub odłączone od innego urządzenia Bluetooth. Wreszcie w linii 81 dołączamy przerwanie do zintegrowanego przycisku, aby jego naciśnięcie wywołało funkcję updateCharacteristic

Krok 3: Tworzenie aplikacji na Androida

Tworzenie aplikacji na Androida
Tworzenie aplikacji na Androida
Tworzenie aplikacji na Androida
Tworzenie aplikacji na Androida
Tworzenie aplikacji na Androida
Tworzenie aplikacji na Androida
Tworzenie aplikacji na Androida
Tworzenie aplikacji na Androida

Ponieważ cała aplikacja zawiera dość ciężkie biblioteki, umieściłem tylko pliki źródłowe i plik gradle dla aplikacji w załączonym pliku zip. Aby to zadziałało, musisz uruchomić Android Studio i stworzyć nowy projekt (wybierz Empty Activity, zobacz zrzut ekranu). Wybierz 26 (Android 8.0, Oreo) jako minimalną wersję aplikacji, ponieważ część kodu, który napisałem, używa interfejsów API, które wcześniej nie istniały. Po skonfigurowaniu projektu będziesz miał plik build.gradle dla aplikacji (oznaczony build.gradle - moduł: aplikacja). Otwórz go i skopiuj zawartość z pliku zip: IDE poprosi Cię o wykonanie synchronizacji Gradle, podczas której pobierze nordycką bibliotekę, na której opiera się aplikacja. Następnie możesz uruchomić aplikację raz i sprawdzić, czy działa.

Po zainstalowaniu aplikacji na urządzeniu przejdź do menu ustawień, wybierz Aplikacje i znajdź aplikację na liście. Wybierz go i kliknij „Autoryzacja”. Tam będziesz mieć kilka przycisków radiowych, które będą domyślnie wyłączone: zaznacz je wszystkie, aby upewnić się, że aplikacja ma dostęp do wszystkiego, czego potrzebuje.

Możesz teraz zaimportować pliki źródłowe z archiwum zip: najłatwiej to zrobić, tworząc nowe klasy (prawy przycisk myszy, nowy plik/klasa Kotlina) i nadając im taką samą nazwę jak te z archiwum. Po otwarciu pliku zajęć możesz skopiować i wkleić w nim kod.

Jeśli chcesz tylko korzystać z aplikacji, po prostu zmodyfikuj adres w wierszu 31 w klasie BTService i zamiast tego wprowadź adres uzyskany w poprzednim kroku. Teraz powinieneś być w stanie skompilować aplikację i uruchomić ją na swoim urządzeniu!

Jeśli chcesz dowiedzieć się więcej o działaniu aplikacji, czytaj dalej:-)

Poniższy diagram pozwoli lepiej zrozumieć, co dzieje się w aplikacji: - MainActivity to ta, z której użytkownik będzie korzystał tylko raz na jakiś czas: jej głównym celem jest umożliwienie wprowadzenia numeru telefonu osoby chcieliby się skontaktować podczas korzystania z Talosa, a także tekst, który im wyśle.

- BTService jest usługą pierwszoplanową, co oznacza, że za każdym razem, gdy jest uruchamiana, tworzy trwałe powiadomienia, które ograniczają prawdopodobieństwo, że usługa zostanie zabita przez Androida. Ta usługa próbuje połączyć się z Talos za pomocą klasycznego procesu Bluetooth Low Energy - użyłem przykładowego kodu Nordic i innych zasobów, które mogłem znaleźć. W tej chwili wygląda to specjalnie na UUID Pucka: należy zmienić tę wartość (private val remoteMacAddress = "CF:EB:2F:6E:33:30"), aby odpowiadała własnemu adresowi urządzenia uzyskanemu w poprzednim kroku. Po znalezieniu urządzenia i sprawdzeniu, czy posiada usługę, której szukamy, zapisuje się na powiadomienia o charakterystyce, które będą aktualizowane za każdym razem, gdy użytkownik naciśnie przycisk.

Gdy usługa BTService otrzyma aktualizację tej cechy, uruchomi obiekt LocalBroadcast, aby zareagowały inne składniki aplikacji. Zadzwoni również do SMSIntentService, aby wysłać SMS

- Usługa SMSIntentService pobierze numer telefonu i tekst z SharePreferences, aby mieć ostatnie wartości wprowadzone przez użytkownika. Następnie automatycznie wyśle wiadomość SMS bez interakcji użytkownika z aplikacją i doda do wiadomości SMS ostatnią znaną lokalizację użytkownika.

Krok 4: Projektowanie przypadku

Obecny futerał, z którym Puck jest dostarczany, zawiera już małą pętlę do przymocowania go do pęku kluczy, więc możemy prawie tak zostawić. Całkowicie biała silikonowa osłona, którą zdarzyło mi się nadal czuć dość dziwnie, aby nie wzbudzała podejrzeń, zaprojektowałam prosty przedmiot, który można umieścić na wierzchu Pucka. Mówią, że obraz jest wart tysiąca słów, pomyślałem, że dam ci 25 obrazów na sekundę: w poniższym filmie zobaczysz, jak użyłem Fusion 360 do stworzenia projektu, w tym polecenia i skróty, których użyłem:

Krok 5: Składanie wszystkiego razem

Teraz, gdy masz już różne komponenty, nadszedł czas, aby je złożyć ! Obecna obudowa modułu Puck ma już otwór, przez który można włożyć łańcuszek - zdarzyło mi się mieć stary brelok, który rozebrałem, ale te też można łatwo kupić. Pierścionek rozebrać szczypcami - po zlokalizowaniu otworu przesuń każdą połówkę w przeciwnych kierunkach, jedną do siebie, a drugą od siebie. Następnie możesz włożyć pierścień do krążka i zamknąć go z powrotem.

Wydrukuj w 3D projekt, który właśnie stworzyłeś – użyłem trochę fioletowego PLA i przystawiłem go na Pucku

Zalecana: