Orodha ya maudhui:

EAL - Viwanda 4.0 Ukusanyaji wa Takwimu za GPS kwenye Rc Car: Hatua 4
EAL - Viwanda 4.0 Ukusanyaji wa Takwimu za GPS kwenye Rc Car: Hatua 4

Video: EAL - Viwanda 4.0 Ukusanyaji wa Takwimu za GPS kwenye Rc Car: Hatua 4

Video: EAL - Viwanda 4.0 Ukusanyaji wa Takwimu za GPS kwenye Rc Car: Hatua 4
Video: ОЖИДАНИЕ или РЕАЛЬНОСТЬ! ИГРЫ в РЕАЛЬНОЙ ЖИЗНИ! Маленькие кошмары 2 в реальной жизни! 2024, Juni
Anonim
EAL - Viwanda 4.0 Ukusanyaji wa Takwimu za GPS kwenye Rc Car
EAL - Viwanda 4.0 Ukusanyaji wa Takwimu za GPS kwenye Rc Car
EAL - Viwanda 4.0 Ukusanyaji wa Takwimu za GPS kwenye Rc Car
EAL - Viwanda 4.0 Ukusanyaji wa Takwimu za GPS kwenye Rc Car

Katika Agizo hili tutazungumza juu ya jinsi tunavyoweka moduli ya GPS kwenye gari la RC na kuchapisha data iliyokusanywa kwenye wavuti kwa ufuatiliaji rahisi. Tumefanya previosly kufundisha juu ya jinsi tulivyotengeneza gari letu la RC, ambalo linaweza kupatikana hapa. Hii ni kutumia ujengaji huo huo, ingawa tumeamua kufuta sensorer za ultrasound na kutumia moduli ya GPS badala yake. Katika mradi huo tuna usanidi wa hifadhidata ambayo ina data ya GPS, na tengeneza ukurasa wa wavuti ambao data inaweza kupatikana, pamoja na kuitumia kwenye ramani, ili uweze kuona gari liko wapi. Tembelea Joerha.dk kutazama ukurasa wa wavuti.

Kwenye mtiririko ulio juu, unaweza kuona muhtasari wa teknolojia ambazo zimetumika katika mradi huu. Ili kupata zaidi kutoka kwa hii inayoweza kufundishwa, unahitaji kuwa na umaarufu na zingine, ikiwa sio teknolojia zote zinazotumiwa. Imeunganishwa kulingana na matumizi. Kuwa na msingi wa Github pia kutasaidia, kwani tumeunganisha kwenye hazina zetu za github.

Orodha ya huduma:

  • Github
  • Raspberry PI / Raspbian

    Chatu

  • Node

    • Express.js
    • Fuata usawa
    • MySQL
  • HTML, CSS, JS

    Kamba ya Boot

Hatua ya 1: Usanidi wa Hifadhidata

Usanidi wa Hifadhidata
Usanidi wa Hifadhidata

Katika sehemu hii tutazungumza juu ya jinsi tunavyojenga mfumo wa hifadhidata ambayo data yetu ya GPS hutolewa. Hifadhidata imejengwa katika MySQL kulingana na picha hapo juu, ambapo tuna meza mbili - "Watumiaji" na "GPSEntries". Katika watumiaji tuna "Id" kama ufunguo wetu wa msingi. Inatumika kama kitambulisho cha kipekee. "Jina" ni jina la mtumiaji aliyeingia kwa sasa. "Apikey" ni ufunguo wa kipekee uliopewa mtumiaji kufikia API. "Active" ni kuangalia ikiwa mtumiaji anafanya kazi, tunaweza kumzuia mtumiaji, kwa hivyo hawezi kufikia hifadhidata. "CreatedAt" na "UpdatedAt" hufanywa na mchakato tuliotumia kujenga hifadhidata.

Katika jedwali la "GPSEntries" tuna sifa zote zilizo na data kutoka kwa moduli ya GPS. "Wakati" ni wakati wa sasa wa moduli ya GPS, tunaitumia kuonyesha wakati wa kuchapisha. Halafu tuna nafasi katika kuratibu, na vile vile "kasi" na "kichwa". Pia tuna sifa nyingi za makosa, ambayo inaonyesha ikiwa kuna hitilafu katika data kutoka GPS, fx katika kuratibu. Tumewaongeza kwenye hifadhidata, lakini hatuwaonyeshi kwenye ukurasa wa wavuti. "UserId" ni ufunguo wa kigeni ambao una "id" kutoka meza ya Watumiaji. Hiyo hutumiwa kuonyesha ni mtumiaji gani aliyechapisha data.

Hatua ya 2: API

API
API

Katika sehemu hii tutazungumza juu ya API inayodhibiti hifadhidata na kuipaka data. API ya wavuti imejengwa na Node.js, ambayo hutumia Express.js na Sequalize.js.

Node.js hutumiwa kuendesha seva ya JavaScript, ambapo kawaida hutumiwa hasa kwa maandishi ya upande wa mteja kwenye ukurasa wa wavuti.

Express.js ndio mfumo tuliotumia kujenga API.

Sequalize.js hutumiwa kutengeneza viungo kati ya data ya Gps, na sifa za hifadhidata. Inatumia njia inayoitwa ORM (Object-Relational Ramani) kufanya hivyo. Hapa ndipo pia "CreatedAt" na "UpdatedAt" imeundwa (Imeonyeshwa katika hatua ya 1).

API inaweza kutumika kwa kutembelea api.joerha.dk. Kisha ongeza / gps kwenye url, ambayo itaonyesha data zote kwenye hifadhidata katika muundo wa JSON. Ili kudhibiti maingizo mengi unayotaka, unaweza kuongeza / 2 (Mtumiaji) na / x (idadi ya viingilio) kwenye url. Fx api.joerha.dk/gps/2/10 itaonyesha maandishi 10 ya hivi karibuni. Utaftaji wa data iliyoumbizwa umeonyeshwa kwenye picha hapo juu.

Nambari inaweza kupatikana hapa: Github

Hatua ya 3: Maombi ya GPS / Python

Maombi ya GPS / Chatu
Maombi ya GPS / Chatu
Maombi ya GPS / Chatu
Maombi ya GPS / Chatu
Maombi ya GPS / Chatu
Maombi ya GPS / Chatu

Katika sehemu hii tutazungumza juu ya hati ambayo inaendesha raspberry na hukusanya data ya GPS, na kuipeleka kwa API.

Kukusanya data kutoka kwa GPS tunatumia daemon inayoitwa gpsd (Picha 1). Hapa ndipo tunakusanya data ambayo tunachapisha kwenye hifadhidata, na msingi wa meza yetu ya GPSEntries. Hati ambayo huvuta data kutoka kwa gpsd na kuichapisha kwa API, imeandikwa kwa chatu.

Maombi huanzisha uzi, kwa hivyo inaweza kuendesha gpsd na programu yetu kwa wakati mmoja. Data ya Gpsd inasambazwa kila wakati GPS inafanya kazi (Picha 2).

Kisha tunatengeneza kitanzi cha muda ambacho huendelea kutuma malipo yake kwa API iliyo na data ya GPS. Data imeundwa kama JSON. Mshahara una sifa zinazoonekana katika GPSD. Lebo ya.fix hufanya kama picha ya data ya sasa, na hutuma hiyo kwa API. Hii imefanywa na ombi, na hutumia kitufe cha url na API. Chapisha (r.status_code) ni pato kwa mtumiaji, kujua ikiwa data imepata vizuri. Kulala (0.5) ni mara ngapi data imechapishwa (Picha 3)

Nambari inaweza kupatikana hapa: Github

Hatua ya 4: Ukurasa wa wavuti wa Mradi

Ukurasa wa wavuti wa Mradi
Ukurasa wa wavuti wa Mradi

Katika sehemu hii tutazungumza juu ya jinsi tulivyotengeneza ukurasa wetu wa wavuti ambao unaonyesha data, na habari zingine kuhusu mradi huo. Tovuti imejengwa na HTML, css na JS. Kuanza na tulitumia Bootstrap 4.0, ambayo ni maktaba ya HTML, css na JS. Inakuja na kazi nyingi ambazo husaidia kujenga tovuti yako. Tumeitumia kwa mwamba wa juu hapo juu, pamoja na safu na safu ya safu ambayo tovuti imejengwa nayo. Halafu tuna hati nyingine ndogo ya css inayodhibiti rangi za usuli na vichwa. Kwa hiyo tumetumia maktaba inayoitwa lightbox, kwa hivyo unaweza kubofya picha na zinaibuka. Yaliyomo kwenye wavuti yana ramani ya google, jedwali la data, video ya gari inayotumika na kiunga cha ukurasa huu.

Ramani ya google ni ya kuvutia zaidi. Ramani imepakiwa kupitia API ya google, ambapo ufunguo wa kipekee wa API umeingizwa ili ufanye kazi. Takwimu zinahamishwa kwa ramani kwa muda wa 500ms. Tumefanya kazi ambapo alama 100 za mwisho kwenye hifadhidata zinaonyeshwa kama alama, ili uweze kufuata mahali gari lilipokuwa. Hii imefanywa kupitia kile kinachoitwa simu ya AJAX.

Seti za data kwenye jedwali la data ya GPS zinaombwa vivyo hivyo. Katika jedwali unaweza kuona maingizo 10 ya mwisho, yaliyosasishwa kwa wakati halisi wakati GPS inafanya kazi. Tunapata data kutoka kwa hifadhidata katika kipindi cha 500 ms.

Nambari inaweza kupatikana hapa: Github

Ilipendekeza: