Nasz dość rozbudowany czujnik – wraz z ochroną dzięki przekaźnikowi stał się dosyć skomplikowanym projektem. Tymczasem, dzięki zaangażowaniu Gijs Noorlander’a oraz Waszego – ponieważ budujecie czujniki, piszecie, pytacie – dostaliśmy zaktualizowaną wersję oprogramowania ESPEasy MEGA 2.0 dla ESP8266.
Dlaczego o tym piszę? Ponieważ Gijs dodał funkcję wbudowanej ochrony SDS011, która jest aktywowana poprzez odpowiednie komendy wysyłane na porcie szeregowym. Proste, eleganckie i przedłuża życie oraz jakość pomiarów nie gorzej niż wyłączanie zasilania przez przekaźnik!
Oznacza to, że możemy po podłączeniu jeszcze jednego kabelka, wrócić do prostszego projektu, połączenia pierwszego projektu z dodatkiem czujnika temperatury i wilgotności z drugiego projektu.
Zalety nowego podejścia:
Wady:
Co zostało zmienione? Poprzednio jedynie odbieraliśmy dane z SDS011, teraz będziemy też zwrotnie wysyłać komendy, które uśpią urządzenie na zadany okres czasu. Potem zbudzi się i po 30 wskaże pomiar, a następnie zaśnie znowu – wyłączając laser i wentylator.
Jeśli wcześniej nie wymieniliście oprogramowania sterującego ESP8266 – na płytce Wemos D1 mini na ESP Easy, to zapraszam do instrukcji z pierwszego wpisu o ESP i SMOGu.
Jeśli już macie starszą wersję – aktualizujemy oprogramowanie. Zakładam, że posiadacie rekomendowaną wersję z pojemnością 4MB pamięci flash – wystarczy aktualizacja przez stronę WWW ESPEasy. Udajemy się na przykład – w dniu pisania – do pliku https://github.com/letscontrolit/ESPEasy/releases/tag/mega-20180126 a następnie pobieramy ZIP, rozpakowujemy w dowolnym miejscu i aktualizujemy z menu Tools naszego Wemosa D1 mini (oczywiście inne płytki z ESP8266 tak samo – CUBE, LoLin i tak dalej):
Przechodzimy do części sprzętowej.
Schemat połączeń:
Łączymy dodatkowy kabelek z portu RX (para zielony i żółty) SDS011 a następnie oba TX i RX do ESP8266 (do pinów D7 i D6). Zasilanie to +5V z pinu 5V oraz oczywiście niebieskie GND.
Podłączenie po stronie płytki z ESP8266:
BME280 podłączamy odpowiednio – dane białym i szarym kablem, zasilanie z 3V oraz GND:
Konfigurujemy na nowo SDS011 – zwróćcie uwagę na nowe pole dla RX w konfiguracji SDS011:
Pole Sleep Time: 30 oznacza, że pomiar będzie co 30 minut (+30 sekund na rozgrzanie). Jeśli podamy 0 – będzie działał bez przerw.
Konfiguracja BME280 – bez zmian:
Jeśli wszystko przebiegło bez problemów, mamy skonfigurowany adres domoticza, to powinniśmy otrzymywać dane tak jak na tej stronie:
Na koniec modyfikujemy Rules – znacznie upraszczając wysyłanie danych
On SDS011#PM25 do
SendToHTTP 10.1.1.1,8080,/json.htm?type=command¶m=udevice&idx=1&nvalue=0&svalue=[SDS011#PM25] //Wysylam PM2.5 do Domoticza
SendToHTTP 10.1.1.1,8080,/json.htm?type=command¶m=udevice&idx=2&nvalue=0&svalue=[SDS011#PM10] //Wysylam PM10 do Domoticza
endon
I to już wszystko. Możemy oczywiście użyć wyświetlacza OLED – łącząc go równolegle z BME280.
W komentarzach pojawiają się dodatkowe informacje od tych, którzy zaprojektowali własne czujniki, uprościli inne projekty i chcieli się z nimi podzielić. Szczególnie cenne są materiały video, ponieważ doskonale uzupełniają słowo pisane, a często wskazują lepiej na pewne problemy przy uruchomieniu. Grzegorz Szarzyński z „Czystego Swarzędza” zamieścił bardzo ciekawie zrobiony praktyczny poradnik uruchomienia SDS021, proszę spójrzcie:
Michał Januszewski przygotowuje własny system czujników i raportowania na serwerze – dziś w jeden wieczór uruchomił swoją wersję czujnika, nie zapominając o konwerterze logiki wyświetlacza LCD2004: