SONOFF B1 R2 – flashowanie USB2TTL

W ramach zdobywania nowej wiedzy z zakresu smarthome (i poćwiczenia lutowania) postanowiłem przeflashować swojego Sonoffa B1 R2 na Tasmotę. Niestety, nie da się tego zrobić z użyciem OTA (np poprzez Tuya-Convert) tylko trzeba się dostać do modułu z użyciem konwertera USB2TTL. Tą metodą można przeflashować większość Sonoffów (jedne wygodniej, inne trochę mniej) oraz prawdopodobnie inne urządzenia SmartHome oparte o układ ESPXXXX

Potrzebne narzędzia:
1. Konwerter USB-TTL
2. Trochę przewodów, najlepiej z goldpinami
3. Lutownica i cyna
4. Oprogramowanie do połączenia z ESP po porcie COM

Jako konwertera USB-TTL użyłem niezawodnego CP2102, ale zamiast niego można prawdopodobnie wykorzystać inny dostępny na rynku (PL2303, FTDI, CH340)

Oprogramowaniem z którego korzystałem przy tym flashowaniu było ESPEASY Flasher. W celu przygotowania go do wgrania Tasmoty wystarczy pobrać obraz .bin tasmoty z repozytorium i wgrać do podkatalogu /bin programu.

Rozmontowujemy naszą żarówkę, aby dostać się do pól lutowniczych. Na szczęście matowy klosz żarówki jest mocowany na gwincie więc można go po prostu odkręcić.

Żarówka ustabilizowana za pomocą 'trzeciej ręki’

Następnie dolutowujemy przewody do odpowiednich pól lutowniczych zgodnie z instrukcją.

Dolutowane cztery przewody. Postanowiłem po prostu zwierać przewód do pola w przypadku GPIO0

Po dolutowaniu przewodów podpinamy je do konwertera. Pamiętamy o tym, aby przewód TX jednego urządzenia łączyć z RX drugiego i odwrotnie. Poza tym standardowo – 3.3V do 3.3V i masa do masy. Robimy też dodatkowe wyprowadzenie przewodu masowego aby go zewrzeć z GPIO0. W trakcie flashowania żarówka nie musi być podłączona do zewnętrznego zasilania – 3.3V dostarczane przez programator USB w zupełności wystarcza do zasilenia ESP.

Jedną ręką zwieramy dodatkową masę do GPIO0 a drugą wpinamy nasz konwerter do portu USB. W moim przypadku trzeba było trzymać ten przewód w tak niewygodnej pozycji około 25s – krótsze próby kończyły się niepowodzeniem w postaci chipu zablokowanego przed flashowaniem.

Po udanym połączeniu uruchamiamy ESPEASY Flasher, z rozwijanych menu wybieramy nasz port COM (rozpoznamy go po tym, że w nazwie pojawi się nazwa naszego programatora), obraz firmware (pobrany na początku). Dla wygody możemy też od razu podać dane konfiguracyjne naszego wi-fi, dzięki czemu oszczędzimy sobie kłopotów z podłączaniem się do access pointu uruchamianego przez urządzenie przy pierwszym uruchomieniu.

Klikamy Flash ESP Easy FW (tak, jasne 😉 ) i oprogramowanie się wgrywa do żarówki.

Po przeflashowaniu odszukujemy na routerze nasze urządzenie i wchodzimy na jego adres IP.
Wchodzimy w Configuration -> Other i w polu Template wklejamy konfigurację z repozytorium.

Jeśli korzystamy z MQTT i Home Assistanta to w zakładce Configuration -> MQTT podajemy adres naszego serwera.


A na serwerze następującą konfigurację (znaleziona tu)
light sonoff_bulb:
- platform: mqtt
  name: "nazwa zarowki"

  command_topic: "cmnd/sonoff-xxxx/POWER"
  state_topic: "stat/sonoff-xxxx/POWER"
  payload_on: "ON"
  payload_off: "OFF"

  brightness_command_topic: "cmnd/sonoff-xxxx/DIMMER"
  brightness_scale: 100
  brightness_state_topic: "stat/sonoff-xxxx/RESULT"
  brightness_value_template: "{{ value_json.Dimmer }}"

  rgb_command_topic: "cmnd/sonoff-xxxx/COLOR"
  rgb_command_template: "{{ '%02x%02x%02x0000' | format(red, green, blue) }}"
  rgb_state_topic: "stat/sonoff-xxxx/RESULT"
  rgb_value_template: "{{ value_json.Color[0:2]|int(base=16) }},{{ value_json.Color[2:4]|int(base=16) }},{{ value_json.Color[4:6]|int(base=16) }}"

  color_temp_command_topic: "cmnd/sonoff-xxxx/CT"
  color_temp_state_topic: "cmnd/sonoff-xxxx/RESULT"
  color_temp_value_template: "{{ value_json.CT }}"

  effect_command_topic: "cmnd/sonoff-xxxx/SCHEME"
  effect_state_topic: "stat/sonoff-xxxx/RESULT"
  effect_value_template: "{{ value_json.Scheme }}"
  effect_list:
    - 0
    - 1
    - 2
    - 3
    - 4

  availability_topic: "tele/sonoff-xxxx/LWT"
  payload_available: "Online"
  payload_not_available: "Offline"

Dzięki temu możemy w naszej żarówce konfigurować różne tryby świecenia. Możemy regulować kolor, barwę oraz efekty.

W wypadku, gdyby nasza konfiguracja wi-fi nie działała poprawnie, reset urządzenia odbywa się poprzez 6-krotne wyłączenie zasilania.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *