-
Notifications
You must be signed in to change notification settings - Fork 8
/
ConnectToCamera.py
59 lines (46 loc) · 1.83 KB
/
ConnectToCamera.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from MechEye import Device
def show_error(status):
if status.ok():
return
print("Error Code : {}".format(status.code()),
",Error Description: {}".format(status.description()))
def print_device_info(num, info):
print(" Mech-Eye device index: {}\n".format(str(num)),
"Camera Model Name: {}\n".format(info.model()),
"Camera ID: {}\n".format(info.id()),
"Camera IP: {}\n".format(info.ip()),
"Hardware Version: {}\n".format(info.hardware_version()),
"Firmware Version: {}\n".format(info.firmware_version()),
"...............................................")
class ConnectToCamera(object):
def __init__(self):
self.device = Device()
def find_camera_list(self):
self.device_list = self.device.get_device_list()
if len(self.device_list) == 0:
print("No Mech-Eye device found.")
quit()
for i, info in enumerate(self.device_list):
print_device_info(i, info)
def choose_camera(self):
while True:
user_input = input(
"Please enter the device index you want to connect: ")
if user_input.isdigit() and len(self.device_list) > int(user_input) and int(user_input) > 0:
self.index = int(user_input)
break
print("Input invalid! Please enter the device index you want to connect: ")
def connect_device_info(self):
status = self.device.connect(self.device_list[self.index])
if not status.ok():
show_error(status)
quit()
print("Connect Mech-Eye Success.")
self.device.disconnect()
def main(self):
self.find_camera_list()
self.choose_camera()
self.connect_device_info()
if __name__ == '__main__':
a = ConnectToCamera()
a.main()