Script για αναγνωση APRS μυνηματων απο το Internet

...εφαρμογές για οτιδήποτε άλλο

Συντονιστής: konnn

Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό xqtr » 03 Μαρ 2015, 18:19

Για οσους φιλους του Linux, ασχολουνται και με τον Ρ/Ε...

Υπαρχουν διαφορα προγραμματα και ιστοσελιδες για να διαβαζει καποιος online μυνηματα APRS. Με το παρακατω script, μπορει να γινει χωρις καν εφαρμογη, απλα σε καποιο συστημα Linux/Ubuntu, στο τερματικο.
Η αναγνωση APRS μυνηματων επιτρεπεται και απο μη αδειουχους Ρ/Ε. Η αποστολή ομως, απαιτει να εχει ο χρηστης αδεια Ρ/Ε.

Κώδικας: Επιλογή όλων
#!/bin/bash
     
#title           : APRS packet reader
#description     :
#author             : xqtr
#date            : 10/02/2015
#version         : 1.0
#usage             : ./aprs.sh
#notes           :

#Variables ${2:-1}
server=$1
port=${2:-14580}
lat=${3:-39}
lon=${4:-24}
range=${5:-300}
user=${6:-"TSTUSR"}
pass=${7:-"-1"}


# Text color variables
txtred='\e[0;31m' # red
txtgrn='\e[0;32m' # green
txtylw='\e[0;33m' # yellow
txtblu='\e[0;34m' # blue
txtpur='\e[0;35m' # purple
txtcyn='\e[0;36m' # cyan
txtwht='\e[0;37m' # white
bldred='\e[1;31m' # red - Bold
bldgrn='\e[1;32m' # green
bldylw='\e[1;33m' # yellow
bldblu='\e[1;34m' # blue
bldpur='\e[1;35m' # purple
bldcyn='\e[1;36m' # cyan
bldwht='\e[1;37m' # white
txtund=$(tput sgr 0 1) # Underline
txtbld=$(tput bold) # Bold
txtrst='\e[0m' # Text reset

# Feedback indicators
#info=${bldwht}*${txtrst}
#pass=${bldblu}*${txtrst}
#warn=${bldred}!${txtrst}

# Indicator usage
#echo -e "${info} "
#echo -e "${pass} "
#echo -e "${warn} "

function choose_server () {
    clear
    echo -e "${bldylw}        Choose Server to connect...${txtrst}"
    echo
    echo -e "${bldgrn}For more servers check: http://aprs2.net/APRServe2.txt${txtrst}"
    echo
    echo -e "${bldred}_,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.-'~'-.,_${txtrst}"
    echo
    echo -e "${bldwht}1. ${txtwht} sv2hrt.dyndns.org:14578    - Greece${txtrst}"
    echo -e "${bldwht}2. ${txtwht} sv2hrt.dyndns.org:2323    -    >>    Weather${txtrst}"
    echo -e "${bldwht}3. ${txtwht} sv2hrt.dyndns.org:1314    -    >>    Messages${txtrst}"
    echo -e "${bldwht}4. ${txtwht} greece.aprs2.net:14580    - Greece${txtrst}"
    echo -e "${bldwht}5. ${txtwht} euro.aprs2.net:14580 ${txtrst}"
    echo -e "${bldwht}6. ${txtwht} rotate.aprs.net :14580${txtrst}"
    echo -e "${bldwht}7. ${txtwht} first.aprs.net:10152${txtrst}"
    echo -e "${bldwht}8. ${txtwht} second.aprs.net:10152${txtrst}"
    echo -e "${bldwht}9. ${txtwht} third.aprs.net:10152${txtrst}"
    echo
    echo -e "${bldred}_,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.-'~'-.,_${txtrst}"
    echo
    echo -e "${bldwht}Enter your selection (ex. 9): ${txtrst}"
    echo
    read nos
   
case $nos in
    1)    server="sv2hrt.dyndns.org"
        port="14578"
        ;;
    2)    server="sv2hrt.dyndns.org"
        port="2323"
        ;;
    3)    server="sv2hrt.dyndns.org"
        port="1314"
        ;;
    4)    server="greece.aprs2.net"
        port="14580"
        ;;
    5)    server="euro.aprs2.net"
        port="14580"
        ;;
    6)    server="rotate.aprs.net"
        port="14580"
        ;;
    7)    server="first.aprs.net"
        port="10152"
        ;;
    8)    server="second.aprs.net"
        port="10152"
        ;;
    9)    server="third.aprs.net"
        port="10152"
        ;;
    *)    echo "Invalid selection. Try again."
        exit;;
esac
   
}

function create_script () {
    echo "#!/usr/bin/expect" > ./aprsconnect.sh
    echo "spawn nc $server $port" >> ./aprsconnect.sh
    echo "expect {" >> ./aprsconnect.sh
    echo "        -re \".*APRS.*\" { send \"user $user pass $pass vers testsoftware 1.0_05 filter r/$lat/$lon/$range\r\" }" >> ./aprsconnect.sh
    echo "        -re \".*aprs.*\" { send \"user $user pass $pass vers testsoftware 1.0_05 filter r/$lat/$lon/$range\r\" }" >> ./aprsconnect.sh
    echo "}" >> ./aprsconnect.sh
    echo "interact" >> ./aprsconnect.sh
    chmod +x ./aprsconnect.sh
}

# Display usage if no parameters given
if [[ -z "$@" ]]; then
    choose_server
fi
if [ $1 == "--help" ]; then
    clear
    echo -e "${bldylw}BASH APRS Reader${txtrst}"
    echo
    echo -e "${bldgrn}Usage:${txtrst}"
    echo
    echo -e "${bldwht}./aprs.sh --help : ${txtwht}Shows this screen${txtrst}"
    echo -e "${bldwht}./aprs.sh <server> <port> : ${txtwht}Connects to giver server, with default params${txtrst}"
    echo -e "${bldwht}./aprs.sh <server> <port> <lat> <lon> <range> <user> <pass>: ${txtwht}Connects to server, with given filter/params${txtrst}"
    echo
    exit 0
fi

create_script
./aprsconnect.sh
rm -f ./aprsconnect.sh
exit 0

O χειμώνας έρχεται...
Γνώσεις ⇛ Linux: Μέτριο │ Προγραμματισμός: Ναι (Delphi/Lazarus) │ Αγγλικά: Καλά
Λειτουργικό : Ubuntu 14.04 σε Acer Aspire 5520
Προδιαγραφές ⇛ AMD Turion 1.8GHz │ 1GB │ ATI X700 │ Broadcom BCM4318 │LCD 15.4"
Άβαταρ μέλους
xqtr
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 506
Εγγραφή: 05 Φεβ 2009, 19:00
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό matthew » 03 Μαρ 2015, 19:23

Έτρεξα το script αλλά βγάζει σφάλμα. Εκτελώντας το στο τερματικό, όποια επιλογή & να διαλέξω από τις 9 διαθέσιμες που έχει, βγάζει αυτό:

Κώδικας: Επιλογή όλων
matt@pc:~$ ./aprs

        Choose Server to connect...

For more servers check: http://aprs2.net/APRServe2.txt

_,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.-'~'-.,_

1.  sv2hrt.dyndns.org:14578    - Greece
2.  sv2hrt.dyndns.org:2323    -    >>    Weather
3.  sv2hrt.dyndns.org:1314    -    >>    Messages
4.  greece.aprs2.net:14580    - Greece
5.  euro.aprs2.net:14580
6.  rotate.aprs.net :14580
7.  first.aprs.net:10152
8.  second.aprs.net:10152
9.  third.aprs.net:10152

_,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.-'~'-.,_

Enter your selection (ex. 9):

1
./aprs: line 123: [: ==: unary operator expected
./aprs: ./aprsconnect.sh: /usr/bin/expect: bad interpreter: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος

:think: Δε ξέρω, ίσως κάνω κάτι λάθος; :eh:
Γνώσεις Linux: Βασικές ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Ubuntu Mate 20.04 64-bit σε Fujitsu Amilo Xi3670 & HP Compaq 6910p
Άβαταρ μέλους
matthew
saintTUX
saintTUX
 
Δημοσιεύσεις: 1320
Εγγραφή: 25 Αύγ 2008, 01:35
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό xqtr » 03 Μαρ 2015, 19:33

Θελει να εγκαταστησεις το πακετο expect (sudo apt-get install expect)... Δικη μου παραλειψη... :(
O χειμώνας έρχεται...
Γνώσεις ⇛ Linux: Μέτριο │ Προγραμματισμός: Ναι (Delphi/Lazarus) │ Αγγλικά: Καλά
Λειτουργικό : Ubuntu 14.04 σε Acer Aspire 5520
Προδιαγραφές ⇛ AMD Turion 1.8GHz │ 1GB │ ATI X700 │ Broadcom BCM4318 │LCD 15.4"
Άβαταρ μέλους
xqtr
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 506
Εγγραφή: 05 Φεβ 2009, 19:00
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό matthew » 03 Μαρ 2015, 20:15

8-) Ωραία! Δουλεύει μια χαρά τώρα! :thumbup: Thanks! :clap:
Γνώσεις Linux: Βασικές ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Ubuntu Mate 20.04 64-bit σε Fujitsu Amilo Xi3670 & HP Compaq 6910p
Άβαταρ μέλους
matthew
saintTUX
saintTUX
 
Δημοσιεύσεις: 1320
Εγγραφή: 25 Αύγ 2008, 01:35
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό the_eye » 04 Μαρ 2015, 03:14

Και μια που ανοίξατε το θέμα. Γνωρίζετε πώς γίνετε η ανάγνωση των συντεταγμένων σε compressed mic-e aprs ;
Γιατί εδώ δεν βγαίνει άκρη http://www.tapr.org/kits_mic-e.html#message_format

πχ
Κώδικας: Επιλογή όλων
fm SV2JPO-0 to TPQW73-0 via SV2CJB-0,WIDE2-2,GATE-0 UI  pid=F0
'1K"l .-/>
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11672
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό matthew » 04 Μαρ 2015, 17:17

Για το mic-e aprs δε ξέρω, δεν έχω ασχοληθεί με το aprs γιατί δεν έχω μηχάνημα που να υποστηρίζει aprs. Αλλά στο link που έδωσες, στο overview γράφει για τις συντεταγμένες:
Latitude & Longitude in degrees, minutes, and hundredths of minutes. Γεωγραφικό Πλάτος & Γεωγραφικό Μήκος σε μοίρες, λεπτά, & εκατοστά του λεπτού της μοίρας.
& στο script του xqtr έτσι δίνουν τις συντεταγμένες στίγματος εκπομπής, όπως φαίνεται σε μερικά αποσπάσματα από το τερματικό παρακάτω. Τα χρωματιστά νούμερα αντιστοιχούν, από την αρχή σε μοίρες, λεπτά & εκατοστά του λεπτού & ακολουθεί η κατεύθυνση (N ή S & E ή W).

SV2HRT-15>APWW10,TCPIP*,qAC,HellasNet::BLN0 :http://sv2hrt.ath.cx/cgi-bin/spider.cgi
J44VAA>APNU19,WIDE2-1,qAR,SV4FFB-1:!3926.24N\02302.73E#PHG3650/RAAG APRS DIGIPEATER-new wide-n.
SV6EXB-6>APU25N,TCPIP*,qAS,SV6EXB-1:@041147z3936.49N/02052.90E_277/000g000t046r000p000P000h79b09542http://sv6exb.dyndns.org {UIV32N}
SV7GX-2>APU25N,TCPIP*,qAC,SV7GX-2:@041147z4055.56N/02423.26E_135/000g003t062r000p017P017h40b10220/wx report from KAVALA {UIV32}

Πχ, παραπάνω, στην πρώτη εκπομπή στις πληροφορίες το στίγμα είναι 39 μοίρες, 26 λεπτά & 24 εκατοστά του λεπτού βόρεια, και 23 μοίρες, 2 λεπτά & 73 εκατοστά του λεπτού ανατολικά.
Σε αντίθεση με την αερο-ναυσιπλοΐα, στους ραδιοερασιτέχνες στο στίγμα πάντα δίνεται πρώτα το ΓΠ (βόρεια (N) ή νότια (S) & οι μοίρες δίνονται σε διψήφιο αριθμό 00-90°) & μετά το ΓΜ (ανατολικά (E) ή δυτικά (W) & οι μοίρες δίνονται σε τριψήφιο αριθμό 000-180°).
Γνώσεις Linux: Βασικές ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Ubuntu Mate 20.04 64-bit σε Fujitsu Amilo Xi3670 & HP Compaq 6910p
Άβαταρ μέλους
matthew
saintTUX
saintTUX
 
Δημοσιεύσεις: 1320
Εγγραφή: 25 Αύγ 2008, 01:35
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό xqtr » 04 Μαρ 2015, 17:57

@the-eye: Κοιτωντας το link που εδωσες... πιο πολυ μπερδευτηκα, παρα εβγαλα ακρη. Δεν αναφερει ξεκαθαρα το φορματ του πακετου. Ισως απο καποια αλλη πηγη; Επισης εχω βρει και αυτο, αλλα δεν το εχω εξερευνησει και πολυ. Υπαρχει script που αναφερει συγκεκριμενα τα mic πακετα. Δες εδω: https://code.google.com/p/pyaprs/source/browse/trunk/

Επισης ξεχασα να αναφερω οτι στο παραπανω script, δινεται filter στον server, ωστε να περνα μονο τα εντος Ελλαδας μυνηματα. Αν θελετε για αλλη περιοχη ή πιο ευρεια περιοχη, θα πρεπει να αλλαξετε το φιλτρο.
O χειμώνας έρχεται...
Γνώσεις ⇛ Linux: Μέτριο │ Προγραμματισμός: Ναι (Delphi/Lazarus) │ Αγγλικά: Καλά
Λειτουργικό : Ubuntu 14.04 σε Acer Aspire 5520
Προδιαγραφές ⇛ AMD Turion 1.8GHz │ 1GB │ ATI X700 │ Broadcom BCM4318 │LCD 15.4"
Άβαταρ μέλους
xqtr
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 506
Εγγραφή: 05 Φεβ 2009, 19:00
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό pc_magas » 04 Μαρ 2015, 19:15

Παίδες μια διευκρινιστική ερώτηση τι είναι APRS (με δικά σας λόγια και όχι ένα link από Wikipedia)
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2598
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό the_eye » 04 Μαρ 2015, 20:40

@matthew
Αυτά τα πακέτα έχουν την πληροφορία ασυμπίεστη, οπότε διαβάζεται άμεσα.
@xqtr
Εγώ να δεις τι παίδεμα έχω φάει. Έχω καταλήξει ότι στο :
Κώδικας: Επιλογή όλων
fm SV2JPO-0 to TPQW73-0 via SV2CJB-0,WIDE2-2,GATE-0 UI  pid=F0
'1K"l .-/>

Οι συντεταγμένες είναι εδώ Latitude:
Κώδικας: Επιλογή όλων
TPQW73

και εδώ Longtitude
Κώδικας: Επιλογή όλων
'1K"l .-/>


Για τις πρώτες δεν είμαι τόσο σίγουρος και δεν κατάφερα κάτι για τις διαβάσω. Την δεύτερη οκ.

@pc_magas
To APRS είναι ένα πρωτόκολλο που μεταδίδει σε ραδιοσυχνότητα το στίγμα του εκπομπού μαζί με κάποιες επιπλέον πληροφορίες. Χρησιμοποιείτε από ραδιοερασιτέχνες.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11672
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Script για αναγνωση APRS μυνηματων απο το Internet

Δημοσίευσηαπό xqtr » 04 Μαρ 2015, 21:14

Και αυτο ειναι ενα script για data mining. Προς το παρον βρισκει: Καιρο, Callsign, συντεταγμενες, links/email, τηλεφωνα.

Aν ξερει καποιος αλλος, αλλες πληροφοριες που μπορει να εχει το πακετο, ας κανει μια αναρτηση.
Κώδικας: Επιλογή όλων
#!/bin/bash
       
#title           : APRS packet logger
#description     :
#author          : xqtr
#date            : 10/02/2015
#version         : 1.0
#usage          : ./aprslog.sh <logfile>
#notes           :

# Text color variables
txtred='\e[0;31m' # red
txtgrn='\e[0;32m' # green
txtylw='\e[0;33m' # yellow
txtblu='\e[0;34m' # blue
txtpur='\e[0;35m' # purple
txtcyn='\e[0;36m' # cyan
txtwht='\e[0;37m' # white
bldred='\e[1;31m' # red - Bold
bldgrn='\e[1;32m' # green
bldylw='\e[1;33m' # yellow
bldblu='\e[1;34m' # blue
bldpur='\e[1;35m' # purple
bldcyn='\e[1;36m' # cyan
bldwht='\e[1;37m' # white
txtund=$(tput sgr 0 1) # Underline
txtbld=$(tput bold) # Bold
txtrst='\e[0m' # Text reset

# Feedback indicators
#info=${bldwht}*${txtrst}
#pass=${bldblu}*${txtrst}
#warn=${bldred}!${txtrst}

# Indicator usage
#echo -e "${info} "
#echo -e "${pass} "
#echo -e "${warn} "

IFS=$'\n' 
for line in $(cat $1)
do
echo "===================================================================="
echo -e "${txtrst}Packet: ${txtylw}$line"
echo "--------------------------------------------------------------------"
callf=$(echo ${line} | grep -E -oh "[sSjJ][vVyY][0-9][a-zA-Z]{1,3}-?([0-9]|[a-z]|[A-Z])?" | head -1)
if [ "$callf" != "" ]; then
   tmp=$(echo ${line} | sed 's/"${callf}"/ /g')
   echo -e "${txtrst}Callsign: ${bldcyn}$callf"
fi
#tmp=$(echo $line | sed "s/$callf//g")
mail=$(echo $line | grep -E -oh "\w+@[a-zA-Z_]+?\.[a-zA-Z]{1,3}")
if [ "$mail" != "" ]; then
   tmp=$(echo ${tmp} | sed 's/"${mail}"/ /g')
   echo -e "${txtrst}Email: ${bldred}$mail"
fi

timer=$(echo $line | grep -E -oh "(\@|\*)?[0-3][0-9][0-2][0-9][0-5][0-9]z")
if [ "$timer" != "" ]; then
   tmp=$(echo ${tmp} | sed 's/"${timer}"/ /g')
   echo -e "${txtrst}Date: ${bldwht}${timer:1:2}"
   echo -e "${txtrst}Time: ${bldred}${timer:3:2}:${timer:5:3} Zulu Time"
fi
timer=$(echo $line | grep -E -oh "(\@|\*)?[0-3][0-9][0-2][0-9][0-5][0-9]\/")
if [ "$timer" != "" ]; then
   tmp=$(echo ${tmp} | sed 's/"${timer}"/ /g')
   echo -e "${txtrst}Date: ${bldwht}${timer:1:2}"
   echo -e "${txtrst}Time: ${bldred}${timer:3:2}:${timer:5:3} Local Time"
fi
timer=$(echo $line | grep -E -oh "(\@|\*)?[0-2][0-9][0-5][0-9][0-5][0-9]h")
if [ "$timer" != "" ]; then
   tmp=$(echo ${tmp} | sed 's/"${timer}"/ /g')
   #echo -e "${txtrst}Date: ${bldwht}${timer:1:2}"
   echo -e "${txtrst}Time: ${bldred}${timer:1:2}:${timer:3:2}:${timer:5:2} Local Time"
fi

freq=$(echo $line | grep -E -oh "[0-9]{1,9}\.[0-9]{2,5}[MmHhZz]{2,3}")
if [ -n "$freq" ]; then
   tmp=$(echo $tmp | sed 's/"$freq"/ /g')
   echo -e "${txtrst}Freq: ${bldgrn}$freq"
fi
#tmp=$(echo $tmp | sed "s/$freq/ /g")
phone=$(echo $line | grep -E -oh "[26][0-9]{9}|[26][0-9]{2,4}[-| ][0-9]{5,7}")
if [ -n "$phone" ]; then
   tmp=$(echo $tmp | sed 's/"$phone"/ /g')
   echo -e "${txtrst}Phone: ${bldylw}$phone"
fi
#tmp=$(echo $tmp | sed "s/$phone//g")
coord=$(echo $line | grep -E -oh "[0-9]{4,5}\.[0-9]{2}[NnEewWsS][NnEewWsS]?")
if [ -n "$coord" ]; then
   tmp=$(echo $tmp | sed 's/"$coord"/ /g')
   echo -e "${txtrst}Coords: ${bldblu}$coord"
fi
#tmp=$(echo $tmp | sed "s/$coord//g")
http=$(echo $line | grep -E -oh "(www|mailto\:|(news|(ht|f)tp(s?))\://)(([^[:space:]]+)|([^[:space:]]+)( #([^#]+)#)?)")
if [ -n "$http" ]; then
   tmp=$(echo $tmp | sed 's/"$http"/ /g')
   echo -e "${txtrst}Website: ${bldwht}$http"
fi

#weather packet
#_112/001g002t052h45b10224OWW
weather=$(echo $line | grep -E -oh "_[0-3][0-9][0-9]/[0-9]{3}g[0-9]{3}t[0-9]{3}(r[0-9]{3})?(p[0-9]{3})?(P[0-9]{3})?(h[0-9]{2})?(b[0-9]{5})?(h[0-9]{2})?")
if [ -n "$weather" ]; then
   tmp=$(echo $tmp | sed 's/"$weather"/ /g')
   echo -e "${txtrst}Weather:"
   echo -e "   ${txtrst}Wind Direction : ${bldwht}$(echo $weather | grep -E -oh "_[0-3][0-9][0-9]") degrees"
   speed=$(echo $weather | grep -E -oh "/[0-9]{3}")
   speed=${speed:1:3}
   speed=$(echo "$speed * 1.60934" | bc)
   echo -e "   ${txtrst}Wind Speed: ${bldwht}$speed kph"
   wspeed=$(echo $weather | grep -E -oh "g[0-9]{3}")
   wspeed=${speed:1:3}
   wspeed=$(echo "$speed * 1.60934" | bc)
   echo -e "   ${txtrst}Max. Wind Gust: ${bldwht}$wspeed kph"
   temp=$(echo $weather | grep -E -oh "t[0-9]{3}")
   temp=${temp:1:3}
   temp=$(echo "($temp - 32) * 0.55" | bc)
   echo -e "   ${txtrst}Temp.: ${bldwht}$temp Celsius"
   echo -e "   ${txtrst}Rain: ${bldwht}$(echo $weather | grep -E -oh "r[0-9]{3}") inch/100 (Last Hour)"
   echo -e "   ${txtrst}Rain: ${bldwht}$(echo $weather | grep -E -oh "p[0-9]{3}") inch/100 (24 Hours)"
   echo -e "   ${txtrst}Rain: ${bldwht}$(echo $weather | grep -E -oh "P[0-9]{3}") inch/100 {Since Midnight)"
   echo -e "   ${txtrst}Humidity: ${bldwht}$(echo $weather | grep -E -oh "h[0-9]{2}") %"
   echo -e "   ${txtrst}Barometer: ${bldwht}$(echo $weather | grep -E -oh "b[0-9]{5}") mb/10"
fi

#tmp=$(echo $tmp | sed "s/$http//g")
#echo "--------------------"
echo -e "${txtrst}"
#echo -e "${bldcyn}$callf   -=   ${bldwht}$http ${bldred}$mail ${bldgrn}$freq ${bldylw}$phone ${bldblu}$coord${txtrst}"
echo "===================================================================="
echo
echo
done
unset IFS
exit 0
O χειμώνας έρχεται...
Γνώσεις ⇛ Linux: Μέτριο │ Προγραμματισμός: Ναι (Delphi/Lazarus) │ Αγγλικά: Καλά
Λειτουργικό : Ubuntu 14.04 σε Acer Aspire 5520
Προδιαγραφές ⇛ AMD Turion 1.8GHz │ 1GB │ ATI X700 │ Broadcom BCM4318 │LCD 15.4"
Άβαταρ μέλους
xqtr
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 506
Εγγραφή: 05 Φεβ 2009, 19:00
Εκτύπωση

Επόμενο

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Εφαρμογές Άλλες-Διάφορες