فهرست مطالب:

داشبورد موتور رزبری پای: 9 مرحله (همراه با تصاویر)
داشبورد موتور رزبری پای: 9 مرحله (همراه با تصاویر)

تصویری: داشبورد موتور رزبری پای: 9 مرحله (همراه با تصاویر)

تصویری: داشبورد موتور رزبری پای: 9 مرحله (همراه با تصاویر)
تصویری: راه اندازی موتور با رزبری پای 2024, نوامبر
Anonim
داشبورد موتورسیکلت رزبری پای
داشبورد موتورسیکلت رزبری پای

به عنوان دانشجوی فناوری چند رسانه ای و ارتباطات در Howest Kortrijk ، مجبور شدم پروژه IoT خود را بسازم. این امر همه ماژول هایی را که در سال اول دنبال شد را در یک پروژه بزرگ ترکیب می کند. از آنجا که در اوقات فراغت زیاد موتورسواری می کنم ، تصمیم گرفتم از مهارت های کسب شده ام در MCT tu چیزی برای موتور سیکلتم بسازم: داشبورد هوشمند.

MotoDash یک داشبورد با رزبری پای است که برای موتورسواران متعصب طراحی شده است و به راننده این امکان را می دهد تا عملکرد آنها را ردیابی کند.

ویژگی های این داشبورد چیست؟

  • مشاهده زاویه شیب فعلی
  • مشاهده شتاب فعلی
  • قابلیت نظارت بر دمای روغن
  • هنگام سوار شدن در تاریکی به صورت خودکار به تم تیره تغییر دهید
  • داده های سواری خود را ثبت کرده و آمار خود را مشاهده کنید

تدارکات

واحد محاسبات اصلی:

رزبری پای این کنترل کننده اصلی سیستم است

الکترونیک:

  • شارژر USB موتور سیکلت 12V-5V منبع تغذیه اصلی RPi
  • رله 4 پین Fused 12V سوئیچ برای روشن/خاموش کردن مدار تغذیه RPi
  • تخته نان با سیم های بلوز (اختیاری) برای آزمایش و نمونه سازی
  • مجموعه ای از مقاومت ها

    رنگ های مختلف سیم 0.2 میلی متر

  • Breakout Pi plus این یک نمونه اولیه است که می توانید همه اجزای خود را لحیم کنید. این دستگاه طوری ساخته شده است که مستقیماً بر روی رزبری پای قرار گیرد ، بنابراین ابعاد پروژه به حداقل می رسد.

سنسورها و ماژول ها:

  • ضد آب DS18B20 1-Wire Temperature sensor سنسور دمای روغن
  • 3 محور Gyro Accelerometer MPU6050 سنسور شیب/شتاب
  • مقاومت وابسته به نور (LDR)
  • MCP3008-8 کاناله 10 بیتی ADC با رابط SPI

    صفحه نمایش TFT SPI (یا هر صفحه LCD دیگر که متناسب با نیاز شما باشد)

    LED RGB

بدنه:

  • جعبه پلاستیکی
  • مورد Raspberry pi

ابزارها:

  • لحیم کاری و لحیم کاری
  • پیچ و فاصله دهنده 2.5 میلی متری
  • اتصالات کابل ضد آب
  • فوق چسب

مرحله 1: نمونه سازی

نمونه سازی
نمونه سازی
نمونه سازی
نمونه سازی

قبل از اینکه همه چیز را دائمی کنیم ، پروژه را روی یک تخته نان قرار می دهیم. اگر کاملاً مطمئن هستید که اشتباه نخواهید کرد ، می توانید از این مرحله صرف نظر کنید. طرح برقی/تخته نورد را می توانید در PDF زیر مشاهده کنید. مدار را دقیقاً همانطور که توضیح داده شده کنار هم قرار دهید. مطمئن شوید که فقط از پین 3.3 ولت استفاده کنید و از پین 5 ولت در RPi استفاده نکنید. همچنین قبل از روشن کردن تمشک Pi مدار خود را دوباره بررسی کنید. مطمئن شوید هیچ شورت وجود ندارد!

مرحله 2: آماده سازی Raspberry Pi

آماده سازی رزبری پای
آماده سازی رزبری پای

اول از همه ، ما قصد داریم Raspberry Pi را راه اندازی کنیم. رزبری پای یک کامپیوتر کوچک است که می تواند سیستم عامل خود را اجرا کند. برای این پروژه ، مسئول پردازش sensordata ، میزبانی وب سایت ، اجرای پشتیبان و پایگاه داده ،…

1. Raspbian Image سفارشی را نصب کنید

تصویر ارائه شده قبلاً حاوی بسته های نرم افزاری مورد نیاز برای شروع سریع این پروژه است:

  • آپاچی برای نمای وب سایت
  • MariaDB برای پایگاه داده
  • PhpMyAdmin برای دستکاری پایگاه داده
  • مجوزهای سفارشی برای جلوگیری از مشکلات

تصویر سفارشی را می توانید از اینجا بارگیری کنید.

آموزش نصب تصاویر را می توانید در اینجا پیدا کنید:

پس از نصب تصویر ، رزبری پای را با کابل اترنت به رایانه خود وصل کنید. اکنون می توانید از یک سرویس گیرنده SSH برای اتصال به آن در آدرس IP 169.254.10.1 استفاده کنید

این یک عمل خوب است که بلافاصله با استفاده از دستور passwd یک رمز عبور جدید تنظیم کنید

2. پیکربندی AP بی سیم

وقتی پروژه به پایان رسید ، ما می خواهیم بتوانیم از طریق wifi به RPi متصل شویم ، بنابراین اجازه دهید آن را به یک AP بی سیم تبدیل کنیم. آموزشی برای این مورد در اینجا یافت می شود.

شما فقط باید این آموزش را تا مرحله 7 دنبال کنید. مرحله 8 مورد نیاز نیست زیرا ما نیازی به اتصال به اینترنت نداریم ، بلکه یک شبکه مستقل ایجاد می کنیم.

3. فعال کردن رابط ها

وارد raspi-config شوید

sudo raspi-config

به گزینه های رابط بروید و 1 سیم ، SPI و I2C را فعال کرده و Pi را راه اندازی مجدد کنید

3. راه اندازی درایورها برای صفحه نمایش

راه اندازی اولیه صفحه نمایش

فایل /etc /modules را ویرایش کنید

sudo nano /etc /modules

2 خط زیر را اضافه کنید

spi-bcm2835fbtft_device

اکنون /etc/modprobe.d/fbtft.conf را ویرایش کنید

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

خط زیر را اضافه کنید

گزینه ها fbtft_device name = tm022hdh26 gpios = تنظیم مجدد: 25 ، dc: 24 ، led: 18 چرخش = 90 سرعت = 80000000 فریم بر ثانیه = 60

Pi را راه اندازی مجدد کنید. اگر نور پس زمینه صفحه نمایش را می بینید همه چیز خوب پیش رفته است. با این کار هر بار که Pi بالا می آید ، صفحه نمایش اولیه می شود ، اما اکنون فقط یک صفحه سیاه را نشان می دهد. برای به دست آوردن محتویات Pi روی صفحه نمایش ، باید محتویات صفحه اصلی را روی LCD کوچک کپی کنیم. برای این منظور از سرویسی به نام 'fbcp' استفاده خواهیم کرد.

نصب سرویس fbcp

sudo apt-get cmake را نصب کنید

git clone

cd rpi-fbcp

ساخت mkdir

ساخت سی دی/

cmake..

بساز

sudo fbcp/usr/local/bin/fbcp را نصب کنید

اکنون ما سرویس را نصب کرده ایم. اما از آنجا که ما از Pi بدون سر استفاده می کنیم ، صفحه ای برای کپی محتویات موجود نیست. برای مجبور کردن Pi به خروج محتوای صفحه ، /boot/config.txt را ویرایش کنید

sudo nano /boot/config.txt

خطوط زیر را بیابید و نظر ندهید یا به این فایل اضافه کنید:

hdmi_force_hotplug = 1

hdmi_cvt = 640 480 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' به دستگاهی که دما را اندازه گیری می کند پیوند خورده است. این سنسور دما 1 سیم خواهد بود.

3. تاریخ

این جدول شامل تمام سیاهههای مربوط به سنسور است. هر گزارش دارای یک شناسه عمل ، یک مقدار ، یک مهر زمان و یک سوار است

4. سواری می کند

این میز سواری های مختلفی را ذخیره می کند. هر بار که کاربر یک سواری جدید را شروع می کند ، یک ورودی جدید در این جدول ایجاد می شود

برای دریافت این پایگاه داده در رزبری پای خود ، به GitHub من سر بزنید و مخزن را کلون/بارگیری کنید. در پایگاه داده 2 فایل.sql پیدا خواهید کرد. اینها را در میز کار PhpMyAdmin یا MySQL اجرا کنید. اکنون پایگاه داده باید روی RPi شما باشد.

مرحله 4: پس زمینه

اگر قبلاً این کار را نکرده اید ، به GitHub من سر بزنید و مخزن را کلون کنید/بارگیری کنید. در زیر پوشه Backend ، پشتیبان کامل پروژه را خواهید یافت.

این پوشه شامل کلاس هایی برای خواندن سنسورهای زیر /helper ها ، فایل هایی برای ارتباط با پایگاه داده در زیر /مخازن ، و برنامه اصلی در ریشه تحت نام app.py قرار دارد.

نصب بسته های پایتون

قبل از اینکه بخواهیم هر چیزی را اجرا کنیم ، ابتدا باید چند بسته برای python نصب کنیم. وارد ترمینال RPi خود شوید و دستورات زیر را تایپ کنید:

pip3 mysql-connector-python را نصب کنید

pip3 flask-socketio را نصب کنید

pip3 flask-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: Frontend

پیش نمای
پیش نمای
پیش نمای
پیش نمای

وارد GitHub Repo شوید. محتویات فهرست Frontend را در/var/www/html کپی کنید.

این تنها کاری است که شما باید انجام دهید تا کار نمای جلو انجام شود. این پوشه شامل تمام صفحات وب ، استایل و اسکریپت های رابط وب است. همچنین با پشتیبان ارتباط برقرار می کند. برای بررسی اینکه آیا همه چیز مانند قبل کار می کند ، مطمئن شوید که به RPi خود متصل هستید و آدرس IP RPi را در مرورگر تایپ کنید. شما باید صفحه اصلی رابط وب را مشاهده کنید.

توجه: این وب سایت بصورت کاملاً ریسپونسیو پاسخگو است ، بنابراین می توانید از آن در موبایل و همچنین روی دسکتاپ استفاده کنید

مرحله 6: نمایش داشبورد روی صفحه نمایش

نمایش داشبورد روی صفحه نمایش
نمایش داشبورد روی صفحه نمایش

صفحه اصلی دارای صفحه وب مخفی خود است که فقط برای صفحه نمایش کوچک استفاده می شود. ما بوت Pi را به صورت خودکار در این صفحه وب در حالت تمام صفحه قرار می دهیم.

اطمینان حاصل کنید که RPi در تنظیمات بوت در raspi-config روی autologin رومیزی تنظیم شده باشد

sudo raspi-config

حالا وارد پوشه config مخفی شده و یک فایل جدید در آنجا ایجاد کنید

cd. پیکربندی

sudo mkdir -p lxsession/LXDE -pi

sudo nano lxsession/LXDE-pi/autostart

خطوط زیر را در این فایل اضافه کرده و ذخیره کنید

xscreensaver -no -splash

xset s خاموش

xset -dpms

xset s noblank

@Chrome

حالا Pi باید هر بار روی این صفحه وب بوت شود

مرحله 7: لحیم کردن قطعات الکترونیکی

لحیم کردن قطعات الکترونیکی
لحیم کردن قطعات الکترونیکی
لحیم کردن قطعات الکترونیکی
لحیم کردن قطعات الکترونیکی
لحیم کردن قطعات الکترونیکی
لحیم کردن قطعات الکترونیکی
لحیم کردن قطعات الکترونیکی
لحیم کردن قطعات الکترونیکی

تخته شکست را بردارید و اجزای خود را به صورت ساختارمند روی آن قرار دهید. من درباره نحوه چسباندن اجزا روی آن بحث نمی کنم ، زیرا کار بسیار ضعیفی در مورد آن انجام دادم. من از سربرگ های جداگانه پین روی برد استفاده کردم تا فقط نیاز به اتصال سنسورها و ماژول ها به پین سمت راست داشته باشم. مطمئن شوید که می دانید کدام پین برای چیست!

چند نکته هنگام لحیم کاری:

  • هنگام عبور از فواصل بیشتر از سیم های عایق استفاده کنید. آخرین چیزی که می خواهید شورت در مدار شماست
  • پس از لحیم کاری یک قطعه یا سیم ، پیوستگی آن را با مولتی متر بررسی کنید. همچنین به طور مرتب مدارهای کوتاه را بررسی کنید.
  • از لحیم کاری زیاد یا خیلی کم استفاده نکنید!
  • اگر نحوه لحیم کاری را نمی دانید ، ابتدا آن را روی یک تخته نمونه سازی دیگر تمرین کنید. آموزش لحیم کاری را می توانید در اینجا پیدا کنید.

حالا سیم ها را به مدت طولانی روی سنسورها بچسبانید و مقداری سیم جمع کننده در اطراف آنها قرار دهید تا مطمئن شوید همه چیز کوتاه و تمیز نیست.

پس از اتمام کار ، دوبار اتصال کوتاه یا اتصالات نامناسب را بررسی کنید و اگر اتصال صحیح است ، هر اتصال را با طرح برقی بررسی کنید. هنگامی که مطمئن شدید همه چیز به درستی انجام شده است ، پیش بروید و صفحه شکست را روی RPi قرار دهید ، با پیچ و ضخامت 2.5 میلی متری آن را محکم کنید. سنسورها را به پین های راست وصل کرده و همه آنها را با استفاده از وب سایت آزمایش کنید.

مرحله 8: منبع تغذیه

برای تغذیه رزبری پای از آداپتور usb 12V-5V استفاده می کنیم. این آداپتور به باتری موتورسیکلت متصل می شود. برای اطمینان از روشن شدن RPi هنگام روشن شدن سوئیچ ، ما از رله استفاده می کنیم. رله هنگامی که ولتاژ را از چراغ عقب تشخیص می دهد ، مدار تغذیه RPi را می بندد (چراغ عقب همیشه هنگام روشن شدن احتراق روشن می شود).

برای آموزش دقیق تر در این مورد ، این صفحه را بررسی کنید: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -controllers.16921/

مرحله 9: مسکن

مسکن
مسکن
مسکن
مسکن
مسکن
مسکن

نمایش مسکن

برای نمایش ، یک جعبه پلاستیکی سخت از اندازه صفحه نمایش بگیرید. یک سوراخ مربع به اندازه صفحه نمایش در آن برش دهید و سوراخ هایی را برای پیچاندن صفحه نمایش در آن برش دهید. در جلو باید 2 سوراخ دیگر برای LED RGB و LDR ایجاد کنید.

من این جعبه را با استفاده از پیچ و مهره روی نگهدارنده گوشی هوشمند نصب کردم.

حسگر دما

برای قرار دادن سنسور دما ، من یک روغن سنج متناسب با موتور سیکلتم چاپ کردم.

تمشک پای

رزبری Pi را خود در محل مطمئنی در داخل موتورسیکلت نصب کنید ، من آن را با استفاده از چند بند چسبی زیر یکی از گلگیرها قرار دادم. و با استفاده از محفظه و مقداری پلاستیک از آن در برابر عناصر محافظت کرد.

شتاب سنج

شتاب سنج را در مکانی امن ترجیحاً روی قاب موتورسیکلت نصب کنید.

توجه داشته باشید:

نیازی نیست که مسکن دقیقاً همانند من داشته باشید ، شما می توانید هرطور که دوست دارید آن را تمام کنید. فقط مطمئن شوید که قطعات الکترونیکی در برابر باران و گرد و غبار محافظت می شوند.

توصیه شده: