جدول المحتويات:

نظام مضاد للسرقة GPS + GPRS للسيارة يعتمد على Arduino: 5 خطوات (بالصور)
نظام مضاد للسرقة GPS + GPRS للسيارة يعتمد على Arduino: 5 خطوات (بالصور)

فيديو: نظام مضاد للسرقة GPS + GPRS للسيارة يعتمد على Arduino: 5 خطوات (بالصور)

فيديو: نظام مضاد للسرقة GPS + GPRS للسيارة يعتمد على Arduino: 5 خطوات (بالصور)
فيديو: vehicle theft detection using gps , gsm and Raspberry Pi 2024, ديسمبر
Anonim
Image
Image
الأجهزة
الأجهزة

مرحبا جميعا!

كنت أرغب في بناء حل كامل لجهاز مكافحة السرقة الخاص بمركبة GPS ، والذي سيكون:

أرخص ما يمكن

كاملة قدر الإمكان

لأنه يعمل فقط ، لا يوجد شيء آخر يمكن القيام به قدر الإمكان

لذلك انتهى بي الأمر ببناء حل قائم على Arduino يكلفني إجمالي 25 دولارًا أو أكثر أو أقل.

كما ترون من الفيديو ، إنها تعمل فقط! تبدأ تشغيل السيارة ، تتلقى إشعارًا على هاتفك المحمول بأن السيارة تتحرك ، ثم تفتح تطبيق الهاتف ويمكنك رؤية السيارة تتحرك في الوقت الفعلي (مع تأخر تحديث لمدة 10 ثوانٍ).

سيرشدك هذا البرنامج التعليمي خلال جميع الخطوات ، مع الأخذ في الاعتبار أن هناك عدة مكونات في الحل:

1) الأجهزة (تعتمد على اردوينو)

2) البرنامج (برنامج اردوينو)

3) المزيد من البرامج (استقبال من جانب الخادم لمواقع GPS)

4) المزيد من البرامج (تطبيق الجوال)

لنبدأ..

الخطوة 1: الأجهزة

الأجهزة
الأجهزة

قائمة التسوق:

1) Arduino Uno R3 أو استنساخ. لقد استخدمت استنساخ "DCcEle DCcduino uno" ، والذي لا يبدو أنه متاح بعد الآن. إليك ما يعادل: على Aliexpress - 3.75 دولار

2) وحدة GPS لـ Arduino (وحدة GPS جديدة GY-NEO6MV2 مع هوائي التحكم في الطيران EEPROM MWC APM2.5 NEO6MV2). لقد استخدمت هذا: على Aliexpress - 6.66 دولار

3) وحدة GPRS / GSM لـ Arduino (SIM800L V2.0 5V Wireless GSM GPRS MODULE رباعي الموجات مع غطاء كابل هوائي). لقد استخدمت هذا: على Aliexpress - 6.71 دولار

4) قطع كابلات دوبونت مثل هذه: على Aliexpress - 0.89 دولار

5) بطاقة sim بيانات إنترنت الأشياء (أو أي بطاقة sim أخرى مع اتصال البيانات). لقد استخدمت هذا: من Hologram.io. لديّ مطور مجاني ، دفع رسوم الشحن فقط - 7.50 دولار

الإجمالي: 25.51 دولارًا ، لكن كان لدي الكابلات بالفعل ، لذا فهو أقل من 25 دولارًا!

تظهر الصورتان المكونات قبل التجميع والمنتج النهائي. الروابط التي عليك القيام بها هي:

اردوينو - SIM800L

10 - إعادة تعيين

GND - GND (2 منهم)

5 فولت - 5 فولت

7 - SIM_TXD

8 - SIM_RXD

اردوينو - GY-NEO6MV2

GND - GND

5 فولت - VCC

3 - RX

4 - تكس

قم بتوصيل جميع الكابلات والهوائيات وتأكد من تشغيل Arduino من مصدر قادر على منحك قمم 2A. USB للكمبيوتر بالكاد على ما يرام (أنا أستخدم MacBook Pro) ، شاحن الهاتف "العشوائي" لن يكون كافيًا. معظم منافذ USB للسيارات أقل من 1A. إذا كانت هذه هي حالتك ، فأنت بحاجة أيضًا إلى مصدر طاقة بجهد 12 فولت للسيارة 5 فولت مع 2 أمبير على الأقل.

أدخل بطاقة sim. إذا كنت تستخدم بطاقة sim Hologram.io ، فتأكد من التسجيل على لوحة القيادة الخاصة بهم وتنشيط بطاقة sim (يستغرق الأمر بضع دقائق / ساعات).

الخطوة الثانية: البرنامج (برنامج اردوينو)

البرنامج (برنامج اردوينو)
البرنامج (برنامج اردوينو)

سأفترض أنك على دراية ببرمجة Arduino. بخلاف ذلك ، يرجى البدء بهذا الدليل: في Instructables.

أنت بحاجة إلى مكتبة خارجية واحدة فقط ، وكان علي أن أقوم بتثبيتها يدويًا. اذهب هنا: TinyGPS ، قم بتصدير المكتبة ، وقم بتثبيتها في مجلد Arduino المحلي الخاص بك.

من هناك ، سنقوم بـ "سرقة" بعض التعليمات البرمجية من مثالهم الأساسي ، وتعديلها لتلائم أغراضنا.

سنقوم بعد ذلك "بالسرقة" من هذا الدليل وتعديل الشفرة مرة أخرى بما يتوافق مع أغراضنا.

والنتيجة هي برنامج.ino المرفق.

هناك بعض الأشياء التي يمكنك تعديلها ويجب عليك تعديلها:

تعريف "SECONDS" ، وتحديد "الخادم".

لقد قمت بتعيين SECONDS على 10 وإليك السبب: يمنحك برنامج مطور Hologram.io 1 ميغابايت من البيانات المجانية شهريًا. مما يعني أننا نريد تقليل وحدات البايت المرسلة ، ولكننا نحتاج أيضًا إلى تحديث موقعنا كثيرًا. سنستخدم أوامر مودم AT القياسية لإرسال حزم UDP إلى خادمنا لتلقي الرسائل ، باستخدام خطوط الطول / العرض ، كل منها يستخدم 4 بايت ، والسرعة باستخدام 1 بايت. لذا فإن إجمالي تحديث GPS هو 20 بايت (رأس IP) بالإضافة إلى 8 بايت (رأس UDP) بالإضافة إلى 9 بايت (الحمولة). هذا 37 بايت. بافتراض أن سيارتي نشطة لمدة لا تزيد عن ساعتين في اليوم ، يمكنني تحمل تكلفة التحديث كل 10 ثوانٍ واستهلاك 806 كيلوبايت فقط في الشهر (31 يومًا). هذا يعطيني 218 كيلو بايت مقابل وقت القيادة على بلدي ، أي سارق السيارة. وهو ما يمنحني 16.76 ساعة من مراقبة نظام تحديد المواقع العالمي (GPS) خارج وقت القيادة ، مع تحديث واحد كل 10 ثوانٍ.

الآن ، يجب أن تذهب حزم UDP هذه إلى مكان ما. أنا أستخدم خادم Ubuntu مستضافًا على سحابة CloudAtCost ، والتي اشتريتها مقابل 8 دولارات بخصم 80٪ ، والتي تخدمني أغراضًا أخرى ، وبالتالي لا تدخل في حسابات التكلفة. إذا كنت لا ترغب في الدفع مقابل خادم ، فيمكنك الحصول على مثيل Amazon AWS مجاني لمدة 12 شهرًا ، وتثبيت Ubuntu عليه. بمجرد الانتهاء من إعداد الخادم الخاص بك (انظر الخطوة التالية) ، احصل على عنوان IP الثابت الخاص به ، وضعه بجوار تعريف الخادم.

الخطوة 3: المزيد من البرامج (تلقي من جانب الخادم لمواقع Gps)

يأتي كل من CloudAtCost و Amazon مع صورة Ubuntu معدة مسبقًا (CloudAtCost موجود في Ubuntu 14.04). لذلك لن أخوض في خطوات تثبيت Ubuntu ، لأنك لن تضطر إلى ذلك. إذا كنت تستخدم CloudAtCost ، فقد ترغب في الترقية إلى Ubuntu 16.04 ، ويتم ذلك باستخدام ملف

sudo apt-get update && sudo apt-get Upgrade && sudo apt-get dist-Upgrade

ثم تحتاج إلى تثبيت LAMP (راجع هذا الدليل: هنا) ، على الرغم من أننا لن نستخدم PHP.

قم بتثبيت Python مع

sudo apt-get install python-Minimal pip

ثم أضف بضع وحدات:

تثبيت نقطة - طلبات المستخدم urllib3

نحتاج إلى تعيين / var / www قابل للكتابة بواسطتك ، لذلك لنفعل:

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

sudo chmod -R g + rwX / var / www

الآن ، نحتاج إلى "خادم" من أجل 1) استلام حزم UDP ، و 2) إنشاء المسار ، و 3) إرسال إشعار إلى هاتفنا المحمول ، و "خادم" لخدمة مسار GPS الذي تم إنشاؤه (سيكون هذا هو apache).

للخادم الأول ، انسخ كود python المرفق. تحتاج إلى تكوين الأشياء التالية:

iftttuser = "مستخدم IFTTT الخاص بك"

iftttpass = "كلمة مرور IFTTT الخاصة بك"

iftttappletid = "تطبيق إشعار IFTTT الخاص بك"

iftttkey = "مفتاح IFTTT الخاص بك"

iftttevent = "حدث IFTTT الخاص بك"

كما قد تكون خمنت ، نحن نستخدم IFTTT لإرسال إشعارات الوقت الفعلي إلى هواتفنا المحمولة. اتبع هذا الدليل: هنا ولكن بدلاً من تحديد "أرسل لي رسالة قصيرة" ، حدد "إرسال إشعار التطبيق". احصل على معرف التطبيق الصغير الخاص بك (قم بالتمرير في الجزء السفلي من تكوين التطبيق الصغير لرؤيته) واستخدمه أعلاه. استخدم أيضًا المفتاح الذي تم إنشاؤه على هذا النحو في الإعدادات أعلاه. حدث IFTTT هو الاسم الذي أعطيته لتطبيقك الصغير ، لقد منحته "carmoving".

الآن ، لا توجد منصات إشعارات حقيقية في الوقت الفعلي مجانًا AFAIK. إذا كنت تعرف واحدة ، أعلمني. IFTTT به تأخير. يمكن تقليل هذا التأخير إلى بضع ثوانٍ إذا كنت تستخدم مشغل البريد الإلكتروني. لسوء الحظ ، هذا غير موثوق به. يستغرق الرد التلقائي على الويب الذي تم إنشاؤه للتو 15 دقيقة. لكننا لا نريد الانتظار لمدة 15 دقيقة لنعرف أن سيارتنا مسروقة ، أليس كذلك؟ هذه هي كلمة المرور التي تطلب منك إعداد جميع الإعدادات المذكورة أعلاه. إذا قمت بتمرير شفرة python ، فسترى أن هناك بضعة أسطر ، وهي 45-53 ، لأتمتة وظيفة "التحقق الآن" الخاصة بـ IFTTT ، والتي تفرض فحصًا مفاجئًا للمشغلات ، وتطلق الإشعار في أقل من ثانية واحدة! على الرحب والسعة:)

بمجرد الانتهاء من إعداد كود Python الخاص بك في مكان ما ، ما عليك سوى تشغيله. إذا كنت مستخدمًا محترفًا ، فاجعله يبدأ عند تمهيد الخادم. ارجع إلى الكثير من الأدلة المجانية عبر الإنترنت حول كيفية القيام بذلك ، على سبيل المثال هذا الدليل.

الخطوة 4: المزيد من البرامج (تطبيق الهاتف المحمول)

المزيد من البرامج (تطبيق الهاتف المحمول)
المزيد من البرامج (تطبيق الهاتف المحمول)
المزيد من البرامج (تطبيق الهاتف المحمول)
المزيد من البرامج (تطبيق الهاتف المحمول)
المزيد من البرامج (تطبيق الهاتف المحمول)
المزيد من البرامج (تطبيق الهاتف المحمول)
المزيد من البرامج (تطبيق الهاتف المحمول)
المزيد من البرامج (تطبيق الهاتف المحمول)

نحتاج إلى طريقة سريعة وبسيطة لمجرد تصور مسار نظام تحديد المواقع العالمي (GPS) الذي يواكبه الخادم في الخطوة السابقة. ربما ، يجب أن يعمل على جميع أنواع الهواتف الذكية.

دعنا بعد ذلك نستخدم مجموعة تطبيقات جوال متعددة الأنظمة الأساسية ، مثل Ionic / Cordova. أنا أستخدم Ionic v1 ، لا تخلط بينه وبين Ionic Native ، أو Ionic v2 ، فهذا شيء مختلف.

اتبع هذه الخطوات البسيطة للغاية لبدء مشروعك الأول في Ionic: هنا.

بعد ذلك ، تحتاج إلى بدء مشروع جديد بناءً على خرائط google sdk ، مثل هذا:

البدء الأيوني خرائط myapp

انتقل إلى مجلد "الموارد" وانسخ صورة السيارة الكبيرة هنا باسم "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).

أضف منصتك مثل هذا:

إضافة أيونية بلافتورم android

بناء مثل هذا:

بناء الروبوت الأيوني

ثم سوف يخبرك أيونك أين بنى ملف apk الخاص بك الذي يمكنك تثبيته على هاتفك المحمول.

لإنشاء نظام iOS ، ستحتاج إلى Mac و Xcode. يمكن لـ ionic بعد ذلك حفظ مشروع Xcode ، والذي يمكنك فتحه في Xcode وإنشاءه لهاتفك. إذا لم يكن لديك حساب مطور iOS ، فسيتعين عليك بعد ذلك إرفاق هاتفك بـ Xcode وإعداد هاتفك للتطوير حتى تتمكن من تثبيت التطبيق هناك. هذا خارج نطاق هذا التدريب.

في ملفات js المختلفة ، ستحتاج إلى العثور على الأسطر المقابلة لـ "car2.png" و "start.png" وتعديلها بمسار صورك. نفس الشيء بالنسبة لـ "plan.json".

هذا كل شيء!!

الخطوة الخامسة: العمل المستقبلي

1) لقد وضعت كل شيء في صندوق من الورق المقوى يمكنني إخفاءه في أي مكان بالقرب من منفذ USB. أفضل ما يمكنك فعله هو تركيب صندوق أفضل تحت غطاء السيارة ، مع محول 12v-> 5v.

2) باستخدام مستشعر البلوتوث ، يمكنك في الواقع "الشعور" إذا كنت في السيارة ، وبالتالي لن يتم تشغيل نظام تحديد المواقع العالمي (GPS).

3) فقط ادفع مقابل خطة بيانات sim وقم بتعيين SECONDS على 1 للاستمتاع بالتتبع في الوقت الفعلي الفائق:)

آمل أن تكون قد استمتعت بهذه التعليمات الأولى لي!

موصى به: