תוכן עניינים:
- אספקה
- שלב 1: סקירה כללית
- שלב 2: תכנות הפאק
- שלב 3: יצירת אפליקציית אנדרואיד
- שלב 4: עיצוב מארז
- שלב 5: לשים את הכל ביחד
וִידֵאוֹ: טאלוס, שמירה על בטיחותך במהלך הנסיעות שלך: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
להיות קורבן להטרדות בזמן הנסיעות הוא דבר שכיח למדי עבור אנשים רבים, במיוחד נשים. לא משנה מה המדינה, נסיעה בתחבורה ציבורית זהה לעתים קרובות לידיעה שאתה יכול להטריד מינית, או אפילו לעקוב אחריה תוך כדי הליכה הביתה. במצבים אלה, לא תמיד קל להגיב ולהעריך את האיום, החל מהפחדה פשוטה של שיחת חתולים ועד לחשש ממשי משהו רע יכול לקרות. פחד הוא תמיד גורם, ואי רצון להתקשר לתשומת הלב של המטריד הפוטנציאלי יכול למנוע מאיתנו להתריע בפני מישהו שאנו סומכים עליו.
טלוס הוא מכשיר קטן המתחבר לטלפון שלך ומאפשר לך לשלוח טקסט לאדם שבחרת. ה- SMS כולל באופן אוטומטי את המיקום האחרון הידוע ואת הטקסט שהוקלט מראש על פי בחירתך. עם הופעתו של מחזיק מפתחות פשוט, טלוס נשאר מהודק לתיק שלך ומאפשר לך להפעיל אותו בדיסקרטיות על ידי לחיצה עליו, מה שמפעיל את שליחת הודעת הטקסט. צריכת החשמל הנמוכה שלה אומרת שאינך צריך לטעון אותו כל יום ולהסתכן בשכחתו - או פשוט להיזכר כל יום באיום העומד בפניך.
ישנם שלושה חלקים בפרויקט זה:
- מודול פיזי: השתמשתי במודול Puck-js, המבוסס על המודול nRF52832 וניתן לתכנת אותו באמצעות Javascript הודות ל- Espruino- אפליקציית אנדרואיד: יצרתי אפליקציה פשוטה המתחברת למודול- מכסה מחזיק מפתחות: הכנתי פשוט כיסוי ל- Puck JS שייראה כמו מחזיק מפתחות פשוט
אספקה
- מודול Puck.js (https://www.puck-js.com)
- טלפון אנדרואיד עם גרסה 8.0 לפחות- מחשב עם Android Studio מותקן
- מדפסת תלת מימד (אופציונלי)
שלב 1: סקירה כללית
תרשים זה אמור לתת לך מושג על הרכיבים השונים: הקוד במודול ה- Puck עצמו הוא פשוט מאוד, ואנו מאפשרים לאפליקציית Android לדאוג לחיבור ולא לבצע את סריקת ה- Puck לטלפון. אנו נשתמש ב- Bluetooth Low Energy ומאפייניו כדי לתקשר בין האפליקציה למכשיר, על מנת לשמור על חיי הסוללה
שלב 2: תכנות הפאק
לאחר שבדקת ב- puck-js.com שהדפדפן והמחשב שלך תומכים ב- Bluetooth באינטרנט, עבור אל www.espruino.com/ide והתחבר ל- Puck שלך על ידי לחיצה על סמל התקע בפינה השמאלית העליונה של הדף.
לאחר מכן תוכל להעתיק ולהדביק את הקוד מהקובץ המצורף לתוך העורך ולשלוח אותו ל- Puck.
בחלק הראשון של הקוד, אנו מגדירים את הפונקציה Blink and updateCharacteristic, בה נשתמש בהמשך הקוד. בפונקציה updateCharisticistic, אנו מקצים את התאריך הנוכחי למאפיין כדי לוודא שהוא אכן יראה כערך חדש. לאחר מכן אנו מודיעים לכל מנוי על עדכון זה.
לאחר הצהרות אלה, על הקוד שיבוצע:
הקוד בשורה 56 מאפשר לך לאחזר את הכתובת הפיזית של הפאק שלך, שתצטרך לבטל את האפליקציה באפליקציית אנדרואיד: בטל את התגובה של שורה זו ותראה את הכתובת ביומנים בצד שמאל של ה- IDE (ראה המצורף צילום מסך). ברגע שיש לך ערך זה, תוכל להגיב על השורה או להשאיר אותה כך.
לאחר מכן, אנו מגדירים שירות BLE מותאם אישית אחד (UUID הם ערכים אקראיים) עם שלושה מאפיינים שונים, שכולם ניתנים לדיווח. לא נשתמש בערכים עצמם להעביר את המסר שלנו אלא רק בעובדה שהם השתנו.
בשורות 78 ו -79, הגדרנו כמה מאזינים שיגרמו לנורית ה- LED המשולבת להבהב בכל פעם שהמכשיר מחובר או מנותק ממכשיר Bluetooth אחר. לבסוף, בקו 81, אנו מצרפים הפרעה לכפתור המשולב כך שלחיצה עליו תקרא לפונקציה updateCharacteristic
שלב 3: יצירת אפליקציית אנדרואיד
מכיוון שכל האפליקציה כוללת כמה ספריות כבדות למדי, כללתי רק את קבצי המקור ואת קובץ ה- gradle לאפליקציה בתוך ה- zip המצורף. כדי לגרום לזה לעבוד, עליך להפעיל את סטודיו אנדרואיד וליצור פרוייקט חדש (בחר פעילות ריקה, ראה צילום מסך). בחר 26 (אנדרואיד 8.0, אוראו) כגרסת המינימום לאפליקציה מכיוון שחלק מהקוד שכתבתי משתמש בממשקי API שלא היו קיימים לפני כן. לאחר הגדרת הפרויקט, יהיה לך קובץ build.gradle לאפליקציה (מסומן build.gradle - מודול: אפליקציה). פתח אותו והעתק את התוכן מקובץ ה- zip: ה- IDE יבקש ממך לבצע סנכרון Gradle שבמהלכו הוא יוריד את הספרייה הנורדית שעליה האפליקציה מסתמכת. לאחר מכן תוכל להפעיל את האפליקציה פעם אחת ולבדוק שהיא פועלת.
לאחר התקנת האפליקציה במכשיר שלך, עבור אל תפריט ההגדרות שלך, בחר אפליקציות ומצא את האפליקציה ברשימה. בחר אותו ולחץ על "הרשאות". שם יהיו לך כמה לחצני רדיו שיהיו כבולים כברירת מחדל: בדוק את כולם כדי לוודא שליישום יש גישה לכל מה שהיא צריכה.
כעת תוכל לייבא את קבצי המקור מארכיון ה- zip: הדרך הקלה ביותר לעשות זאת היא ליצור שיעורים חדשים (קליק ימני, קובץ/מחלקה חדשים של Kotlin) ולתת להם את אותו שם כמו הארכיון. ברגע שקובץ הכיתה פתוח, אתה רשאי להעתיק ולהדביק את הקוד בתוכם.
אם אתה רק רוצה להשתמש באפליקציה, פשוט שנה את הכתובת בשורה 31 במחלקת BTService והזן במקום זאת את הכתובת שקיבלת בשלב הקודם. כעת אתה אמור להיות מסוגל לאסוף את האפליקציה ולהריץ אותה במכשיר שלך!
אם אתה רוצה לדעת יותר על אופן הפעולה של האפליקציה, המשך לקרוא:-)
התרשים הבא ייתן לך הבנה טובה יותר של מה שקורה בתוך האפליקציה: - MainActivity הוא זה שהמשתמש ישתמש בו רק מדי פעם: המטרה העיקרית שלו היא שיוכל להזין את מספר הטלפון של האדם הם היו רוצים ליצור קשר בעת שימוש בטלוס, כמו גם בטקסט לשליחתם.
- BTService הוא שירות קדמי, כלומר בכל פעם שהוא מושק, הוא יוצר הודעות מתמשכות המגבילות את דמיון השירות של הורגת אנדרואיד. שירות זה מנסה להתחבר ל- Talos באמצעות תהליך קלאסי של Bluetooth Low Energy - השתמשתי בקוד לדוגמא של נורדי ובמשאבים אחרים שיכולתי למצוא. כרגע הוא מחפש במיוחד את ה- UUID של הפאק: עליך לשנות ערך זה (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") כך שיתאים לכתובת המכשיר שלך שהושגה בשלב הקודם. לאחר שמצא את המכשיר ובדק אם יש לו את השירות אותו אנו מחפשים, הוא מנוי להודעות על המאפיין שיתעדכן בכל פעם שהמשתמש ילחץ על הכפתור.
כאשר שירות ה- BTS אכן יקבל עדכון למאפיין זה, הוא יפעיל אובייקט LocalBroadcast כך שרכיבי האפליקציה האחרים יגיבו. הוא גם יתקשר ל- SMSIntentService כדי שישלח את ה- SMS
- שירות SMSIntentService יאחזר את מספר הטלפון והטקסט מתוך SharePreferences על מנת שהערך האחרון יוזן על ידי המשתמש. לאחר מכן הוא ישלח את ה- SMS באופן אוטומטי מבלי שהמשתמש יקיים אינטראקציה עם האפליקציה, ויוסיף את המיקום האחרון שידוע למשתמש ל- SMS.
שלב 4: עיצוב מארז
המארז הנוכחי שאליו מגיע הפאק כבר כולל לולאה קטנה כדי להצמיד אותו למחזיק מפתחות, כך שנוכל כמעט להשאיר אותו כך. מכסה הסיליקון הלבן שבמקרה עדיין הרגשתי די מוזר, כך שכדי שזה לא ימשוך חשד, עיצבתי חפץ פשוט להניח על גבי הפאק. הם אומרים שתמונה שווה אלף מילים, חשבתי לתת לך 25 תמונות בשנייה: בסרטון הבא תראה כיצד השתמשתי ב- Fusion 360 ליצירת העיצוב, כולל הפקודות והקיצורים בהם השתמשתי:
שלב 5: לשים את הכל ביחד
עכשיו כשיש לך את המרכיבים השונים, הגיע הזמן לחבר אותם! במקרה הנוכחי של מודול ה- Puck יש כבר חור שתוכל להשתמש בו כדי להכניס שרשרת - במקרה היה לי מחזיק מפתחות ישן שהפרקתי, אבל אתה יכול לקנות אותם גם בקלות. פרקו את הטבעת באמצעות צבת - לאחר שמצאתם את פתח הטבעת, העבירו כל חצי לכיוונים מנוגדים, אחד לכיוונכם והשני הרחק ממכם. לאחר מכן תוכל להכניס את הטבעת לפאק ולסגור אותה בחזרה.
הדפס תלת מימד את העיצוב שיצרת זה עתה - השתמשתי בכמה PLA סגול והצמדתי למעלה על הפאק
מוּמלָץ:
שמירה על רדיו אינטרנט פשוט וקל: KISSIR: 13 שלבים
שמירה על רדיו אינטרנט פשוט ושטוף: KISSIR: לפעמים זה פשוט צריך להיות מישוש. ללא ממשק מסוג כלשהו. רק לחצנים. פטל פיי כנגן רדיו אינטרנט אינו דבר חדש, ויש הרבה הוראות כיצד ליצור נגן רדיו אינטרנט באמצעות פטל פטל עם או עם
ברז אוטומטי (ללא מגע) באמצעות Arduino - שטוף ידיים והישאר בטוח במהלך משבר COVID -19: 4 שלבים
ברז אוטומטי (ללא מגע) באמצעות Arduino - שטוף ידיים והישאר בטוח במהלך משבר COVID -19: היי חברים! אני מקווה שכולכם מסתדרים ושומרים על ביטחון עכשיו. בפוסט זה אסביר לך על אב הטיפוס שלי שעיצבתי לשטוף ידיים בבטחה. עשיתי את הפרויקט הזה עם משאבים מוגבלים. מי שמעוניין יכול לשחזר את המקצוען הזה
חיישן חסימת אור Arduino (מודול מפסק צילום) - שמירה על בטיחות הכרטיסים שלך (אב טיפוס): 4 שלבים
חיישן חסימת אור Arduino (מודול מפסק צילום) - שמירה על בטיחות הכרטיסים שלך (אב טיפוס): פרויקט זה הוא אב טיפוס ובפרויקט זה אדון כיצד ניתן לשמור את הכרטיסים שלך - כגון כרטיסי אשראי, כרטיסי חיוב, כרטיסי מתנה - בטוח. תסתכל על התמונות למעלה כדי לראות איך הפרויקט הזה עובד. תן לי לתת לך הצצה על
תחנת מזג אוויר עם Arduino, BME280 ותצוגה לצפייה במגמה במהלך 1-2 הימים האחרונים: 3 שלבים (עם תמונות)
תחנת מזג אוויר עם Arduino, BME280 ותצוגה לצפייה במגמה בתוך 1-2 הימים האחרונים: שלום! כאן כבר הוצגו תחנות מזג אוויר להוראות. הם מראים את לחץ האוויר, הטמפרטורה והלחות הנוכחיים. מה שהיה חסר להם עד כה היה הצגת הקורס במהלך 1-2 הימים האחרונים. תהליך זה יהיה בעל
תיקונים פשוטים לתיק הנסיעות טימבוקטו V.1, לרכיבה על אופניים: 3 שלבים
תיקונים פשוטים לתיק נסיעות טימבוקטו V.1, לרכיבה על אופניים: בתור חובב תיק טימבוקטו בהרגל לרכב עם מחשב נייד בתיק שליח שלי, כשיצאו עם תיק הנסיעות, חשבתי 'מושלם' והזמנתי אחד כזה. הייתי כמו וואו הו זה הולך להיות מגניב. אבל כשקיבלתי את זה הייתי המום ונחרד