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

EAL - Аж үйлдвэрийн 4.0 Rc Car дээр GPS мэдээлэл цуглуулах: 4 алхам
EAL - Аж үйлдвэрийн 4.0 Rc Car дээр GPS мэдээлэл цуглуулах: 4 алхам

Видео: EAL - Аж үйлдвэрийн 4.0 Rc Car дээр GPS мэдээлэл цуглуулах: 4 алхам

Видео: EAL - Аж үйлдвэрийн 4.0 Rc Car дээр GPS мэдээлэл цуглуулах: 4 алхам
Видео: Игрушки из детства Уже Не Те. Такую машинку хочет каждый мужик! (Arrma Limitless GT 8s). 2024, Оны зургадугаар сарын
Anonim
EAL - Rc Car дээрх Industry 4.0 GPS -ийн мэдээлэл цуглуулах
EAL - Rc Car дээрх Industry 4.0 GPS -ийн мэдээлэл цуглуулах
EAL - Rc Car дээрх Industry 4.0 GPS -ийн мэдээлэл цуглуулах
EAL - Rc Car дээрх Industry 4.0 GPS -ийн мэдээлэл цуглуулах

Энэхүү гарын авлагад бид RC машин дээр GPS модулийг хэрхэн тохируулж, цуглуулсан өгөгдлөө вэб хуудсанд байршуулж, хянахад хялбар байх талаар ярилцах болно. Бид эндээс олж болох RC машинаа хэрхэн яаж хийх талаар зааварчилгаа өгсөн болно. Энэ нь ижил бүтцийг ашиглаж байгаа боловч бид хэт авианы мэдрэгчийг хусаж, оронд нь GPS модулийг ашиглахаар шийдсэн. Төсөлд бид GPS -ийн өгөгдлийг агуулсан мэдээллийн баазыг бий болгож, өгөгдлийг газрын зураг дээр ашигласнаар олж болох вэб хуудсыг бүтээсэн бөгөөд ингэснээр та машин хаана байсныг харах боломжтой болно. Joerha.dk хаягаар орж вэб хуудсыг үзээрэй.

Дээд талын схем дээр энэ төсөлд ашигласан технологийн тоймыг харж болно. Энэхүү зааварчилгааг хамгийн сайн ашиглахын тулд бүх технологийг ашиглаагүй л бол зарим хүмүүстэй танил байх хэрэгтэй. Энэ нь хэрэглээний дагуу холбогдсон байна. Github -ийн агуулахтай холбогдсон тул Github -ийг дутуу үнэлэх нь бас туслах болно.

Хэрэгслүүдийн жагсаалт:

  • Github
  • Raspberry PI/Raspbian

    Python

  • Node.js

    • Express.js
    • Sequelize.js
    • MySQL
  • HTML, CSS, JS

    Bootstrap

Алхам 1: Өгөгдлийн сангийн тохиргоо

Өгөгдлийн сангийн тохиргоо
Өгөгдлийн сангийн тохиргоо

Энэ сегментэд бид GPS -ийн өгөгдлөө авдаг мэдээллийн баазын системийг хэрхэн бий болгох талаар ярих болно. Өгөгдлийн сан нь дээрх зургийн дагуу MySQL дээр бүтээгдсэн бөгөөд бидэнд "Хэрэглэгчид" ба "GPSEntries" гэсэн хоёр хүснэгт байдаг. Хэрэглэгчдийн хувьд "Id" нь бидний үндсэн түлхүүр юм. Үүнийг өвөрмөц танигч болгон ашигладаг. "Нэр" гэдэг нь одоогоор нэвтэрсэн хэрэглэгчийн нэр юм. "Apikey" нь API -д хандахын тулд хэрэглэгчид өгсөн өвөрмөц түлхүүр юм. "Идэвхтэй" гэдэг нь хэрэглэгч идэвхтэй эсэхийг шалгах явдал юм, бид хэрэглэгчийг идэвхгүй болгож болох тул тэр мэдээллийн санд хандах боломжгүй болно. "CreatedAt" ба "UpdatedAt" нь бидний мэдээллийн санг бүрдүүлэх явцад хийгдсэн болно.

"GPS оруулгууд" хүснэгтэд бид GPS модулийн өгөгдлийг агуулсан бүх шинж чанаруудыг агуулсан болно. "Цаг" бол GPS модулийн одоогийн цаг бөгөөд бид үүнийг байршуулах хугацааг харуулахад ашигладаг. Дараа нь бид "хурд", "чиглэл" гэсэн координат дахь байрлалыг олж авдаг. Бидэнд GPS -ийн өгөгдөл, координат дахь fx алдаа байгаа эсэхийг харуулсан алдааны олон шинж чанарууд байдаг. Бид тэдгээрийг мэдээллийн санд оруулсан боловч вэб хуудсан дээр харуулахгүй байна. "UserId" бол хэрэглэгчийн хүснэгтийн "id" -ийг агуулсан гадаад түлхүүр юм. Энэ нь өгөгдлийг байршуулсан хэрэглэгчийг харуулахад ашиглагддаг.

Алхам 2: API

API
API

Энэ хэсэгт бид мэдээллийн баазыг хянадаг, өгөгдлийг түүнд наалддаг API -ийн талаар ярих болно. Вэб API нь Express.js болон Sequalize.js ашигладаг Node.js -ээр бүтээгдсэн болно.

Node.js нь ихэвчлэн вэб хуудсан дээр үйлчлүүлэгчийн скрипт бичихэд хэрэглэгддэг JavaScript серверийн талбарыг ажиллуулахад ашиглагддаг.

Express.js бол бидний API бүтээхэд ашигладаг хүрээ юм.

Sequalize.js нь Gps өгөгдөл ба өгөгдлийн сангийн атрибутуудын хооронд холбоос үүсгэхэд ашиглагддаг. Үүнийг хийхийн тулд ORM (Object-Relational Mapping) хэмээх аргыг ашигладаг. Энэ нь мөн "CreatedAt" ба "UpdatedAt" -г бий болгодог (1 -р алхамд харуулав).

API -ийг api.joerha.dk хаягаар орж ашиглах боломжтой. Дараа нь url -д /gps -ийг нэмснээр мэдээллийн сан дахь бүх өгөгдлийг JSON форматаар харуулна. Хичнээн олон оруулга оруулахыг хянахын тулд та url дээр /2 (Хэрэглэгч) ба /x (оруулгын тоо) нэмж болно. Fx api.joerha.dk/gps/2/10 нь хамгийн сүүлийн үеийн 10 бичлэгийг харуулах болно. Дээрх зурган дээр форматлагдсан өгөгдлийн гаралтыг харуулав.

Кодыг эндээс олж болно: Github

Алхам 3: GPS/Python програм

GPS/Python програм
GPS/Python програм
GPS/Python програм
GPS/Python програм
GPS/Python програм
GPS/Python програм

Энэ хэсэгт бид бөөрөлзгөнө дээр ажилладаг, GPS -ийн өгөгдлийг цуглуулж API руу илгээдэг скриптийн талаар ярих болно.

GPS -ээс мэдээлэл цуглуулахын тулд бид gpsd нэртэй демон ашиглаж байна (Зураг 1). Энд бид мэдээллийн санд байршуулсан өгөгдөл, GPSEntries хүснэгтийнхээ үндэсийг цуглуулдаг. Gpsd -аас өгөгдлийг татаж аваад API руу илгээдэг скриптийг python дээр бичсэн болно.

Аппликешн нь утсыг эхлүүлдэг тул gpsd болон манай програмыг нэгэн зэрэг ажиллуулах боломжтой. GPS идэвхжсэн үед Gpsd өгөгдлийг тасралтгүй дамжуулж байна (Зураг 2).

Дараа нь бид GPS өгөгдөл агуулсан API -д ачаагаа тогтмол байршуулдаг хэсэг хугацааны давталт хийдэг. Өгөгдлийг JSON хэлбэрээр форматладаг. Ачаалал нь GPSD дээр харагдаж буй шинж чанаруудаас бүрдэнэ.. Fix хаяг нь одоогийн өгөгдлийн хормын хувилбар шиг ажилладаг бөгөөд үүнийг API руу илгээдэг. Үүнийг request.post ашиглан хийдэг бөгөөд url болон API түлхүүрийг ашигладаг. Хэвлэх (r.status_code) нь өгөгдлийг зөв дамжуулсан эсэхийг мэдэхийн тулд хэрэглэгч рүү гаргадаг. Time.sleep (0.5) нь өгөгдлийг хэр олон удаа байршуулдаг (Зураг 3)

Кодыг эндээс олж болно: Github

Алхам 4: Төслийн вэб хуудас

Төслийн вэб хуудас
Төслийн вэб хуудас

Энэ хэсэгт бид өгөгдөл, төслийн талаархи бусад мэдээллийг харуулсан вэб хуудсыг хэрхэн бүтээсэн тухай ярих болно. Энэ сайт нь HTML, CSS, JS дээр бүтээгдсэн. Эхлэхийн тулд бид HTML, css, JS -ийн номын сан болох Bootstrap 4.0 -ийг ашигласан. Энэ нь вэбсайтаа бүтээхэд туслах олон функцтэй байдаг. Бид үүнийг сайтын бүтээсэн мөр баганын тохиргооны хувьд дээд хэсэгт байрлах навигацийн самбар дээр ашигласан болно. Дараа нь бидэнд арын дэвсгэр болон толгойн өнгийг хянадаг өөр нэг жижиг CSS скрипт байна. Үүнээс гадна бид lightbox нэртэй номын санг ашигласан тул та зурган дээр дарж, тэдгээр нь гарч ирэх болно. Сайтын агуулга нь google газрын зураг, өгөгдлийн хүснэгт, ажиллаж буй машины видео болон яг энэ хуудасны линкийг агуулдаг.

Google газрын зураг бол хамгийн сонирхолтой зүйл юм. Газрын зургийг google API -ээр дамжуулан ачаалдаг бөгөөд үүнийг ажиллуулахын тулд өвөрмөц API түлхүүр оруулдаг. Мэдээллийг газрын зураг руу 500 м -ийн интервалаар дамжуулдаг. Бид мэдээллийн сан дахь хамгийн сүүлийн 100 өгөгдлийн цэгийг тэмдэглэгээгээр харуулдаг функцийг хийсэн бөгөөд ингэснээр та машин хаана байсныг дагаж болно. Үүнийг AJAX дуудлага гэж нэрлэдэг зүйлээр хийдэг.

GPS -ийн өгөгдлийн хүснэгтэд байгаа өгөгдлийн багцыг мөн адил хүсдэг. Хүснэгтэнд GPS идэвхжсэн үед бодит цаг хугацаанд шинэчлэгдсэн сүүлийн 10 оруулгыг харж болно. Бид өгөгдлийн сангаас 500 мс -ийн зайтай өгөгдлийг авдаг.

Кодыг эндээс олж болно: Github

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