Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tam
// startDriver BMPI2C 8 14 1 2 3 0
// startDriver BMPI2C [CLK] [DATA] [ChannelForTemp] [ChannelForPressure] [ChannelForHumidity] [Addr]
// Adr8bit 0 for 0x77, 1 for 0x76
BMPI2C_Cycle 60
// startDriver BMPI2C [CLK] [DATA] [ChannelForTemp] [ChannelForPressure] [ChannelForHumidity] [Addr]
//SDO to GND for Adr8bit 236 for 0x76 or set SD to VCC for Adr8bit 238 for 0x77
//set CSB pin to GND for SPI mode and to VCC for I2C mode
// startDriver BMP280 8 14 1 2 3 236
// startDriver BMP280 [CLK] [DATA] [ChannelForTemp] [ChannelForPressure] [ChannelForHumidity] [Adr8bit]
// Adr8bit 236 for 0x76, 238 for 0x77
startDriver BMPI2C 26 24 4 5 6 238
//BMP680_Adr 0x77
startDriver BMP280 8 7 1 2 3 236
//BMP280_Adr 0x76divadiow wrote:that's cool. so that's your own build with the old driver added?
#define ENABLE_DRIVER_BMPI2C 1
#define ENABLE_I2C 1. #define ENABLE_DRIVER_BL0937 0;
#define ENABLE_DRIVER_BL0942 0,
#define ENABLE_DRIVER_CSE7766 0,
#define ENABLE_DRIVER_WEMO 0,
#define ENABLE_DRIVER_DHT 0
#define ENABLE_DRIVER_CHT83XX 0
#define ENABLE_DRIVER_DS1820 0
#elif PLATFORM_BL602
// I have enabled drivers on BL602
#define ENABLE_TASMOTADEVICEGROUPS 1
#define ENABLE_LITTLEFS 1
#define ENABLE_NTP 1
//#define ENABLE_NTP_DST 1
#define ENABLE_CALENDAR_EVENTS 1
#define ENABLE_DRIVER_LED 1
#define ENABLE_DRIVER_BL0937 1
#define ENABLE_DRIVER_BL0942 1
#define ENABLE_DRIVER_CSE7766 1
//#define ENABLE_DRIVER_WEMO 1
#define ENABLE_DRIVER_FREEZE 0
//#define ENABLE_DRIVER_DHT 1
// parse things like $CH1 or $hour etc
#define ENABLE_EXPAND_CONSTANT 1
#define ENABLE_TASMOTA_JSON 1
#define ENABLE_DRIVER_DDP 1
#define ENABLE_DRIVER_SSDP 1
//#define ENABLE_DRIVER_CHT83XX 1
//#define ENABLE_DRIVER_DS1820 1
#define OBK_OTA_EXTENSION ".bin.xz.ota"/home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/customer_app/bl602_sharedApp/build_out/shared/libshared.a(drv_main.o): in function `.LANCHOR0':
drv_main.c:(.data.g_drivers 0x24): undefined reference to `DRV_I2C_Init'
/home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: drv_main.c:(.data.g_drivers 0x28): undefined reference to `DRV_I2C_EverySecond'
/home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: drv_main.c:(.data.g_drivers 0x34): undefined reference to `DRV_I2C_Shutdown'
/home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/customer_app/bl602_sharedApp/build_out/shared/libshared.a(new_pins.o): in function `Channel_OnChanged':
/home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/customer_app/bl602_sharedApp/bl602_sharedApp/shared/src/new_pins.c:1060: undefined reference to `I2C_OnChannelChanged'
make[1]: *** [/home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/customer_app/bl602_sharedApp/../../make_scripts_riscv/project.mk:448: /home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/customer_app/bl602_sharedApp/build_out/bl602_sharedApp.elf] Error 1
make[1]: Leaving directory '/home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/customer_app/bl602_sharedApp'
make: *** [Makefile:177: OpenBL602] Error 2
Error: Process completed with exit code 2.TL;DR: OpenBK keeps BMP/BME280-enabled firmware below 400 kB [Elektroda, olekwal, post #21371661]; “Very impressed with OpenBK” [Elektroda, bilbs84, post #20862072] Flash the driver, wire SDA/SCL, run
startDriver BMPI2C …, and your sensor publishes temperature, pressure and humidity to Home Assistant in under five minutes.
Why it matters: Re-using cheap WB2S/BL602 modules avoids landfill and adds room-wide climate data to any smart home.
• I²C addresses selectable: 0x76 or 0x77 via jumper or command [Elektroda, bilbs84, post #20861920]
• Default OpenBK sampling: 1 s; adjustable to 60 s+ with BMPI2C_Cycle [Elektroda, p.kaczmarek2, post #21123022]
• Chip IDs – BMP280 0x58, BME280 0x60, BME680 0x61 [Elektroda, bilbs84, post #20862072]
• Typical OTA binary size with driver: ≈400 kB (compressed) [Elektroda, olekwal, post #21371661]
• Sensor offset: on-board temperature reads 2-3 °C high [Elektroda, Helmi_Beh, post #20862559]
startDriver BMPI2C <CLK> <DATA> <TempCh> <PressCh> <HumCh> <Addr> where Addr is 1 for 0x76 or 0 for 0x77 [Elektroda, p.kaczmarek2, post #21123022]#define ENABLE_DRIVER_BMP280 1 (or ENABLE_DRIVER_BMPI2C 1) in obk_config.h, then flash the new binary [Elektroda, p.kaczmarek2, post #20945538]BMPI2C_Cycle <seconds>; e.g., BMPI2C_Cycle 60 publishes once a minute [Elektroda, p.kaczmarek2, post #21123022] Older BMP280 driver lacks this option—update or script throttling.Temp_div100, Pressure_div100, and Humidity_div100 for the respective channels, or let discovery auto-map them. Missing mapping leaves blank fields on the device page even though MQTT data is sent [Elektroda, bilbs84, post #20864417]startDriver BMPI2C 26 24 4 5 6 238 (BME680 0x77)
startDriver BMP280 8 7 1 2 3 236 (BMP280 0x76) [Elektroda, DeDaMrAz, post #21275971]addChannelOffset command or in Home Assistant if precise ambient values are required.ENABLE_I2C for BMPI2C; it is standalone. A patch fixing the linker issue is in commit 8fba7dd3 [Elektroda, p.kaczmarek2, post #21370874]obk_config.h, enable driver.*.ota artifact (≈400 kB).