Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import serial
- import json
- import opcua
- from opcua import Server
- ser = serial.Serial("COM6", 115200)
- server = Server()
- server.set_endpoint("opc.tcp://localhost:4840")
- server.start()
- addspace = server.register_namespace("ESP32")
- node = server.get_objects_node()
- var = node.add_object(addspace, "Variaveis")
- def handleRequest(data):
- tipo = data['tipo']
- if(tipo == 'declarar'):
- nome = data['nome']
- nodeid = "ns=2;s=" + nome
- print("declarando variavel:", nome)
- var.add_variable(nodeid, nome, 0).set_writable()
- if(tipo == 'atualizar'):
- variavel = data['nome']
- valor = data['valor']
- nodeid = "ns=2;s=" + variavel
- print("atualizando " + variavel + " para", valor)
- server.get_node(nodeid).set_value(valor)
- while(1):
- if(ser.in_waiting > 0):
- leitura = ser.read_until(b'}').decode('ascii')
- leitura = leitura[leitura.rfind("{"):]
- data = json.loads(leitura)
- handleRequest(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement