Thread Wagenanzeige Raspberry Pi
(73 answers)
Opened by NIwu at 2014-10-25 13:58
Hi,
ich antworte mal auf den Hauptbeitrag, um mal die Einrückungstiefe zu brechen, damit die Beiträge wieder lesbarer werden. hier erstmal eine kleine etwas bereinigte Variante Deines Codes, die die nächsten drei Abfahrten ausgibt: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #!"D:\webserver\xampp\perl\bin\perl.exe" #! /usr/bin/perl use strict; use warnings; use JSON; # muss evtl. nachinstalliert werden use LWP::Simple; # muss evtl. nachinstalliert werden require LWP::UserAgent; use Data::Dumper; use URI::Escape; use CGI::Carp qw(fatalsToBrowser); # Wo sind die Daten Haltestellen ID zu holen? my $url = "http://localhost/abfahrten.do?id=01"; # Daten abholen lasssen #my $content = get( $url ); my $content = '[["S3","Dresden, Plauen","1"],["S1","Dresden, Flughafen","2"],["RE01","Meissen","10"],["ICE","Hamburg, Neugraben","15"]]'; # Abbruch, wenn Daten nicht geholt werden konnten die "Could not load data from $url." if not defined $content; # Bereite JSON-Parser vor my $json = JSON->new->allow_nonref; # Dekodiere JSON-Daten und erstelle eine Datenstruktur #my $array_from_json = [["ZG NR","Richtung","Rücklaufende Minuten"],["ZG NR","Richtung", "Rücklaufende Minuten"]]; my $array_from_json = $json->decode( $content ); # Kontrollausgabe #print Dumper $data; # sortiere nach Abfahrten my @sorted = sort { $a->[2] <=> $b->[2] } @$array_from_json; #print Dumper \@sorted; # Zeige die nächsten 3 Abfahrten print "Abfahrten\n"; printf "%4s %15s %5s\n", 'Zug', 'Zielort', 'Abf. in'; for my $aRef ( @sorted[0 .. 2] ) { my ( $zugnr, $ziel, $min ) = @$aRef; $ziel = ( split m/,\s+/, $ziel )[1] if $ziel =~ m/,/; printf "%4s %15s %5s\n", $zugnr, $ziel, $min; } Ausgabe: Bei Deinem Code sind viele verwirrende und unklare Teile enthalten gewesen, die ich mal entfernt habe. Was mir in all dem Wirrwarr von Dir noch nicht klar geworden ist: Das Skript soll anscheinend auf einem Windows laufen? Wie sollen die Daten auf den Raspberry Pi kommen? Und wie sollen die Daten dann aufs Display kommen? Last edited: 2014-11-04 21:50:47 +0100 (CET) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |