Portál AbcLinuxu, 20. dubna 2024 02:24

Android Wear, jízdní řády a IDOS API

15.1.2015 01:16 | Přečteno: 5107× | Ostatní | Výběrový blog | poslední úprava: 15.1.2015 15:06

Pořídil jsem si hodinky LG G Watch R, na kterých běží Android Wear a rozhodl jsem si pro ně udělat jednoduchou aplikaci, která mi řekne, kdy mi jede nejbližší tramvaj. K tomu musím někde získat data, a tak jsem prozkoumal, jak funguje Pubtran a IDOS API.

Hodinky

První generace chytrých hodinek s Androidem je na první pohled k ničemu - je to drahé, vydrží to možná dva dny, nic zas tak úžasného to neumí (navíc v českých končinách) a u téhle platformy se už Google ani netváří že je otevřená - i na pouhou komunikaci s telefonem se používá proprietární API. Přes to všechno koupě nelituju - mít všechny notifikace z telefonu přístupné hned na zápěstí je silně návykové, několik málo užitečných aplikací pro Wear přeci jen existuje a užiju si spoustu zábavy vývojem aplikací & hackováním. Tenhle model je navíc z Android Wear modelů vzhledově asi nejblíže normálním hodinkám a osobně se mi líbí. No a když takhle mluvíte k hodinkám a oni dělají to, co říkáte, přeci jen člověka občas přepadne zvláštní pocit, že budoucnost je tady. Na hodinkách je i budík, a osobně je mi mnohem příjemnější probuzení kvůli vibrování hodinek na zápěstí než za neustálého vyřvávání telefonu.

Technická stránka věci

Pokud vás o téhle platformě něco zajímá, klidně se zeptejte v komentářích.

Jízdní řády

Činnost, kterou na telefonu často opakuji je vyhledávání nejbližšího spoje mezi určitou skupinou zastávek, kde se často vyskytuji, například ze školy domů nebo naopak z domu do práce. To by se dalo velmi pěkně přenést na hodinky. Původně jsem to logicky chtěl přidat do aplikace Pubtran a mělo to dělat tohle:

  1. Na hodinkách otevřu aplikaci. Bude ukazovat seznam oblíbených spojení (např. "Hlavní nádraží -> Divadlo") z Pubtranu.
  2. Kliknu na jedno ze spojení.
  3. Ukáže se několik nejbližších spojení.

O Pubtranu

Pubtran bohužel není open-source. Včera jsem zkusil napsat tvůrci této aplikace, ale ještě neodpověděl a vzhledem k tomu, že Pubtran je základem oficiální IDOS aplikace za kterou asi dostal zaplaceno, není příliš pravděpodobné, že by Pubtran uvolnil jako open-source.

IDOS API

Ok, takže to bude standalone aplikace. Odkud dostat data? Jako očividné řešení se jeví znásilnění Pubtranu & IDOS API, které používá, a přesně to jsem udělal. Jedná se o příšerně obsáhlé SOAP API bežící na nějaké dotNet věci na adrese http://ttws.timetable.cz/. Je ale uzavřené a je potřeba se k němu přihlásit. Zde pokládám otázku do diskuze: Je toto API součástí veřejně volně dostupných dat zajištěných státem? Má někdo ponětí, jestli je vůbec možné k němu jako třetí strana dostat přístup?

Update: API Idosu je uzavřené, provozuje ho Chaps a prý si ho docela dost brání a přidělit přístup aplikaci, která ukazuje, kdy jede tramvaj, nedejbože zadarmo, se jim pravděpodobně líbit nebude. Na Lupě je rozhovor s jednatelem Chapsu, tudy cesta očividně nevede. Prý ale uvolňují data na požádání ve "strojově zpracovatelném" formátu xls a některé dopravní podniky samotné dělají to stejné. Třeba půjde využít toho, pak by to ani nepotřebovalo internet.

Člověk se skoro diví jaký jsou ty jízdní řády biznis.

V mezičase není nic jednoduššího, než prostě dělat, že jsem Pubtran nebo oficiální IDOS aplikace. Bohužel to ale znamená, že svoji aplikaci nemohu vydat na Play Store, v případě, že se za přístup k tomu API platí, mohlo by to být problematické.

Výsledek

Po kratším boji s generováním validního SOAP požadavku se mi povedlo dostat z API to, co potřebuji a vytvořit aplikaci, kterou jsem si představoval. Momentálně se mi nechce dělat se zadáváním oblíbených spojení na telefonu (navíc proč, když to na Play Store stejně nemůže), takže jsou prozatím napevno nastavené v kódu ty moje.

Ještě jednou připomínám otázku o API - bylo by super, kdybych to mohl i vydat a dostat tak na Wear i nějaké užitečnější aplikace.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

15.1.2015 02:57 b
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Odpovědět | Sbalit | Link | Blokovat | Admin
ještě neodpověděl
napraveno
15.1.2015 14:28 Tassadar | skóre: 11 | blog: Lorris | Brno
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Díky, info (snad jen to veřejné, kdyby něco, napiš) doplněno do článku.
return 4;
15.1.2015 06:18 ivir | skóre: 7 | Barrandov
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Odpovědět | Sbalit | Link | Blokovat | Admin
IDOS provozuje firma CHAPS, která poskytovala API rozhraní za poplatek. Co se teď dívám, tak tuto možnost přímo neposkytují, takže bez přímého dotazu to nepůjde. Alternativou je zakoupení databáze, ale tam je opět redistribuce zakázána.

Celkově bude zajímavé jak to letos dopadne, jestli bude CHAPS i nadále provozovat centrální systém jízdních řádů a k 1. září 2015 poskytne strojově zpracovatelná data, případně ukončí spolupráci.
Nicky726 avatar 15.1.2015 08:33 Nicky726 | skóre: 56 | blog: Nicky726
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Odpovědět | Sbalit | Link | Blokovat | Admin
Co se podívat, jak data získávají spoje?
Enjoy the detours. There you’ll find the things more important than what you want. (Hunter x Hunter)
15.1.2015 09:20 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Parsují data z blind.jizdnirady.idnes.cz
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
15.1.2015 09:25 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Odpovědět | Sbalit | Link | Blokovat | Admin
Momentálně se mi nechce dělat se zadáváním oblíbených spojení na telefonu (navíc proč, když to na Play Store stejně nemůže)
Není tu jenom Play Store, co to třeba hodit na svobodný F-Droid?
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
15.1.2015 13:32 Tassadar | skóre: 11 | blog: Lorris | Brno
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Tady přece nejde o to že by to Play Store nepovolil nebo tak něco, jsem si jistý že by tam tahle aplikace vydržela naprosto bez problémů. Špatné by na tom bylo to, že bych nelegálně přistupoval k nějakým datům, které si evidentně Chaps brání a kdyby opravdu hodně chtěli, tak s tím asi můžou jít i k soudu. Nic by z toho nezískali, ale stejně.
return 4;
15.1.2015 13:36 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Není problém to publikovat anonymně (pod nějaký pseudonymem, přes Tor). Případně použít parsování té webové stránky pro slepé jako jiné projekty, proti tomu nemůžou nic.
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
15.1.2015 10:27 hydrandt | skóre: 35 | blog: Kanál | Herzogenburg
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Odpovědět | Sbalit | Link | Blokovat | Admin
Pěkné.

Přimlouvám se za f-droid. Už nějakou dobu provozuji cyanogenmod bez google služeb, jen s aplikacemi z f-droidu, plus bohužel pár stažených .apk, které jsou closed source - Pleco dictionary, Baidu maps, Xiami music a Alipay.
I am Jack's wasted life.
Dreit avatar 15.1.2015 18:33 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API

+1  F-droid je perfektní a kdo nemá Play (bude nás určitě víc) vybírá hlavně tam.

Nope
15.1.2015 19:41 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Tak hlavně pokud třeba někdo chce mít bezpečný smartphone, Play mít ani nemůže (Google má možnost vzdáleně prostřednictvím služeb Play updatovat/instalovat/odinstalovat aplikace bez vědomí uživatele).
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
15.1.2015 21:20 odin
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Odpovědět | Sbalit | Link | Blokovat | Admin
Nejenom, ze se snazite podporovat statem dotovanou sluzbu, jejiz existence je z principu amoralni, ale dokonce porusujete podminky uziti daneho API. Hmm, pekne... :-(
16.1.2015 00:16 Ondra
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Odpovědět | Sbalit | Link | Blokovat | Admin
fuck play store, hod to na F-Droid. kazdopadne vytecna prace, jen tak dal!

(chybi ti tam akorat licence)
16.1.2015 10:18 Tassadar | skóre: 11 | blog: Lorris | Brno
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Uvědomujete si, že i když pominu problém s tím API, tak je naprosto zbytečné dávat tuhle app na F-droid? Pokud na svém telefonu nemáte nainstalované proprietární Google Services, hodinky s ním prostě nefungují, a bez nich ta aplikace nedělá vůbec nic.
return 4;
16.1.2015 10:03 sarimak
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Odpovědět | Sbalit | Link | Blokovat | Admin
Autor hodne uzitecne aplikace MHD2 pro Palm, Jiri Osoba (http://osoba.sweb.cz/) dlouhou dobu parsoval jizdni rady MHD i vlaku a zverejnoval je ve sve closed-source free aplikaci, takze by treba mohl poradit. Bohuzel je MHD2 uz mrtvy projekt, ale tim spis by mohla byt sance ho premluvit, aby si sve know-how nenechal pro sebe.

Za F-Droid bych se take primlouval, nic jineho nepouzivam.
16.1.2015 13:26 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Na tohle přeci není potřeba žádná velká rada či knowhow, napsat takový parser webových stránek je i pro naprosto průměrného programátora otázka na jedno odpoledne.
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
16.1.2015 17:25 Tassadar | skóre: 11 | blog: Lorris | Brno
Rozbalit Rozbalit vše Re: Android Wear, jízdní řády a IDOS API
Ano, je. Ale porušuje podmínky/je úplně stejně "nemorální"(?) jako používání toho jejich API bez souhlasu. Podle toho, co jsem zjistil jak "jednoduché" je data o jízdních řádech získat se mi zrovna dvakrát nechce do nějakého rozšiřování téhle app nebo případně její zveřejnění i pro ostatní - teď to funguje tak jak jsem si představoval, a to je vše co potřebuji. Stejně by to měla být součást nějaké plnohodnotné aplikace pro zobrazovaní jízdních řádů na telefonu, ale to se asi bohužel nestane.
return 4;

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.