Хотелось бы узнать, могу ли я отправлять данные с клиента OPC UA на сервер.
У меня есть компьютер с Windows 10 с OPC UA Server и некоторые Raspberry Pi в качестве клиентов.
Я уже запрограммировал код Python для отправки данных с сервера на клиент. Теперь я хочу отправить данные от клиентов на Raspberry Pis на сервер на ПК с Windows 10.
Можно ли это сделать? Или мне придется настроить серверы на Raspberry Pis и клиенты на ПК с Windows 10?
Это server.py
:
from opcua import Server
from random import randint
import datetime
import time
server = Server()
url = "opc.tcp://131.246.76.240:4840"
server.set_endpoint(url)
name = "OPCUA_SIMULATION_SERVER"
addspace = server.register_namespace(name)
node = server.get_objects_node()
Param = node.add_object(addspace, "Parameters")
Temp=Param.add_variable(addspace, "Temperature", 0)
Press=Param.add_variable(addspace, "Pressure", 0)
Time=Param.add_variable(addspace, "Time", 0)
Temp.set_writable()
Press.set_writable()
Time.set_writable()
server.start()
print("Server started at {}".format(url))
while True:
Temperature = randint(10, 50)
Pressure = randint(200, 999)
TIME = datetime.datetime.now()
print(Temperature, Pressure, TIME)
Temp.set_value(Temperature)
Press.set_value(Pressure)
Time.set_value(TIME)
time.sleep(1)
Это client.py
:
import time
from opcua import Client
url = "opc.tcp://131.246.76.240:4840"
client= Client(url)
client.connect()
print("Client Connected")
while True:
Temp = client.get_node("ns=2;i=2")
Temperature = Temp.get_value()
print(Temperature)
Press = client.get_node("ns=2;i=3")
Pressure = Press.get_value()
print(Pressure)
TIME = client.get_node("ns=2;i=4")
Time = TIME.get_value()
print(Time)
time.sleep(1)