MQTTnet
https://github.com/dotnet/MQTTnet
C#的MQTT系列
MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信
MQTT(二)在windows64位上安装Python环境
MQTT(三)Python客户端+net客户端+net服务端 简单通信
MQTT(四)树莓派开机自动运行Python客户端
MQTT(五)实现开源MQTT消息服务器
可以通过MQTT协议实现设备之间的通信,包括设备的发现、状态更新等功能。
使用.NET为Home Assistant添加自定义设备,实现电脑远程关机的功能
利用 MQTT auto discovery 特点来自动创建实体
Table of Contents
使用MQTTnet
官网项目网址:https://github.com/chkr1011/MQTTnet
首先我们需要在 .NET 中实现 MQTT 客户端
step 1.客户端-新建一个控制台项目
step 2.添加Nuget包:安装MQTTnet
<ItemGroup>
<PackageReference Include="MQTTnet" Version="5.0.1.1416" />
</ItemGroup>
设备需要通过 MQTT 发送一条配置消息,HA会自动识别:
温度传感器配置消息:
发布到主题:homeassistant/sensor/temp_sensor/config
{
"name": "Temperature Sensor",
"device_class": "temperature",
"state_topic": "homeassistant/all/esp8266/state",
"unit_of_measurement": "°C",
"value_template": "{
{ value_json.temperature }}",
"unique_id": "temp_sensor",
"device": {
"identifiers": ["esp8266_sensor"],
"name": "ESP8266 Sensor",
"manufacturer": "Espressif",
"model": "ESP8266EX",
"sw_version": "1.0.0"
}
}
useful links
https://www.cnblogs.com/duhaoran/p/12718305.html
ASP.NET Core 实现 MQTT通讯协议 Demo(开源库:MQTTnet)