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, 08: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, 09: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, 09: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, 18: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, 18: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, 06: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, 07: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, 23: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, 23: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, 14: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.

Autor:  kiton [ 4 mar 2017, 00:46 ]
Tytuł:  Re: Stacja Meteo na OWFS

Czy nie wie ktoś jak zmusić arduino nano V3.0 (ch340) żeby w połączeniu z openwrt zwracał odczyt na żądanie? Odczyt danych wysyłanych na bieżąco działa. Doinstalowałem kmod-usb-serial-ch341.
cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=1a86 ProdID=7523 Rev= 2.54
S:  Product=USB2.0-Serial
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 96mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=02 Driver=ch341
E:  Ad=82(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=1ms

Cezary, mógłbyś podpowiedzieć jaki gotowy format danych z arduino miałeś na myśli, żeby nie musieć seda wołać?

Autor:  obsy [ 4 mar 2017, 07:37 ]
Tytuł:  Re: Stacja Meteo na OWFS

Jak nie chcesz używać seda to zwracaj od razu dane w takiej postaci żebyś nie musiał nic wycinać :)

Ten interfejs działa tak samo - jakieś /dev/ttyUSB0 czy ACM0 pewnie powstało.

Autor:  kiton [ 5 mar 2017, 19:04 ]
Tytuł:  Re: Stacja Meteo na OWFS

Znalazłem odpowiedz: żeby działała dwukierunkowa komunikacja z tym nano trzeba połączyć kondensatorem RST z GND i usunąć z kodu
while(!Serial);
:D

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