Goto page Previous 1, 2
Adam Dybkowski
Guest
Tue Sep 13, 2011 9:08 pm
W dniu 2011-09-12 22:29 Adam Dybkowski napisał(a):
Quote:
http://sp9uob.verox.pl/moc.png
O, czym tak ładnie mierzysz?
Licznikiem z wyjściem 1 imp/Wh - LE01d
I co dalej? Jakiś AVR + router wifi?
Pic + USB + ALiX z linuxem (ale zamiast alixa robi się pic z ethernetem)
Ja mam w mieszkaniu LE-01 (wersję mechaniczną) i na razie tylko
podczepiłem AVRa z wyświetlaczami LED.
BTW: Jeszcze jedno pytanie odnośnie organizacji bazy danych: logujesz
każdy impuls (czyli np. dokładny czas między impulsami) czy raczej czas
między impulsami przeliczony na waty (logowany np. co 10 sekund;
oczywiście wartość zmieniać się będzie rzadziej przy małych mocach), czy
jeszcze inaczej? Nie chciałbym przeciążać bazy zbędnymi danymi, ale z
drugiej strony nie chcę tracić zbytnio informacji (logując tylko np.
uśrednioną moc co minutę).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Adam Dybkowski
Guest
Wed Sep 14, 2011 9:41 pm
W dniu 2011-09-14 22:59 Verox napisał(a):
Quote:
BTW: Jeszcze jedno pytanie odnośnie organizacji bazy danych: logujesz
każdy impuls (czyli np. dokładny czas między impulsami) czy raczej czas
między impulsami przeliczony na waty (logowany np. co 10 sekund;
oczywiście wartość zmieniać się będzie rzadziej przy małych mocach), czy
jeszcze inaczej? Nie chciałbym przeciążać bazy zbędnymi danymi, ale z
drugiej strony nie chcę tracić zbytnio informacji (logując tylko np.
uśrednioną moc co minutę).
Loguję moc chwilową co 20 sek - liczoną z czasu między impulsami.
Dzięki. A gdy jest pobierana duża moc i impulsy lecą co kilka sekund -
co bierzesz pod uwagę? Czas między dwoma ostatnimi czy uśredniony?
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Verox
Guest
Wed Sep 14, 2011 10:59 pm
On Tue, 13 Sep 2011 23:08:40 +0200, Adam Dybkowski napisał:
Quote:
W dniu 2011-09-12 22:29 Adam Dybkowski napisał(a):
http://sp9uob.verox.pl/moc.png
O, czym tak ładnie mierzysz?
Licznikiem z wyjściem 1 imp/Wh - LE01d
I co dalej? Jakiś AVR + router wifi?
Pic + USB + ALiX z linuxem (ale zamiast alixa robi się pic z ethernetem)
Ja mam w mieszkaniu LE-01 (wersję mechaniczną) i na razie tylko
podczepiłem AVRa z wyświetlaczami LED.
BTW: Jeszcze jedno pytanie odnośnie organizacji bazy danych: logujesz
każdy impuls (czyli np. dokładny czas między impulsami) czy raczej czas
między impulsami przeliczony na waty (logowany np. co 10 sekund;
oczywiście wartość zmieniać się będzie rzadziej przy małych mocach), czy
jeszcze inaczej? Nie chciałbym przeciążać bazy zbędnymi danymi, ale z
drugiej strony nie chcę tracić zbytnio informacji (logując tylko np.
uśrednioną moc co minutę).
Loguję moc chwilową co 20 sek - liczoną z czasu między impulsami.
--
#begin 755 signature.exe
[tomek <at> sikornik <dot> net] vy 73! de SP9UOB
Proud to be 100 percent microsoft free. op. Tomek
Marcin Wasilewski
Guest
Wed Sep 14, 2011 11:15 pm
Użytkownik "Verox" <antispam_verox@bijspamera.veroxsystems.com> napisał w
wiadomości news:slrnj725ec.bkv.antispam_verox@trinity.sikornik.net...
Quote:
Loguję moc chwilową co 20 sek - liczoną z czasu między impulsami.
W warunkach mieszkania dość drogie (pod względem zasobów) rozwiązanie.
Starałem się gruntownie przemyśleć te problem i w zależności od
zadawalającej nas rozdzielczości można zliczać impulsy w przedziałach 10, 5,
czy też 3 minutowych. Jeśli interesuje nas wyższa
rozdzielczość to sensowniej jest od czasu bazowego zapisywać odstępy
pomiędzy impulsami w sek.
W ten sposób jesteśmy w stanie odtworzyć nie tylko chwilowe zużycie, ale też
wszelkie możliwe
dane (nie tracimy żadnych danych).
Ponieważ swój projekt dłubię też w AVR , ważne dla mnie było zużycie
pamięci, na razie mam kilka koncepcji:
1) przechowywanie danych nt. odstępu w bajtach (7 bitów danych + bit
przeniesienia), przy czym jeśli odstęp pomiędzy impulsami będzie większy niż
128 sekund, wtedy bity od 8-15 będą w starszym bajcie.
2) kompresja polegająca na tym, że dane trzymamy w 4 bitowych "słowach", a
jeśli wynik się nie mieści to zasada jak wyżej, tzn. przy zapalonym
najwyższym bicie doklejane jest następna 4-bitowe słowo
3) uśrednianie wyniku, np.:
1 -> 1 sek.
2 -> 2 sek.
3 -> 3 sek.
4 -> 4 sek.
5 -> 5-6 sek.
6 -> 7-8 sek.
7 -> 9-11 sek.
8 -> 12-14 sek.
itd. idea jest taka, że zakresy stają się coraz dłuższe, 255 = więcej niż
max. zakres.
Pozwala to zachować dość sporą dokładność i w zasadzie upchnąć dowolny
zakres w bajt, wada jest taka, że dane na osi czasu nam się troszkę
rozjeżdżają i co pewną ilość impulsów należało by walnąć jakiś timestamp z
aktualnym czasem dla synchronizacji.
Moje przemyślenia zmierzały do tego, aby w pamięci 24C1024 upchnąć dane dla
jak najdłuższego okresu.
Michoo
Guest
Thu Sep 15, 2011 5:42 am
W dniu 15.09.2011 01:15, Marcin Wasilewski pisze:
Quote:
Starałem się gruntownie przemyśleć te problem i w zależności od
zadawalającej nas rozdzielczości można zliczać impulsy w przedziałach
10, 5, czy też 3 minutowych. Jeśli interesuje nas wyższa
rozdzielczość to sensowniej jest od czasu bazowego zapisywać odstępy
pomiędzy impulsami w sek.
W ten sposób jesteśmy w stanie odtworzyć nie tylko chwilowe zużycie, ale
też wszelkie możliwe
dane (nie tracimy żadnych danych).
Ponieważ swój projekt dłubię też w AVR , ważne dla mnie było zużycie
pamięci, na razie mam kilka koncepcji:
A może coś takiego?
http://en.wikipedia.org/wiki/RRDtool
Trzymasz średnią i maksimum w danym przedziale. Pozwala dość dobrze
pokazać co się działo bez trzymania nadmiaru danych.
--
Pozdrawiam
Michoo
Adam Dybkowski
Guest
Thu Sep 15, 2011 8:09 pm
W dniu 2011-09-15 01:15 Marcin Wasilewski napisał(a):
Quote:
Starałem się gruntownie przemyśleć te problem i w zależności od
zadawalającej nas rozdzielczości można zliczać impulsy w przedziałach
10, 5, czy też 3 minutowych. Jeśli interesuje nas wyższa
rozdzielczość to sensowniej jest od czasu bazowego zapisywać odstępy
pomiędzy impulsami w sek.
W ten sposób jesteśmy w stanie odtworzyć nie tylko chwilowe zużycie, ale
też wszelkie możliwe
dane (nie tracimy żadnych danych).
Nie stracisz żadnych danych logując po prostu czas odstępu od ostatniego
impulsu (po odebraniu każdego impulsu), wystarczy z rozdzielczością 1
ms. 3 bajty na impuls.
Quote:
Ponieważ swój projekt dłubię też w AVR , ważne dla mnie było zużycie
pamięci, na razie mam kilka koncepcji:
[...]
Co Ty chcesz robić z tymi danymi offline? Przychodzić z laptopem i je
zbierać przez kabelek?
I dlaczego właściwie wszystko zbierać tylko offline? Łącz się chociaż co
jakiś czas z internetem, prościutki skrypt PHP + MySQL załatwi sprawę.
Wg mnie najprostszy do użycia i w miarę tani jest Ethernet Shield (ten
od Arduino - nawet jeżeli zamiast samego Arduino masz swoją płytkę z AVRem).
Quote:
Moje przemyślenia zmierzały do tego, aby w pamięci 24C1024 upchnąć dane
dla jak najdłuższego okresu.
Zamiast pamięci EEPROM zastosuj kartę microSD. Najmniejszą w sklepie 2GB
dostaniesz za może 20 zł. A pojemności ma tyle, że nagrasz spoooro.
Komunikacja z AVRem trywialna przez SPI.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Goto page Previous 1, 2