openrouter.info
http://openrouter.info/forum/

Stacja Meteo na OWFS
http://openrouter.info/forum/viewtopic.php?f=30&t=111
Strona 13 z 13

Autor:  obsy [ 7 sty 2017, 07:21 ]
Tytuł:  Re: Stacja Meteo na OWFS

Jak pisałem - nie. Musisz sam cyklicznie wołać update z danymi które chcesz dołożyć do bazy.

Autor:  kiton [ 7 sty 2017, 08:08 ]
Tytuł:  Re: Stacja Meteo na OWFS

No tak, ale teraz zapisuje się odczytana wartość z czujnika do pliku "odczyt", a następnie na podstawie tego pliku aktualizuje się baza danych. Pewnie można czytać bezpośrednio z czujnika co byłoby lepszym rozwiązaniem.

Autor:  obsy [ 7 sty 2017, 08:16 ]
Tytuł:  Re: Stacja Meteo na OWFS

W tym co zrobiłeś - wartość masz w zmiennej TEMPDOM, nie musisz jej odczytywać z pliku, możesz pod nią podstawić bezpośrednio. Coś w rodzaju TEMPDOM=$(cat /dev/ttyACM0 | grep -m1 "" | sed 's/^[ ]*//')

PS. Skoro już napisałeś coś w arduino to zrób tak żeby dane szły w gotowym formacie, żebyś mie musiał tego seda wołać.

Autor:  kiton [ 22 sty 2017, 17:12 ]
Tytuł:  Re: Stacja Meteo na OWFS

Zrobiłem jak napisałeś i działa. Cezary, naprawdę nie wiesz jak odczytać temperaturę na żądanie?
echo "odczyt" > /dev/ttyACM0
cat /dev/ttyACM0
pod ubuntu działa, pod openwrt nie :| .
Mógłbyś podpowiedzieć jak dodać do bazy rrd odczyty z kilku czujników? Czy grep także będzie dobrym rozwiązaniem?

Autor:  obsy [ 22 sty 2017, 17:51 ]
Tytuł:  Re: Stacja Meteo na OWFS

Musisz mieć zrobioną bazę która będzie umożliwiała trzymanie kilku źródeł. Wiele razy było o tym, przeczytaj np. http://openrouter.info/index.php?option ... &Itemid=61

Autor:  kiton [ 2 lut 2017, 05:26 ]
Tytuł:  Re: Stacja Meteo na OWFS

Bazę dla dwóch źródeł mam zrobioną, nawet odczytuję już z tych źródeł na żądanie. Arduino zwraca pomiary w jednej linii po spacji, po czym enter. Do pełni szczęścia pozostaje wrzucenie tego do bazy.
#!/bin/sh
echo -n "odczyt" > /dev/ttyACM0

RRD=/mnt/sda2/rrd/dane.rrd
TOOL='/usr/bin/rrdtool'
NOW=`date -u +%s`
TEMPDOM=$(grep -m1 "" /dev/ttyACM0 | sed 's/^[ ]*//')
$TOOL update $RRD $NOW:$TEMPDOM;

Tak to wygląda odczyt i zapis jednego źródła, mógłby ktoś podpowiedzieć jak będzie dla dwóch?

Autor:  obsy [ 2 lut 2017, 06:37 ]
Tytuł:  Re: Stacja Meteo na OWFS

Tu masz odczy danych z interfejsu:

TEMPDOM=$(grep -m1 "" /dev/ttyACM0 | sed 's/^[ ]*//')

Nie wiadomo jaki masz format danych, zmień to sobie tak że odczytać dwie dane i były dwie zmienne. Teraz po prostu czeka na koniec liniie i odczytuje to co leci, a pewnie chciałbyś jakoś wiedzieć że pierwszy to pierwszy a drugi to drugi.

Autor:  kiton [ 2 lut 2017, 22:37 ]
Tytuł:  Re: Stacja Meteo na OWFS

Powiedzmy że teraz "odczyt" zwraca:
T0:20.00

lub (przypadek bardziej rozbudowany):
T0:20.00T1:20.10

Jak wyciąć, pominąć znaczniki przed dodaniem do bazy, kombinuję z cut, tail, itp i nic mi nie wychodzi :mrgreen:

Autor:  obsy [ 2 lut 2017, 22:39 ]
Tytuł:  Re: Stacja Meteo na OWFS

W najbardziej prymitywny sposób:
echo "T0:20.00T1:20.10" | cut -f2 -d: | cut -f1 -dT
echo "T0:20.00T1:20.10" | cut -f3 -d:

Autor:  kiton [ 7 lut 2017, 13:46 ]
Tytuł:  Re: Stacja Meteo na OWFS

Zrobiłem tak, że skrypt tworzy mi plik .txt z odczytami. Znaczniki i odczyty rozdzielone takim samym znakiem - łatwiej wyciąć to co niepotrzebne przed zapisem do bazy. Przykładowo:
TEMPDOM=$(cut -f2 -d" " /tmp/wykresy/odczyt.txt | sed 's/^[ ]*//')
Czy jest możliwy bezpośredni zapis do bazy, coś w stylu:
TEMPDOM=$(grep -m1 "" /dev/ttyACM0 | cut -f2 -d" " | sed 's/^[ ]*//')
co akurat nie działa.

Strona 13 z 13 Strefa czasowa UTC+1godz.
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/