Агуулгын хүснэгт:

Raspberry Pi мотоциклийн хяналтын самбар: 9 алхам (зурагтай)
Raspberry Pi мотоциклийн хяналтын самбар: 9 алхам (зурагтай)

Видео: Raspberry Pi мотоциклийн хяналтын самбар: 9 алхам (зурагтай)

Видео: Raspberry Pi мотоциклийн хяналтын самбар: 9 алхам (зурагтай)
Видео: RAMPS 1.6 - A4988/DRV8825 configuration 2024, Арваннэгдүгээр
Anonim
Raspberry Pi мотоциклийн хяналтын самбар
Raspberry Pi мотоциклийн хяналтын самбар

Howest Kortrijk дахь Мультимедиа ба Харилцааны технологийн оюутны хувьд би өөрийн IoT төслийг хийх ёстой байсан. Энэ нь эхний жилд дагаж мөрдсөн бүх модулийг нэг том төсөл болгон нэгтгэх болно. Би чөлөөт цагаараа мотоциклоо маш их унадаг тул MCT tu -д олж авсан ур чадвараа ашиглан мотоциклдоо зориулан ухаалаг төхөөрөмж хийхээр шийдсэн юм.

MotoDash бол фанатик мотоцикльчдэд зориулагдсан Raspberry Pi хөдөлгүүртэй самбар бөгөөд жолоочид гүйцэтгэлийг хянах боломжийг олгодог.

Энэхүү хяналтын самбарын онцлог шинж чанарууд юу вэ?

  • Одоогийн хазайлтын өнцгийг харж байна
  • Одоогийн хурдатгалыг харж байна
  • Газрын тосны температурыг хянах чадвар
  • Харанхуйд явахдаа харанхуй сэдэв рүү автоматаар шилжих
  • Жолоодлогынхоо мэдээллийг бүртгэж, өөрийн статистик мэдээллийг үзэх

Хангамж

Тооцооллын үндсэн нэгж:

Raspberry Pi Энэ бол системийн гол хянагч юм

Электроник:

  • 12V-5V мотоциклийн USB цэнэглэгч RPi-ийн гол тэжээлийн хангамж
  • RPi -ийн цахилгаан хэлхээг асаах/унтраахын тулд 4 зүү холбосон реле 12V шилжүүлэгч
  • Холбогч утас бүхий талхны самбар (заавал биш) Туршилт хийх, загварчлах зориулалттай
  • Резисторуудын багц

    Янз бүрийн өнгө нь 0.2 мм хэмжээтэй

  • Breakout Pi plus Энэ бол бүх бүрэлдэхүүн хэсгүүдийг гагнах боломжтой загварчлалын самбар юм. Энэ нь Raspberry Pi -ийн орой дээр шууд таарч хийгдсэн тул төслийн хэмжээ хамгийн бага байх болно.

Мэдрэгч ба модулиуд:

  • Усны хамгаалалттай DS18B20 1 утастай температур мэдрэгч Газрын тосны температур мэдрэгч
  • 3 тэнхлэгт Gyro Accelerometer MPU6050Tilt/accel sensor
  • Хөнгөн хамааралтай эсэргүүцэл (LDR)
  • MCP3008-SPI интерфэйстэй 8 сувгийн 10 битийн ADC

    TFT SPI дэлгэц (эсвэл таны хэрэгцээнд нийцсэн бусад LCD дэлгэц)

    RGB LED

Суултын яндан:

  • Хуванцар хайрцаг
  • Raspberry pi хайрцаг

Хэрэгсэл:

  • Гагнуурын төмөр ба гагнуур
  • 2.5 мм -ийн эрэг ба тусгаарлагч
  • Усны хамгаалалттай кабель холбогч
  • Супер цавуу

Алхам 1: Прототип хийх

Прототип хийх
Прототип хийх
Прототип хийх
Прототип хийх

Бүх зүйлийг байнгын болгохын өмнө бид төслийг талхны самбар дээр нэгтгэх болно. Хэрэв та алдаа гаргахгүй гэдэгт итгэлтэй байгаа бол энэ алхамыг алгасаж болно. Цахилгаан/талхны хавтангийн схемийг доорх PDF дээрээс олж болно. Хэлхээг яг тайлбарласны дагуу холбоно уу. RPi дээрх 5V зүүг ашиглахгүй байхын тулд зөвхөн 3.3V зүү ашиглана уу. Мөн бөөрөлзгөнө Pi -ийг асаахаасаа өмнө хэлхээгээ дахин шалгаарай. Богино өмд байхгүй эсэхийг шалгаарай!

Алхам 2: Raspberry Pi бэлтгэх

Raspberry Pi бэлтгэх
Raspberry Pi бэлтгэх

Юуны өмнө бид Raspberry Pi -ийг тохируулах гэж байна. Raspberry Pi бол өөрийн үйлдлийн системийг ажиллуулах чадвартай мини компьютер юм. Энэ төслийн хувьд энэ нь sensordata боловсруулах, вэбсайтыг байршуулах, арын хэсэг, мэдээллийн санг ажиллуулах,…

1. Захиалгат Raspbian Image суулгах

Энэхүү төсөлд энэ төслийг эхлүүлэхэд шаардлагатай програм хангамжийн багцыг аль хэдийн оруулсан болно.

  • Вэбсайтын урд талын Apache
  • Өгөгдлийн санд зориулсан MariaDB
  • Өгөгдлийн санг удирдахын тулд PhpMyAdmin
  • Асуудлаас зайлсхийхийн тулд захиалгат зөвшөөрөл

Захиалгат зургийг эндээс татаж авах боломжтой.

Зураг суулгах гарын авлагыг эндээс олж болно.

Зургийг суулгасны дараа Raspberry Pi -ийг компьютертээ ethernet кабелиар холбоно уу. Одоо та SSH клиентийг ашиглан 169.254.10.1 IP хаягаар холбогдох боломжтой

Passwd командыг ашиглан шинэ нууц үгийг нэн даруй тохируулах нь сайн практик юм

2. Утасгүй AP -ийг тохируулах

Төсөл дууссаны дараа бид Wi -Fi сүлжээгээр RPi -тэй холбогдохыг хүсч байгаа тул үүнийг утасгүй AP болгон хувиргах боломжийг олгоно. Үүнийг хийх хичээлийг эндээс олж болно.

Та 7 -р алхам хүртэл энэ гарын авлагыг дагаж мөрдөх хэрэгтэй. 8 -р алхамыг хийх шаардлагагүй, учир нь бид интернет холболтыг холбох шаардлагагүй, гэхдээ дангаараа сүлжээ үүсгэх хэрэгтэй.

3. Интерфэйсийг идэвхжүүлэх

Raspi-config руу очно уу

sudo raspi-config

Интерфэйс хийх сонголтууд руу очиж 1 утас, SPI, I2C-ийг идэвхжүүлж, Pi-г дахин ачаална уу

3. Дэлгэцийн драйверуудыг тохируулах

Дэлгэцийг эхлүүлж байна

/Etc /modules файлыг засварлах

sudo нано /etc /модулиуд

Дараах 2 мөрийг нэмнэ үү

spi-bcm2835fbtft_device

Одоо /etc/modprobe.d/fbtft.conf хаягийг засна уу

sudo нано /etc/modprobe.d/fbtft.conf

Дараах мөрийг нэмнэ үү

сонголтууд fbtft_device name = tm022hdh26 gpios = дахин тохируулах: 25, dc: 24, led: 18 эргүүлэх = 90 хурд = 80000000 fps = 60

Pi -г дахин ачаална уу. Хэрэв та дэлгэцийн арын гэрлийг харах юм бол бүх зүйл сайхан болно. Энэ нь Pi -ийг ачаалах бүрт дэлгэцийг эхлүүлэх боловч одоо зөвхөн хар дэлгэцийг харуулах болно. Pi -ийн агуулгыг дэлгэц дээр харуулахын тулд бид үндсэн дэлгэцийн агуулгыг жижиг LCD дээр хуулах хэрэгтэй. Үүний тулд бид 'fbcp' нэртэй үйлчилгээг ашиглах болно.

Fbcp үйлчилгээг суулгаж байна

sudo apt-get install cmake

git clone

cd rpi-fbcp

mkdir бүтээх

cd бүтээх/

смэйк..

хийх

sudo fbcp/usr/local/bin/fbcp суулгана уу

Одоо бид уг үйлчилгээг суулгасан болно. Гэсэн хэдий ч бид Pi толгойгүй ашиглаж байгаа тул агуулгыг хуулах дэлгэц байхгүй байна. Pi -г дэлгэцийн контент гаргахыг хүчлэхийн тулд /boot/config.txt файлыг засна уу

sudo нано /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: Мэдээллийн сан

Мэдээллийн сан
Мэдээллийн сан

Мэдээллийн өгөгдлийг бүртгэх, хадгалахын тулд би 4 хүснэгт агуулсан өөрийн мэдээллийн баазыг зохион бүтээсэн. EER диаграммыг дээрх зурагт үзүүлэв.

1. Төхөөрөмжүүд

Энэхүү хүснэгтэд мэдрэгч бүр багтсан болно. Энэ нь мэдрэгчийн нэр, тодорхойлолт, хэмжих нэгжийг тайлбарласан болно. Энэ хүснэгт нь хүснэгтийн үйлдлүүдтэй ганцаарчилсан харьцаатай байдаг, миний хувьд accelero мэдрэгч нь өөр өөр даалгавруудыг гүйцэтгэдэг.

2. Үйлдлүүд

Энэ хүснэгтэд өөр өөр мэдрэгчийн үйлдлийг хадгалдаг. Нэг үйлдэл нь үргэлж тодорхой мэдрэгчтэй холбоотой байдаг. Жишээлбэл: 'TEMP' үйлдэл нь температурыг хэмжих төхөөрөмжтэй холбогддог. Энэ нь 1 утастай температур мэдрэгч байх болно.

3. Түүх

Энэ хүснэгтэд бүх мэдрэгчийн бүртгэлийг оруулсан болно. Бүртгэл бүр нь үйлдлийн id, утга, цагийн тэмдэг, жолоодлоготой байдаг

4. Унадаг

Энэ хүснэгтэд янз бүрийн унадаг дугуй хадгалагддаг. Хэрэглэгч шинэ аялал эхлэх бүрт энэ хүснэгтэд шинэ оруулга хийгддэг

Энэ өгөгдлийн санг Raspberry Pi дээрээ авахын тулд миний GitHub руу ороод репозиторыг хуулбарлаж/татаж аваарай. Мэдээллийн сангийн доор та 2.sql файлыг олох болно. Эдгээрийг PhpMyAdmin эсвэл MySQL ажлын самбарт ажиллуулна уу. Одоо мэдээллийн сан таны RPi дээр байх ёстой.

Алхам 4: Арын хэсэг

Хэрэв та хараахан амжаагүй байгаа бол миний GitHub руу ороод репозиторыг хуулбарлаж/татаж аваарай. Арын хавтасны доор та төслийн бүрэн арын хэсгийг олох болно.

Фолдерт /туслахуудын доорх мэдрэгчүүдийг унших ангиуд, мэдээллийн сангийн /репозиторуудын доорх файлуудтай холбогдох файлууд байдаг бөгөөд үндсэн програм нь app.py нэрийн доор байрладаг.

Python багцуудыг суулгаж байна

Аливаа зүйлийг ажиллуулахаасаа өмнө эхлээд python -д зориулсан зарим багцыг суулгах хэрэгтэй. RPi терминал руу ороод дараах тушаалуудыг бичнэ үү.

pip3 mysql-connector-python суулгана уу

pip3 колбо-сокетийг суулгана уу

pip3 колбо-корс суурилуулна

pip3 gevent суулгах

pip3 gevent-websocket суулгах

ЧУХАЛ ТАЙЛБАР: хэрэв та Mariadb/Mysql нууц үгээ өөрчилсөн бол config.py дотор нууц үгээ солино уу!

Арын хэсгийг туршиж үзээрэй

Python3 тайлбарлагч (/usr/bin/python3) ашиглан app.py -ийг ажиллуулна уу. Алдаа байхгүй эсэхийг шалгаарай.

Ачаалах үед арын хэсгийг ажиллуулж байна

MotoDash_backend.service -ийг засварлаж, YOURFILEPATH -ийг репозитор хадгалагдах зам болгон өөрчилнө үү.

Одоо энэ файлыг/etc/systemd/system/руу хуулж ав.

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

Одоо RPi ачаалах бүрт арын хэсэг автоматаар асах болно.

Алхам 5: Урд хэсэг

Урд хэсэг
Урд хэсэг
Урд хэсэг
Урд хэсэг

GitHub репо руу ороорой. Frontend лавлахын агуулгыг/var/www/html руу хуулна уу.

Энэ бол урд талын хэсгийг ажиллуулахын тулд хийх ёстой зүйл юм. Энэ фолдерт вэб интерфэйсийн бүх вэб хуудас, загвар, скриптүүд багтсан болно. Энэ нь мөн арын ар талтай харилцдаг. Бүх зүйл зохих ёсоор ажиллаж байгаа эсэхийг шалгахын тулд та RPi -тай холбогдсон эсэхээ шалгаад хөтчийн IP хаягийг оруулна уу. Та вэб интерфэйсийн нүүр хуудсыг харах ёстой.

Тэмдэглэл: Вэбсайт нь хариу үйлдэл үзүүлдэг тул та үүнийг гар утсан дээрээ ширээний компьютер дээр ашиглаж болно

Алхам 6: Хяналтын самбарыг дэлгэц дээр харуулах

Хяналтын самбарыг дэлгэц дээр харуулах
Хяналтын самбарыг дэлгэц дээр харуулах

Урд тал нь зөвхөн жижиг дэлгэц дээр ашигладаг өөрийн гэсэн далд вэб хуудастай. Бид Pi вэбсайтыг бүрэн дэлгэцийн горимд автоматаар ачаалах болно.

RPi-ийг raspi-config-д ачаалах тохиргоон дээр ширээний автомат автоматаар суулгасан эсэхийг шалгаарай

sudo raspi-config

Одоо далд тохиргооны хавтас руу ороод шинэ файл үүсгэнэ үү

cd.config

sudo mkdir -p lxsession/LXDE -pi

sudo nano lxsession/LXDE-pi/autostart

Дараах мөрүүдийг энэ файлд нэмж хадгална уу

@xscreensaver -үгүй

@xset унтраалттай байна

@xset -dpms

@xset s noblank

@chromium-browser-noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognito

Одоо Pi энэ вэб хуудсыг үргэлж ачаалах ёстой

Алхам 7: Электроникийг гагнах

Электроникийг гагнах
Электроникийг гагнах
Электроникийг гагнах
Электроникийг гагнах
Электроникийг гагнах
Электроникийг гагнах
Электроникийг гагнах
Электроникийг гагнах

Таслах самбарыг авч, бүрэлдэхүүн хэсгүүдийг бүтэцтэй байдлаар байрлуул. Би маш муу ажилласан тул эд ангиудыг хэрхэн яаж гагнах талаар би ярихгүй. Би самбар дээр тусдаа зүү толгой ашигласан тул зөвхөн мэдрэгч, модулийг зөв зүү рүү холбох шаардлагатай байв. Аль зүү ямар зориулалттай болохыг мэдэж байгаа эсэхээ шалгаарай!

Гагнах үед өгөх хэдэн зөвлөмж:

  • Илүү хол зайг туулахдаа тусгаарлагдсан утас ашиглана уу. Таны хүсч буй хамгийн сүүлийн зүйл бол таны тойрог дахь богино өмд юм
  • Бүрэлдэхүүн хэсэг эсвэл утсыг гагнсаны дараа түүний тасралтгүй байдлыг мултиметрээр шалгана. Мөн богино холболт байгаа эсэхийг тогтмол шалгаж байгаарай.
  • Хэт их эсвэл хэт бага гагнуур бүү ашиглаарай!
  • Хэрэв та хэрхэн гагнахаа мэдэхгүй байгаа бол эхлээд өөр загвар зохион бүтээх самбар дээр дасгал хий. Гагнуурын талаархи хичээлийг эндээс олж болно.

Одоо бүх зүйлийг богиносгосон, цэвэр биш байгаа эсэхийг шалгахын тулд утсыг мэдрэгч дээр удаан байлгаж, эргэн тойронд нь боож боох хэрэгтэй.

Дууссаны дараа богино холболт, муу холболт байгаа эсэхийг дахин шалгаж, холболт бүрийг зөв холболт эсэхийг цахилгаан схемээр шалгаарай. Бүх зүйл зөв хийгдсэн гэдэгт итгэлтэй байгаа бол үргэлжлүүлээд таслах самбарыг RPi дээр тавиад 2.5 мм -ийн эрэг ба бэхэлгээгээр шургуулна уу.

Алхам 8: Цахилгаан хангамж

Raspberry Pi-ийг ажиллуулахын тулд бид 12V-5V USB адаптер ашиглах гэж байна. Энэхүү адаптерийг мотоциклийн батерейнд холбох болно. Гал асаах унтраалгыг асаахад RPi асаалттай байгаа эсэхийг шалгахын тулд бид реле ашиглах гэж байна. Реле нь арын гэрлээс хүчдэл илрүүлэх үед RPi цахилгаан хэлхээг хаах болно (гал асаах үед арын гэрэл үргэлж асдаг).

Энэ талаар илүү дэлгэрэнгүй заавар авахыг хүсвэл энэ хуудсыг үзнэ үү: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -хянагч.16921/

Алхам 9: Орон сууц

Орон сууц
Орон сууц
Орон сууц
Орон сууц
Орон сууц
Орон сууц

Дэлгэцийн орон сууц

Дэлгэцийн хувьд дэлгэцийн хэмжээтэй ойролцоо хатуу хуванцар хайрцаг аваарай. Дэлгэц шиг том дөрвөлжин нүхийг хайчилж, дэлгэцийг шургуулахын тулд тохирох нүхийг хайчилж ав. Урд талд нь RGB LED ба LDR -ийн 2 цооног өрөмдөх шаардлагатай.

Би энэ хайрцгийг боолт ашиглан ухаалаг гар утасны эзэмшигчийн дээд талд суулгасан.

Температур мэдрэгч

Температур мэдрэгчийг байрлуулахын тулд би мотоциклдоо тохирсон тос хэмжигчийг 3D хэвлэсэн.

Raspberry Pi

Бөөрөлзгөнө Пи -ийг мотоциклийн доторх найдвартай газар байрлуулаад би хэдэн хилэн оосор ашиглан хамгаалалтын дор байрлуулав. Мөн орон сууц, хуванцар ашиглан гадны нөлөөллөөс хамгаалсан.

Хурдасгуур

Акселерометрийг найдвартай газар, мотоциклийн хүрээ дээр өөрөө байрлуул.

Тэмдэглэл:

Та надтай яг ижил орон сууцтай байх шаардлагагүй, хүссэнээрээ дуусгах боломжтой. Цахим эд ангиудыг бороо, тоосноос хамгаалсан эсэхийг шалгаарай.

Зөвлөмж болгож буй: