Мазмуну:

EAL - Rc Car боюнча Industry 4.0 GPS маалыматын чогултуу: 4 кадам
EAL - Rc Car боюнча Industry 4.0 GPS маалыматын чогултуу: 4 кадам

Video: EAL - Rc Car боюнча Industry 4.0 GPS маалыматын чогултуу: 4 кадам

Video: EAL - Rc Car боюнча Industry 4.0 GPS маалыматын чогултуу: 4 кадам
Video: Фаст Экстрим, автоматическое производство - BMW CAR FACTORY 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" биз маалымат базасын түзүүдө колдонулган процесс аркылуу жасалат.

"GPSEntries" таблицасында бизде GPS модулунан маалыматтарды камтыган бардык атрибуттар бар. "Убакыт" - GPS модулунун учурдагы убактысы, биз аны жарыяланган убактысын көрсөтүү үчүн колдонобуз. Андан кийин биз "ылдамдык" жана "багыт" сыяктуу эле координаттардагы позицияга ээбиз. Ошондой эле бизде каталардын көптөгөн атрибуттары бар, бул GPSтен алынган маалыматта ката бар экенин көрсөтүп турат, координаттарда fx. Биз аларды маалымат базасына коштук, бирок биз аларды веб -баракчада көрсөтпөйбүз. "UserId" - бул колдонуучулардын таблицасындагы "id" камтыган чет өлкөлүк ачкыч. Бул маалыматты кайсы колдонуучу жайгаштырганын көрсөтүү үчүн колдонулат.

2 -кадам: API

API
API

Бул сегментте биз маалымат базасын көзөмөлдөгөн жана ага маалыматтарды чаптаган API жөнүндө сөз кылабыз. Веб API Node.js менен курулган, ал Express.js жана Sequalize.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 маалыматтары тынымсыз агылып жатат (Picture 2).

Андан кийин биз GPS маалыматын камтыган APIге жүктөмүн үзгүлтүксүз жүктөп турган бир аз убакытты жасайбыз. Маалымат JSON катары форматталган. Пайдалуу жүк GPSDде көрүнгөн атрибуттардан турат.. Fix теги учурдагы маалыматтын сүрөтү сыяктуу иштейт жана аны APIге жөнөтөт. Бул request.post тарабынан жасалат жана url жана API ачкычын колдонот. Басып чыгаруу (r.status_code) - бул маалыматтын туура келгенин билүү үчүн колдонуучуга чыгаруу. Time.sleep (0.5) - бул маалыматтын канчалык көп жайгаштырылышы (Picture 3)

Кодду бул жерден тапса болот: Github

4 -кадам: Долбоордун веб -баракчасы

Долбоордун веб -баракчасы
Долбоордун веб -баракчасы

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

Google картасы эң кызыктуу. Карта Google API аркылуу жүктөлөт, ал жерде уникалдуу API ачкычы иштейт. Маалыматтар картага 500 мс аралыкта агылып келет. Биз маалымат базасындагы акыркы 100 маалымат пункту маркер катары көрсөтүлүүчү функцияны түздүк, андыктан сиз машине кайда болгонун байкай аласыз. Бул AJAX чалуусу аркылуу ишке ашат.

GPS маалымат столундагы маалымат топтомдору да ушинтип суралат. Таблицада GPS активдүү болгондо реалдуу убакытта жаңыртылган акыркы 10 жазууну көрө аласыз. Биз маалымат базасынан 500 мс аралыкта маалыматтарды алабыз.

Кодду бул жерден тапса болот: Github

Сунушталууда: