Китайский дрон V186 pro Java-программированиеJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Китайский дрон V186 pro Java-программирование

Сообщение Anonymous »

Я купил дрон V186. Технической информации об этом нет. В комплект поставки входит контроллер и QR-код, указывающий на приложение для смартфона «Wi-Fi UAV». Приложение не работает с этим дроном. Я хочу разработать Java-приложение для получения видео с дрона.
Я получил IP-адрес дрона (192.160.80.1) после подключения моего компьютера (192.168.80.2) к Wi-Fi дрона и просканировал все порты. Я получил ответ на порты 3333 и 8080. Telnet подключается к обоим портам.
Я пробовал использовать Tello SDK, но безуспешно (я этого уже ожидал). Я попробовал несколько простых программ TCP и UDP для подключения к обоим портам с помощью AT-команды, но безуспешно (они подключаются, но не более того). Обе программы завершают работу по тайм-ауту: java.net.SocketTimeoutException: время ожидания получения истекло
Может кто-нибудь подсказать мне, как управлять дроном? Как узнать команды, не открывая его, и узнать марку и модель мозга дрона?
Спасибо!
Это простые программы, которые я пробовал
Socket socket;
InputStream input;
OutputStream output;
byte[] data;
String line;
final String cmd = "AT*LED=1,0,1056964608,4";

try {
System.out.println("Program starts");
socket = new Socket("192.168.80.1", 8080); // 3333
socket.setSoTimeout(1000);
input = socket.getInputStream();

/* BufferedReader reader = new BufferedReader(new InputStreamReader(input));
line = reader.readLine();
System.out.println("--- ANSWER ----------------------------");
System.out.println(line);
input.close();
*/

output = socket.getOutputStream();
data = cmd.getBytes();
output.write(data);

socket.close();

} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Program ends");

Программа UDP
int port = 3333; // 8080; // 3333;
String answer;
final String cmd = "AT*LED=1,0,1056964608,4";

try {
InetAddress address = InetAddress.getByName("192.168.80.1");
DatagramSocket socket = new DatagramSocket();
socket.setSoTimeout(1000);

byte[] buffer = cmd.getBytes(); // new byte[512];

DatagramPacket request = new DatagramPacket(buffer, buffer.length, address, port);

socket.send(request);

DatagramPacket response = new DatagramPacket(buffer, buffer.length);
socket.receive(response);

answer = new String(buffer, 0, response.getLength());
System.out.println("Answer length: " + response.getLength());
System.out.println("-- ANSWER --------------------------------------");
System.out.println(answer);

System.out.println("\nProgram ends");
} catch (IOException e) {
e.printStackTrace();
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... rogramming
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»