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

مخطط الخرائط - نظام الخرائط + الإخطار: 9 خطوات
مخطط الخرائط - نظام الخرائط + الإخطار: 9 خطوات

فيديو: مخطط الخرائط - نظام الخرائط + الإخطار: 9 خطوات

فيديو: مخطط الخرائط - نظام الخرائط + الإخطار: 9 خطوات
فيديو: ارسم خريطتك الخاصة باستخدام ميزة خرائطي من جوجل Google My Maps 2024, شهر نوفمبر
Anonim
المخطط - نظام الخرائط + الإخطار
المخطط - نظام الخرائط + الإخطار

القيادة الليلية ممتعة للغاية. لكن في كثير من الأحيان ، يتضح أنه كابوس ، في شكل حيوانات تعبر الطريق (خاصة تلك القطط والكلاب الضالة ، التي تنتظرك للقيادة بالقرب منها حتى تتمكن من العبور !!). لذلك فكرت في صنع شيء يحذرك عندما تقترب من هذه المواقع المعرضة للخطر ، بحيث يمكنك القيادة بحذر أكبر.

يتكون النظام من جزأين: جمع البيانات واسترجاعها. يأخذ الجزء الأول بيانات الموقع ، أي المواقع التي يوجد فيها احتمال أكبر بعبور الحيوانات. يجب إضافة هذه البيانات يدويًا وتحديثها على الخريطة. يأخذ الجزء الأخير موقعنا الحالي ثم مقارنته بالبيانات التي تم جمعها ويتم توفير الإخطارات أو التحذيرات المناسبة.

اللوازم

الأجهزة المستخدمة

مجلس تطوير واي فاي ESP8266

وحدة Ublox NEO-6M GPS

المصابيح

زر ضغط مؤقت

البرمجيات المستخدمة

اردوينو IDE

أي محرر جافا سكريبت

Firebase (لتخزين البيانات واسترجاعها)

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

الأجهزة مطلوبة للعمل بطريقتين (أوضاع): 1) تخزين الموقع في قاعدة البيانات: هذا جزء رئيسي في عملية جمع البيانات ؛ يتم إرسال الموقع الذي تم استرداده بواسطة وحدة GPS إلى قاعدة بيانات Firebase من خلال لوحة تطوير ESP8266 WiFi.

2) تقديم الإخطارات أثناء التنقل: أثناء التنقل ، يتم استرداد الموقع الحالي وإرساله إلى قاعدة البيانات. عند كل تحديث للموقع ، يتم حساب المسافة بين الموقع الحالي وتلك المواقع (التي تم تخزينها أثناء عملية جمع البيانات) ويتم استعادتها بواسطة وحدة ESP8266 التي تحذر المستخدم وفقًا لمدى قرب المستخدم من تلك المواقع المخزنة.

لقد أضفت ثلاثة مصابيح LED للإبلاغ عن التغيير في الأوضاع ، بالإضافة إلى التحديث الناجح لقاعدة البيانات ومصباح تحذير لإخطار قرب المستخدم من الموقع المخزن.

يتم استخدام زر الضغط لتخزين الموقع بنقرة واحدة فقط (في وضع التخزين / جمع البيانات) وأيضًا للتغيير بين هذه الأوضاع.

القوة

في البداية ، تم استخدام بطارية ليبو 3.7 فولت 300 مللي أمبير في الساعة ، لكنها طرحت بعض المشكلات. كانت المشكلة الرئيسية هي إعادة تعيين ESP8266 (قد يكون ذلك بسبب الارتفاعات الحالية). كما أن البطارية لم تدم كثيرًا. أخيرًا جاء بنك الطاقة لإنقاذي.

الخطوة 2: الدائرة

دائرة كهربائية
دائرة كهربائية

الخطوة 3: حول Firebase

حول Firebase
حول Firebase
حول Firebase
حول Firebase
حول Firebase
حول Firebase
حول Firebase
حول Firebase

Firebase عبارة عن نظام أساسي لتطوير تطبيقات الجوّال والويب ، مملوك لشركة Google. يحتوي على العديد من الميزات ، ولكن هنا أستخدم اثنتين منها فقط ، Realtime Database و Cloud Functions.

لبدء استخدام Firebase ،

1. انتقل أولاً إلى صفحة ويب Firebase.

2- انتقل الآن إلى وحدة التحكم وانقر فوق إنشاء مشروع جديد.

3- تحتاج إلى تقديم اسم مشروع إلى جانب تفاصيل أخرى لإنشاء مشروع.

4. بعد إنشاء المشروع ، انقر فوق خيار قاعدة البيانات من الجزء الجانبي لإنشاء قاعدة بيانات جديدة.

5. افعل الشيء نفسه بالنسبة للوظائف.

هذه خطوات عامة لإنشاء مشروع ، Firebase موثق جيدًا وهناك العديد من سلاسل مقاطع فيديو youtube للمبتدئين ، يرجى الاطلاع عليها لفهم المزيد.

الخطوة 4: قاعدة البيانات في الوقت الفعلي

قاعدة بيانات الوقت الفعلي
قاعدة بيانات الوقت الفعلي
قاعدة بيانات الوقت الفعلي
قاعدة بيانات الوقت الفعلي

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

الخطوة 5: إعداد وظائف Firebase

إعداد وظائف Firebase
إعداد وظائف Firebase
إعداد وظائف Firebase
إعداد وظائف Firebase
إعداد وظائف Firebase
إعداد وظائف Firebase

نحن بحاجة إلى شيء ما لحساب مدى قرب الموقع الحالي من المواقع المخزنة ، وستقوم وظائف قاعدة البيانات التي تم تشغيلها في الخلفية بعملنا. تمت كتابة الوظائف بجافا سكريبت وتحتاج إلى نشرها على قاعدة النار.

يجب أن يكون لديك node.js مثبتًا على جهاز الكمبيوتر الخاص بك.

1) الآن قم بتنزيل واجهة سطر أوامر firebase باستخدام الأمر "npm install -g firebase-tools" في موجه الأوامر

2) الآن تحتاج إلى تسجيل الدخول إلى firebase باستخدام الأمر "تسجيل الدخول إلى Firebase" (تحتاج إلى إعطاء كلمة مرور تسجيل الدخول إلى gmail إذا لم تكن قد سجلت الدخول بالفعل)

3) بعد ذلك ، انتقل إلى دليل المشروع وابدأ الوظيفة باستخدام الأمر "firebase init". ستحتاج إلى تحديد خيار "الوظائف" لبدء وظائف Firebase لمشروعك.

4) الآن أنت بحاجة للذهاب إلى مجلد "الوظائف" في دليل المشروع الخاص بك والعثور على ملف "index.js".

5) قم بتحرير الملف باستخدام محرر نصوص وتحرير الملف / استبدل الملف بـ mappifier_function.txt (ستكون هذه وظيفتنا بشكل فعال)

6) أخيرًا انشر وظيفتك باستخدام "نشر قاعدة إطلاق النار" في موجه الأوامر.

يمكنك التحقق مما إذا كانت الوظيفة قد تم نشرها ضمن قائمة الوظائف في وحدة التحكم في Firebase

الخطوة 6: الكود

الشفرة
الشفرة
الشفرة
الشفرة
الشفرة
الشفرة

بالنسبة لـ ESP8266:

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

لوظيفة Firebase:

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

تذكر أن تضيف بيانات اعتماد wifi الخاصة بك وبيانات اعتماد firebase قبل تحميل برنامجك. (يرجى الاطلاع على الصور). أيضًا ، إذا كنت جديدًا على ESP8266 ولترميزها على Arduino IDE ، فارجع إليها.

الخطوة 7: خطوة اختيارية (بناء الضميمة)

خطوة اختيارية (بناء الضميمة)
خطوة اختيارية (بناء الضميمة)
خطوة اختيارية (بناء الضميمة)
خطوة اختيارية (بناء الضميمة)
خطوة اختيارية (بناء الضميمة)
خطوة اختيارية (بناء الضميمة)
خطوة اختيارية (بناء الضميمة)
خطوة اختيارية (بناء الضميمة)

من أجل جعل جزء الجهاز مضغوطًا بحيث يمكن تثبيته ، قمت بإنشاء حاوية صغيرة لتناسبها بالداخل. تم عمل فتحتين لتركيب مصابيح LED وتوصيل كبل USB. لكن العلبة النهائية كانت تفوق توقعاتي !! لقد تم تركيبه داخل كفي تمامًا ، وكان من السهل جدًا تثبيته على مقبض الدراجة وعلى عجلة القيادة.

الخطوة 8: في العمل…

إليك مقطع فيديو صغير يوضح كلا الوضعين (التخزين والإخطار) مع مصابيح LED للتحذير والإخطار.

الخطوة 9: المضي قدما…

المضي قدما…
المضي قدما…

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

أنا جديد إلى حد ما في إنشاء صفحات الويب (بشكل أساسي جافا سكريبت) ومواد أخرى وأود أن أحصل على اقتراحاتك وخبراتك:)

موصى به: