Skip to content

gildasmorvan/arswarm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

arswarm

arswarm is a set of bash and expect scripts to connect and configure multiple Parrot ar drones 2 on the same unencrypted network.

License

arswarm is distributed under the CeCILL-B license. In a few words, "if the initial program is under CeCILL-B, you can distribute your program under any license that you want (without the need to distribute the source code) provided you properly mention the use that you did of the initial program" (from the CeCILL FAQ ).

See the file LICENSE.txt for more information.

Contributors

Gildas Morvan - mail - homepage

with Dylan Cossart, Julien Jonathan, Louis Mortreux and Nathan Planchez from the department GEII of IUT de Béthune.

Requirements

arswarm should run on macOS (Darwin) and Linux-based systems since Bash, Expect and a Telnet client are installed.

Usage

To connect multiple ar drones, first edit the arswarm.sh file.

Set the name of the wifi interface of your computer using the variable interface (OS X: generally en0 or en1; Linux : generally eth0 or eth1). For instance:

	interface=en1

Set the list of drone ids (last 6 digits of the drone SSIDs) to connect to using the variable ardronesnetworks. For instance:

	declare -a ardronesnetworks=(090658 290876)

Specify the name of the unencrypted network you want to connect to using the variable network. For instance:

	network=DRONES

By default, the wifi access point IP address is supposed to be 192.168.1.1. The IP address of the computer that runs the script will be set to 192.168.1.2. The drones IP addresses will be set to 192.168.1.3-x. It can be changed using the variable ip.

Then, authorize the scripts to be executed

    chmod a+x arswarm.sh arswarm.expect

Finally, run the main script

    ./arswarm.sh

You can now control all the drones at the same time using, e.g., using the node.js ar-drone module.

Examples

The following code

    var arDrone = require('ar-drone');
    var drones = [
        arDrone.createClient({ip: '192.168.1.3'}),
        arDrone.createClient({ip: '192.168.1.4'})
    ];
            
    drones.forEach(function(drone){
        drone.takeoff();
        drone.after(6000,function(){
            this.stop();
            this.land();
        });
    });

should give something like this.

You can also make some flips. ScreenShot

About

arswarm is a set of bash and expect scripts to connect and configure multiple Parrot ar drones 2 on the same unencrypted network.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages