جدول المحتويات:
- اللوازم
- الخطوة 1: وحدة الأجهزة
- الخطوة 2: الدائرة
- الخطوة 3: حول Firebase
- الخطوة 4: قاعدة البيانات في الوقت الفعلي
- الخطوة 5: إعداد وظائف Firebase
- الخطوة 6: الكود
- الخطوة 7: خطوة اختيارية (بناء الضميمة)
- الخطوة 8: في العمل…
- الخطوة 9: المضي قدما…
فيديو: مخطط الخرائط - نظام الخرائط + الإخطار: 9 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
القيادة الليلية ممتعة للغاية. لكن في كثير من الأحيان ، يتضح أنه كابوس ، في شكل حيوانات تعبر الطريق (خاصة تلك القطط والكلاب الضالة ، التي تنتظرك للقيادة بالقرب منها حتى تتمكن من العبور !!). لذلك فكرت في صنع شيء يحذرك عندما تقترب من هذه المواقع المعرضة للخطر ، بحيث يمكنك القيادة بحذر أكبر.
يتكون النظام من جزأين: جمع البيانات واسترجاعها. يأخذ الجزء الأول بيانات الموقع ، أي المواقع التي يوجد فيها احتمال أكبر بعبور الحيوانات. يجب إضافة هذه البيانات يدويًا وتحديثها على الخريطة. يأخذ الجزء الأخير موقعنا الحالي ثم مقارنته بالبيانات التي تم جمعها ويتم توفير الإخطارات أو التحذيرات المناسبة.
اللوازم
الأجهزة المستخدمة
مجلس تطوير واي فاي ESP8266
وحدة Ublox NEO-6M GPS
المصابيح
زر ضغط مؤقت
البرمجيات المستخدمة
اردوينو IDE
أي محرر جافا سكريبت
Firebase (لتخزين البيانات واسترجاعها)
الخطوة 1: وحدة الأجهزة
الأجهزة مطلوبة للعمل بطريقتين (أوضاع): 1) تخزين الموقع في قاعدة البيانات: هذا جزء رئيسي في عملية جمع البيانات ؛ يتم إرسال الموقع الذي تم استرداده بواسطة وحدة GPS إلى قاعدة بيانات Firebase من خلال لوحة تطوير ESP8266 WiFi.
2) تقديم الإخطارات أثناء التنقل: أثناء التنقل ، يتم استرداد الموقع الحالي وإرساله إلى قاعدة البيانات. عند كل تحديث للموقع ، يتم حساب المسافة بين الموقع الحالي وتلك المواقع (التي تم تخزينها أثناء عملية جمع البيانات) ويتم استعادتها بواسطة وحدة ESP8266 التي تحذر المستخدم وفقًا لمدى قرب المستخدم من تلك المواقع المخزنة.
لقد أضفت ثلاثة مصابيح LED للإبلاغ عن التغيير في الأوضاع ، بالإضافة إلى التحديث الناجح لقاعدة البيانات ومصباح تحذير لإخطار قرب المستخدم من الموقع المخزن.
يتم استخدام زر الضغط لتخزين الموقع بنقرة واحدة فقط (في وضع التخزين / جمع البيانات) وأيضًا للتغيير بين هذه الأوضاع.
القوة
في البداية ، تم استخدام بطارية ليبو 3.7 فولت 300 مللي أمبير في الساعة ، لكنها طرحت بعض المشكلات. كانت المشكلة الرئيسية هي إعادة تعيين ESP8266 (قد يكون ذلك بسبب الارتفاعات الحالية). كما أن البطارية لم تدم كثيرًا. أخيرًا جاء بنك الطاقة لإنقاذي.
الخطوة 2: الدائرة
الخطوة 3: حول Firebase
Firebase عبارة عن نظام أساسي لتطوير تطبيقات الجوّال والويب ، مملوك لشركة Google. يحتوي على العديد من الميزات ، ولكن هنا أستخدم اثنتين منها فقط ، Realtime Database و Cloud Functions.
لبدء استخدام Firebase ،
1. انتقل أولاً إلى صفحة ويب Firebase.
2- انتقل الآن إلى وحدة التحكم وانقر فوق إنشاء مشروع جديد.
3- تحتاج إلى تقديم اسم مشروع إلى جانب تفاصيل أخرى لإنشاء مشروع.
4. بعد إنشاء المشروع ، انقر فوق خيار قاعدة البيانات من الجزء الجانبي لإنشاء قاعدة بيانات جديدة.
5. افعل الشيء نفسه بالنسبة للوظائف.
هذه خطوات عامة لإنشاء مشروع ، Firebase موثق جيدًا وهناك العديد من سلاسل مقاطع فيديو youtube للمبتدئين ، يرجى الاطلاع عليها لفهم المزيد.
الخطوة 4: قاعدة البيانات في الوقت الفعلي
بعد إنشاء قاعدة البيانات ، فإن الخطوة التالية هي معرفة كيفية تخزين البيانات في قاعدة البيانات وإمكانية الوصول إليها. للكتابة أو القراءة من / إلى قاعدة البيانات ، تحتاج إلى تكوين قواعد قاعدة البيانات. لأغراض التطوير ، يمكننا استخدام قاعدة مفتوحة بحيث يمكن لأي شخص لديه مرجع قاعدة البيانات القراءة / الكتابة ولكن كن حذرًا أثناء تكوين القواعد. تخزن قاعدة البيانات البيانات بتنسيق JSON وتتم مزامنتها مع جميع الأجهزة المتصلة بـ قاعدة البيانات: يمكنك إضافة عقد فرعية باستخدام علامة "+" ولكن يمكن أيضًا إنشاء العقد برمجيًا. يتم تخزين جميع البيانات التي نحملها إلى قاعدة البيانات في وضع "المتجر" (تخزين الموقع الذي تم جمعه) هنا كعقد منفصلة بينما يتم تحديث البيانات في وضع "الإعلام" (استرداد البيانات عند التنقل) في كل مرة (تحقق من الصورة).
الخطوة 5: إعداد وظائف 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: المضي قدما…
يمكن استخدام هذا النظام لأغراض مختلفة ، على سبيل المثال ، مع الأخذ في الاعتبار السيناريو الحالي ، إذا كان بإمكانك الحصول على مواقع انتشار المرض وتخزينه في قاعدة بيانات ، فسيتم توفير التحذيرات بواسطة هذا النظام عندما تكون قريبًا من تلك المواقع. لكنني أفكر بجدية في الحصول على بيانات عبور الحيوانات من جميع أنحاء العالم لجعل السائقين حذرين وإنقاذ العديد من الحيوانات من الحوادث. لقد أنشأت صفحة ويب بسيطة (ولكن لم تتم استضافتها بعد) تحتوي على جميع البيانات التي جمعتها. هذه هي البيانات التي جمعتها أثناء المشي أو ركوب الدراجات (كلما وجدت قطًا أو كلبًا على جانب الطريق لأنهما أكثر عرضة للعبور) لكننا نحتاج إلى المزيد من البيانات لتنفيذ ذلك.
أنا جديد إلى حد ما في إنشاء صفحات الويب (بشكل أساسي جافا سكريبت) ومواد أخرى وأود أن أحصل على اقتراحاتك وخبراتك:)
موصى به:
مصباح الإخطار Kodak Pi من الثلاثينيات: 6 خطوات (بالصور)
1930s Kodak Pi Notification Lamp: هذا هو عارض Kodak Table Viewer في الثلاثينيات من القرن الماضي والذي قمت بتكييفه لعرض الإشعارات والتنبيهات باستخدام مجموعة من الألوان الزاهية. مصدر الضوء هو Unicorn pHAT ، وهو مصفوفة قابلة للبرمجة من مصابيح LED الساطعة ، ويتم التحكم في هذا بواسطة Raspberry Pi Zero W ، وهو
صندوق بريد الإخطار: 7 خطوات
صندوق بريد الإخطار: بقلم: نوح سميث وهاري سينغ
تنبيه الإخطار المرئي: 9 خطوات
تنبيه الإخطار المرئي: يعلمك هذا البرنامج التعليمي كيفية كتابة التعليمات البرمجية لإعلام Phillips Hue للتنبيه. سيكون مفيدًا جدًا للأشخاص الصم وضعاف السمع ، والذين يعانون من ضعف البصر أو الإعاقات الحسية. تنبيه الإخطار المرئي هو إبلاغ المستخدمين بعد تلقي الإشعار
علم الإخطار - مقدمة رائعة لشبكة Wi-Fi و IFTTT و Huzzah ESP8266: 9 خطوات (بالصور)
علم الإخطار - مقدمة رائعة لشبكة Wi-Fi و IFTTT و Huzzah ESP8266: أفتقد دائمًا أشياء مهمة … لذلك قمت بإنشاء Flag. جهاز إنترنت الأشياء (IoT) لإخطاري أو تذكيرني بهذه الأشياء المهمة! الآن بإلقاء نظرة سريعة على مكتبي يمكنني معرفة ما إذا كان
تنبيه Arduino Washer Dryer Alert - دفع الإخطار للهاتف باستخدام Blynk: 5 خطوات (بالصور)
تنبيه Arduino Washer Dryer Alert - دفع الإخطار إلى الهاتف مع Blynk: غسالة ملابسنا في المرآب ولا يمكننا سماع أصوات التنبيه للإشارة إلى اكتمال الغسيل. أردت أن أجد طريقة لإخطاري ، أينما كنا في المنزل ، عندما تنتهي الدورة. لقد كنت العبث مع Arduino ، ESP8266 WiFi