Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Wykrywanie wyładowań atmosferycznych
28.08.2011, 00:32
Post: #1
Wykrywanie wyładowań atmosferycznych
No niestety. System który zbudowałem na osobnym routerze ASUSv2 dla pomiarów dokonywanych na poziomie strychu trochę nie zdał egzaminu.
Okazało się, że wersja softu którą wgrałem:
Backfire (10.03.1-rc4, r24045)
pomimo że teoretycznie działa z WiFi to zawiesza się okazjonalnie. Wszystko wskazuje na razie na to, że przyczyną jest właśnie włączone WiFi.
Stąd ostatnie przerwy w statystykach. No cóż radio dzisiaj wyłączyłem i zobaczymy co z tego wyniknie.

Drugą nieprzyjemną niespodziankę sprawiła mi część skryptu odpowiedzialna za zliczanie i zapis danych z czujnika wyładowań atmosferycznych.
Niestety błędy dało się wyłapać dopiero w czasie burzy, więc wcześniejsze dane nie istnieją.
Popełniłem dwa zasadnicze błędy. Zastosowałem obliczenia które jako wynik wystawiały różnicę nowej wartości licznika minus stara wartość a w przypadku wykrycia za dużego skoku zwracały 0.
Następna część skryptu wykonywała się tylko dla wartości >0 co było błędem. W ten sposób stan licznika nie miał szansy się skorygować w przypadku błędnych obliczeń (za duży skok).
Drugi błąd polegał na tym, że zapomniałem wykrywać stany gdy nowa wartość licznika jest mniejsza (tak!) od starej. Taki stan może się pojawić po restarcie routerka bądź magistrali 1-wire.
Włączenie zaś zapisu (i wykonywania reszty obliczeń) zawsze powodowałoby niepotrzebne obciążenie routerka (burze są w końcu przecież stosunkowo rzadko).

Poprawione obliczenia wyglądają tak:
na=`echo "old=$lic ;new=$a ;y=-2 ;if(new>=old)y=new-old ;if(y>1000)y=-1 ;y" |bc`
Gdzie lic - stary stan, a - nowy stan, na - wynik.
Wynik zawiera różnicę między starym zliczaniem a nowym, ale dla błędów zwraca wyniki ujemne - co pozwoliło mi wywoływać resztę procedur i zapis tylko wtedy gdy na jest różne od zera.

Automatyka domowa w oparciu o urządzenia 1-wire.
Domowa Stacja Pogody zrób to sam Shy
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
Odpowiedz 




Użytkownicy przeglądający ten wątek: 1 gości