如何使用 influxdb-python 从 OPC UA 服务器收集数据

问题描述 投票:0回答:1

大家好,我是这里的新手。

我已经能够使用python将数据写入influxdb。 如何使用 influxdb-python 使用 influxdb-python 客户端从 OPC-UA 收集数据。

任何材料、链接或示例将不胜感激。

我尝试仅使用 python 将数据写入 influxdb 。 我期待的是一个解决方案来帮助我使用 python 将数据从 OPC-UA 服务器发送到 influxdb。

python api influxdb opc-ua telegraf
1个回答
0
投票

您需要使用opc-ua客户端连接到opc-ua服务器并获取数据。这个库是 opcua。使用命令 pip install opcua 安装它。

from opcua import Client
from influxdb_client import InfluxDBClient, Point
from datetime import datetime

# connect to opc-ua server
opcua_client = Client("opc.tcp://localhost:4840/freeopcua/server/")
opcua_client.connect()

# connect to influxdb
influxdb_client = InfluxDBClient(url="http://localhost:8086", token="your- 
token", org="your-org")
write_api = influxdb_client.write_api()

# fetch data from opc-ua and write to influxdb
while 1:
    # Fetch data from OPC-UA server
    temperature = opcua_client.get_node("ns=2;i=2").get_value()  # Example 
    node, replace with your own

    # prepare data for influxdb
    point = Point("temperature") \
        .tag("location", "room1") \
        .field("value", temperature) \
        .time(datetime.utcnow())

# write data to influx
write_api.write("your-bucket", "your-org", point)
© www.soinside.com 2019 - 2024. All rights reserved.