Мазмуну:
- 1 -кадам: Маалыматтар базасын орнотуу
- 2 -кадам: API
- 3 -кадам: GPS/Python тиркемеси
- 4 -кадам: Долбоордун веб -баракчасы
Video: EAL - Rc Car боюнча Industry 4.0 GPS маалыматын чогултуу: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Бул Нускамада биз 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 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 маалыматын чогулткан жана аны 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
Сунушталууда:
Кийинки Drive/Hiking Trail үчүн DIY GPS маалыматын каттоочу: 11 кадам (Сүрөттөр менен)
Кийинки Drive/Hiking Trail үчүн DIY GPS маалыматын каттоочу: Бул GPS маалыматын каттоочу, сиз бир нече максатта колдоно аласыз, айталы, эгер сиз күздүн түстөрүн текшерүү үчүн дем алыш күндөрү узак жолго чыккыңыз келсе. же сизде жыл сайын күзүндө барчу сүйүктүү изиңиз бар жана сиз
SMS билдирүүсү жана Thingspeak маалыматын жүктөө менен GPS Car Tracker, Arduino негизделген, үйдү автоматташтыруу: 5 кадам (сүрөттөр менен)
SMS билдирүүсү жана Thingspeak маалыматын жүктөө, Arduino негизделген, үйдү автоматташтыруу менен GPS Car Tracker: Мен бул GPS трекерди өткөн жылы жасадым жана ал жакшы иштегендиктен мен аны азыр Instructableде жарыялайм. Бул менин магистралдагы аксессуарлардын сайгычына туташкан. GPS трекери мобилдик маалымат аркылуу машинанын абалын, ылдамдыгын, багытын жана өлчөнгөн температурасын жүктөйт
DIY Solar Toy Car Kit кантип чогултуу керек: 4 кадам
DIY Solar Toy Car Kit кантип чогултуу керек: Балаңызга кайра жаралуучу энергияны үйрөткүңүз келеби? Илим жарманкесин унутуп коюңуз, бул 5 долларга арзаныраак сатып ала турган жана күн батареясын ойнотуу үчүн эч качан талап кылынбаган арзан күн оюнчуктар топтому. Ошол эле акчага сиз курулган моделди сатып алсаңыз болот, бирок азыр ф
EAL-Industry 4.0-Smart Rocket: 8 кадам (Сүрөттөр менен)
EAL-Industry 4.0-Smart Rocket: Бул мектеп долбоору, Данияда Erhversakademiet Lilleb æ ltде жасалган. Долбоор " Industri 4.0 " деп аталган класста жасалган. принциптер.Система жөндөмдүү болушу керек
Meshlabти лазердик сканерлөө маалыматын тазалоо жана чогултуу үчүн колдонуу: 8 кадам
Meshlabти лазердик сканерлөө маалыматын тазалоо жана чогултуу үчүн колдонуу: Meshlab - бул сетка маалыматтарын башкаруу жана өзгөртүү үчүн колдонулган ачык булак программалык камсыздоо программасы. Бул окуу куралы 3D лазер сканеринен маалыматтарды кантип чогултуу, тазалоо жана реконструкциялоону көрсөтөт. Бул жерде колдонулган сканер менен колдонулган ыкмалар керек