NucuCar/NucuCar.Domain
2020-01-24 14:28:48 +02:00
..
Protos Refactor NucuCar.Sensors to return generic sensor response 2019-12-07 00:31:28 +02:00
Sensors Implement CPU temperature sensor 2019-12-29 13:58:32 +02:00
Telemetry Add more logs for tracing 2020-01-24 14:28:48 +02:00
Utilities Fix ConnectionStringParser namespace. 2019-12-24 00:23:56 +02:00
Guard.cs Add source code docummentation 2019-11-24 15:12:12 +02:00
NucuCar.Domain.csproj NucuCar.Domain remove empty tag from csproj 2019-11-24 13:34:53 +02:00
Readme.md Update NucuCar.Domain Readme.md 2019-11-24 14:32:16 +02:00

Protos

The files from Protos are compiled by the gRPC compiler and provide data structures that are shared across the project.

Telemetry

It provides useful classes and abstractions for implementing telemetry in individual components. All telemetry publishers use the MQTT protocol unless specified otherwise.

Azure Telemetry

Publisher

You can use cloud telemetry for free via Azure-IoT-Hub. You still need a backend application that will process the messages.

You will need to create a:

  • IoT Hub
  • IoT Device

Then navigate to your device and grab the primary key, you will need it to create a connection string of the form:

HostName=YOUR_IOT_HUB_NAME.azure-devices.net;DeviceId=YOUR_DEVICE_NAME;SharedAccessKey=PRIMARY_OR_SECONDARY_KEY

The connection string can be passed to the application via appsettings.json or command line arguments or environment variables:

dotnet run --Telemetry:ConnectionString=CONNECTION_STRING
export Telemetry:ConnectionString=CONNECTION_STRING

Reader

A telemetry reader can be found in NucuCar.TestClient. You'll need a connection string that can be found in Azure's IoT Hub Build-In Endpoints setting.