Cuprins:

Talos, pentru a vă menține în siguranță în timpul deplasării: 5 pași
Talos, pentru a vă menține în siguranță în timpul deplasării: 5 pași

Video: Talos, pentru a vă menține în siguranță în timpul deplasării: 5 pași

Video: Talos, pentru a vă menține în siguranță în timpul deplasării: 5 pași
Video: Semnele diabetului 👉 cei 5 PAȘI pe care ii poti face TU 2024, Iulie
Anonim
Talos, pentru a vă menține în siguranță în timpul navetei
Talos, pentru a vă menține în siguranță în timpul navetei

A fi victimă a hărțuirii în timpul navetei este un lucru destul de obișnuit pentru mulți oameni, în special pentru femei. Indiferent de țară, transportul public este adesea echivalent cu a ști că poți fi hărțuit sexual sau chiar urmărit în timp ce mergi spre casă. În acele situații, nu este întotdeauna ușor să reacționezi și să evaluezi amenințarea, de la o simplă sperietură de la un apel la o problemă reală care s-ar putea întâmpla ceva rău. Frica este întotdeauna un factor și faptul că nu dorim să atragem atenția potențialului hărțuitor ne poate împiedica să alertăm pe cineva în care avem încredere.

Talos este un dispozitiv mic care se conectează la telefonul dvs. și vă permite să trimiteți un text persoanei la alegere. SMS-ul include automat ultima locație cunoscută și textul preînregistrat la alegere. Cu aspectul unui simplu breloc, Talos rămâne prins în geantă și vă permite să îl activați discret apăsând pe el, ceea ce declanșează trimiterea mesajului text. Consumul său redus de energie înseamnă că nu trebuie să îl încărcați în fiecare zi și riscați să-l uitați - sau doar să vi se reamintească în fiecare zi amenințarea cu care vă confruntați.

Acest proiect are trei părți:

- Modul fizic: am folosit un modul Puck-js, care se bazează pe modulul nRF52832 și poate fi programat folosind Javascript datorită aplicației Espruino - Android: am creat o aplicație simplă care se conectează la modul - Capacul brelocului: am făcut o simplă husa pentru ca Puck JS sa arate ca un simplu breloc

Provizii

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

- Telefon Android cu cel puțin versiunea 8.0 - Un computer cu Android Studio instalat

- Imprimantă 3D (opțional)

Pasul 1: Prezentare generală

Prezentare generală
Prezentare generală

Această diagramă ar trebui să vă ofere o idee despre diferitele componente: codul de pe modulul Puck în sine este foarte simplu și lăsăm aplicația Android să se ocupe de conexiune, mai degrabă decât să scaneze Puck pentru telefon. Vom folosi Bluetooth Low Energy și caracteristicile sale pentru a comunica între aplicație și dispozitiv, pentru a păstra durata de viață a bateriei

Pasul 2: Programarea Puck

Programarea Puck
Programarea Puck

După ce ați verificat pe puck-js.com că browserul și computerul acceptă Web Bluetooth, accesați www.espruino.com/ide și conectați-vă la Puck făcând clic pe pictograma plug din colțul din stânga sus al paginii.

Apoi puteți copia și lipi codul din fișierul atașat în editor și trimite-l la Puck.

În prima parte a codului, definim funcția Blink și updateCharacteristic, pe care o vom folosi mai târziu în cod. În funcția updateCharacteristic, atribuim data curentă caracteristicii pentru a ne asigura că va fi văzută într-adevăr ca o nouă valoare. Apoi notificăm oricărui abonat al acestei actualizări.

După aceste declarații, pe codul care va fi executat:

Codul de pe linia 56 vă permite să preluați adresa fizică a Puck-ului dvs., pe care va trebui să îl codificați în aplicația Android: decomentați această linie și veți vedea adresa în jurnalele din partea stângă a IDE (a se vedea atașat captură de ecran). Odată ce ai această valoare, poți să comentezi rândul sau să o lași așa.

După aceea, definim un serviciu BLE personalizat (UUID-urile sunt valori aleatorii) cu trei caracteristici diferite, toate fiind notificabile. Nu vom folosi valorile în sine pentru a ne transmite mesajul, ci doar faptul că s-au schimbat.

Pe liniile 78 și 79, setăm niște ascultători care vor face ca LED-ul integrat să clipească ori de câte ori dispozitivul este conectat sau deconectat de la un alt dispozitiv Bluetooth. În cele din urmă, pe linia 81, atașăm o întrerupere la butonul integrat, astfel încât apăsarea acestuia va apela actualizarea Funcția caracteristică

Pasul 3: Crearea aplicației Android

Crearea aplicației Android
Crearea aplicației Android
Crearea aplicației Android
Crearea aplicației Android
Crearea aplicației Android
Crearea aplicației Android
Crearea aplicației Android
Crearea aplicației Android

Deoarece întreaga aplicație include câteva biblioteci destul de grele, am inclus numai fișierele sursă și fișierul gradle pentru aplicație în fișierul zip atașat. Pentru a-l face să funcționeze, trebuie să lansați Android Studio și să creați un nou proiect (alegeți Activitate goală, vedeți captura de ecran). Selectați 26 (Android 8.0, Oreo) ca versiune minimă pentru aplicație, deoarece unele dintre codurile pe care le-am scris folosesc API-uri care nu existau înainte. Odată ce proiectul dvs. este configurat, veți avea un fișier build.gradle pentru aplicație (marcat build.gradle - Module: App). Deschideți-l și copiați conținutul din fișierul zip: IDE vă va solicita să faceți o sincronizare Gradle în timpul căreia va descărca biblioteca nordică pe care se bazează aplicația. Apoi, puteți lansa aplicația o dată și puteți verifica dacă funcționează.

Odată ce aplicația este instalată pe dispozitiv, accesați meniul de setări, alegeți Aplicații și găsiți aplicația în listă. Selectați-l și faceți clic pe „Autorizații”. Acolo, veți avea câteva butoane radio care vor fi dezactivate în mod implicit: verificați-le pe toate pentru a vă asigura că aplicația are acces la tot ce are nevoie.

Acum puteți importa fișierele sursă din arhiva zip: cel mai simplu mod de a face acest lucru este să creați clase noi (faceți clic dreapta, nou fișier / clasă Kotlin) și să le dați același nume ca cele din arhivă. Odată ce fișierul clasei este deschis, puteți copia și lipi codul în ele.

Dacă doriți doar să utilizați aplicația, modificați adresa de pe linia 31 din clasa BTService și introduceți adresa pe care ați obținut-o în pasul anterior. Acum ar trebui să puteți compila aplicația și să o rulați pe dispozitiv!

Dacă doriți să aflați mai multe despre cum funcționează aplicația, citiți mai departe:-)

Următoarea diagramă vă va oferi o mai bună înțelegere a ceea ce se întâmplă în interiorul aplicației: - MainActivity este cea pe care utilizatorul o va folosi doar din când în când: scopul său principal este ca aceștia să poată introduce numărul de telefon al persoanei ar dori să contacteze atunci când utilizează Talos, precum și textul pentru a le trimite.

- BTService este un serviciu de prim-plan, ceea ce înseamnă că, de fiecare dată când este lansat, creează notificări persistente care limitează asemănarea serviciului ucis de Android. Acest serviciu încearcă să se conecteze la Talos folosind procesul clasic Bluetooth Low Energy - am folosit exemplul de cod al Nordic și celelalte resurse pe care le-am putut găsi. În acest moment, pare în mod specific UUID-ul Puck: ar trebui să modificați această valoare (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") pentru a se potrivi cu adresa propriului dispozitiv obținută în pasul anterior. După găsirea dispozitivului și verificarea faptului că acesta are serviciul pe care îl căutăm, acesta se abonează la notificările pentru caracteristica care vor fi actualizate ori de câte ori utilizatorul apasă butonul.

Când BTService primește o actualizare pentru această caracteristică, va declanșa un obiect LocalBroadcast pentru ca celelalte componente ale aplicației să reacționeze. De asemenea, va apela SMSIntentService pentru ca acesta să trimită SMS-ul

- SMSIntentService va prelua numărul de telefon și textul din SharePreferences pentru a avea ultimele valori introduse de utilizator. Apoi va trimite automat SMS-ul fără ca utilizatorul să interacționeze cu aplicația și va adăuga ultima locație cunoscută a utilizatorului la SMS.

Pasul 4: Proiectarea unui caz

Carcasa actuală cu care vine Puck include deja o buclă mică pentru a fi atașată la un breloc, așa că am putea aproape să o lăsăm așa. Învelișul din siliciu de culoare albă pe care mi s-a întâmplat să-l simt încă destul de ciudat, așa că, pentru a nu atrage suspiciuni, am proiectat un obiect simplu pe care să-l pun deasupra Puck-ului. Se spune că o imagine merită o mie de cuvinte, m-am gândit să vă dau 25 de imagini pe secundă: în următorul videoclip, veți vedea cum am folosit Fusion 360 pentru a crea designul, inclusiv comenzile și comenzile rapide pe care le-am folosit:

Pasul 5: Puneți totul împreună

Acum, că aveți diferitele componente, este timpul să le puneți împreună! Carcasa actuală a modulului Puck are deja o gaură pe care o puteți folosi pentru a introduce un lanț - întâmplător am avut un breloc vechi pe care l-am desfăcut, dar le puteți cumpăra și cu ușurință. Îndepărtați inelul folosind clești - după ce ați localizat deschiderea inelului, mișcați fiecare jumătate în direcții opuse, una spre voi și cealaltă departe de voi. Apoi puteți introduce inelul în Puck și îl puteți închide înapoi.

Imprimați 3D designul pe care tocmai l-ați creat - am folosit niște PLA purpurii și am introdus-o pe partea de sus a Puck

Recomandat: