[-]
Szybkie szukanie


Baner sklepu jdtech.pl
Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
ESPHome rozszerzenie Home Assistanta o DIY oparte na ESP
07-01-2020, 00:14 (Ten post był ostatnio modyfikowany: 19-01-2020 06:17 przez szopen.)
Post: #6
Home Assistant (Hass.io) - ogromne możliwości integracji ID
Jak mówiłem, tak zrobiłem, wprawdzie "poleciałem łatwizną", tj. użyłem ESPHome, WLED zostawiam sobie na późniejsze eksperymenty (na wypadek sytuacji, gdyby konstrukcja miała być używana bez HA większa elastyczność konfiguracji jest wskazana - np. gdyby konstrukcja była na prezent dla kogoś, to nie można wymagać "inteligentengo domu" do sterowania lampką).
edit: WLED też pociągnąłem "metodą na lenia", temat jednak jest wystarczająco odrębny od HA (może bezproblemowo stanowić samodzielne rozwiązanie), więc poświęciłem mu osobny wątek:
http://forum.jdtech.pl/Watek-wled-dla-le...oddzielnie

Ponieważ trafiłem na problem z wykorzystaniem zalecanego wszędzie GPIO02, przypuszczalnie był to problem związany z obciążeniem go poziomem podciągniętym do masy (przez wejście pierwszego układu WS2812B) w trakcie bootowania, więc użyłem dostępnego w ESP-01 portu GPIO03 (normalnie to jest bodajże RXD0 portu szeregowego, nie ma to kluczowego znaczenia, jak się okazuje - gdy zajrzymy w dokumentację biblioteki Neopixelbus, która używa tego portu w metodzie z wykorzystaniem DMA… gdzie nie ma możliwości wyboru portu wyjściowego lecz jest na sztywno użyty GPIO03 ), wciąż to prowizorka, bo tymczasowo użyłem zasilania przekraczającego 4V (a ESP-01 z układem Puya nie powinien być zasilany napięciem powyżej 3,6V, więc tak nie będzie w ostatecznym wykonaniu) - czekam na resztę sprzętu, jak dotąd dotarł tylko pasek z adresowalnymi LEDami, a moduły ESP-01 wykorzystałem te wspomniane wcześniej (z trójpaku).

Pełna konfiguracja dla biblioteki FastLED wygląda u mnie tak (hasła i SSID mojej sieci są w osobnym pliku secret.yaml, stąd takie odwołania w konfiguracji), oczywiście to wersja robocza z wrzuconymi przykładowymi efektami (na potrzeby projektu nastrojowych lampek są raczej zbędne, choć można dopracować parametry, by nie były "męczącą wioską"):

Kod:
esphome:
  name: azdel826603
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid:  !secret wifi_ssid
  password: !secret wifi_pass

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "esp01s_03_nie_mam_wifi"
    password: !secret wifi_rcvr

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

light:
  - platform: fastled_clockless
    chipset: WS2812B
    pin: GPIO03
    num_leds: 30
    rgb_order: GRB
    name: "FastLED WS2812B Light"
    default_transition_length: 0.5s
    color_correct: [100%, 100%, 100%]
    effects:
      - addressable_rainbow:
          name: Tęcza
      - addressable_rainbow:
          name: Tęcza z wartościami użytkownika
          speed: 10
          width: 15
      - addressable_color_wipe:
          name: Efekt kolorowa roletka
      - addressable_color_wipe:
          name: Efekt roletka biały
          colors:
            - red: 100%
              green: 100%
              blue: 100%
              num_leds: 3
            - red: 0%
              green: 0%
              blue: 0%
              num_leds: 5
          add_led_interval: 300ms
          reverse: False
      - addressable_color_wipe:
          name: Efekt kolorowa roletka na choinkę
          colors:
            - red: 100%
              green: 0%
              blue: 0%
              num_leds: 5
            - red: 0%
              green: 100%
              blue: 0%
              num_leds: 5
          add_led_interval: 100ms
          reverse: False
      - addressable_scan:
          name: Efekt skanowania
      - addressable_scan:
          name: Efekt skanowania 1 LED  z wartościami użytkownika
          move_interval: 100ms
          scan_width: 1
      - addressable_scan:
          name: Efekt skanowania 3 LED  z wartościami użytkownika
          move_interval: 100ms
          scan_width: 3
      - addressable_twinkle:
          name: Efekt rozbłyski
      - addressable_twinkle:
          name: Efekt rozbłyski z wartościami użytkownika
          twinkle_probability: 5%
          progress_interval: 4ms
      - addressable_random_twinkle:
          name: Efekt losowe rozbłyski
      - addressable_random_twinkle:
          name: Efekt losowe rozbłyski z wartościami użytkownika
          twinkle_probability: 5%
          progress_interval: 32ms
      - addressable_fireworks:
          name: Efekt fajerwerków
      - addressable_fireworks:
          name: Efekt fajerwerków z wartościami użytkownika
          update_interval: 32ms
          spark_probability: 10%
          use_random_color: false
          fade_out_rate: 120
      - addressable_flicker:
          name: Efekt migotania
      - addressable_flicker:
          name: Efekt migotania  z wartościami użytkownika
          update_interval: 32ms
          intensity: 35%

sensor:
  - platform: adc
    pin: VCC
    name: "Napięcie VCC 3"
  - platform: wifi_signal
    name: "Siła sygnału WiFi 3"
    update_interval: 60s
  - platform: uptime
    name: Uptime ESP01-3

dla biblioteki Neopixelbus (przewidując potencjalny problem z bootowaniem gdy użyję pinu GPIO02) użyłem od razu metody DMA (dla ESP8266 używającej GPIO03), poniżej tylko fragment definiujący użycie biblioteki Neopixelbus, cała reszta może być identyczna z poprzednim przykładem (i u mnie jest identyczna choć to oddzielne "urządzenie" - sflaszowałem 2 oddzielne moduły by móc porównać pracę z wykorzystaniem obu bibliotek, więc oczywiście poniżej pomijam fragmenty konfiguracji, które muszą się różnić - choćby nazwa modułu, powyżej i tak jest mocno robocza)
Kod:
light:
  - platform: neopixelbus
    variant: WS2812
    method: ESP8266_DMA
    num_leds: 30
    type: GRB
    name: "NeoPixel WS2812B Light"
    default_transition_length: 0.5s
    color_correct: [100%, 100%, 100%]

Różnic w działaniu nie widać, a skoro nie widać… Big Grin
no ale jest jeszcze kwestia optymalizacji kodu - podobno neopixel pod tym względem lepiej wypada (ale to dane sprzed kilku lat, a w tym czasie obie biblioteki ewoluowały, jakkolwiek na pewno jest pisany metodą "bliżej sprzętu" w sensie MCU) może to mieć znaczenie dla bardziej rozbudowanych konstrukcji (gdzie będzie istotna ilość miejsca zajmowanego we flashu czy wykorzystanie RAMu).

Co do efektów świecenia, to niestety nie jestem zadowolony (jako światło efektowe jest całkiem OK), ale kolor "fabrycznie biały" jest raczej nie do zaakceptowania (spodziewałem się tego po diodach RGB, więc w bardziej użytkowym projekcie należałoby zastosować jeszcze dodatkowo diody/paski ciepło-białe) wprawdzie udało mi się uzyskać coś zbliżonego do 2700K przy ustawieniu jak z obrazka
   
ale to dość daleko od środka koła (gdzie jest domyślna biel), natomiast ograniczenie jasności wybranych kanałów niestety dość mocno psuje światło efektowe (choć można zredukować ilość niebieskiego i troszeczkę zielonego, ale dobranie sensownych wartości wymaga dość długich eksperymentów).

Można teoretycznie zastosować układy wyposażone w 4 LEDy (RGBW), np. niektóre konstrukcje na SK6812 ale nie wnikałem aż tak głęboko, bo projekt z założenia miał być tani, a i tak z tego co wiem zwykle stosowane są zimno-białe LEDy, a konstrukcji RGBTW tego typu jeszcze nie widziałem.

Przykładowe zdjęcia taśmy LED podczas wyświetlania niektórych efektów (specjalnie na ciemnym niemal czarnym tle, by zdjęcia nie miały "wypranych kolorów") po lewej efekt "bożonarodzeniowy", a po prawej fragment "tęczy" (ta fotka akurat miała prezentować przykład lutowania 2 odcinków taśmy, co jest widoczne między 3 a 4 "diodą" od lewej - tam gdzie jest ostro, więc się nie skupiałem na widoczności efektu świetlnego), oczywiście oba efekty są ruchome.
       

Statystyki Folding@home
[Obrazek: sigimage.php?un=szopen&t=247478]
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
ESPHome [split] - szopen - 01-12-2019, 17:48
Home Assistant (Hass.io) - ogromne możliwości integracji ID - szopen - 07-01-2020 00:14
ESPHome [split] - szopen - 24-04-2021, 23:43

Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Home Assistant (Hass.io) - ogromne możliwości integracji ID szopen 109 57 816 14-10-2024 14:24
Ostatni post: szopen
  HACS (Home Assistant Community Store) - alternatywny "sklep" z rozszerzeniami dla HA szopen 29 15 167 03-02-2023 13:23
Ostatni post: szopen
  ESPHome i tworzenie interfejsu uzytkownika na wyświetlaczu arekark 3 2 561 17-03-2021 16:02
Ostatni post: szopen
  Wybór sprzętu na "bazę" pod Home Assistant Ekonomista 46 17 427 08-08-2020 06:12
Ostatni post: Ekonomista



MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: './c1jdtech_forum/threadviews.MYI' (errno: 2 "No such file or directory")
Query:
INSERT INTO threadviews (tid) VALUES('5644')