Récupérer les prochains passages du bus

Discussion et échanges de scripts pour la box eedomus

Récupérer les prochains passages du bus

Messagepar ubu89 » 21 Sep 2015 17:24

Bonjour à tous,

Topic présentation or not topic présentation ? Commençons directement ici, puisque ce topic est l'une des principales raisons de ma venue.
J'envisage donc de m'équiper en box domotique, initialement pour commander à distance mes chauffages électriques à fil pilote du fait de mes horaires assez aléatoires. Mon étude de marché, qui a placé la eedomus+ en shortlist, a été l'occasion de préciser le besoin et d'envisager les usages... dont celui qui va suivre !

Je souhaite donc récupérer les horaires du bus au coin de ma rue. Dans un premier temps pour de l'affichage (j'envisage de placarder au mur une tablette cheap dédiée en panneau de contrôle), voire par la suite de l'intégrer dans des scénarios. On verra à l'usage.

J'ai donc écrit un petit code en utilisant une bibliothèque dispo pour parser du HTML, qu'il convient de télécharger ici. Pour le reste, ce code est codé avec les pieds, mais il fonctionne : il renvoie bien un tableau contenant les valeurs (en minutes) des prochains passages :
Code : Tout sélectionner
<?php
error_reporting(E_ALL);
include_once('simple_html_dom.php');

// Create DOM from URL or file
$html = file_get_html('http://wap.transdevtvo.mobi/horaireligne.php?ligne=268435457&arret=BERRY');

$table = $html->find('table', 0);

$horaires = array();

foreach($table->find('tr') as $row) {
    // initialize array to store the cell data from each row
    $flight = array();
    foreach($row->find('td') as $cell) {
        // push the cell's text to the array
       $str = $cell->plaintext;
      $result = strpos($str,'GARE DE SARTROUVILLE');
      if($result) {
         $pieces = explode(" ", $str);
         foreach($pieces as $piece) {
            $result = strpos($piece,'mn');
            if($result) $horaires[]=trim(trim($piece,'n'),'m') . '<br />';
         }
      }
    }
}

// Debug : test
print_r($horaires);

?>


Ma question est donc toute trouvée : puis-je réaliser ceci facilement sur la eedomus+ dont le langage de scripting semble être... PHP ? :)

Et si quelqu'un peut me montrer le "rendu", histoire d'achever de me convaincre, alors ce serait top :D

Merci par avance,

François
ubu89
 
Messages : 10
Inscription : 21 Sep 2015

Re: Récupérer les prochains passages du bus

Messagepar eedomusbox » 22 Sep 2015 09:50

Salut,
je n'ai pas la box sous la main mais à première vue, ton script ne vas pas fonctionner. il y a des instructions php qui ne sont pas supportées par la box comme "find". tu as la doc ici.
http://doc.eedomus.com/view/Scripts

Par contre, tu peux le mettre sur un raspberry et là tu auras un résultat probant.
tu peux voir un exemple ici sur les horaires de train http://www.domo-blog.fr/horaires-de-train-leedomus/ou de trajet voiturehttp://www.domo-blog.fr/info-trajet-waze-eedomus-version-raspberry/.

//hervé
eedomusbox
 
Messages : 894
Inscription : 12 Sep 2014
Localisation : 69

Re: Récupérer les prochains passages du bus

Messagepar ubu89 » 22 Sep 2015 10:06

eedomusbox a écrit:Salut,
je n'ai pas la box sous la main mais à première vue, ton script ne vas pas fonctionner. il y a des instructions php qui ne sont pas supportées par la box comme "find".

Ah oui, je n'avais pas conscience de ces limitations. Je vais regarder tes liens, mais j'imagine qu'en tant que solution de secours je peux faire un script distant (quitte à le faire pas plus distant qu'en réseau local :lol: ) et récupérer ces valeurs par un simple appel ?

EDIT : C'est bien ce qu'il fait pour le script Waze, appel d'un script qui tourne sur une machine Rpi :)
ubu89
 
Messages : 10
Inscription : 21 Sep 2015

Re: Récupérer les prochains passages du bus

Messagepar xianghua » 22 Sep 2015 12:56

Si quelqu'un a fait la chose pour Grenoble ça m'intéresse :D
xianghua
 
Messages : 305
Inscription : 11 Juil 2015

Re: Récupérer les prochains passages du bus

Messagepar ubu89 » 22 Sep 2015 13:43

Comment sont accessibles ces résultats ?
ubu89
 
Messages : 10
Inscription : 21 Sep 2015

Re: Récupérer les prochains passages du bus

Messagepar xianghua » 22 Sep 2015 18:02

ubu89 a écrit:Comment sont accessibles ces résultats ?


Pour Grenoble? je n'y connais pas grand chose, je ne suis pas développeur web

C'est le réseau tag
http://www.tag.fr/86-lignes-et-horaires.htm
http://www.tag.fr/89-infotrafic.htm

Sur le google play y'a pleins d'applications https://play.google.com/store/search?q= ... oble&hl=fr , j'imagine donc que les données sont récupérables...

J'imagine le scénario qui si il y a une alerte info trafic, ma box lit l'alerte vocalement, ou que selon l'horaire de réveil, ça dit vocalement à quelle heure prendre le tram.
xianghua
 
Messages : 305
Inscription : 11 Juil 2015


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)

cron