@@ -1,7 +1,9 | |||||
1 | import os |
|
1 | import os | |
2 | import library3 |
|
2 | import library3 | |
3 | import time |
|
3 | import time | |
|
4 | from threading import Thread | |||
4 | import threading |
|
5 | import threading | |
|
6 | import Queue | |||
5 |
|
7 | |||
6 | class ABSServer: |
|
8 | class ABSServer: | |
7 |
|
9 | |||
@@ -26,8 +28,8 | |||||
26 | self.createObjects() |
|
28 | self.createObjects() | |
27 |
|
29 | |||
28 | print "Checking control modules, please wait ..." |
|
30 | print "Checking control modules, please wait ..." | |
29 |
|
|
31 | self.enaModules = self.checkAntenna() | |
30 | self.enaModules = [1,12] |
|
32 | # self.enaModules = [1,12] | |
31 | print "Starting automatic control module status." |
|
33 | print "Starting automatic control module status." | |
32 | self.__StartingAutomaticControlModules() |
|
34 | self.__StartingAutomaticControlModules() | |
33 | self.__AutomaticControlModules() |
|
35 | self.__AutomaticControlModules() | |
@@ -68,7 +70,7 | |||||
68 |
|
70 | |||
69 | self.commServerObj.sendData(cmd=cmd, data=datarpta, ipDestino = ipSource) |
|
71 | self.commServerObj.sendData(cmd=cmd, data=datarpta, ipDestino = ipSource) | |
70 |
|
72 | |||
71 | def checkModule(self, address): |
|
73 | def __checkModule(self, address): | |
72 |
|
74 | |||
73 | cmd = "ping -c 1 -w 1 192.168.1."+ str(address) + " >> /dev/null" |
|
75 | cmd = "ping -c 1 -w 1 192.168.1."+ str(address) + " >> /dev/null" | |
74 | status = os.system(cmd) |
|
76 | status = os.system(cmd) | |
@@ -113,7 +115,7 | |||||
113 | fobj.writelines(data) |
|
115 | fobj.writelines(data) | |
114 | fobj.close() |
|
116 | fobj.close() | |
115 |
|
117 | |||
116 | def checkAntenna(self): |
|
118 | def __checkAntenna(self): | |
117 |
|
119 | |||
118 | """ |
|
120 | """ | |
119 | Direccion de los modulos de las antenas: |
|
121 | Direccion de los modulos de las antenas: | |
@@ -133,6 +135,40 | |||||
133 |
|
135 | |||
134 | self.__writeReport(enaModules2) |
|
136 | self.__writeReport(enaModules2) | |
135 | return enaModules2 |
|
137 | return enaModules2 | |
|
138 | ||||
|
139 | def checkModule(self, arg, queue): | |||
|
140 | cmd = "ping -c 1 -w 1 192.168.1."+ str(arg) + " >> /dev/null" | |||
|
141 | status = os.system(cmd) | |||
|
142 | if status == 256: | |||
|
143 | result = "failed" | |||
|
144 | else: | |||
|
145 | result = "ok" | |||
|
146 | queue.put({arg: result}) | |||
|
147 | ||||
|
148 | def checkAntenna(self): | |||
|
149 | ||||
|
150 | iD = range(1,256) | |||
|
151 | q = Queue.Queue() | |||
|
152 | threads = [] | |||
|
153 | tOut = [] | |||
|
154 | modules = [] | |||
|
155 | ||||
|
156 | for argument in iD: | |||
|
157 | t = Thread(target=self.checkModule, args=(argument, q)) | |||
|
158 | t.start() | |||
|
159 | threads.append(t) | |||
|
160 | ||||
|
161 | for t in threads: | |||
|
162 | t.join() | |||
|
163 | ||||
|
164 | for _ in range(len(iD)): | |||
|
165 | tOut.append(q.get()) | |||
|
166 | ||||
|
167 | for i in tOut: | |||
|
168 | if i.values()[0] == 'ok': | |||
|
169 | modules.append(i.keys()[0]) | |||
|
170 | ||||
|
171 | return modules | |||
136 |
|
172 | |||
137 | def __ConnectionWithControlModules(self,data,cmd,id): |
|
173 | def __ConnectionWithControlModules(self,data,cmd,id): | |
138 |
|
174 |
General Comments 0
You need to be logged in to leave comments.
Login now