Kirjoittaja Aihe: Tracker puhelimella ja sen GPS:llä?  (Luettu 4601 kertaa)

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Tracker puhelimella ja sen GPS:llä?
« : 08.12.13 - klo:14.02 »
Hei

Juniorin kysymyksestä heräsi ajatus kysyä viisaammilta. Onko tällaista olemassa?

Siis: GPS:llä varustettu älypuhelin, joka lähettää sijaintitietoa datayhteyden kautta jonnekin sivustolle, jonka kautta taas porukka voi nähdä puhelimen nettiselaimen avulla toisten kavereiden sijainnin?

En ole ohjelmoinut tämän tyyppistä juttua. Tarvittaisiin siis puhelimeen softa, joka sitä sijaintitietoa lähettää (miten? HTTP, joku muu, mikä? Sijaintitiedon lähetys esim. 10 sekunnin välein). Vastaanottopää olisi jo itselleni helpompaa, ottaa vastaan koordinaatti ja mahdollisesti lähettäjän IP-numero (tai muu tieto, jolla lähettävän puhelimen voisi identifioida), jonka jälkeen nakata pisteet taustakarttapohjalle vaikkapa Geoserver-ohjelmistoa käyttäen, ja karttaboksi olisi selaimen kautta nähtävissä taas siellä puhelimien päässä, eli lähettävät puhelimet näkyisivät vaikkapa eri värisinä pisteinä.

Tiedossa on, että kaikenlaisia koira-GPS systeemeitä olemassa, mutta ei selvää, miten noita voitaisiin käyttää usean lähettimen reaaliaikaiseen seurantaan?


retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #1 : 08.12.13 - klo:14.28 »
Ainakin html5 yhteensopivaa selainta käytettäessä tuo on ihan triviaali juttu. Geolocation api nimittäin sisältyy html5 määrityksiin.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #2 : 08.12.13 - klo:16.12 »
Ainakin html5 yhteensopivaa selainta käytettäessä tuo on ihan triviaali juttu. Geolocation api nimittäin sisältyy html5 määrityksiin.

Hmm. Kun en ole web-maailmaa tarkemmin seurannut, niin tämä oli uutta. Tuossa siis oletetaan, että puhelimen GPS on puhelimessa olevan selaimen käytettävissä (NSA  ;D), ja siltä voidaan kysyä tietoa tuosta vaan? Oman sijainnin näyttäminen esimerkin valossa näyttäisi olevan helppoa. Enemmän sitten vaaditaan, kun sijainteja kysytään useammalta, ja kaikkien sijainti näytetään kartalla kaikille. Tuota en osaisi noin yht'äkkiä tehdäkään. Tämä puoli vaatisi jonkin asteisen karttapalvelinsoftan käyttöä käsittääkseni ainakin. Sijainnin päivitys olisi ratkaistavissa kyselyfunktion ajamisella tietyin väliajoin.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #3 : 08.12.13 - klo:16.24 »
Ainakin html5 yhteensopivaa selainta käytettäessä tuo on ihan triviaali juttu. Geolocation api nimittäin sisältyy html5 määrityksiin.

Hmm. Kun en ole web-maailmaa tarkemmin seurannut, niin tämä oli uutta. Tuossa siis oletetaan, että puhelimen GPS on puhelimessa olevan selaimen käytettävissä (NSA  ;D), ja siltä voidaan kysyä tietoa tuosta vaan? Oman sijainnin näyttäminen esimerkin valossa näyttäisi olevan helppoa.

Selaimelta voidaan kysyä sijaintia Javascriptillä ja sitten selain kysyy käyttäjältä saako sivulle kertoa sijaintitietoja eli ihan huomaamatta noita ei periaatteessa jaeta. Ainakin oma puhelimeni (Nokia N9) selain osaa kertoa GPS-sijainnin nettisivuille ja myös kysyy sitä asianmukaisesti. Tietääkseni myös Android ja iOS osaavat tuon ja eiköhän myös Microsoftin tekeleet.

Mielenkiintoista olisi itsestäkin tietää miten HTML5-sovelluksessa kannattaa tuo (likimain) reaaliaikainen päivitys tehdä, että se toimii järkevästi. Tässä tapauksessa tosin varmaan riittää päivittää tasaisin väliajoin, mutta entäs jos päivitys ei olisi tasaista vaan uusia tietoja ei haettaisi joka kerta. Pitääkö selaimen tehdä tarkistuksia vai voiko palvelin lähettää päivityksen?

HTML5-sovelluksen käyttö tässä muuten varmaan vaatii, että kaikissa laitteissa näyttö on jatkuvasti päällä. Muuten voi joutua tekemään laitekohtaisen sovelluksen, joka tosin ainakaan Androidin tapauksessa ei liene kovin hankalaa (toki pitää viitsiä). Muille (paitsi vähän N9:lle) en ole kehittänyt sovelluksia.

Mietin myös oliko Googlella ollut jo olemassa tämän tapainen palvelu, mutta en ole itse sitä käyttänyt.
http://en.wikipedia.org/wiki/Google_Latitude
Google Latitude vaan on tosiaan lopetettu, mutta ilmeisesti ominaisuudet löytyvät (tai sitten eivät) Google+:sta.
« Viimeksi muokattu: 08.12.13 - klo:16.26 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #4 : 08.12.13 - klo:17.13 »
Selaimelta voidaan kysyä sijaintia Javascriptillä ja sitten selain kysyy käyttäjältä saako sivulle kertoa sijaintitietoja eli ihan huomaamatta noita ei periaatteessa jaeta. Ainakin oma puhelimeni (Nokia N9) selain osaa kertoa GPS-sijainnin nettisivuille ja myös kysyy sitä asianmukaisesti. Tietääkseni myös Android ja iOS osaavat tuon ja eiköhän myös Microsoftin tekeleet.

Tönäisin koodinpätkän palvelimelle jo, ja testasin laittamalla Lumiaani (620) sijainnin päälle, samoin datayhteyden. Yhteys palvelimen sivuun, ja kyllähän sijainti tuli. Puhelin kysyi, sallitaanko sijainnin lähetys sivulle. Tuon valossa periaate on perin helppo. Käytännössä sitten, kun on useampi, ja pisteet laitetaan kartalle, on omat haasteensa. Ensimmäisenä pitää löytää palvelinsofta, joka tukee reaaliaikaista palvelua. Olen puuhaillut kohtalaisen paljon Geoserver-ohjelmiston kanssa, mutta tällainen puoli asiasta ei ole tullut edes mieleen, eli datapisteiden poiminta tietokannasta kyselyillä ja esittäminen kartalla kyllä hoituu ainakin sillä.

Mielenkiintoa herättää Tomin N9-ohjelmointitaustasi. Pitäisikö tässä alkaa viritellä yhteistyötä, hoitaisit puhelimen puolen, itse keskittyisin palvelinsoftaan? Jollan puhelin kiinnostaa kovasti, ja aion hankkia varmaan sellaisen.

BTW. Kokeilin yhtä aiemmin tekemääni Geoserver karttasovellusta Google v3-pohjakartalla, ja kartan zoomaus Lumia selaimen kanssa ei kyllä pelitä lainkaan. Karttapisteet menevät minne sattuu, ja tarkempia taustakarttapaloja ei tule kartalle zoomattaessa. Huonolta näyttää ainakin Lumian selaimella :(.

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #5 : 08.12.13 - klo:17.18 »
Jos tuon toimintaa haluaa kokeilla käytännössä, se onnistuu vaikka tällä fmi:n mobiilisääsivulla.

Edellä linkkaamallani w3school sivustolla on tiivistä, muttei kovin perusteellista, tietoa monista web-tekniikoista. Mark Pilgrim tarjoaa hieman syvällisemmän sukelluksen (pythonin lisäksi) myös html5-tekniikoihin.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #6 : 08.12.13 - klo:17.31 »
Jos tuon toimintaa haluaa kokeilla käytännössä, se onnistuu vaikka tällä fmi:n mobiilisääsivulla.

Tämä oli se sivu, josta poika mulle alunperin kertoi, ja silloin ajattelin sen perustuvan puhelinoperaattorilta tulevaan karkeaan sijaintitietoon. Ei tässä periaatteessa nyt muuta tarvita, kuin sopiva OGC-standardin mukainen palvelinsofta  ja taustakartta ja koodia.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #7 : 08.12.13 - klo:17.53 »
Mielenkiintoa herättää Tomin N9-ohjelmointitaustasi. Pitäisikö tässä alkaa viritellä yhteistyötä, hoitaisit puhelimen puolen, itse keskittyisin palvelinsoftaan? Jollan puhelin kiinnostaa kovasti, ja aion hankkia varmaan sellaisen.

En ole paljoa tehnyt sille mitään ja työkalujen (Harmattan SDK) asentaminenkin on ollut välillä toivotonta, kun Scratchboxin palvelin ei ollut käytettävissä. Nyt ei ole millään koneella tuota SDK:ta. Tietysti HTML5-sovelluksen tekemiseen sitä ei tarvita, mutta ei ole nyt mielenkiintoa (eikä aikaakaan) aloittaa tuollaista projektia. Itsekin Jollan hankintaa olen ajatellut, mutta N9 on ollut käytössä vasta reilun vuoden, joten en kehtaisi vielä vaihtaa. Periaatteessa voisin tyytyä myös pelkkään softaan (Sailfish OS), mutta sitä saadaan vielä odotella, jos yhteisö niin pitkälle edes pääsee ja sittenkin voi olla, että sieltä puuttuu esimerkiksi juuri GPS.

Itsellänikin on muuten ollut tuo Ilmatieteenlaitoksen HTML5 sääsovellus käytössä. Aika hyvin toimii N9:llä.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

mrl586

  • Käyttäjä
  • Viestejä: 4638
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #8 : 08.12.13 - klo:18.04 »
Periaatteessa voisin tyytyä myös pelkkään softaan (Sailfish OS), mutta sitä saadaan vielä odotella, jos yhteisö niin pitkälle edes pääsee ja sittenkin voi olla, että sieltä puuttuu esimerkiksi juuri GPS.
Sen saa jo N9:lle: https://www.facebook.com/groups/jollapioneer/permalink/554752604614208/

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #9 : 08.12.13 - klo:19.57 »
Periaatteessa voisin tyytyä myös pelkkään softaan (Sailfish OS), mutta sitä saadaan vielä odotella, jos yhteisö niin pitkälle edes pääsee ja sittenkin voi olla, että sieltä puuttuu esimerkiksi juuri GPS.
Sen saa jo N9:lle: https://www.facebook.com/groups/jollapioneer/permalink/554752604614208/
Ei näy. https://dl.dropboxusercontent.com/u/4305182/Scrot/2013-12-08-19-55-03.png

Muokkaus: Jos tuo on se SDK-versio kopioituna N9:iin Meegon tai Nemon tai mikä lienee päälle, niin sehän oli aika pahasti puutteellinen. Joka tapauksessa väärä keskustelu tälle aiheelle. ::)

Muokkaus 2: Ilmeisesti jotain on saatu eteenpäin: http://talk.maemo.org/showthread.php?t=90761
« Viimeksi muokattu: 08.12.13 - klo:20.03 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #10 : 10.12.13 - klo:08.32 »
Ainakin html5 yhteensopivaa selainta käytettäessä tuo on ihan triviaali juttu.

Jep, teoriassa triviaa, käytännössä toinen juttu, ainakin Lumian kohdalla. Ihan sama käyttääkö getCurrentPosition()-, vaiko watchPosition()-funktiota tulos on sama. Vastauksena tulee hyvin karkeaa sijaintia, joka ilmeisesti perustuu vain puhelinoperaattorin sijaintitietoon(?), ei laitteen GPS:n antamaan. Kuitenkin silloin, kun käynnistää Nokian karttaohjelman, ja antaa sen paikantaa, niin silloin tuloksena saadaan hetkellisesti oikea sijainti, mutta eihän sitä voi pitää päällä, jos pitää olla selainikkuna auki, ja nähdä itsensä ja muut siitä ikkunasta. Huonompi homma :(

Pojan mukaan valmiita sovelluksia on ainakin 2 kappaletta airsoft-käyttöön, mutta ne ovat Android ja iOS-alustoille. Ilmeisesti junnu joutuu hankkimaan Lumia 920:n rinnalle sitten GPS:llä varustetun Android-puhelimen :(

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #11 : 10.12.13 - klo:15.06 »
Itselleni vastaten: funktioilla olikin highAccuracy: true -optio  ;), joten ehkä jotain parempaa saadaan aikaan vielä. Näkee sitten miten päivittyy ja liike näkyy, kun käyttää watchPosition() -funktiota. Dokumentit kertovat, että päivittymisnopeus on jätetty laitekohtaiseksi, ja toisaalta, kun käytetään weppipohjaista karttapohjaa, niin sen lataaminen uudestaan (päivittyminen) näyttöön ottaa oman aikansa myös.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #12 : 16.12.13 - klo:12.03 »
Ainakin html5 yhteensopivaa selainta käytettäessä tuo on ihan triviaali juttu. Geolocation api nimittäin sisältyy html5 määrityksiin.

Palaan tähän vielä todeten, ettei tuosta HTML 5:n Geolocation-apista ole mitään iloa. Saa sillä jotenkin yhden suurinpiirteisen sijainnin, mutta GPS:n antamaan dataan sillä ei pääse oikeasti ainakaan ilman, että joku GPS:ää käyttävä sovellus on päällä. Toinen hankaluus on, että päivitys tulee aivan liian hitaasti ollakseen käyttökelpoinen liikkeen seuraamiseen. Kokeiltu sekä Lumiassa IE-selaimella, että Samsung S3:ssa kahdella selaimella (Crome ja Firefox).

Oikea tapa olisi varmaan se, että sovellus lukee puhelimen gepsiä, ja tööttää sijaintia johonkin IP-porttiin karttapalvelimelle, joka puolestaan lukee porttia ja päivittää taustakartan päällä pyörivää sijaintilayeria, ja välittää sitä nettiin selaimella katsottavaksi.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tracker puhelimella ja sen GPS:llä?
« Vastaus #13 : 17.12.13 - klo:20.05 »
Palaan tähän vielä todeten, ettei tuosta HTML 5:n Geolocation-apista ole mitään iloa.

Täytyy tässä vetää sanojaan takaisin. Sain nimittäin pelaamaan homman Samsungilla S3:lla (Android), ja Firefoxin selaimella niin, että getCurrentPosition(showPosition, errorHandler) -funktiota ajetaan ajastettuna (10s). Sivun initilalize-funktiolla ensin piirretään kartta kerran ja määritellään intervalli, kuinka usein sijaintia haetaan. Callback-funktio showPosition piirtää kartan uudelleen asetetulla zoomilla ja keskitys saatuun karttapisteeseen, johon tökätää vielä markkeri. No, tämä siis toimii yhdellä puhelimella. En tiedä, saako Googlen kartalle määriteltyä suoraan jonkin oma kartan, johon voidaan saada useampia puhelinpaikannuksia, siis eri puhelimista? Oma ratkaisuni olisi siis piirtää Google-kartan päälle vektoritaso (point), jonne siis noita pisteitä laitetaan. En tosin tiedä vielä, miten edellinen piste (sijainti) hävitettäisiin kartalta tasolta uuden alta. Lisähaasteen vielä tuo, että karttasivulle pitäisi olla kirjautuminen, jossa määriteltäisiin kullekin käyttäjälle omanlaisensa markkeri (=omansa värinen piste tms.).

Jos täällä nyt sattuu olemaan joku yhdistetty kartta- ynnä javascript-guru, niin voisi vaihtaa ajatuksia kehityksen suunnasta. Tarkoitus olisi siis saada useamman puhelimen pisteitä kartalle, jonka kaikki osallistujat näkevät. Näitä on maailmalla valmiina, mutta mielellään tekisin homman tietyn rajatun porukan käyttöön omalle karttapalvelimelle. Näin palvelun laatu, eli nopeahko vaste pysyisi. Olen lueskellut metsästäjäfoorumeita ohi mennen, ja siellä valitetaan, että viikonloppuisin on palvelin tukossa, ja sijainteja ei saada kuin satunnaisesti.

EDIT: ja näyttääpäs toimivan nyt myös Lumialla ja sen IE:llä :) Vitsi taisi olla siinä, miten tuota funktiota käytetään. WatchPosition() ei ole tuottanut tulosta.



« Viimeksi muokattu: 17.12.13 - klo:20.08 kirjoittanut New_user »