فهرست مطالب:
- تدارکات
- مرحله 1: نمونه سازی
- مرحله 2: آماده سازی Raspberry Pi
- مرحله 3: پایگاه داده
- مرحله 4: پس زمینه
- مرحله 5: Frontend
- مرحله 6: نمایش داشبورد روی صفحه نمایش
- مرحله 7: لحیم کردن قطعات الکترونیکی
- مرحله 8: منبع تغذیه
- مرحله 9: مسکن
تصویری: داشبورد موتور رزبری پای: 9 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
به عنوان دانشجوی فناوری چند رسانه ای و ارتباطات در Howest Kortrijk ، مجبور شدم پروژه IoT خود را بسازم. این امر همه ماژول هایی را که در سال اول دنبال شد را در یک پروژه بزرگ ترکیب می کند. از آنجا که در اوقات فراغت زیاد موتورسواری می کنم ، تصمیم گرفتم از مهارت های کسب شده ام در MCT tu چیزی برای موتور سیکلتم بسازم: داشبورد هوشمند.
MotoDash یک داشبورد با رزبری پای است که برای موتورسواران متعصب طراحی شده است و به راننده این امکان را می دهد تا عملکرد آنها را ردیابی کند.
ویژگی های این داشبورد چیست؟
- مشاهده زاویه شیب فعلی
- مشاهده شتاب فعلی
- قابلیت نظارت بر دمای روغن
- هنگام سوار شدن در تاریکی به صورت خودکار به تم تیره تغییر دهید
- داده های سواری خود را ثبت کرده و آمار خود را مشاهده کنید
تدارکات
واحد محاسبات اصلی:
رزبری پای این کنترل کننده اصلی سیستم است
الکترونیک:
- شارژر USB موتور سیکلت 12V-5V منبع تغذیه اصلی RPi
- رله 4 پین Fused 12V سوئیچ برای روشن/خاموش کردن مدار تغذیه RPi
- تخته نان با سیم های بلوز (اختیاری) برای آزمایش و نمونه سازی
-
Breakout Pi plus این یک نمونه اولیه است که می توانید همه اجزای خود را لحیم کنید. این دستگاه طوری ساخته شده است که مستقیماً بر روی رزبری پای قرار گیرد ، بنابراین ابعاد پروژه به حداقل می رسد.
مجموعه ای از مقاومت ها
رنگ های مختلف سیم 0.2 میلی متر
سنسورها و ماژول ها:
- ضد آب 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 را خود در محل مطمئنی در داخل موتورسیکلت نصب کنید ، من آن را با استفاده از چند بند چسبی زیر یکی از گلگیرها قرار دادم. و با استفاده از محفظه و مقداری پلاستیک از آن در برابر عناصر محافظت کرد.
شتاب سنج
شتاب سنج را در مکانی امن ترجیحاً روی قاب موتورسیکلت نصب کنید.
توجه داشته باشید:
نیازی نیست که مسکن دقیقاً همانند من داشته باشید ، شما می توانید هرطور که دوست دارید آن را تمام کنید. فقط مطمئن شوید که قطعات الکترونیکی در برابر باران و گرد و غبار محافظت می شوند.
توصیه شده:
استپر موتور کنترل شده استپر موتور - استپر موتور به عنوان رمزگذار روتاری: 11 مرحله (همراه با تصاویر)
استپر موتور کنترل شده استپر موتور | استپر موتور به عنوان رمزگذار روتاری: آیا چند موتور پله ای در اطراف شما خوابیده است و می خواهید کاری انجام دهید؟ در این دستورالعمل ، بیایید از یک موتور پله ای به عنوان یک رمزگذار چرخشی برای کنترل موقعیت یک موتور پله ای دیگر با استفاده از میکروکنترلر آردوینو استفاده کنیم. بنابراین بدون هیچ گونه توضیح بیشتر ، اجازه دهید
چرخاندن موتور دی سی با رزبری پای: 6 مرحله
چرخاندن موتور دی سی با رزبری پای: سلام! به دنیای تا حدودی دیوانه رله ها ، موتورها ، لوازم الکترونیکی و از همه مهمتر خوش آمدید … PASPBERRY PI! ! در صورتی که نمی دانید چه
استفاده از بیش از 4 موتور - چیدن چند موتور موتور: 3 مرحله
استفاده از بیش از 4 موتور - چیدمان چند موتور موتور: دستگاه تعویض و تقویت حسی ارتعاشی قابل آموزش (https://www.instructables.com/id/Vibrotactile-Sens …) راهی برای ساخت دستگاهی که حسی را ترجمه می کند ، نشان می دهد. ورود به محرک های ارتعاشی آن محرک های ارتعاشی عبارتند از
چشمک زدن LED با تمشک پای - نحوه استفاده از پین های GPIO در رزبری پای: 4 مرحله
چشمک زدن LED با تمشک پای | نحوه استفاده از پین های GPIO در Raspberry Pi: سلام بچه ها در این دستورالعمل نحوه استفاده از GPIO's Raspberry pi را یاد می گیریم. اگر تا به حال از آردوینو استفاده کرده اید ، احتمالاً می دانید که ما می توانیم سوئیچ LED و غیره را به پین های آن وصل کرده و آن را مانند کار کنیم. چشمک بزنید یا ورودی را از سوئیچ دریافت کنید تا
تایمر رزبری پای 3 با سروو موتور: 5 مرحله
تایمر Raspberry Pi 3 با سروو موتور: هدف از این ساخت یک تایمر خودکار با زمان های تعیین شده با استفاده از سروو است. از رزبری pi 3 به عنوان رایانه و پایتون برای کد استفاده می کند