INHOUDSOPGAWE:

Talos, wat u veilig hou tydens u pendel: 5 stappe
Talos, wat u veilig hou tydens u pendel: 5 stappe

Video: Talos, wat u veilig hou tydens u pendel: 5 stappe

Video: Talos, wat u veilig hou tydens u pendel: 5 stappe
Video: Part 5 - Walden Audiobook by Henry David Thoreau (Chs 12-15) 2024, Julie
Anonim
Talos, hou u veilig tydens u pendel
Talos, hou u veilig tydens u pendel

Die slagoffer van teistering tydens pendel is 'n redelik algemene ding vir baie mense, veral vroue. In watter land ook al, om met openbare vervoer te gaan, is dikwels gelyk aan die wete dat u seksueel geteister kan word, of selfs gevolg kan word terwyl u huis toe stap. In hierdie situasies is dit nie altyd maklik om te reageer en die bedreiging te beoordeel nie, van 'n eenvoudige skrik van 'n oproep tot 'n werklike bekommernis dat iets erg kan gebeur. Vrees is altyd 'n faktor, en as ons nie die aandag van die potensiële teisteraar wil vestig nie, kan dit ons verhinder om iemand wat ons vertrou te waarsku.

Talos is 'n klein toestel wat met u telefoon verbind kan word, waarmee u 'n SMS kan stuur na die persoon van u keuse. Die SMS bevat outomaties u laaste bekende ligging en die vooraf opgeneemde teks van u keuse. Met die voorkoms van 'n eenvoudige sleutelhanger, bly Talos in u tas vasgemaak en laat u dit diskreet aktiveer deur daarop te druk, wat die stuur van die sms -boodskap veroorsaak. Die lae kragverbruik beteken dat u dit nie daagliks hoef op te laai nie en nie die risiko loop om dit te vergeet nie - of net elke dag herinner word aan die bedreiging wat u in die gesig staar.

Daar is drie dele van hierdie projek:

- Fisiese module: ek het 'n Puck-js-module gebruik, wat gebaseer is op die nRF52832-module en met Javascript geprogrammeer kan word danksy Espruino- Android-app: ek het 'n eenvoudige app geskep wat aansluit by die module- Sleutelhangeromslag: ek het 'n eenvoudige omslag vir die Puck JS om soos 'n eenvoudige sleutelhanger te lyk

Voorrade

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

- Android-telefoon met ten minste weergawe 8.0- 'n Rekenaar met Android Studio geïnstalleer

- 3D -drukker (opsioneel)

Stap 1: Oorsig

Oorsig
Oorsig

Hierdie diagram moet u 'n idee gee van die verskillende komponente: die kode op die Puck -module self is regtig eenvoudig, en ons laat die Android -app sorg vir die verbinding eerder as om die Puck na die telefoon te soek. Ons gebruik Bluetooth Low Energy en sy kenmerke om tussen die app en die toestel te kommunikeer om die batterylewe te behou

Stap 2: Programmering van die puck

Die programmering van die Puck
Die programmering van die Puck

Nadat u op puck-js.com nagegaan het dat u blaaier en rekenaar Web Bluetooth ondersteun, gaan u na www.espruino.com/ide en maak verbinding met u Puck deur op die prop-ikoon in die linker boonste hoek van die bladsy te klik.

U kan die kode van die aangehegte lêer dan in die redakteur kopieer en plak en dit na die Puck stuur.

In die eerste deel van die kode definieer ons die funksie Blink en updateCharacteristic, wat ons later in die kode sal gebruik. In die updateCharacteristic -funksie ken ons die huidige datum toe aan die kenmerk om seker te maak dat dit inderdaad as 'n nuwe waarde beskou sal word. Ons stel dan 'n intekenaar van hierdie opdatering in kennis.

Na die verklarings, op die kode wat uitgevoer sal word:

Met die kode op reël 56 kan u die fisiese adres van u Puck opspoor, wat u in die Android -app sal moet kodeer: los hierdie reël op en u sal die adres op die logs aan die linkerkant van die IDE sien (sien aangeheg kiekie). Sodra u hierdie waarde het, kan u die reël kommentaar lewer of dit so laat.

Daarna definieer ons een pasgemaakte BLE -diens (die UUID's is ewekansige waardes) met drie verskillende eienskappe, wat almal aanmeldbaar is. Ons sal nie die waardes self gebruik om ons boodskap oor te dra nie, maar slegs die feit dat dit verander het.

Op reëls 78 en 79 stel ons 'n paar luisteraars op wat die geïntegreerde LED sal laat flikker wanneer die toestel gekoppel of ontkoppel word van 'n ander Bluetooth -toestel. Uiteindelik, op reël 81, heg ons 'n onderbreking aan die geïntegreerde knoppie, sodat 'n opdatering 'n kenmerkende funksie genoem word deur daarop te druk

Stap 3: Skep die Android -app

Die skep van die Android -app
Die skep van die Android -app
Die skep van die Android -app
Die skep van die Android -app
Die skep van die Android -app
Die skep van die Android -app
Die skep van die Android -app
Die skep van die Android -app

Aangesien die hele app 'n paar taamlik swaar biblioteke bevat, het ek slegs die bronlêers en die gradle -lêer vir die app in die aangehegte zip ingesluit. Om dit te laat werk, moet u Android -ateljee begin en 'n nuwe projek skep (kies Leë aktiwiteit, sien skermkiekie). Kies 26 (Android 8.0, Oreo) as die minimum weergawe vir die app, aangesien sommige van die kode wat ek geskryf het, API's gebruik wat voorheen nie bestaan het nie. Sodra u projek opgestel is, het u 'n build.gradle -lêer vir die app (gemerk build.gradle - module: app). Maak dit oop en kopieer die inhoud van die zip -lêer: die IDE sal u versoek om 'n Gradle -sinkronisering te doen waartydens dit die Nordiese biblioteek waarop die app staatmaak, sal aflaai. U kan die app dan een keer begin en kyk of dit werk.

Sodra die app op u toestel geïnstalleer is, gaan na die instellingsmenu, kies programme en vind die app in die lys. Kies dit en klik op "Autorisasies". Daar sal u 'n paar radioknoppies hê wat standaard uitgeskakel is: kyk almal om seker te maak dat die app toegang het tot alles wat dit nodig het.

U kan nou die bronlêers uit die zip -argief invoer: die maklikste manier om dit te doen, is om nuwe klasse te skep (met die rechtermuisknop, nuwe Kotlin -lêer/klas) en dieselfde naam te gee as dié uit die argief. Sodra die klaslêer oop is, kan u die kode daarin plak en plak.

As u slegs die app wil gebruik, verander net die adres op reël 31 in die BTService -klas en voer die adres in wat u in die vorige stap gekry het. U moet nou die app kan saamstel en op u toestel kan laat loop!

As u meer wil weet oor hoe die app werk, lees dan verder:-)

Die volgende diagram gee u 'n beter begrip van wat in die app gebeur: - Die MainActivity is die een wat die gebruiker slegs af en toe sal gebruik: die hoofdoel daarvan is dat hulle die telefoonnommer van die persoon kan invoer hulle wil graag kontak maak met die gebruik van Talos, sowel as die teks om dit te stuur.

- Die BTService is 'n voorgronddiens, wat beteken dat wanneer dit begin word, dit 'n aanhoudende kennisgewing skep wat die eendersheid van die diens wat deur Android vermoor word, beperk. Hierdie diens probeer kontak maak met die Talos met behulp van die klassieke Bluetooth Low Energy -proses - ek het die voorbeeldkode van Nordic en die ander hulpbronne wat ek kon vind, gebruik. Op die oomblik lyk dit spesifiek na die UUID van die Puck: u moet hierdie waarde verander (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") om te pas by die adres van u toestel wat in die vorige stap verkry is. Nadat u die toestel gevind het en gekontroleer het of dit die diens het waarna ons soek, teken dit in op die kennisgewings vir die kenmerk wat bygewerk sal word wanneer die gebruiker op die knoppie druk.

As die BTS -diens wel 'n opdatering vir hierdie eienskap ontvang, sal dit 'n LocalBroadcast -voorwerp afvuur sodat die ander komponente van die app kan reageer. Dit sal ook die SMSIntentService bel om die SMS te stuur

- Die SMSIntentService sal die telefoonnommer en teks van die SharePreferences ophaal om die laaste waardes deur die gebruiker in te voer. Dit sal dan outomaties die SMS stuur sonder dat die gebruiker met die app omgaan, en die gebruiker se laaste bekende ligging by die SMS voeg.

Stap 4: Ontwerp 'n kas

Die huidige omhulsel waarmee die Puck kom, bevat reeds 'n klein lus om aan 'n sleutelhanger vasgemaak te word, sodat ons dit amper so kan laat. Die heeltemal wit silikonomhulsel wat ek toevallig nog steeds baie vreemd gevoel het, sodat ek geen agterdog kon lok nie, het ek 'n eenvoudige voorwerp ontwerp om bo -op die Puck te sit. Hulle sê dat 'n foto duisend woorde werd is; ek het gedink ek gee jou 25 beelde per sekonde: in die volgende video sal jy sien hoe ek Fusion 360 gebruik het om die ontwerp te maak, insluitend die opdragte en kortpaaie wat ek gebruik het:

Stap 5: Alles saamvoeg

Noudat u die verskillende komponente het, is dit tyd om dit aanmekaar te sit! Die huidige omhulsel van die Puck -module het reeds 'n gat waarmee u 'n ketting kan plaas - ek het toevallig 'n ou sleutelhanger gehad wat ek uitmekaar gehaal het, maar u kan dit ook maklik koop. Haal die ring uitmekaar met 'n tang - sodra u die opening van die ring gevind het, beweeg elke helfte in teenoorgestelde rigtings, een na u toe en die ander een van u af. U kan die ring dan in die Puck steek en dit weer toemaak.

3D -druk die ontwerp wat u so pas geskep het - ek gebruik 'n paar pers PLA en klik bo -op die Puck

Aanbeveel: