poniedziałek, 18 grudnia 2017

Czujnik smogu SDS011, Wemos, przełącznik - wszystko w działaniu

Dobry wieczór!

Aktualizacja! Zapraszam do lektury świetnego wpisu o udostępnianiu danych z czujnika na blogu https://raspberrywpraktyce.wordpress.com/2018/03/14/czujnik-sds011-i-wizualizacja-danych-na-opensensemap/

Rozszerzając opis podłączenia czujnika SDS011 - tym razem dodałem element, który opisywał Łukasz Jokiel na swoim blogu - przełącznik, który włącza SDS011 co pewien określony czas.

Nie opisywałbym tego oczywiście mając tą samą konfigurację, ale akurat nie dość, że miałem LoLin (jakaś tam iteracja Wemos z Chin) a nie Wemos Mini, to jeszcze kupiłem inny przełącznik.

No i zaczęło się - musiałem się trochę nauczyć. Same plusy :) Bardzo pomocna była strona: https://blog.siliconstraits.vn/relay-what-is-it-and-how-to-use-it/, gdzie autor świetnie opisał wszelkie możliwe informacje.


Podłączenie wtyczek dostarczonych wraz z SDS011 do samego czujnika było proste. 


Później do samego Wemos


Poniżej już całość, czyli:

1. Wemos (czy LoLin jak kto woli) (kilka PLN z Chin)
2. Przełącznik Songle SRD-05VDC-SL-C (10 PLN w Polsce)
3. Czujnik SDS011 (63 PLN z Chin)



Połączenia:
Z Wemos 5V -> do przełącznika DC+
Z Wemos GND -> do przełącznika DC-
Z Wemos GPIO 5 (D1) Output Low -> do przełącznika IN

Z Wemos 5V -> do przełącznika NO

Z przełącznika COM -> SDS 5V

W SDS:
GPIO 12 (D6) -> TX
GND -> GND
5V -> COM

I po kolei każda zakładka w Wemos i ESPEasy.


Main to tylko info


Na zakładce Config jest SSID sieci WiFi i hasło. Ale to już skonfigurowane zostało wcześniej. Tutaj z tą różnicą, że wgrywamy wersję developerską beta (na moment pisania 147 RC8).





Zwróćcie uwagę na Pin Mode 5 (D1) - Output Low - tym pinem będziemy sterować przełącznikiem


Na Devices dodajemy czujnik smogu - tak jak opisane na blogu Łukasza, ale tutaj akurat nie ma wielkiej filozofii... 


Ta zakładka pojawi się, gdy włączymy Rules w Advanced configuration na następnej ;) Tutaj esencja - dwa liczniki, które odliczają czas i w odpowiednim czasie włączają/wyłączają SDS. Łukasz dokładnie to opisał, ale:
1. Włączamy SDS na 120 sekund, aby się rozpędził, pobrał dane, wysłał do Domoticz, po tym wyłączył. Hint: w nawiasach kwadratowych składnia: [NazwaSDS#NazwaZmiennej].
2. Ja czekam 30 minut aby ponownie go włączyć

Wszystko po to, aby oszczędzić czujnik oraz laser, ma skończoną żywotność. 

Kod:
On System#Boot do
timerSet,1,30
endon

On Rules#Timer=1 do
GPIO,5,1
timerSet,2,120
endon

On Rules#Timer=2 do
SendToHTTP 192.168.1.200,80,/json.htm?type=command&param=udevice&idx=243&nvalue=0&svalue=[CzujnikSmogu#PM25]
SendToHTTP 192.168.1.200,80,/json.htm?type=command&param=udevice&idx=242&nvalue=0&svalue=[CzujnikSmogu#PM10]
GPIO,5,0
timerSet,1,1800
endon


W Domoticz dodajemy dummy Hardware i do niego dwa Custom sensors, których IDX wpisujemy w skrypcie w Rules.



Tadam! Odczyty mam chyba trochę zawyżone przez to, że aktualnie zapakowałem czujnik w pudło, gdzie brak wentylacji. Albo faktycznie jest tak źle...


15 komentarzy:

  1. : WD : Uptime 3 ConnectFailures 0 FreeMem 19568
    155026 : EVENT: Rules#Timer=2
    155041 : ACT : SendToHTTP 192.168.0.68,8080,/json.htm?type=command¶m=udevice&idx=3&nvalue=0&svalue=nan
    159451 : Timeout while reading input data!
    159459 : ACT : SendToHTTP 192.168.0.68,8080,/json.htm?type=command¶m=udevice&idx=2&nvalue=0&svalue=nan
    160509 : Timeout while reading input data!
    160512 : ACT : GPIO,5,0
    160513 : SW : GPIO 5 Set to 0
    160514 : ACT : timerSet,1,200


    nie moge zmusic esp do wysylania info do domoticza

    OdpowiedzUsuń
    Odpowiedzi
    1. W ESPEasy dane pokazują się w zielonym oknie?

      Usuń
    2. Ten komentarz został usunięty przez autora.

      Usuń
    3. http://images.tinypic.pl/i/00956/jv9scga7aldw.jpg

      Usuń
    4. Tak dla pewności: zmieniłeś w skrypcie svalue=[CzujnikSmogu#PM25] na svalue=[Smog#PM25]?

      Usuń
    5. On Rules#Timer=2 do
      SendToHTTP 192.168.0.68,8080,/json.htm?type=command&param=udevice&idx=3&nvalue=0&svalue=[Smog#PM25]
      SendToHTTP 192.168.0.68,8080,/json.htm?type=command&param=udevice&idx=2&nvalue=0&svalue=[Smog#PM10]
      GPIO,5,0
      timerSet,1,200
      endon

      Usuń
    6. Jeszcze raz dla pewności - w sekcji Controllers podałeś dane swojego Domoticz i zaznaczyłeś Enabled? Nie napisałem tego wprost...

      Usuń
    7. Chociaż nie, zły trop. Skrypt uruchamia bezpośrednio json i aktualizuje czujniki...

      Usuń
  2. Świetny opis. Czy mogę kupić u Ciebie taki cały zestaw gotowy do pracy z moim domoticzem ??

    OdpowiedzUsuń
    Odpowiedzi
    1. Cześć. Prawdę mówiąc - jestem zaskoczony, nigdy nie robiłem takich rzeczy odpłatnie. Może lepiej wskazać linki do konkretnych elementów? Złożenie tego jest naprawdę proste, rozumiem jednak, że nie każdy może mieć na to czas, czy chęci. Jeżeli jednak faktycznie nie chcesz się tym sam zajmować, możemy przenieść ten temat do rozmowy prywatnej.

      Usuń
  3. Witam
    Ja w nieco innej tematyce a mianowicie chciałbym zbudować coś takiego http://projektpimalina.blogspot.com/2016/05/czujnik-poziomu-wegla-na-nadajniku.html?m=1
    ale na Wemos mam już wszystko podłączone wszystko działa w domoticz pokazuje odległość ale nie mogę sobie poradzić z przeliczeniem odległości na procenty (w tej chwili mam wyświetlana odległość od czujnika do węgla a chodziło by mi o to aby wyświetlić ile jest % węgla w zbiorniku przyjmując że 0 cm to 100% a 90 cm to 0%) Da się wogule coś takiego zrobić?

    OdpowiedzUsuń
    Odpowiedzi
    1. Oczywiście, na pewno się da. W czym masz główny problem?

      Usuń
  4. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  5. Witam
    W zasadzie nie mam pojęcia jak by to można przeliczyć cm/% dopiero zaczynam w tym temacie
    W tej chwili mam wyświetlają odległość w zbiorniku od czujnika do węgla a chodziło by mi o to aby wyświetlić ile jest % węgla w zbiorniku przyjmując że 0 cm to 100% a 90 cm to 100%).

    OdpowiedzUsuń
  6. Witam.I jak kolego udało ci się zamienić te cm na procenty ,potrzebuję pomocy w tym temacie może ktoś pomoże ?

    OdpowiedzUsuń