1 (edytowany przez sq9iwe 2016-03-11 14:48:51)

Temat: Komunikacja terminalowa ze stacja pogody

Witam wszystkich i przepraszam ze moje pierwsze chwile na waszym forum i zaraz pytania ale potrzebna mi pomoc.

Sprawa wyglada tak ze mam zbudowana mini stacje pogody ktora mierzy tylko temperature , cisnienie i wilgotnosc i oparte jest to o adruino ktory po rs232 wysyla to do tp-linka ktory jest na open-wrt a to idzie w swiat a dokladniej na serwer APRS i wszystko dziala jak nalezy ale wpadla mi w rece stacja pogody ktora w prosty sposob mozna odpytac o pomiary jakie wykonuje i sprawa wyglada tak ze chcialem zamianic arduino na ta moja stacje pogody.

Aktualnie to wyglada tak:
rserial=io.open("/dev/ttyATH0","r")
while true do
chaine = nil
while chaine==nil do
--to get and to lose the flush
chaine=rserial:read();rserial:flush()
outstr=os.date("%Y-%m-%d %X", os.time()).." "..string.gsub(chaine,"Sensors: ","Sensors: ")
-- the record file
f = assert(io.open("/tmp/wx.txt", "a"))
f:write(string.gsub(outstr,"Sensors: ","").."\n");
f:close()
end
end
Tu pewnie trzeba pozmianiac tak by po rs232 wyslac komende i poczekac na odpowiedz.
Podstawowa komenda E0<CR> po ktorej mamy zwrot E0;Ta+024.9C;Tp+012.2C;Tw+026.8C;Hr+045.0P;Pa+0980.6H;
Sa+005.1M;Da+156.6D;Ra+00042.24M;Rt+060N;Ri+002.6M;

tutaj opis co jest czym:
E0<CR> Temperature in °C Ta C (Channel 100)
Dew point temperature in °C Tp C (Channel 110)
Wind chill temperature in °C Tw C (Channel 111)
Relative humidity in % Hr P (Channel 200)
Relative air pressure in hPa Pa H (Channel 305)
Wind speed in m/s Sa M (Channel 400)
Wind direction in ° Da D (Channel 500)
Precipitation quantity in mm Ra M (Channel 620)
Precipitation type Rt N (Channel 700)
Precipitation intensity in mm/h Ri M (Channel 820)

a druga czesc troche bardziej skomplikowana bo z pliku wx.txt trzeba wyciagna zmienne.



i do tego trzeba by dodac parametr taki jak opady bo teraz tego nie ma do tego bez wiatru bo stacja tego nie posiada :-( Plus typ opadu bo stacja umie rozpoznac czy pada sneg czy deszcz ale to mozna by dodac do pola comment

Tak to mniej wiecej wyglada.

Pomoze ktos ??
Pozdrawiam.

2

Odp: Komunikacja terminalowa ze stacja pogody

...
chaine = nil
rserial:write("E0")
while chaine==nil do
....

Tak na pierwszy rzut oka, później tylko te cut -fX musisz pozmieniać na odpowiednie, bo format pliku jest inny.

EDIT: +otworzenie /dev/ttyUSB0 czy co tam masz w odpowiednim trybie. Czemu to akurat w lua jest?....

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Komunikacja terminalowa ze stacja pogody

Dlaczego w lua , ze wzgledu na ograniczone miejsce jeden z kolegow tak zrobil bo aktualnie zostalo tylko 304.0K

Odnosnie zmian to napewno ale dla mnie skrypty to czarna magia i zbytnio nie kumam zasady dzialania :-)

Jeden kolega podelala mi cos takiego:

#!/usr/bin/lua

wserial=io.open("/dev/ttyATH0","w")
-- wyslanie stringu "a" via serial
wserial:write("a")
wserial:flush()

rserial=io.open("/dev/ttyATH0","r")

chaine = nil
while chaine==nil do
        chaine=rserial:read();rserial:flush()
-- tu kod jaki chcesz obrabiac dane odebrane z RS -232 w jezyku LUA
-- ....
end

4

Odp: Komunikacja terminalowa ze stacja pogody

No tak, tylko czy tą stację pogodową będziesz miał też do seriala podłączoną czy po usb?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Komunikacja terminalowa ze stacja pogody

do seriala w WR-740N

6

Odp: Komunikacja terminalowa ze stacja pogody

Więc działaj.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Komunikacja terminalowa ze stacja pogody

Tylko jak ??

8

Odp: Komunikacja terminalowa ze stacja pogody

Początek masz, złącz jedno z drugim będziesz miał zapis danych do pliku.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Komunikacja terminalowa ze stacja pogody

Fajnie bylo by wiedziec co za co odpowiada i do czego sluzy :-)

Nawet nie wiem w ktorym miejscu ma byc komenda ktora bede chcial wysylac powiedzmy co minute i jak zrobic zapisywanie do pliku.

10

Odp: Komunikacja terminalowa ze stacja pogody

sq9iwe napisał/a:

Fajnie bylo by wiedziec co za co odpowiada i do czego sluzy :-)

Nawet nie wiem w ktorym miejscu ma byc komenda ktora bede chcial wysylac powiedzmy co minute i jak zrobic zapisywanie do pliku.

No to sobie doczytaj: http://www.lua.org/pil/1.html

11

Odp: Komunikacja terminalowa ze stacja pogody

Tyle to i ja wiem ze moge sobie poczytac tylko po co mi ta cala wiedza na jeden raz ?? raczej nie predko bedzie mi potrzebna taka wiedza dlatego bardziej mi pasuje by ktos poprowadzil za reke ;-)

12

Odp: Komunikacja terminalowa ze stacja pogody

Czyli po prostu szukasz kogoś kto to zrobi za Ciebie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Komunikacja terminalowa ze stacja pogody

Na to zbytnio nie licze