Files
OpenBK7231T_App/docs/drivers.md
openshwprojects de9dd07fbf docs
2023-04-16 17:24:25 +02:00

6.6 KiB

Drivers

Here is the latest, up to date drivers list. This file was autogenerated by running 'node scripts/getcommands.js' in the repository. All descriptions were taken from code. Remember that some drivers might not be yet enabled on certain platforms, but we can enable them for you per request. Some drivers might also be WIP. Do not add anything here, as it will overwritten with next rebuild.

Driver Description
TuyaMCU TuyaMCU is a protocol used for communication between WiFI module and external MCU. This protocol is using usually RX1/TX1 port of BK chips. See TuyaMCU dimmer example, see TH06 LCD humidity/temperature sensor example, see fan controller example, see simple switch example
tmSensor tmSensor must be used only when TuyaMCU is already started. tmSensor is a TuyaMcu Sensor, it's used for Low Power TuyaMCU communication on devices like TuyaMCU door sensor, or TuyaMCU humidity sensor. After device reboots, tmSensor uses TuyaMCU to request data update from the sensor and reports it on MQTT. Then MCU turns off WiFi module again and goes back to sleep. See an example door sensor here.
NTP NTP driver is required to get current time and date from web. Without it, there is no correct datetime.
HTTPButtons This driver allows you to create custom, scriptable buttons on main WWW page. You can create those buttons in autoexec.bat and assign commands to them
TESTPOWER This is a fake POWER measuring socket driver, only for testing
TESTLED This is a fake I2C LED driver, only for testing
I2C Generic I2C, not used for LED drivers, but may be useful for displays or port expanders. Supports both hardware and software I2C.
BL0942 BL0942 is a power-metering chip which uses UART protocol for communication. It's usually connected to TX1/RX1 port of BK. You need to calibrate power metering once, just like in Tasmota. See LSPA9 teardown example.
BL0942SPI BL0942 is a power-metering chip which uses SPI protocol for communication. It's usually connected to SPI1 port of BK. You need to calibrate power metering once, just like in Tasmota. See PZIOT-E01 teardown example.
BL0937 BL0937 is a power-metering chip which uses custom protocol to report data. It requires setting 3 pins in pin config: CF, CF1 and SEL
CSE7766 BL0942 is a power-metering chip which uses UART protocol for communication. It's usually connected to TX1/RX1 port of BK
SM16703P WIP driver
IR IRLibrary wrapper, so you can receive remote signals and send them. See forum discussion here, also see LED strip and IR YT video
DDP DDP is a LED control protocol that is using UDP. You can use xLights or any other app to control OBK LEDs that way.
SSDP SSDP is a discovery protocol, so BK devices can show up in, for example, Windows network section
Wemo Wemo emulation for Alexa. You must also start SSDP so it can run, because it depends on SSDP discovery.
DGR Tasmota Device groups driver. See forum example and TODO-video tutorial (will post on YT soon)
PWMToggler PWMToggler is a custom abstraction layer that can run on top of raw PWM channels. It provides ability to turn off/on the PWM while keeping it's value, which is not possible by direct channel operations. It can be used for some custom devices with extra lights/lasers. See example here.
DoorSensor DoorSensor is using deep sleep to preserve battery. This is used for devices without TuyaMCU, where BK deep sleep and wakeup on GPIO is used. This drives requires you to set a DoorSensor pin. Change on door sensor pin wakes up the device. If there are no changes for some time, device goes to sleep. See example here.
MAX72XX_Clock Simple hardcoded driver for MAX72XX clock. Requirex manual start of MAX72XX driver with MAX72XX setup and NTP start.
ADCButton This allows you to connect multiple buttons on single ADC pin. Each button must have a different resistor value, this works by probing the voltage on ADC from a resistor divider. You need to select AB_Map first. See forum post for details.
SM2135 SM2135 custom-'I2C' LED driver for RGBCW lights. This will start automatically if you set both SM2135 pin roles. This may need you to remap the RGBCW indexes with SM2135_Map command
BP5758D BP5758D custom-'I2C' LED driver for RGBCW lights. This will start automatically if you set both BP5758D pin roles. This may need you to remap the RGBCW indexes with BP5758D_Map command. This driver is used in some of BL602/Sonoff bulbs, see video flashing tutorial here
BP1658CJ BP1658CJ custom-'I2C' LED driver for RGBCW lights. This will start automatically if you set both BP1658CJ pin roles. This may need you to remap the RGBCW indexes with BP1658CJ_Map command
SM2235 SM2335 andd SM2235 custom-'I2C' LED driver for RGBCW lights. This will start automatically if you set both SM2235 pin roles. This may need you to remap the RGBCW indexes with SM2235_Map command
CHT8305 CHT8305 is a Temperature and Humidity sensor with I2C interface.
KP18068 KP18068 I2C LED driver
MAX72XX MAX72XX LED matrix display driver with font and simple script interface.
TM1637 Driver for 7-segment LED display with DIO/CLK interface
GN6932 Driver for 7-segment LED display with DIO/CLK/STB interface. See this topic for details.
SHT3X Humidity/temperature sensor. See SHT Sensor tutorial topic here, also see this sensor teardown
SGP SGP Air Quality sensor with I2C interface.
ShiftRegister ShiftRegisterShiftRegisterShiftRegisterShiftRegister
Battery Custom mechanism to measure battery level with ADC and an optional relay. See example here.
Bridge TODO