Podłączenie czujnika temperatury i wilgotności DHT 11 i DHT 21 do Raspberry Pi w systemie Domoticz

wpis w: Domoticz | 141

W tym artykule opiszę jak podłączyć jeden z najbardziej popularnych i najtańszych czujników temperatury i wilgotności DHT 11. Do jego podłączenia będą potrzebne 3 kable (męsko-męski). Rezystor 4,7Ω oraz Nasze Raspberry Pi.

Czujnik ten występuje w kilku wariantach. Jeden bardziej nadaje się do wpięcia do płytki stykowej z racji cienkich nóżek a drugi jest nieco droższy ale nie trzeba bawić się już z rezystorem i ma diodę informującą o tym, że jest podpięty do zasilania – zdecydowanie bardziej polecam gdyż łatwiej go podłączyć bezpośrednio do Raspberry. W moim przypadku opisałem jednak tą tańszą wersję.

 

Wersja czujnika DHT11 z diodą sygnalizującą zasilanie
Wersja czujnika DHT11 z diodą sygnalizującą zasilanie

 

Parametry techniczne czujnika:

Dane techniczne:

  • Interfejs wyjścia: 1 wire
  • Krótki czas odpowiedzi
  • Stabilność pomiarów w całym zakresie pomiaru
  • Wysoka wytrzymałość i niezawodność
  • Zasilanie: 3,5 – 5,5V
  • Niski pobór prądu
  • Zakres pomiaru temperatury: 0 – 50 st. C
  • Dokładność pomiaru temperatury: ±2,0 st. C
  • Zakres pomiaru wilgotność: 20% – 95%RH
  • Dokładność pomiaru wilgotności: ±5,0%RH

Czujnik do kupienia w sklepie electropark.pl (http://electropark.pl/czujniki-wilgotnosciwilgotnosci/2853-dht11-czujnik-temperatury-i-wilgotnosci.html)

 

Podłączenie do Raspberry Pi:

 

Oznaczenie wyjść w czujniku DHT11

    Oznaczenie wyjść w czujniku DHT11

 

  1. VCC – podłączamy do 3,3V albo 5V w Raspberry Pi
  2. DATA – podłączamy do Pinu GPIO 4 w Raspberry Pi (pomiędzy VCC a DATA wpinamy Rezystor 4,7Ω lub 10Ω)
  3. Pozostawiamy pusty
  4. Podłączamy do GND w Raspberry Pi

 

Schemat podłączenia czujnika DHT 11 do Raspberry Pi
Schemat podłączenia czujnika DHT 11 do Raspberry Pi

 

Gdy już wszystko mamy poprawnie podłączone logujemy się do Naszego Raspberry przez SSH.

W konsoli wpisujemy kolejno:

  • sudo apt-get install git-core
  • sudo apt-get update
  • sudo apt-get install -y python3 python3-pip python-dev
  • sudo pip3 install rpi.gpio
  • sudo apt-get update
  • sudo apt-get install build-essential python-dev
  • sudo git clone http://github.com/adafruit/Adafruit_Python_DHT.git
  • cd Adafruit_Python_DHT
  • sudo python setup.py install
  • cd examples
  • sudo chmod +x AdafruitDHT.py
  • sudo ./AdafruitDHT.py 11 4

 

Po wpisaniu ostatniej komendy powinniśmy otrzymać Nasze odczyty. Powinno to wyglądać mniej więcej tak:

 

Przykładowe odczyty z czujnika DHT11
Przykładowe odczyty z czujnika DHT11

 

Widać na nich, że Nasza temperatura to 24 stopnie a wilgotność 34.

Gdy wszystko działa poprawnie należy dodać w systemie Domoticz „Wirtualny Przełącznik” o czym pisałem w tym artykule…tylko w akurat w tym przypadku w typie przełącznika należy ustawić „Temp+Wilg”.

Należy zapamiętać IDX tego przełącznika i utworzyć plik, który będzie automatycznie odczytywał wartości temperatury i wilgotności z czujnika i przesyłał je do systemu Domoticz.

Aby to zrobić wpisujemy w konsoli kolejno:

  • sudo nano temp.sh

W nowo otwartym pliku wklejamy poniższy kod:

Wartości:

SERVER – zmieniamy na IP swojego systemu Domoticz i swój PORT

DHTIDX – zmieniamy na Idx Waszego Wirtualnego czujnika temperatury i wilgotności, który wcześniej utworzyliście

DHTPIN – jest to PIN GPIO, do którego podłączyliście PIN DATA czujnika – w moim przykładzie jest to PIN 4.

Musicie zwrócić uwagę czy w linii 15 utworzonego pliku temp.sh (/home/pi/Adafruit-Raspberry-Pi-Python-Code/Adafruit_DHT_Driver/Adafruit_DHT 11) ścieżka do Waszego pliku Adafruit_DHT jest taka sama w Waszym przypadku.

Na koniec musimy już tylko zapisać Nasz plik i nadać mu uprawnienia poprzez komendę:

  • sudo chmod +x temp.sh

Ostatnim etapem będzie sprawienie by skrypt uruchamiał się co określony czas i przesyłał odczyty do Naszego systemu Domoticz.

Aby to zrobić w naszej uruchomionej konsoli wpisujemy:

  • crontab -e

Przechodzimy do końca pliku gdzie wpisujemy:

*/10 * * * * /home/pi/temp.sh

W moim przypadku będzie to odczyt co 10 minut. Wy możecie ustawić sobie jaki chcecie poprzez modyfikację wartości – „10”

Powinno to wyglądać mniej więcej tak:

 

cron

 

Zapisujemy Nasz plik.

W tym momencie powinniśmy mieć działający czujnik temperatury i wilgotności, który co 10 minut będzie wysyłał odczyty do Naszego „Wirtualnego Przełącznika” w systemie Domoticz.

 

A tak to wygląda u mnie
A tak to wygląda u mnie

 
W przypadku DHT 21 wszystko robimy tak samo tylko w pliku temp.sh zamiast liczby „11” w ścieżce „sudo nice -20 python /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 $DHTPIN > /var/tmp/temp.txt” wpisujemy „2302”

Gdyby coś nie działało pod tym adresem znajdziecie gotowy plik.

141 Odpowiedzi

  1. Witam.
    Wyskakuje mi takie coś:
    pi@raspberrypi:~/Adafruit-Raspberry-Pi-Python-Code $ sudo git clone git://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git

    fatal: destination path ‚Adafruit-Raspberry-Pi-Python-Code’ already exists and is not an empty directory.
    Proszę o pomoc.

  2. Agnieszka Kostrzewa

    Witam
    Z opisu błędu wynika, iż istnieje już taki folder na raspberry. Bardzo proszę sprawdzić komendą „ls” czy taki folder już nie istnieje. Możliwe, że już wcześniej wykonał Pan ten krok.
    Ewentualnie proszę usunąć katalog „sudo rm-r Adafruit-Raspberry-Pi-Python-Code” i spróbować raz jezcze.
    Pozdrawiam

  3. Witam ponownie.
    Tak sprawdziłem te pliki ale nic z nich nie działa, spędziłem kilka dobrych godzin żeby je wszystkie przejrzeć ale niestety fiasko. Czy mogłaby Pani wrzucić swój plik z raspberrego gdzieś w folder i mi podesłać? Bardzo by mi to pomogło. Z góry dziękuję

  4. Agnieszka Kostrzewa

    Panie Pawle

    Faktycznie teraz to wszystko wygląda inaczej.
    Poprawiłem już plik temp.sh – teraz powinno być wszystko dobrze.
    Proszę zacząć od początku i po komendzie:
    sudo apt-get install git-core
    Wpisać kolejno:
    sudo apt-get update
    sudo apt-get install -y python3 python3-pip python-dev
    sudo pip3 install rpi.gpio
    sudo apt-get update
    sudo apt-get install build-essential python-dev
    sudo git clone git://github.com/adafruit/Adafruit_Python_DHT.git
    cd Adafruit_Python_DHT
    cd examples
    sudo chmod +x AdafruitDHT.py
    sudo ./AdafruitDHT.py 11 4 (o ile 4 to Pana pin gdzie podłączył Pan czujnik)

    Pozdrawiam

    • witam serdecznie.
      mam problem z komenda „sudo pip3 install rpi.gpio”
      po podaniu tej komendy pojawia się info ” requirement already satisfied (use-upgrade to upgrade)
      co jest nie tak?
      co mam zrobić żeby było ok?
      z góry dziękuję za pomoc.

      • Łukasz Kostrzewa

        Witam
        Proszę spróbować wpisać komendę bez sudo:

        pip3 install rpi.gpio

        Proszę dać znać czy pomogło
        Pozdrawiam

        • pomoglo dziekuje.
          teraz mam inny proble, gdy uruchamiam skryp ręcznie pokazuje temp i wilgotnośc ale nie chce przesłać tego do domoticza.
          w czym może być problem?

          • Łukasz Kostrzewa

            Witam Serdecznie
            Utworzył Pan z pliku temp.sh plik wykonawczy poprzez -sudo chmod +x temp.sh?
            Co się Panu wyświetla w konsoli po odpaleniu pliku temp.sh poprzez komendę sudo ./temp.sh?
            Pozdrawiam

  5. Serdecznie dziękuję za pomoc. W końcu się udało. Tylko jedna uwaga dla kogoś kto miał taki sam problem i sugerował się naszymi postami pod artykułem. Pani Agnieszko, zapomniała Pani napisać, że po komendzie cd Adafruit_Python_DHT należy wpisać komendę sudo python setup.py install , ale dla kogoś kto będzie postępował zgodnie z instrukcją zawartą w artykule nie będzie miał żadnych problemów. Dziękuję jeszcze raz za pomoc i pozdrawiam 😉

  6. Dobry wieczór, na wstępie bardzo dziękuję za powyższy tutorial. Mam jednak problem z uruchomieniem lokalnie czujnika DHT11 na malinie.
    Po wpisaniu komendy
    sudo pip3 install rpi.gpio otrzymuję:
    sudo: pip3: nie znaleziono polecenia
    idąc dalej
    po wpisaniu komendy
    sudo ./AdafruitDHT.py 11 4
    otrzymuję:
    Traceback (most recent call last):
    File „./AdafruitDHT.py”, line 24, in
    import Adafruit_DHT
    ImportError: No module named Adafruit_DHT

    Proszę o pomoc, pozdrawiam!

  7. Znalazłem obecny błąd. Zamiast komendy:
    sudo pip3 install rpi.gpio wpisałem
    sudo pip-3.2 install rpi.gpio
    i ruszyło.
    Mój wynik po wpisaniu sudo ./AdafruitDHT.py 11 4
    Temp=22.0* Humidity=45.0%

  8. Witam serdecznie,
    dziękuję za tą instrukcję i zwracam się jednocześnie o pomoc.

    Mam czujnik DHT21
    W konsoli czujnik odczytuje temperaturę i wilgotność:
    root@raspberrypi:~/Adafruit_Python_DHT/examples# sudo ./AdafruitDHT.py 2302 4
    Temp=21.7* Humidity=37.0%
    konfig temp.sh wygląda tak:

    #!/bin/sh

    # Domoticz server
    SERVER=”192.168.1.5:8080″
    # DHT IDX
    DHTIDX=”2″

    # DHTPIN
    DHTPIN=”4″

    sleep 5

    sudo nice -20 python /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 2302 $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://$SERVER/json.htm?type=command&c=getauth&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;2″

    TEMP=””
    HUM=””

    W domoticz, który pracuje pod adresem 192.168.1.5:8080 w którym dodany jest sprzęt dummy i urządzenie: temperatura i wilgotność już nie pokazuje wartości (idx czujnika ma wartość:2)

    Prośba o pomoc co robię źle, dziękuję

    • Łukasz Kostrzewa

      Witam Serdecznie

      Utworzył Pan z pliku temp.sh plik wykonawczy poprzez -sudo chmod +x temp.sh?

      Co się Panu wyświetla w konsoli po odpaleniu pliku temp.sh poprzez komendę sudo ./temp.sh?

      Nie miałem do czynienia akurat z tym czujnikiem (DHT21) ale jeżeli odczytuje wartości temperatury i wilgotności to działa.

      Proszę sprawdzić co się wyświetla po odpaleniu sudo ./temp.sh i dać znać.

      Pozdrawiam

      • Panie Łukaszu, mistrzostwo, nie utworzyłem pliku wykonawczego teraz działa,
        można podpiąć że powyższy opis działa z czujnikiem dht21
        jeszcze raz dziękuję za pomoc i pozdrawiam serdecznie

        • Łukasz Kostrzewa

          Bardzo się cieszę, że się udało 🙂
          Zaraz zmienię opis i dodam DHT21 – dziękuję za info, że wszystko działa jak należy.
          Pozdrawiam

  9. Witam
    U mnie wszystko działa do czasu ustawienia hasła do panelu Domoticz – powoduje to brak możliwośći przesyłu danych przez skrypt czy istnieje możliwość zapisania w pliku temp.sh loginu i hasła ewentualnie jakaś inna możliwość przesyłu w takim przypadku?
    pi@raspberrypi:~ $ sudo ./temp.sh
    awk: line 1: syntax error at or near }
    23.0
    47.0
    HTTP/1.1 401 Unauthorized
    Content-Length: 91
    Content-Type: text/html
    Set-Cookie: SID=none; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT

    Unauthorized401 Unauthorizedp

    • Panie Pawle,
      proszę spróbować:
      curl -s -i -H „Accept: application/json” „http://uzytkownik:haslo@$SERVER/json.htm?type=command&c=getauth&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;2”

      Pozdrawiam
      Grzegorz

  10. Witam!

    jak wpisuję komendę sudo ./AdafruitDHT.py 11 4 to podaje temp. i wilgotność.
    A w domoticzu pokazuje 0 stopni / 50%

    Co może być nie tak?

    • Łukasz Kostrzewa

      Witam Serdecznie

      Jeżeli uruchamia Pan ./AdafruitDHT.py 11 4 to raspberry wyświetla wartości z czujnika (skoro się wyświetlają na pewno wiadomo, że wszystko jest dobrze podłączone).
      Za pomocą tej komendy nie wyśle Pan danych do Domoticz.
      Aby to zrobić należy utworzyć pik temp.sh o czym pisałem w poradniku.
      Musi Pan podać w tym pliku odpowiedni dla Pana systemu numer IP, ścieżkę dostępu do AdafruitDHT.py oraz IDX urządzenia i wszystko powinno działać poprawnie.
      Pozdrawiam

      • Już się zorientowałem ze ten plik temp.sh ma być w home/pi. Już zrobiłem, ale teraz jak uruchamiam ./AdafruitDHT.py 11 4 to jest inna temp. i wilg. niż w domoticzu.

        • pi@pi:~ $ sudo ./temp.sh
          ./temp.sh: 1: ./temp.sh: #!/bin/sh: not found
          16.0
          35.0
          HTTP/1.1 200 OK
          Content-Length: 53
          Content-Type: application/json;charset=UTF-8
          Cache-Control: no-cache
          Pragma: no-cache
          Access-Control-Allow-Origin: *

          {
          „status” : „OK”,
          „title” : „Update Device”

  11. U mnie wywala taki błąd i nie mam pojęcia dlaczego ;)) liczę na małą podpowiedź 😉

    pi@raspberrypi:~/domoticz $ sudo ./temp.sh
    23.8
    37.8
    HTTP/1.1 200 OK
    Content-Length: 24
    Content-Type: application/json;charset=UTF-8
    Cache-Control: no-cache
    Pragma: no-cache
    Access-Control-Allow-Origin: *

    {
    „status” : „ERR”
    }

    • Już sobie poradziłem, ten błąd oznaczał że źle podałem numer IDX 😉

    • Jednak problem nie został rozwiązany do końca, bo wystąpił drugi, mianowicie po odpaleniu skryptu temp.sh, widzę prawidłową temperaturę i wilgotność, lecz później stoi w miejscu, nie zmieniają się parametry temperatury i wilgotności, mimo że LAST SEEN, zmienia się co 1min, bo tak mam ustawione.

      • Łukasz Kostrzewa

        Witam Serdecznie

        Rozumiem, że w crontab ustawiał Pan by skrypt odpalał się co 1 minutę?
        Nie zmieniają się wartości bo może temperatura i wilgotność się nie zmienia? Proszę złapać czujnik w dwa palce i wtedy sprawdzić czy temperatura nie rośnie?
        Ja mam ustawione żeby sprawdzał temperaturę co 10 minut i wszystko działa poprawnie.
        Czujnik DHT 11 nie jest jednak zbyt dokładny (+-1 stopień).

        Pozdrawaim

  12. Dzięki za powyższy tutorial, wszystko przejrzyście i fajnie opisane. Niestety napotkałem na jeden problem czujnik (DHT22) działa ok, kłopot jest wysyłką danych do Domoticza. Kiedy ręcznie wywołam skrypt temp.sh wszystko jest super. Natomiast crone nie chce aktualizować danych, ustawioną mam aktualizację co 5 min, poza ty wszystko jak w tutorialu. Dane na pewno się zmieniają bo widzę to przy ręcznym wywołaniu skryptu.

    • Łukasz Kostrzewa

      Witam Serdecznie
      Bardzo się cieszę, że „prawie wszystko” już działa:)
      Bardzo bym prosił o wysłanie screena z crontab -e na maila [email protected].
      Sprawdzę czy wszystko jest poprawnie.
      Bardzo proszę zrestartować raspberry o ile Pan tego nie robił wcześniej albo o wpisanie – sudo service cron restart.
      Rozumiem, że jak wywoła Pan skrypt ręcznie to wszystkie wartości w Domoticz się aktualizują?

      Pozdrawiam i czekam na screena

      • Witam,
        znalazłem rozwiązanie problemu, proponuję aby wszyscy, którzy mają problemy z crone-em spróbowali poniższego, ponieważ podobnie jak u mnie może to być problem z uprawnieniami.
        Zatem, zamiast „crontab -e” wpiszcie proszę „sudo crontab -e” a następnie tak jak w tutorialu „*/10 * * * * /home/pi/temp.sh” u mnie zaczęło działać bez problemu.
        Pozdrawiam.

        • Łukasz Kostrzewa

          Witam raz jeszcze

          Bardzo się cieszę, że się udało. Czasami trzeba pokombinować…w sumie to prawie zawsze:)

          Pozdrawiam

  13. Wiatm!

    A ja mam taki problem, odczyt z dht22 co jakiś czas jest -12C i 3623 wilgontość. Co może być nie tak?

    • Łukasz Kostrzewa

      Witam Serdecznie
      Dał Pan rezystor 4,7 Ohma między DATA a VCC?
      Z drugiej strony nie jest to nic nadzwyczajnego – mam 5 sztuk DHT11 zamontowanych w moim mieszkaniu i też mam takie dziwne odczyty co jakiś czas (raz na kilka dni). Te czujniki majątku nie kosztują także…:)
      Pozdrawiam i życzę miłego dnia

  14. Tak dałem. Zaobserwowałem że dzieje się to w czasie gdy załącza się wyciąg w łazience. Bo czujnik mam w łazience, i mam ustawne zdarzenie, że jak wilgotność przekroczy 45% to się załącza wyciąg. Ale to tylko jeden zły odczyt i potem jest OK. Pozdrawiam.

    • Łukasz Kostrzewa

      No to mamy winowajce 🙂 Niestety te czujniki są podatne na wiele rzeczy.
      Ja mam za to ciągły problem z gniazdkami 433Mhz (raz działają a raz nie – zależy gdzie stanę w mieszkaniu 🙁 To samo tyczy się bramki Mysensors na arduino nano (o czym będę pisał w przyszłych postach).
      Pozdrawiam

  15. Witam, jak można podpiąć kilka czujników DHT11.
    Można na jednej lini, czy należy każdy na oddzielnym GIPO.
    Pozdrawiam,
    Tomek

    • Łukasz Kostrzewa

      Witam Serdecznie

      Oczywiście można do jednej szyny GPIO w Rasberry podpiąć kilka czujników DHT11.
      Należy pin DATA podpiąć pod inny PIN GPIO i odpowiednio skonfigurować skrypt – to samo co w przykładzie tylko z innym numerem PIN.

      Pozdrawiam

  16. Witam,

    stworzyłem wirtualny przycisk w domoticzu ale cały czas wyskakuje mi:

    pi@raspberrypi:~ $ ./temp.sh
    23.0
    40.0
    HTTP/1.1 200 OK
    Content-Length: 24
    Content-Type: application/json;charset=UTF-8
    Cache-Control: no-cache
    Pragma: no-cache
    Access-Control-Allow-Origin: *

    {
    „status” : „ERR”
    }
    i trochę już nie wiem gdzie jest błąd
    z terminala mogę odczytać temperaturę i wilgotność ale do domoticza nie eksportuje

    Może jakieś sugestię?

    • Łukasz Kostrzewa

      Witam Serdecznie

      A może Pan wkleić zawartość pliku temp.sh?

      Pozdrawiam

      • #!/bin/sh

        # Domoticz server
        SERVER=”192.168.1.105:8080″
        # DHT IDX
        DHTIDX=”5″

        # DHTPIN
        DHTPIN=”4″

        sleep 5

        sudo nice -20 python /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 4 > /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://$SERVER/json.htm?type=command&c=getauth&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;2″

        TEMP=””
        HUM=””

        • Łukasz Kostrzewa

          Witam Serdecznie

          Niech Pan usunie cyfrę „4” z tej linijki –> sudo nice -20 python /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 4 > /var/tmp/temp.txt
          Bardzo proszę o info czy pomogło.
          Jest Pan pewny, że DHTIDX=”5″ odpowiada Pańskiemu wirtualnemu przyciskowi i wybrał Pan w nim Tem+Wilg?

          Pozdrawiam

          • Seweryn

            Bardzo dziękuje usunięcie 4 pomogło 🙂

          • Łukasz Kostrzewa

            Bardzo proszę 🙂
            Cieszę się, że mogłem pomóc
            Pozdrawiam

          • Przemysław

            Witam mam taki sam problem, tą 4 usunąłem, idx się zgadza, server tak samo. Bardzo proszę o pomoc.

  17. Witam, próblem który mam u siebie pojawił w komentarzach ale rozwiazania brak a chodzi o ostatnią komende :

    sudo ./AdafruitDHT.py 11 4
    i to co sie wyświetla :

    Traceback (most recent call last):
    File „./AdafruitDHT.py”, line 24, in
    import Adafruit_DHT
    ImportError: No module named Adafruit_DHT

    Proszę o pomoc

    • wpisując polecenia w ten sposób wszystko działa … :

      sudo apt-get install git-core

      sudo apt-get update
      sudo apt-get install -y python3 python3-pip python-dev
      sudo pip3 install rpi.gpio
      sudo apt-get update
      sudo apt-get install build-essential python-dev
      sudo git clone git://github.com/adafruit/Adafruit_Python_DHT.git
      cd Adafruit_Python_DHT

      sudo python setup.py install
      cd examples
      sudo chmod +x AdafruitDHT.py
      sudo ./AdafruitDHT.py 11 4

      dziwne …

  18. Tak Panie Łukaszu, ten problem a w zasadzie ten komunikat o którym wspomniałem czyli :

    Traceback (most recent call last):
    File „./AdafruitDHT.py”, line 24, in
    import Adafruit_DHT
    ImportError: No module named Adafruit_DHT ” nie pojawia sie po użyciu tego kodu który wstawiłem w komentarzu 🙂

    Wszystko działa z wyjątkiem odczytu temperatury co 10 min i wyświetlaniu jej w Domoticz ..

  19. Panie Łukaszu czy ten problem z tym odczytem temperatury może wynikać z tego że :

    Program temp.sh jest w : :~/domoticz/scripts
    Natomiast komenda do corna wygląda tak : */10 * * * * /home/pi/temp.sh

    Czy program powinienem umieścić w home/ pi ?

    • Łukasz Kostrzewa

      Witam Serdecznie

      Dokładnie dlatego 🙂 Proszę zmienić na poprawny adres w cronie –> */10 * * * * /home/pi/domoticz/scripts/temp.sh i zrestartować raspberry.

      Pozdrawiam

  20. Ja mam pytanko o dokładność np do dwóch miejsc po przecinku jeśli chodzi o temperaturę. Jak tego dokonać?

    • Łukasz Kostrzewa

      Witam Serdecznie
      A po co aż tak dokładny pomiar?:)
      DHT11 ma dokładność +-2 stopnie a DHT22 +- 0,5 stopnia także na tych czujnikach nie widzę możliwości (a bardziej sensu) takich pomiarów bo i tak są zbyt mało dokładne żeby się opierać na ich wynikach (zwłaszcza do dwóch miejsc po przecinku)
      Pozdrawiam i życzę miłego dnia

  21. Dobry artykuł, zrobiłem wszystko w 3min i działa tylko, że pokazuje dziwnie niską wilgotność:
    pi@raspberrypi ~/projects/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 4
    Temp=24.0* Humidity=16.0%

    Z ciekawości próbowałem też ten drugi (może jednak mam dht22):
    pi@raspberrypi ~/projects/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 2302 4
    Temp=614.4* Humidity=409.6%

    A kupiłem dokładnie dht11 z wlutowanym opornikiem – taką gotową płytkę z wychodzącymi trzema pinami.

    Wilgotność 16% to jakoś nisko.. szczególnie, że niby zakres dht11 jest od 20%.. Coś robię nie tak?

    • Łukasz Kostrzewa

      Witam Serdecznie

      Cieszę się, że wszystko się udało i działa 🙂
      Jeżeli chodzi o wilgotność to mi czujniki DHT11 (mam ich 4) pokazują (w tym momencie) 19, 20, 29 i 34%.
      16% wydaje się faktycznie trochę mało ale też wszystko zależy od tego gdzie Pan ma umieszczony czujnik.
      Mi pokazuje najmniejszą wilgotność w miejscu gdzie mam cały sprzęt (Amplituner, TV, Konsola, Dyski twarde – tam mam 19%) Największą wilgotność mam w sypialni 🙂
      Niech Pan chwilę potestuje – ale te 16 niewiele odbiega od niektórych moich wskazań. Fajnie by było jakby w mieszkaniu było minimum 30% wilgotności a najlepiej i zdecydowanie więcej.
      Niech Pan spróbuje otworzyć okna na kilka godzin i sprawdzi czy odczyt się zmienia.

      Pozdrawiam i czekam na info jak się sprawny mają:)

      • Hmm może faktycznie, czujnik mam obok access pointu i raspberry. Niestety nie mam jak przetestować w innym miejscu bo mam bardzo krotkie kabelki do pi 😉 A powiedz Łukasz, jak masz połączone te wszystkie dht11 z pi? Masz kable przez całą chatę? A może da się jakoś sensownie bezprzewodowo ten sygnał przesyłać z różnych pomieszczen?

        • Położyłem obok czujnika stacje pogodową i ona pokazuje 41% wilgotności i 22C. Czujnik podaje 17% i 24C aktualnie. Może i temperatura w ramach błędu ale wilgotność kompletnie z czapy… Coś musi być nie tak

          • Łukasz Kostrzewa

            Witam

            Czujniki DHT11 to jedne z najtańszych czujników na rynku i nie należą one do najdokładniejszych (chociaż ich dokładność to +-5% jeżeli chodzi o wilgotność i +-2 stopnie jeżeli chodzi o temperaturę) jednak to zbyt duża różnica w stosunku do stacji pogodowej (co nie znaczy, że akurat to ona wskazuje dobrze:)

            Pozdrawiam

        • Łukasz Kostrzewa

          Witam raz jeszcze

          Mam w domu 4 Raspberry Pi i 2 Arduino.
          Dlatego nie musiałem ciągnąć kabli bo w każdym pomieszczeniu jest oddzielny „komputerek”:)
          Można zrobić bezprzewodowo za pomocą bramki Mysensors o czym pisałem na blogu (tylko trzeba wgrać odpowiedni program do czujników DHT11).

          Pozdrawiam

    • Rozwiązałem problem 🙂 Gdyby ktoś miał taki efekt, że ma zbyt niskie odczyty wilgotności a od czasu do czasu wahają się mocno np. ja miałem raz ok. 19% raz ok. 33% przy pomiarach co 15min. Próbowałem wszystkiego: umieszczania w różnych pomieszczeniach, z dala od urządzeń elektrycznych, z dala od okien, próbowałem zasilania 3,3V i 5V, różnych płytek, trzymania w wilgoci i w suchym żeby niby skalibrować, nawet z głupa stawiałem sam czujnik w różnych pozycjach itp. itd. Ostatecznie zmieniłem ładowarkę do raspberry pi i jak ręką odjął 🙂 teraz mam stały odczyt temperatury (czasem się wahnie o 1 stopień) i odczyt wilgotności ok 40% czyli tak jak stacja pogodowa, wahniecia wilgotności z odczytu na odczyt są cały czas ale w ramach 5% więc wszystko się zgadza.
      Ja mojej ładowarki używałem od lat do raspberry i nigdy nie było problemów a chodzi tam wiele usług i dość mocno jest wykorzystywane. Ładowarka dodam, że jest z duzego centrum rtv agd za niemałe pieniądze więc nie sugerujcie się że „macie dobrą ładowarkę”. Także jeśli masz problem taki jak ja – sprobuj paru innych ladowarek do swojego serwerka.
      Pozdrawiam!

      • Łukasz Kostrzewa

        Witam Serdecznie
        Bardzo dziękuję za podzielenie się swoimi przemyśleniami…
        Nigdy bym nie wpadł na to, że problemem może być ładowarka!
        Ja mam u siebie odczyty w okolicach 30% co może odpowiadać stanowi faktycznemu (każdy czujnik to inne raspberry).
        Okazuje się, że dobre zasilanie raspberry to podstawa i bardzo częsta przyczyna wielu problemów w różnych projektach i samym działaniu.
        Jeszcze raz bardzo dziękuję za spostrzeżenia, które na pewno się komuś przydadzą.

        Pozdrawiam

  22. Cześć,
    w moim małym projekcie użyłem d1 mini oraz DHT11 oraz gotowego kodu wgranego przez Arduino IDE (https://www.hackster.io/vsaravind007/esp8266-simple-weather-station-f0824b). Chciałbym aby Domoticz widział ten czujnik da sie zamienić jakoś api.iostash.io na domoticz badz tez moze zmienic calkiem kod (niestety żaden ze mnie programista) potrafie wykorzystac tylko juz istniejacy kod. Bardzo prosze o poradę. Dziękuję

  23. w moim przypadku nie chce sie zapisac crontab…

    no crontab for pi – using an empty one
    crontab: installing new crontab
    „/tmp/crontab.5iBoWy/crontab”:23: bad command
    errors in crontab file, can’t install.
    Do you want to retry the same edit? (y/n)

  24. Witam ponownie.
    Problem rozwiazany. Bląd, tradycyjnie, prozaiczny.
    Przeoczyłem spacje pomiedzy *
    Kolejnym problemem było przesłanie danych do Domoticza przez json
    Rozwiazaniem okazalo sie wpisanie adresow rodzimych routera w ustawieniach Domoticza.
    Pozdr

    • Łukasz Kostrzewa

      Witam Serdecznie

      Cieszę się, że się udało. W przypadku raspberry i pythona oraz innych języków programowania każda literka i spacja się liczy:)

      Pozdrawiam

  25. Bardzo dziękuję za te wpisy. WSZYSTKO działa. Zrobiłem jak w opisie, zainstalowałem i CHODZI!
    Jeszcze raz dziękuję.
    Mam pytanko (jestem laikiem) co trzeba pozmieniać w skrypcie, żeby podpiąć np. 6-7 czujek?
    Co należy dopisać?
    Mam czujniki DHT11 (jak na pierwszym obrazku).
    Pozdrawiam

    • Łukasz Kostrzewa

      Witam Serdecznie
      Bardzo się cieszę, że wszystko gra i buczy:)

      7 czujek? Znaczy się 7 czujników DHT11?
      Po pierwsze będzie trzeba kupić płytkę stykową bo raspberry ma tylko 4 piny zasilające (2x5V i 2x3v3V).
      W skrypcie trzeba będzie zmienić tylko DHTPIN (odpowiednie piny, d o których podłącza Pan kolejne czujniki) i DHTIDX (należy utworzyć 7 Dummy switches w Domoticzu i wpisać kolejny IDX) na odpowiednie.

      Pozdrawiam i życzę powodzenia

      • Hm, a tego nie podłącza się równolegle? Poza tym mam dodatkowy zasilacz 3,3V stabilizowany.
        Myślałem, że wszystko „idzie” na PIN-ie 4 a dopisać trzeba tylko dodatkowe linie z DHT IDX.
        Dziekuję za odpowiedź.

  26. mi nie działa ;< walczyłem długo i nie mam pojęcia.
    Próbowałem na dwóch dht22
    pi@raspberrypi0:~/Adafruit_Python_DHT $ cd examples/
    pi@raspberrypi0:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 22 4
    Failed to get reading. Try again!
    pi@raspberrypi0:~/Adafruit_Python_DHT/examples $

  27. Ładowanie strony trwa bardzo długo…

    • Agnieszka Kostrzewa

      Witam. u mnie dziala dzybko. Moze byly jakies chwilowe problemy z serwerem. Pozdrawiam

  28. A mi wyskakuje cos takiego

    pi@pi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 17
    Traceback (most recent call last):
    File „./AdafruitDHT.py”, line 41, in
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
    File „build/bdist.linux-armv7l/egg/Adafruit_DHT/common.py”, line 90, in read_retry
    File „build/bdist.linux-armv7l/egg/Adafruit_DHT/common.py”, line 77, in read
    File „build/bdist.linux-armv7l/egg/Adafruit_DHT/Beaglebone_Black.py”, line 206, in read
    ValueError: Pin must be a valid GPIO identifier like P9_12 or GPIO1_28.

  29. Witam,
    polecenie: sudo ./temp.sh

    zwraca:

    21.0
    65.0
    HTTP/1.1 401 Unauthorized
    Content-Length: 91
    Content-Type: text/html
    Set-Cookie: SID=none; HttpOnly; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT
    a w Domoticz widze tylko 0,50

    a

    sudo curl -s -i -H „Accept: application/json” „http://admin:haslo@$SERVER/json.htm?type=command&c=getauth&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;2”
    [4] 1929
    [5] 1930
    [6] 1931
    [7] 1932
    [8] 1933
    -bash: 2”: nie znaleziono polecenia
    [3] Kod wyjścia 1 curl -s -i -H „Accept: application/json” „http://admin:doman@$SERVER/json.htm?type=command
    [5] Zakończono c=getauth
    [6] Zakończono param=udevice
    [7] Zakończono idx=$DHTIDX
    [8]- Zakończono nvalue=0

    • Agnieszka Kostrzewa

      Widac ze czujnik dziala ale jest problem z wyslaniem informacji do Domoticz. Serwer i idx sa na bank dobrze wpisane? Ma Pan ustawione w Ustawieniach Domoticz zeby w sieci lokalnej nie zadał haseł? Trzeba w tym polu wpisac: 127.0.0. *; 192.168.0.* lub inne w zaleznosci od Pana sieci. Moze to o to chodzi. Prosze sprobowac

      • ustawiłem Local Networks (no username/password): 127.0.0. *; 192.168.120.* a w temp.sh wpisalem recznie:
        curl -s -i -H „Accept: application/json” „http://192.168.120.210/json.htm?type…………………………
        teraz jest : pi@raspberrypi:~ $ sudo ./temp.sh
        20.0
        57.0
        ale wartosci w Domoticz nadal 0,50

  30. ruszylo,
    dodalem nowy dummy czujnik, zmienilem idx, jako adres serwera w temp.sh podalem 127.0.0.1 i działa, dzieki

    może jakiś tutorial z bmp180?

    • Agnieszka Kostrzewa

      Dzieki za info. Dziwne to troche ale grunt ze działa 🙂 Poki co nie mialem do czynienia z tym barometrem… Moze w przyszlosci… Pozdrawiam

  31. Dzien dobry, wszystko dzialalo, nagle przestalo, prosze o pomoc w czym moze byc problem?
    root@raspberrypi:/home/pi# ./temp.sh
    1.9*
    6.3%
    HTTP/1.1 400 Bad Request
    Content-Length: 89
    Content-Type: text/html;charset=UTF-8
    Last-Modified: Wed, 29 Nov 2017 18:44:00 GMT

    Bad Request400 Bad Requestroot@raspberrypi:/home/pi#

  32. Blad wystepuje gdy temperatura jest ponizej 10st. Powyzej 10 st wszystko jest ok. Czujnik DHT 22

    • Agnieszka Kostrzewa

      Dziwne bo DHT22 jest do – 40.
      Mi czasami nie zaczytuje temperatury w kazdym z 5 DHT11. Przewaznie wystarczy ze rusze kablem i dziala ale w tym przypadku musi byc inny problem. Tylko jaki? Moze sa to ograniczenia sterownika… Moze sa jakies nowsze w sieci? Kurcze nie mam pojecia. Ale skoro dxieje sie tak ponizej minus 10 to dzwna sprawa. Przepraszam ale nie pomogę 🙁

  33. Nie, dzieje sie tak ponizej -10 tylko ponizej 10 st. Mam wrazenie ze Domoticz nie przyjmuje jednej cyfry

  34. Jakby ktos mial taki sam problem jak moj to ponizej jest rozwiazanie:

    #!/bin/bash
    # Domoticz server
    # Please replace [SERVER] and [PORT] to reflect the Domoticz server specifications
    SERVER=”[SERVER]:[PORT]”
    # DHT IDX
    # The number of the IDX in the list of peripherals
    DHTIDX=”18″
    # DHTPIN
    # The GPIO or connects DHT11
    DHTPIN=”22″
    # TMPFILE: path for temporary file in place to avoid the RAMDRIVE
    TMPFILE=”/var/tmp/dht22.txt”
    # Retry loop, try 5 times
    cpt=1
    while [ $cpt -lt 6 ]
    do
    TEMP=””
    echo Attempt: $cpt
    sudo nice -20 /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 $DHTPIN > $TMPFILE
    TEMP=$(cat $TMPFILE | awk -F „=” ‚{print $2}’ | awk -F „.” ‚{print $1}’)
    HUM=$(cat $TMPFILE | awk -F „=” ‚{print $3}’ | awk -F „.” ‚{print $1}’)
    echo „Temp=” $TEMP
    echo „Humid=” $HUM
    # Send data
    curl -s -i -H ‚Accept: application/json’ „http://$SERVER/json.htm?type=command&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;0″
    TEMP=””
    HUM=””
    exit 0
    cpt=$(($cpt+1))
    done
    exit 1

  35. Witam,
    A jak mam podłączone czujniki DS18B20 pod GPIO4 czy z DHT nie będą się gryzły ??

  36. Właśnie podłączyłem czujnik DHT21 i klapa temperatury na 1wire pokazują 0 lub pokjazują temperatury z kosmosu. Jednak nie działają ze sobą te dwa czujniki a szkoda 🙁

  37. Witam ponownie,
    Powiedzcie mi jaki dobrać rezestor podciągakący zamiast 4,7k gdy przewód mam 25m ??

  38. Witam,
    W moim OP Plus2 i Armbianie nie chce to chulać…

    root@orangepiplus2e:~/Adafruit_Python_DHT/examples# sudo ./AdafruitDHT.py 11 37
    Traceback (most recent call last):
    File „./AdafruitDHT.py”, line 41, in
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
    File „build/bdist.linux-armv7l/egg/Adafruit_DHT/common.py”, line 94, in read_retry
    File „build/bdist.linux-armv7l/egg/Adafruit_DHT/common.py”, line 81, in read
    File „build/bdist.linux-armv7l/egg/Adafruit_DHT/Beaglebone_Black.py”, line 213, in read
    RuntimeError: Error accessing GPIO. Make sure program is run as root with sudo!
    root@orangepiplus2e:~/

    Spotkał się ktoś

    • Usunełem nawet całą zawartość mimo wszystko dalej to samo.

  39. Zrezygnowałem z biblioteki Adafruit…

    Rozwiązałem problem przez bibliotekę https://github.com/AiratNig/DHT22-DHT11_Orange-Pi_Python

    Zmodyfikowałęm troszkę skrypt startowy i chodzi 🙂

    #!/bin/sh

    # Domoticz server
    SERVER=”192.168.1.120:9090″
    # DHT IDX
    DHTIDX=”6″

    # DHTPIN
    DHTPIN=”4″

    sleep 5

    sudo nice -20 python /root/domoticz/scripts/python/dht11.py $DHTPIN > /var/tmp/dht11.txt

    TEMP=$(awk ‚ /Temp:/ {print substr ($0,6,2)}’ /var/tmp/dht11.txt)

    HUM=$(awk ‚ /Hudmidity:/ {print substr ($0,19,4)}’ /var/tmp/dht11.txt)

    echo $TEMP
    echo $HUM

    # Send data
    curl -s -i -H „Accept: application/json” „http://$SERVER/json.htm?type=command&c=getauth&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;2&#8243;

    TEMP=””
    HUM=””

  40. A czy jest jakaś możliwość przesłania danych o temperaturze i wilgotności powietrza do domoticza bezprzewodowo?

  41. Dzień dobry,

    Dziękuję za artykuł. Udało mi się uruchomić pomiar temperatury i wilgotności oraz zwizualizować dane w Domoticzu. Mam jednak problem z samym czujnikiem DHT11. Co jakiś czas odczyt temp. znacznie spada a wilgotność wzrasta do 147%. Poniżej efekt kilkukrotnego wywołania polecenia ./AdafruitDHT.py (co kilka sekund)
    Jakiś pomysł co może być nie tak? Pomiędzy pinem zasilającym a pinem danych jest rezystor 4,7k Ohm

    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=15.0* Humidity=147.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=39.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=39.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=39.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=15.0* Humidity=147.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=38.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=38.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=38.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=15.0* Humidity=147.0%

    • Agnieszka Kostrzewa

      Witam Serdecznie. Niestety u mnie też występuje ta przypadłość. Ja mam za to temperaturę 250 stopni:) Jak ktoś wie jak sobie z tym poradzić niech napisze. Pozdrawiam

  42. Dzień dobry,

    Dziękuję za artykuł. Udało mi się uruchomić pomiar temperatury i wilgotności oraz zwizualizować dane w Domoticzu. Mam jednak problem z samym czujnikiem DHT11. Co jakiś czas odczyt temp. znacznie spada a wilgotność wzrasta do 147%. Poniżej efekt kilkukrotnego wywołania polecenia ./AdafruitDHT.py (co kilka sekund)
    Jakiś pomysł co może być nie tak? Pomiędzy pinem zasilającym a pinem danych jest rezystor 4,7k Ohm

    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=15.0* Humidity=147.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=39.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=39.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=39.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=15.0* Humidity=147.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=38.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=38.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=31.0* Humidity=38.0%
    pi@DOMOTICZ:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 11 4
    Temp=15.0* Humidity=147.0%

    • Problem rozwiązany po kilku godzinach udręki. – Jak zwykle błąd ekstremalnie banalny – Błąd w okablowaniu – nie stykała masa.

      • U mnie dokładnie ta sama sytuacja, trzy czujniki DHT11 i na każdym co chwilę wyrzuca w pomieszczeniu 10*C i 147% wilgotności :/ Kable sprawdzone.

        • Agnieszka Kostrzewa

          Ciezko mi coś sensownego poradzić. Moze jakis rezystor dodatkowo? A może jednak warto spróbować DHT22. Dokładniejsze. Ja od dłuższego czasu nie mam z DHT11 żadnych problemów ale tak jak pisałem wcześniej…zdarzały się w przeszłości dziwne wyniki. Pozdrawiam

          • Witam ponownie,
            zmiana na DHT22 pomogła, dzięki za pomoc 🙂

          • Agnieszka Kostrzewa

            Ciesze się że pomogło. Pozdrawiam 🙂

  43. Dzien dobry
    Na moim Domoticzu jest uzytkownik i haslo.
    Mam problem dopisac username i password.
    Jak powinno wygladac polecenie z uzytkownikiem i haslem

    probuje
    <http://domoticz-ip/json.htm?&gt; nie dziala
    probuje tez
    <http://domoticz-ip/json.htm?username=MkE=&password=OVM=&amp; ……..>

    Licze na pomoc, pozdrawiam

  44. Witam.
    Świetny blog!!!
    Mam pytanie bo zaczynam budować system na domoticz.
    Posiadam zainstaliwany program domoticz na głównym routerze w domu z systemem openwrt i mam też kilka innych routerów w domowej sieci z openwrt. Moje pytanie jest takie czy jeżeli na tych pozostałych routerach zamontuje ds18b20 to będzie możliwy odczyt na domoticzu? Jeżeli tak to jak to zrealizować?
    Z góry dziękuję za odpowiedź.
    Pozdrawiam.

    • Agnieszka Kostrzewa

      Dziękuję za me słowa. Niestety nie pomogę gdyż nie miałem z tym systemem doczynienua:( Moze ktos inny wie jak pomoc?

  45. Witam.
    Świetny blog!!!
    Mam pytanie jak przeslac dane z czujnika temperatury ds18b20 zainstalowanego na routerze z openwrt na drugi router w tej samej sieci z zainstalowanym domoticzem tez na openwrt ? Czy jest taka mozliwosc ?
    Dziekuje i pozdrawiam

  46. Bardzo fajny opis, ale zmieńcie ten schemat z rezystorem podciągającym na 4,7k bo już parę razy widziałem posty na forum o upalonym 3.3V i się zastanawiam, czy to nie dzięki temu opisowi.

  47. Witam. u mnie z konsoli wszystko działa ale nie wysyła danych do domoticza. Zrezygnowałem z hasła do logowania i dalej to samo.
    #!/bin/sh

    # Domoticz server
    SERVER=”192.168.0.5:8080″
    # DHT IDX
    DHTIDX=”14051″

    # DHTPIN
    DHTPIN=”24″

    sleep 5

    sudo nice -20 python /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 2302 $DHTPIN > /var/tmp/t$
    #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://$SERVER/json.htm?type=command&c=getauth&param=udev$

    TEMP=””
    HUM=””

  48. Cześć. A u mnie z konsoli działa wszystko tylko nie wysyła do domoticza.

  49. Witam.
    Mam problem z tym czujnikiem i Domoticzem. Wszystkie odczyty przez SSH są poprawnie dokonywane, ale dane nie są przesyłane do Domoticza. Po wejściu na http://192.168.0.106:8080/json.htm?type=command&c=getauth&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;2
    pojawia się komunikat:
    {
    „status” : „ERR”
    }

    Proszę o pomoc, wszystkie pliki są poprawnie utworzone, ale nie wiem co może stanowić problem.

    • Agnieszka Kostrzewa

      A utworzyl Pan przelacznik w Domoticz i zmienił odpowiednio dane w pliku temp tak jak opisałem? Jeżeli tak to może kwestia hasła w Domoticz. W ustawieniach Domoticz w zakładce Sieci lokalne (bez hasla/loginu) proszę wpisać 192.168.0.*;127.0.0.* Nie mam pomysłu co może być inna przyczyną

  50. Witam,

    Jestem na etapie utworzenia crontab, niestety po wpisaniu podanych wartosci wyskakuje blad:
    no crontab for pi – using an empty one
    crontab: installing new crontab
    „/tmp/crontab.FWzTfF/crontab”:25: bad command
    errors in crontab file, can’t install.
    Do you want to retry the same edit? (y/n)
    Czy przez ten blad nie mam zadnych wartosci temperatury i wilgotnosci w Domoticzu?
    Z gory dziekuje za pomoc

  51. witam,
    mam problem z wyświetleniem temperatury i wilgotności w domoticzu (pokazuje mi ciągle 0st.C i 50% wilgotności). Natomiast jak uruchamiam skrypt temp.sh z konsoli i pojawiają się właściwe odczyty. Skrypt temp.sh umieściłem w katalogu „domoticz/scripts” – czy mam go umieścić w innym katalogu. W crontab ścieżkę dałem „*/10 * * * * /home/pi/domoticz/scripts temp.sh”

    • Agnieszka Kostrzewa

      Witam. Wszystko wydaje się być ok. Rozumiem że po scripts jest / tylko w komentarzu zabrakło? Nie mam pomysłu co może być nie tak:(

  52. Witam,

    Prosze o pomoc…

    • Witam,

      Wszystko pracuje jak nalezy, problem z crontabem spowodowany byl „niewlasciwymi” gwiazdkami.
      Wspanialy, przejzysty poradnik. Z niecierpliwoscia czekam na kolejne..moze na temat wykozystania do przesylu danych z czujnikow do malinki poprzez jakies moduly bezprzewodowe?
      Pozdrawiam…

    • witam,
      dziękuję za szybka odpowiedź, udało się namierzyć błąd – zły adres ip serwera. Teraz domoticz zaczytuje dane z dht11, niestety wilgotność jest mocno zawyżona wskazuje od 82 do 90 %., co może być przyczyną(kabel ok 2m, testowałem na zwykłej skrętce i na ytdy)?

      • Agnieszka Kostrzewa

        Fajnie że się udało. Ja znowu mam niska wilgotność (między 20 a 25:) Moze czujnik dht walniety? Warto spróbować innego. Generalnie DHT11 są średnie. Lepsze i dokładniejsze są DHT22. Pozdrawiam

  53. Witam.
    Proponuje analogiczny skrypt tylko w Python-ie. Moim zdanie bardziej zwięzły i programowo poprawny. Podejrzewam tez że efektywniejszy – szybszy.

    #!/usr/bin/python
    import sys
    import Adafruit_DHT
    import urllib2
    # Domoticz server
    SERVER=”192.168.1.201:8080″
    # DHT IDX
    DHTIDX=”21″
    # DHTPIN
    DHTPIN=”22″

    hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, DHTPIN)

    print(‚Temp={0:0.1f}* Humidity={1:0.1f}%’.format(temp, hum))
    url = „http://{}/json.htm?type=command&c=getauth&param=udevice&idx={}&nvalue=0&svalue={:0.1f};{:0.1f};2”.format(SERVER, DHTIDX, temp, hum)
    #print (url)
    request = urllib2.Request(url)
    response = urllib2.urlopen(request)
    html = response.read()
    print(html)

    • Agnieszka Kostrzewa

      Hej. Dzięki za alternatywę. Bede musial wypróbować. Pozdrawiam

      • Dopisałem sobie jeszcze kontrole poprawności wyników (bo czasami pojawiają się „śmieci”) i ponowny odczyt

        for i in range(9):
        hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, DHTPIN)
        if (hum > 0) and (hum -30) and (temp < 40):
        break
        time.sleep(3)
        if (i < 9):
        print('Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temp, hum))
        url = "http://{}/json.htm?type=command&c=getauth&param=udevice&idx={}&nvalue=0&svalue={:0.1f};{:0.1f};2".format(SERVER, DHTIDX, temp, hum)
        print (url)
        request = urllib2.Request(url)
        response = urllib2.urlopen(request)
        html = response.read()
        print(html)
        else:
        print("Błąd odczytu czujki")

  54. Witam, po wprowadzeniu pierwszej komendy (sudo apt-get install git-core) otrzymuję taki wynik (oczywiście próbowałem wcześniej update / upgrade):

    Czytanie list pakietów… Gotowe
    Budowanie drzewa zależności
    Odczyt informacji o stanie… Gotowe
    Zostaną zainstalowane następujące NOWE pakiety:
    git-core
    0 aktualizowanych, 1 nowo instalowanych, 0 usuwanych i 3 nieaktualizowanych.
    Konieczne pobranie 1 504 B archiwów.
    Po tej operacji zostanie dodatkowo użyte 21,5 kB miejsca na dysku.
    Błąd:1 http://archive.raspbian.org/raspbian jessie/main armhf git-core all 1:2.1.4-2.1+deb8u7
    404 Not Found [IP: 93.93.128.191 80]
    E: Nie udało się pobrać http://archive.raspbian.org/raspbian/pool/main/g/git/git-core_2.1.4-2.1+deb8u7_all.deb 404 Not Found [IP: 93.93.128.191 80]
    E: Nie udało się pobrać niektórych archiwów, proszę spróbować uruchomić apt-get update lub użyć opcji –fix-missing.

    Proszę o pomoc

  55. OK, dziękuję za szybką odpowiedź

  56. Witam,

    Świetny artykuł, u mnie działa wszystko jak należy. Zastanawia mnie tylko czy możliwe jest podłączenie szeregowe kilku czujników dht 11 do RPi? W jaki sposób w takiej sytuacji powinien być napisany skrypt?

    • Agnieszka Kostrzewa

      Najłatwiej podłączyć kilka czujników gdzie wspólne jest zasilanie i 0 a pin do komunikacji za każdym razem inny. Nie trzeba tego robić w jednym skrypcie tylko w kilku i po problemie.

  57. Witam,
    Mam zainstalowana najnowsza wersje rasbiana boostera light i niestety nie da sie tego zrobic wedlug tego poradnika, przynajmniej mnie sie nie udaje. Udalo mi sie poprzez strone https://github.com/szazo/DHT11_Python.git i wszystko dziala z poziomu konsoli. Jednak nie widzi czujnika Domoticz. Mysle, problem tkwi w sciezce w pliku temp.sh (moje zdanie) jednak nie potrafie jej okreslic prawidlowo i nie wiem jak to zrobic. Moglbym prosic o jakas podpowiedz?

    Pozdrawiam

    • Agnieszka Kostrzewa

      Niestety nie mam żadnych doświadczeń z raspianem boosterem także ciężko mi będzie pomoc 🙁

  58. Ok rozumiem i dziękuję za szybką odpowiedź. Jeszcze jedno pytanie. Gdyby to była starsza wersja rasbiana to jak określić dokładnie ścieżkę prowadzącą do katalogu, w którym odczytuje się wartości z czujnika?
    Dziękuję i pozdrawiam

    • Agnieszka Kostrzewa

      Witam. Ścieżka jest w kodzie temp.sh : home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py

Zostaw Komentarz

*