Faactory.Channels.Teltonika
0.1.0-preview-2
See the version list below for details.
dotnet add package Faactory.Channels.Teltonika --version 0.1.0-preview-2
NuGet\Install-Package Faactory.Channels.Teltonika -Version 0.1.0-preview-2
<PackageReference Include="Faactory.Channels.Teltonika" Version="0.1.0-preview-2" />
paket add Faactory.Channels.Teltonika --version 0.1.0-preview-2
#r "nuget: Faactory.Channels.Teltonika, 0.1.0-preview-2"
// Install Faactory.Channels.Teltonika as a Cake Addin
#addin nuget:?package=Faactory.Channels.Teltonika&version=0.1.0-preview-2&prerelease
// Install Faactory.Channels.Teltonika as a Cake Tool
#tool nuget:?package=Faactory.Channels.Teltonika&version=0.1.0-preview-2&prerelease
Channels - Teltonika Protocol
This project contains a set of Channels adapters to decode data encoded with Teltonika's protocol. The supported codecs for device data include
- Codec 8
- Codec 8 Extended
- Codec 16
The following codecs for communication are also supported
- Codec 12
- Codec 13
- Codec 14
NOTE: This library is still experimental and should not be used in production.
Learn more about Channels.
Getting started
Install the package from NuGet
dotnet add package Faactory.Channels.Teltonika
To enable decoding of Teltonika packets on the pipeline, we just need to register the respective adapters with the channel pipeline. We do that with an extension method.
IChannelBuilder builder = ...;
builder.AddTeltonikaDecoderAdapters();
With the adapters in place, we need to implement our handlers to handle the correct data. The data packet types we can expect being forwarded are
- Identity Packet
- AVL Packet
- Message Packet
Identity Packet
Faactory.Channels.Teltonika.IIdentityPacket
This is the first thing that a device sends and it contains the identifier for the device, typically it's IMEI.
Example of an identity handler
public class MyIdentityHandler : ChannelHandler<IIdentityPacket>
{
public override Task ExecuteAsync( IChannelContext context, IIdentityPacket data )
{
// do whatever we need to do with the identifier
bool isAllowed = someService.IsDeviceAllowed( data.Identifier );
// if we don't want to allow the device to communicate, we can close the channel
if ( !isAllowed )
{
return context.Channel.CloseAsync();
}
return Task.CompletedTask;
}
}
AVL Packet
Faactory.Channels.Teltonika.IAVLPacket
Contains telemetry data sent by the device.
Example of an AVL handler
public class MyDataHandler : ChannelHandler<IAvlPacket>
{
public override Task ExecuteAsync( IChannelContext context, IAvlPacket data )
{
// do whatever we need to do
return Task.CompletedTask;
}
}
Message Packet
Faactory.Channels.Teltonika.IMessagePacket
Used for device-server communication, configuration, digital outputs control commands or other special purpose commands.
Example of a Message handler
public class MyMessageHandler : ChannelHandler<IMessagePacket>
{
public override Task ExecuteAsync( IChannelContext context, IMessagePacket data )
{
// do whatever we need to do
return Task.CompletedTask;
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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 was computed. 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. |
-
net6.0
- Faactory.Channels (>= 0.1.0-preview-5)
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 |
---|---|---|
0.3.0 | 102 | 4/9/2024 |
0.2.0 | 114 | 1/30/2024 |
0.1.12 | 302 | 11/2/2023 |
0.1.11 | 119 | 9/27/2023 |
0.1.10 | 179 | 6/21/2023 |
0.1.9 | 151 | 6/20/2023 |
0.1.8 | 146 | 6/20/2023 |
0.1.7 | 146 | 6/1/2023 |
0.1.6 | 358 | 11/7/2022 |
0.1.5 | 414 | 8/25/2022 |
0.1.4 | 432 | 7/14/2022 |
0.1.3 | 415 | 7/5/2022 |
0.1.2 | 458 | 4/12/2022 |
0.1.1 | 435 | 4/12/2022 |
0.1.0 | 440 | 4/12/2022 |
0.1.0-preview-5 | 156 | 4/11/2022 |
0.1.0-preview-4 | 158 | 4/8/2022 |
0.1.0-preview-3 | 148 | 3/31/2022 |
0.1.0-preview-2 | 153 | 3/31/2022 |
0.1.0-preview-1 | 157 | 3/29/2022 |