«

»

Srp 05 2013

Print this Příspěvek

Odesílání meteorologických dat z PYWSS do APRS

  Připravuji meteorologickou stanici pro hrad Radyně. Jako nejvhodnější řešení se jeví použití poloprofesionální meteorologické stanice se spojení s počítačem raspberry. Díky této konfiguraci je možné odesílat data do sítě APRS a vytvářet šablony webu meteostanice. Jenotlivé stránky jsou na web přenášeny pomocí prookolu FTP.
Meteostanice je k raspberry připojena pomocí USB a k ovádání slouží program PYWWS. Z balíku programů je využívám program LiveLog.py, který je spuštěný pomocí tohoto příkazu:

sudo python Livelog.py -vvv ~/weather

~/weather je složka do které jsou ukládány data z meteostanice nachází se zde šablony jednotlivých stránek a grafů. v této složce se nachází soubor weather.ini, který slouží k nastavení progamu pywws.
V soboru weather.ini provedeme následující nastavení:

[live]
underground = []
twitter = []
text = [1hrs.txt]
plot = []

poté vytvoříme šablonu souboru 1hrs.txt. šablona vypadá následovně:

#wind_dir "%03d"#/#wind_ave "%03d" "" "x * 3.6 / 1.609344"#g#wind_gust "%03d" "" "x * 3.6 / 1.609344"#t#temp_out "%03d" "" "(1.8 * x) + 32"#r#rain "%03d" "" "(x / 10) * 0.3937"#P...L...h#hum_out#b#rel_pressure "%.0f" "" "x * 10"#Rasbperry Radyne

Program LiveLog.py vytvoří na základě šablony následující textový soubor:

008/000g001t059r000P...L...hb8145Rasbperry Radyne

Takto připravený texttový soubor zle zpracovat skriptem v pythonu a odeslat jej do APRS.
Skript je uložený jako open_txt.py

#Python script for sending messages to APRS. OK5TVR - Tomas Vlas
import socket
import sys
import time

n = 1
while n < 100:
     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     server_address=('czech.aprs2.net',14587) #adresa a port APRS serveru
     #sock.bind(server_address)

     print sys.stderr, 'conection %s port %s' % server_address
     mes = ""
     sock.connect(server_address)
     sock.sendall(mes)
     mes = "user OK9TVR-15 pass xxxxx" + chr(10) #xxxxx - heslo do APRS
     sock.sendall(mes)
     f=open("/home/pi/weather/ftp/1hrs.txt","r") #adresa souboru ze které jsou čtena data
     string=str(f.read())
     print string
     mes = "OK9TVR-15>APU25N,TCPIP*:!4940.70N/01327.70E_"+ string + chr(10)
    sock.sendall(mes)

    sock.close()
    print "odelano, cekam 12 minut, n=" + str(n)
    time.sleep(720)
    n = n + 1
print "konec " + str(n)

Program běží ve smyčce, která se ukončí po 100 cyklech, pokud chceme aby program běžel jako nekonečná smyčka je nutné změnit proměnou n za jinou díky tomu nebude nikdy podmínka splněna a cyklus bude neustále pokračovat.

n = 1
while n < 100:

Pokud se nastaví spouštění obou programu po startu raspberry vznikne aktomatická meřící stanice. Pro odesílání do jiných služeb. odesílání webu na FTP server, zle využít přímo moduly z programu pywws.

Šablona souboru 1hrs.txt (1hrs)

Pakety odeslané do APRS

Pakety odeslané do APRS

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Permanent link to this article: http://www.ok5tvr.cz/?p=694

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Můžete použít tyto HTML tagy a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Nevíte, jak získat certifikace ISO - TÜV NORD