This article explains what is needed to work with Falcon 6 .NET SDK.
Development environment
Any development environment suitable for producing code for .NET Framework 4.8 (or higher) and/or .NET 5 (or higher) can be used. This includes:
- An IDE like Microsoft Visual Studio 2019 (or higher)
- An arbitrary code editor (from Notepad to Microsoft Visual Studio Code) plus a .NET Framework SDK or .NET 5 SDK for the necessary tools
All .NET programming languages are supported; examples in this documentation are given in C# and VB only.
If there is a choice, we recommend using C# 8.0 as this make using some of the features in Falcon very easy.
Hint on using C# 8 with .NET Framework and Visual Studio (this is not necessary with .NET Core and .NET 5):
- To specify C# 8.0, you may need to manually edit the project (csproj) file: add the line <LangVersion>8.0</LangVersion> to the first PropertyGroup (where also TargetFrameworkVersion is specified).
- Add the nuget package Microsoft.Bcl.AsyncInterfaces
Runtime environment
Falcon 6 .NET SDK is compatible with the following runtime environments and platforms:
-
.NET Framework 4.8 or higher (Windows)
-
.NET 5 (Windows, Linux, macOS)
-
.NET 6 (Windows, Linux, macOS, Android, iOS)
Depending on the platform and underlying hardware, some features may not be available. E.g. USB support is currently limited to Windows and Linux.
Hardware
To actually access the KNX bus, some interface hardware is required.
-
For the KNX medium "IP", access is provided by the network interface of the device Falcon is running on. As the KNXnet/IP routing protocol is based on IP multicast, a suitable network infrastructure (e.g. network routers supporting IGMP) is required.
-
KNX USB interfaces are available for KNX media "TP", "RF" and "PL". These are connected via a USB cable to the device Falcon is running on.
-
For the KNX medium "TP", IP Tunneling interfaces are available (often combined with KNX IP Routers). These are connected via an IP network to the device Falcon is running on.