logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zalecany układ pinów I2C dla czujnika BME280 w module CBU: Numery pinów SDA/SCL?

qscented 01 Sty 2026 14:24 801 4
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • #1 21795551
    qscented
    Poziom 2  
    Posty: 7
    @ElektrodaBot
    Które piny są najlepsze do podłączenia czujnika I2C BME280 do modułu CBU?
  • REKLAMA
  • #2 21795562
    ElektrodaBot
    AI od OpenAI ChatGPT4
    Posty: 8807
    Pomógł: 357
    Ocena: 936
    qscented napisał:
    @ElektrodaBot
    Który pin jest najlepszy do podłączenia czujnika i2c BME280 do modułu CBU
    Wstępna ocena dostępnych informacji
    - "CBU" to moduł Wi-Fi + BLE firmy Tuya oparty na układzie BK7231N SoC. Oficjalny arkusz danych CBU wymienia GPIO, które są wyprowadzone na kastelowane pady modułu, ale nie wyznacza żadnych dedykowanych pinów I²C. I²C może być zaimplementowane na pinach ogólnego przeznaczenia. W szczególności TX2/RX2 (P0/P1) są używane jako log/boot UART i należy ich unikać w przypadku okablowania aplikacji. ( developer.tuya.com )
    - Przewodnik Tuya "Okablowanie serii CB" pokazuje typowe grupy GPIO widoczne na CBU (P24/P26, P7/P8, P6/P26, P14/P16, itp.), które są odpowiednimi parami dla bit-banged lub programowego I²C. ( developer.tuya.com )
    - Układ Bosch BME280 obsługuje I²C przy napięciu logicznym 3,3 V i ma dwa możliwe adresy I²C (0x76 lub 0x77). Płyty Breakout często zawierają pull-upy i czasami regulator/level-shifter, ale sam układ scalony jest urządzeniem 1,71-3,6 V. ( bosch-sensortec.com )

    Bezpośrednia odpowiedź na pytanie
    - Najlepsza, mało ryzykowna para pinów w module CBU dla I²C BME280:
    - SCL → P24
    - SDA → P26
    Powody: oba są zwykłymi GPIO (z obsługą PWM, bez roli bootowania/konsoli), sąsiadują ze sobą na krawędzi CBU, tworząc krótkie, schludne okablowanie w pobliżu 3V3/GND, i są szeroko stosowane dla I²C w projektach BK7231N. ( developer.tuya.com )

    - Dobre alternatywy (jeśli P24/P26 są już używane w urządzeniu):
    - P7 ↔ P8 (para)
    - P14 ↔ P16 (para, pierwotnie piny SPI, ale użyteczne jako GPIO)
    - P6 ↔ P26 (para mieszana pokazana w instrukcji okablowania Tuya)
    Unikaj używania TX2/RX2 (P0/P1), ponieważ są to logi/boot UART modułu. ( developer.tuya.com )

    Szczegółowa analiza problemu
    - Dlaczego P24/P26?
    - Neutralność elektryczna: P24 i P26 są wejściami/wyjściami ogólnego przeznaczenia z możliwością PWM i bez specjalnych ról związanych z bootowaniem. Są bezpieczne dla sygnałów magistrali, takich jak I²C. ( developer.tuya.com )
    - Wygoda układu: Na mapie pinów CBU znajdują się one obok pinów zasilania (GND pad 13 i 3V3 pad 14), co skraca obszar pętli I²C i ułatwia trasowanie i odciążanie. Krótsze przebiegi zmniejszają pojemność magistrali i poprawiają integralność sygnału. ( developer.tuya.com )
    - Dlaczego unikać P0/P1 (TX2/RX2)?
    - Arkusz danych wyraźnie określa TX2 jako "port dziennika wydruku", a te piny są powszechnie używane podczas uruchamiania i debugowania. Używanie ich do I²C może powodować konflikt z komunikatami rozruchowymi lub przepływami pracy flashowania. ( developer.tuya.com )
    - Korzystanie z alternatywnych par:
    - P7/P8 i P14/P16 są również czystymi, ogólnymi GPIO (P14/P16 obsługują SPI, ale można je zmienić). Są one wymienione jako dostępne "grupy" w przewodniku okablowania Tuya serii CB, dlatego wiele projektów społeczności łączy je w pary dla magistrali. ( developer.tuya.com )
    - Interfejs elektryczny do BME280:
    - Zasilanie czujnika 3.3 V podczas łączenia z CBU (BK7231N I/O ma 3,3 V). Sam układ scalony BME280 określa napięcie VDD 1,71-3,6 V i VDDIO 1,2-3,6 V; wiele płytek breakout akceptuje 3-5 V ze względu na wbudowaną regulację, ale 3,3 V jest najbezpieczniejszym wspólnym mianownikiem z CBU. ( bosch-sensortec.com )
    - Podciąganie I²C: Jeśli w twoim układzie BME280 ich brakuje, dodaj podciąganie 2,2-4,7 kΩ z SDA/SCL do 3,3 V. Renomowane przewodniki i biblioteki BME280 zalecają te wartości. ( github.com )
    - Adresowanie: domyślnie 0x76 lub 0x77 w zależności od dostawcy płyty; SDO związane nisko wybiera 0x76, związane wysoko wybiera 0x77. Potwierdź za pomocą skanowania I²C. ( learn.adafruit.com )

    Praktyczne wskazówki
    - Okablowanie (zalecane piny):
    - CBU 3V3 → BME280 VCC
    - CBU GND → BME280 GND
    - CBU P24 → BME280 SCL
    - CBU P26 → BME280 SDA
    - Przewody powinny być krótkie (≤20-30 cm). Jeśli konieczne jest użycie dłuższych przewodów, należy obniżyć taktowanie I²C (np. 100 kHz) i/lub użyć silniejszych podciągaczy (≈2,2 kΩ). ( github.com )
    - Przykłady oprogramowania układowego:
    - OpenBeken:
    - Przypisywanie ról w Web UI: ustaw P24 = I2C_SCL, P26 = I2C_SDA; Save/Reboot.
    - Konsola: i2c_scan → sprawdź, czy wykryto 0x76/0x77; następnie startDriver BME280.
    - (OpenBeken udostępnia polecenie i2c_scan; typowy przepływ pracy jest zgodny z dokumentacją i praktyką OBK) ( elektroda.com )
    - TuyaOS (tworzenie niestandardowych aplikacji): użyj dowolnych dwóch GPIO, które kontrolujesz dla programowej implementacji I²C; unikaj pinów UART/log. Przy wyborze i inicjalizacji pinów należy odwołać się do tabeli pinów CBU. ( developer.tuya.com )

    Lista kontrolna rozwiązywania problemów
    - Nie znaleziono urządzenia:
    - Potwierdź 3,3 V na BME280 VCC i wspólnej masie.
    - Uruchom skanowanie I²C, aby zobaczyć adres; jeśli sterownik oczekuje 0x77, ale na płycie jest 0x76, ustaw go jawnie. ( learn.adafruit.com )
    - Dodaj/weryfikuj podciągnięcia na SDA/SCL do 3,3 V (2,2-4,7 kΩ). ( github.com )
    - Wypróbuj inną parę pinów (np. P7/P8), jeśli pierwsza para jest zajęta w urządzeniu. ( developer.tuya.com )
    - Sporadyczne odczyty/problemy z długością przewodów:
    - Zmniejsz prędkość do 100 kHz i utrzymuj krótkie przewody; sprawdź solidne uziemienie i czyste połączenia lutowane. ( github.com )

    Krótkie podsumowanie
    - Użyj P24 (SCL) i P26 (SDA) na CBU dla I²C BME280 - czyste, sąsiadujące i bezkonfliktowe z bootowaniem/konsolą. Alternatywy: P7/P8 lub P14/P16. Unikać TX2/RX2 (P0/P1). Zasilanie 3,3 V, zapewnienie podciągania i ustawienie prawidłowego adresu I²C (0x76/0x77). ( developer.tuya.com )

    Pytania do Ciebie
    - Jaki firmware jest zainstalowany na CBU (TuyaOS, OpenBeken, LibreTiny/ESPHome)?
    - Czy jest to goły moduł CBU na własnej płytce drukowanej, czy wewnątrz gotowego produktu Tuya (niektóre piny mogą być już używane)?
    - Jeśli znajduje się wewnątrz produktu, czy możesz udostępnić zdjęcie lub powiedzieć nam, które szpilki są wolne? Mogę zaproponować najbezpieczniejszą parę.

    Referencje
    - Arkusz danych modułu Tuya CBU (mapa GPIO i uwagi dotyczące funkcji, w tym TX2 jako port logowania). ( developer.tuya.com )
    - Wskazówki dotyczące okablowania serii Tuya CB dla grup GPIO CBU (zalecane pary pinów). ( developer.tuya.com )
    - Strona produktu Bosch BME280 (napięcia, interfejs). ( bosch-sensortec.com )
    - Wyprowadzenia Adafruit BME280 i wybór adresu (0x76/0x77). ( learn.adafruit.com )
    - Wskazówki dotyczące okablowania / podciągania BME280 używane przez popularną bibliotekę Arduino. ( github.com )
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
  • REKLAMA
  • Pomocny post
    #3 21796161
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14580
    Pomógł: 654
    Ocena: 12604
    Możesz użyć dowolnego GPIO dla I2C dla BME280 w OBK. Jest to bardzo elastyczne.

    Zobacz przewodnik BME280
    Jak dodać BME280 do inteligentnego urządzenia i wysyłać pomiary do Home Assistant? OpenBeken
    Ten przewodnik OBK BME280 jest najszybszym i najbezpieczniejszym rozwiązaniem, aby rozpocząć pracę. Nie wymaga programowania. Nie musisz nawet samodzielnie kompilować oprogramowania układowego, ponieważ nawet dla niestandardowych czujników OBK ma wariant _sensors dostępny w zakładce Releases.
    https://github.com/openshwprojects/OpenBK7231T_App/releases/
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #4 21842274
    qscented
    Poziom 2  
    Posty: 7
    Witam,
    Dziękuję bardzo. Dzięki Waszemu forum udało mi się uruchomić kilka przełączników dotykowych z modułem CBU i działają one w Home Assistant po dodaniu do nich czujnika temperatury DS18B20. Do programowania użyłem programatora FTDI i programu ltchiptool pod Windows 10.
    Niestety nie mogę sobie poradzić z przełącznikiem dotykowym z modułem VB3S, dla którego również założyłem nowy temat.
  • #5 21842792
    qscented
    Poziom 2  
    Posty: 7
    Witam,
    Dziękuję bardzo. Dzięki Waszemu forum udało mi się uruchomić kilka przełączników dotykowych z modułem CBU i działają one w Home Assistant po dodaniu do nich czujnika temperatury DS18B20. Do programowania użyłem programatora FTDI i programu ltchiptool pod Windows 10.
    Niestety nie mogę sobie poradzić z przełącznikiem dotykowym z modułem VB3S, dla którego również założyłem nowy temat.
REKLAMA