Czujnik ciśnienia atmosferycznego.

User avatar
lesny8
Posts: 689
Joined: Mon Dec 11, 2017 9:43 pm

Wed Jan 16, 2019 11:19 pm

Właśnie ze względu na Ciebie zacząłem wczoraj grzebać w Arduino IDE, żeby było prosto i łatwo dla tych co w tym środowisku obcują, a obserwując forum jest ich coraz więcej.
Niestety moduł mi się restartuje w momencie odczytu z BME albo inicjacji i nie mam pojęcia czemu.
Prosiłem o cierpliwość, bo jak problem rozwiąże to umieszczę gotowe rozwiązanie typu addPressure, o którym kilka postów wyżej pisałeś.
Gdyby doba miała 48h i nie trzeba by było pracować i spać to już dawno bym gotowca wstawił, a tymczasem pracować trzeba a po powrocie żona mi krzyczy że siadam od razu do kompa, że z nią w ogóle nie rozmawiam, że dla dziecka nie mam czasu itd. Zostaje mi dwie godziny przed snem albo 5 jak zarywam noc, ale ile można pod rząd spać po 3h?
SUPLA wciąga i jestem od niej uzależniony, a i chyba Ty coś o tym wiesz :roll:
User avatar
QLQ
Posts: 745
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Thu Jan 17, 2019 5:31 am

lesny8 wrote:
Wed Jan 16, 2019 11:19 pm
Właśnie ze względu na Ciebie zacząłem wczoraj grzebać w Arduino IDE, żeby było prosto i łatwo dla tych co w tym środowisku obcują, a obserwując forum jest ich coraz więcej.
Niestety moduł mi się restartuje w momencie odczytu z BME albo inicjacji i nie mam pojęcia czemu.
Prosiłem o cierpliwość, bo jak problem rozwiąże to umieszczę gotowe rozwiązanie typu addPressure, o którym kilka postów wyżej pisałeś.
Gdyby doba miała 48h i nie trzeba by było pracować i spać to już dawno bym gotowca wstawił, a tymczasem pracować trzeba a po powrocie żona mi krzyczy że siadam od razu do kompa, że z nią w ogóle nie rozmawiam, że dla dziecka nie mam czasu itd. Zostaje mi dwie godziny przed snem albo 5 jak zarywam noc, ale ile można pod rząd spać po 3h?
SUPLA wciąga i jestem od niej uzależniony, a i chyba Ty coś o tym wiesz :roll:
Mam to samo 😁
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
User avatar
QLQ
Posts: 745
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Thu Jan 17, 2019 5:32 pm

Przeglądam właśnie katalogi GITHUB/SUPLA i znalazłem coś takiego:
https://github.com/SUPLA/supla-core/tre ... pla-common

Identyczne pliki (ich starsze wersje są w SuplaDevice dla Arduino IDE). W tym katalogu z linku powyżej brakuje SuplaDevice.cpp , SuplaDevice.h
Plik proto.h jest w wersji już 10 (SuplaDevice ma 9)

Gdyby były nowsze biblioteki SuplaDevice można podejrzewam kompilować właśnie m.in. PressureSensor na osobnym kanale.
Chyba że ich faktycznie brakuje poprzez "zagubienie"
Dla mnie ten katalog wygląda jak aktualizacja SuplaDevice dla IDE jest tylko niekompletny. Co na to @pzygmunt?
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
User avatar
pzygmunt
Posts: 6437
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Thu Jan 17, 2019 5:47 pm

To jest katalog ze wspólnymi elementami... również wspólnymi dla biblioteki dla Arduino.
Za Arduino jeszcze się nie zabrałem. Jak to zrobie to część plików z tego katalogu będzie skopiowana do SuplaDevice.
User avatar
lesny8
Posts: 689
Joined: Mon Dec 11, 2017 9:43 pm

Fri Jan 18, 2019 2:33 am

Udało mi się uruchomić BME pod Arduino IDE.
Kod jest na podstawie kodu kolegi @Yepestis. Wystarczyło kilka zmian.

Jednej z tych zmian nie rozumiem i prze to nie chciało mi to od razu zadziałać.
Jeśli w funkcji SuplaDeviceCallbacks supla_arduino_get_callbacks(void) definiuję takie przypisanie

Code: Select all

cb.get_pressure = &get_pressure;
to moduł mi się restartuje po podłączeniu do sieci w trakcie inicjacji BME lub iteracji, ale przed zarejestrowaniem w supla-server

ale jak zrobię tak

Code: Select all

cb.get_temperature = &get_pressure;
to już działa i w supla-server się rejestruje i przekazuje wyniki.

Code: Select all

INFO[1547775548.52018] Connection accepted: 192.168.1.222:49153 ClientSD: 58 Secure: 0
INFO[1547775548.99966] Device registered. ClientSD: 58 Protocol Version: 9
Trochę mnie to dziwi czemu tak jest, ale nie mam siły już tego rozkminiać. Może gdzieś jeszcze czegoś nie dopisałem, choć sprawdziłem wszystko chyba z piętnaście razy.

Biblioteki do podmiany, zmiany są tylko w 3 plikach ale spakowałem cały katalog
SuplaDevice.zip
(60.86 KiB) Downloaded 51 times
i szkic wykorzystujący wprowadzone tam zmiany.
SUPLA_BM280_GUI_SILAR_V0.2.6.zip
(9.84 KiB) Downloaded 59 times
User avatar
QLQ
Posts: 745
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Fri Jan 18, 2019 7:25 am

lesny8 wrote:
Fri Jan 18, 2019 2:33 am
Udało mi się uruchomić BME pod Arduino IDE.
Kod jest na podstawie kodu kolegi @Yepestis. Wystarczyło kilka zmian.

Jednej z tych zmian nie rozumiem i prze to nie chciało mi to od razu zadziałać.
Jeśli w funkcji SuplaDeviceCallbacks supla_arduino_get_callbacks(void) definiuję takie przypisanie

Code: Select all

cb.get_pressure = &get_pressure;
to moduł mi się restartuje po podłączeniu do sieci w trakcie inicjacji BME lub iteracji, ale przed zarejestrowaniem w supla-server

ale jak zrobię tak

Code: Select all

cb.get_temperature = &get_pressure;
to już działa i w supla-server się rejestruje i przekazuje wyniki.

Code: Select all

INFO[1547775548.52018] Connection accepted: 192.168.1.222:49153 ClientSD: 58 Secure: 0
INFO[1547775548.99966] Device registered. ClientSD: 58 Protocol Version: 9
Trochę mnie to dziwi czemu tak jest, ale nie mam siły już tego rozkminiać. Może gdzieś jeszcze czegoś nie dopisałem, choć sprawdziłem wszystko chyba z piętnaście razy.

Biblioteki do podmiany, zmiany są tylko w 3 plikach ale spakowałem cały katalog
SuplaDevice.zip
i szkic wykorzystujący wprowadzone tam zmiany.
SUPLA_BM280_GUI_SILAR_V0.2.6.zip

Serdecznie dziękuję. Najbardziej zależało mi na tych plikach z SuplaDevice gdzie są potworzone "przekazania wartości ' do Supla Cloud. Troszkę nie pomyślałem , że nie podpowiedziałem z gotowym kodem chociażby kolegi @shimano73 bo to na nim eksprerymentuję.
Ale teraz wiem jak w SuplaDevice utworzyć nowy kanał dla czujnika z proto.h (a przynajmniej tak mi się wydaje ). Dziś w nocy będę z tym kodem walczył tak aby mieć w SUPLA-RC czujnik ciśnienia na jego "PressureChanel"

Będę miał też prośbę do kolegi @pzygmunt aby dodać obsługę czujnika natężenia oświetlenia BH1750.
Bardzo fajnie działa z obecną moją stacją pogody z czujnikem BME280. Jest obecnie jako kanał odległości ( przekazuje spore wartości więc dlatego odległóśc a nie temp bo ona do 1000 stC. A tu np wartość 14,40 km co odpowiada 14400 lux, 2.1km to 2100 lux, 600m to 600 lux itd )
Z tego co wyczytałem ten sam czujnik wykorzystuje Samsung w swoich smartfonach - i faktycznie wskazania do moich S5 i S7 są bardzo zbliżone.
Można by od niego uzależnić np pracę rolet czy oświetlenia
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
User avatar
lesny8
Posts: 689
Joined: Mon Dec 11, 2017 9:43 pm

Fri Jan 18, 2019 9:16 am

QLQ wrote:
Fri Jan 18, 2019 7:25 am
Będę miał też prośbę do kolegi @pzygmunt aby dodać obsługę czujnika natężenia oświetlenia BH1750.
Sam właśnie takie zakupiłem u majfrenda tydzień temu i jak przyjdą to będę z nimi ćwiczył ;)

Jest kilka kanałów do stacji pogodowej, których chyba jeszcze nikt nigdy nie używał

Code: Select all

#define SUPLA_CHANNELTYPE_HUMIDITYSENSOR 3036         // ver. >= 8
#define SUPLA_CHANNELTYPE_WINDSENSOR 3042             // ver. >= 8
#define SUPLA_CHANNELTYPE_RAINSENSOR 3048             // ver. >= 8
#define SUPLA_CHANNELTYPE_WEIGHTSENSOR 3050           // ver. >= 8
#define SUPLA_CHANNELTYPE_WEATHER_STATION 3100 // ver. >= 8
bynajmniej ja jeszcze nie natrafiłem, jeśli się mylę to sprostujcie.

Myślę, że nie będzie to duży problem, żeby pojawił się taki typ kanału z odpowiednią funkcją przy następnej wersji protokołu, ale to już Przemek musi potwierdzić.

Code: Select all

#define SUPLA_CHANNELTYPE_LIGHTINTENSITYSENSOR ????
Jakby co to od strony Androida mogę dołożyć prezentację wartości, bo i tak mam taką akcję w planach :mrgreen:
User avatar
QLQ
Posts: 745
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Fri Jan 18, 2019 9:53 am

lesny8 wrote:
Fri Jan 18, 2019 9:16 am
QLQ wrote:
Fri Jan 18, 2019 7:25 am
Będę miał też prośbę do kolegi @pzygmunt aby dodać obsługę czujnika natężenia oświetlenia BH1750.
Sam właśnie takie zakupiłem u majfrenda tydzień temu i jak przyjdą to będę z nimi ćwiczył ;)

Jest kilka kanałów do stacji pogodowej, których chyba jeszcze nikt nigdy nie używał

Code: Select all

#define SUPLA_CHANNELTYPE_HUMIDITYSENSOR 3036         // ver. >= 8
#define SUPLA_CHANNELTYPE_WINDSENSOR 3042             // ver. >= 8
#define SUPLA_CHANNELTYPE_RAINSENSOR 3048             // ver. >= 8
#define SUPLA_CHANNELTYPE_WEIGHTSENSOR 3050           // ver. >= 8
#define SUPLA_CHANNELTYPE_WEATHER_STATION 3100 // ver. >= 8
bynajmniej ja jeszcze nie natrafiłem, jeśli się mylę to sprostujcie.

Myślę, że nie będzie to duży problem, żeby pojawił się taki typ kanału z odpowiednią funkcją przy następnej wersji protokołu, ale to już Przemek musi potwierdzić.

Code: Select all

#define SUPLA_CHANNELTYPE_LIGHTINTENSITYSENSOR ????
Jakby co to od strony Androida mogę dołożyć prezentację wartości, bo i tak mam taką akcję w planach :mrgreen:
Widziałem to właśnie przeglądając proto.h . TO "#define SUPLA_CHANNELTYPE_LIGHTINTENSITYSENSOR" na pewno do BH1750 by sie przydało. Ja mam zrobiony BME 280 z tym BH na kodzie @shimano73 tylko czujnik jest j/w pisałem na kanale odległości. Jak wrócę z pracy to wrzucę.

EDIT: ten kanał #define SUPLA_CHANNELTYPE_WINDSENSOR też będę w najbliższym czasie męczył. Wymyśliłem sobie to na hallotronie czujnik obrotów wiatromierza (aneometr czy jakoś tak)
Screenshot_20190118-110154_SUPLA.jpg
Screenshot_20190118-110154_SUPLA.jpg (13.58 KiB) Viewed 583 times
Last edited by QLQ on Fri Jan 18, 2019 10:05 am, edited 4 times in total.
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
User avatar
QLQ
Posts: 745
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Fri Jan 18, 2019 9:54 am

Już gdzieś było poruszane na forum , że przydałby się taki kanał do przesłania samej wartości a jej jednostkę i ikonę można by sobie wpisać i wybrać już w Cloud
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
User avatar
QLQ
Posts: 745
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Fri Jan 18, 2019 5:33 pm

lesny8 wrote:
Fri Jan 18, 2019 2:33 am
Jednej z tych zmian nie rozumiem i prze to nie chciało mi to od razu zadziałać.
Jeśli w funkcji SuplaDeviceCallbacks supla_arduino_get_callbacks(void) definiuję takie przypisanie

Kod: Zaznacz cały

Code: Select all

cb.get_pressure = &get_pressure;
to moduł mi się restartuje po podłączeniu do sieci w trakcie inicjacji BME lub iteracji, ale przed zarejestrowaniem w supla-server

ale jak zrobię tak

Kod: Zaznacz cały

Code: Select all

cb.get_temperature = &get_pressure;
to już działa i w supla-server się rejestruje i przekazuje wyniki.
Właśnie rozwiązałęm problem restartu :

Jak nie masz wpisanego :

Code: Select all

cb.get_temperature = NULL
albo go brakuje (do testu wyremowałem) to modół się restartuje. jak ten wpis jest DZIAŁA !!! :)

Code: Select all

cb.tcp_read = &supla_arduino_tcp_read;
  cb.tcp_write = &supla_arduino_tcp_write;
  cb.eth_setup = &supla_arduino_eth_setup;
  cb.svr_connected = &supla_arduino_svr_connected;
  cb.svr_connect = &supla_arduino_svr_connect;
  cb.svr_disconnect = &supla_arduino_svr_disconnect;
  cb.get_temperature_and_humidity = &get_temperature_and_humidity;
  cb.get_temperature = NULL												//to musi być koniecznie
  cb.get_pressure = get_pressure; 
  cb.get_rgbw_value = NULL;
  cb.set_rgbw_value = NULL;
  //cb.get_distance= get_distance;

Tu jest kod bez managera połączenia w 99% made by @shimano78 z moją wersją czujnika BMP280 - nie ma on wilgotności (nie mylić z bme280). Dodany jest kod - ale wyremowany dla TEMT 6000 oraz BH1750. I ogólnie taki mały bałagan bo na szybko.
Aby zmienić na bme280 trzeba tylko

Code: Select all

Adafruit_BMP280 bme; // I2C
zmienić na

Code: Select all

Adafruit_BME280 bme; // I2C
i trochę odremować :)
BMP280_TEMT6000.rar
(4.24 KiB) Downloaded 31 times

No to teraz spokojnie mogę odpalić twoją wersję @lesny8 SUPLA_RC
IMG_20190118_184721.jpg
IMG_20190118_184721.jpg (60.54 KiB) Viewed 554 times
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
Post Reply