Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Yleiskatsaus
- Vaihe 2: Kiekon ohjelmointi
- Vaihe 3: Android -sovelluksen luominen
- Vaihe 4: Kotelon suunnittelu
- Vaihe 5: Yhdistä kaikki
Video: Talos, turvassa matkustamisen aikana: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Ahdistelun uhri työmatkalla on melko yleinen asia monille ihmisille, erityisesti naisille. Olipa maa mikä tahansa, julkisilla kulkuvälineillä ajaminen tarkoittaa usein sitä, että tiedät, että sinua voidaan häiritä seksuaalisesti tai jopa seurata sinua kävellessäsi kotiin. Näissä tilanteissa ei ole aina helppoa reagoida ja arvioida uhkaa, yksinkertaisesta pelottelusta catcallista todelliseen huoleen, että jotain pahaa voi tapahtua. Pelko on aina tekijä, ja jos emme halua kiinnittää potentiaalisen häiritsijän huomiota, se voi estää meitä varoittamasta jotakuta, johon luotamme.
Talos on pieni laite, joka muodostaa yhteyden puhelimeesi ja jonka avulla voit lähettää tekstin valitsemallesi henkilölle. Tekstiviesti sisältää automaattisesti viimeisen tunnetun sijaintisi ja valitsemasi esitallennetun tekstin. Yksinkertaisen avaimenperän ulkonäön ansiosta Talos pysyy kiinni laukussasi ja voit aktivoida sen huomaamattomasti painamalla sitä, mikä käynnistää tekstiviestin lähettämisen. Sen alhainen virrankulutus tarkoittaa, että sinun ei tarvitse ladata sitä päivittäin ja vaarassa unohtaa se - tai vain muistuttaa sinua päivittäin uhkasta.
Tässä projektissa on kolme osaa:
- Fyysinen moduuli: Käytin Puck-js-moduulia, joka perustuu nRF52832-moduuliin ja voidaan ohjelmoida Javascriptilla Espruinon ansiosta.- Android-sovellus: loin yksinkertaisen sovelluksen, joka yhdistää moduulin- Avaimenperän kansi: Tein yksinkertaisen Puck JS: n kansi näyttää yksinkertaiselta avaimenperältä
Tarvikkeet
- Puck.js-moduuli (https://www.puck-js.com)
- Android-puhelin, jonka versio on vähintään 8.0- Tietokone, johon on asennettu Android Studio
- 3D -tulostin (valinnainen)
Vaihe 1: Yleiskatsaus
Tämän kaavion pitäisi antaa sinulle käsitys eri komponenteista: itse Puck -moduulin koodi on todella yksinkertainen, ja annamme Android -sovelluksen hoitaa yhteyden sen sijaan, että Puck skannaa puhelimen. Käytämme Bluetooth Low Energy -ominaisuutta ja sen ominaisuuksia kommunikoidaksesi sovelluksen ja laitteen välillä akun käyttöiän säilyttämiseksi
Vaihe 2: Kiekon ohjelmointi
Kun olet tarkistanut puck-js.com-sivustolta, että selaimesi ja tietokoneesi tukevat Web Bluetoothia, siirry osoitteeseen www.espruino.com/ide ja muodosta yhteys Puckiin napsauttamalla sivun vasemmassa yläkulmassa olevaa pistokekuvaketta.
Voit sitten kopioida ja liittää koodin liitteenä olevasta tiedostosta editoriin ja lähettää sen Puckille.
Koodin ensimmäisessä osassa määritellään Blink and updateCharacteristic -toiminto, jota käytämme myöhemmin koodissa. UpdateCharacteristic -funktiossa määritämme ominaisuuden nykyisen päivämäärän varmistaaksemme, että se todella nähdään uutena arvona. Ilmoitamme sitten päivityksen tilaajille.
Näiden ilmoitusten jälkeen suoritettavaan koodiin:
Rivillä 56 olevan koodin avulla voit noutaa kiekosi fyysisen osoitteen, joka sinun täytyy taistella Android -sovelluksessa: poista kommentti tästä rivistä ja näet osoitteen IDE: n vasemmalla puolella olevissa lokeissa (katso liitteenä) kuvakaappaus). Kun olet saanut tämän arvon, voit kommentoida riviä tai jättää sen niin.
Sen jälkeen määritämme yhden mukautetun BLE -palvelun (UUID: t ovat satunnaisia arvoja), joilla on kolme eri ominaisuutta, joista kaikki on ilmoitettava. Emme käytä itse arvoja viestimme välittämiseen, vaan vain sitä, että ne ovat muuttuneet.
Riveille 78 ja 79 asetamme joitakin kuuntelijoita, jotka saavat integroidun LED -valon vilkkumaan aina, kun laite yhdistetään tai irrotetaan toisesta Bluetooth -laitteesta. Lopuksi rivillä 81 liitämme keskeytyksen integroituun painikkeeseen niin, että sen painaminen kutsuu updateCharacteristic -toiminnon
Vaihe 3: Android -sovelluksen luominen
Koska koko sovellus sisältää melko raskaita kirjastoja, olen sisällyttänyt vain lähdetiedostot ja sovelluksen gradle -tiedoston liitteenä olevan zipin sisälle. Jotta se toimisi, sinun on käynnistettävä Android -studio ja luotava uusi projekti (valitse Tyhjä toiminta, katso kuvakaappaus). Valitse sovelluksen vähimmäisversioksi 26 (Android 8.0, Oreo), koska osa kirjoittamastani koodista käyttää sovellusliittymiä, joita ei ollut ennen. Kun projekti on asennettu, sinulla on build.gradle -tiedosto sovellukselle (merkitty build.gradle - Module: App). Avaa se ja kopioi sisältö zip -tiedostosta: IDE pyytää sinua tekemään Gradle -synkronoinnin, jonka aikana se lataa sovelluksen käyttämän pohjoismaisen kirjaston. Voit sitten käynnistää sovelluksen kerran ja tarkistaa, että se toimii.
Kun sovellus on asennettu laitteellesi, siirry asetusvalikkoon, valitse Sovellukset ja etsi sovellus luettelosta. Valitse se ja napsauta "Autorisations". Siellä sinulla on muutamia valintanappeja, jotka ovat oletusarvoisesti pois päältä: tarkista ne kaikki varmistaaksesi, että sovelluksella on pääsy kaikkeen mitä se tarvitsee.
Voit nyt tuoda lähdetiedostot zip -arkistosta: helpoin tapa tehdä se on luoda uusia luokkia (hiiren kakkospainike, uusi Kotlin -tiedosto/luokka) ja antaa niille sama nimi kuin arkistosta. Kun luokkatiedosto on avattu, voit kopioida ja liittää koodin niihin.
Jos haluat käyttää vain sovellusta, muuta vain BTService -luokan rivillä 31 olevaa osoitetta ja syötä sen sijaan edellisessä vaiheessa saamasi osoite. Sinun pitäisi nyt pystyä kääntämään sovellus ja suorittaa se laitteellasi!
Jos haluat tietää enemmän sovelluksen toiminnasta, lue:-)
Seuraava kaavio antaa sinulle paremman käsityksen siitä, mitä sovelluksen sisällä tapahtuu: - MainActivity on sellainen, jota käyttäjä käyttää vain kerran: sen päätarkoitus on, että hän voi syöttää henkilön puhelinnumeron he haluaisivat ottaa yhteyttä, kun he käyttävät Talosia, sekä tekstin niiden lähettämiseksi.
- BTService on etualalla oleva palvelu, mikä tarkoittaa, että aina kun se käynnistetään, se luo jatkuvia ilmoituksia, jotka rajoittavat Androidin tappamisen todennäköisyyttä. Tämä palvelu yrittää muodostaa yhteyden Talosiin käyttämällä perinteistä Bluetooth Low Energy -prosessia - olen käyttänyt Nordicin esimerkkikoodia ja muita löytämiäni resursseja. Tällä hetkellä se etsii erityisesti kiekon UUID -tunnusta: sinun pitäisi muuttaa tätä arvoa (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") vastaamaan laitteesi omaa osoitetta, joka on saatu edellisessä vaiheessa. Löydettyään laitteen ja tarkistettuaan, että sillä on etsimämme palvelu, se tilaa ilmoitukset ominaisuudesta, joka päivitetään aina, kun käyttäjä painaa painiketta.
Kun BTS -palvelu saa päivityksen tälle ominaisuudelle, se laukaisee LocalBroadcast -objektin, jotta muut sovelluksen komponentit voivat reagoida. Se soittaa myös SMSIntentService -palveluun, jotta se voi lähettää tekstiviestin
- SMSIntentService hakee puhelinnumeron ja tekstin SharePreferencesista, jotta käyttäjä voi syöttää viimeiset arvot. Se lähettää sitten automaattisesti tekstiviestin ilman käyttäjän vuorovaikutusta sovelluksen kanssa ja lisää käyttäjän viimeisen tunnetun sijainnin tekstiviestiin.
Vaihe 4: Kotelon suunnittelu
Nykyinen kiekon mukana tuleva kotelo sisältää jo pienen silmukan sen kiinnittämiseksi avaimenperään, joten voisimme melkein jättää sen näin. Koko valkoinen silikonikansi, jonka satun tuntemaan, tuntui edelleen melko oudolta, joten jotta se ei herättäisi epäilyksiä, suunnittelin yksinkertaisen esineen kiekon päälle. He sanovat, että kuva on tuhannen sanan arvoinen, ajattelin antaa sinulle 25 kuvaa sekunnissa: seuraavassa videossa näet, kuinka olen käyttänyt Fusion 360: ta suunnittelun luomiseen, mukaan lukien käyttämäni komennot ja pikavalinnat:
Vaihe 5: Yhdistä kaikki
Nyt kun sinulla on eri komponentit, on aika koota ne yhteen! Nykyisessä Puck -moduulin kotelossa on jo reikä, jonka avulla voit lisätä ketjun - sattui olemaan vanha avaimenperä, jonka purin, mutta voit ostaa ne myös helposti. Irrota rengas pihdeillä - kun olet löytänyt renkaan aukon, siirrä puolikkaat vastakkaisiin suuntiin, yksi itseäsi kohti ja toinen poispäin sinusta. Tämän jälkeen voit laittaa renkaan kiekkoon ja sulkea sen takaisin.
3D -tulostus juuri luomallesi mallille - käytin purppuraa PLA: ta ja napsautin kiekon päälle
Suositeltava:
Automaattinen hana (kosketukseton) Arduinon avulla - Pese kädet ja pysy turvassa COVID -19 -kriisin aikana: 4 vaihetta
Automaattinen hana (kosketukseton) Arduinon avulla - Pese kädet ja pysy turvassa COVID -19 -kriisin aikana: Hei ystävät! Toivon, että voitte kaikki hyvin ja pysytte turvassa. Tässä viestissä kerron sinulle prototyypistäni, jonka suunnittelin pesemään kädet turvallisesti. Tein tämän projektin rajallisilla resursseilla. Kiinnostuneet voivat tehdä tämän pro
Pidä Windows turvassa: 10 vaihetta
Pidä Windows turvassa: hakkerointi- Sana, joka kiehtoo mutta pelottaa meitä kaikkia. Se tarkoittaa, että voit olla täysin cool-pavut-techy-henkilö tai tulla hakkeroiduksi. Nykypäivän digitaalisessa maailmassa, jossa kaikki riippuu tietokoneista ja älypuhelimista, hakkerointi ei ole se, mitä me
Iskuvoima juoksijan kantapäähän ja jalkaan ajon aikana: 6 vaihetta
Iskuvoima juoksijan kantapäähän ja jalkaan ajon aikana: Projektissani halusin testata sitä voiman määrää, johon juoksijan kantapää ja jalka altistuvat, ja jos uudet juoksukengät todella vähentävät voimaa. Kiihtyvyysmittari on laite, joka havaitsee kiihtyvyyden X-, Y- ja Z -akseleilla. Kiihtyvyys on mitta
Pysy turvassa käyttämällä tätä pyörävaloa suuntavilkuilla: 5 vaihetta (kuvilla)
Pysy turvassa käyttämällä tätä pyörävaloa suuntavilkuilla: Rakastan ajaa pyörällä, yleensä käytän sitä kouluun. Talvella ulkona on useimmiten vielä pimeää ja muiden ajoneuvojen on vaikea nähdä käden suuntavaloja. Siksi se on suuri vaara, koska kuorma -autot eivät ehkä näe, että haluan
Sääasema Arduinolla, BME280: lla ja näytöllä, jotta näet trendin viimeisten 1-2 päivän aikana: 3 vaihetta (kuvilla)
Sääasema Arduinolla, BME280: lla ja näytöllä, joka näyttää trendin viimeisten 1-2 päivän aikana: Hei! Tässä ohjeissa sääasemat on jo otettu käyttöön. Ne näyttävät nykyisen ilmanpaineen, lämpötilan ja kosteuden. Heiltä puuttui toistaiseksi kurssin esittely viimeisten 1-2 päivän aikana. Tällä prosessilla olisi