All Projects → poshaughnessy → Web Bluetooth Parrot Drone

poshaughnessy / Web Bluetooth Parrot Drone

Control a Parrot Mini Drone from your web browser using Web Bluetooth

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Web Bluetooth Parrot Drone

Gort
Command Line Interface (CLI) for RobotOps
Stars: ✭ 425 (+388.51%)
Mutual labels:  drone, bluetooth
Ble examples
Additional examples to compliment TI's Bluetooth Low Energy Stack offerings.
Stars: ✭ 289 (+232.18%)
Mutual labels:  demo, bluetooth
gobot
Golang framework for robotics, drones, and the Internet of Things (IoT)
Stars: ✭ 7,869 (+8944.83%)
Mutual labels:  drone, bluetooth
Gjlightbluetooth
自己封装的基于CoreBluetooth的蓝牙开发库,内附CoreBluetooth使用demo。数据传递基本上使用Block,还使用了Runtime等技术。
Stars: ✭ 50 (-42.53%)
Mutual labels:  demo, bluetooth
Youtube flutter app
Stars: ✭ 85 (-2.3%)
Mutual labels:  demo
Pulsator
Pulse animation for iOS
Stars: ✭ 1,238 (+1322.99%)
Mutual labels:  bluetooth
Esp8266 aliyun mqtt app
基于ESP8266官方SDK快速接入阿里云物联网平台
Stars: ✭ 81 (-6.9%)
Mutual labels:  demo
Pluginapplication
学习Android插件化必备demo
Stars: ✭ 79 (-9.2%)
Mutual labels:  demo
Shopify Node App
Skeleton Shopify App for Node.js
Stars: ✭ 88 (+1.15%)
Mutual labels:  demo
Capsule Samples Collection
A collection of sample Bixby capsules
Stars: ✭ 87 (+0%)
Mutual labels:  demo
Arduino Robust Serial
A simple and robust serial communication protocol. It was designed for Arduino but can be used for other purposes (e.g. bluetooth, sockets). Implementation in C Arduino, C++, Python and Rust.
Stars: ✭ 83 (-4.6%)
Mutual labels:  bluetooth
Demo
This is demo application for SleepingOwl Admin.
Stars: ✭ 81 (-6.9%)
Mutual labels:  demo
Notificationdemo
通知demo
Stars: ✭ 85 (-2.3%)
Mutual labels:  demo
Easyble
Multi-devices process Bluetooth library for Android
Stars: ✭ 81 (-6.9%)
Mutual labels:  bluetooth
Autonomous Drone
This repository intends to enable autonomous drone delivery with the Intel Aero RTF drone and PX4 autopilot. The code can be executed both on the real drone or simulated on a PC using Gazebo. Its core is a robot operating system (ROS) node, which communicates with the PX4 autopilot through mavros. It uses SVO 2.0 for visual odometry, WhyCon for visual marker localization and Ewok for trajectoy planning with collision avoidance.
Stars: ✭ 87 (+0%)
Mutual labels:  drone
Electron Demo
Demo app loading LevelDB into an Electron context.
Stars: ✭ 79 (-9.2%)
Mutual labels:  demo
Cesium
cesium demo,cesium 研究过程中资料整理,包括: 1、示例,提供常规的cesium示例以及综合性的业务示例 2、工具,整理研究过程中写的一些数据获取、处理、分析的工具,例如网络3dtiles数据爬虫工具、b3dm 转 gltf工具 3、插件,根据研究过程中cesium感觉使用不方便的地方,添加插件,包括针对显示控件的汉化中文语言插件等
Stars: ✭ 84 (-3.45%)
Mutual labels:  demo
Django Rest Swagger Docs
Beginners approach to Django Rest Swagger
Stars: ✭ 86 (-1.15%)
Mutual labels:  demo
Nrf52dk Sys
A Rust Crate to develop on the Nordic nRF52-DK
Stars: ✭ 83 (-4.6%)
Mutual labels:  bluetooth
Black Playground
ambv/black online demo
Stars: ✭ 83 (-4.6%)
Mutual labels:  demo

Web Bluetooth Parrot Mini Drone Controller

Controlling a Parrot Mini Drone from a web browser, using Web Bluetooth.

Parrot mini drone

Demo Video

Demo video

(https://youtu.be/gXu3G3cg52k)

Setup

Web Bluetooth currently requires Chrome or Samsung Internet or Opera.

Run the web app up on your dev machine with any simple web server that can serve static files, e.g.: python -m SimpleHTTPServer 8080

Go to chrome://inspect/#devices and enable port forwarding for port 8080. Now you should be able to visit localhost:8080 on your Android device, to see the dashboard.

NB. You can't just point to an IP address because Web Bluetooth requires HTTPS, if not serving from localhost.

If you wish to host a version somewhere, it will need to be over HTTPS.

Safety warning

There may be bugs! Please observe the usual caution with drone flying as well as making sure you have a backup method of disabling the drone in the event of a bug! (A technique I have used is to raise something like a strong piece of card up towards the drone from underneath. When it detects it has been touched, the drone should shut down automatically).

Then...

  • Ensure the drone is switched on and the lights are green.

  • Press the 'Connect' button.

App screenshot

  • Select your drone name to pair with.

Pair screen

  • Now you're in control! Try Take Off, Flip and Land.

Troubleshooting

I still need to fix taking off multiple times - for now you will need to refresh the page.

If it doesn't work, try switching the drone off and on again, wait for the green lights, and then try the above again. Please note the drone will need to have enough battery life remaining or it may silently ignore commands.

If you still have trouble, you can have the remote debugging tools open in Chrome to see the console logs and this may help you to see where it's going wrong, at least. If you spot any fixes / improvements that could be made, PRs are welcome!

Parrot Drone Docs

If you are interested to learn more about the API to communicate with the drone, you can find links to docs here.

Thanks

I am indebted to voodootikigod's rolling spider project for demonstrating how to communicate with the drone. This demo borrows a lot from it.

Thanks also to @beaufortfrancois for collaborating with me to get the demo working better!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].