Spørsmål:
Ville jeg være i stand til å programmere en smarttelefonapp for å kontrollere en smarttelefonstyrt drone?
Jeff 2.0
2020-05-08 04:54:53 UTC
view on stackexchange narkive permalink

Jeg vil kjøpe min første drone, jeg har ingen tidligere erfaring. Jeg er interessant med å få en billig drone med et kamera som kan styres fra en smarttelefonapp. Noe som Tello Ryze ville være i den øvre enden av prisklassen min. Jeg har erfaring med programmering (inkludert smarttelefonapper). Jeg la merke til at Tello Ryze spesifikt har en SDK. Ville det være mulig å bruke denne SDK-en fra en Android-app jeg skrev? Og er det vanligvis mulig å programmere droner som kan kontrolleres fra en smarttelefon selv (jeg synes det er vanskelig å Google god informasjon om dette)?

For å avklare, hva jeg ønsker å få tilgang til i programmet mitt:

  • Videostrøm fra drone til smarttelefonappen min
  • Send kommandoer fra smarttelefonappen min til dronen for å kontrollere den
To svar:
Paul Kendall
2020-05-08 05:59:52 UTC
view on stackexchange narkive permalink

Dette virker absolutt gjennomførbart. SDK-dokumentasjonen er ikke veldig tydelig, men i utgangspunktet er det en enkel strengkommando over UDP. Så det ser ut som at dronen lager et WiFi-tilgangspunkt som du kobler deg til med telefonen din, og at du har en dedikert IP-adresse / portnummer for å sende kommandoer til dronen.

Det er et enkelt python-program koblet til SDK-dokumentet deres som viser det grunnleggende. Og det er et github-arkiv som også har et python-program som viser hvordan du får videofeeden fra dronen over kommandoen API beskrevet i SDK.

Gitt SDK og eksempelprosjektene i github-databasen Jeg tror det ville være et gjennomførbart prosjekt av noen med noen Android-utviklingsevner.

Etter å ha sett på SDK-dokumentasjonen litt mer, tror jeg dette er sannsynligvis et godt første skritt for meg inn i dronene (og kontrollere dem gjennom mine egne programmer).
Bastian Springer
2020-05-08 13:49:39 UTC
view on stackexchange narkive permalink

Programmering av en app for DJI Tello virker mulig med gitt API. Egentlig er Tello ment for slike prosjekter.

Jeg vil imidlertid ikke gjenta Pauls svar her - jeg forstår spørsmålet ditt slik at ditt endelige mål er å programmere et helt system helt fra starten. for å fullføre, for å kontrollere dronen din, få en videofeed og telemetri og så videre. Og uten å avhenge av DJI.

Og selv om det definitivt er mulig, er innsatsen du må legge ned ganske stor. Spesielt å lage et videooverføringssystem kan være et problem. Husk at den må være pålitelig, rask og - viktigst av alt - robust: den må komme seg etter feil, den må håndtere dårlige og langsomme forbindelser; du skjønner poenget. Å ha en side allerede sortert ut (som i tilfelle DJI Tello) er et stort pluss for å programmere din egen app fordi du har noe å bygge på.

Men ikke la meg skremme deg. Hvis du føler deg trygg på dine programmeringsferdigheter på tvers av plattformer, kan du definitivt gjøre det. Standarder som WebRTC kan hjelpe deg.

Jeg har litt erfaring med ting som WebRTC. For Tello Ryze, er det mulig å laste / kjøre mitt eget program direkte på dronen? Jeg antar at det er det du mener med å programmere hele systemet inkludert deler som videostreaming.
Å, kanskje jeg misforsto spørsmålet ditt litt (det er derfor jeg nevnte WebRTC fordi jeg trodde du også ville ønske å bygge din egen drone). DJI-telloen bruker imidlertid ikke WebRTC, men så vidt jeg forstår SDK, kjører programmet ditt bare på telefonen, og du styrer det via UDP-meldinger til 192.168.10.1:8889, og telloen returnerer UDP-meldinger med alle dataene du har bedt om til telefonport 8890. Videostrømmen sendes til telefonen din på port 11111. Kanskje disse to trådene hjelper deg med å dekode videostrømmen: [1] (https://bit.ly/2YLGzB5) [2] (https: //bit.ly/2WhkoRA).


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 4.0-lisensen den distribueres under.
Loading...