Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
opcua-cloning
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yogesh.m
opcua-cloning
Commits
bf344fed
Commit
bf344fed
authored
Mar 16, 2023
by
yogesh.m
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update main.py
parent
b84eed62
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
1 deletion
+51
-1
main.py
main.py
+51
-1
No files found.
main.py
View file @
bf344fed
...
@@ -2,6 +2,25 @@ import tkinter as tk
...
@@ -2,6 +2,25 @@ import tkinter as tk
from
opcua_transmitter
import
transmitter_main
from
opcua_transmitter
import
transmitter_main
from
opcua_receiver
import
receive_main
from
opcua_receiver
import
receive_main
import
threading
import
threading
import
sys
import
os
import
json
cache_data
=
{
"sender_cache"
:{
"sender_url"
:
"url"
,
"sender_namespace"
:
"namespace"
,
"hash_server_ip"
:
""
,
"hash_server_port"
:
""
,
"send_to_ip"
:
""
,
"send_to_port"
:
""
},
"receiver_cache"
:{
"receiver_url"
:
"url"
,
"receiver_namespace"
:
"namespace"
,
"udp_hash_receiver_ip"
:
""
,
"udp_hash_receiver_port"
:
""
,
"localIP"
:
""
,
"localPort"
:
""
}
}
platforms
=
{
'linux1'
:
'Linux'
,
'linux2'
:
'Linux'
,
'darwin'
:
'OS X'
,
'win32'
:
os
.
environ
.
get
(
'Temp'
)
+
"
\
opcua_cloner.txt"
}
if
(
os
.
path
.
isfile
(
platforms
[
sys
.
platform
])):
file
=
open
(
platforms
[
sys
.
platform
],
"r+"
)
cache_data
=
json
.
loads
(
file
.
read
())
print
(
cache_data
)
class
App
(
tk
.
Frame
):
class
App
(
tk
.
Frame
):
def
__init__
(
self
,
master
=
None
):
def
__init__
(
self
,
master
=
None
):
...
@@ -10,8 +29,15 @@ class App(tk.Frame):
...
@@ -10,8 +29,15 @@ class App(tk.Frame):
self
.
master
.
geometry
(
"400x300"
)
self
.
master
.
geometry
(
"400x300"
)
self
.
master
.
title
(
"kl opcua cloner"
)
self
.
master
.
title
(
"kl opcua cloner"
)
self
.
pack
()
self
.
pack
()
self
.
master
.
protocol
(
"WM_DELETE_WINDOW"
,
self
.
on_closing
)
self
.
create_widgets
()
self
.
create_widgets
()
def
on_closing
(
self
):
file
=
open
(
platforms
[
sys
.
platform
],
"w+"
)
file
.
write
(
json
.
dumps
(
cache_data
))
file
.
close
()
root
.
destroy
()
def
create_widgets
(
self
):
def
create_widgets
(
self
):
# Label at the top
# Label at the top
self
.
label
=
tk
.
Label
(
self
,
text
=
"Choose the right operation:"
)
self
.
label
=
tk
.
Label
(
self
,
text
=
"Choose the right operation:"
)
...
@@ -35,31 +61,37 @@ class App(tk.Frame):
...
@@ -35,31 +61,37 @@ class App(tk.Frame):
self
.
url_label
=
tk
.
Label
(
self
,
text
=
"Enter Endpoint URL:"
)
self
.
url_label
=
tk
.
Label
(
self
,
text
=
"Enter Endpoint URL:"
)
self
.
url_label
.
pack
(
side
=
"top"
)
self
.
url_label
.
pack
(
side
=
"top"
)
self
.
url_entry
=
tk
.
Entry
(
self
)
self
.
url_entry
=
tk
.
Entry
(
self
)
self
.
url_entry
.
insert
(
0
,
cache_data
[
"sender_cache"
][
"sender_url"
])
self
.
url_entry
.
pack
(
side
=
"top"
)
self
.
url_entry
.
pack
(
side
=
"top"
)
self
.
namespace_label
=
tk
.
Label
(
self
,
text
=
"Enter Namespace URL:"
)
self
.
namespace_label
=
tk
.
Label
(
self
,
text
=
"Enter Namespace URL:"
)
self
.
namespace_label
.
pack
(
side
=
"top"
)
self
.
namespace_label
.
pack
(
side
=
"top"
)
self
.
namespace_entry
=
tk
.
Entry
(
self
)
self
.
namespace_entry
=
tk
.
Entry
(
self
)
self
.
namespace_entry
.
insert
(
0
,
cache_data
[
"sender_cache"
][
"sender_namespace"
])
self
.
namespace_entry
.
pack
(
side
=
"top"
)
self
.
namespace_entry
.
pack
(
side
=
"top"
)
self
.
server_hash_udp_ip_label
=
tk
.
Label
(
self
,
text
=
"Enter server_hash_udp_ip:"
)
self
.
server_hash_udp_ip_label
=
tk
.
Label
(
self
,
text
=
"Enter server_hash_udp_ip:"
)
self
.
server_hash_udp_ip_label
.
pack
(
side
=
"top"
)
self
.
server_hash_udp_ip_label
.
pack
(
side
=
"top"
)
self
.
server_hash_udp_ip_entry
=
tk
.
Entry
(
self
)
self
.
server_hash_udp_ip_entry
=
tk
.
Entry
(
self
)
self
.
server_hash_udp_ip_entry
.
insert
(
0
,
cache_data
[
"sender_cache"
][
"hash_server_ip"
])
self
.
server_hash_udp_ip_entry
.
pack
(
side
=
"top"
)
self
.
server_hash_udp_ip_entry
.
pack
(
side
=
"top"
)
self
.
server_hash_udp_port_label
=
tk
.
Label
(
self
,
text
=
"Enter server_hash_port:"
)
self
.
server_hash_udp_port_label
=
tk
.
Label
(
self
,
text
=
"Enter server_hash_port:"
)
self
.
server_hash_udp_port_label
.
pack
(
side
=
"top"
)
self
.
server_hash_udp_port_label
.
pack
(
side
=
"top"
)
self
.
server_hash_udp_port_entry
=
tk
.
Entry
(
self
)
self
.
server_hash_udp_port_entry
=
tk
.
Entry
(
self
)
self
.
server_hash_udp_port_entry
.
insert
(
0
,
cache_data
[
"sender_cache"
][
"hash_server_port"
])
self
.
server_hash_udp_port_entry
.
pack
(
side
=
"top"
)
self
.
server_hash_udp_port_entry
.
pack
(
side
=
"top"
)
self
.
server_udp_ip_label
=
tk
.
Label
(
self
,
text
=
"Enter server_udp_ip:"
)
self
.
server_udp_ip_label
=
tk
.
Label
(
self
,
text
=
"Enter server_udp_ip:"
)
self
.
server_udp_ip_label
.
pack
(
side
=
"top"
)
self
.
server_udp_ip_label
.
pack
(
side
=
"top"
)
self
.
server_udp_ip_entry
=
tk
.
Entry
(
self
)
self
.
server_udp_ip_entry
=
tk
.
Entry
(
self
)
self
.
server_udp_ip_entry
.
insert
(
0
,
cache_data
[
"sender_cache"
][
"send_to_ip"
])
self
.
server_udp_ip_entry
.
pack
(
side
=
"top"
)
self
.
server_udp_ip_entry
.
pack
(
side
=
"top"
)
self
.
server_udp_port_label
=
tk
.
Label
(
self
,
text
=
"Enter server_port_ip:"
)
self
.
server_udp_port_label
=
tk
.
Label
(
self
,
text
=
"Enter server_port_ip:"
)
self
.
server_udp_port_label
.
pack
(
side
=
"top"
)
self
.
server_udp_port_label
.
pack
(
side
=
"top"
)
self
.
server_udp_port_entry
=
tk
.
Entry
(
self
)
self
.
server_udp_port_entry
=
tk
.
Entry
(
self
)
self
.
server_udp_port_entry
.
insert
(
0
,
cache_data
[
"sender_cache"
][
"send_to_port"
])
self
.
server_udp_port_entry
.
pack
(
side
=
"top"
)
self
.
server_udp_port_entry
.
pack
(
side
=
"top"
)
# Submit button
# Submit button
...
@@ -80,31 +112,37 @@ class App(tk.Frame):
...
@@ -80,31 +112,37 @@ class App(tk.Frame):
self
.
url_label
=
tk
.
Label
(
self
,
text
=
"Enter URL:"
)
self
.
url_label
=
tk
.
Label
(
self
,
text
=
"Enter URL:"
)
self
.
url_label
.
pack
(
side
=
"top"
)
self
.
url_label
.
pack
(
side
=
"top"
)
self
.
url_entry
=
tk
.
Entry
(
self
)
self
.
url_entry
=
tk
.
Entry
(
self
)
self
.
url_entry
.
insert
(
0
,
cache_data
[
"receiver_cache"
][
"receiver_url"
])
self
.
url_entry
.
pack
(
side
=
"top"
)
self
.
url_entry
.
pack
(
side
=
"top"
)
self
.
namespace_label
=
tk
.
Label
(
self
,
text
=
"Enter Namespace URL:"
)
self
.
namespace_label
=
tk
.
Label
(
self
,
text
=
"Enter Namespace URL:"
)
self
.
namespace_label
.
pack
(
side
=
"top"
)
self
.
namespace_label
.
pack
(
side
=
"top"
)
self
.
namespace_entry
=
tk
.
Entry
(
self
)
self
.
namespace_entry
=
tk
.
Entry
(
self
)
self
.
namespace_entry
.
insert
(
0
,
cache_data
[
"receiver_cache"
][
"receiver_namespace"
])
self
.
namespace_entry
.
pack
(
side
=
"top"
)
self
.
namespace_entry
.
pack
(
side
=
"top"
)
self
.
udp_hash_receiver_ip_label
=
tk
.
Label
(
self
,
text
=
"Enter udp_hash_receiver_ip:"
)
self
.
udp_hash_receiver_ip_label
=
tk
.
Label
(
self
,
text
=
"Enter udp_hash_receiver_ip:"
)
self
.
udp_hash_receiver_ip_label
.
pack
(
side
=
"top"
)
self
.
udp_hash_receiver_ip_label
.
pack
(
side
=
"top"
)
self
.
udp_hash_receiver_ip_entry
=
tk
.
Entry
(
self
)
self
.
udp_hash_receiver_ip_entry
=
tk
.
Entry
(
self
)
self
.
udp_hash_receiver_ip_entry
.
insert
(
0
,
cache_data
[
"receiver_cache"
][
"udp_hash_receiver_ip"
])
self
.
udp_hash_receiver_ip_entry
.
pack
(
side
=
"top"
)
self
.
udp_hash_receiver_ip_entry
.
pack
(
side
=
"top"
)
self
.
udp_hash_receiver_port_label
=
tk
.
Label
(
self
,
text
=
"Enter udp_hash_receiver_port:"
)
self
.
udp_hash_receiver_port_label
=
tk
.
Label
(
self
,
text
=
"Enter udp_hash_receiver_port:"
)
self
.
udp_hash_receiver_port_label
.
pack
(
side
=
"top"
)
self
.
udp_hash_receiver_port_label
.
pack
(
side
=
"top"
)
self
.
udp_hash_receiver_port_entry
=
tk
.
Entry
(
self
)
self
.
udp_hash_receiver_port_entry
=
tk
.
Entry
(
self
)
self
.
udp_hash_receiver_port_entry
.
insert
(
0
,
cache_data
[
"receiver_cache"
][
"udp_hash_receiver_port"
])
self
.
udp_hash_receiver_port_entry
.
pack
(
side
=
"top"
)
self
.
udp_hash_receiver_port_entry
.
pack
(
side
=
"top"
)
self
.
udp_ip_label
=
tk
.
Label
(
self
,
text
=
"Enter udp_ip:"
)
self
.
udp_ip_label
=
tk
.
Label
(
self
,
text
=
"Enter udp_ip:"
)
self
.
udp_ip_label
.
pack
(
side
=
"top"
)
self
.
udp_ip_label
.
pack
(
side
=
"top"
)
self
.
udp_ip_entry
=
tk
.
Entry
(
self
)
self
.
udp_ip_entry
=
tk
.
Entry
(
self
)
self
.
udp_ip_entry
.
insert
(
0
,
cache_data
[
"receiver_cache"
][
"localIP"
])
self
.
udp_ip_entry
.
pack
(
side
=
"top"
)
self
.
udp_ip_entry
.
pack
(
side
=
"top"
)
self
.
udp_port_label
=
tk
.
Label
(
self
,
text
=
"Enter server_port:"
)
self
.
udp_port_label
=
tk
.
Label
(
self
,
text
=
"Enter server_port:"
)
self
.
udp_port_label
.
pack
(
side
=
"top"
)
self
.
udp_port_label
.
pack
(
side
=
"top"
)
self
.
udp_port_entry
=
tk
.
Entry
(
self
)
self
.
udp_port_entry
=
tk
.
Entry
(
self
)
self
.
udp_port_entry
.
insert
(
0
,
cache_data
[
"receiver_cache"
][
"localPort"
])
self
.
udp_port_entry
.
pack
(
side
=
"top"
)
self
.
udp_port_entry
.
pack
(
side
=
"top"
)
# Submit button
# Submit button
...
@@ -123,30 +161,42 @@ class App(tk.Frame):
...
@@ -123,30 +161,42 @@ class App(tk.Frame):
if
(
button_label
==
"Send"
):
if
(
button_label
==
"Send"
):
url
=
self
.
url_entry
.
get
()
url
=
self
.
url_entry
.
get
()
self
.
url_entry
.
configure
(
state
=
"disabled"
)
self
.
url_entry
.
configure
(
state
=
"disabled"
)
cache_data
[
"sender_cache"
][
"sender_url"
]
=
url
namespace
=
self
.
namespace_entry
.
get
()
namespace
=
self
.
namespace_entry
.
get
()
cache_data
[
"sender_cache"
][
"sender_namespace"
]
=
namespace
self
.
namespace_entry
.
configure
(
state
=
"disabled"
)
self
.
namespace_entry
.
configure
(
state
=
"disabled"
)
hash_server_ip
=
self
.
server_hash_udp_ip_entry
.
get
()
hash_server_ip
=
self
.
server_hash_udp_ip_entry
.
get
()
cache_data
[
"sender_cache"
][
"hash_server_ip"
]
=
hash_server_ip
self
.
server_hash_udp_ip_entry
.
configure
(
state
=
"disabled"
)
self
.
server_hash_udp_ip_entry
.
configure
(
state
=
"disabled"
)
hash_server_port
=
self
.
server_hash_udp_port_entry
.
get
()
hash_server_port
=
self
.
server_hash_udp_port_entry
.
get
()
cache_data
[
"sender_cache"
][
"hash_server_port"
]
=
hash_server_port
self
.
server_hash_udp_port_entry
.
configure
(
state
=
"disabled"
)
self
.
server_hash_udp_port_entry
.
configure
(
state
=
"disabled"
)
send_to_ip
=
self
.
server_udp_ip_entry
.
get
()
send_to_ip
=
self
.
server_udp_ip_entry
.
get
()
cache_data
[
"sender_cache"
][
"send_to_ip"
]
=
send_to_ip
self
.
server_udp_ip_entry
.
configure
(
state
=
"disabled"
)
self
.
server_udp_ip_entry
.
configure
(
state
=
"disabled"
)
send_to_port
=
self
.
server_udp_port_entry
.
get
()
send_to_port
=
self
.
server_udp_port_entry
.
get
()
cache_data
[
"sender_cache"
][
"send_to_port"
]
=
send_to_port
self
.
server_udp_port_entry
.
configure
(
state
=
"disabled"
)
self
.
server_udp_port_entry
.
configure
(
state
=
"disabled"
)
t1
=
threading
.
Thread
(
target
=
transmitter_main
,
args
=
(
hash_server_ip
,
int
(
hash_server_port
),
send_to_ip
,
int
(
send_to_port
),
url
,
namespace
,))
t1
=
threading
.
Thread
(
target
=
transmitter_main
,
args
=
(
hash_server_ip
,
int
(
hash_server_port
),
send_to_ip
,
int
(
send_to_port
),
url
,
namespace
,))
t1
.
start
()
t1
.
start
()
else
:
else
:
Endpoint_Url
=
self
.
url_entry
.
get
()
Endpoint_Url
=
self
.
url_entry
.
get
()
cache_data
[
"receiver_cache"
][
"receiver_url"
]
=
Endpoint_Url
self
.
url_entry
.
configure
(
state
=
"disabled"
)
self
.
url_entry
.
configure
(
state
=
"disabled"
)
Namespace_Server
=
self
.
namespace_entry
.
get
()
Namespace_Server
=
self
.
namespace_entry
.
get
()
cache_data
[
"receiver_cache"
][
"receiver_namespace"
]
=
Namespace_Server
self
.
namespace_entry
.
configure
(
state
=
"disabled"
)
self
.
namespace_entry
.
configure
(
state
=
"disabled"
)
udp_hash_receiver_ip
=
self
.
udp_hash_receiver_ip_entry
.
get
()
udp_hash_receiver_ip
=
self
.
udp_hash_receiver_ip_entry
.
get
()
cache_data
[
"receiver_cache"
][
"udp_hash_receiver_ip"
]
=
udp_hash_receiver_ip
self
.
udp_hash_receiver_ip_entry
.
configure
(
state
=
"disabled"
)
self
.
udp_hash_receiver_ip_entry
.
configure
(
state
=
"disabled"
)
udp_hash_receiver_port
=
self
.
udp_hash_receiver_port_entry
.
get
()
udp_hash_receiver_port
=
self
.
udp_hash_receiver_port_entry
.
get
()
cache_data
[
"receiver_cache"
][
"udp_hash_receiver_port"
]
=
udp_hash_receiver_port
self
.
udp_hash_receiver_port_entry
.
configure
(
state
=
"disabled"
)
self
.
udp_hash_receiver_port_entry
.
configure
(
state
=
"disabled"
)
localIP
=
self
.
udp_ip_entry
.
get
()
localIP
=
self
.
udp_ip_entry
.
get
()
cache_data
[
"receiver_cache"
][
"localIP"
]
=
localIP
self
.
udp_ip_entry
.
configure
(
state
=
"disabled"
)
self
.
udp_ip_entry
.
configure
(
state
=
"disabled"
)
localPort
=
self
.
udp_port_entry
.
get
()
localPort
=
self
.
udp_port_entry
.
get
()
cache_data
[
"receiver_cache"
][
"localPort"
]
=
localPort
self
.
udp_port_entry
.
configure
(
state
=
"disabled"
)
self
.
udp_port_entry
.
configure
(
state
=
"disabled"
)
t1
=
threading
.
Thread
(
target
=
receive_main
,
args
=
(
Endpoint_Url
,
Namespace_Server
,
udp_hash_receiver_ip
,
int
(
udp_hash_receiver_port
),
localIP
,
int
(
localPort
),))
t1
=
threading
.
Thread
(
target
=
receive_main
,
args
=
(
Endpoint_Url
,
Namespace_Server
,
udp_hash_receiver_ip
,
int
(
udp_hash_receiver_port
),
localIP
,
int
(
localPort
),))
t1
.
start
()
t1
.
start
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment