Codabix.Web.SignalR
1.0.0-preview8-240306
See the version list below for details.
dotnet add package Codabix.Web.SignalR --version 1.0.0-preview8-240306
NuGet\Install-Package Codabix.Web.SignalR -Version 1.0.0-preview8-240306
<PackageReference Include="Codabix.Web.SignalR" Version="1.0.0-preview8-240306" />
paket add Codabix.Web.SignalR --version 1.0.0-preview8-240306
#r "nuget: Codabix.Web.SignalR, 1.0.0-preview8-240306"
// Install Codabix.Web.SignalR as a Cake Addin
#addin nuget:?package=Codabix.Web.SignalR&version=1.0.0-preview8-240306&prerelease
// Install Codabix.Web.SignalR as a Cake Tool
#tool nuget:?package=Codabix.Web.SignalR&version=1.0.0-preview8-240306&prerelease
Real-time communication framework for .NET using SignalR and the industrial IoT Middleware Codabix as backend. Using Codabix any IIoT Entity (PLCs, DBs, Files, Sockets, Ports, IOs ...) can be connected to each other just using Nodes.
This package provides the API required to implement custom client applications using SignalR on top of WebSocket as the transport layer to connect to the communication data bridge for things (Codabix).
Features:
- Authentication using JSON Web Token
- Create, Read, Update & Delete IIoT Entities
- Setup new connection channels
- Configure symbols, files, tables, ...
- Subscribe change notifications
- Read & Write Values of IIoT Entities
- Directly from the Web to a device, file, table, ...
- Using custom Human Machine Interfaces (HMI)
- Visualize processes using historical data
The whole framework is provided for free and can be used for commerical and non-commerical application development.
Getting Started
At first you need an installed and running Codabix. Just go to https://www.codabix.com/en/downloads to get a latest evaluation version for free and without registration.
The most essential snippet to dig in:
using Codabix.Web.SignalR;
...
var client = new CodabixClient("http://localhost:8181", "username", "password");
await client.ConnectAsync();
// Your code to interact with Codabix.
Let's Read a Node
var response = await client.ReadNodeValueAsync("/Nodes/TestValue");
Let's Write a Node
var response = await client.WriteNodeValueAsync("/Nodes/TestValue", "Hello World!");
Let's Subscribe to value changes of a Node
var subscriptionParameters = new NodeValueSubscriptionParameters {
Nodes = new string[] {
"/Nodes/TestValue"
}
};
var subscription = await client.SubscribeValueChangesAsync(subscriptionParameters);
while (await subscription.WaitToReadAsync()) {
while (subscription.TryRead(out var eventArgs)) {
Console.WriteLine(
$"Node: {eventArgs.Node}, " +
$"Old Value: {eventArgs.OldValue.Value}, " +
$"New Value: {eventArgs.NewValue.Value}");
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net5.0
- Microsoft.AspNetCore.SignalR.Client (>= 5.0.17)
- Newtonsoft.Json (>= 13.0.3)
-
net6.0
- Microsoft.AspNetCore.SignalR.Client (>= 6.0.27)
- Newtonsoft.Json (>= 13.0.3)
-
net7.0
- Microsoft.AspNetCore.SignalR.Client (>= 7.0.16)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0-preview9-240322 | 46 | 3/22/2024 |
1.0.0-preview8-240306 | 50 | 3/6/2024 |
1.0.0-preview7-220822 | 199 | 8/22/2022 |
1.0.0-preview6-220706 | 136 | 7/6/2022 |
1.0.0-preview5-220215 | 285 | 2/15/2022 |
1.0.0-preview2-211028 | 218 | 10/28/2021 |
1.0.0-preview1-210921 | 166 | 9/21/2021 |
ADDED:
• A ReadNode now contains the absolute node path of the node (property "NodePath")