首页 > 解决方案 > FreeOPC 不会在启动时启动

问题描述

我是 Python 和 Raspberry 世界的新手,请原谅我的无知 :)

我已经使用 Python 在树莓上成功安装并运行了 OPC 服务器。但是当我在 RPI 上进行配置时,只要 Raspberry 启动,脚本(OPC 服务器)就会自动运行。我没有得到任何结果,并且 OPC 不会启动。这是我的 OPC 服务器代码:

import time
import sys
import serial
import RPi.GPIO as GPIO


GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)

#this ti trigger a fan to check if the script is 
running at the start of the RPI
GPIO.output(17, True)

from opcua import Server
server = Server()

url = "opc.tcp://0.0.0.0:4840"
server.set_endpoint(url)

name = "SCAN_START"
addspace = server.register_namespace(name)

node = server.get_objects_node()

Param = node.add_object(addspace,"Parameters")

ID = Param.add_variable(addspace,"ID",0)
ID.set_writable()

server.start()
GPIO.output(17, False)

ser = serial.Serial('/dev/ttyS0',115200,timeout=0.5)    
while True:
    rcv=ser.read(10).decode('utf-8')
    if (len(rcv)>3):
       ID.set_value(rcv)

这是 crontab -e 的配置

@reboot python3 /home/pi/Desktop/test/scan.py

PS:风扇在 RPI 启动时启动,这意味着脚本在 RPI 启动时运行,而不是 OPC 服务器:/

非常感谢任何指导或帮助谢谢

标签: pythonopc

解决方案


推荐阅读