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

مخطط المسار: 6 خطوات
مخطط المسار: 6 خطوات

فيديو: مخطط المسار: 6 خطوات

فيديو: مخطط المسار: 6 خطوات
فيديو: خطة احترافية لدراسة علم وتحليل البيانات في (6 شهور فقط) + المصادر | Data Science Studying Plan 2024, شهر نوفمبر
Anonim
مخطط المسار
مخطط المسار
مخطط المسار
مخطط المسار
مخطط المسار
مخطط المسار

في مشروع إنترنت الأشياء هذا ، قمنا بتوصيل NEO-6M (وحدة GPS) لتوصيل بيانات الموقع من خلال Arduino إلى ورقة Excel سيتم حفظها على الكمبيوتر. بعد ذلك مع Tableau Public ، نقوم بإنشاء تصور للبيانات لهذه البيانات لرسم خريطة للمسار الذي سلكناه. في حين أن هذه هي إحدى طرق جمع البيانات في الوقت الفعلي وتقديمها في بيانات شديدة الارتباط ، يمكن أيضًا تطبيق هذه العملية على مشاريع أخرى تعتمد على البيانات.

الخطوة الأولى: الحصول على المواد

الحصول على المواد
الحصول على المواد

بالنسبة لهذا المشروع ، ستحتاج إلى ما يلي:

  • وحدة GPS NEO-6M
  • اردوينو اونو
  • أسلاك توصيل ذكر / ذكر (ستحتاج إلى 4 أسلاك)
  • كابل USB 2.0 من النوع A إلى B
  • الكمبيوتر مع هذه البرامج: Tableau Public و Arduino IDE (مع TinyGPS ++) والمعالجة

الخطوة 2: إعداد الأجهزة

إعداد الأجهزة
إعداد الأجهزة
إعداد الأجهزة
إعداد الأجهزة

نحتاج أولاً إلى إعداد وحدة GPS مع Arduino UNO حتى يمنحنا Arduino واجهة لإظهار البيانات. يتوافق كل من الأسلاك الأربعة المتصلة بـ NEO-6M مع منافذ محددة. إذا لم يكن جهاز NEO-6M مزودًا بالأسلاك ، فسيتعين عليك توصيله بأسلاك توصيل مباشرة. في الرسم البياني أعلاه ، يشير اللون الأحمر إلى الطاقة (VCC) والأسود إلى الأرض (GND) والأصفر لنقل البيانات (TxD) والأبيض لاستقبال البيانات (RxD). نقوم بتوصيل هذه الأسلاك بأسلاك توصيل ذكر / ذكر حتى نتمكن من توصيلها بـ Arduino. باتباع الرسم البياني أعلاه ، نقوم بتوصيل السلك الأرضي بالدبوس الرقمي GND على Arduino ، وسلك TxD بـ 4 ، وسلك RxD بـ ~ 3 ، وسلك VCC إلى 5V للجهد. في خطوة مستقبلية ، سنحتاج إلى تعريف TxD و RxD بالأرقام الصحيحة في SoftwareSerial.

بمجرد توصيل الجهازين ببعضهما البعض ، نحتاج إلى توفير مصدر طاقة. قم بتوصيل كابل USB 2.0 بجهاز الكمبيوتر المحمول الخاص بك ويجب أن يضيء المصباح الموجود على NEO-6M.

الخطوة 3: ترميز Arduino لاستخراج البيانات

ترميز Arduino لاستخراج البيانات
ترميز Arduino لاستخراج البيانات

الآن بعد أن تم إعداد الأجهزة لجمع بيانات GPS من الأقمار الصناعية ، سنكتب رمزًا لتحليل بيانات GPS التي نريدها. بافتراض أنك التقطت إشارة (ستومض وحدة GPS الخاصة بي باللون الأزرق) ، فإن NEO-6M تطبع بشكل افتراضي البيانات الأولية على الشاشة التسلسلية في شكل رسائل NMEA ، والتي تبدو مثل $ GP متبوعة بمزيد من الأحرف والمتسلسلة من الأرقام. تعطي الصورة أعلاه فكرة عامة عما يجب أن يظهر على شاشتك التسلسلية بمجرد إدخال كود Arduino الأساسي.

لشرح الكود الذي أرفقته (أو إذا كنت ترغب في محاولة ترميزه بنفسك) ، فأنت بحاجة أولاً إلى تضمين مكتبات SoftwareSerial و TinyGPS ++ (لهذا الأخير ، Sketch> Include> Add. ZIP library). SoftwareSerial يسمح لنا بالحصول على اتصال تسلسلي ؛ يمنحنا TinyGPS ++ أداة سهلة لطباعة المعلومات المستهدفة في نموذج قابل للقراءة. تأكد من تهيئة كائن SoftwareSerial على المسامير المقابلة في Arduino. في وظيفة الإعداد ، نستخدم 9600 كمعدل الباود.

لغرض هذا التدريب ، سنطبع فقط سبعة أنواع من البيانات في وظيفة الحلقة: خط العرض (بالدرجات) ، وخط الطول (بالدرجات) ، والسرعة (كم) ، والدورة (بالدرجات) ، والارتفاع (كم) ، وعدد الأقمار الصناعية في استخدام و hdop. يمكنك البحث في بناء الجملة لطباعة هذه المعلومات في مكتبة Arduiniana. النموذج العام هو Serial.print (). على سبيل المثال لطباعة خط الطول ، سنكتب Serial.print (gps.location.lng ()، 6). يمثل الرقم 6 عدد الأرقام التي نريدها على يمين العلامة العشرية.

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

الخطوة 4: استخدام المعالجة للاستماع

الاستفادة من المعالجة للاستماع
الاستفادة من المعالجة للاستماع

بينما لدينا رمز لإعداد Arduino IDE ، لدينا مشكلة في حفظ هذه البيانات. اعتبارًا من الآن ، يمكننا فقط عرض البيانات الموجودة على الشاشة التسلسلية أثناء تجميعها. هناك العديد من الطرق لتسجيل هذه البيانات ولكني اخترت المعالجة بشكل أساسي لأن واجهتها تحاكي Arduino IDE وتستخدم Java ، وهي لغة أعرفها جيدًا (لاحظ أنه يمكنك أيضًا التحكم في لوحة Arduino باستخدام المعالجة إذا قمت بتنزيل Firmata). تستمع المعالجة إلى المنفذ المتصل بـ Arduino ولديها القدرة على معالجة البيانات المقروءة على الشاشة التسلسلية. للعثور على اسم هذا المنفذ ، ارجع إلى ملف Arduino IDE الخاص بك وتحقق من Tools> Port.

لقد قدمت رمز المعالجة ، ولكن إليك نظرة عامة سريعة على كيفية عمل الكود.

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

في وظيفة السحب ، نستخدم وظائف التاريخ والوقت المضمنة لتتبع وقت استخراج كل مجموعة من بيانات GPS. الآن لقراءة تدفق البيانات من Arduino ووضعها تحت العناوين المناسبة مع الوقت والتاريخ الصحيحين ، نستخدم التعبيرات العادية.

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

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

الخطوة 5: عرض البيانات على Tableau Public

عرض البيانات على لوحة عامة
عرض البيانات على لوحة عامة
عرض البيانات على لوحة عامة
عرض البيانات على لوحة عامة
عرض البيانات على لوحة عامة
عرض البيانات على لوحة عامة

تتضمن الخطوة الأخيرة بعض تصور البيانات. هناك العديد من البرامج لإنشاء وعرض تصورات البيانات مثل Plotly ، ولكن في هذا المشروع سوف نستخدم Tableau. افتح Tableau Public وافتح ملف Excel المحفوظ كملف نصي. لإنشاء ورقة عمل ، انقر فوق الورقة 1 في أسفل اليسار.

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

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

الخطوة 6: تنقية المعنى

تنقية المعنى
تنقية المعنى

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

الآن بعد أن اختبرت العملية الكاملة لجمع البيانات وعرض ما لديك في تصور البيانات ، يمكنك تطبيق هذا على مشاريع أخرى!

بواسطة Pingdi Huang ، صيف 2018

موصى به: