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

EAL - جمع بيانات نظام تحديد المواقع العالمي (GPS) الخاص بالصناعة 4.0 على سيارة التحكم عن بعد: 4 خطوات
EAL - جمع بيانات نظام تحديد المواقع العالمي (GPS) الخاص بالصناعة 4.0 على سيارة التحكم عن بعد: 4 خطوات

فيديو: EAL - جمع بيانات نظام تحديد المواقع العالمي (GPS) الخاص بالصناعة 4.0 على سيارة التحكم عن بعد: 4 خطوات

فيديو: EAL - جمع بيانات نظام تحديد المواقع العالمي (GPS) الخاص بالصناعة 4.0 على سيارة التحكم عن بعد: 4 خطوات
فيديو: The Third Industrial Revolution: A Radical New Sharing Economy 2024, شهر نوفمبر
Anonim
EAL - جمع بيانات نظام تحديد المواقع العالمي (GPS) الخاص بالصناعة 4.0 على سيارة التحكم عن بعد
EAL - جمع بيانات نظام تحديد المواقع العالمي (GPS) الخاص بالصناعة 4.0 على سيارة التحكم عن بعد
EAL - جمع بيانات نظام تحديد المواقع العالمي (GPS) الخاص بالصناعة 4.0 على سيارة التحكم عن بعد
EAL - جمع بيانات نظام تحديد المواقع العالمي (GPS) الخاص بالصناعة 4.0 على سيارة التحكم عن بعد

سنتحدث في Instructable عن كيفية إعداد وحدة GPS على سيارة RC ونشر البيانات التي تم جمعها على صفحة ويب لتسهيل المراقبة. لقد قدمنا في السابق تعليمات حول كيفية صنعنا لسيارتنا RC ، والتي يمكن العثور عليها هنا. يستخدم هذا نفس البنية ، على الرغم من أننا قررنا إلغاء مستشعرات الموجات فوق الصوتية وتطبيق وحدة GPS بدلاً من ذلك. في المشروع ، قمنا بإعداد قاعدة بيانات تحتوي على بيانات GPS ، وقمنا ببناء صفحة ويب يمكن العثور على البيانات عليها ، بالإضافة إلى تطبيقها على الخريطة ، حتى تتمكن من معرفة مكان وجود السيارة. قم بزيارة Joerha.dk لعرض صفحة الويب.

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

قائمة المرافق:

  • جيثب
  • Raspberry PI / Raspbian

    بايثون

  • Node.js

    • Express.js
    • Sequelize.js
    • MySQL
  • HTML و CSS و JS

    التمهيد

الخطوة 1: إعداد قاعدة البيانات

إعداد قاعدة البيانات
إعداد قاعدة البيانات

في هذا الجزء سنتحدث عن كيفية بناء نظام قاعدة البيانات الذي يتم سحب بيانات GPS منه. تم بناء قاعدة البيانات في MySQL وفقًا للصورة أعلاه ، حيث لدينا جدولين - "المستخدمون" و "إدخالات GPS". في المستخدمين لدينا "معرف" كمفتاح أساسي لدينا. يتم استخدامه كمعرف فريد. "الاسم" هو اسم المستخدم الذي قام بتسجيل الدخول حاليًا. "Apikey" هو المفتاح الفريد الذي يُمنح للمستخدم للوصول إلى واجهة برمجة التطبيقات. "نشط" للتحقق مما إذا كان المستخدم نشطًا ، يمكننا إلغاء تنشيط المستخدم ، حتى لا يتمكن من الوصول إلى قاعدة البيانات. يتم إجراء "CreatedAt" و "UpdatedAt" من خلال العملية التي استخدمناها لبناء قاعدة البيانات.

في جدول "GPSEntries" لدينا جميع السمات التي تحتوي على بيانات من وحدة GPS. "الوقت" هو الوقت الحالي لوحدة GPS ، نستخدمه لإظهار وقت الإرسال. ثم لدينا الموقع في الإحداثيات ، وكذلك "السرعة" و "العنوان". لدينا أيضًا الكثير من سمات الخطأ ، والتي توضح ما إذا كان هناك خطأ في البيانات من GPS ، fx في الإحداثيات. لقد أضفناها إلى قاعدة البيانات ، لكننا لا نعرضها على صفحة الويب. "معرف المستخدم" هو مفتاح خارجي يحتوي على "المعرف" من جدول المستخدمين. يستخدم هذا لإظهار المستخدم الذي نشر البيانات.

الخطوة 2: API

API
API

في هذا الجزء سنتحدث عن واجهة برمجة التطبيقات التي تتحكم في قاعدة البيانات وتلصق البيانات بها. تم تصميم واجهة برمجة تطبيقات الويب باستخدام Node.js ، والذي يستخدم Express.js و Sequalize.js.

يتم استخدام Node.js لتشغيل JavaScript serveride ، حيث يتم استخدامه عادةً بشكل أساسي للبرمجة النصية من جانب العميل على صفحة ويب.

Express.js هو الإطار الذي استخدمناه لبناء واجهة برمجة التطبيقات.

يتم استخدام Sequalize.js لعمل روابط بين بيانات Gps وسمات قاعدة البيانات. يستخدم طريقة تسمى ORM (رسم الخرائط العلائقية للكائن) للقيام بذلك. هذا هو المكان الذي يتم فيه إنشاء "CreatedAt" و "UpdatedAt" (كما هو موضح في الخطوة 1).

يمكن استخدام واجهة برمجة التطبيقات من خلال زيارة api.joerha.dk. ثم أضف / gps إلى عنوان url ، والذي سيعرض جميع البيانات الموجودة في قاعدة البيانات بتنسيق JSON. للتحكم في عدد الإدخالات التي تريدها ، يمكنك إضافة / 2 (المستخدم) و / x (عدد الإدخالات) إلى عنوان url. سيعرض Fx api.joerha.dk/gps/2/10 آخر 10 إدخالات. يظهر مأخذ من البيانات المنسقة في الصورة أعلاه.

يمكن العثور على الكود هنا: جيثب

الخطوة 3: تطبيق GPS / Python

تطبيق GPS / Python
تطبيق GPS / Python
تطبيق GPS / Python
تطبيق GPS / Python
تطبيق GPS / Python
تطبيق GPS / Python

في هذا المقطع سوف نتحدث عن البرنامج النصي الذي يعمل على التوت ويجمع بيانات GPS ويرسلها إلى API.

لجمع البيانات من GPS ، نستخدم برنامج خفي يسمى gpsd (الصورة 1). هذا هو المكان الذي نجمع فيه البيانات التي ننشرها في قاعدة البيانات ، والأساس لجدول GPSEntries الخاص بنا. البرنامج النصي الذي يسحب البيانات من gpsd وينشرها على API ، مكتوب بلغة python.

يقوم التطبيق بتهيئة مؤشر ترابط ، بحيث يمكنه تشغيل كل من GPSd وبرنامجنا في نفس الوقت. يتم دفق بيانات Gpsd بشكل مستمر بينما يكون GPS نشطًا (الصورة 2).

ثم نقوم بعمل حلقة while التي تنشر باستمرار حمولتها إلى واجهة برمجة التطبيقات التي تحتوي على بيانات GPS. تم تنسيق البيانات بتنسيق JSON. تتكون الحمولة من السمات التي تظهر في GPSD. تعمل علامة.fix مثل لقطة من البيانات الحالية ، وترسلها إلى واجهة برمجة التطبيقات. يتم ذلك عن طريق request.post ، ويستخدم عنوان url ومفتاح API. يتم إخراج الطباعة (r.status_code) للمستخدم ، لمعرفة ما إذا كانت البيانات قد وصلت بشكل صحيح. Time.sleep (0.5) هو عدد المرات التي يتم فيها نشر البيانات (الصورة 3)

يمكن العثور على الكود هنا: جيثب

الخطوة 4: صفحة الويب الخاصة بالمشروع

صفحة الويب الخاصة بالمشروع
صفحة الويب الخاصة بالمشروع

في هذا الجزء سنتحدث عن كيفية صنعنا لصفحة الويب الخاصة بنا التي تعرض البيانات والمعلومات الأخرى حول المشروع. تم إنشاء الموقع باستخدام HTML و css و JS. في البداية استخدمنا Bootstrap 4.0 ، وهي مكتبة لـ HTML و css و JS. يأتي مع الكثير من الوظائف التي تساعدك على بناء موقع الويب الخاص بك. لقد استخدمناها لشريط التنقل في الأعلى ، وكذلك إعداد الصف والعمود الذي تم بناء الموقع به. ثم لدينا برنامج نصي صغير آخر css يتحكم في ألوان الخلفية والعناوين. لقد استخدمنا مكتبة تسمى lightbox ، بحيث يمكنك النقر فوق الصور وستظهر لهم. تحتوي محتويات الموقع على خريطة google وجدول بيانات وفيديو للسيارة أثناء العمل ورابط لهذه الصفحة بالذات.

خريطة جوجل هي الأكثر إثارة للاهتمام. يتم تحميل الخريطة من خلال google API ، حيث يتم إدخال مفتاح API فريد لكي تعمل. يتم دفق البيانات إلى الخريطة في فاصل زمني يبلغ 500 مللي ثانية. لقد قمنا بعمل وظيفة حيث يتم عرض آخر 100 نقطة بيانات في قاعدة البيانات كعلامات ، حتى تتمكن من متابعة مكان وجود السيارة. يتم ذلك من خلال ما يسمى بمكالمة AJAX.

يتم طلب مجموعات البيانات في جدول بيانات GPS بنفس الطريقة. في الجدول ، يمكنك رؤية آخر 10 إدخالات ، محدثة في الوقت الفعلي عندما يكون GPS نشطًا. نقوم باسترداد البيانات من قاعدة البيانات في فاصل زمني قدره 500 مللي ثانية.

يمكن العثور على الكود هنا: جيثب

موصى به: