Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Orange PI Zero + Domoticz - pytania

maximus22_kr 25 Apr 2017 15:44 6630 8
  • #1
    maximus22_kr
    Level 18  
    Witam
    Udało mi się na podstawie opisu dla Raspberry PI uruchomić Domoticz.
    Na razie nie planuję wykorzystywać GPIO - potrzebna do tego jest chyba biblioteka. Raczej traktuję Orange PI jako serwer.

    1. Nie udało mi się ustawić, żeby uruchamiał się automatycznie po starcie. Próbowałem coś takiego:
    Code: text
    Log in, to see the code

    Code: text
    Log in, to see the code

    Code: text
    Log in, to see the code

    ale bez rezultatów

    2. Aktualizacja danych z czujników
    Gdy zrobię to "ręcznie" przez stronę to jest OK
    Code: text
    Log in, to see the code


    ale chciałem dane przesyłać z Atmega644, która pełni rolę mastera ( odpytuje różne czujniki, oblicza histerezy, wysyła, przez RFM12, zapisuje na karcie SD ) przez ESP8266 do Domoticz.
    Czy powinienem to zrobić tak :
    Code: vbnet
    Log in, to see the code


    Zastanawiam się jak "szybko" i "często" można aktualizować dane ? Myślałem o wysyłaniu po każdym odczycie z danego czujnika. Trzeba by też sprawdzać odpowiedz, szukając:
    "OK" lub "Update Device"
  • #2
    starob
    Level 28  
    Mam dość rozbudowany system postawiony na Domoticz.
    Czujniki na bramce RFLink http://www.nemcon.nl/blog2/ 433Mhz
    oraz na MySensors 2.4GHz www.mysensors.org
    W rozbudowanym systemie są kłopoty z radiem: zakłócenia, zasięg, wzajemne bezpośrednie oddziaływanie na czujniki, niekontrolowane zadziałania przekaźników sterujących, a przy podpinaniu fabrycznych urządzeń bezprzewodowych brakuje kanałów.
    Moja rada, to od początku nie pchać się bez potrzeby w radiówkę RF.
    Obecnie wszystko robię po WiFi za pomocą ESP, poprzez stawianie na nim bramki LAN MySensors.
    Domoticz natywnie obsługuje MySensors i odpada operowanie na json.
    Zestaw komend json jest ograniczony i nie zawsze można zrobić to co się chce.
    Dodatkowo znalazłem tani moduł www.itead.cc/sonoff-wifi-wireless-switch.html
    Z oryginalnego wymieniam wbudowany soft na MySensors i za małe pieniądze mam kompaktowe urządzenie z zasilaczem, w obudowie i przekaźnikiem wykonawczym. Inne sensory podłączam przez goldpin na wewnątrz.
    Za pomocą takiej metody zrobiłem: monitoring i sterowanie kotła gazowego, Ambiligth, pomiar zużycia mediów (woda, prąd, gaz), pomiar wilgotności i temperatury, sterowanie wentylacji łazienki i kilka włączników oświetlenia.
    Jeśli jest taka potrzeba to zamiast operacji json stosuje bezpośrednie operacje na bazie domoticz.db przez SQlite.

    Wracając do pytania. Czujniki aktualizuje tylko w przypadku zmiany wartości i nie częściej niż 1min. Jedna czas zależy od konkretnego zastosowania.
    Domoticz archiwizuje logi z czuników co 5min.
    Dodawanie do autostartu na RPi działa
    
    cd domoticz
    sudo cp domoticz.sh /etc/init.d
    sudo chmod +x /etc/init.d/domoticz.sh
    sudo update-rc.d domoticz.sh defaults
    
  • #3
    maximus22_kr
    Level 18  
    U mnie po wpisaniu tych poleceń i reboot, po uruchomieniu pisze orangepizero login
    Czy ma znaczenie na jakim koncie się zainstalowało Domoticz ?
    Znalazłem jeszcze coś takiego:
    
    sudo cp domoticz.sh /etc/init.d
    sudo chmod +x /etc/init.d/domoticz.sh
    sudo update-rc.d domoticz.sh defaults
    

    Edit the startup script and change the USERNAME, DAEMON and DAEMON_ARGS parameters to reflect your current settings
    
    sudo vi /etc/init.d/domoticz.sh
    
    USERNAME=pi
    DAEMON=/home/$USERNAME/domoticz/$NAME
    DAEMON_ARGS="-daemon -www 8080"
    


    Niestety z Unixem miałem do czynienia lata temu na uczelni - teraz dominują przyzwyczajenia Windowsowe, na razie zmieniłem program do komunikacji na Putty i teraz przynajmniej jest czytelny i działa edytor nano, który doinstalowałem - działa to znaczy wygląda jak powinno.

    Jeśli chodzi o częstotliwość to 1 minuta jest pomiędzy aktualizacją dla jednego czujnika, czy chodzi o każdorazowe wysłanie danych, czy wysyłanie danych dla konkretnego czujnika ? Bo u mnie wygląda to tak, że atmega wywołuje pomiar, a następnie co 2 sekundy odpytuje każdy czujnik po kolei ( ale przerwa pomiędzy odczytywaniem tych czujników jest 2 minuty ), czyli chciałbym odczytać czujnik, sprawdzić, czy coś się zmieniło ( atmega wylicza mi histereze, więc jak nie ma zmian to po co wysyłać ), jeśli tak to wysłać do Domoticz, po odpytaniu wszystkich ośmiu jest przerwa 2 minuty.
  • #4
    starob
    Level 28  
    Serwer Domoticz pracuje w tle i nie trzeba się logować do Pi. Sprawdź czy połączysz się zdalnie przez przeglądarkę IP:9090. Przynajmniej tak działa na raspbbery. Przede wszystkim sprawdz poprawność ustawień domoticza. Czasy zależą od funkcji czujnika i twoich oczekiwań. Dane istotne pod względem szybkości reakcji wysyłaj natychmiast. Pozostałe (np. temperatura w pomieszczeniu itp. są nie istotne i można wysyłać żadziej. Nie ma uniwersalnej recepty.
    Czujniki można odpytywać częściej dobierają tylko częstotliwość aktualizacji domoticz. Przy stosowaniu fabrycznych czujników nie masz możliwości regulacji czasu aktualizacji więc trzeba to robić ostrożnie. W miarę rozbudowy systemu trzeba uważać, żeby nie "zagadać" radia.
  • #5
    maximus22_kr
    Level 18  
    Niestety mam cały czas Domoticz Offline ( w innej przeglądarce otwartej na" czysto" w ogóle nie wchodzi ) - u mnie jest na porcie 8080.
    Czy w ustawieniach samego Domoticz jest coś co może powodować takie problemy ?

    Działa tylko po zalogowaniu na konto i
    
    cd ~/domoticz
    sudo ./domoticz
    


    Pomogło
    
    sudo nano /etc/init.d/domoticz.sh
    

    i zmiana użytkownika

    Dodano po 3 [godziny] 14 [minuty]:

    Co do tych modułów, to faktycznie tanio. Na Aliexpress podróbki są droższe niż na podanej stronie.

    Ciekawe, czy jest możliwość pobrania danych aktualnych z bazy Domoticz ? To znaczy napisać aplikacje, która będzie odczytywać dane z bazy i wygeneruje obraz na wyjściu Orange pi, który można by podpiąć do modulatora i rozsyłać na cały dom.
  • #6
    gebir
    Level 11  
    Czy ustawiłeś wszystko w pliku /etc/init.d/domoticz.sh (użytkownik i ścieżka do domoticza).
    Co do instalacji jest fajny opis dla Cubieboard2 . Idealnie nadaje się dla Nano pi/ Orange Pi itp.
    Ja zawsze staram się kompilować samemu (pamiętaj o swapie min 1gb ), jeżeli kompilacja jest ok to znaczy że Twój system jest ok ;)
    Uwaga, kompilacja zajmuje ~1h 30 min na H3.


    Pozdrawiam
    gebir
  • #7
    starob
    Level 28  
    maximus22_kr wrote:
    Ciekawe, czy jest możliwość pobrania danych aktualnych z bazy Domoticz ?


    Tak, zrób sobie kopię zapasowa bazy. Na kompa zostanie pobrany plik "domotycz.db".
    Możesz np. za pomocą SQLiteStudio zapoznać się ze strukturą bazy, wprowadzić poprawki i przywrócić na powrót do domoticz.
    Często używam bezpośrednich operacji na bazie przy pomocy skryptów w pythonie.
    Szczególnie przy dodawaniu sprzętu z dużą ilością czujników wirtualnych lub gdy nie ma odpowiedniej funkcji json.
    Przykład funkcji, która "coś tam" zmienia bezpośrednio w bazie.
    Code: python
    Log in, to see the code


    To jest przykład głowicy termostatycznej dodanej w całości jednym wywołanie
    skryptu
    Orange PI Zero + Domoticz - pytania [/img]

    Orange PI Zero + Domoticz - pytania
  • #8
    maximus22_kr
    Level 18  
    Interesuje mnie kwesta tych modułów bezprzewodowych. Mają opcję tylko sterowania przez Wifi. Ja bym chciał żeby móc sterować jeszcze przyciskami. Czyli buduje układ Atmega + ESP8266 mający np. 4 wejścia izolowane + 4 wyjścia ( czyli np. jeden układ na pokój ). Konfiguruje adres stały IP i łączę się z Domoticz. Chodzi i to, aby gdy coś włączę lub wyłączę przyciskiem Domoticz o tym wiedział, a w drugą stronę mógł w Domoticz zmienić stan dowolnego wyjścia.
  • #9
    starob
    Level 28  
    Komplikujesz sobie życie. ESP posiada porty Gpio, Do sonoff zawsze mozna dodać expander po IC2. Pozostałe wymagania będą spełnione.
    Dlatego proponowałem ze skorzystania z MySensors, którego obsługa jest wbudowana w domoticz. Czujnik wysyła info o swoim stanie, a system resztę załatwia. Nie ma potrzeby "osobistego" gmerania w bazie.

    Ludzie robią na nich cuda http://tinkerman.cat/sonoff-th10-th16-sensors-displays-actuators/