Search Results for

    Show / Hide Table of Contents

    Please note that this a WIP document. Any feedback is welcome.

    Telematic

    • FleetBoard

    How does Simplic.Telematic work ?

    In order to have a flexible system allowing different providers we have developed a couple of concepts. We queue information that has to be sent to the vehicle, a background service processes these. The background service reads the queue item and decides which provider, which context and which function (python script) to use. It then runs the python script and uses providers methods to finish the job.

    Lets start with how data is saved.

    Telematic System

    This is the most basic table we have. It just tells us which provider we are gonna use. E.g.: FleetBoard

    CREATE TABLE "IT_Telematic_System" (
        "Guid" UNIQUEIDENTIFIER NOT NULL UNIQUE,
        "Name" VARCHAR(100) NOT NULL,
        PRIMARY KEY ( "Guid" ASC )
    ) IN "system";
    

    Telematic Context

    This table saves the information about what is the context of the data we would like to send to the vehicle. This part is important. You ll understand soon.

    CREATE TABLE "IT_Telematic_Context" (
        "Guid" UNIQUEIDENTIFIER NOT NULL UNIQUE,
        "Name" VARCHAR(100) NOT NULL,
        PRIMARY KEY ( "Guid" ASC )
    ) IN "system";
    

    Telematic Function

    This table is the most complicated one. It has context, system and python script information. These will be used to decide which telematic provider to use, which context to get the data out of and which python script to call.

    CREATE TABLE "IT_Telematic_Function" (
        "Guid" UNIQUEIDENTIFIER NOT NULL UNIQUE,
        "DisplayName" VARCHAR(100) NOT NULL,
        "InternalName" VARCHAR(100) NOT NULL,
        "ContextId" UNIQUEIDENTIFIER NOT NULL,
        "SystemId" UNIQUEIDENTIFIER NOT NULL,
        "HandlerPath" VARCHAR(1000) NULL,
        "DlrClassName" VARCHAR(100) NULL,
        "IconId" UNIQUEIDENTIFIER NULL,
        "OrderNumber" INTEGER NULL DEFAULT 0,
        "ResolverName" VARCHAR(100) NULL,
        "RequiresVehicle" BIT NOT NULL DEFAULT 1,
        PRIMARY KEY ( "Guid" ASC )
    ) IN "system";
    

    Telematic Queue

    This is the table where the actual queue item is saved. It has all the necessary information to communicate with a vehicle.

    CREATE TABLE "IT_Telematic_Queue" (
        "Guid" UNIQUEIDENTIFIER NOT NULL UNIQUE,
        "FunctionId" UNIQUEIDENTIFIER NOT NULL,
        "ContextDataId" UNIQUEIDENTIFIER NOT NULL,
        "Status" TINYINT NOT NULL DEFAULT '0',
        "PayLoad" LONG BINARY NULL,
        "CreateTime" "datetime" NULL DEFAULT CURRENT TIMESTAMP,
        "UpdateTime" "datetime" NULL,
        "VehicleId" UNIQUEIDENTIFIER NULL,
        PRIMARY KEY ( "Guid" ASC )
    ) IN "system";
    

    System Resolver

    System resolver classes are basically system providers. System Resolver types need to be registered to the unity container with a name ending with "SystemResolver" (Take a look at Dependency Injection).

    Example:

    container.RegisterType<ITelematicSystem, FleetBoardResolver>("FleetBoardSystemResolver");
    

    Must implement Simplic.Telematic.Core.ITelematicSystem interface.

    Check FleetBoard System Resolver for an example.

    Context Resolver

    Context resolver is used to get data from simplic studio. Also needs to be registered to the container with the name ending with "ContextResolver".

    Must implement Simplic.Telematic.Core.ITelematicContext

    Example:

    container.RegisterType<ITelematicContext, ShipmentContextResolver>("ShipmentContextResolver");
    

    Function Resolver

    Function resolver is used to do the actual work. Needs to be registered to the container with a name ending with "FunctionResolver".

    Must implement Simplic.Telematic.Core.ITelematicFunction

    Example:

    container.RegisterType<ITelematicFunction, InputBoxResolver>("InputBoxFunctionResolver");
    

    In this example above, the function resolver requires users to enter a text to be sent to the vehicle.

    As you can see the possibilities are endless with this system.

    • Improve this Doc
    In This Article
    Back to top Copyright © 2018 SIMPLIC GmbH
    Generated by DocFx