{"id":22490875,"url":"https://github.com/cagataycali/tello-drone-controller","last_synced_at":"2025-08-02T23:30:53.557Z","repository":{"id":222053628,"uuid":"756125619","full_name":"cagataycali/tello-drone-controller","owner":"cagataycali","description":"Ryze Tello Drone Controller API - Made for Tiny AI","archived":false,"fork":false,"pushed_at":"2024-02-12T02:21:52.000Z","size":11,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-01T13:23:47.793Z","etag":null,"topics":["drone","tello","tello-drone"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cagataycali.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-12T01:55:27.000Z","updated_at":"2024-03-29T14:25:59.000Z","dependencies_parsed_at":"2024-02-12T03:28:42.886Z","dependency_job_id":"73072151-8831-4144-b868-24cdb8c6ad29","html_url":"https://github.com/cagataycali/tello-drone-controller","commit_stats":null,"previous_names":["cagataycali/tello-drone-controller"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cagataycali%2Ftello-drone-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cagataycali%2Ftello-drone-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cagataycali%2Ftello-drone-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cagataycali%2Ftello-drone-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cagataycali","download_url":"https://codeload.github.com/cagataycali/tello-drone-controller/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228502722,"owners_count":17930450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drone","tello","tello-drone"],"created_at":"2024-12-06T17:29:40.953Z","updated_at":"2024-12-06T17:29:41.633Z","avatar_url":"https://github.com/cagataycali.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tello Drone Controller API\n\n- This project provides a API interface to control a Tello drone using Express.js.\n- It allows users to send commands to the Tello drone through HTTP GET requests, making it easier to integrate drone control into web applications or services.\n\n# Install Globally\n\n```\nnpx tello-drone-controller\n```\n\nor \n\n```\nnpm install -g tello-drone-controller\n```\n\nThis will install the package globally and you can run the server from any directory.\n\n# Usage\n\n```\ntello-drone-controller # starts the server on port 9000\n```\n\n## Development\n\n## Prerequisites\n\nBefore you begin, ensure you have met the following requirements:\n\n- Node.js (version 12 or newer recommended)\n- A Tello drone connected to your computer's Wi-Fi network\n\n## Installation\n\nTo install the Tello Drone Controller API, follow these steps:\n\n1. Clone the repository to your local machine:\n\n   ```bash\n   git clone git@github.com:cagataycali/tello-drone-controller.git\n   ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd tello-drone-controller\n   ```\n\n3. Install the required npm packages:\n\n   ```bash\n   npm install\n   ```\n\n## Usage\n\nTo start the server, run the following command in your project directory:\n\n```bash\nnpm start\n```\n\nThe server will listen on port 9000. You can change the port by modifying the `port` variable in the server script.\n\n## API Endpoints\n\nThe API currently supports the following endpoints:\n\n- **GET** `/:command` - Send a command to the Tello drone.\n\n  - `command`: The command to send to the drone (e.g., `takeoff`, `land`, `up`, `down`, etc.).\n  - Query Parameters:\n    - `value`: (Optional) The value for commands that require it (e.g., distance, angle).\n    - Additional command-specific parameters as needed.\n\n### Example Request\n\nTo make the drone take off:\n\n```http\nGET http://localhost:9000/takeoff\n```\n\nTo move the drone up by 30 cm:\n\n```http\nGET http://localhost:9000/up?value=30\n```\n\n\n| Command       | Description or Example Usage                                      |\n|---------------|-------------------------------------------------------------------|\n| `command`     | Initializes the command mode. `GET http://localhost:9000/command` |\n| `takeoff`     | Commands the drone to take off. `GET http://localhost:9000/takeoff`|\n| `land`        | Commands the drone to land. `GET http://localhost:9000/land`      |\n| `streamon`    | Turns on video streaming. `GET http://localhost:9000/streamon`    |\n| `streamoff`   | Turns off video streaming. `GET http://localhost:9000/streamoff`  |\n| `emergency`   | Stops all motors immediately. `GET http://localhost:9000/emergency`|\n| `up`          | Moves the drone up. Example: `GET http://localhost:9000/up?value=30`|\n| `down`        | Moves the drone down. Example: `GET http://localhost:9000/down?value=30`|\n| `left`        | Moves the drone left. Example: `GET http://localhost:9000/left?value=30`|\n| `right`       | Moves the drone right. Example: `GET http://localhost:9000/right?value=30`|\n| `forward`     | Moves the drone forward. Example: `GET http://localhost:9000/forward?value=30`|\n| `back`        | Moves the drone back. Example: `GET http://localhost:9000/back?value=30`|\n| `cw`          | Rotates the drone clockwise. Example: `GET http://localhost:9000/cw?value=90`|\n| `ccw`         | Rotates the drone counterclockwise. Example: `GET http://localhost:9000/ccw?value=90`|\n| `flip`        | Flips the drone. Example: `GET http://localhost:9000/flip?value=l` (l for left)|\n| `go`          | Sends the drone to coordinates. Example: `GET http://localhost:9000/go?x=20\u0026y=20\u0026z=20\u0026speed=10`|\n| `curve`       | Commands the drone to fly in a curve. Example: `GET http://localhost:9000/curve?x1=20\u0026y1=20\u0026z1=20\u0026x2=30\u0026y2=30\u0026z2=30\u0026speed=10`|\n| `speed`       | Sets the speed of the drone. Example: `GET http://localhost:9000/speed?value=10`|\n| `rc`          | Remote control the drone with more granularity. Example: `GET http://localhost:9000/rc?a=0\u0026b=0\u0026c=0\u0026d=0`|\n| `wifi`        | Sets the Wi-Fi SSID and password. Example: `GET http://localhost:9000/wifi?ssid=yourSSID\u0026pass=yourPass`|\n| `speed?`      | Queries the current speed. `GET http://localhost:9000/speed?`     |\n| `battery?`    | Queries the current battery percentage. `GET http://localhost:9000/battery?`|\n| `time?`       | Queries the current flight time. `GET http://localhost:9000/time?`|\n| `wifi?`       | Queries the current Wi-Fi SNR. `GET http://localhost:9000/wifi?`  |\n| `sdk?`        | Queries the SDK version. `GET http://localhost:9000/sdk?`         |\n| `sn?`         | Queries the serial number. `GET http://localhost:9000/sn?`        |\n\nNote: For commands that require parameters (like `up`, `down`, `left`, `right`, `go`, `curve`, etc.), replace the `value=30`, `x=20`, `y=20`, `z=20`, `speed=10`, `a=0`, `b=0`, `c=0`, `d=0`, `ssid=yourSSID`, and `pass=yourPass` with actual values you intend to use. The example parameters provided here are for illustration purposes only.\n\n## Contributing\n\nContributions to the Tello Drone Controller API are welcome. To contribute, please fork the repository and create a new branch for your feature or fix.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE.md) - see the LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcagataycali%2Ftello-drone-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcagataycali%2Ftello-drone-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcagataycali%2Ftello-drone-controller/lists"}