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

لوحة القيادة Raspberry Pi للدراجات النارية: 9 خطوات (بالصور)
لوحة القيادة Raspberry Pi للدراجات النارية: 9 خطوات (بالصور)

فيديو: لوحة القيادة Raspberry Pi للدراجات النارية: 9 خطوات (بالصور)

فيديو: لوحة القيادة Raspberry Pi للدراجات النارية: 9 خطوات (بالصور)
فيديو: من زينو نهار اليوم ØµØ Ø¹ÙŠØ¯ÙƒÙ… انشر الفيديو Øتى يراه كل Ø§Ù„Ø 2024, يوليو
Anonim
لوحة القيادة Raspberry Pi للدراجات النارية
لوحة القيادة Raspberry Pi للدراجات النارية

بصفتي طالبًا في مجال الوسائط المتعددة وتكنولوجيا الاتصالات في Howest Kortrijk ، كان عليّ إنشاء مشروع إنترنت الأشياء الخاص بي. سيجمع هذا كل الوحدات المتبعة في السنة الأولى في مشروع واحد كبير. لأنني أركب دراجتي النارية كثيرًا في أوقات فراغي ، قررت استخدام مهاراتي المكتسبة في MCT tu لبناء شيء لدراجتي النارية: لوحة عدادات ذكية.

MotoDash هي لوحة تحكم تعمل بالطاقة Raspberry Pi مصممة لراكبي الدراجات النارية المتعصبين والتي تمنح السائق القدرة على تتبع أدائهم.

ما هي ميزات لوحة القيادة هذه؟

  • عرض زاوية الميل الحالية
  • عرض التسارع الحالي
  • إمكانية مراقبة درجة حرارة الزيت
  • قم بالتبديل تلقائيًا إلى المظهر الداكن عند الركوب في الظلام
  • سجل بيانات رحلاتك ، واطلع على الإحصائيات الخاصة بك

اللوازم

وحدة الحوسبة الرئيسية:

Raspberry Pi هذا هو المتحكم الرئيسي في النظام

الإلكترونيات:

  • شاحن USB للدراجة النارية 12V-5V
  • مرحل ذو 4 سنون منصهر بجهد 12 فولت قم بالتبديل لتشغيل / إيقاف تشغيل دائرة الطاقة الخاصة بـ RPi
  • لوح توصيل مع أسلاك توصيل (اختياري) للاختبار والنماذج الأولية
  • مجموعة المقاومات

    ألوان مختلفة من سلك 0.2 مم

  • Breakout Pi plus هذه لوحة نماذج أولية حيث يمكنك لحام جميع مكوناتك. إنه مصنوع ليلائم رأس Raspberry Pi مباشرةً ، وبالتالي تظل أبعاد المشروع إلى الحد الأدنى.

مجسات ووحدات:

  • مستشعر درجة حرارة السلك DS18B20 مقاوم للماء ، مستشعر درجة حرارة الزيت
  • 3 محاور مقياس تسارع الدوران MPU6050 مستشعر الإمالة / التسارع
  • المقاوم المعتمد على الضوء (LDR)
  • MCP3008 - 8 قنوات 10 بت ADC بواجهة SPI

    شاشة TFT SPI (أو أي شاشة LCD أخرى تناسب احتياجاتك)

    RGB LED

غلاف:

  • صندوق بلاستيكي
  • علبة توت العليق

أدوات:

  • لحام الحديد ولحام
  • مسامير وفواصل مقاس 2.5 مم
  • موصلات كابل مقاومة للماء
  • صمغ ممتاز

الخطوة 1: النمذجة

النماذج
النماذج
النماذج
النماذج

قبل أن نجعل كل شيء دائمًا ، سنضع المشروع معًا على لوح التجارب. يمكن تخطي هذه الخطوة إذا كنت متأكدًا تمامًا من أنك لن ترتكب أخطاء. يمكن العثور على المخطط الكهربائي / اللوح في ملف PDF أدناه. ضع الدائرة معًا تمامًا كما هو موضح. تأكد من استخدام دبوس 3.3 فولت فقط وليس دبوس 5 فولت على RPi. أيضًا قبل تشغيل raspberry Pi ، تحقق من دائرتك. تأكد من عدم وجود السراويل القصيرة!

الخطوة 2: تحضير Raspberry Pi

تحضير Raspberry Pi
تحضير Raspberry Pi

بادئ ذي بدء ، سنقوم بإعداد Raspberry Pi. Raspberry Pi هو كمبيوتر صغير قادر على تشغيل نظام التشغيل الخاص به. بالنسبة لهذا المشروع ، فهي مسؤولة عن معالجة sensordata واستضافة موقع الويب وتشغيل الواجهة الخلفية وقاعدة البيانات ، …

1. تثبيت صورة Raspbian المخصصة

تحتوي الصورة المقدمة بالفعل على حزم البرامج اللازمة لبدء هذا المشروع:

  • أباتشي للواجهة الأمامية للموقع
  • MariaDB لقاعدة البيانات
  • PhpMyAdmin لمعالجة قاعدة البيانات
  • أذونات مخصصة لتجنب المشاكل

يمكن تنزيل الصورة المخصصة من هنا.

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

بمجرد تثبيت الصورة ، قم بتوصيل Raspberry Pi بجهاز الكمبيوتر الخاص بك باستخدام كابل إيثرنت. يمكنك الآن استخدام عميل SSH للاتصال به على عنوان IP 169.254.10.1

من الممارسات الجيدة تعيين كلمة مرور جديدة بشكل صحيح باستخدام الأمر passwd

2. تكوين نقطة وصول لاسلكية

عند الانتهاء من المشروع ، نريد أن نكون قادرين على الاتصال بـ RPi عبر wifi ، لذلك دعنا نحوله إلى نقطة وصول لاسلكية. يمكن العثور على برنامج تعليمي لهذا هنا.

ما عليك سوى اتباع هذا البرنامج التعليمي حتى الخطوة 7. الخطوة 8 ليست مطلوبة لأننا لسنا بحاجة إلى ربط اتصال بالإنترنت ، ولكن إنشاء شبكة مستقلة.

3. واجهات التمكين

توجه إلى Raspi-config

sudo raspi-config

انتقل إلى خيارات الواجهة وقم بتمكين 1-wire و SPI و I2C وأعد تشغيل Pi

3. إعداد برامج تشغيل للعرض

تهيئة العرض

قم بتحرير الملف / etc / modules

sudo نانو / الخ / وحدات

أضف السطرين التاليين

جهاز spi-bcm2835fbtft

الآن قم بتحرير /etc/modprobe.d/fbtft.conf

sudo nano /etc/modprobe.d/fbtft.conf

أضف السطر التالي

الخيارات fbtft_device name = tm022hdh26 gpios = إعادة التعيين: 25 ، dc: 24 ، الصمام: 18 تدوير = 90 سرعة = 80000000 إطارًا في الثانية = 60

أعد تشغيل Pi. إذا رأيت الإضاءة الخلفية للشاشة تضيء ، فقد سار كل شيء على ما يرام. سيؤدي هذا إلى تهيئة العرض في كل مرة يتم فيها تشغيل Pi ، إلا أنه سيعرض فقط شاشة سوداء الآن. للحصول على محتويات Pi على الشاشة ، نحتاج إلى نسخ محتويات الشاشة الرئيسية على شاشة LCD الصغيرة. سوف نستخدم خدمة تسمى fbcp لهذا الغرض.

تثبيت خدمة fbcp

sudo apt-get install cmake

استنساخ بوابة

cd rpi-fbcp

بناء مكدير

بناء القرص المضغوط /

cmake..

صنع

sudo قم بتثبيت fbcp / usr / local / bin / fbcp

الآن قمنا بتثبيت الخدمة. ومع ذلك ، نظرًا لأننا نستخدم Pi بدون رأس ، فلا توجد شاشة متاحة لنسخ المحتويات منها. لإجبار Pi على إخراج محتوى الشاشة ، قم بتحرير /boot/config.txt

sudo نانو / boot/config.txt

ابحث عن الأسطر التالية وأزل تعليقها أو أضفها إلى هذا الملف:

hdmi_force_hotplug = 1

hdmi_cvt = 640480 60 0 0 0 0

display_rotate = 0

hdmi_group = 2

hdmi_mode = 87

أعد تشغيل RPi واختبر خدمة fbcp عن طريق كتابة fbcp في وحدة التحكم. الآن يجب أن تشاهد محتويات الشاشة على شاشة LCD.

تشغيل fbcp عند بدء التشغيل

قم بتحرير /etc/rc.local وأضف السطر التالي بين عنوان IP وخط الخروج

fbcp &

الآن يجب أن يتم تشغيل الشاشة في كل مرة يتم فيها تشغيل RPi

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

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

لتسجيل وتخزين sensordata قمت بتصميم قاعدة البيانات الخاصة بي والتي تحتوي على 4 جداول. يظهر مخطط EER في الصورة أعلاه.

1. الأجهزة

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

2. الإجراءات

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

3. التاريخ

يحتوي هذا الجدول على جميع سجلات أجهزة الاستشعار. يحتوي كل سجل على معرف إجراء وقيمة وطابع زمني وركوب

4. ركوب الخيل

هذا الجدول يخزن جولات مختلفة. في كل مرة يبدأ فيها المستخدم رحلة جديدة ، يتم إدخال إدخال جديد في هذا الجدول

للحصول على قاعدة البيانات هذه على Raspberry Pi الخاص بك ، توجه إلى My GitHub وقم باستنساخ / تنزيل المستودع. تحت قاعدة البيانات ستجد 2 ملفات.sql. قم بتشغيلها في PhpMyAdmin أو MySQL workbench. الآن يجب أن تكون قاعدة البيانات على RPi الخاص بك.

الخطوة 4: الخلفية

إذا لم تكن قد قمت بذلك بالفعل ، فانتقل إلى GitHub واستنسخ / تنزيل المستودع. تحت مجلد Backend ، ستجد الخلفية الكاملة للمشروع.

يحتوي المجلد على فئات لقراءة المستشعرات ضمن / helpers ، وملفات للتواصل مع قاعدة البيانات ضمن / المستودعات ، ويقع التطبيق الرئيسي في الجذر تحت اسم app.py.

تثبيت حزم بايثون

قبل أن نحاول تشغيل أي شيء ، نحتاج إلى تثبيت بعض الحزم لبيثون أولاً. توجه إلى محطة RPi الخاصة بك واكتب الأوامر التالية:

pip3 تثبيت mysql- موصل- بيثون

pip3 تثبيت flask-socketio

pip3 تثبيت قارورة cors

تثبيت pip3 gevent

pip3 تثبيت gevent-websocket

ملاحظة مهمة: إذا قمت بتغيير كلمة مرور Mariadb / Mysql الخاصة بك ، فقم بتغيير كلمة المرور في config.py!

اختبار الخلفية

قم بتشغيل app.py باستخدام مترجم python3 (/ usr / bin / python3). تأكد من عدم وجود أخطاء.

تشغيل الواجهة الخلفية في التمهيد

قم بتحرير motoDash_backend.service وقم بتغيير YOURFILEPATH إلى المسار حيث يتم حفظ المستودع.

الآن انسخ هذا الملف إلى / etc / systemd / system /

sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.

الآن ستبدأ الواجهة الخلفية تلقائيًا في كل مرة يتم فيها تشغيل RPi.

الخطوة 5: الواجهة الأمامية

نهاية المقدمة
نهاية المقدمة
نهاية المقدمة
نهاية المقدمة

توجه إلى GitHub Repo. انسخ محتويات دليل الواجهة الأمامية إلى / var / www / html.

هذا كل ما عليك فعله لجعل الواجهة الأمامية تعمل. يحتوي هذا المجلد على جميع صفحات الويب والأنماط والبرامج النصية لواجهة الويب. كما أنه يتواصل مع الواجهة الخلفية. لاختبار ما إذا كان كل شيء يعمل كما ينبغي ، تأكد من أنك متصل بـ RPi الخاص بك ، واكتب عنوان IP الخاص بـ RPi في المستعرض. يجب أن تشاهد الصفحة الرئيسية لواجهة الويب.

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

الخطوة 6: عرض لوحة القيادة على الشاشة

عرض لوحة القيادة على الشاشة
عرض لوحة القيادة على الشاشة

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

تأكد من ضبط RPi على تسجيل الدخول التلقائي لسطح المكتب في raspi-config ضمن خيارات التمهيد

sudo raspi-config

انتقل الآن إلى مجلد التكوين المخفي وقم بإنشاء ملف جديد هناك

cd.config

sudo mkdir -p lxsession / LXDE-pi

sudo nano lxsession / LXDE-pi / تشغيل تلقائي

أضف الأسطر التالية في هذا الملف واحفظها

xscreensaver -لا- سبلاش

xset s إيقاف

xset -dpms

تضمين التغريدة

@ متصفح الكروم - noerrors - تعطيل-جلسة-تحطمت-فقاعة - تعطيل- infobars - كشك --incognito

الآن يجب أن يقوم Pi بالتمهيد إلى صفحة الويب هذه في كل مرة

الخطوة 7: لحام الإلكترونيات

لحام الالكترونيات
لحام الالكترونيات
لحام الالكترونيات
لحام الالكترونيات
لحام الالكترونيات
لحام الالكترونيات
لحام الالكترونيات
لحام الالكترونيات

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

بعض النصائح أثناء اللحام:

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

الآن أسلاك اللحام طويلة بما يكفي لأجهزة الاستشعار ، ووضع بعض التفاف الانكماش حولها للتأكد من أن كل شيء ليس قصيرًا ونظيفًا.

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

الخطوة 8: مزود الطاقة

لتشغيل Raspberry Pi ، سنستخدم محول USB بجهد 12 فولت -5 فولت. سيتم توصيل هذا المحول ببطارية الدراجة النارية. للتأكد من تشغيل RPi عند تشغيل مفتاح الإشعال ، سنستخدم مرحلًا. سيغلق المرحل دائرة طاقة RPi عندما يكتشف جهدًا من الضوء الخلفي (يتم تشغيل الضوء الخلفي دائمًا عند تشغيل الإشعال).

للحصول على برنامج تعليمي أكثر تفصيلاً حول هذا الموضوع ، تحقق من هذه الصفحة: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel - وحدات تحكم.16921 /

الخطوة التاسعة: السكن

الإسكان
الإسكان
الإسكان
الإسكان
الإسكان
الإسكان

عرض الإسكان

بالنسبة للشاشة ، احصل على صندوق بلاستيكي صلب من حول حجم الشاشة. قم بقطع فتحة مربعة فيه بحجم الشاشة ، وثقوب متطابقة لتثبيتها في الشاشة. في المقدمة ، تحتاج إلى حفر فتحتين إضافيتين لمصباح RGB LED و LDR.

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

جهاز استشعار درجة الحرارة

لإيواء مستشعر درجة الحرارة ، قمت بطباعة مقياس زيت ثلاثي الأبعاد يناسب دراجتي النارية.

فطيرة التوت

قم بتركيب Raspberry Pi نفسه في مكان آمن داخل الدراجة النارية ، ووضعته تحت أحد الرفارف باستخدام بعض أشرطة الفيلكرو. وحمايته من العناصر باستخدام السكن وبعض البلاستيك.

مقياس التسارع

قم بتركيب مقياس التسارع في مكان آمن ، ويفضل أن يكون على إطار الدراجة النارية نفسه.

ملحوظة:

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

موصى به: