質問編集履歴
11
誤字
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
10
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
を使用しています。このIPアドレスはwifiにつなげた状態でパソコンでIPアドレススキャナーのアプリでスキャンして得ました。
|
39
39
|
映像受信時のUDPは1台の時と変わらず
|
40
40
|
('udp://0.0.0.0:11111')
|
41
|
-
を使用していますが、映像を取得できませんでした。「streamon」はきちんと送れているようなので、telloのIPアドレスは正しく、
|
41
|
+
を使用していますが、映像を取得できませんでした。「streamon」はきちんと送れているようなので、telloのIPアドレスは正しく、映像受信時のUDPが間違っているのではないかと考えています。
|
42
42
|
|
43
43
|
IPアドレスを変更するとUDPも変わるのでしょうか。変わるとしても、変更後の値が分かりません。そもそも編隊飛行ではカメラを使えないのでしょうか。
|
44
44
|
|
9
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -156,7 +156,7 @@
|
|
156
156
|
send_command1('command')
|
157
157
|
send_command1('streamon')
|
158
158
|
|
159
|
-
cap1 = cv2.VideoCapture('udp://0.0.0.0:
|
159
|
+
cap1 = cv2.VideoCapture('udp://0.0.0.0:11111')
|
160
160
|
|
161
161
|
while True:
|
162
162
|
ret,frame1 = cap1.read()
|
8
補足説明追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,6 +5,9 @@
|
|
5
5
|
この質問は以下のサイトでマルチポストしています。
|
6
6
|
分かったこと、補足説明や解決方法はどちらのサイトにも更新します。
|
7
7
|
[http://qiita.com/tiffany1098/questions/70c0cbfba80ec8ffa1f1](http://qiita.com/tiffany1098/questions/70c0cbfba80ec8ffa1f1)
|
8
|
+
|
9
|
+
UDPやIPアドレスについてあまり詳しくないため、間違っていましたらご指摘お願いします。
|
10
|
+
|
8
11
|
### 発生している問題
|
9
12
|
|
10
13
|
tellopyなどは使わず、TelloSDK2.0のコマンド送信によるプログラムを書いています。
|
@@ -17,14 +20,13 @@
|
|
17
20
|
|
18
21
|
telloEDUの編隊飛行(前進、後退などの単純な動き)自体はうまくいっています。
|
19
22
|
|
20
|
-
ご回答宜しくお願いいたします。
|
21
23
|
|
22
24
|
#補足説明
|
23
|
-
tello 1台のときは
|
25
|
+
tello 1台のときはtello自体がwifiアクセスポイントとなります。
|
24
26
|
telloのIPアドレス、ポート番号は公式通りに
|
25
27
|
('192.168.10.1',8889)
|
26
28
|
を使用しています。
|
27
|
-
|
29
|
+
映像受信時のUDPも公式通りに
|
28
30
|
('udp://0.0.0.0:11111')
|
29
31
|
を使用しています。
|
30
32
|
|
@@ -34,7 +36,7 @@
|
|
34
36
|
ドローン2:('192.168.100.113',8889)
|
35
37
|
ドローン3:('192.168.100.114',8889)
|
36
38
|
を使用しています。このIPアドレスはwifiにつなげた状態でパソコンでIPアドレススキャナーのアプリでスキャンして得ました。
|
37
|
-
|
39
|
+
映像受信時のUDPは1台の時と変わらず
|
38
40
|
('udp://0.0.0.0:11111')
|
39
41
|
を使用していますが、映像を取得できませんでした。「streamon」はきちんと送れているようなので、telloのIPアドレスは正しく、カメラのUDPが間違っているのではないかと考えています。
|
40
42
|
|
@@ -42,12 +44,160 @@
|
|
42
44
|
|
43
45
|
ご回答宜しくお願い致します。
|
44
46
|
|
47
|
+
#試したこと
|
48
|
+
|
49
|
+
①
|
45
50
|
[https://joho-ka.mints.ne.jp/multi-camras-with-opencv?doing_wp_cron=1599214242.8721311092376708984375](https://joho-ka.mints.ne.jp/multi-camras-with-opencv?doing_wp_cron=1599214242.8721311092376708984375)
|
46
51
|
こちらのサイトのcapture = cv2.VideoCapture(i)のiの値を変えていく方法はうまくいきませんでした。この方法はパソコンに直接つなぐタイプのカメラにしか使えないようで、通信で映像を取得するtelloには使うことができませんでした。
|
47
52
|
|
53
|
+
②
|
54
|
+
wi-fiルーターにパソコンとドローン3台ではなく、1台のみ接続し試しました。
|
55
|
+
ドローン1:('192.168.100.112',8889)
|
56
|
+
('udp://0.0.0.0:11111')
|
57
|
+
で試しましたが、「streamon OK」で止まり、映像の取得はできませんでした。
|
58
|
+
つまり、混信以前のUDPなどが間違っていることになるのでしょうか。
|
59
|
+
```Python
|
60
|
+
#試したこと②
|
61
|
+
import socket
|
62
|
+
import threading
|
63
|
+
import time
|
64
|
+
import cv2
|
48
65
|
|
66
|
+
event = threading.Event()
|
49
67
|
|
68
|
+
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
|
69
|
+
sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)
|
70
|
+
sock.bind(('',9000))
|
50
71
|
|
72
|
+
tello1_address = ('192.168.100.112',8889)
|
73
|
+
|
74
|
+
def send_command1(msg):
|
75
|
+
print(msg)
|
76
|
+
msg = msg.encode(encoding="utf-8")
|
77
|
+
sock.sendto(msg,tello1_address)
|
78
|
+
event.wait()
|
79
|
+
event.clear()
|
80
|
+
|
81
|
+
def send_command2(msg):
|
82
|
+
print(msg)
|
83
|
+
msg = msg.encode(encoding="utf-8")
|
84
|
+
sock.sendto(msg,tello2_address)
|
85
|
+
event.wait()
|
86
|
+
event.clear()
|
87
|
+
|
88
|
+
def send_command3(msg):
|
89
|
+
print(msg)
|
90
|
+
msg = msg.encode(encoding="utf-8")
|
91
|
+
sock.sendto(msg,tello3_address)
|
92
|
+
event.wait()
|
93
|
+
event.clear()
|
94
|
+
|
95
|
+
def send_command(msg):
|
96
|
+
print(msg,msg,msg, sep='\n', end='\n')
|
97
|
+
msg = msg.encode(encoding="utf-8")
|
98
|
+
sock.sendto(msg,tello1_address)
|
99
|
+
sock.sendto(msg,tello2_address)
|
100
|
+
sock.sendto(msg,tello3_address)
|
101
|
+
event.wait()
|
102
|
+
event.clear()
|
103
|
+
|
104
|
+
def send_command12(msg1,msg2):
|
105
|
+
print(msg1,msg2, sep='\n', end='\n')
|
106
|
+
msg1 = msg1.encode(encoding="utf-8")
|
107
|
+
msg2 = msg2.encode(encoding="utf-8")
|
108
|
+
sock.sendto(msg1,tello1_address)
|
109
|
+
sock.sendto(msg2,tello2_address)
|
110
|
+
event.wait()
|
111
|
+
event.clear()
|
112
|
+
|
113
|
+
def send_command23(msg2,msg3):
|
114
|
+
print(msg2,msg3, sep='\n', end='\n')
|
115
|
+
msg2 = msg2.encode(encoding="utf-8")
|
116
|
+
msg3 = msg3.encode(encoding="utf-8")
|
117
|
+
sock.sendto(msg2,tello2_address)
|
118
|
+
sock.sendto(msg3,tello3_address)
|
119
|
+
event.wait()
|
120
|
+
event.clear()
|
121
|
+
|
122
|
+
def send_command13(msg1,msg3):
|
123
|
+
print(msg1,msg3, sep='\n', end='\n')
|
124
|
+
msg1 = msg1.encode(encoding="utf-8")
|
125
|
+
msg3 = msg3.encode(encoding="utf-8")
|
126
|
+
sock.sendto(msg1,tello1_address)
|
127
|
+
sock.sendto(msg3,tello3_address)
|
128
|
+
event.wait()
|
129
|
+
event.clear()
|
130
|
+
|
131
|
+
def send_command123(msg1,msg2,msg3):
|
132
|
+
print(msg1,msg2,msg3, sep='\n', end='\n')
|
133
|
+
msg1 = msg1.encode(encoding="utf-8")
|
134
|
+
msg2 = msg2.encode(encoding="utf-8")
|
135
|
+
msg3 = msg3.encode(encoding="utf-8")
|
136
|
+
sock.sendto(msg1,tello1_address)
|
137
|
+
sock.sendto(msg2,tello2_address)
|
138
|
+
sock.sendto(msg3,tello3_address)
|
139
|
+
event.wait()
|
140
|
+
event.clear()
|
141
|
+
|
142
|
+
def recv():
|
143
|
+
while True:
|
144
|
+
try:
|
145
|
+
data,server = sock.recvfrom(1518)
|
146
|
+
print(data.decode(encoding="utf-8"))
|
147
|
+
event.set()
|
148
|
+
except Exception:
|
149
|
+
break
|
150
|
+
recvThread = threading.Thread(target=recv)
|
151
|
+
recvThread.start()
|
152
|
+
|
153
|
+
|
154
|
+
def main():
|
155
|
+
try:
|
156
|
+
send_command1('command')
|
157
|
+
send_command1('streamon')
|
158
|
+
|
159
|
+
cap1 = cv2.VideoCapture('udp://0.0.0.0:12000')
|
160
|
+
|
161
|
+
while True:
|
162
|
+
ret,frame1 = cap1.read()
|
163
|
+
cv2.imshow('TelloEDU1',frame1)
|
164
|
+
|
165
|
+
key = cv2.waitKey(1)
|
166
|
+
if key == 27:
|
167
|
+
break
|
168
|
+
|
169
|
+
|
170
|
+
except Exception as ex:
|
171
|
+
print(ex)
|
172
|
+
finally:
|
173
|
+
cap1.release()
|
174
|
+
cv2.destroyAllWindows()
|
175
|
+
send_command1('streamoff')
|
176
|
+
sock.close()
|
177
|
+
print('--- END ---')
|
178
|
+
|
179
|
+
if __name__ == '__main__':
|
180
|
+
main()
|
181
|
+
```
|
182
|
+
|
183
|
+
|
184
|
+
③
|
185
|
+
('192.168.10.1',8889)と('udp://0.0.0.0:11111')がセットになっている(対になっている)可能性があるか調べました。wi-fiルーターにパソコンとドローンを1台接続し、ドローンは192.168.10.1に割り振られるようにルーター側で設定しました。
|
186
|
+
この方法もうまくいかず、「streamon OK」で止まりました。
|
187
|
+
|
188
|
+
④
|
189
|
+
ドローン自体をwi-fiアクセスポイントとしたとき(パソコンとドローンを1対1で接続)、
|
190
|
+
('192.168.10.1',8889)('udp://0.0.0.0:11111')
|
191
|
+
('192.168.10.1',8889)('udp://127.0.0.1:11111')
|
192
|
+
('192.168.10.1',8889)('udp://192.168.10.2:11111')
|
193
|
+
のように映像受信時のIPアドレスを変えても、映像を受信できました。
|
194
|
+
|
195
|
+
⑤
|
196
|
+
wi-fiルーターではなく、ドローンをwi-fiのアクセスポイントとしたとき、このアクセスポイントに他のドローンも接続できるか試しましたができませんでした。
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
51
201
|
### 該当のソースコード
|
52
202
|
|
53
203
|
```Python
|
7
補足説明追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,9 +42,12 @@
|
|
42
42
|
|
43
43
|
ご回答宜しくお願い致します。
|
44
44
|
|
45
|
+
[https://joho-ka.mints.ne.jp/multi-camras-with-opencv?doing_wp_cron=1599214242.8721311092376708984375](https://joho-ka.mints.ne.jp/multi-camras-with-opencv?doing_wp_cron=1599214242.8721311092376708984375)
|
46
|
+
こちらのサイトのcapture = cv2.VideoCapture(i)のiの値を変えていく方法はうまくいきませんでした。この方法はパソコンに直接つなぐタイプのカメラにしか使えないようで、通信で映像を取得するtelloには使うことができませんでした。
|
45
47
|
|
46
48
|
|
47
49
|
|
50
|
+
|
48
51
|
### 該当のソースコード
|
49
52
|
|
50
53
|
```Python
|
6
補足説明追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
この質問は以下のサイトでマルチポストしています。
|
6
6
|
分かったこと、補足説明や解決方法はどちらのサイトにも更新します。
|
7
|
-
|
7
|
+
[http://qiita.com/tiffany1098/questions/70c0cbfba80ec8ffa1f1](http://qiita.com/tiffany1098/questions/70c0cbfba80ec8ffa1f1)
|
8
8
|
### 発生している問題
|
9
9
|
|
10
10
|
tellopyなどは使わず、TelloSDK2.0のコマンド送信によるプログラムを書いています。
|
5
補足説明追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
[Python]telloEduで編隊飛行を行った際のカメラ映像の取得方法を教えてください。
|
4
4
|
|
5
|
+
この質問は以下のサイトでマルチポストしています。
|
6
|
+
分かったこと、補足説明や解決方法はどちらのサイトにも更新します。
|
7
|
+
https://qiita.com/tiffany1098/questions/70c0cbfba80ec8ffa1f1
|
5
8
|
### 発生している問題
|
6
9
|
|
7
10
|
tellopyなどは使わず、TelloSDK2.0のコマンド送信によるプログラムを書いています。
|
4
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,8 +22,8 @@
|
|
22
22
|
('192.168.10.1',8889)
|
23
23
|
を使用しています。
|
24
24
|
telloカメラのUDPも公式通りに
|
25
|
+
('udp://0.0.0.0:11111')
|
25
26
|
を使用しています。
|
26
|
-
('udp://0.0.0.0:11111')
|
27
27
|
|
28
28
|
tello3台のときは
|
29
29
|
wifiルーターにtello3台とパソコンをつなげているため、IPアドレスが変わるため
|
3
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
を使用しています。このIPアドレスはwifiにつなげた状態でパソコンでIPアドレススキャナーのアプリでスキャンして得ました。
|
34
34
|
telloカメラのUDPは1台の時と変わらず
|
35
35
|
('udp://0.0.0.0:11111')
|
36
|
-
を使用していますが、映像を取得できませんでした。「streamon」はきちんと送れているようなので、
|
36
|
+
を使用していますが、映像を取得できませんでした。「streamon」はきちんと送れているようなので、telloのIPアドレスは正しく、カメラのUDPが間違っているのではないかと考えています。
|
37
37
|
|
38
38
|
IPアドレスを変更するとUDPも変わるのでしょうか。変わるとしても、変更後の値が分かりません。そもそも編隊飛行ではカメラを使えないのでしょうか。
|
39
39
|
|
2
補足説明追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -16,9 +16,32 @@
|
|
16
16
|
|
17
17
|
ご回答宜しくお願いいたします。
|
18
18
|
|
19
|
+
#補足説明
|
20
|
+
tello 1台のときは
|
21
|
+
telloのIPアドレス、ポート番号は公式通りに
|
22
|
+
('192.168.10.1',8889)
|
23
|
+
を使用しています。
|
24
|
+
telloカメラのUDPも公式通りに
|
25
|
+
を使用しています。
|
26
|
+
('udp://0.0.0.0:11111')
|
19
27
|
|
28
|
+
tello3台のときは
|
29
|
+
wifiルーターにtello3台とパソコンをつなげているため、IPアドレスが変わるため
|
30
|
+
ドローン1:('192.168.100.112',8889)
|
31
|
+
ドローン2:('192.168.100.113',8889)
|
32
|
+
ドローン3:('192.168.100.114',8889)
|
33
|
+
を使用しています。このIPアドレスはwifiにつなげた状態でパソコンでIPアドレススキャナーのアプリでスキャンして得ました。
|
34
|
+
telloカメラのUDPは1台の時と変わらず
|
35
|
+
('udp://0.0.0.0:11111')
|
36
|
+
を使用していますが、映像を取得できませんでした。「streamon」はきちんと送れているようなので、tello1nのIPアドレスは正しく、カメラのUDPが間違っているのではないかと考えています。
|
20
37
|
|
38
|
+
IPアドレスを変更するとUDPも変わるのでしょうか。変わるとしても、変更後の値が分かりません。そもそも編隊飛行ではカメラを使えないのでしょうか。
|
21
39
|
|
40
|
+
ご回答宜しくお願い致します。
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
|
22
45
|
### 該当のソースコード
|
23
46
|
|
24
47
|
```Python
|
1
書式変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
|
5
5
|
### 発生している問題
|
6
6
|
|
7
|
-
```
|
8
7
|
tellopyなどは使わず、TelloSDK2.0のコマンド送信によるプログラムを書いています。
|
9
8
|
TelloEdu1台での飛行時のカメラ映像は「command」の次に「streamon」とコマンドを送信したのち、OpecCVで
|
10
9
|
cap = cv2.VideoCapture('udp://0.0.0.0:11111')
|
@@ -18,8 +17,8 @@
|
|
18
17
|
ご回答宜しくお願いいたします。
|
19
18
|
|
20
19
|
|
21
|
-
```
|
22
20
|
|
21
|
+
|
23
22
|
### 該当のソースコード
|
24
23
|
|
25
24
|
```Python
|