SMOG i ESP8266 cz. 4: Czujnik, który będzie działał latami dzięki ESPEasy 2.0 MEGA (SDS011 sleep-mode)

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:

  • znaczne uproszczenie projektu, użycie tego samego oprogramowania
  • użycie wbudowanych w SDS011 funkcji ochrony i wyłączania lasera i wentylatora
  • mniejsze zużycie prądu (co może być zaletą przy zasilaniu bateryjnym)
  • znacznie mniejsze zużycie CPU ESP8266
  • taka sama dłuższa żywotność

Wady:

  • jeśli w przyszłości zdecydujemy się na ogrzewanie powietrza wchodzącego w celu wiarygodności polepszenia odczytu – wrócimy do przekaźnika, ponieważ taki był jego pierwotny cel

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.

Czego będziemy potrzebować?

Hardware:

  • gotowego projektu z pierwszej lub drugiej części
  • kabelka jumper sztuk 1 (słownie: jeden)

Software:

  • aktualizacji oprogramowania ESPEasy do wersji MEGA-dev 2.0 (aktualnie używamy: https://github.com/letscontrolit/ESPEasy/releases/). Konfiguracja zostanie zachowana, co nie zwalnia nas jednak od zrobienia kopii – szczególnie skopiowania zawartości „Rules”.

    Do dzieła!

    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):
    upgrade-wemos-d1-mini
    Przechodzimy do części sprzętowej.
    Schemat połączeń:
    wemos_bme280_SDS011_bb
    Łą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.
    sds-esp-connection
    Podłączenie po stronie płytki z ESP8266:
    wemos-left-side
    BME280 podłączamy odpowiednio – dane białym i szarym kablem, zasilanie z 3V oraz GND:
    wemos-right-side
    Konfigurujemy na nowo SDS011 – zwróćcie uwagę na nowe pole dla RX w konfiguracji SDS011:
    esp-easy-smog-sensor-config
    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:
    esp-easy-bme-280-config
    Jeśli wszystko przebiegło bez problemów, mamy skonfigurowany adres domoticza, to powinniśmy otrzymywać dane tak jak na tej stronie:
    esp-easy-mega20-config-devices
    Na koniec modyfikujemy Rules – znacznie upraszczając wysyłanie danych

    On SDS011#PM25 do
    SendToHTTP 10.1.1.1,8080,/json.htm?type=command&param=udevice&idx=1&nvalue=0&svalue=[SDS011#PM25] //Wysylam PM2.5 do Domoticza
    SendToHTTP 10.1.1.1,8080,/json.htm?type=command&param=udevice&idx=2&nvalue=0&svalue=[SDS011#PM10] //Wysylam PM10 do Domoticza
    endon

    esp-easy-mega20-rules
    I to już wszystko. Możemy oczywiście użyć wyświetlacza OLED – łącząc go równolegle z BME280.

Projekty

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:
michal_januszewski

Previous Post Next Post


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (c) 2014-2024 Łukasz C. Jokiel, [CC BY-NC-SA 4.0 DEED](https://creativecommons.org/licenses/by-nc-sa/4.0/)