תוכן עניינים:
- שלב 1: החומרה
- שלב 2: התוכנה (תוכנית Arduino)
- שלב 3: תוכנה נוספת (קבלת צד השרת של מיקומי ה- GPS)
- שלב 4: תוכנה עוד יותר (האפליקציה לנייד)
- שלב 5: עבודה עתידית
וִידֵאוֹ: מערכת GPS מבוססת Arduino מבוססת GPS+GPRS למניעת גניבה: 5 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
שלום כולם!
רציתי לבנות פתרון מלא למכשיר נגד גניבה ברכב 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. אחרת, אנא התחל במדריך זה: על הוראות שימוש.
אתה צריך רק ספרייה חיצונית אחת, הייתי צריך להתקין אותה ידנית. עבור לכאן: 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 כדי ליהנות ממעקב בזמן אמת:)
מקווה שנהנתם מההדרכה הראשונה שלי!
מוּמלָץ:
חיישן מזג אוויר קומפקטי עם קישור נתונים של GPRS (כרטיס SIM): 4 שלבים
חיישן מזג אוויר קומפקטי עם GPRS (כרטיס SIM) קישור נתונים: סיכום הפרויקט זהו חיישן מזג אוויר המונע על ידי סוללה המבוסס על חיישן טמפרטורה/לחץ/לחות BME280 ו- ATMega328P MCU. הוא פועל על שתי סוללות ליתיום תיוניל 3.6 וולט. יש לו צריכת שינה נמוכה במיוחד של 6 µA. זה שולח את זה
מדריך מודול GPS ו- GPRS A9G - Ai-Thinker - פקודות AT: 7 שלבים
מדריך מודול GPS ו- GPRS A9G | Ai-Thinker | פקודות AT: היי, מה קורה, חבר'ה! אקרש כאן מ- CETech. היום אנו הולכים לעבור על מודול GPS, GSM ו- A9G של A9G מ- AI Thinker. ישנם גם מספר מודולים אחרים כגון A9 ו- A6 מ- AI Thinker אשר בעלי יכולות GSM ו- GPRS דומות אך
מצלמת דוא"ל Arduino אבטחה 3G/GPRS עם זיהוי תנועה: 4 שלבים
Arduino Security 3G/GPRS מצלמת דוא"ל עם זיהוי תנועה: במדריך זה ברצוני לספר על גרסה אחת של בניית מערכת מעקב אבטחה עם גלאי תנועה ושליחת תמונות לתיבת הדואר באמצעות מגן 3G/GPRS. מאמר זה מבוסס על הוראות אחרות: הוראה 1 והדרכה
Arduino ו- SIM900 GSM GPRS 3G רישום טמפרטורה ולחות, סטטיסטיקות ניידות: 4 שלבים
Arduino ו- SIM900 GSM GPRS 3G רישום טמפרטורות ולחות, סטטיסטיקות ניידות: עם Arduino UNO R3, SIM900 Shield ו- DHT22 אתה יכול לרשום נתוני טמפרטורה ולחות בחוץ, בחדר, בחממה, במעבדה, בחדר הקירור או בכל מקומות אחרים לגמרי בחינם. דוגמה זו נשתמש לרישום טמפרטורת החדר ולחות החדר
חיבור TCP/IP באמצעות GPRS: כיצד לשלוח נתונים לשרת באמצעות מודול SIM900A: 4 שלבים
חיבור TCP/IP באמצעות GPRS: כיצד לשלוח נתונים לשרת באמצעות מודול SIM900A: במדריך זה אני אספר לך כיצד לשלוח נתונים לשרת TCP באמצעות מודול sim900. כמו כן נראה כיצד אנו יכולים לקבל נתונים מהשרת ללקוח (מודול GSM)