Skip to content
This repository has been archived by the owner on Jan 26, 2024. It is now read-only.

dnomak/drone-keyboard

Repository files navigation

Drone Keyboard is a new way to control your Tello. A special design to have amazing experience with your pc and drone.

https://dnomak.com/drone-keyboard/

Video in Turkish and English subtitles available!

https://www.youtube.com/watch?v=_MdNCSpX1Vg

SAFETY FIRST!

Use the codebase or app as your own risk. The drone can hurt you and I'm not responsible for that. Always test commands with the props removed first. Don't be dumb! Also please make sure that Tello’s firmware is updated! If Tello does not receive any command input for 15 seconds, it will land automatically.

TEST FLIGHT

Software Used

  • Vue
  • Electron
  • Node.js
  • Socket.io
  • VXG Media Player

Hardware Used

Using This Code

Development

  1. npm install
  2. npm run serve - Runs only Vue project on http://localhost:8080
  3. Connect to drone via wifi
  4. npm run serve:electron - Opens Electron project and runs Vue project in it on http://localhost:8080

Start Stream

  1. You need to add VXG Media Player Chrome Extension to start Video Stream. Video Stream doesn't start on Electron. You should push 'Shift' button which opens new tab on Chrome to start Video Stream.
  2. npm run build - For Video Stream in main.js there are 2 ports. On port :2020, Vue project which locates in /dist runs. On port :2021 index.html which locates in /stream runs. This :2021 port was called as iframe to Vue project which runs on :2020 and Video Stream starts.

Build Mac App

  1. npm run build - Build Vue project in /dist.
  2. Please comment <script src="http://localhost:8080/app.js"></script> in /index.html, change names of app.***.css, chunk-vendors.***.js and app.***.js with file names under /dist and remove comments.
  3. npm run build:electron:mac - Extract the app to release-builds

Troubleshooting

Docs for Tello are available here

I had to update the firmware of my drone when it came in the mail before I could use this 1.3 API. Do this via the Tello app on your phone.

If you let the drone's WIFI connection lapse, you have to restart the server by typing rs into the terminal. This will re-run the command command that puts the drone in SDK mode. If you don't do this, it will ignore any commands you send it.

License

Drone Keyboard for Tello app is licensed under the MIT license.

VXG Media Player is licensed to Video Experts Group. MIT license is not run for /stream folder, usage is free. If you want to use this extension for your projects, I suggest you to contact with Video Experts Group.

Examples & Resources

Inspired by