探索基于.NET6 的跨平台物联网网关
基于.net6的跨平台物联网网关。通过可视化配置,轻松的连接到你的任何设备和系统(如PLC、扫码枪、CNC、数据库、串口设备、上位机、OPC Server、OPC UA Server、Mqtt Server等),从而与 Thingsboard、IoTSharp或您自己的物联网平台进行双向数据通讯。提供简单的驱动开发接口;当然也可以进行边缘计算。抛砖引玉,共同进步基于.net6的开源物联网网关浏览器
基于.net6的跨平台物联网网关。 通过可视化配置,轻松的连接到你的任何设备和系统(如PLC、扫码枪、CNC、数据库、串口设备、上位机、OPC Server、OPC UA Server、Mqtt Server等),从而与 Thingsboard、IoTSharp或您自己的物联网平台进行双向数据通讯。 提供简单的驱动开发接口;当然也可以进行边缘计算。 抛砖引玉,共同进步 基于.net6的开源物联网网关 浏览器可视化的配置方式实现数据采集(使用wtm开发) 物联网网关mqtt+opcua双通道实时输出,支持thingsboard、iotsharp等第三方平台 内置Mqtt服务端,支持websocket,进行标准mqtt输出。 本地端口1888 admin 000000 内置OPCUA服务端,数据实时更新。 匿名本地访问:opc.tcp://localhost:62541/Quickstarts/ReferenceServer 内置AB(罗克韦尔)PLC驱动 内置三菱PLC驱动 内置Modbus驱动全协议支持 内置MT机床驱动 内置欧姆龙PLC驱动 内置OPCUA客户端驱动 内置西门子PLC驱动 增支持计算表达式,数据边缘预处理 支持驱动二次开发 目前只支持遥测数据上传,后续支持属性的双向通信 简单集成了web组态项目 3D可视化展示Demo

在物联网蓬勃发展的当下,一款强大且灵活的物联网网关至关重要。今天咱们就来聊聊基于.NET6 的跨平台物联网网关,看看它到底有哪些“宝藏”特性。
可视化配置,连接万物
这个物联网网关最吸引人的地方之一,就是它通过可视化配置,能轻松连接各种设备和系统,像 PLC、扫码枪、CNC 这些工业常用设备,还有数据库、串口设备、上位机以及 OPC Server、OPC UA Server、Mqtt Server 等等。这就好比给物联网世界搭建了一座四通八达的桥梁。

想象一下,在实际项目中,要连接 PLC 设备获取生产数据。以往可能需要繁琐的代码编写和复杂的配置步骤,而现在借助这个可视化配置界面,就像搭积木一样简单。
双向数据通讯,对接多样平台
它不仅能连接设备,还能与 Thingsboard、IoTSharp 或者自己搭建的物联网平台进行双向数据通讯。这意味着数据不再是单向流动,设备数据能上传到平台,平台指令也能下发到设备。

比如说,我们使用 C# 代码来实现与 Mqtt Server 的通讯(这里只是简单示例代码片段):
using MQTTnet;
using MQTTnet.Client;
using System.Text;
using System.Threading.Tasks;
class MqttClientExample
{
private IMqttClient _mqttClient;
public async Task ConnectAsync()
{
var mqttFactory = new MqttFactory();
_mqttClient = mqttFactory.CreateMqttClient();
var mqttClientOptions = new MqttClientOptionsBuilder()
.WithTcpServer("your_mqtt_server_address", 1883)
.Build();
await _mqttClient.ConnectAsync(mqttClientOptions);
}
public async Task PublishAsync(string topic, string message)
{
var mqttMessage = new MqttApplicationMessageBuilder()
.WithTopic(topic)
.WithPayload(Encoding.UTF8.GetBytes(message))
.Build();
await _mqttClient.PublishAsync(mqttMessage);
}
}
在这段代码里,首先创建了一个 MqttClient 实例,通过 ConnectAsync 方法连接到指定的 Mqtt Server,然后利用 PublishAsync 方法向特定主题发布消息。这只是实现双向通讯的一部分,实际应用中还会涉及订阅消息等操作来实现完整的双向交互。
丰富驱动与开发接口
这款网关提供了简单的驱动开发接口,这对于有个性化需求的开发者来说简直是福音。不仅如此,它还内置了超多实用的驱动,像 AB(罗克韦尔)PLC 驱动、三菱 PLC 驱动、Modbus 全协议驱动、MT 机床驱动、欧姆龙 PLC 驱动、OPCUA 客户端驱动以及西门子 PLC 驱动等等。

比如说,如果你想开发一个新的传感器驱动,基于它提供的接口,你可以这样开始(同样是简单示意代码):
public interface IDeviceDriver
{
void Connect();
string ReadData();
void WriteData(string data);
}
public class CustomSensorDriver : IDeviceDriver
{
public void Connect()
{
// 这里实现连接传感器的逻辑,比如串口连接、网络连接等
Console.WriteLine("Connecting to custom sensor...");
}
public string ReadData()
{
// 读取传感器数据的逻辑
return "Sample sensor data";
}
public void WriteData(string data)
{
// 向传感器写入数据的逻辑
Console.WriteLine($"Writing data to custom sensor: {data}");
}
}
这里定义了一个通用的 IDeviceDriver 接口,包含连接、读取数据和写入数据的方法,然后自定义的 CustomSensorDriver 类实现了这个接口,开发者就可以根据实际传感器的通讯协议在这些方法里填充具体逻辑。
边缘计算与更多特性
网关还支持边缘计算,比如增支持计算表达式,能对数据进行边缘预处理。而且目前虽然只支持遥测数据上传,但后续会支持属性的双向通信,功能一直在不断完善。

它还内置了 Mqtt 服务端和 OPCUA 服务端,Mqtt 服务端支持 websocket 并进行标准 mqtt 输出,默认本地端口 1888,账号 admin,密码 000000 。OPCUA 服务端数据实时更新,匿名本地访问地址为 opc.tcp://localhost:62541/Quickstarts/ReferenceServer 。
另外,它还简单集成了 web 组态项目以及 3D 可视化展示 Demo ,让数据展示更加直观生动。
总的来说,这款基于.NET6 的跨平台物联网网关功能丰富,无论是对工业项目的数据采集与交互,还是对开发者进行二次开发和个性化定制,都提供了很好的基础。希望大家能一起探索,抛砖引玉,共同进步。
更多推荐
所有评论(0)