Mundarija:

Talos, sayohat paytida sizni xavfsiz saqlaydi: 5 qadam
Talos, sayohat paytida sizni xavfsiz saqlaydi: 5 qadam

Video: Talos, sayohat paytida sizni xavfsiz saqlaydi: 5 qadam

Video: Talos, sayohat paytida sizni xavfsiz saqlaydi: 5 qadam
Video: Pain Management in Dysautonomia 2024, Noyabr
Anonim
Talos, sayohat paytida sizni xavfsiz saqlaydi
Talos, sayohat paytida sizni xavfsiz saqlaydi

Qatnov paytida tazyiq qurboni bo'lish ko'p odamlar uchun, ayniqsa ayollar uchun odatiy holdir. Qaysi mamlakatda bo'lishidan qat'i nazar, jamoat transportida sayohat qilish sizni jinsiy zo'ravonlikka olib kelishi yoki hatto uyga ketayotganingizda kuzatib qo'yishi mumkinligini biladi. Bunday vaziyatlarda tahdidga javob berish va uni baholash har doim ham oson emas, chunki oddiy qo'rquvdan tortib to yomon narsaga olib kelishi mumkin. Qo'rquv har doim muhim omil bo'lib, potentsial ta'qibchining e'tiborini jalb qilishni xohlamaslik biz ishonadigan odamni ogohlantirishimizga to'sqinlik qilishi mumkin.

Talos - bu telefoningizga ulanadigan va siz tanlagan kishiga matn yuborish imkonini beradigan kichik qurilma. SMS avtomatik ravishda sizning oxirgi ma'lum joyingizni va siz tanlagan oldindan yozib olingan matnni o'z ichiga oladi. Oddiy kalit taqinchoq paydo bo'lganda, Talos sizning sumkangizda qoladi va uni bosish orqali uni faol ravishda faollashtirishga imkon beradi, bu esa matnli xabarni yuborishga olib keladi. Uning kam quvvat iste'moli uni har kuni zaryad qilishning hojati yo'qligini va uni unutish xavfini tug'dirishini yoki har kuni duch keladigan tahdidni eslatib turishingizni bildiradi.

Loyihaning uchta qismi mavjud:

- Jismoniy modul: Men nRF52832 moduliga asoslangan va Espruino- Javascript yordamida dasturlash mumkin bo'lgan Puck-js modulidan foydalandim- Android ilovasi: Men modulga ulanadigan oddiy dastur yaratdim- Anahtarlık qopqog'i: Men oddiy qilib qo'ydim. Puck JS qopqog'i oddiy keychinga o'xshaydi

Ta'minotlar

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

- Android Phone kamida 8.0 versiyasi bilan- Android Studio o'rnatilgan kompyuter

- 3D printer (ixtiyoriy)

1 -qadam: umumiy nuqtai

Sharh
Sharh

Bu diagramma sizga turli komponentlar haqida tushuncha berishi kerak: Puck modulining kodi juda oddiy va biz Android ilovasiga telefon uchun Puck skaneridan ko'ra ulanish haqida g'amxo'rlik qilishga ruxsat beramiz. Biz batareyaning ishlash muddatini saqlab qolish uchun ilova va qurilma o'rtasida muloqot qilish uchun Bluetooth Low Energy va uning xususiyatlaridan foydalanamiz

2 -qadam: Diskni dasturlash

Diskni dasturlash
Diskni dasturlash

Puck-js.com saytida brauzeringiz va kompyuteringiz Web Bluetooth-ni qo'llab-quvvatlayotganini tekshirgandan so'ng, www.espruino.com/ide saytiga o'ting va sahifaning yuqori chap burchagidagi vilka belgisini bosish orqali Puck-ga ulaning.

Keyin siz biriktirilgan fayldagi kodni nusxa ko'chirishingiz va tahrirchiga joylashtirishingiz va Puck -ga yuborishingiz mumkin.

Kodning birinchi qismida biz Blink and updateCharacteristic funktsiyasini belgilaymiz, uni keyinchalik kodda ishlatamiz. UpdateCharacteristic funktsiyasida biz joriy sanani xarakteristikaga belgilaymiz, chunki u haqiqatan ham yangi qiymat sifatida ko'riladi. Keyin biz har qanday abonentga ushbu yangilanish haqida xabar beramiz.

Ushbu deklaratsiyalardan so'ng, bajariladigan kodga:

56 -satrdagi kod sizga Puck -ning jismoniy manzilini olish imkonini beradi, bu sizga Android -ilovasida kod yozish kerak bo'ladi: bu qatorni o'chiring va IDE -ning chap tomonidagi jurnallarda manzilni ko'rasiz. skrinshot). Bu qiymatga ega bo'lgandan so'ng, siz chiziqni sharhlashingiz yoki shu tarzda qoldirishingiz mumkin.

Shundan so'ng, biz bir xil BLE xizmatini (UUIDlar tasodifiy qiymatlar) aniqlaymiz, ularning har biri bildirish mumkin. Biz xabarni etkazish uchun qadriyatlardan foydalanmaymiz, balki ular o'zgardi.

78 va 79 -qatorlarda biz ba'zi tinglovchilarni o'rnatdik, ular har safar boshqa Bluetooth qurilmasiga ulanganda yoki o'chirilganda o'rnatilgan LED yonib -o'chib turadi. Nihoyat, 81 -qatorda biz tugmachani birlashtiramiz, shunda uni bosish updateCharacteristic funktsiyasini chaqiradi.

3 -qadam: Android ilovasini yaratish

Android ilovasini yaratish
Android ilovasini yaratish
Android ilovasini yaratish
Android ilovasini yaratish
Android ilovasini yaratish
Android ilovasini yaratish
Android ilovasini yaratish
Android ilovasini yaratish

Butun dastur juda og'ir kutubxonalarni o'z ichiga olganligi sababli, ilova uchun faqat manba fayllari va dastur uchun gradle faylini qo'shdim. Uni ishga tushirish uchun siz Android studiyasini ishga tushirishingiz va yangi loyiha yaratishingiz kerak (Bo'sh harakatni tanlang, skrinshotga qarang). Ilovaning minimal versiyasi sifatida 26 (Android 8.0, Oreo) ni tanlang, chunki men yozgan ba'zi kodlar bundan oldin bo'lmagan API -lardan foydalanadi. Loyihangiz o'rnatilgandan so'ng, sizda ilova uchun build.gradle fayli bo'ladi (build.gradle bilan belgilangan - Module: App). Uni oching va tarkibini zip faylidan nusxa ko'chiring: IDE sizga Gradle -ni sinxronlashtirishni taklif qiladi, uning davomida ilova tayanadigan Skandinaviya kutubxonasi yuklab olinadi. Keyin dasturni bir marta ishga tushirishingiz va uning ishlashini tekshirishingiz mumkin.

Ilova qurilmangizga o'rnatilgandan so'ng, sozlamalar menyusiga o'ting, Ilovalar -ni tanlang va ro'yxatni toping. Uni tanlang va "Autorisations" ni bosing. U erda sizda bir nechta radio tugmachalari bo'ladi, ular sukut bo'yicha o'chiriladi: ularning barchasini tekshiring, ilova kerakli hamma narsaga kira olishiga ishonch hosil qiling.

Siz manba fayllarini zip arxividan import qilishingiz mumkin: buni eng oson yo'li - yangi sinflarni yaratish (sichqonchaning o'ng tugmasi, yangi Kotlin fayli/klassi) va ularga arxivdagidek nom berish. Sinf fayli ochilgach, siz ularga kodni nusxa ko'chirishingiz va joylashtirishingiz mumkin.

Agar siz faqat ilovadan foydalanmoqchi bo'lsangiz, BTService sinfidagi 31 -satrdagi manzilni o'zgartiring va uning o'rniga oldingi bosqichda olgan manzilingizni kiriting. Endi siz ilovani kompilyatsiya qilishingiz va uni qurilmangizda ishga tushirishingiz kerak!

Agar siz ilova qanday ishlashi haqida ko'proq bilmoqchi bo'lsangiz, o'qing:-)

Quyidagi diagramma sizga ilova ichida nima sodir bo'lishini yaxshiroq tushunishga imkon beradi: - MainActivity - bu foydalanuvchi faqat vaqti -vaqti bilan foydalanadi: uning asosiy maqsadi - odamning telefon raqamini kiritish. ular Talosdan foydalanishda, shuningdek ularni yuborish uchun matn bilan bog'lanishni xohlaydilar.

- BTService - bu birinchi darajali xizmat, ya'ni u ishga tushirilganda, xizmat Android -da o'lishi ehtimolini cheklaydigan doimiy xabarnomalarni yaratadi. Bu xizmat Talos -ga Bluetooth -ning past energiyali klassik texnologiyasi yordamida ulanishga harakat qiladi - men Skandinaviya namunali kodidan va topa oladigan boshqa manbalardan foydalanganman. Hozircha, UPID UUID uchun o'ziga xos ko'rinadi: siz ushbu qiymatni (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") oldingi qadamda olingan qurilmangizning o'z manziliga mos keladigan tarzda o'zgartirishingiz kerak. Qurilmani topib, u biz qidirayotgan xizmatga ega ekanligini tekshirgandan so'ng, foydalanuvchi tugmachani har bosganida yangilanadigan xarakteristikaning bildirishnomalariga obuna bo'ladi.

BTService ushbu xususiyat uchun yangilanishni olganida, u ilovaning boshqa komponentlariga javob berish uchun LocalBroadcast ob'ektini o'chiradi. U SMS yuborish uchun SMSIntentService -ga ham qo'ng'iroq qiladi

SMSIntentService, foydalanuvchi kiritgan oxirgi qiymatlarga ega bo'lish uchun SharePreferences -dan telefon raqami va matnini oladi. Keyin u avtomatik ravishda SMS yuboradi, u foydalanuvchini ilova bilan aloqa qilmasdan va SMS -ga foydalanuvchining oxirgi ma'lum bo'lgan joyini qo'shadi.

4 -qadam: Kosonni loyihalash

Puck bilan birga keladigan hozirgi holat, uni keychikka bog'lash uchun ozgina pastadirni o'z ichiga oladi, shuning uchun biz uni deyarli shunday qoldirishimiz mumkin edi. Men tasodifan oq kremniy qopqog'ini hali ham g'alati his qilgandim, shuning uchun hech qanday shubha tug'dirmaslik uchun men diskni tepasiga qo'yish uchun oddiy buyumni yasadim. Aytishlaricha, rasm ming so'zga to'g'ri keladi, men sizga sekundiga 25 ta tasvirni beraman deb o'yladim: keyingi videoda men dizaynni yaratish uchun Fusion 360 -dan qanday foydalanganimni ko'rasiz, shu jumladan men ishlatgan buyruqlar va yorliqlar:

5 -qadam: Hammasini bir joyga to'plash

Endi sizda har xil komponentlar bor, ularni birlashtirish vaqti keldi! Puck modulining hozirgi holatida allaqachon zanjir o'rnatishingiz mumkin bo'lgan teshik bor - menda eski kalit taqinchoq bor edi, lekin men uni osongina sotib olaman. Pens yordamida halqani ajrating - halqaning ochilishini aniqlagandan so'ng, har bir yarmini qarama -qarshi tomonga, biri siz tomonga, ikkinchisi sizdan uzoqlashtiring. Keyin halqani Puckga kiritib, orqaga yopib qo'yishingiz mumkin.

Siz yaratgan dizaynni 3D chop eting - men binafsha rangli PLA ishlatardim va shaybani tepasiga qo'ydim

Tavsiya: