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

Унадаг дугуйчдыг хянах модуль: 5 алхам
Унадаг дугуйчдыг хянах модуль: 5 алхам

Видео: Унадаг дугуйчдыг хянах модуль: 5 алхам

Видео: Унадаг дугуйчдыг хянах модуль: 5 алхам
Видео: РАЗДАЕТ WIFI СЛЕДИТ ЗА ЧЕЛОВЕКОМ 4G камера видеонаблюдения 2024, Долдугаар сарын
Anonim
Унадаг дугуйчдад зориулсан хянах модуль
Унадаг дугуйчдад зориулсан хянах модуль

Унадаг дугуйчдад зориулсан энэхүү хянах модуль нь уралдаанд гарсан ослыг автоматаар илрүүлдэг модуль бөгөөд мэдрэгч мэдрэгч дээр хүрч механик эвдрэлийг илрүүлдэг. Эдгээр үйл явдлын аль нэг нь тохиолдоход модуль нь уг үйл явдлыг LoRa -ээр дамжуулан бөөрөлзгөнө pi дээрх мэдээллийн санд илгээдэг. Энэ үйл явдлыг LCD дэлгэц болон вэбсайт дээр харуулах болно. Та мөн вэбсайтаас тухайн дугуйн уралдааныг хайж олох боломжтой бөгөөд дугуйн уралдаан эсвэл дугуйчдыг мэдээллийн санд нэмж оруулах боломжтой. Би дугуй унах, IOT -ийг маш их сонирхож байгаа болохоор энэ төслийг хийсэн болохоор энэ хоёр хичээлийг хослуулсан нь надад үнэхээр сонирхолтой санагдсан.

Унадаг дугуйчдыг хянах модулийг хийхээсээ өмнө та материалаа цуглуулах хэрэгтэй. Та багаж хэрэгсэл, хангамжийг доорх жагсаалтаас олох боломжтой, эсвэл Монголбанк (Build Of Materials) татаж авах боломжтой.

Хангамж:

  • plexi шил (56mm X 85mm)
  • 10 X 2M боолт 10 мм ба самар
  • 10 X 3M боолт 10 мм ба самар
  • 2X 3M боолт 50мм, самар
  • Таны LCD хайрцгийг 3D хэвлэх PLA утас
  • дулаан багасах
  • Эрэгтэй, эмэгтэй кабель
  • Үндсэн ПХБ
  • Эрэгтэй толгой
  • Raspberry Pi 3b+
  • 16 ГБ хэмжээтэй SD карт
  • Sparkfun 4X20 LCD дэлгэц
  • Конденсатор мэдрэгчтэй мэдрэгч
  • Дуу чимээ
  • 3 тэнхлэгтэй акселеро + гиро тоолуур
  • GPS модуль
  • SODAQ Mbili самбар
  • LoRa WAN модуль
  • 3.7V 1000mAh батерей
  • Raspberry Pi 3b+ цахилгаан хангамж

Хэрэгсэл:

  • Гагнуурын цагаан тугалга
  • Гагнуурын төмөр
  • Хавчаар
  • Халив
  • Jigsaw
  • Өрөмдөгч машин
  • 2.5 ба 3.5 өрөмдлөг
  • Хөнгөн / халуун агаарын буу

Хэрэв та бүх хангамжийг худалдаж авах шаардлагатай бол 541.67 еврогийн төсөв хэрэгтэй болно. Би 299 еврогийн үнэтэй LoRa хурдан хөгжүүлэлтийн иж бүрдэл ашигласан тул энэ төсөл маш үнэтэй байна (надад энэ иж бүрдлийг сургуулиасаа ашиглах боломж байсан). Та ердийн Arduino -г ашиглаж, маш их мөнгө хэмнэх боломжтой боловч програмууд өөр байх болно.

Алхам 1: Хийх схем

Гүйцэтгэх схем
Гүйцэтгэх схем
Гүйцэтгэх схем
Гүйцэтгэх схем

Эхний алхам бол хэлхээг бий болгох явдал юм. Энэ төслийн хувьд бид 2 цахилгаан хэлхээтэй, нэг нь Raspberry Pi, нөгөө нь SADAQ Mbili самбартай. Бид Raspberry Pi хэлхээг эхлүүлэх болно.

Raspberry Pi Fritzing схем:

Raspberry Pi схем нь маш энгийн бөгөөд бидний Pi -тэй холбох цорын ганц зүйл бол 4X20 Sparkfun LCD дэлгэц юм. Дэлгэц нь Цуваа холбоо, SPI эсвэл I2C дээр ажилладаг. Аль харилцаа холбооны протоколыг ашиглах нь танд хамаарна. Би маш энгийн учраас SPI протоколыг ашигласан. Хэрэв та над шиг SPI ашигладаг бол танд дараах холболтууд хэрэгтэй болно.

  • VCC LCD VCC бөөрөлзгөнө Pi
  • GND LCD GND бөөрөлзгөнө Pi
  • SDI LCD MOSI (GPIO 10) Raspberry Pi
  • SDO LCD MISO (GPIO 9) Raspberry Pi
  • SCK LCD SCLK (GPIO 11) Raspberry Pi
  • CS LCD CS0 (GPIO 8) Raspberry Pi

Fritzing схем дээр та LCD дэлгэц нь 2X16 дэлгэцтэй болохыг харах болно. Энэ нь би 4X20 LCD -ийг frizting дээр олоогүйтэй холбоотой юм. Гэсэн хэдий ч бүх холболтууд нь зарим нь тийм ч чухал биш юм.

SODAQ Mbili Fritzing схем:

Бид 4 электрон бүрэлдэхүүн хэсгийг SODAQ Mbili самбартай холбох тул энэхүү цахилгаан схем нь бас маш энгийн. Бид Capactive мэдрэгчийг холбохоос эхэлнэ. Энэхүү OUT-pin мэдрэгч нь мэдрэгч хүрэхэд өндөр байх бөгөөд өөрөөр хэлбэл LOW байх болно. Энэ нь OUT-pin нь Mbili самбарын дижитал оролтоор холбогдож болох дижитал гаралт гэсэн үг юм. Холболтууд дараах байдалтай байна.

  • OUT мэдрэгч D5 Mbili
  • VCC мэдрэгч 3.3V Mbili
  • GND мэдрэгч GND Mbili

Хоёрдахь бүрэлдэхүүн хэсэг нь Triple acces + гиро мэдрэгч юм. Би Mbili самбартай харилцахдаа I2C протоколыг ашигладаг GY-521 самбарыг ашигласан. GY-521 хавтангийн AD0 зүүг Mbili хавтангийн VCC-тэй холбох шаардлагатай байгааг анхаарна уу! Учир нь Mbili самбар нь GY-521 шиг I2C хаягтай цагтай байдаг. AD0 зүүг VCC-д холбосноор бид GY-521-ийн I2C хаягийг өөрчилдөг. Холболтууд дараах байдалтай байна.

  • VCC GY-521 3.3V Mbili
  • GND GY-521 GND Mbili
  • SCL GY-521 SCL Mbili
  • SDA GY-521 SDA Mbili
  • AD0 GY-521 3.3V Mbili

Үүний дараа бид Buzzer -ийг холбох болно. Би гүйдэл байгаа үед дуугардаг стандарт дуугаруулагчийг ашигладаг. Энэ нь бид дуут дохиог Mbili самбарын дижитал зүү рүү холбож чадна гэсэн үг юм. Холболтууд дараах байдалтай байна.

  • + Buzzer D4 Mbili
  • - Buzzer GND Mbili

Хамгийн сүүлд бид GPS модулийг холбох болно. GPS модуль нь RX болон TX -ээр холбогддог. Холболтууд дараах байдалтай байна.

  • VCC GPS 3.3V Mbili
  • GND GPS GND Mbili
  • TX GPS RX Mbili
  • RX GPS TX Mbili

Алхам 2: Хэвийн мэдээллийн сан

Хэвийн мэдээллийн сан
Хэвийн мэдээллийн сан

Хоёрдахь алхам бол ердийн өгөгдлийн санг боловсруулах явдал юм. Би ERD -ийг Mysql дээр зохион бүтээсэн. Та миний мэдээллийн санг Голланд хэл дээр бичсэн байхыг харах болно, би энд байгаа хүснэгтүүдийг тайлбарлах болно.

'Ploeg' хүснэгт:

Энэхүү ширээ нь дугуйн клубуудын ширээ юм. Энэ нь дугуйн клубын ID болон дугуйн клубын нэрийг агуулдаг.

"Renners" хүснэгт:

Энэ хүснэгт нь дугуйчдад зориулсан ширээ юм. Дугуйчин бүр LoRaID -тэй бөгөөд энэ нь хүснэгтийн үндсэн түлхүүр юм. Тэд бас овог, нэр, гарал үүслийн улс, дугуйн клубын үнэмлэхтэй бөгөөд энэ нь дугуйн клубын ширээтэй холбоотой байдаг.

'Плацен' хүснэгт:

Энэхүү хүснэгт нь Бельги улсад дугуйн уралдаан зохион байгуулж болох газруудыг хадгалдаг хүснэгт юм. Энэ нь хотын нэрийг (энэ нь Анхдагч түлхүүр юм) болон хот байрладаг мужийг агуулдаг.

'Wedstrijden' хүснэгт:

Энэ хүснэгтэд бүх дугуйн уралдаануудыг хадгалдаг. Хүснэгтийн үндсэн түлхүүр бол ID юм. Мөн хүснэгтэд дугуйн уралдааны нэр, уралдааны хот, газрын хүснэгт, уралдааны зай, дугуйчдын ангилал, уралдааны огноог оруулсан болно.

Хүснэгт 'gebeurtenissen':

Энэ хүснэгтэд болж буй бүх үйл явдлыг хадгалдаг. Энэ нь дугуйчин осолд орсон эсвэл механик эвдрэл гарсан тохиолдолд үйл явдлыг энэ хүснэгтэд хадгална гэсэн үг юм. Хүснэгтийн үндсэн түлхүүр бол ID юм. Хүснэгтэнд мөн үйл явдлын огноо, байрлалын өргөрөг, байрлалын уртраг, дугуйчны LoRaID болон үйл явдлын төрөл (сүйрэл эсвэл механик эвдрэл) багтсан болно.

'Wedstrijdrenner' хүснэгт:

Энэ хүснэгт нь олон хүний харилцаанд шаардлагатай хүснэгт юм.

Алхам 3: LoRa модулиа бүртгүүлнэ үү

LoRa модулиа бүртгүүлнэ үү
LoRa модулиа бүртгүүлнэ үү

Кодыг эхлүүлэхийн өмнө LoRa модулийг LoRa гарц дээр бүртгүүлэх шаардлагатай. Би Бельгид LoRa модулийнхаа харилцааг зохицуулдаг 'Proximus' нэртэй харилцаа холбооны компанийг ашиглаж байсан. Миний LoRa зангилаагаар илгээсэн өгөгдлийг AllThingsTalk вэбсайтаас цуглуулдаг. Хэрэв та AllThingsTalk API ашиглан өгөгдлөө цуглуулахыг хүсвэл энд бүртгүүлж болно.

AllThingsTalk дээр бүртгүүлсний дараа LoRa зангилаагаа бүртгүүлэх шаардлагатай. Үүнийг хийхийн тулд та эдгээр алхмуудыг дагаж эсвэл дээрх зургийг харж болно.

  1. Үндсэн цэснээс "Төхөөрөмжүүд" рүү очно уу
  2. "Шинэ төхөөрөмж" дээр дарна уу.
  3. LoRa зангилааг сонгоно уу
  4. Бүх түлхүүрүүдийг бөглөнө үү.

Одоо та дууслаа! Таны LoRa зангилаагаар илгээсэн бүх өгөгдөл таны AllThingsTalk үйлдвэрлэгч дээр гарч ирэх болно. Хэрэв танд бүртгэлтэй холбоотой ямар нэгэн асуудал байгаа бол та үргэлж AllThingsTalk docs -оос лавлаж болно.

Алхам 4: Код

Код
Код
Код
Код
Код
Код
Код
Код

Энэ төслийн хувьд бидэнд HTML, CSS, Java Script, Python (Flask) болон Arduino хэл гэсэн 5 кодчиллын хэл хэрэгтэй болно. Эхлээд би Arduino програмыг тайлбарлах болно.

Arduino програм:

Хөтөлбөрийн эхэнд би зарим Глобал хувьсагчдыг хасав. Би GPS -тэй холбогдохын тулд SoftwareSerial ашигладаг болохыг та харах болно. Учир нь Mbili самбар нь зөвхөн 2 цуваа порттой байдаг. Та GPS -ийг Serial0 руу холбож болно, гэхдээ дараа нь дибаг хийхдээ Arduino терминалыг ашиглах боломжгүй болно. Энэ бол миний SoftwareSerial ашигладаг шалтгаан юм.

Глобал хувьсагчдын дараа би програмыг уншихад хялбар болгодог зарим функцийг хасдаг. Тэд GPS -ийн удирдамжийг уншиж, дуугаргаж, LoRa -ээр дамжуулан утгыг илгээдэг.

Гурав дахь блок бол тохиргооны блок юм. Энэ блок нь зүү, цуваа холбоо, I2C холболтыг тохируулдаг програмын эхлэл юм.

Тохиргооны блокийн дараа үндсэн програм ирдэг. Энэхүү үндсэн давталтын эхэнд мэдрэгч идэвхжсэн эсэхийг шалгадаг. Хэрэв тийм бол би дуут дохио өгч, GPS өгөгдлийг олж, бүх утгыг LoRa эсвэл Bluetooth -ээр Raspberry PI руу илгээдэг. Мэдрэгч мэдрэгчийн дараа би Accelerometer -ийн утгыг уншсан. Томъёогоор би X ба Y тэнхлэгийн яг өнцгийг тооцоолно. Хэрэв эдгээр утгууд маш том байвал дугуйчин осолдсон гэж бид дүгнэж болно. Осол гарах үед би дахин дуугарч, GPS -ийн өгөгдлийг олж, бүх утгыг LoRa эсвэл Bluetooth -ээр Raspberry PI руу илгээдэг.

Та 'Та яагаад bluetooth, LoRa ашигладаг вэ?' Гэж бодож байгаа байх. Учир нь би ашиглаж байсан LoRa модулийн лицензтэй холбоотой асуудалтай тулгарсан юм. Тиймээс програмыг өөрийн демо -д ажиллуулахын тулд би Bluetooth -ийг хэсэг хугацаанд ашиглах шаардлагатай болсон.

2. Арын төгсгөл:

Арын хэсэг нь жаахан төвөгтэй юм. Би флашыг маршрутын урд хэсэгт ашиглах боломжтой, урд талын хуудсыг автоматаар шинэчлэхийн тулд сокетио ашигладаг, LCD дэлгэц дээр мессеж харуулах, Bluetooth -ээр мессеж хүлээн авахад GPIO тээглүүр ашигладаг (хэрэв та үүнийг ашигладаг бол шаардлагагүй. LoRa) болон би Threading болон Timers ашиглан AllThinksTalk API -ийг тогтмол уншиж, колбаны серверийг эхлүүлдэг.

Би SQL мэдээллийн санг ашиглан ирж буй бүх ослыг хадгалах, дугуйчдын хувийн болон уралдааны мэдээллийг уншихад ашигладаг. Энэхүү мэдээллийн сан нь арын хэсэгт холбогдсон бөгөөд Raspberry Pi дээр ажилладаг. Би мэдээллийн сантай харилцахдаа 'Database.py' ангиллыг ашигладаг.

Fritzing схемээс мэдэж байгаагаар lcd нь Raspberry Pi -тэй SPI протоколоор холбогддог. Үүнийг илүү хялбар болгохын тулд би 'LCD_4_20_SPI.py' гэсэн анги бичсэн. Энэ ангийн тусламжтайгаар та тодосгогчийг өөрчлөх, арын гэрлийн өнгийг өөрчлөх, дэлгэцэн дээр мессеж бичих,…. Хэрэв та Bluetooth ашиглахыг хүсвэл 'SerialRaspberry.py' ангийг ашиглаж болно. Энэ анги нь Bluetooth модуль болон Raspberry Pi -ийн хоорондох цуваа холболтыг зохицуулдаг. Таны хийх ёстой цорын ганц зүйл бол RX -ийг TX -тэй холбох замаар Raspberry Pi -д Bluetooth модулийг холбох явдал юм.

Урд талын чиглэлийг @app.route дүрмийн дагуу бичсэн болно. Эндээс та өгөгдлийн санд өгөгдөл оруулах эсвэл оруулах мэдээллийг өөрийн гараар хийх боломжтой. Маршрутын төгсгөлд үргэлж хариу өгөх эсэхийг шалгаарай. Алдаа гарсан ч гэсэн би JSON объектыг урд талд нь буцааж өгдөг. Та хувьсагчийг тойруулан байрлуулснаар url -д хувьсагч ашиглаж болно.

Би уралдааны осолд орсон вэб хуудсанд сокетио ашигладаг. Raspberry Pi ослыг хүлээн авах үед би сокетио ашиглан урд зах руу мессеж илгээдэг. Шинэ сүйрэл гарсан тул мэдээллийн баазыг дахин унших ёстой гэдгийг урд талынхан мэддэг.

Миний код дээр LoRa холболтыг тушаалаар тохируулсан болохыг та харах болно. Хэрэв та LoRa -ийг ашиглахыг хүсч байвал AllThinksTalk API руу хүсэлт илгээдэг давтамжийг эхлүүлэх хэрэгтэй. Энэхүү API -аас та LoRa -ийн тодорхой зангилаанаас илгээдэг мэдрэгчийн утгыг (GPS, Цаг, Сүйрлийн төрөл) хүлээн авах болно. Өгөгдлийн санд гэмтэл оруулахын тулд та эдгээр утгыг ашиглаж болно.

3. Фронтын төгсгөл:

Арын төгсгөл нь 3 хэлээс бүрдэнэ. Вэбсайтын текстийн HTML, вэбсайтын тэмдэглэгээнд зориулсан CSS, ар талтай харилцах JavaScript. Энэ төслийн вэбсайтын 4 хуудас надад байна:

  • Бүх дугуйн уралдааныг эндээс олох боломжтой index.html.
  • Онцгой уралдааны бүх гэмтэл, механик эвдрэл бүхий хуудас.
  • Мэдээллийн санд цилиндр нэмж, багаа засах боломжтой хуудас.
  • Мэдээллийн санд бүх оролцогчидтой шинэ уралдаан нэмэх боломжтой хуудас.

Тэдгээрийг хэрхэн яаж хийх нь танд хамаарна. Хэрэв та хүсвэл миний вэбсайтаас урам зориг авах боломжтой. Харамсалтай нь миний вэбсайт Голланд хэл дээр хийгдсэн тул үүнд харамсаж байна.

Надад хуудас тус бүр дээр тусдаа CSS файл болон JavaScript файл байна. JavaScript файл бүр өгөгдлийн сангаас өгөгдлийг ар талаас нь авахын тулд fetch ашигладаг. Скрипт өгөгдлийг хүлээн авахад html динамикаар өөрчлөгддөг. Сүйрэл, механик эвдрэлийг олж мэдэх хуудсан дээр бүх үйл явдал болсон газрын зургийг олох болно. Би энэ газрын зургийг үзүүлэхдээ ухуулах хуудас ашигласан.

Та миний Github дээрх миний бүх кодыг эндээс харж болно.

Алхам 5: Барилга байгууламж барих

Барилга байгууламж барих
Барилга байгууламж барих
Барилга байгууламж барих
Барилга байгууламж барих
Барилга байгууламж барих
Барилга байгууламж барих

Барилга угсралтын ажлыг эхлүүлэхийн өмнө танд Монголбанкнаас эсвэл 'Багаж хэрэгсэл + хангамж' хуудаснаас авсан бүх материал байгаа эсэхийг шалгаарай.

Raspberry Pi + LCD

Бид Raspberry Pi -ийн хэргийг эхлүүлэх болно. Та хэргийг 3D хэлбэрээр хэвлэх боломжтой, энэ бол миний анхны санаа юм. Гэхдээ миний эцсийн хугацаа тун ойртож байгаа тул би энгийн жишээ гаргахаар шийдлээ. Би Raspberry Pi -аас стандарт хайрцгийг авч, LCD дэлгэц дээрх утсыг нүхлэв. Үүнийг хийхийн тулд та дараах энгийн алхмуудыг дагана уу.

  1. Хэргийн тагны нүхийг өрөмдөнө. Би үүнийг хавтасны хажуу талд 7 мм -ийн өрмийн тусламжтайгаар хийсэн. Та үүнийг дээрх зургаас харж болно.
  2. LCD дэлгэцээс утаснуудаа авч, толгойн дээр утаснууд дээр гулсуулна уу.
  3. Толгойны агшилтыг багасгахын тулд асаагуур эсвэл халуун буу ашигла.
  4. Толгой нь агшсан утсыг хайрцагны нүхээр татаж, дахин LCD дээр холбоно уу.

Raspberry Pi -ийн хайрцгийг бэлэн болгосны дараа та LCD дэлгэцийн хайрцгийг эхлүүлж болно. Би энэ линкээс онлайнаар хэргийг олсон тул LCD дэлгэцийнхээ хэргийг 3D хэвлэсэн. Би зөвхөн хэргийн өндөрт бага зэрэг өөрчлөлт хийх ёстой байсан. Та зурж байна гэж бодож байгаа бол файлуудаа экспорт хийж, хэвлэж эхлэх боломжтой. Хэрэв та 3D хэвлэхээ мэдэхгүй байгаа бол fusion 360 ашиглан хэрхэн 3D хэвлэх талаар энэхүү зааварчилгааг дагаж болно.

SODAQ MBili барилгын ажил

Би SODAQ Mbili -ийн удирдах зөвлөлд үнэхээр хэрэг үүсгэсэнгүй. Би plexi шил ашиглан эд ангиудыг барилгын эргэн тойронд хайрцаггүйгээр байрлуулсан. Хэрэв та үүнийг бас хийхийг хүсч байвал дараах алхмуудыг дагана уу.

  1. Pleksiglass -аас SODAQ Mbili хавтангийн dimesnions -оос гарна уу. Хэмжээ нь: 85mm X 56mm
  2. Plexiglass -ийг jigsaw ашиглан хайчилж ав.
  3. Цахим эд ангиудыг plexiglass дээр байрлуулж, нүхийг харандаагаар тэмдэглээрэй.
  4. Дөнгөж сая гарын үсэг зурсан нүхнүүд болон зогсолтын нүхийг 3.5 мм -ийн өрмийн тусламжтайгаар өрөмдөнө.
  5. Бүх электрон эд ангиудыг plexiglass дээр 3M 10мм боолт, самараар холбоно.
  6. Хамгийн сүүлийн алхам бол plexiglass -ийг Mbili самбар дээр суурилуулах явдал юм. Та үүнийг зогсолтоор хийж болно, гэхдээ би plexiglass -ийг самбар дээр суурилуулахын тулд 2м 50мм хэмжээтэй 2 боолт, 8 3M самар ашигласан.

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