Czujnik ciśnienia atmosferycznego.

Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

QLQ pisze: pt sty 18, 2019 5:33 pm Właśnie rozwiązałęm problem restartu :

Jak nie masz wpisanego :

Kod: Zaznacz cały

cb.get_temperature = NULL
albo go brakuje (do testu wyremowałem) to modół się restartuje. jak ten wpis jest DZIAŁA !!! :)
Dzięki temu mnie olśniło :) i zrozumiałem co robiłem nie tak, albo czego nie dopilnowałem. Można też po prostu wyrugować

Kod: Zaznacz cały

//  SuplaDevice.addDS18B20Thermometer();    // chaneel 1 siła sygnału Wifi

W tym przykładzie ode mnie rejestrowane są trzy kanały i jeden z nich jest do prezentacji RSSI, ale prezentacja sygnału jest na kanale temperatury.
Klasa SuplaDevice posiada chronioną metodę begin_thermometer, której zadaniem jest rozpoczęcie odczytów, dla kanałów temperatury.
Każdy typ kanału ma swojego callbacka, czyli tak naprawdę wskaźnik do adresu jakiejś funkcji zwracającej zmienną określonego typu, do której musimy coś przypisać, chociażby NULL.
Oczywiście jak przypiszemy NULL to na kanale nie zobaczymy żadnych wartości, ale jeśli nie przypiszemy do callbacka nic to wskazuje on na jakiś przypadkowy adres w pamięci naszego esp.
Definicja callbacków w strukturze SuplaDeviceCallbacks tego za nas nie robi, bo nie jest od tego i po stworzeniu obiektu przez konstruktor dla struktury callbackom rezerwowany jest obszar w pamięci, ale obszar ten bez właściwej inicjacji zawierać może przypadkowe śmieci.
Funkcji begin_thermometer, która jest wywołana w pętli dla wszystkich kanałów, sprawdza typ kanału i czy callback przypisany do typu kanału nie jest NULLem.
Callback ma zarezerwowany jakiś obszar w pamięci na którym mogą być jakiś śmieciowe dane, i zatem nie jest NULLem więc program wchodzi do warunku, próbując go wykonać i wtedy klops.
Procek się gubi, dochodzi do stack overflow i reastartu przez watchdoga.
Można by było do konstruktora dopisać i zainicjować callbacki domyślnie NULLem, tylko po co skoro inicjacja już tam jest poprzez przypisanie funkcji supla_arduino_get_callbacks definiowanej w naszym '.ino'.

Po prostu trzeba o tym pamiętać, żeby inicjować używane zmienne. To co zadeklarowane w strukturze SuplaDeviceCallbacks musi być zainicjowane w supla_arduino_get_callbacks i kropka.

Tak to sobie wytłumaczyłem :mrgreen:
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

Tak, tak, nie zaprzeczam bo nie ogarniam.
A tak na serio to masz w 100% rację. Jak w programie będzie zmienna , która gdzieś tam się plącze nieprzypisana będzie spowalnia proces lub wywalać procek.

Ps. Ta siła sygnału wifi jakoś mnie nie kręci. Bardziej interesowało by mnie naładowanie bateri dla urządzeń żeń zasilanych.
jak coś nie działa to włącz zasilanie.....
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

No to jak kolega @lesny8 zaczął to teraz trza dorobić a apce: czujnik wagi - właśnie dodałem do SuplaDevice:
viewtopic.php?f=24&t=4276&p=33759#p33759

Dodam zaraz jeszcze czujnik wiatru i deszczu (przynajmniej te proste jak dla mnie ):

Kod: Zaznacz cały

#define SUPLA_CHANNELTYPE_WINDSENSOR 3042
#define SUPLA_CHANNELTYPE_RAINSENSOR 3048  
Proszę kolegę @pzygmunt o to aby dodać czujnik nasłonecznienia / światła (np BH1750)
jak coś nie działa to włącz zasilanie.....
Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

Wiedziałem, że też tego brakuje dla tych kanałów, ale nie miałem czym mierzyć tych wartości, więc pominąłem. Zastanawiam się teraz jakie miały by być jednostki?
Wiatr w km/h czy m/s? Tu bym dał na pewno wartości całkowite.
Deszcz w mm/H2O czy l/m2? Tu na pewno wartości dziesiętne z podwójną precyzją.
Waga od 1 do 1000 albo 2000 dał bym w gramach a powyżej kg. Wartości całkowite dla gramów i dziesiętne dla kg z podwójną precyzją.

Co Wy na to?

Już zacząłem nieco grzebać w kodzie, tylko trzeba przemyśleć jednostki...
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

QLQ pisze: sob sty 19, 2019 4:14 pm Proszę kolegę @pzygmunt o to aby dodać czujnik nasłonecznienia / światła (np BH1750)
Jak Przemek, będzie następną wersję protokołu wypuszczał, to zapewne tą prośbę uwzględni, a na czym pomiar zrealizujesz to nie ma już znaczenia, bo na serwer pchasz wynik w double.
Właśnie sprawdziłem zamówione przeze mnie ostatnio czujniki BH1750, wyleciały dzisiaj z Chin :D
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

lesny8 pisze: sob sty 19, 2019 9:59 pm Wiedziałem, że też tego brakuje dla tych kanałów, ale nie miałem czym mierzyć tych wartości, więc pominąłem. Zastanawiam się teraz jakie miały by być jednostki?
Wiatr w km/h czy m/s? Tu bym dał na pewno wartości całkowite.
Deszcz w mm/H2O czy l/m2? Tu na pewno wartości dziesiętne z podwójną precyzją.
Waga od 1 do 1000 albo 2000 dał bym w gramach a powyżej kg. Wartości całkowite dla gramów i dziesiętne dla kg z podwójną precyzją.

Co Wy na to?

Już zacząłem nieco grzebać w kodzie, tylko trzeba przemyśleć jednostki...
Prędkość najlepiej w km/h (każdy jeździ autem więc łatwiej to mu sobie wyobrazić). Objętość raczej w m3. Waga w jak piszesz w g a powyżej to w kg. Co do oświetlenia albo.lux albo kandela..
jak coś nie działa to włącz zasilanie.....
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

Zrobiłem z ciekawości WEATHER_STATION. Zajęło mi to chyba z 1.5h . Normalnie pogryzłem klawiaturę i żelazko. Bo zgubiłem literę H w "weather". Taka niby pierdoła w literówce ale mózg ma swoje działania. :x :evil:

Jakie dane mają w niej być uwzględniane? Temp, wilgotność, ciśnienie, wiatr, deszcz, nasłonecznienie..., ?
jak coś nie działa to włącz zasilanie.....
Awatar użytkownika
shimano73
Posty: 1968
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze
Kontakt:

Czy aby to u mnie zadziałało muszę mieć własną malinę czy na publicznym zadziała ?
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
Awatar użytkownika
shimano73
Posty: 1968
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze
Kontakt:

Jeśli mogę wprowadzić swoje uwagi to prędkość wiatru widziałbym m/s bo tak pokazuje większość stacji pogodowych. Zmienna powinna być zmiennoprzecinkowa aby precyzyjniej przedstawiać wynik (np 0.7 m/s - stan z tej chwili :) u mnie )
Do określania kierunku wiatru widziałem produkt który ma wyjście analogowe - właściwie jest szeregową drabinką rezystorową i ośmioma kontaktronami które zwierają pojedyncze oporniki magnesem umieszczonym na łożyskowanym korpusie element dostępny w sklepie ( nie portalach aukcyjnych ) na A..
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

shimano73 pisze: pt sty 25, 2019 9:32 am Czy aby to u mnie zadziałało muszę mieć własną malinę czy na publicznym zadziała ?
Jak najbardziej, zadziała wszedzie.
shimano73 pisze: pt sty 25, 2019 9:42 am Jeśli mogę wprowadzić swoje uwagi to prędkość wiatru widziałbym m/s bo tak pokazuje większość stacji pogodowych. Zmienna powinna być zmiennoprzecinkowa aby precyzyjniej przedstawiać wynik (np 0.7 m/s - stan z tej chwili :) u mnie )
Uwagi są oczywiście mile widziane :D
Może być zmiennoprzecinkowa, nie ma z tym problemu, ale czym to mierzysz? Ja nie mam na czym sprawdzić jak dokładny jest pomiar. Skoro da się uzyskać po przecinku, to wyświetlimy po przecinku ;) Rozglądałem się wczoraj za jakimś zestawem do pomiaru siły(prędkości) wiatru i wielkości opadów, ale koszty są spore, jak masz jakieś konkretne sprzęty to zapodaj linki lub zdjęcia.
shimano73 pisze: pt sty 25, 2019 9:42 am Do określania kierunku wiatru widziałem produkt który ma wyjście analogowe
Nie wiem czy jest taki kanał, bynajmniej nie widziałem, do określania kierunku wiatru? Ale jakby był to jak tu zaprezentować taki odczyt? Liczbą nie bardzo :roll: musi być jakaś ruchoma strzałka czy coś...
Czekam na kolejne Supla Offline Party 👍
ODPOWIEDZ

Wróć do „Android”