Web application displaying Ryze Tello's state and stream, allowing to control a drone with PS3 pad.
Application uses:
- Gamepad API
- socket.io: sending drone state / control commands
- JSMpeg: drone stream player using websockets
- ffmpeg
-
Install ffmpeg.
Install app dependencies:yarn
-
Build app:
yarn build yarn server:build
-
Connect to Tello's WiFi network.
-
Start server:
yarn server:start --record-stream --bitrate=2000k
-
Navigate to http://localhost:5000 in your browser.
- takeoff: press L2 & R2 simultanously
- land: press L1 & R1 simultanously
- move left/right: left stick left/right
- move forward/backward: left stick up/down
- rotate left/right: right stick left/right
- move up/down: right stick up/down
To detect pad on Windows 10 I had to install ScpToolkit.
- add drone speed adjustment
- reduce control latency
- reduce stream latency (WebRTC? https://qiita.com/a-baba/items/d728d580f89473c5fd18)
- improve control experience
- watching front-end changes:
yarn start
- watching server changes:
yarn server:watch
- note that you need to restart server in order to see server changes:
yarn start