-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Odłączony PMS - nie działa wysyłanie, usypianie ... #43
Comments
Jaka wersja oprogramowania? Wysyłanie do Thingspeak jest tutaj - Lines 511 to 516 in c786655
sam kod odpowiedzialny za Thingspeak tu - https://github.com/hackerspace-silesia/Smogomierz/blob/master/src/thing_speak.cpp Jeśli w konfiguracji mamy wybrane brak miernika PM2.5/PM10 to nie wysyła danych danych PM2.5 i PM10. Przy wybranym ale odłączonym może nie wysyłać również(choć nie wiem, nie sprawdzałem), ale to prawidłowe zachowanie. Po co wysyłać dane PM skoro się ich nie mierzy. |
Wersja oczywiście aktualna. Z przedstawionego fragmentu kodu raczej nie wynika brak usypiania i wysyłania danych, gdy czujnik ma awarię. |
Po weekendzie to sprawdzę. Nie ma w kodzie sprawdzania poprawności danych z Miernika PM2.5/10. Nie da się za bardzo tego zrobić, bo tutaj albo dostaje się dane z UART albo nie. Gdy ich nie ma to wartości PM wynoszą 0 i nie są zmieniane. Takie powinny być wysyłane do serwisów zewnętrznych przy włączonym w Konfiguracji, ale nie podłączonym mierniku PM. |
Nie ma to nie ma, zbędna rzecz, pytanie dlaczego nie działa jak nie ma czujnika. |
Problem nie leży w wysyłaniu, tylko pobieraniu danych z PMS. W tym miejscu się zatrzymuje przy wypięciu miernika PM(odpinam GND od PMS): Lines 748 to 750 in c786655
Po ponownym podłączeniu idzie dalej. Dlatego nie wysyła danych, bo "zawiesza" się na pobieraniu danych. Przy czym np. interfejs www w tym czasie działa. Pobiera dane z BME280 itp. również. |
Dlaczego www działa a wysyłanie i usypianie nie? |
nie, to kwestia biblioteki do obsługi PMS. Od początku jest taka sama. Nie ma w niej możliwości sprawdzenia czy odbierane dane są poprawne. W przypadku wypięcia kabli dane są niepoprawne i odczyt się zawiesza. W zasadzie to nawet nie tyle zawiesza co pauzuje i czeka aż znowu będą poprawne dane. Możesz podłączyć kabel po kilku minutach i wtedy dokończy serię pomiarów. Muszę albo zmienić bibliotekę albo pomyśleć jak to rozwiązać, żeby wykrywać odłączenie przewodów. |
Mam mały problem. Jak kompiluje u siebie program baz zmian oczywiście to smogomierz się łączy na 1s i rozłącza i tak w kółko. Jak wgram bin`a ze strony to wszystko jest ok. |
Sprawdź z biblioteką płytek esp2866 w wersji 2.5.0. Kilka dni temu na 2.5.1 nie chciało mi się zupełnie skompilować. W wolnej chwili będę to musiał jeszcze raz sprawdzić. Sprawdź też czy masz ustawiony 1MB dla SPIFFS, żeby ESP8266 miało gdzie zapisywać ustawienia. |
Dokładnie 5 min temu na starym kompie zaktualizowałem do 2.5.1 i to samo (nie działa). Chyba coś tam zepsuli. |
@skwaruch właśnie miałem sprawdzić czy kod się kompiluje i okazało się, że jest już nowa biblioteka płytek 2.5.2 i na niej wszystko działa. Chyba to 2.5.1 miało jakieś błędy. https://github.com/esp8266/Arduino/releases |
Tylko po wgraniu kodu skompilowanego na 2.5.2 Smogomierz wpada w jakiś dziwny loop i ciągle się resetuje. Zmienili trochę sposób zapisu danych w pamięci SPIFFS i to powoduje problem. Na 2.5.0 jest jeszcze ok. Żeby działało na 2.5.2 trzeba będzie dodać parę poprawek w kodzie. |
Czym robiliście te schematy elektryczne? |
http://fritzing.org - chyba najbardziej przyjazne schematy dla osób nietechnicznych |
Dodałem swoją funkcję do wyliczania napięcia i zastawiałem się pół dnia dlaczego nie działa mi ja jest DEEP_SLEEP. W końcu wpadłem na to że beznadziejnie jest napisana takeSleepPMMeasurements(). Właściwie jak jest załączony DEEP_SLEEP to pętla główna programu nie działa :/ |
Gdy odłączy się PMS urządzenie nie wysyła danych (THINGSPEAK - te sprawdzałem), urządzenie się nie usypia.
W którym miejscu w kodzie jest taka funkcjonalność zapisana.
The text was updated successfully, but these errors were encountered: