33 lines
1 KiB
Markdown
33 lines
1 KiB
Markdown
|
## Protos
|
||
|
|
||
|
The files from Protos are compiled by the gRPC compiler and provide data
|
||
|
structures that are shared across the project.
|
||
|
|
||
|
## Telemetry
|
||
|
|
||
|
It provides usesful 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:AzureIotHubConnectionString=CONNECTION_STRING
|
||
|
export Telemetry:AzureIotHubConnectionString=CONNECTION_STRING
|
||
|
```
|