2022-02-19 20:23:50 +01:00
|
|
|
# knx
|
2019-06-02 00:36:28 +02:00
|
|
|
|
2022-02-19 20:23:50 +01:00
|
|
|
This projects provides a knx-device stack for arduino (ESP8266, ESP32, SAMD21, RP2040, STM32), CC1310 and linux. (more are quite easy to add)
|
2018-11-07 21:30:20 +01:00
|
|
|
It implements most of System-B specification and can be configured with ETS.
|
|
|
|
The necessary knxprod-files can be generated with my [CreateKnxProd](https://github.com/thelsing/CreateKnxProd) tool.
|
|
|
|
|
2022-02-19 20:23:50 +01:00
|
|
|
For ESP8266 and ESP32 [WifiManager](https://github.com/tzapu/WiFiManager) is used to configure wifi.
|
2018-11-07 21:30:20 +01:00
|
|
|
|
|
|
|
Don't forget to reset ESP8266 manually (disconnect power) after flashing. The reboot doen't work during configuration with ETS otherwise.
|
|
|
|
|
2019-06-02 00:36:28 +02:00
|
|
|
Generated documentation can be found [here](https://knx.readthedocs.io/en/latest/).
|
2022-02-19 20:23:50 +01:00
|
|
|
|
|
|
|
## Stack configuration possibilities
|
|
|
|
|
|
|
|
Specify prog button GPIO other then `GPIO0`:
|
|
|
|
```C++
|
|
|
|
knx.buttonPin(3); // Use GPIO3 Pin
|
|
|
|
```
|
|
|
|
|
|
|
|
Specify a LED GPIO for programming mode other then the `LED_BUILTIN`:
|
|
|
|
```C++
|
|
|
|
knx.ledPin(5);
|
|
|
|
```
|
|
|
|
|
|
|
|
Use a custom function instead of a LED connected to GPIO to indicate the programming mode:
|
|
|
|
```C++
|
|
|
|
#include <Arduino.h>
|
|
|
|
#include <Adafruit_NeoPixel.h>
|
|
|
|
#include <knx.h>
|
|
|
|
// create a pixel strand with 1 pixel on PIN_NEOPIXEL
|
|
|
|
Adafruit_NeoPixel pixels(1, PIN_NEOPIXEL);
|
|
|
|
|
|
|
|
void progLedOff()
|
|
|
|
{
|
|
|
|
pixels.clear();
|
|
|
|
pixels.show();
|
|
|
|
}
|
|
|
|
|
|
|
|
void progLedOn()
|
|
|
|
{
|
|
|
|
pixels.setPixelColor(0, pixels.Color(20, 0, 0));
|
|
|
|
pixels.show();
|
|
|
|
}
|
|
|
|
|
|
|
|
void main ()
|
|
|
|
{
|
|
|
|
knx.setProgLedOffCallback(progLedOff);
|
|
|
|
knx.setProgLedOnCallback(progLedOn);
|
|
|
|
[...]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2022-08-15 11:31:29 +02:00
|
|
|
More configuration options can be found in the examples.
|