Oman GPS-paikantimen rakentelukokeilu 2011 vuoden kesällä

Vuonna 2011 tuli hankittua GSM-moduli BENQ M23R ja GPS-moduli Fastrax uPatch100C9 kun halvalla sai.

Lisäksi valmiina oli jo Microchipin 18F2550 mikrokontrolleri, LCD-näyttöjä, koekytkentäalustoja, transistoreita, koteloita ja sun muita elektroniikkakomponentteja jne. Lisäksi muutaman vuoden harrastuspohjainen konekielinen ohjelmointikokemus Microchipin mikrokontrollereilla.

Näillä eväillä tulikin tehtyä ensi alkuun oma “kännykkä”, etäluettava lämpömittari, kännykällä ohjattavaa lukkoa, tekstiviesteillä toimivaa GPS-paikanninta jne.

Sitten jossain vaiheessa luettuani lisää GSM-modulin BENQ M23R manuaalia. Niin sieltähän löytyi ohjeet miten modulin saa lähettämään tietoa myös internettiin HTTP-pyynnöillä. Tästä syntyi idea kokeilla onnistuuko GPS-paikantimen tekeminen, joka lähettää HTTP-pyynnöillä GPS-koordinaatit internettiin luettavaksi. Laite sai lopulta jostain syystä nimeksi GPS-tagi, jota nimeä käytänkin tästä eteenpäin.

Mutta ennen kuin GPS-tagi alkaisi toimia täytyi suunnitella piirikaavio Paintilla tietysti, josta tuli sitten tämän näköinen:

Josta taas tuli rakennettua tämän näköinen koteloitu rautapuoli 2-3 päivässä:

tagiauki.png

Sitten raudalle piti suunnitella ohjelmistoakin. Jonka piti saada toimimaan näin:

  1. GPS-tagiin pitää voida lähettää tekstiviestinä asetukset. Kuten sen sivuston osoitteet, jonne sen halutaan lähettävän GPS-dataa. Ja GPS-tagin tunnus, josta tietää mikä GPS-tagi olisi kyseessä.

  2. Gps-tagi lähettää internettiin GPS-koordinaatin, nopeustiedon Km/h ja suunnan. GPS-tagin tavoitteena olisi, että se pystyy lähettämään GPS-paikkatietoja ainakin 1 minuutin välein nettiin. Joka voi olla tässä ehkä jopa lyhyempi kun kokeilun koodia hieman parantelee nopeammaksi. Toisaalta myös pidempi riippuen tietoa nettiin välittävän GPRS-yhteyden ja tietoa vastaan ottavan Web-palvelimen nopeudesta ja kuormituksesta yms.

  3. GPS-paikkatiedon välitykseen internettiin käytetään HTTP-pyyntöjä. Joilla internetselaimetkin keskustelee internetpalvelimien kanssa.

  4. GPS-tagi tuottaa valmiiksi maps.google.fi internetsivustolle kelpaavia linkkejä.

Lopulta useiden tuntien jälkeen oli koodi “valmis”. Koodista tuli tämän näköinen: gpstagi.txt (125 KB) Joka herätti 2*16 merkin LCD-näytöllä varustetun GPS-tagin henkiin.

tagi.png

Sitten piti vielä tehdä WEB-palvelimelle sivusto, joka vastaanottaisi GPS-tagin lähettämän datan ja näyttäisi internetselaimessa. Sivusto on hyvin yksinkertainen. Se ottaa samaan tapaan tiedon vastaan GPS-tagilta kuin tavanomaiselta internetsivulta lähetetty POST-metodilla lähetetyn lomakkeen. Eli tässä systeemissä ei ole mitään estoa, etteikö sivustolle voisi kuka tahansa lähettää mistä tahansa internetistä roskadataa POST-lomakkeilla ja häiritä näin sivustoa.

Tätä voi estää tehokkaasti käsittääkseni laskemalla GPS-tagissa vaikka SHA-1 tai vaikka MD5 tms. tiivisteen GPS-datasta, joka sisältää suola-sanan, jonka tietää vain vastaanottava internetsivusto ja itse lähettävä GPS-tagi. Ja jos vastaanottava sivusto ei saa GPS-tagin ja itse laskemaansa tiivistettä täsmäämään niin tullut data hylätään.

Tässä kokeilussa kumminkaan tätä suojausta ei ole eikä seuraavassa vastaanottavan PHP-sivuston koodissakaan näin ollen.

data.zip (5.58 KB)

Laitteesta tuli tehtyä myös video testausvideo Youtubeen.

Projektille tuli tehtyä myös oma sivusto internettiin.

Systeemistä on tullut tehtyä jo myös SIM908 GSM/GPS-modulilla toimiva versio. Koska sellaista nyt käytetään Ruuvipenkin omassa GPS-systeemissäkin. Tai ilmeisesti käytettiin koska SIM908 on vaihdettu SIM968, joka tukee myös GLONASS-satelliitteja. Ehkä omat kokeilut siirtyy seuraavaksi tuohon SIM968-moduliin PIC-mikrokontrollereiden kanssa. Kunhan siihen SIM968 saa vaan jostain hyvän Breakout testilevyn niin kuin SIM908 saa.

Uudessa koekytkentälevyille tehdyssä kokeilussa eli tuossa SIM908 projektissa on myös mukana MD5-tiivisteen varassa toimiva häirintä/hakkeri suojaus. Onko MD5-tiiviste siihen riittävän hyvä. Niin en osaa sanoa. Mutta kyllä se varmasti aika monta sunnuntaihakkeria tiputtaa pois.

Jyrki

Tässähän onkin jo isompi projekti. Aika hieno vempele.
Olisko 3G/4G yhteyksien käyttäminen huomattavasti isompi homma? Ei sillä, etteikö GPRS olisi tähän vielä täysin sopiva. Oliko muuten ongelmia antennien kanssa, GPS ja/tai GPRS?

Niin ja vielä kyssäriä kyssärin perään, mistäkä tuo jonkinlainen hitaus johtui? Käynnistäminen, alustaminen jne.

Tämän mielestäni voisi jo palkita GPS-paikantimella. :wink:

Juu meni tuohon muutama kymmenen tuntia ja aurinkoinen kesäpäivä :slight_smile:

Noissa 3G/4G systeemeissä taitaa vaan hinta nousta vähän liikaa eikä niitä tainnut olla saatavillakaan Partcolla josta tuon GSM ja GPS-modulit tilasin. Niin ja sitten tulee tosiaan vielä sekin, että onko mitään hyötyä, kun ottaa huomioon että tuo systeemi lähettää 1-3 kilotavun edestä tavaraa nettiin vaikka 3-8 kertaa minuutissa.

Ja pelkkä GPRS pystyy kait aika helposti jo nykyään 10kt/s nopeuksiin helposti tietääkseni kun joskus mittailin? Niin GPRS:llä pääsee vielä pitkälle tässä tapauksessa. Sitten jos pitäisi jotain kuvia alkaa lähettelee tms niin sitten voisi jo pohtia 3G/4G systeemiä.

Anteenien kanssa oli myös ongelmia lähinnä itse tehtyjen. Tuossa käytetty 85 millimetriä pitkä johdonpätkä ei vaan oikein toiminut kunnolla. Se pätki välillä yhteyttä kaikin tavoin. Eli koko GSM-moduli tippui verkostakin välillä. Tuosta ongelmasta pääsi eroon jos ruuvasi autojen tuulilasi GSM-antenin kiinni.

Ilmeisesti tuo 85 millimetrin mitoitus ei oikein onnistunut, vaikka valonnopeutta tulikin jaettuna ensin 900 vai oliko se 1800 MHz sitten vielä sitäkin tulosta 4. Niin ei se vaan oikein toiminut. Vai hieman vesisadetta niin systeemi alkoi takkuamaan tuolla itse tehdyllä antenilla.
No en kyllä ole koskaan perehtynyt anteenien mitoittamisiin ja niiden muihin hienouksiin.

Mutta kun tuosta systeemistä teki SIM908 GSM/GPS-modulilla tehdyn version ja laittoi siihen Ruuvi Trakcerissakin käytetyn anteenin niin yhteys alkoi toimimaan moitteetta niin vesisateella kuin auringonpaisteellakin.

Itse GPS-modulin kanssa ei ollut ongelmia, koska siinä oli ihan oma anteeni kiinni ja se toimi ongelmitta.

Käynnistymisen hitaus ja muutenkin tuon laitteessa johtuu siitä, että laiskana en jaksanut tehdä GSM-modullilta tulleiden kuittausten tarkastusta annettuihin AT-komentoihin. Joten laitoin riittävän pitkät viiveet (useita sekuntteja), joiden aikana kuittaukset AT-komentoihin oli todennäköisesti jo tullut ja saattoi antaa uuden AT-komennon. Sekin osaltaan sai laitteen välillä pätkimään. Koska saattoi olla että AT-komentoon saattoi tulla joku toimintahäiriöstä tms kertova kuittaus.

Noistakin ongelmista pääsi tai no on päässyt suurimmaksi osaksi eroon, kun on kokeilun ja erehdyksen kautta tehnyt koodiin AT-komentojen kuittausten varmistukset. Ja toiminnat sen mukaan. Nykyinen SIM908-modulille tehty versio toimii jo huomattavasti nopeammin tämän takia.

Juu tuon uuden Ruuvipenkin GPS-paikantimen takia tämän artikkelin lopulta teinkin. Pitänyt tehdä jo aikaisemmin mutta aina muka ollut parempaa tekemistä. Nyt täytyy toivoa että arpaonni osuu kohdalla :slight_smile: