PHPackages                             jolicode/php-ar-drone - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jolicode/php-ar-drone

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

jolicode/php-ar-drone
=====================

Control your AR Drone over PHP

20810032PHP

Since Apr 6Pushed 8y ago14 watchersCompare

[ Source](https://github.com/jolicode/php-ar-drone)[ Packagist](https://packagist.org/packages/jolicode/php-ar-drone)[ RSS](/packages/jolicode-php-ar-drone/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (2)Used By (0)

php-ar-drone
============

[](#php-ar-drone)

php-ar-drone is a port of node-ar-drone which allows user to control a Parrot AR Drone over PHP. No, isn't a joke.

This library provide the same features that the node library, that's why this documentation is heavy based on the node-ar-drone one. The low level UdpControl API is not implemented yet.

This library is built on the awesome reactphp library which bring non blocking i/o system to PHP.

Installation
------------

[](#installation)

Using Composer:

```
composer require jolicode/php-ar-drone dev-master

```

Usage
-----

[](#usage)

Some examples are located in the examples/ directory. Feel free to test those.

### Client API

[](#client-api)

```
$client = new \Joli\ArDrone\Client();
// use API service (see below)
$client->start();
```

#### $client-&gt;takeoff($callback)

[](#client-takeoffcallback)

Sets the internal `fly` state to `true`, `$callback` is invoked after the drone reports that it is hovering.

#### $client-&gt;land($callback)

[](#client-landcallback)

Sets the internal `fly` state to `false`, `$callback` is invoked after the drone reports it has landed.

#### $client-&gt;up($speed) / $client-&gt;down($speed)

[](#client-upspeed--client-downspeed)

Makes the drone gain or reduce altitude. `$speed` can be a value from `0` to `1`.

#### $client-&gt;clockwise($speed) / $client-&gt;counterClockwise($speed)

[](#client-clockwisespeed--client-counterclockwisespeed)

Causes the drone to spin. `$speed` can be a value from `0` to `1`.

#### $client-&gt;front($speed) / $client-&gt;back($speed)

[](#client-frontspeed--client-backspeed)

Controls the pitch, which a horizontal movement using the camera as a reference point. `$speed` can be a value from `0` to `1`.

#### $client-&gt;left($speed) / $client-&gt;right($speed)

[](#client-leftspeed--client-rightspeed)

Controls the roll, which is a horizontal movement using the camera as a reference point. `$speed` can be a value from `0` to `1`.

#### $client-&gt;stop()

[](#client-stop)

Sets all drone movement commands to `0`, making it effectively hover in place.

#### Events

[](#events)

A client will emit `landed`, `hovering`, `flying`, `landing`, `batteryChange`, and `altitudeChange` events as long as demo navdata is enabled. Here is a example for catching event:

```
$client->on('landed', function() {
    // do something
});
```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/3d4f32fe947fbd47ded11fc198b13ebfffd26ace2ca7bc17e433f13dc901b04f?d=identicon)[shinework](/maintainers/shinework)

---

Top Contributors

[![baptadn](https://avatars.githubusercontent.com/u/1102595?v=4)](https://github.com/baptadn "baptadn (30 commits)")

### Embed Badge

![Health badge](/badges/jolicode-php-ar-drone/health.svg)

```
[![Health](https://phpackages.com/badges/jolicode-php-ar-drone/health.svg)](https://phpackages.com/packages/jolicode-php-ar-drone)
```

###  Alternatives

[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M158](/packages/orchestra-canvas)[jakubkulhan/chrome-devtools-protocol

Chrome Devtools Protocol client for PHP

183967.6k3](/packages/jakubkulhan-chrome-devtools-protocol)[brumann/polyfill-unserialize

Backports unserialize options introduced in PHP 7.0 to older PHP versions.

343.8M1](/packages/brumann-polyfill-unserialize)[cerbero/laravel-enum

Laravel package to supercharge enum functionalities.

18989.6k](/packages/cerbero-laravel-enum)[keyvanakbary/slugifier

A full-featured, simple, clean and pure functional implementation for creating slugs

68187.9k4](/packages/keyvanakbary-slugifier)[genericmilk/docudoodle

Generate documentation for your Laravel application using OpenAI

15120.5k](/packages/genericmilk-docudoodle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
