תוכן עניינים:

מערכת GPS מבוססת Arduino מבוססת GPS+GPRS למניעת גניבה: 5 שלבים (עם תמונות)
מערכת GPS מבוססת Arduino מבוססת GPS+GPRS למניעת גניבה: 5 שלבים (עם תמונות)

וִידֵאוֹ: מערכת GPS מבוססת Arduino מבוססת GPS+GPRS למניעת גניבה: 5 שלבים (עם תמונות)

וִידֵאוֹ: מערכת GPS מבוססת Arduino מבוססת GPS+GPRS למניעת גניבה: 5 שלבים (עם תמונות)
וִידֵאוֹ: הדגמת איתור רכב גנוב בעזרת ג'יפסי 2024, נוֹבֶמבֶּר
Anonim
Image
Image
החומרה
החומרה

שלום כולם!

רציתי לבנות פתרון מלא למכשיר נגד גניבה ברכב GPS, שיהיה:

כמה שיותר זול

מלא ככל האפשר

כפי שזה-פשוט-עובד-אין-מה-לעשות-ככל האפשר

אז בסופו של דבר בניתי פתרון מבוסס Arduino שעלה לי סך של 25 $, פחות או יותר.

כפי שאתה יכול לראות מהסרטון, זה פשוט עובד! אתה מניע את המכונית, אתה מקבל הודעה בטלפון הנייד שלך כי המכונית נעה, ואז אתה פותח את האפליקציה לנייד ואתה יכול לראות את המכונית נעה בזמן אמת (עם פיגור עדכון של 10 שניות).

הדרכה זו תדריך אותך בכל השלבים, תוך התחשבות בכמה רכיבים בפתרון:

1) החומרה (מבוססת Arduino)

2) התוכנה (תוכנית Arduino)

3) תוכנות נוספות (קבלת צד השרת של מיקומי ה- GPS)

4) תוכנות נוספות (האפליקציה לנייד)

בואו נתחיל..

שלב 1: החומרה

החומרה
החומרה

רשימת קניות:

1) Arduino Uno R3 או שיבוט. השתמשתי בשיבוט "DCcEle DCcduino uno", שנראה שכבר אינו זמין. הנה שווה ערך: ב- Aliexpress - 3.75 $

2) יחידת GPS עבור Arduino (GY-NEO6MV2 מודול GPS חדש עם בקרת טיסה EEPROM MWC APM2.5 אנטנה גדולה NEO6MV2). השתמשתי בזה: ב- Aliexpress - 6.66 $

3) יחידת GPRS / GSM עבור Arduino (SIM800L V2.0 5V אלחוטי GSM GPRS MODULE Quad-Band W / כובע אנטנה). השתמשתי בזה: ב- Aliexpress - 6.71 $

4) כבלי דופונט חלופיים כמו אלה: ב- Aliexpress - 0.89 $

5) כרטיס SIM של נתוני IoT (או כל כרטיס SIM אחר עם חיבור נתונים). השתמשתי בזה: מ- Hologram.io. יש לי מפתח חינם, משלוח בתשלום בלבד - 7.50 $

סה כ: 25.51 $, אבל כבר היו לי הכבלים אז זה פחות מ 25 $!

שתי התמונות מציגות את הרכיבים לפני ההרכבה, ואת התוצר הסופי. החיבורים שעליך ליצור הם:

ארדואינו - SIM800L

10 - איפוס

GND - GND (2 מתוכם)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino-GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

חבר את כל הכבלים והאנטנות וודא שאתה מפעיל את הארדואינו ממקור המסוגל לתת לך פסגות של 2A. USB המחשב בקושי תקין (אני משתמש ב- MacBook Pro), מטען טלפוני "אקראי" לא יספיק. רוב שקעי ה- USB של מכוניות הם גם פחות מ- 1A. אם זה המקרה שלך, אתה גם צריך ספק כוח 5V לרכב עם 2A לפחות.

הכנס את כרטיס ה- SIM. אם אתה משתמש בכרטיס ה- Hologram.io, הקפד לרשום על לוח המחוונים שלהם ולהפעיל את כרטיס ה- SIM (זה לוקח כמה דקות / שעות).

שלב 2: התוכנה (תוכנית Arduino)

התוכנה (תוכנית Arduino)
התוכנה (תוכנית Arduino)

אני מניח שאתה מכיר את התכנות של Arduino. אחרת, אנא התחל במדריך זה: על הוראות שימוש.

אתה צריך רק ספרייה חיצונית אחת, הייתי צריך להתקין אותה ידנית. עבור לכאן: TinyGPS, ייצא את הספרייה והתקן אותה בתיקיית Arduino המקומית שלך.

משם, אנחנו הולכים "לגנוב" קוד מהדוגמה הבסיסית שלהם, ולשנות אותו למטרות שלנו.

לאחר מכן אנו הולכים "לגנוב" ממדריך זה ולשנות את הקוד שוב למטרותינו.

התוצאה היא התוכנית המצורפת.ino.

יש כמה דברים שאתה יכול וצריך לשנות אותם:

"SECONDS" מגדירים ו- "SERVER" מגדירים.

הגדרתי את SECONDS ל -10 והנה הסיבה לכך: תוכנית המפתחים של Hologram.io נותנת לך 1Mb של נתונים בחינם לחודש. מה שאומר, אנו רוצים למזער את הבייטים שנשלחו, אך עלינו לעדכן את עמדתנו לעתים קרובות כל כך. אנו הולכים להשתמש בפקודות מודם סטנדרטיות של AT כדי לשלוח מנות UDP לשרת שלנו שמקבל את ההודעות, עם lat/lon, כל אחת משתמשת ב -4 בתים, ומהירות באמצעות 1 בתים. כך שעדכון ה- GPS הכולל הוא 20 בתים (כותרת IP) בתוספת 8 בתים (כותרת UDP) ועוד 9 בתים (מטען). זה 37 בתים. בהנחה שהרכב שלי פעיל לא יותר משעתיים ביום, אני יכול להרשות לעצמי לעדכן כל 10 שניות ולצרוך רק 806 קילוגרם בחודש (31 ימים). זה נותן לי 218 קילו -בתים לזמן הנהיגה שלי, כלומר גנב הרכב. מה שנותן לי 16.76 שעות של ניטור GPS מחוץ לזמן הנהיגה שלי, עם עדכון אחד כל 10 שניות.

עכשיו, מנות ה- UDP האלה צריכות ללכת לאנשהו. אני משתמש בשרת אובונטו המתארח בענן CloudAtCost, שקניתי תמורת 8 $ עם הנחה של 80%, ושמשמש אותי למטרות אחרות, ולכן אינו נכנס לחישובי העלות. אם אינך רוצה לשלם עבור שרת, תוכל לקבל מופע חינם של אמזון AWS למשך 12 חודשים ולהתקין עליו את אובונטו. לאחר שהגדרת השרת שלך (ראה שלב הבא), קבל את כתובת ה- IP הסטטית שלה והנח אותה ליד הגדרת השרת.

שלב 3: תוכנה נוספת (קבלת צד השרת של מיקומי ה- GPS)

הן CloudAtCost והן אמזון מגיעים עם תמונת אובונטו שהוגדרה מראש (CloudAtCost נמצאת ב- Ubuntu 14.04). אז אני לא עובר את השלבים להתקנת אובונטו, מכיוון שלא תצטרך. אם אתה משתמש ב- CloudAtCost, ייתכן שתרצה לשדרג לאובונטו 16.04, זה נעשה עם א

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

לאחר מכן עליך להתקין את LAMP (עיין במדריך זה: כאן), אם כי לא נשתמש ב- PHP.

התקן את פייתון עם

sudo apt-get install python-minim pip

לאחר מכן הוסף כמה מודולים:

pip install -בקשות משתמש urllib3

עלינו להגדיר /var /www הניתן לכתיבה על ידך, אז בואו נעשה:

sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data /var /www

sudo chmod -R g+rwX /var /www

כעת, אנו זקוקים ל"שרת "כדי i) לקבל את מנות UDP, ii) לבנות את המסלול, iii) לשלוח הודעה לטלפון הנייד שלנו ו"שרת" לשרת את מסלול ה- GPS שנוצר (זה יהיה אפאצ'י).

עבור השרת הראשון, העתק את קוד הפיתון המצורף. עליך להגדיר את הדברים הבאים:

iftttuser = "המשתמש שלך ב- IFTTT"

iftttpass = "סיסמת IFTTT שלך"

iftttappletid = "יישום הודעת IFTTT שלך"

iftttkey = "מפתח ה- IFTTT שלך"

iftttevent = "אירוע IFTTT שלך"

כפי שאולי ניחשתם, אנו משתמשים ב- IFTTT לשרת הודעות בזמן אמת לטלפונים הניידים שלנו. עקוב אחר המדריך הזה: כאן אך במקום לבחור "שלח לי SMS", בחר "שלח הודעת אפליקציה". קבל את מזהה היישומון שלך (גלול בתחתית תצורת היישומון כדי לראות אותו) והשתמש בזה למעלה. השתמש גם במקש שנוצר בהגדרות למעלה. אירוע IFTTT הוא השם שנתת לאפלט שלך, נתתי לו "carmoving".

כעת, אין פלטפורמות התראות בזמן אמת בחינם, AFAIK. אם אתה יודע על אחד, עדכן אותי. ל- IFTTT יש עיכוב. ניתן למזער עיכוב זה לכמה שניות אם אתה משתמש בהדק הדוא"ל. לרוע המזל, הדבר אינו מהימן. ל- webhook שזה עתה נוצר יש עיכוב של 15 דקות. אבל אנחנו לא רוצים לחכות 15 דקות כדי לדעת שהרכב שלנו נגנב, נכון? זו הסיסמה לבקש ממך להגדיר את כל ההגדרות שלעיל. אם תגלול את קוד הפיתון, תראה שיש כמה שורות, כלומר 45-53, לאוטומטיות של הפונקציונליות "בדוק עכשיו" של IFTTT, מה שמאלץ בדיקה פתאומית של הטריגרים, ומפעיל את ההודעה תוך פחות משנייה אחת! בבקשה:)

לאחר שהגדרת את קוד הפיתון שלך איפשהו, פשוט הפעל אותו. אם אתה משתמש מקצועי, התחל אותו באתחול השרת. עיין בהמון מדריכים בחינם באינטרנט כיצד לעשות זאת, למשל זה.

שלב 4: תוכנה עוד יותר (האפליקציה לנייד)

אפילו יותר תוכנות (האפליקציה לנייד)
אפילו יותר תוכנות (האפליקציה לנייד)
אפילו יותר תוכנות (האפליקציה לנייד)
אפילו יותר תוכנות (האפליקציה לנייד)
אפילו יותר תוכנות (האפליקציה לנייד)
אפילו יותר תוכנות (האפליקציה לנייד)
אפילו יותר תוכנות (האפליקציה לנייד)
אפילו יותר תוכנות (האפליקציה לנייד)

אנחנו צריכים דרך מהירה ופשוטה רק לדמיין את מסלול ה- GPS שהשרת בשלב הקודם מעדכן. יתכן שהוא חייב לעבוד על כל מיני סמארטפונים.

לאחר מכן נשתמש בחבילת אפליקציות לנייד חוצה פלטפורמות, כמו יונית/קורדובה. אני משתמש ב- Ionic v1, אל תבלבל אותו עם Ionic Native או Ionic v2, זה דבר אחר.

בצע את השלבים הפשוטים האלה כדי להתחיל את הפרויקט הראשון שלך ב- Ionic: כאן.

לאחר מכן, עליך להתחיל פרויקט חדש המבוסס על ה- sdk של google maps, כך:

מפות myapp start ionic

היכנס לתיקיית "משאבים" והעתק את תמונת הרכב הגדולה כאן בשם "icon.png". העלה במקום זאת את הסמלים הקטנים כ- "car2.png" ו- "start.png" אי שם בשרת שלך, כמו https://yourserver/car2.png. אתה תצטרך אותם כסמנים באפליקציה שלך.

השתמש בקבצים index.html המצורפים (שנה שם index.html.txt ל- index.html), directives.js וקובצי controllers.js והכנס אותם ל- www (index.html), www/js (כל ה- js).

הוסף את הפלטפורמה שלך כך:

ionic add plaftorm android

בנה כך:

אנדרואיד לבנות יונית

אז יונית תגיד לך היכן היא בנתה את ה- apk שלך שתוכל להתקין בטלפון הנייד שלך.

כדי לבנות עבור iOS, תזדקק ל- Mac ו- Xcode. לאחר מכן ionic יכולה לשמור פרויקט Xcode שתוכל לפתוח ב- Xcode ולבנות עבור הטלפון שלך. אם אין לך חשבון מפתח ל- iOS, יהיה עליך לצרף את הטלפון שלך ל- Xcode ולהגדיר את הטלפון שלך לפיתוח כדי שתוכל להתקין את האפליקציה שם. זה מחוץ להיקף הוראה זו.

בקבצי js השונים, יהיה עליך למצוא את השורות המתאימות ל- "car2.png" ו- "start.png" ולשנות אותן בנתיב התמונות שלך. כנ"ל לגבי "plan.json".

זהו זה!!

שלב 5: עבודה עתידית

1) שמתי הכל לתוך קופסת קרטון שאני יכול להסתיר בכל מקום ליד שקע ה- USB. הדבר הטוב ביותר לעשות יהיה להרכיב מארז טוב יותר מתחת למכסה המנוע של המכונית, עם ממיר 12v-> 5v.

2) עם חיישן בלוטות 'אתה יכול ממש "לחוש" אם אתה במכונית, כך שמערכת ה- GPS לא תידלק.

3) פשוט שלם על תוכנית נתוני SIM והגדר את SECONDS ל -1 כדי ליהנות ממעקב בזמן אמת:)

מקווה שנהנתם מההדרכה הראשונה שלי!

מוּמלָץ: