Corsi on-line

Decollo e atterraggio di un drone con JavaScript

Lo scripting JavaScript, ma ad oggi potremmo parlare tranquillamente di programmazione, va oggi al di là della semplice realizzazione di Web application; JavaScript infatti è divenuto una soluzione ideale anche per l’implementazione di applicazioni dedicate alle piattaforme embedded e IoT, consentendo il controllo di oggetti connessi. NodeJS ha poi consentito di estenderne i confini oltre i browser e gli ambienti client side.parrot-3029jpgEd è proprio grazie alla disponibilità di NodeJS che oggi possiamo utilizzare JavaScript per gestire interamente il volo di un drone; per far questo, oltre al già citato JavaScript runtime environment Open Source abbiamo bisogno di un modulo, chiamato node-ar-drone, che è stato concepito appositamente per controllare l’attività dei quad-copter Parrot AR Drone 2.0.

Si tratta di un modello di quadricottero disponibile anche in Italia e caratterizzato da un prezzo abbastanza contenuto (in genere tra i 300 e i 250 euro, ma in alcuni store lo si può trovare anche a meno di 200 euro). Il suo funzionamento si basa su un firmware proprietario che può essere controllato via connessione WiFi tramite un’applicazione mobile ufficiale, denominata “FreeFlight”, compatibile sia con iOS che con Android.

Per installare node-ar-drone sarà sufficiente lanciare la seguente istruzione:

npm install ar-drone

Si digiterà invece il comando che segue per disporre dell’ultimissima versione prelevandola direttamente da GitHub tramite npm:

npm install git://github.com/felixge/node-ar-drone.git

Fatto questo si potrà procedere alla stesura del codice per la preparazione al decollo che richiederà la digitazione di poche righe:

var arDrone = require('ar-drone');
var client = arDrone.createClient();
client.takeoff()

Ora potremo passare alla fase del volo vero e proprio:

client
  .after(5000, function() {
    this.clockwise(0.5);
  })
  .after(3000, function() {
    this.animate('flipLeft', 15);
  })

Infine non rimarrà che gestire l’atterraggio:

.after(1000, function() {
    this.stop();
    this.land();
  });

Come anticipato, il firmware del modello di drone utilizzato è Closed Source, fortunatamente però è possibile scaricare un SDK, corredato da una esauriente documentazione e da esempi di codice riutilizzabili, con il quale sviluppare applicazioni mobili e mobile games in grado di interagire con il dispositivo o di sfruttare il protocollo in dotazione per ricevere video o dati da sensori.

Post correlati
I più letti del mese
Tematiche