Mündəricat:
- Təchizat
- Addım 1: Baxış
- Addım 2: Diskin proqramlaşdırılması
- Addım 3: Android tətbiqinin yaradılması
- Addım 4: Davanın dizaynı
- Addım 5: Hamısını bir araya gətirmək
Video: Talos, gediş zamanı sizi təhlükəsiz saxlayır: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
İşə gedərkən təcavüz qurbanı olmaq bir çox insanlar üçün, xüsusən də qadınlar üçün olduqca yaygın bir şeydir. Ölkə nə olursa olsun, ictimai nəqliyyata minmək, evə gedərkən cinsi təcavüzə məruz qala biləcəyinizi və hətta təqib oluna biləcəyinizə bərabərdir. Bu vəziyyətlərdə, qorxudan qorxudan tutmuş, pis bir şeyin baş verə biləcəyi təhlükəyə qədər təhlükəyə reaksiya vermək və onu qiymətləndirmək həmişə asan olmur. Qorxu həmişə bir faktordur və potensial təcavüzkarın diqqətini çəkmək istəməmək, güvəndiyimiz birini xəbərdar etməyimizə mane ola bilər.
Talos, telefonunuza qoşulan və seçdiyiniz şəxsə mətn göndərməyə imkan verən kiçik bir cihazdır. SMS avtomatik olaraq son bilinən yerinizi və seçdiyiniz əvvəlcədən yazılmış mətni ehtiva edir. Sadə bir açar zəncirinin görünüşü ilə Talos çantanızda qalır və mətn mesajının göndərilməsinə səbəb olan düyməni basaraq aktivləşdirməyə imkan verir. Aşağı enerji istehlakı, onu hər gün doldurmaq məcburiyyətində qalmadığınız və unutmaq riskiniz olduğunu və ya hər gün üzləşdiyiniz təhlükəni xatırlatmaq deməkdir.
Bu layihənin üç hissəsi var:
- Fiziki modul: nRF52832 moduluna əsaslanan və Espruino sayəsində Javascript istifadə edərək proqramlaşdırıla bilən Puck-js modulundan istifadə etdim- Android tətbiqi: Modula bağlanan sadə bir tətbiq yaratdım- Anahtarlık qapağı: Sadə bir şey etdim Puck JS -in sadə bir anahtarlıq kimi görünməsi üçün örtük
Təchizat
- Puck.js modulu (https://www.puck-js.com)
- Ən az 8.0 versiyalı Android Telefon- Android Studio quraşdırılmış bir kompüter
- 3D printer (isteğe bağlı)
Addım 1: Baxış
Bu diaqram sizə fərqli komponentlər haqqında bir fikir verməlidir: Puck modulundakı kod həqiqətən sadədir və Android tətbiqinin telefon üçün Puck taramasından daha çox əlaqəyə diqqət yetirməsinə icazə veririk. Batareya ömrünü qorumaq üçün tətbiq ilə cihaz arasında əlaqə qurmaq üçün Bluetooth Low Energy və xüsusiyyətlərindən istifadə edəcəyik
Addım 2: Diskin proqramlaşdırılması
Puck-js.com saytında brauzerinizin və kompüterinizin Web Bluetooth-u dəstəklədiyini yoxladıqdan sonra www.espruino.com/ide ünvanına daxil olun və səhifənin sol üst küncündəki fiş simgesini tıklayaraq Diskinizə qoşulun.
Daha sonra əlavə edilmiş fayldakı kodu redaktora kopyalayıb yapışdırıb Puck -a göndərə bilərsiniz.
Kodun birinci hissəsində, daha sonra kodda istifadə edəcəyimiz Blink and updateCharacteristic funksiyasını təyin edirik. UpdateCharacteristic funksiyasında, həqiqətən də yeni bir dəyər olaraq görüləcəyinə əmin olmaq üçün cari tarixi xarakteristikaya təyin edirik. Bu yeniləmənin hər hansı bir abunəçisini xəbərdar edirik.
Bu bəyannamələrdən sonra icra olunacaq kodun üzərinə:
56 -cı sətirdəki kod, Puck -ın fiziki ünvanını Android tətbiqində kodlaşdırmanız lazım olan məlumatları əldə etməyə imkan verir: bu sətirdən yazın və IDE -nin sol tərəfindəki qeydlərdə qeydləri görəcəksiniz. ekran görüntüsü). Bu dəyəri əldə etdikdən sonra xətti şərh edə və ya bu şəkildə tərk edə bilərsiniz.
Bundan sonra, hamısı bildirilə bilən üç fərqli xüsusiyyətə malik bir xüsusi BLE xidməti (UUID -lər təsadüfi dəyərlər) təyin edirik. Mesajımızı çatdırmaq üçün dəyərləri özümüzdən istifadə etməyəcəyik, sadəcə dəyişdiklərini sübut edəcəyik.
78 və 79 -cu sətirlərdə, cihaz başqa bir Bluetooth cihazına qoşulduqda və ya ayrıldıqda inteqrasiya olunmuş LED -in yanıb -sönməsinə səbəb olacaq bəzi dinləyiciləri təyin edirik. Nəhayət, 81 -ci sətirdə, inteqrasiya olunmuş düyməyə bir kəsmə əlavə edirik ki, onu basmaqla updateCharacteristic funksiyası çağırılacaq.
Addım 3: Android tətbiqinin yaradılması
Bütün tətbiqetmədə kifayət qədər ağır kitabxanalar olduğu üçün, əlavə edilmiş zipin içərisində tətbiq üçün yalnız mənbə faylları və dərəcə faylını daxil etdim. İşləmək üçün Android studiyasını işə salmalı və yeni bir layihə yaratmalısınız (Boş Fəaliyyəti seçin, ekran görüntüsünə baxın). Yazdığım bəzi kodlar bundan əvvəl mövcud olmayan API -lərdən istifadə etdiyi üçün tətbiq üçün minimum versiya olaraq 26 (Android 8.0, Oreo) seçin. Layihəniz qurulduqdan sonra, Tətbiq üçün bir build.gradle faylınız olacaq (build.gradle - Modul: Tətbiq olaraq qeyd olunur). Açın və məzmunu zip faylından kopyalayın: IDE, Gradle sinxronizasiyası etməyinizi istəyəcək, bu müddət ərzində tətbiqin etibar etdiyi Skandinaviya kitabxanasını yükləyəcək. Sonra proqramı bir dəfə işə sala və işlədiyini yoxlaya bilərsiniz.
Tətbiq cihazınıza quraşdırıldıqdan sonra parametrlər menyunuza gedin, Proqramlar seçin və siyahıdan tətbiq tapın. Bunu seçin və "Autorisations" düyməsini basın. Orada, bir neçə radio düyməsinə sahib olacaqsınız: tətbiqin ehtiyac duyduğu hər şeyə daxil olduğundan əmin olmaq üçün hamısını yoxlayın.
İndi mənbə fayllarını zip arxivindən idxal edə bilərsiniz: bunun ən asan yolu yeni siniflər (sağ klik, yeni Kotlin faylı/sinfi) yaratmaq və onlara arxivdəki fayllarla eyni adı verməkdir. Sinif faylı açıldıqdan sonra kodu kopyalayıb yapışdıra bilərsiniz.
Yalnız tətbiqdən istifadə etmək istəyirsinizsə, BTService sinifindəki 31 -ci sətirdəki ünvanı dəyişdirin və əvvəlki addımda əldə etdiyiniz ünvanı daxil edin. İndi proqramı tərtib edib cihazınızda işlədə bilməlisiniz!
Tətbiqin necə işlədiyini bilmək istəyirsinizsə, oxuyun:-)
Aşağıdakı diaqram, tətbiqin içərisində nə baş verdiyini daha yaxşı başa düşməyə imkan verəcəkdir: - MainActivity, istifadəçinin yalnız bir dəfə istifadə edəcəyi bir üsuldur: əsas məqsədi həmin şəxsin telefon nömrəsini daxil edə bilməsidir. Talosdan istifadə edərkən əlaqə qurmaq istərdilər, həm də onları göndərmək üçün mətn.
- BTService, ön plana çıxan bir xidmətdir, yəni hər dəfə işə salındıqda, xidmətin Android tərəfindən öldürülmə ehtimalını məhdudlaşdıran davamlı bildirişlər yaradır. Bu xidmət, klassik Bluetooth Low Energy prosesindən istifadə edərək Talos -a qoşulmağa çalışır - Nordicin nümunə kodunu və tapa biləcəyim digər mənbələrdən istifadə etdim. Hal -hazırda, Diskin UUID -si üçün spesifik olaraq görünür: bu dəyəri (şəxsi val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") cihazınızın əvvəlki addımda əldə etdiyi öz ünvanına uyğunlaşdırmalısınız. Cihazı tapdıqdan və axtardığımız xidmətə malik olduğunu yoxladıqdan sonra, istifadəçi düyməni hər basdıqda yenilənəcək xüsusiyyətlər üçün bildirişlərə abunə olur.
BTService bu xüsusiyyət üçün bir yeniləmə aldıqda, tətbiqin digər komponentlərinin reaksiya verməsi üçün LocalBroadcast obyektini işə salacaq. SMS göndərmək üçün SMSIntentService -ə də zəng edəcək
- SMSIntentService istifadəçi tərəfindən daxil edilən son dəyərlərə sahib olmaq üçün SharePreferences -dən telefon nömrəsini və mətni alacaq. İstifadəçinin tətbiqlə qarşılıqlı əlaqəsi olmadan avtomatik olaraq SMS göndərəcək və istifadəçinin son bilinən yerini SMS -ə əlavə edəcək.
Addım 4: Davanın dizaynı
Diskin birlikdə gəldiyi hal, bir açar zincirə bağlanması üçün bir az döngə ehtiva edir, buna görə də demək olar ki, bu şəkildə buraxa bilərik. Ağ rəngli silikon örtüyü hələ də qəribə hiss etdiyim üçün heç bir şübhə oyatmamaq üçün Puckun üstünə qoymaq üçün sadə bir obyekt hazırladım. Bir şəklin min sözə dəyər olduğunu söyləyirlər, saniyədə 25 şəkil verəcəyimi düşündüm: aşağıdakı videoda, istifadə etdiyim əmrlər və qısa yollar da daxil olmaqla dizaynı yaratmaq üçün Fusion 360 -ı necə istifadə etdiyimi görəcəksiniz:
Addım 5: Hamısını bir araya gətirmək
Fərqli komponentlərə sahib olduğunuz üçün onları bir araya gətirməyin vaxtı gəldi! Puck modulunun hazırkı vəziyyətində artıq bir zəncir daxil etmək üçün istifadə edə biləcəyiniz bir çuxur var - təsadüfən ayırdığım köhnə bir anahtarlıq var, amma bunları da asanlıqla satın ala bilərsiniz. Pense istifadə edərək üzüyü ayırın - halqanın açılışını təyin etdikdən sonra, hər yarısını əks istiqamətdə, biri sizə, digəri isə sizdən uzaqlaşdırın. Daha sonra üzüyü Puck -a daxil edib geri bağlaya bilərsiniz.
Yaratdığınız dizaynı 3D çap edin - bir az bənövşəyi PLA istifadə etdim və Diskin üstünə yapışdırdım
Tövsiyə:
Uşaqlara Zamanı öyrətmək üçün RGB Saat: 4 addım
RGB Saatı Uşaqlara Zamanı Öyrətəcək: Dünən axşam 5 yaşıma vaxt hiss etməyimə necə kömək edəcək bir fikirlə gəldim. Aydındır ki, uşaqlar gələcəkdə nə olacağını bilmək üçün gündəlik hadisələrə yönəldirlər. ümumiyyətlə bir az qarışıqdır və çətinliklə də olsa qaydasındadır
Bir elektronika satıcısının sizi aldatdığını və ya etmədiyini söyləyən bir robot: 6 addım
Bir Elektron Satıcısının Səni Aldatdığını Deyə bilən Bir Robot: Keçən il atamla birlikdə yaşadığımız yerə çox yaxın bir zamanda yeni açılan bir robot/elektronika mağazasına getdik. Oraya girəndə elektronika, serovlar, sensorlar, Moruq pis və Arduinosla dolu idi. Ertəsi gün eyni mağazaya getdik və aldıq
Telefonunuzu və Gadgetınızı Necə Təhlükəsiz və Təhlükəsiz Qaldırsınız: 4 Adım
Telefonunuzu və Gadget'ınızı Necə Təhlükəsiz və Təhlükəsiz Qaldırsınız: Demək olar ki, hər şeyi itirmiş bir şəxsdən (əlbəttə ki, şişirdilmiş) .Belə ki, əvvəlki cümlənin dediyi kimi, etiraf zamanı, çox çirkinəm. Bir şey mənə bağlı deyilsə, onu səhv bir yerə qoyma şansım çox böyükdür, unutmaq bir yerdədir
Daha təhlükəsiz: qatar stansiyalarını daha təhlükəsiz etmək: 7 addım
Daha təhlükəsiz: qatar stansiyalarını daha təhlükəsiz etmək: Bu gün bir çox qatar stansiyası təhlükəsizlik, maneələr və içəri girən qatar xəbərdarlığı olmadığı üçün təhlükəlidir. Bunun düzəldilməsinə ehtiyac gördük. Bu problemi həll etmək üçün Safer Better yaratdıq. Titrəmə, hərəkət sensorlar və
Bir OAWR (Gediş Robotundan Maneə Qarşısını Almaq): 7 Adım (Şəkillərlə)
OAWR Necə Hazırlanır? Ancaq bir motor, plastik təbəqə və boltlar və yastıqlarla başlaya bilsəniz, oyuncaq almağın nə zövqü var