Мазмұны:

EAL - Industry 4.0 Rc Car -да GPS деректерін жинау: 4 қадам
EAL - Industry 4.0 Rc Car -да GPS деректерін жинау: 4 қадам

Бейне: EAL - Industry 4.0 Rc Car -да GPS деректерін жинау: 4 қадам

Бейне: EAL - Industry 4.0 Rc Car -да GPS деректерін жинау: 4 қадам
Бейне: Micro 4WD FPV RC Car SNT Y60 Underwater with Camera | The H Lab #shorts 2024, Қараша
Anonim
EAL - Rc Car -дағы Индустрия 4.0 GPS деректерін жинау
EAL - Rc Car -дағы Индустрия 4.0 GPS деректерін жинау
EAL - Industry 4.0 Rc Car -да GPS деректерін жинау
EAL - Industry 4.0 Rc Car -да GPS деректерін жинау

Бұл нұсқаулықта біз RC автокөлігіне GPS модулін қалай орнататынымыз және жиналған деректерді веб -бетке оңай бақылау үшін қалай орналастыратынымыз туралы айтатын боламыз. Біз алдын ала RC автокөлігін қалай жасағаны туралы нұсқаулық жасадық, оны мына жерден табуға болады. Бұл ультрадыбыстық датчиктерді алып тастауды шештік және оның орнына GPS модулін қолдануды шешкенімізге қарамастан, бұл сол құрылымды қолданады. Жобада бізде GPS деректері бар мәліметтер базасы бар, сонымен қатар оны картадан алғандағыдай, деректерді табуға болатын веб -бетті құрамыз, осылайша сіз көліктің қайда болғанын көре аласыз. Веб -бетті көру үшін Joerha.dk сайтына кіріңіз.

Жоғарғы жағындағы схемада сіз осы жобада қолданылған технологияларға шолу жасай аласыз. Нұсқаулықты барынша пайдалану үшін сізге барлық технологиялар болмаса да, кейбіреулермен туыстық қарым -қатынас қажет. Ол қолданылуына байланысты. Github репозиторийлерімен байланыстырғандықтан, Github -тің төмен бағалануы да көмектеседі.

Коммуналдық қызметтер тізімі:

  • Github
  • Таңқурай 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» - бұл Пайдаланушылар кестесіндегі «идентификаторды» қамтитын шетелдік кілт. Бұл деректерді қай пайдаланушының жібергенін көрсету үшін қолданылады.

2 -қадам: API

API
API

Бұл сегментте біз дерекқорды басқаратын және оған деректерді қоятын API туралы айтатын боламыз. Web 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

Ұсынылған: