def Setting(ip, port): serverSock = socket(AF_INET, SOCK_STREAM) print("소켓시작") serverSock.bind((ip, port)) print("bind") serverSock.listen(1) print("listen") while (1): connectionSock, addr = serverSock.accept() print(str(addr), '에서 접속이 확인되었습니다.') data = connectionSock.recv(1024).decode() data_2 = Calculate.in_data(data) data_2 = data_2.split(",") data_3 = Trilateration.Trilateration(data_2) # 삼변측량알고리즘 적용 return data_3 #위치좌표 X,Y반
#Reading floor plan to use as Background image img = plt.imread(Layout) Positions = pd.read_csv(Positions, sep=";") database = pd.read_csv(testset, sep=";") testset = pd.read_csv(testset, sep=";") Anchors = pd.read_csv(Anchors, sep=";") Limits = pd.read_csv(Limits, sep=";") Pathloss_model = pd.read_csv(Pathloss_model, sep=";") fig, ax = plt.subplots() ax.scatter(list(Anchors['x']), list(Anchors['y'])) if (algorithm == 'Trilateration'): ax.scatter(list(Positions['x']), list(Positions['y'])) Positions = Trilateration(Positions, Anchors, Pathloss_model) for i in range(len(list(Positions['x']))): ax.plot([Positions['x'][i], Positions['x_calc'][i]], [Positions['y'][i], Positions['y_calc'][i]], color='r') ax.scatter(list(Positions['x_calc']), list(Positions['y_calc'])) print(mean(list(Positions['error']))) elif (algorithm == 'KNN'): ax.scatter(list(testset['x']), list(testset['y'])) Positions = knn(database, testset, k) for i in range(len(list(Positions['x']))): ax.plot([Positions['x'][i], Positions['x_calc'][i]], [Positions['y'][i], Positions['y_calc'][i]], color='r') ax.scatter(list(Positions['x_calc']), list(Positions['y_calc'])) print(mean(list(Positions['error'])))