using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using NucuCar.Sensors.Environment; using NucuCar.Sensors.Grpc; using NucuCar.Sensors.Health; using NucuCar.Telemetry; namespace NucuCar.Sensors { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { services.Configure(hostContext.Configuration.GetSection("Telemetry")); services.Configure(hostContext.Configuration.GetSection("EnvironmentSensor")); services.Configure(hostContext.Configuration.GetSection("HealthSensor")); // Singletons services.AddSingleton(); services.AddSingleton, Bme680Sensor>(); services.AddSingleton, CpuTempSensor>(); // Workers services.AddHostedService(); services.AddHostedService(); services.AddHostedService(); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } }