{"id":13829777,"url":"https://github.com/wesbos/javascript-drones","last_synced_at":"2025-04-04T23:06:40.216Z","repository":{"id":33822789,"uuid":"160388850","full_name":"wesbos/javascript-drones","owner":"wesbos","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-09T08:20:22.000Z","size":1451,"stargazers_count":609,"open_issues_count":21,"forks_count":136,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-10-14T06:43:57.118Z","etag":null,"topics":["nice-knowing-ya","robot-uprising","the-beginning-of-the-end","we-are-doomed"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wesbos.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-04T16:42:35.000Z","updated_at":"2024-10-01T21:15:44.000Z","dependencies_parsed_at":"2023-01-15T02:46:23.786Z","dependency_job_id":null,"html_url":"https://github.com/wesbos/javascript-drones","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesbos%2Fjavascript-drones","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesbos%2Fjavascript-drones/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesbos%2Fjavascript-drones/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesbos%2Fjavascript-drones/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wesbos","download_url":"https://codeload.github.com/wesbos/javascript-drones/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247261600,"owners_count":20910108,"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":["nice-knowing-ya","robot-uprising","the-beginning-of-the-end","we-are-doomed"],"created_at":"2024-08-04T10:00:45.249Z","updated_at":"2025-04-04T23:06:40.179Z","avatar_url":"https://github.com/wesbos.png","language":"JavaScript","readme":"# JavaScript Drones! \n\nWatch the videos:\n\nPart 1 → \u003chttps://www.youtube.com/watch?v=JzFvGf7Ywkk\u003e\n\nPart 2 → \u003chttps://www.youtube.com/watch?v=ozMwRq-IT2w\u003e\n\n![](https://d3vv6lp55qjaqc.cloudfront.net/items/3u02271f0u461s2e2q24/Image%202018-12-05%20at%2011.11.56%20AM.png)\n\n⚠️️️ ⚠️ ️️⚠️️️ Use the codebase 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. ⚠️️️ ⚠️️️ ⚠️️️\n\n# Flying a Drone with React and Node.js\n\nIBM is giving away 2,000 DJI Tello drones as part of a contest and I made this video to help them promote it.\n\n* Enter the contest at [https://developer.ibm.com/contest](https://developer.ibm.com/contest/?cm_mmc=ibmdev-_-drone-_-youtube-_-wesbos) (US/ Canada Only)\n* More details about the challenge at [https://developer.ibm.com/blogs/2018/11/12/win-a-drone-program-a-drone-change-the-world/](https://developer.ibm.com/blogs/2018/11/12/win-a-drone-program-a-drone-change-the-world/)\n\n\n## Software Used\n* React (with React Hooks!)\n* Styled Components for styling\n* Node.js and UDP4 sockets for communicating with drone\n* Socket.io WebSockets for sending data to/from the browser\n* Next.js for easy react setup\n\n## Hardware Used\n* [DJI Tello Drone](https://amzn.to/2SvzqON)\n* [Extra Batteries](https://amzn.to/2SyV70J) - it comes with one and I bought two extra. For continual development I'd say you only need two — one in the charger and one in the drone. For flying away from your house you definitely need at least 3 as they only last about 10-15 mins.\n* [Fast Battery Charger with 4 slots](https://amzn.to/2SAWqwb)\n\n\n## Using This Code\n\n### Frontend\n\n1. cd `frontend`\n1. `npm install`\n1. `npm run dev`\n\n\n### Backend\n1. cd `backend`\n1. `npm install`\n1. connect to drone via wifi\n1. `npm start`\n\n\n## Troubleshooting\n\n[Docs for Tello are available here](https://dl-cdn.ryzerobotics.com/downloads/tello/20180910/Tello%20SDK%20Documentation%20EN_1.3.pdf)\n\nI 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.\n\nIf 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.\n\n\n## License — WTFPL\n\nI want you to build cool stuff with this.\n\nPlease hack on it and make your own cool things.\n\n## Examples \u0026 Resources\n\n* [jsolderitsch/tello-nodejs](https://github.com/jsolderitsch/tello-nodejs) - very simple JavaScript examples\n* [FFMpeg + Node.js Video in the browser complicated example](https://github.com/SovGVD/nodetello/)\n* [Some Japanese Developer Figured out how to get video working with WebRTC](https://qiita.com/a-baba/items/d728d580f89473c5fd18)\n* [Drone Keyboard for Tello](https://github.com/dnomak/drone-keyboard#drone-keyboard-for-tello)\n* Link your repo here for others to learn!\n","funding_links":[],"categories":["其他"],"sub_categories":["科学上网"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesbos%2Fjavascript-drones","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwesbos%2Fjavascript-drones","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesbos%2Fjavascript-drones/lists"}