摘要:IoTGateway是开源开放的跨平台工业物联网网关,通过可视化配置,南向的连接到你的任何设备和系统(如PLC、扫码枪、上位机、OPC Server等)。
IoTGateway是开源开放的跨平台工业物联网网关,通过可视化配置,南向的连接到你的任何设备和系统(如PLC、扫码枪、上位机、OPC Server等)。
为让使用者快速掌握北向对接各种物联网平台的能力,本文以接入ThingsPanel为例进行扩展实操。
ThingsPanel是基于Go语言的优秀的开源物联网平台。docker-compose.yml文件https://github.com/ThingsPanel/thingspanel-docker/blob/main/docker-compose.yml
启动容器
docker-compose up -d访问8080端口,使用租户管理员登录
用户名tenant@tenant.cn
密码123456
在设备连接tab查看并记录MQTT Username和MQTT ClientID关联后,记录子设备地址iotgateway\IoTGateway.Model\SystemConfig.cs\IoTPlatformType
参考其他Handler,添加ThingsPanelHandleriotgateway\Plugins\Plugin\PlatformHandler\ThingsPanelHandler.cs
publicasyncTaskPublishTelemetryAsync(stringdeviceName, Device device, Dictionarystring, ListPayLoadsendModel){
foreach(varpayloadinsendModel[deviceName])
{
if(payload.Values!=)
{
vartelemetryData=newDictionarystring, Dictionarystringobject
{
{
"sub_device_data"newDictionarystringobject
{
{ deviceName, payload.Values }
}
}
};
awaitMqttClient.EnqueueAsync(newMqttApplicationMessageBuilder.WithTopic($"gateway/telemetry")
.WithPayload(JsonConvert.SerializeObject(telemetryData)).Build);
}
}
}
iotgateway\Plugins\Plugin\PlatformHandler\PlatformHandlerFactory.cs\PlatformHandlerFactor
caseIoTPlatformType.ThingsPanel:returnnewThingsPanelHandler(mqttClient, logger, onExcRpc);修改后,运行iotgateway项目,添加设备,注意设备名使用第8步的子设备地址输出平台选择ThingsPanel,用户名、ClientId,使用第6步的MQTT Username和MQTT ClientID,密码空
来源:opendotnet
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!