DEV Community

Daniel Olivares
Daniel Olivares

Posted on • Edited on

¿Sabías que con C# puedes suscribirte a un broker MQTT en menos de 10 líneas?

Siempre vemos ejemplos de Python o Node.js en IoT, pero la verdad es que C# también es sorprendentemente sencillo, robusto y seguro. En este breve tutorial vamos a:

  1. Conectar nuestro cliente .NET a un broker público (HiveMQ).
  2. Suscribirnos a un tópico (iot/puerta/estado).
  3. Mostrar en consola los mensajes que llegan.

¿Qué necesitás?

  • .NET 8 SDK
  • La librería MQTTnet
  • Un broker MQTT público (usaremos broker.hivemq.com:1883)
  • ¡Ganas de automatizar y experimentar!

Código de ejemplo

using MQTTnet; using MQTTnet.Client; using MQTTnet.Client.Options; using System; using System.Text; using System.Threading.Tasks; class Program { static async Task Main() { // 1. Configuramos las opciones del cliente var options = new MqttClientOptionsBuilder() .WithTcpServer("broker.hivemq.com", 1883) .WithClientId("dotnet-iot-demo") .Build(); // 2. Creamos el cliente y definimos handlers var factory = new MqttFactory(); var client = factory.CreateMqttClient(); client.UseConnectedHandler(async _ => { Console.WriteLine("Conectado a HiveMQ"); await client.SubscribeAsync("iot/puerta/estado"); Console.WriteLine("Suscrito a: iot/puerta/estado"); }); client.UseApplicationMessageReceivedHandler(e => { var payload = Encoding.UTF8.GetString(e.ApplicationMessage.Payload); Console.WriteLine($"Mensaje recibido: {payload}"); // Aquí podrías, por ejemplo: // • Registrar un evento en tu base de datos // • Activar una alerta por e-mail o SMS // • Enviar la info a un dashboard web }); // 3. Conectamos y esperamos mensajes await client.ConnectAsync(options); Console.WriteLine("Presioná ENTER para salir..."); Console.ReadLine(); } } 
Enter fullscreen mode Exit fullscreen mode

¿Por qué C# + MQTTnet?

  • Simplicidad: La API es intuitiva y con poco código ya tenés un cliente funcional.
  • Rendimiento: .NET es rápido y ligero, ideal para apps que corran en Raspberry Pi o Windows IoT.
  • Seguridad: MQTTnet soporta TLS y autenticación, clave para proteger tu proyect IoT.

¡En el siguiente post veremos como agregar autenticación básica a nuestro proyecto!

Top comments (0)