Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'domoticz'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 11 wyników

  1. Jako że w tym roku moja posiadłość dorobiła się bramy otwieranej z pilota z sterownikiem HB5 postanowiłem dorobić do niej sterowanie poprzez web’a czyli mój smart home oparty na Domoticzu. Założenia projektu: sterowanie z strony www odczyt stanów bramy (otwieranie, zamykanie, otwarta, zamknięta, stan nieznany) sygnalizacja otwarcia furtki komunikacja poprzez RS485 Użyte elementy: arduino nano Nano Expansion Adapter ESP8266 2x moduł RS485 stepdown do zasilanie arduino nano moduł przekaźników kilka rezystorów Konieczne było zastosowanie drugiego mikrokontrolera ze względu na oddalenie bramy od domu o 100m. Więc zastosowałem Arduino Nano oraz ESP8266. Tak prezentował się biurkowy testowy zestaw: W arduino nano w celu odczytania napięć podawanych na siłowniki oraz stanów krańcówek, zastosowałem dzielniki napięć na rezystorach, które podłączyłem do wejść analogowych. Taki zabieg umożliwia programowe ustawienie poziomów przy których ma nastąpić wykrycie zmiany stanu oraz przekazanie danych do drugiego mikrokontrolera. Do komunikacji poprzez RS485 została wykorzystana biblioteka RS485_protocol.h oraz SoftwareSerial.h. Dane wysyłane są jako tablica pierwsza wartość to adres urządzenia a druga i trzecia to wartość którą chcemy przesłać na drugą stronę. ESP8266 po odebraniu danych wysyła je do domoticza, ustawiając odpowiednie wartości przełączników i alarmów. Tutaj troszkę odbiegnę od tematu, domoticz ma możliwość wysyłania zdjęć z kamery, wykorzystałem to w ten sposób, że jeśli wykryte zostanie otwarcie furtki to otrzymuję maila z zdjęciem intruza Komunikacja w drugą stronę odbywa się w najprostszy możliwy sposób, czyli na ESP został uruchomiony prosty web serwer, po otwarciu strony np: http://ip/brama zostaje nawiązana komunikacja z arduino nano i wysłane polecenie otwarcia bramy. Teraz powrócimy jeszcze do Arduino Nano, wyzwolenie otwarcia i zamknięcia bramy następuje poprzez przekaźnik, który podłączony jest w sterowniku HB5 pod wejście przeważnie służące do podłączenia przycisku znajdującego się gdzieś przy bramie. Sterownik HB5 posiada jeszcze kilka fajnych funkcjonalności które warto wykorzystać. 1. Wejście pod fotokomórkę która uniemożliwia zamknięcie bramy jeśli wiązka podczerwienie jest przerwana przez obiekt znajdujący się w bramie. 2. Możliwość podłączenia akumulatorów, niestety żelowe akumulatory nie przeżyły u mnie zimy, więc w tym roku postanowiłem sklecić pakiet z ogniw 18650 6s4p wraz z bms’em który zabezpiecza ogniwa przed nadmiernym rozładowaniem oraz przeładowaniem. Po odłączeniu zasilania brama otwiera się troszkę wolniej niż zazwyczaj ale w sytuacjach awaryjnych to nie przeszkadza. W teorii powinienem zrobić pakiet 7s bo wtedy zakresy napięć pokrywają się z zakresem pracy standardowych akumulatorów żelowych (2x12v), ale cena BMS’a 6s (2$) a 7s (10$) zaważyła o wyborze tańszego rozwiązania, które działa już kilka miesięcy. Standardowo kody źródłowe: Sterownik Brama.zip W razie jakikolwiek pytań, bo temat jest ciekawy i dość obszerny służę pomocą
  2. Witam, mam podłączoną do ESP8266 diodę led (ma na ten moment zastępować przekaźnik) anodą do pinu GPIO 0(przez rezystor), a katodą do GND. W domoticzu ustawiłem przełącznik i wszystko działa poprawnie gdy nacisnę na ikonę(żaróweczka się zapala) i rzeczywista dioda led też się zapala. Problem polega na tym że jeżeli zostawię wyłączoną diodę to po około 3h dioda samoczynnie się zapala (tak jak by ktoś wszedł do D0moticza i nacisną na ikonę i zapalił diodę). W zakładce Konfiguracja - Logi w tym czasie wyświetla się komunikat: 2019-07-10 19:02:05.873 Status: User: Admin initiated a switch command (9/Światło pokój/On). Problem polega na tym że nikt nie wchodzi do Domoticza i naciska na ikonę. Tak dzieje się mniej więcej co jakieś 3h. Nie mam ustawionych żadnych planów dla przełącznika. Również z tego ESP wysyłana jest temperatura z czujnika i działa bez zarzutu. Poniżej screeny z domoticza i esp. Czy ktoś miał taki dziwny problem i może wie jak się z tym uporać?
  3. Raspberry Pi jest często używane jako kontroler automatyki domowej. Inteligentne sterowanie roletami i oświetleniem to mały wycinek tego co potrafi malinka z Domoticzem. Na początku warto zacząć od ustawień systemu, podłączenia czujników temperatury (DS18B20) oraz konfiguracji powiadomień. [blog]https://forbot.pl/blog/kurs-raspberry-pi-projekty-domoticz-ds18b20-maile-id27526[/blog]
  4. Witam serdecznie, robię coś "ala inteligentny dom" i brakowało mi gpio na malince. Podłączyłem mcp23017 i działa:) Działa jako wyjście:/ Jak zrobić żeby działało jako wyjście? A takie ważniejsze i chyba trudniejsze pytanie (jak dla mnie) to: Jak połączyć malinkę z arduino przez usb?? tak żeby arduino działało jako we/wy?? Nie liczę na gotowca, ale jakieś wskazówki. Nie jestem też jakimś tam hiper, biper, diker informatykiem. Skoro potrafiłem podłączyć mcp23017 i "ledami mrugać" to myślę że arduino podłączę jako we/wy do malinki;) Pozdrawiam serdecznie;) p.s. Zapomniałem dodać, że to wszystko obsługuję na domoticz.
  5. Witam, bardzo fajny poradnik. Dołożyłem sobie do mojego domoticza 4 czujniki DS18B20, jednak wszystkie 4 zawyżają temperaturę o około 2-3 stopnie. Czy jest jakaś szansa żeby to skorygować w domoticzu?
  6. Witam, Po zainstalowaniu Domoticza na Raspberry Pi 3B+ i podłączeniu zgodnie z zaleceniami kursu Raspberry Pi cz.II czujnika temperatury DS18B20 wszystko działało. Po reboocie Raspberry Domoticz powitał mnie komunikatem "Domoticz Offline". Zmiana przeglądarki z Chrome na Mozilla nie pomaga. Po usunięciu cookies w ogóle nie ma żadnego komunikatu z Domoticza - po prostu mnie nie wpuszcza na stronę sugerując, że blokują mnie ustawienia proxy (a wiem, że tak nie jest). IP się nie zmieniło. Ktoś może pomóc? -------------------------------- Już rozwiązałem Jeśli ktoś zmienił username zgodnie z zaleceniami bezpieczeństwa: https://www.raspberrypi.org/documentation/configuration/security.md to musi też wejść w: sudo nano /etc/init.d/domoticz.sh i zmienić user na właściwy po czym jeszcze raz zaaplikować dwie poniższe komendy i zrobić reboot: sudo chmod +x /etc/init.d/domoticz.sh sudo update-rc.d domoticz.sh defaults @Treker Swoją drogą może warto by było załączyć do kursu informację o konieczności zmiany usera w pliku /etc/init.d/domoticz.sh na właściwą przy instalacji Domoticza?
  7. Czy mógbym prosić o pomoc w konfiguracji domoticza v4.9700 z czujnkiem BME280 podłączonym do Raspberry Pi. Czujnik wyświetla wartości w Raspberry lecz nie mogę ich odczytać w domoticzu. Wybór w domoticzu i2c sensors lub wirtualnego czujnika nie przynosi efektów, w logach wyświetla się "Error: I2C_BME280: Error Writing to I2C register". Jaki plik należy stworzyć i gdzie aby odczyty pojawiły się w domoticzu? Dziękuję za pomoc.
  8. W tym wpisie pokażę wam jak krok po kroku podłączyć sterownik H801 do sterowania oświetleniem Led RGBWW do Domoticza. Rozkręcamy sterownik i lutujemy Piny Schemat podłączenia do programatora Usb do TTL UART Zworka na pinach j3 3,3V do 3,3V GND do GND TX do TX RX do RX Wgrywamy Tasmote Pobieramy Sonoff-PL z https://github.com/arendst/Sonoff-Tasmota/releases Ja użyłem do wgrywania esptool.exe z EspEasy Tworzymy pliczek Flesh.cmd w którym zamieszczamy poniższy kod @echo off esptool.exe -vv -cd nodemcu -cb 115200 -cp com12 -ca 0x00000 -cf sonoff-PL.bin pause Zmieniacie tylko port COM na taki do którego przypisał wam się w urządzeniach programator. Po wgraniu Tasmoty odłączamy zworkę i programator podłączem zasilacz 12v Łączymy się z domyślną siecią Sonoff-xxx wchodzimy przez przeglądarkę na IP 192.168.4.1 wpisujemy dane swojej sieci. Sterownik się zrestartuje i łączymy się z nim już po IP takim jakie przypisze nasz router. Otwieramy Konfiguracja – Konfiguruj moduł i wybieramy 20 H801 – Zapisz Teraz przechodzimy do naszego serwera z Domoticzem w moim przypadku RPI3 z systemem Rasbian Stretch. Łączymy się np. przez putty i wykonujemy następujące komendy sudo apt-get update sudo apt-get upgrade Instalujemy Mosquitto sudo apt-get install mosquitto mosquitto-clients Tworzymy użytkownika z hasłem sudo mosquitto_passwd -c /etc/mosquitto/passwd Twoja_nazwa następnie przechodzimy do folderu Domoticza z pluginami cd domoticz/plugins Instalujemy plugin do obsługi sterownika H801 git clone https://github.com/stas-demydiuk/domoticz-h801-tasmota-plugin.git h801-tasmota-plugin Restrat domoticza sudo service domoticz.sh restart Przechodzimy do domoticza : Konfiguracja – Sprzęt i dodajemy MQTT Client Gateway with LAN interface IP podajemy takie jakie ma nasz serwer na którym zainstalowaliśmy Mosquitto Podajemy również wcześniej założonego użytkownika i hasło Wracamy do Sterownika H801 i konfigurujemy MQTT Konfiguracja – Konfiguracja MQTT wypełniamy pola jak na załączonym obrazu Przechodzimy do Konfiguracja – Konfiguracja inne i sprawdzamy czy MQTT jest włączone : Wracamy ponownie do Domoticza Konfiguracja – Sprzęt i dodajemy plugin który wcześniej zainstalowaliśmy H801 LED WiFi Controller with Tasmota firmware Podajemy adres serwera MQTT port 1883 Device Topic jak nie zmienialiśmy to Sonoff Device Type w zależności iloma światłami będziemy sterować RGB RGBW RGBWW lub 5 osobnych klikamy dodaj przechodzimy do Konfiguracja – Urządzenia I tu powinien nam się pokazać nowy przełącznik który dodajemy Zieloną strzałką do Panelu Domoticza Koniec
  9. Witajcie Chciałbym przedstawić tu swój projekt Sterownika do akwarium pracującego w systemie automatyki domowej opartej na Domoticzu. Pomysł i historia projektu Ponad rok temu wpadliśmy z żoną na pomysł założenia akwarium, pomysł jak pomysł, ale im więcej czytałem tym więcej kombinowałem, a jako że jestem elektronikiem to i pomysłów przybywało mi z każdym dniem Pierwsza próba budowy sterownika polegała na wykorzystaniu Arduino nano i stworzeniu samodzielnego układu pracującego lokalnie. Tyle że już w trakcie pisania kodu stwierdziłem że sterowanie sterowaniem, ale fajnie by było móc zrobić coś zdalnie, a przede wszystkim móc sprawdzić zdalnie co dzieje się w akwarium (temperatura, stan lamp itp). Tak zaczęła się moja przygoda z Domoticzem i szeroko pojętym IoT. Opis projektu Sam sterownik zbudowany jest na Arduino Pro mini, natomiast do komunikacji z serwerem wykorzystana jest platforma Mysensors zbudowana na modułach NRF24L01. Jak wcześniej pisałem sterownik pracuje w systemie mojej domowej automatyki opartej o serwer Domoticza, pracujący na RaspberryPi 3B. Na chwile obecną sterownik realizuje następujące funkcje: cztery kanały ON/OFF (przekaźniki 10A 250V), sterowanie: grzałka, filtr, falownik, chłodzenie (wentylatory w pokrywie). Z uwagi na bezpieczeństwo mieszkańców akwarium filtr podpięty jest pod styki NC przekaźnika, tzn, domyślnie jest on włączony, a możemy go wyłączyć. 16 kanałów PWM (z tranzystorami IRF520 jako elementy wykonawcze), sterowanie lampami LED, ściemnianie podświetlenia wyświetlacza, sterownie pracą falownika, rezerwa. funkcja "Karmienie" i "Serwis", załączane z lokalnej klawiatury, pierwsza umożliwia czasowe (5min) wyłączenie filtra, falownika i wentylatorów, druga umożliwia wyłączenie trybu automatyki i przejście w tryb serwisowy (przydatne przy pracach porządkowych w zbiorniku). pomiar temperatury w akwarium (czujniki DS18B20), układ zrobiony jest tak że może obsłużyć nieskończenie wiele termometrów, w praktyce w mniejszym zbiorniku mam 2 w większym 3 i to wystarcza. Dodatkowo można wybrać czy automatyka sterowania grzaniem/chłodzeniem korzysta z jednego z termometrów czy z wartości średniej wszystkich wskazań. zabezpieczenie przed przegrzaniem i wychłodzeniem wody (bezwarunkowe wyłączenie/włączenie grzania/chłodzenia w temperaturach skrajnych) pomiar temperatury zewnętrznej pomiar poziomu oświetlenia zewnętrznego Schemat blokowy sterownika przedstawiam na poniższym rysunku Jak widać większość układów pracuje na magistrali I2C, sprawia to że całość jest projektem rozwojowym, a wszelkie możliwe dodatkowe funkcje ograniczone są tylko wyobraźnią i.... pojemnością pamięci wykorzystanego Arduino Kanały PWM zrealizowane są na module PCA 9685, a jako elementy wykonawcze służą tranzystory IRF520 (oczywiście można zastosować inne MOSFETy), moduł z przekaźnikami podłączony jest do magistrali I2C poprzez expander PCF8574. Zarządzanie sterownikiem Podstawowe sterowanie pracą sterownika możliwe jest z lokalnej klawiatury, natomiast i informacje o pracy sterownika (temperatura, czas, poziom światła poszczególnych kanałów LED, stan urządzeń wykonawczych itp) wyświetlane są bezpośrednio na wyświetlaczu LCD 20x4. Pełne sterownie możliwe jest poprzez serwer Domoticza, za pośrednictwem strony www (poniżej przykładowy zrzut ekranu) i/lub aplikacji na androida. Teraz czas na kilka zdjęć elementów sterownika: Moduł arduino z przetwornica 3,3V, expanderem PCF 8574 i modułem NRF24L01 zmontowane są na płytce uniwersalnej, która osadzona jest na module przekaźników tworząc "kanapkę" Widok "kanapki" płytki uniwersalnej z arduino i modułu z przekaźnikami Moduł wykonawczy na tranzystorach IRF (sześć kanałów do sterowania lampami LED) Moduł przekaźników Wyświetlacz LCD Problemy napotkane przy realizacji projektu konieczne było wymuszenie niższej częstotliwości pracy platformy mysensors z powodu zegara jakim taktowane jest zastosowane arduino niestabilna praca modułów NRF, konieczne było dodanie elektrolitów (dałem 330u bo takie miałem :)) jak najbliżej pinów zasilających modułu (lutowałem bezpośrednio na tych pinach) okresowe zawieszanie i/lub przekłamanie odczytu temperatury z termometrów DS18B20, nie doszedłem przyczyny, wiec dodałem możliwość zdalnego resetu arduino (wiem że to tylko zaleczenie problemu a nie rozwiązanie, ale tymczasowo zdaje egzamin) zbyt małą pamięć programu zastosowanego modułu arduino, zastanawiam się czy nie przejść na ESP8266 z EasyESP konieczność zbudowania obudowy
  10. Większość osób pewnie zauważyła, że na forum znajdziemy kurs obsługi Raspberry Pi oraz jego kontynuację z opisem konkretnych projektów. Jednym z tematów, które mnie zainteresowały jest "inteligenty dom", czyli konfiguracja Domoticza: https://forbot.pl/blog/kurs-raspberry-pi-projekty-domoticz-ds18b20-maile-id27526 Bezpośrednie podłączanie czujników do malinki jest bardzo fajne, ma jednak pewne ograniczenia. Po pierwsze liczba dostępnych pinów może okazać się niewystarczająca. Drugi i poważniejszy problem to konieczność kładzenia kabli - powiedzmy do termometru za oknem, czy w innym pomieszczeniu. To prowadzi nie tylko do plątaniny kabli, kosztów remontu mieszkania, ale i do czysto elektrycznych problemów wynikających z długości przewodów. Spróbowałem więc do Domoticza działającego na Raspberry Pi podłączyć przykładowy czujnik (termometr DS18B20) za pomocą WiFi. Ponieważ ostatnio bardzo spodobała mi się zabawa z układami ESP32 wybrałem moduł z właśnie takim układem. Wybór platformy sprzętowej był prosty, jako serwer Raspberry Pi 3+, czujnik DS18B20 podłączony do modułu z ESP32. Do komunikacji używam WiFi, co chyba nie wymaga komentarza - wspomnę tylko, że moja sieć lokalna używa adresów 168.168.0.x. Trudniej było zdecydować się na odpowiedni protokół komunikacji między ESP32, a serwerem. Ostatnio interesowałem się protokołem MQTT, który jest wspierany przez Domoticz-a, więc postanowiłem go użyć. Jest to prosty protokół przeznaczony do telemetrii, czyli dokładnie tego co staram się uzyskać (więc powinno pójść łatwo). Na szczęście MQTT ma dobre wsparcie zarówno po stronie malinki, jak i ESP32 - nie trzeba więc pisać obsługi tego protokołu od podstaw, można wykorzystać gotowe narzędzia. Do obsługi MQTT po stronie serwera potrzebujemy tzw. broker. W tym celu wystarczy zainstalować na Raspberry Pi dwa pakiety: mosquitto oraz mosquitto-clients. Protokół MQTT opiera się na mechanizmie publikacji/subskrypcji danych. Dane przesyłane są w postaci tak zwanych tematów (ang. topic). ESP32 może więc publikować wyniki pomiarów z czujnika, a Domoticz je subskrybować. Może brzmi to dziwnie, więc na początek mały test. Raspberry Pi ma u mnie adres IP 192.168.0.150. Działa na nim serwer mosquitto na domyślnym porcie 1883. Aby zacząć subskrybować dane wpisuję np. mosquitto_sub -h 192.168.0.150 -v -t "forbot/test" Pierwsza opcja, czyli -h ustala adres serwera (poleceni można uruchomić ze zdalnego komputera), -v zwiększa gadatliwość programu (wyświetla nazwy tematów), a ostatni czyli -t określa nazwę tematu. Teraz z innego terminala, a nawet komputera mogę opublikować testowy komunikat: mosquitto_pub -h 192.168.0.150 -t "forbot/test" -m "Hello world!" Efekt wykonania tych poleceń wygląda następująco: Liczba dostępnych opcji jest znacznie większa, ale to co przetestowałem wystarczy na początek. Teraz mogę przejść do Domoticza i skonfigurować obsługę MQTT. Konfiguracja Domoticza Na początek zainstalowałem i skonfigurowałem Domoticz-a mniej-więcej według kursu. W każdym razie zaczynam bez podłączonych czujników z samą malinką oraz oczywiście mosquitto. Pierwszy krok w stronę MQTT to dodanie odpowiedniego urządzenia (opcja Setup->Hardware). Interfejs Domoticza jest dla mnie straszny, ale chociaż działa. W każdym razie opcje, które muszę wypełnić to: Name - nazwa urządzenia, nieistotna ale coś trzeba wpisać Type: "MQTT Client Gateway with LAN interface" Remote Adress - adres serwera, pewnie zadziała 127.0.0.1, ale ja wpisuję 192.168.0.150 Port: 1883 Teraz wystarczy przycisnąć "Add" i obsługa MQTT została dodana. Od razu ostrzeżenie - to co robię jest delikatnie mówiąc niezbyt bezpieczne. Należałoby dodać obsługę hasła oraz SSL, ale na razie nie będę się tym zajmować. Kolejny krok to dodanie urządzenia typu dummy (manekin?). Ponownie nazwa jest nieistotna, liczy się typ: "Dummy (Does nothing, use for virtual switches only)". Po dodaniu manekina pojawia się on na liście urządzeń. Ale co najważniejsze w kolumnie "Type" jest też przycisk "Create Virtual Sensors" - nie wiem czy tylko mnie interfejs Domoticza doprowadza do furii... ale jak już wspominałem ważne że działa. Naciskam ten jakże intuicyjnie umiejscowiony przycisk i pojawia się tym razem podejrzanie proste okienko dialogowe: Nazwa jak to nazwa, chociaż tym razem już nieco ważniejsza niż wcześniej, ale jak zwykle należy zwrócić uwagę na typa. Zacznę od przełącznika, skoro tak domoticz doradzał. Wybieram więc Switch i naciskam OK. Zgodnie z oczekiwaniem nowo dodane urządzenie będzie widoczne w zakładce Switches: Klikając myszą na ikonę żaróweczki można się takim przyciskiem bawić w nieskończoność - w końcu domoticz uprzedzał, że to nic nie robi... ale okazuje się że niezupełnie. Wracamy do linii poleceń i poznanego już mosquitto_sub. Tym razem uruchamiam nasłuchiwanie wszystkich tematów - w MQTT używany jest w tym celu znak #, coś jak * we wszystkich normalnych przypadkach. mosquitto_sub -h 192.168.0.150 -v -t "#" Na początku nic ciekawego się nie dzieje: Ale skoro wirtualny przycisk też nic nie robi to co szkodzi go przycisnąć: Wirtualna żaróweczka zaczyna świecić, ale co ważniejsze coś otrzymaliśmy przez MQTT: Dla osób nie lubiących oglądać obrazków poniżej kod: domoticz/out { "Battery" : 255, "RSSI" : 12, "description" : "", "dtype" : "Light/Switch", "id" : "00014051", "idx" : 1, "name" : "prztyczek", "nvalue" : 1, "stype" : "Switch", "svalue1" : "0", "switchType" : "On/Off", "unit" : 1 } domoticz/out to nazwa tematu, to co domoticz wysyła domyślnie wędruje właśnie tędy. Cała reszta to informacja o przyciśnięciu przycisku w formacie JSON. Można jeszcze raz nacisnąć przycisk i zobaczyć co się stanie: domoticz/out { "Battery" : 255, "RSSI" : 12, "description" : "", "dtype" : "Light/Switch", "id" : "00014051", "idx" : 1, "name" : "prztyczek", "nvalue" : 0, "stype" : "Switch", "svalue1" : "0", "switchType" : "On/Off", "unit" : 1 } Nie trzeba być szerlokiem, aby zrozumieć jak to działa - pole "nvalue" przesyła informację czy przycisk został włączony, czy wręcz przeciwnie. Teraz wystarczy takie dane sparsować i możemy mieć własny, zdalnie sterowany moduł. To działa bardzo ładnie na ESP32, ale chciałem na razie opisać własny czujnik. Dodawanie czujnika Poprzednio dodałem przycisk, teraz w bardzo podobny sposób dodaję wirtualny termometr. Na początek wracam do listy urządzeń (Setup->Hardware) oraz naciskam magiczny przycisk "Create Virtual Sensors": Tym razem dodaję urządzenie do pomiaru temperatury: Zanim przejdę dalej, warto wyświetlić listę zainstalowanych urządzeń. Znajdziemy ją wybierając Setup->Devices: Najważniejsza jest kolumna idx. Każde urządzenie ma swój identyfikator. W moim przypadku najpierw dodałem przycisk, który otrzymał numer 1 - stąd w kodzie JSON pole idx miało akurat taką wartość. Teraz gdy mam już dwa urządzenia identyfikatory stały się ważniejsze. A jak widać termometr ma idx równe 2. Czas zobaczyć jaką temperaturę wskazuje nowo zakupiony wirtualny termometr: Jak widać nie działa najlepiej. Spróbujmy więc wysłać do niego (o przepraszam - opublikować) jakąś wiadomość. mosquitto_pub -h 192.168.0.150 -t "domoticz/in" -m '{ "idx": 2, "nvalue": 0, "svalue": "3.14" }' Po chwili powinniśmy zobaczyć nasz odczyt z poziomu domoticz-a: Temat do wysyłania danych jest zawsze taki sam, czyli "domoticz/in", parametr "idx" identyfikuje nasz czujnik, a aktualna temperatura przesyłana jest jako napis w polu "svalue". Teraz wiemy już wszystko co konieczne, aby przygotować własny czujnik. Wystarczy na ESP32 połączyć się z WiFi, odczytać temperaturę z podłączonego termometru, a następnie używając MQTT wysłać komunikat o treści: { "idx": <ID_URZADZENIA>, "nvalue": 0, "svalue": "<TEMPERATURA>" } Do przygotowania takiego komunikatu nie potrzebujemy nawet biblioteki z obsługą JSON, wystarczy prosty sprintf. Na koniec jeszcze dwa słowa o parametrach przesyłanych w JSON oraz implementacji kodu na ESP32. Więcej o dostępnych opcja JSON znajdziemy np. tutaj: https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's#Temperature Przy okazji zauważymy, że zamiast MQTT można byłoby użyć zwykłego http. Ja wybrałem MQTT, ale jak zwykle możliwości jest mnóstwo. Program na ESP32 implementowałem w IDF. Zarówno WiFi, jak i protokół MQTT obsługiwany jest przez standardowe biblioteki, przykład dla WiFI znajdziemy tutaj: https://github.com/espressif/esp-idf/tree/master/examples/wifi/getting_started/station, natomiast MQTT: https://github.com/espressif/esp-idf/tree/master/components/mqtt
  11. Witam Szanowne grono forum FORBOT mianowicie tak jak w tytule mam problem z przesłaniem danych temperatury do domoticza w raspberry Mianowicie robie wszystko tak ja podane na tej stronie http://kostrzewinki.pl/1-schemat-podlaczenia-czujnika-temperatury-wilgotnosci-dht-11/ po wywołaniu polecenia sudo ./AdafruitDHT.py 11 4 temperatura jak i wilgotnosc sie wyswietla potem tworze plik poleceniem sudo nano temp.sh i tu moje pytanie czy trzeba tworzyc na tym etapie gdy w konsoli mam Czy utworzyc ten plik gdy wyjde z adafruit_python_DHT/examples S np przez utworzenie nowej sesji... Nastepnie dodaje w tym pliku kod # Domoticz server SERVER="192.168.0.15:8080" # DHT IDX DHTIDX="107" # DHTPIN DHTPIN="4" sleep 5 sudo nice -20 python /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 $DHTPIN > /var/tmp/temp.txt #TEMP=$(cat /var/tmp/temp.txt | grep "Temp" | awk '{ print $3 }') #TEMP=$(cat /var/tmp/temp.txt | grep "Temp") TEMP=$(awk ' /Temp/ {print substr ($0,6,4)}' /var/tmp/temp.txt) #HUM=$(awk ' /Hudmidity/ {print substr ($0,0)}' /var/tmp/temp.txt) #HUM=$(awk ' /Humidity/ {print 1$}' /var/tmp/temp.txt) HUM=$(awk ' /Humidity/ {print substr ($0,22,4)}' /var/tmp/temp.txt) echo $TEMP echo $HUM # Send data curl -s -i -H "Accept: application/json" "http://192.168.0.15:8080/json.htm?type=command&c=getauth&param=udevice&idx=107&nvalue=0&svalue=$TEMP;$HUM;2" TEMP="" HUM="" Potem zapisuje plik podaje sudo chmod +x temp.sh Dadaje do crontab -e oczywiscie wszystko wczesnie zrobione w domoticz przycisk wirtualny etc. ale temperatura nie zmienia sie cały czas jest 0st Prosze o JAKAS PODPOWIEDZ. Cos gdzies robie nie tak tylko jeszcze nie wiem co.
×
×
  • Utwórz nowe...