Dzisiaj jest 24 cze 2017, 03:55

Strefa czasowa UTC+1godz. [letni]




Nowy temat Odpowiedz w temacie  [ Posty: 253 ]  Przejdź na stronę Poprzednia  1 ... 6, 7, 8, 9, 10, 11, 12, 13  Następna
Autor Wiadomość
 Tytuł: Re: Stacja Meteo na OWFS
Post: 16 sty 2016, 22:33 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12855
Lokalizacja: Warszawa
Dodaj cyferkę z przodu. Wykres jest z x,y, coś za x musisz podstawić - jak nie datę to numer kolejny próbki.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 16 sty 2016, 22:40 
Offline
Użytkownik

Rejestracja: 7 sty 2016, 14:44
Posty: 66
A czy przechwytując dane po serial porcie komendą cat /dev/ttyACM0 >> /mnt/dysk/meteo/dane.txt & jesteśmy w stanie dodać datę przy każdym przechwyceniu ? Bo jak nie to na początku lini dodam cyfrę 1


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 16 sty 2016, 22:46 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12855
Lokalizacja: Warszawa
Kolejną cyfrę, nie samo 1. Nigdy nie robiłeś wykresu nawet w excelu? Co ci da sama cyfra 1 w każdej próbce?

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 16 sty 2016, 23:22 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 10 kwie 2010, 21:28
Posty: 699
A gdy wywalisz "Serial.println(); // Start a new line." to przy zapisywaniu do pliku jest ok.?
Przeskakuje do kolejnej linii czy nie?

   Serial.print("C");
   
    Serial.println(); // Start a new line.
    delay(1000); // Show new results every second.
  }
}

_________________
WRT160NL, WNDR3700v2 i OpenWRT, Funbox ;), WRT1200AC


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 16 sty 2016, 23:49 
Offline
Użytkownik

Rejestracja: 7 sty 2016, 14:44
Posty: 66
Serial.println(" OK ");
  delay(600000);


TO jest moj jedyny new line w całym dokumencie a robi mi dwie linie a znowu jak go wywalę to wtedy do pliku nic nie zapisuje bo nie ma nic na seria porcie.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 00:05 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 10 kwie 2010, 21:28
Posty: 699
No to na routerze ustaw port np.komendą:

stty -F /dev/ttyACM0 -icrnl


Po tym będziesz zadowolony ;)

_________________
WRT160NL, WNDR3700v2 i OpenWRT, Funbox ;), WRT1200AC


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 00:15 
Offline
Użytkownik

Rejestracja: 7 sty 2016, 14:44
Posty: 66
co to ma mi dać ? bo nie mogę zapotać tej komendy :
root@OpenWrt:/mnt/dysk/meteo# stty -F /dev/ttyACM0 -icrnl
-ash: stty: not found


Doinstalować ten pakiet ?
coreutils-stty 8.23-1 25236 Full version of standard GNU stty utility. Normally, you would not use this package, since the functionality in BusyBox is more than sufficient.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 00:19 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 10 kwie 2010, 21:28
Posty: 699
tak

_________________
WRT160NL, WNDR3700v2 i OpenWRT, Funbox ;), WRT1200AC


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 00:27 
Offline
Użytkownik

Rejestracja: 7 sty 2016, 14:44
Posty: 66
Tytan jesteś wielki :) komenda którą podałeś pomogła i puste linie to już przeszłość :)

A może doradzisz jeszcze jak sobie poradzić z data i godziną w pliku danych ?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 09:47 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 10 kwie 2010, 21:28
Posty: 699
Jak sobie zrobisz tak będzie. Osobiście rekomenduję stosowanie bazy danych zamiast pliku. Tam znaczniki czasu same ci się będą robić.
A co do pliku na pewno da się w skrypcie coś wymyślić.
Albo do arduino doczep sobie jakiś RTC np. http://allegro.pl/modul-czasu-rtc-ds1307-24c32-arduino-avr-pic-i5584053901.html

lub lepiej http://allegro.pl/modul-pomiaru-czasu-rtc-ds3231-24c32-bateria-i5910715494.html

_________________
WRT160NL, WNDR3700v2 i OpenWRT, Funbox ;), WRT1200AC


Ostatnio zmieniony 17 sty 2016, 10:29 przez tytan, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 10:12 
Offline
Użytkownik

Rejestracja: 7 sty 2016, 14:44
Posty: 66
Zanim wszedłem na forum to właśnie rozglądałem się za modułem czasu rzeczywistego :). Powiedz mi proszę jakie są plusy minusy danych w pliku txt a bazy danych prócz daty ? Na bazie nigdy jeszcze nie pracowałem ale nauczyć się to nie problem :) Dodanie do bazy odbywało by się poprzez odczyt ostatniej lini w pliku txt i wysłanie do bazy poprzez tail -1 .


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 10:29 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 10 kwie 2010, 21:28
Posty: 699
Zalety zastosowania bazy:
1. Dane zapisane są jednoznacznie w rekordzie oznaczonym systemowym czasem, nie musisz przy jednym zapisie mieć danych od razu ze wszystkich czujek.
2. W bazie możesz rozwiązać problem gdy z czujki przychodzi pusta wartość.
3. Różne możliwości odczytania danych z zadanego okresu czasu.
4. Możliwość ładowania i odczytu bazy przez sieć.
5. Możliwość modernizacji danych w bazie (konsola lub GUI).
6. Możliwość rozbudowy bazy o kolejne czujki bez psucia danych załadowanych.
7. Możliwość użycia bazy jednocześnie do innych celów niż czujki.

_________________
WRT160NL, WNDR3700v2 i OpenWRT, Funbox ;), WRT1200AC


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 12:57 
Offline
Użytkownik

Rejestracja: 7 sty 2016, 14:44
Posty: 66
Zainstalowałem pakiet sqlite3 i próbuje tworzyć bazę danych w ten sposób:
sqlite3 temp.db "CREATE TABLE IF NOT EXISTS temp(i
d INTEGER PRIMARY KEY AUTOINCREMENT, data TEXT, godz TEXT, C TEXT, TC TEXT, W1 T
EXT, W2 TEXT, TW1 TEXT, TW2 TEXT )"

sqlite3 temp.db "INSERT INTO temp(data, godz, C, T
C, W1, W2, TW1, TW2) values(\"$date\", \"$time\",\"$C\",\"$TC\",\"$W1\",\"$W2\",
\"$TW1\",\"$TW2\");"

czy dobrze to robię ?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 13:06 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 13:13
Posty: 1937
Lokalizacja: Suwałki
@obsy Masz może sampelki tego BME280 ?

_________________
Pozdrawiam, Artur
http://digi-led.pl/blog - Blog


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 13:24 
Offline
Użytkownik

Rejestracja: 9 paź 2014, 20:14
Posty: 48
Sprawa z datą w shellu jest banalnie prosta, u mnie wygląda to tak:
now0=`date +%s`
now1=`date +"%Y-%m-%d %H:%M:%S"`

pierwszy zapis, data w sekundach, można ją później przekonwertować na dowolny zapis, gnuplot automatycznie ją wyświetli na wykresie w takiej formie jaką mu wskażemy,
drugi zapis bardziej standardowy, którego chyba nie trzeba tłumaczyć.
Wystarczy dodać odczyt daty do skryptu i w jednej linii obok danych będzie data odczytu.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 15:17 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12855
Lokalizacja: Warszawa
arteq pisze:
@obsy Masz może sampelki tego BME280 ?

Nie, na ebay widzę że się pojawił.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 15:49 
Offline
Użytkownik

Rejestracja: 7 sty 2016, 14:44
Posty: 66
Mam skrypt który ma utworzyć bazę danych tylko że mam problem z pobraniem danych z pliku dane.txt.Tak wygląda skrypt:
#!/bin/sh
HOME=/mnt/dysk/meteo
#pobierz dane z pliku
dane=$(/mnt/dysk/meteo/dane.txt)

#pobierz datę,czas i dane
 
  date=$(date +%Y-%m-%d)
  time=$(date +%H:%M:%S)
  C=${dane:1:3}
  TC=
  W1=
  W2=
  TW1=
  TW2=
   
#wyswietlenie danych
  echo ""
  echo "======================================="
  echo ""
  echo " data: " $date  " godzina: " $time
  echo " Cisnienie:          " $C
  echo " Temperatura strych:      " $TC
  echo " Wilgotnosc na zewnatrz:   " $W1
  echo " Wilgotność w domu:      " $W2          
  echo " Temperatura na zewnatrz:  " $TW1
  echo " Temperatura w domu:      " $TW2
  echo ""
  echo "======================================="
  echo ""


  #tworzymy baze...
 
  #sqlite3 /mnt/dysk/meteo/dane.db "CREATE TABLE IF NOT EXISTS temp(id INTEGER PRIMARY KEY AUTOINCREMENT, data TEXT, godz TEXT, C TEXT, TC TEXT, W1 TEXT, W2 TEXT, TW1 TEXT, TW2 TEXT)"
 
  #dodajemy rekordy do bazy danych sqlite3
 
  #sqlite3 /mnt/dysk/meteo/dane.db "INSERT INTO temp(data, godz, C, TC, W1, W2, TW1, TW2) values(\"$date\", \"$time\", \"$C\", \"$TC\", \"$W1\", \"$W2\", \"$TW1\", \"$TW2\");"
 


Jak wyjąć z pliku interesujące mnie dane podając nr lini i kolumny ?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 16:05 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12855
Lokalizacja: Warszawa
Na razie to masz tam # i nic się nie robi.

sqlite3 /mnt/dysk/meteo/dane.db 'select * from temp'

I jest to w manualu do sqlite, którego sądząc po pytaniu nawet nie zobaczyłeś...

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 20:23 
Offline
Użytkownik

Rejestracja: 7 sty 2016, 14:44
Posty: 66
Cezary akurat to wiem bo czytałem poradnik sqlite3 bo dodawałem rekordy do bazy z reki i sprawdzałem jak działa ale mi chodzi o początek skryptu gdzie chce odczytać skryptem dane z pliku dane.txt podając linie i kolumnę (ewentualnie sama kolumna) i przypisać do zmiennej np. C=$ poniżej przykład o co mi chodzi bo nie mogę sobie poradzić aby pobrać interesującą wartość :


#!/bin/sh
HOME=/mnt/dysk/meteo
#pobierz dane z pliku
dane=$(/mnt/dysk/meteo/dane.txt)


#pobierz datę,czas i dane

date=$(date +%Y-%m-%d)
time=$(date +%H:%M:%S)
C=${dane:1:3}
TC=
W1=
W2=
TW1=
TW2=

#wyswietlenie danych
echo ""
echo "======================================="
echo ""
echo " data: " $date " godzina: " $time
echo " Cisnienie: " $C
echo " Temperatura strych: " $TC
echo " Wilgotnosc na zewnatrz: " $W1
echo " Wilgotność w domu: " $W2
echo " Temperatura na zewnatrz: " $TW1
echo " Temperatura w domu: " $TW2
echo ""
echo "======================================="
echo ""

Mam nadzieje że teraz dobrze opisałem swój problem :D


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Stacja Meteo na OWFS
Post: 17 sty 2016, 20:32 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12855
Lokalizacja: Warszawa
Bo po prostu masz źle ten skrypt zrobiony. Czytaj plik linia po linii zapisuj do bazy:

while read line;do
echo "Cisnienie: " $(echo $line | cut -fX -dx)
# tu zapis do bazy
done </mnt/dysk/meteo/dane.txt

itd.

Ale - tak w ogóle to przecież datę i czas masz wkładać w momencie otrzymania pomiaru a nie jak już masz plik zapełniony. Czytasz JEDNA linię z portu szeregowego, uzupełniasz o datę o czas i wkładasz to do bazy danych.
Punkt pośredni z plikiem jest zbędny. Możesz sobie zrobić tak żeby arduino wysyłało pomiar na żądanie, czyli wyślij do niego OK a on wyśle ci jedną linię z pomiarami. Wtedy możesz włożyć taki skrypt do crona np. co 1 min. i masz zrobiony cały proces. Pomyśl na tym.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 253 ]  Przejdź na stronę Poprzednia  1 ... 6, 7, 8, 9, 10, 11, 12, 13  Następna

Strefa czasowa UTC+1godz. [letni]


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Przejdź do:  
designed by digi-led.pl
...Copyright © 2010-2013, Ekipa openrouter.info