Pitanje:
Da li bih mogao programirati aplikaciju za pametni telefon za upravljanje dronom kojim upravlja pametni telefon?
Jeff 2.0
2020-05-08 04:54:53 UTC
view on stackexchange narkive permalink

Želim kupiti svoj prvi dron, nemam prethodno iskustvo. Zanimljiv sam u nabavci jeftinog drona s kamerom kojim se može upravljati iz aplikacije za pametni telefon. Nešto poput Tello Ryzea bilo bi na višem kraju mog cjenovnog razreda. Imam iskustva s programiranjem (uključujući aplikacije za pametne telefone). Primijetio sam da Tello Ryze posebno ima SDK. Bi li bilo moguće koristiti ovaj SDK iz Android aplikacije koju sam napisao? I je li obično moguće sami programirati bespilotne letjelice kojima se može upravljati sa pametnog telefona (teško mi je Google dati dobre informacije o tome)?

Da pojasnim, čemu bih želio pristupiti u svom programu:

  • Video stream iz drona u moju aplikaciju za pametni telefon
  • Pošaljite naredbe iz moje aplikacije za pametni telefon u bespilotnu letjelicu radi upravljanja
Dva odgovori:
Paul Kendall
2020-05-08 05:59:52 UTC
view on stackexchange narkive permalink

To se svakako čini izvedivim. SDK dokumentacija nije vrlo jasna, ali u osnovi je to jednostavna naredba niza preko UDP-a. Dakle, čini se da dron stvara WiFi pristupnu točku na koju se povežete sa svojim telefonom i imate namjensku IP adresu / broj porta za slanje naredbi na dron.

Postoji jednostavna aplikacija python povezana u njihov SDK dokument koji pokazuje osnove. A postoji i github spremište koje također ima python program koji pokazuje kako dobiti video feed iz drona preko naredbe API opisane u SDK-u.

S obzirom na SDK i primjeri projekata u github repozitorijumu, mislim da bi to bio izvediv projekt nekoga s nekim Androidovim vještinama razvoja.

Nakon što sam malo više pogledao SDK dokumentaciju, mislim da je ovo vjerojatno dobar prvi korak za mene u svijet dronova (i upravljanje njima putem vlastitih programa).
Bastian Springer
2020-05-08 13:49:39 UTC
view on stackexchange narkive permalink

Programiranje aplikacije za DJI Tello čini se mogućim s danim API-jem. Zapravo, Tello je namijenjen takvoj vrsti projekata.

Ne želim ovdje ponavljati Pavlov odgovor - razumijem vaše pitanje tako da vam je krajnji cilj u potpunosti programirati cijeli sustav, od početka da završite, da kontrolirate svoj dron, nabavite video feed i telemetriju i tako dalje. I bez ovisnosti o DJI-ju.

Iako je to definitivno moguće, napor koji ćete morati uložiti prilično je velik. Naročito stvaranje sustava za prijenos video zapisa može biti gnjavaža. Imajte na umu, mora biti pouzdan, brz i - što je najvažnije - robustan: mora se oporaviti od pogrešaka, mora se nositi s lošim i sporim vezama; shvatili ste poantu. To što je jedna strana već sređena (kao u slučaju DJI Tello) veliki je plus za programiranje vlastite aplikacije jer imate na čemu nadograditi.

Ali nemojte da vas uplašim. Ako se osjećate sigurni u svoje vještine programiranja na više platformi, to definitivno možete učiniti. Standardi poput WebRTC mogu vam pomoći.

Imam neko iskustvo sa stvarima poput WebRTC-a. Je li za Tello Ryze moguće učitati / pokrenuti vlastiti program izravno na dron? Pretpostavljam da na to mislite pod programiranjem cijelog sustava, uključujući dijelove poput video streaminga.
Oh, možda sam malo pogrešno razumio vaše pitanje (zato sam spomenuo WebRTC jer sam mislio da biste i vi željeli napraviti svoj vlastiti dron). DJI tello međutim ne koristi WebRTC. Ali, koliko razumijem SDK, vaš program radi samo na telefonu i vi ga kontrolirate putem UDP poruka na 192.168.10.1:8889, a tello će vam vratiti UDP poruke s bilo kojim podacima zatraženo na priključak vašeg telefona 8890. Video stream šalje se na vaš telefon na priključku 11111. Možda vam ove dvije niti pomažu u dekodiranju video prijenosa: [1] (https://bit.ly/2YLGzB5) [2] (https: //bit.ly/2WhkoRA).


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 4.0 licenci pod kojom se distribuira.
Loading...