| | |
| | | # os.makedirs(file_folder) |
| | | # print(f"make a new folder: {file_folder}") |
| | | |
| | | packed_count = 0 |
| | | |
| | | class PointCloudUDPRequestHandler(BaseRequestHandler): |
| | | |
| | | def handle(self): |
| | | |
| | | global packed_count |
| | | global path |
| | | |
| | | if packed_count == 0: |
| | | start = datetime.datetime.now() |
| | | if not os.path.exists(save_folder): |
| | | os.mkdir(save_folder) |
| | | if sub_folder is not None: |
| | | path = os.path.join(save_folder,sub_folder) |
| | | else: |
| | | path = os.path.join(save_folder,f"{device_id}-{start.strftime('%Y-%m-%d-%H-%M-%S')}") |
| | | if not os.path.exists(path): |
| | | os.mkdir(path) |
| | | path = os.path.abspath(path) |
| | | packet_threshold = self.server.packet_threshold |
| | | packed_count = self.server.packed_count |
| | | path = self.server.path |
| | | |
| | | print(time.asctime(),' Got connection from {}, {}'.format(self.client_address, packed_count)) |
| | | # Get message and client socket |
| | |
| | | f = open('{}/{}_packet{}.udp'.format(path,time_tag,packed_count), 'wb') |
| | | f.write(msg) |
| | | f.close() |
| | | packed_count += 1 |
| | | self.server.packed_count += 1 |
| | | self.server.udp_list.append(msg) |
| | | |
| | | if packed_count >= packet_threshold: |
| | | UDPServer.server_close(server) |
| | | |
| | | UDPServer.server_close(self.server) |
| | | |
| | | def udp_get_tool(microwaveHost,packetThreshold,deviceName,saveFolder,subFolder): |
| | | |
| | | global packet_threshold |
| | | packet_threshold = packetThreshold, |
| | | global device_id |
| | | device_id = deviceName |
| | | global save_folder |
| | | save_folder = saveFolder |
| | | global sub_folder |
| | | sub_folder = subFolder |
| | | |
| | | global server |
| | | |
| | | # host = '' |
| | | # host = '' |
| | | # host = '192.168.2.65' # use this host to get the udp data from microwave device |
| | | port = 9911 |
| | | server =UDPServer((microwaveHost, port), PointCloudUDPRequestHandler) |
| | | |
| | | |
| | | if subFolder is not None: |
| | | path = os.path.join(saveFolder,subFolder) |
| | | else: |
| | | start = datetime.datetime.now() |
| | | path = os.path.join(saveFolder,f"{deviceName}-{start.strftime('%Y-%m-%d-%H-%M-%S')}") |
| | | if not os.path.exists(path): |
| | | os.makedirs(path) |
| | | |
| | | server.path = os.path.abspath(path) |
| | | server.packet_threshold = packetThreshold |
| | | server.packed_count = 0 |
| | | server.udp_list = [] |
| | | |
| | | print(time.asctime(),'Server started on port', port) |
| | | print('....') |
| | | print('ctrl-c to quit server.') |
| | |
| | | except: |
| | | server.server_close() |
| | | print(time.asctime(),"Server Stopped") |
| | | |
| | | |
| | | return server.udp_list |
| | | |
| | | |
| | | if __name__ == '__main__': |