Guida di sviluppo Ar.Drone. Celiberti Francesco

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Guida di sviluppo Ar.Drone. Celiberti Francesco"

Transcript

1 Guida di sviluppo Ar.Drone Celiberti Francesco 20 marzo 2012

2 Sommario In questo documento vengono spiegati i passi principali per lo sviluppo di un applicazione per l Ar.Drone sfruttando il kit di sviluppo software (SDK). Attenzione il contenuto della seguente guida è frutto di un lavoro di ricerca personale pertanto, è vietata qualsiasi riproduzione se non citata, inoltre l autore non si assume responsabilità di danni al dispositivo stesso o altri oggetti

3 Indice 1 ArDrone Overview Principio di funzionamento e movimenti Componenti. 7 2 SDK Overview Architettura a strati dell SDK Principio di funzionamento Pratica Build dell esempio in Linux Interfaccia grafica con visualizzazione del frame della telecamera frontale e comandi di take-off e landing Moduli aggiuntivi controllo spostamento quadricottero da tastiera Salvataggio automatico dei dati di navigazione Visualizzazione dei dati di navigazione nell interfaccia grafica Salvataggio immagine in formato jpeg Integrazione delle funzioni di libreria di opencv, per l elaborazione dell immagine acquisita 39 2

4 Introduzione L Ar.Drone SDK permette lo sviluppo e la distribuzione di nuovi giochi basati sull Ar.Drone. Da dove cominciare? Innanzitutto per lo sviluppo di un applicazione per l ArDrone occorre avere una panoramica su cosa sia una quadricottero, sulle sue potenzialità e sui dispositivi che dispone a bordo. Per cui inizialmente si effettua un indagine su processo fisico e hardware preso in considerazione, a tale proposito nel prossimo capitolo vi è una introduzione base sul quadricottero. Una volta acquisite le conoscenze di base, si possono seguire due strade: sfruttare le funzioni messe a disposizione dalla libreria e modificare gli esempi forniti dall SDK al fine di raggiungere i propri scopi provare a scrivere il proprio software da capo, determinando i propri protocolli di comunicazione, e di decodifica dei pacchetti di immagine e navigazione. Se da una parte la seconda possibilità permette il massimo della libertà in termine di elaborazione dei dati inviati dall Ar.Drone, dall altra si presenta molto difficile. Viceversa utilizzando le funzioni di libreria ci si può concentrare sugli obiettivi della propria applicazione in quanto i compiti di base, come recupero pacchetti di navigazione e video, protocollo di comunicazione sono già implementati dalla libreria stessa. Per cui, seguendo la seconda strada, il compito dello sviluppatore è quello di creare moduli aggiuntivi, basati sui moduli di base (già implementati), al fine di ottenere il risultato desiderato. 3

5 4

6 Capitolo 1 ArDrone Overview 1.1 Principio di funzionamento e movimenti L Ar.Drone è un quadricottero ovvero un velivolo costituito da quattro motori situati in una struttura a forma di croce, il cui compito è quello di ospitare l elettronica di bordo al centro ed i motori nelle quattro estremità. Quest ultima malgrado detenga il compito di dover sorreggere l intera struttura, è d altra parte robusta e leggera. Su ogni motore, tramite un ingranaggio di riduzione è montata un elica la quale gioca un ruolo primario nello spostamento del velivolo. Le eliche sono suddivise in gruppi, a ciascuno dei quali ne appartengono due diametralmente opposte, la loro distinzione avviene in base al loro senso di rotazione. A tale scopo si distinguono le eliche: anteriore e posteriore (1,3) con rotazione antioraria laterali (2,4) con rotazione oraria A seconda della velocità di rotazione di ciascuna elica, è possibile ottenere i quattro movimenti di base del quadricottero ovvero: throttle, pitch, roll, yaw. 5

7 Throttle, è definito come lo spostamento verticale lungo l asse z (del sistema di riferimento solidale al quadricottero). Nel caso di volo a punto fisso (hovering mode) la velocità angolare delle quatto eliche è identica. Stesso discorso per l accelerazione nel caso in cui il quadricottero aumenta (sale) o diminuisce (scende) la propria quota. Pitch, è definito come la rotazione attorno all asse x (del sistema di riferimento solidale al quadricottero). Tale movimento avviene, aumentando la velocità di uno dei motori posti sull asse x, decelerando quella del motore diametralmente opposto, e mantenendo costante la velocità dell altra coppia di motori. Roll, è definito come la rotazione attorno all asse y (del sistema di riferimento solidale al quadricottero). Il principio di generazione di tale movimento è lo stesso del pitch, tuttavia i questo caso i motori che subiscono una variazione della velocità sono quelli lungo l asse y ovvero (2, 4). 6

8 Yaw, in questo caso l obiettivo è quello di mantenere la quota costante ed ottenere una rotazione attorno all asse z (del sistema di riferimento solidale al quadricottero). A tale proposito si aumenta la velocità di rotazione dei motori lungo l asse x, mentre si diminuisce quella dei motori lungo l asse y della stessa quantità o viceversa a seconda che si voglia una rotazione positiva o negativa. 1.2 Componenti In questa sezione viene data una panoramica generale sulle parti elettroniche e meccaniche che compongono il quadricottero. 7

9 Telaio L intera struttura è sorretta per mezzo di un telaio, a forma di croce, in carbonio, il cui compito è quello di ospitare i motori brushless alle quattro estremità, e una struttura in poly-propylene espanso (EPP) al centro. Motori I quattro motori brushless, ai quali sono collegate le eliche per mezzo di un organo di riduzione, permettono di effettuare le manovre al quadricottero. Ogni motore è montato su un materiale plastico PA66 altamente resistente, il quale contiene una scheda di controllo del motore stesso (BLCB brushless control board); nel complesso il sistema è inoltre dotato di un sistema di cut-out il quale ferma i quattro motori nel caso in cui l elica di qualsiasi di essi incontra un ostacolo. 8

10 Gusci, indoor e outdoor Esternamente possono essere applicati due gusci. Il primo per applicazioni indoor, viene usato per evitare che le eliche graffino i muri. Il secondo guscio è una custodia protettiva per la batteria ed è utilizzata per le applicazioni outdoor. Elettronica di bordo Batteria La batteria a 3 celle eroga 11.1V e 1000 mah con una capacità di scarica di 15 C ed un peso di 80g, il tutto corrisponde ad una autonomia di minuti di volo. Scheda madre La scheda madre incorpora: un processore Parrot P6 (32bits ARM9-core, con frequenza a 468 Mhz), sul quale gira un sistema operativo real-time basato sul Linux 9

11 insieme a tutti i software di calcolo. Il suo compito è quello di gestire le risorse ed acquisire il flusso dati provenienti dalle due telecamere ed elaborarlo. DRAM cache un chip Wi-Fi, ROCm Atheros AR6102G-BM2D wireless una telecamera verticale, è utilizzata negli algoritmi di navigazione, per misurare la velocità verticale; è una telecamera con fov di risoluzione di pixel e framerate di 60 fps. un connettore per la telecamera frontale, la quale ha un obiettivo grandangolare con un fov di La sua uscita è un segnale con risoluzione VGA pixel, e con 15 fps. porta di connessione esterna USB driver SMSC USB3317, per il connettore miniusb utile per collegare ulteriori add-ons come GPS Scheda di navigazione La scheda di navigazione utilizza un microcontrollore PIC a 16-bit (evidenziato con il bordo rosso) con frequenza a 40 Mhz, e funge da interfaccia con i sensori, ovvero accelerometro a 3 assi, giroscopio a 2 assi, giroscopio verticale di precisione ad 1 asse, 2 sensori ad ultrasuoni. I sensori ad ultrasuoni sono 2 Prowave utilizzati per stime dell altitudine, dei movimenti verticali e della profondità della scena. Ha una frequenza di risonanza a 40 khz, a può misurare distanze di 6m ad una frequenza di 25 Hz. Il microcontrollore PIC gestisce il trasmettitore ad ultrasuoni e digitalizza il segnale del ricevitore. 10

12 Accelerometri e giroscopi costituiscono la IMU low-cost con frequenza di acquisizione di 200Hz. L accelerometro è un BOSH BMA150 a 3 assi il quale utilizza un A/D converter a 10 bits, ed ha un range di +/- 2g. Il suo valore di ritorno corrisponde all accelerazione del quadricottero meno la gravità Il giroscopio a due assi è un Invensense IDG500, il cui segnale analogico viene digitalizzato dall A/D converter a 10 bits del PIC, e può misurare velocità di rotazione fino a 500 /s. Un giroscopio più accurato presente sull asse verticale, si tratta di un Epson XV3700, con funzione di auto-zero per minimizzare il drift della rotta. Embedded software Il sistema operativo real-time adottato è la distribuzione BusyBox embedded di Linux, il quale si occupa della gestione di diversi thread: comunicazione Wi-fi campionamento dei dati video compressione del video (per la trasmissione wireless) processing delle immagini acquisizione dei sensori stima dello stato controllo a ciclo chiuso L acquisizione dei dati e il thread di controllo hanno una frequenza di 200Hz, scandita dall A/D converter. La frequenza di processing delle immagini è invece scandita dai framerate della telecamera verticale. Dato che la scheda di controllo è accessibile da telnet, l utente può connettersi con il quadricottero, cambiare dei parametri del sistema di bordo. Wi-fi L Ar.Drone può essere controllato e gestito per mezzo di un dispositivo che supporta la modalità wi-fi ad-hoc. Lo scambio di dati con l Ar.Drone avviene attraverso quattro canali di comunicazione: control port UDP 5556, è il canale in cui viaggiano gli AT commands, ovvero le stringhe di caratteri per controllare le azioni del quadricottero 11

13 information port UDP 5554, è la porta che accoglie i dati di navigazione, ovvero tutte le informazioni riguardanti il drone: status, velocità, posizione. video stream port UDP 5555 il video codificato dalla telecamera frontale viene spedito a questa porta. Successivamente, il thread di gestione video si occupa di decodificare i frame e renderli disponibili all utente. TCP 5559, è la porta in cui vengono trasferiti i dati critici, ovvero informazioni importanti come quelle di configurazione del quadricottero. 12

14 Capitolo 2 SDK Overview Cosa permette di fare l SDK: scrivere la propria applicazione per controllare da remoto il drone.fg da ogni pc con connessione wi-fi (Linux o Windows) da ogni Apple iphone da ogni dispositivo Android Cosa l SDK non permette: riscrivere il proprio embedded software del drone ovvero il suo firmware e accedere direttamente all hardware del quadricottero ovvero (sensori e motori). I dati di navigazione e configurazione del quadricottero non possono essere quindi letti direttamente, ma è il firmware del drone stesso che quando riceve una richiesta di invio dati, crea un pacchetto e lo invia al client che ne ha fatto richiesta. Stesso discorso per l invio dei comandi di spostamento, non è possibile agire direttamente sulle tensioni dei quattro motori brushless, bensì è permesso inviare al quadricottero un pacchetto con all interno gli angoli di inclinazione. Successivamente sarà il firmware per mezzo della legge di controllo interna a variare opportunamente le tensioni dei motori per ottenere l andamento desiderato. Prima di entrare nel dettaglio occorre scaricare la libreria da questo sito https://projects.ardrone.org/ successivamente estrarre l archivio AR- Drone API-x.x.x.tar.bz2 nella directory desiderata che per semplicità di spiegazione indichiamo <SDK>. L ultimo passo consiste nel fare il Build della libreria ovvero nell eseguire nel terminale i seguenti comandi: $ cd <SDK>/ARDroneLib/ Soft / Build $ make Se la compilazione è avvenuta con successo l ultima azione eseguita è ar rcs libpc ardrone.a... 13

15 2.1 Architettura a strati dell SDK La libreria AR.Drone Di seguito viene riportata una breve descrizione della libreria dell Ar.Drone la quale mette a disposizione delle APIs di alto livello per l accesso al drone. L SDK si compone delle seguenti cartelle: SOFT COMMON: contiene gli headers (.h) files nei quali ci sono le strutture dati (struct) di comunicazione usate dal drone. Lib/ardrone tool: si compone di un set di strumenti che permetto di gestire facilmente il drone, come il loop e thread per l invio degli AT command, il thread di ricezione dei pacchetti di navigazione, una pipeline per la gestione del video ed una funzione main pronta da utilizzare. È la libreria principale che implementa i quattro servizi di base: navdata management thread, si occupa di recuperare i dati di navigazione, inviare un acknoledgment all Ar.Drone, verificare l integrità delle informazioni ricevute mediante il checksum ed infine renderle disponibili a tutte le funzioni dichiarate nella tabella di gestione dei navigation data. 14

16 video management thread (u) immagine catturata (v) suddivisione in GOB (w) suddivisione in macroblock l immagine catturata dalla telecamera frontale del quadricottero, prima di essere inviata viene opportunamente divisa, scalata e poi codificata. Il fine di tali operazioni è quello di diminuire il costo di trasmissione e velocizzare la comunicazione. L immagine viene suddivisa in 8 fasce orizzontali, e per ognuna di esse vi è una suddivisione in 10 macroblocchi, i quali a loro volta vengono codificati nello spazio di colore YCBCR ed inviati. Dall altra parte, l SDK fornisce un thread built-in, il quale una volta recuperati i pacchetti, li decodifica, ricostruisce l immagine e la rende disponibile all utente nella funzione output gtk stage transform collocata nel file video stage.c. AT command management thread, i comandi che possono essere inviati all Ar.Drone (AT commands) devono avere un determinato formato. Ognuno di essi, si compone di tre caratteri AT* seguiti dal nome del comando, segno di uguaglianza, numero di sequenza e una lista di argomenti opzionali separati da virgola, il cui significato dipende dal comando utilizzato. AT P CMD = 21625, 1, 0, 0, 0, 0 < LF > (2.1) Il compito di questo thread è quello di raccogliere e gestire ed inviare nel formato supportato, i comandi richiesti dagli altri thread. 15

17 control managment thread, gestisce le richieste degli altri thread per l invio di comandi al drone, e ne controlla il checksum. user thread, è possibile definire ed avviare i propri thread, con lo scopo di elaborare i dati ricevuti o effettuare operazioni di vario genere. VLIB è la libreria per il processing del video, al suo interno vi sono le funzioni per ricevere e decodificare lo stream video inviato dall Ar.Drone VP SDK è un insieme di librerie general-purpose le quali includono VPSTAGES, VPOS, VPCOM, VPAPI. Il loro compito è quello di gestire la comunicazione multipiattaforma, ricostruire il video e definirne una pipeline, fornire dei wrapper multipiattaforma. 2.2 Principio di funzionamento La domanda che ora sorge spontanea è da dove partire per lo sviluppo di una applicazione? La risposta si trova all interno del pacchetto scaricato, in esso infatti vi è una cartella Examples all interno della quale vi è un applicazione scheletro per Linux (nella cartella sdk demo) la quale rende disponibile allo sviluppatore i dati di navigazione, quelli immagine e funzioni built-in per l invio di comandi di spostamento. Per cui il compito dello sviluppatore consiste nel modificare opportunamente i file presenti all interno di questa cartella, che contiene: Build, al suo interno vi è un Makefile dove sono riportate tutte le informazioni necessarie per la compilazione Sources, al suo interno vi sono i file sorgente da modificare, in particolare si compone dei seguenti file e cartelle /Navdata /UI /Video ardrone testing tool.c ardrone testing tool.h Prima di passare alla scrittura del codice occorre avere una panoramica generale di come funziona la libreria. 16

18 Come per ogni programma scritto in C, anche per le applicazioni sviluppate per l Ar.Drone il punto di partenza è costituito da una main function. La buona notizia è che utilizzando questa libreria, ogni volta che ci si trova a scrivere un applicazione per l Ar.Drone non bisogna definirne una in quanto ne esiste già una pronta all uso. Il main loop è inoltre affiancato da diversi thread che eseguono vari task del programma principale. Per cui riassumendo e trascurando le varie problematiche legate alla comunicazione e gestione pacchetti a livello semplice, il programma si compone di: main function thread di navigazione, navdata update thread video, video stage thread definiti dall utente Main function La main function è collocata all interno del file ardrone tool.c nella cartella /Soft/Lib/ardrone tool/, essa non richiede nessuna modifica ed effettua i seguenti compiti: configura la rete wi-fi inizializza le porte di comunicazione (AT commands port, Navdata port, Video and control port) chiama la funzione ardrone tool init, che si occupa di inizializzazione di diversi sottosistemi, per ciò che interessa allo sviluppatore fa partire il thread navdata update 17

19 fa partire il thread ardrone control chiama la funzione ardrone tool init custom(argc, argv); entra infine nel loop ardrone tool update, l applicazione non ritorna da questa funzione fino a quando non viene chiusa. Il suo compito consiste principalmente: nell aggiornamento dell intero sistema, nel dettaglio viene implementato il sistema di temporizzazione hardware Watchdog. chiamata della funzione ardrone tool update custom(); una volta richiesta la chiusura dell applicazione viene chiamata la funzione ardrone tool shutdown, il cui compito è quello di: rilasciare le risorse e terminare i thread in esecuzione. terminare il thread navdata update terminare il thread ardrone control Di seguito viene presentata in linea generale la main function descritta precedentemente i n t main ( i n t argc, char argv ) / d i c h i a r a z i o n e d i a l c u n e v a r i a b i l i / / e l a b o r a z i o n e d e g l i argomenti p a s s a t i a l l a p p l i c a z i o n e ( argc, argv ) / r e s = a r d r o n e t o o l s e t u p c o m ( NULL ) ; / c o n f i g u r a z i o n e r e t e wi f i / r e s = a r d r o n e t o o l i n i t ( argc, argv ) ; w h i l e ( SUCCEED( r e s ) && a r d r o n e t o o l e x i t ( ) == FALSE ) r e s = a r d r o n e t o o l u p d a t e ( ) ; r e s = ardrone tool shutdown ( ) ; C RESULT a r d r o n e t o o l i n i t ( ) r e s= a r d r o n e t o o l i n i t c u s t o m ( argc, argv ) ; START THREAD( navdata update, 0 ) ; START THREAD( ardrone control, 0 ) ; r e t u r n r e s ; C RESULT a r d r o n e t o o l u p d a t e ( ) / watchdog system / r e s = ardrone tool update custom ( ) ; C RESULT ardrone tool shutdown ( ) r e s = ardrone tool shutdown custom ( ) ; / r i l a s c i o r i s o r s e / / c h i u s u r a d e i t h r e a d a r d r o n e c o n t r o l e navdata update / JOIN THREAD( a r d r o n e c o n t r o l ) ; JOIN THREAD( navdata update ) ; 18

20 r e t u r n r e s ; ardrone tool.c Questa è una spiegazione grossolana, semplice ed intuitiva di come avviene il ciclo di vita di un applicazione sviluppata con l SDK; a questo punto entra in gioco lo sviluppatore, infatti a ben vedere nel codice appena presentato vengono menzionate tre funzioni il cui nome è caratterizzato dalla parola custom in particolare: ardrone tool init custom() chiamata all interno di ardrone tool init() ardrone tool update custom() chiamata all interno di ardrone tool update ardrone tool shutdown custom() chiamata all interno di ardrone tool shutdown Queste tre funzioni, sono definite all interno del file ardrone testing tool.c contenuto nella cartella sdk demo. Al suo interno troviamo le tre funzioni appena citate con il corpo vuoto, ciò significa che lo sviluppatore le può definire a piacimento. Per cui ad esempio in ardrone tool init custom si possono far partire gli user s thread e inizializzare le risorse desiderate come ad esempio dispositivi di input come gamepad; in ardrone tool shutdown custom si rilasciano risorse e thread creati inizialmente. Ciò quindi si presenta estremamente semplice in quanto lo sviluppatore crea solo ciò che serve per i propri scopi senza preoccuparsi di tutto il resto. Thread Creazione, distruzione e gestione dei thread avviene per mezzo delle MACRO definite nel file vp api thread helper.h le quali aiutano il programmatore nell utilizzo dei thread, senza che esso abbia conoscenze sulla loro implementazione in linguaggio C. In particolare abbiamo visto precedentemente che per far partire un thread si utilizza la MACRO START THREAD, per terminarlo invece JOIN THREAD. Bisogna quindi specificare come creare un thread. Creazione thread La creazione di un thread in tale contesto consiste in: inserimento del thread nella tabella dei thread definita nel file ardrone testing tool.c. Per inserire un elemento nella tabella si ricorre alla MACRO THREAD TABLE ENTRY(nome thread, priorità thread). All interno della tabella sono già definiti dei thread come quello di navigazione (navdata update) video (video stage) e control (ardrone control). 19

21 BEGIN THREAD TABLE THREAD TABLE ENTRY( a r d r o n e c o n t r o l, 20 ) / o b b l i g a t o r i o / THREAD TABLE ENTRY( navdata update, 20 ) / o b b l i g a t o r i o / THREAD TABLE ENTRY( v i d e o s t a g e, 20 ) / o b b l i g a t o r i o / / qui possono e s s e r e aggiunti i thread utente / THREAD TABLE ENTRY( u s e r t h r e a d, 20) END THREAD TABLE ardrone testing tool.c definizione della funzione associata al thread, il cui nome deve coincidere con il nome assegnato al thread stesso. Ad esempio: DEFINE THREAD ROUTINE( u s e r t h r e a d, d a t a u s e r t h r e a d ) / c o d i c e da f a r e s e g u i r e a l t h r e a d / BEGIN THREAD TABLE THREAD TABLE ENTRY( u s e r t h r e a d, 20) ; END THREAD TABLE ardrone testing tool.c START thread, che consiste nell avvia del thread stesso: C RESULT a r d r o n e t o o l i n i t c u s t o m ( i n t argc, char argv ) START THREAD( u s e r t h r e a d, d a t a u s e r t h r e a d ) ; ardrone testing tool.c JOIN thread, che consiste nel termine dell esecuzione del thread C RESULT ardrone tool shutdown custom ( ) JOIN THREAD( u s e r t h r e a d ) ; ardrone testing tool.c Thread navdata update Il thread navdata update fatto partire nel file ardrone testing tool.c è definito nel file ardrone navdata client.c situato nella cartella /Soft/Lib/ardrone tool/navdata. Il suo compito è quello di recuperare il pacchetto dei dati di navigazione (navdata), verificarne l integrità, inserire le informazioni all interno di una struttura dati specifica navdata unpacked t, e passare tale struttura a delle funzioni di callback (definite in una tabella, detta navdata handler table), le quali utilizzano le informazioni in esse contenute per i propri scopi. 20

22 DEFINE THREAD ROUTINE( navdata update, nomparams ) / recupero del pacchetto / / i n s e r i m e n t o d e l l e i n f o r m a z i o n i a l l i n t e r n o d e l l a s t r u t t u r a d a t i / / v e r i f i c a d e l l i n t e g r i t d e l p a c c h e t t o / i f ( c k s == n a v d a t a c k s ) / s e i l checksum andato a buon f i n e, s c o r r e l a t a b e l l a d e i g e s t o r i d e i navdata e p a s s a ad o g n i f u n z i o n e c o n t e n u t a n e l l a t a b e l l a l a s t r u t t u r a d a t i c r e a t a / while ( ardrone navdata handler table [ i ]. i n i t!= NULL ) i f ( ardrone navdata handler table [ i ]. process!= NULL ) a r d r o n e n a v d a t a h a n d l e r t a b l e [ i ]. p r o c e s s ( &navdata unpacked ) ; i ++; ardrone navdata client.c I navdata recuperati dal thread vengono salvati nella seguente struttura dati, definita all interno del file ardrone api.h: t y p e d e f s t r u c t n a v d a t a u n p a c k e d t u i n t 3 2 t a r d r o n e s t a t e ; b o o l t v i s i o n d e f i n e d ; navdata demo t navdata demo ; navdata time t navdata time ; navdata raw measures t navdata raw measures ; navdata phys measures t navdata phys measures ; n a v d a t a g y r o s o f f s e t s t n a v d a t a g y r o s o f f s e t s ; n a v d a t a e u l e r a n g l e s t n a v d a t a e u l e r a n g l e s ; n a v d a t a r e f e r e n c e s t n a v d a t a r e f e r e n c e s ; navdata trims t navdata trims ; n a v d a t a r c r e f e r e n c e s t n a v d a t a r c r e f e r e n c e s ; navdata pwm t navdata pwm ; n a v d a t a a l t i t u d e t n a v d a t a a l t i t u d e ; navdata vision raw t navdata vision raw ; n a v d a t a v i s i o n o f t n a v d a t a v i s i o n o f ; n a v d a t a v i s i o n t n a v d a t a v i s i o n ; n a v d a t a v i s i o n p e r f t n a v d a t a v i s i o n p e r f ; n a v d a t a t r a c k e r s s e n d t n a v d a t a t r a c k e r s s e n d ; n a v d a t a v i s i o n d e t e c t t n a v d a t a v i s i o n d e t e c t ; navdata watchdog t navdata watchdog ; navdata adc data frame t navdata adc data frame ; navdata video stream t navdata video stream ; navdata games t navdata games ; navdata unpacked t ; ardrone api.h Per una dettagliata descrizione dei campi della struttura navdata unpacked t riferirsi al file navdata common.h presente all interno della cartella /Soft/- Common/ Le informazioni recuperate e inserite all interno della struttura appena descritta sono passate a delle funzioni di callback. Tali funzioni devono essere inserite all interno della tabella di gestione dei navdata ovvero la NAVDA- TA HANDLER TABLE definita nel file navdata.c contenuto nella cartella /sdk demo/sources/navdata/ Gli elementi della tabella si definiscono per mezzo della MACRO NAVDATA HANDLER TABLE ENTRY(func init,func process,func release) 21

23 da ciò si evidenzia che per ogni elemento della tabella si definiscono tre funzioni, chiamate ogni qualvolta il pacchetto è stato ricevuto ovvero: una per l allocazione delle risorse necessarie all elaborazione del pacchetto (func init) una per l elaborazione del pacchetto (func process), ed infine una per il rilascio delle risorse allocate da func init. BEGIN NAVDATA HANDLER TABLE NAVDATA HANDLER TABLE ENTRY( d e m o n a v d a t a c l i e n t i n i t, d e m o n a v d a t a c l i e n t p r o c e s s, d e m o n a v d a t a c l i e n t r e l e a s e, NULL) END NAVDATA HANDLER TABLE navdata.c All interno dello stesso file sono già dichiarate le tre funzioni (e create con corpo vuoto), tuttavia è sempre possibile definirne delle altre associate ovviamente ad un elemento diverso della NAVDATA HANDLER TABLE, ad esempio un gruppo di funzioni potrebbe salvare i dati recuperati su file mentre un altro potrebbe passarli all interfaccia grafica per la loro visualizzazione. i n l i n e C RESULT d e m o n a v d a t a c l i e n t i n i t ( v o i d data ) / i n i z i a l i z z a z i o n e r i s o r s e l o c a l i / r e t u r n C OK ; i n l i n e C RESULT demo navdata client process ( const navdata unpacked t const navdata ) / e la b or a zi o ne del pacchetto passato dal thread navdata update / r e t u r n C OK ; i n l i n e C RESULT d e m o n a v d a t a c l i e n t r e l e a s e ( v o i d ) / r i l a s c i o d e l l e r i s o r s e l o c a l i / r e t u r n C OK ; navdata.c 22

24 Thread video stage Come per il thread navdata update anche in questo caso video stage è fatto partire in ardrone tool init.c ed è definito altrove, in particolare nel file video stage.c situato all interno della cartella /sdk demo/sources/video Il compito di tale thread è quello di ricevere i dati video da una socket, decodificare i frame ricevuti, ed inserire tali dati all interno di una struttura messa a disposizione dello sviluppatore. Le funzioni per le quali è disponibile il frame catturato dalla telecamera sono: C RESULT o u t p u t g t k s t a g e o p e n ( v o i d c f g, v p a p i i o d a t a t in, v p a p i i o d a t a t out ) / i n i z i a l i z z a z i o n e r i s o r s e l o c a l i / r e t u r n (SUCCESS) ; C RESULT o u t p u t g t k s t a g e t r a n s f o r m ( v o i d c f g, v p a p i i o d a t a t in, v p a p i i o d a t a t out ) / i n p i x b u f d a t a v i e n e i n s e r i t o i l frame appena a c q u i s i t o e d e c o d i f i c a t o / v p o s m u t e x l o c k (& v i d e o u p d a t e l o c k ) ; p i x b u f d a t a = ( u i n t 8 t ) in >b u f f e r s [ 0 ] ; vp os mutex unlock (& v i d e o u p d a t e l o c k ) ; r e t u r n (SUCCESS) ; C RESULT o u t p u t g t k s t a g e c l o s e ( v o i d c f g, v p a p i i o d a t a t in, v p a p i i o d a t a t out ) / r i l a s c i o r i s o r s e l o c a l i / r e t u r n (SUCCESS) ; video stage.c Il frame appena decodificato è reso disponibile all interno della variabile pixbuf data, di conseguenza è possibile effettuare diverse operazioni come la sua visualizzazione ed elaborazione. 23

25 Nelle precedenti pagine è stata data una semplice ed immediata spiegazione su come funziona la libreria, nel prossimo capitolo verrà effettuata una trattazione pratica, ovvero verrà presentato un esempio di applicazione, con interfaccia grafica ampliabile con altre funzioni. 24

26 Capitolo 3 Pratica Come già detto nel capitolo precedente il punto di partenza per lo sviluppo di un applicazione per l Ar.Drone consiste nell estendere il programma scheletro situato all interno della cartella sdk demo. 3.1 Build dell esempio in Linux Per il build degli esempi occorre avere installati nel proprio sistema altre libreria indispensabili per la comunicazione wi-fi, per la visualizzazione dell interfaccia grafica e dello stream video; a tale proposito aprire il terminale e digitare i seguenti comandi: $ sudo apt g e t update $ sudo apt g e t i n s t a l l l i b s d l dev l i b g t k 2.0 dev l i b i w dev Compilazione ed esecuzione dell sdk demo Per la compilazione dell sdk demo basta eseguire da terminale i seguenti comandi: $ cd <SDK>/Examples / Linux / sdk demo / B u i l d $ make Se la compilazione è riuscita all interno della cartella Build compare il file linux sdk demo, per eseguirlo digitare (sempre situati all interno della cartella Build) il comando: $. / l i n u x s d k d e m o $ Tuttavia eseguendo l applicazione l unica cosa che si può fare è comandare il quadricottero con un Logitech Precision gamepad oppure un controller 25

27 della Sony Playstation 3, ciò è dovuto al fatto che tale programma è vuoto, occorre aggiungere quindi delle funzionalità quali ad esempio, visualizzazione dati di navigazione, visualizzazione immagine telecamera frontale, oppure in alternativa si può comandare lo spostamento del quadricottero per mezzo della tastiera. 3.2 Interfaccia grafica con visualizzazione del frame della telecamera frontale e comandi di takeoff e landing Per la creazione dell interfaccia grafica viene sfruttata un altra libreria GTK+ (http://www.gtk.org/), ovvero un toolkit per lo sviluppo di interfacce grafiche. Per creare una interfaccia dichiariamo un nuovo thread chiamato gui inserendone l occorrenza all interno della tabella dei thread all interno del file ardrone testing tool.c, sempre nello stesso file richiamiamo la macro per farlo partire e terminare, all interno delle funzioni di inizializzazione e shutdown definiamo infine la routine del thread / v i e n e d e f i n i t a l a r o u t i n e d e l t h r e a d / DEFINE THREAD ROUTINE( gui, data ) gdk threads enter ( ) ; gtk main ( ) ; g dk t hr ead s l ea ve ( ) ; C RESULT a r d r o n e t o o l i n i t c u s t o m ( i n t argc, char argv ) / v i e n e i n i z i a l i z z a t a l i n t e r f a c c i a g r a f i c a / i n i t g u i ( argc, argv ) ; / v i e n e f a t t o p a r t i r e i l t h r e a d gui, i l c u i compito q u e l l o d i a s c o l t a r e g l i e v e n t i r e l a t i v i a l l i n t e r f a c c i a g r a f i c a / START THREAD( gui, NULL ) ; r e t u r n C OK ; C RESULT ardrone tool shutdown custom ( ) JOIN THREAD( gui ) ; r e t u r n C OK ; BEGIN THREAD TABLE THREAD TABLE ENTRY( gui, 20) END THREAD TABLE ardrone testing tool.c successivamente creiamo due file all interno della cartella /sdk demo/sources/ui/: gui.h, dove vengono definite le strutture dati utilizzate dal thread, come suggerisce il titolo della sezione vogliamo creare un applicazio- 26

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Procedura corretta per mappare con ECM Titanium

Procedura corretta per mappare con ECM Titanium Procedura corretta per mappare con ECM Titanium Introduzione: In questo documento troverete tutte le informazioni utili per mappare correttamente con il software ECM Titanium, partendo dalla lettura del

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA

CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA Supponiamo di voler eseguire una istantanea del nostro desktop, quella che in gergo si chiama Screenshot (da screen, schermo, e shot, scatto fotografico).

Dettagli

Serduino - SERRA CON ARDUINO

Serduino - SERRA CON ARDUINO Serduino - SERRA CON ARDUINO 1 Componenti Facchini Riccardo (responsabile parte hardware) Guglielmetti Andrea (responsabile parte software) Laurenti Lorenzo (progettazione hardware) Rigolli Andrea (reparto

Dettagli

Progetto Didattico di Informatica Multimediale

Progetto Didattico di Informatica Multimediale Progetto Didattico di Informatica Multimediale VRAI - Vision, Robotics and Artificial Intelligence 20 aprile 2015 Rev. 18+ Introduzione Le videocamere di riconoscimento sono strumenti sempre più utilizzati

Dettagli

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Protocolli di rete Sommario Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Configurazione statica e dinamica

Dettagli

Equilibrio Termico tra Due Corpi

Equilibrio Termico tra Due Corpi Equilibrio Termico tra Due Corpi www.lepla.eu OBIETTIVO L attività ha l obiettivo di fare acquisire allo sperimentatore la consapevolezza che: 1 il raggiungimento dell'equilibrio termico non è istantaneo

Dettagli

minilector/usb Risoluzione dei problemi più comuni di malfunzionamento

minilector/usb Risoluzione dei problemi più comuni di malfunzionamento minilector/usb minilector/usb...1 Risoluzione dei problemi più comuni di malfunzionamento...1 1. La segnalazione luminosa (led) su minilector lampeggia?... 1 2. Inserendo una smartcard il led si accende

Dettagli

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli

Manuale d'istruzioni. Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280

Manuale d'istruzioni. Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280 Manuale d'istruzioni Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280 382280 Introduzione Congratulazioni per aver acquistato l'alimentatore DC Programmabile 382280 della Extech.

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

Controllare un nastro trasportatore fischertechnik con Arduino

Controllare un nastro trasportatore fischertechnik con Arduino TITOLO ESPERIENZA: Controllare un nastro trasportatore fischertechnik con Arduino PRODOTTI UTILIZZATI: OBIETTIVO: AUTORE: RINGRAZIAMENTI: Interfacciare e controllare un modello di nastro trasportatore

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Strumenti 3D per SMART Notebook 11.1. Manuale dell'utente

Strumenti 3D per SMART Notebook 11.1. Manuale dell'utente Strumenti 3D per SMART Notebook 11.1 Manuale dell'utente Registrazione del prodotto Se si registra il prodotto SMART, si verrà informati delle nuove funzionalità e aggiornamenti software disponibili. Registrazione

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

LA FINESTRA DI OPEN OFFICE CALC

LA FINESTRA DI OPEN OFFICE CALC LA FINESTRA DI OPEN OFFICE CALC Barra di Formattazione Barra Standard Barra del Menu Intestazione di colonna Barra di Calcolo Contenuto della cella attiva Indirizzo della cella attiva Cella attiva Intestazione

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ A cura del dott. Marco Cesati 1 Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/devcpp.html Installazione Configurazione Utilizzazione 2 1 Requisiti di sistema

Dettagli

Integrare le MFC con Irrlicht. Sezione 1: Creazione del progetto. by Raffaele White tiger Mancuso

Integrare le MFC con Irrlicht. Sezione 1: Creazione del progetto. by Raffaele White tiger Mancuso Integrare le MFC con Irrlicht by Raffaele White tiger Mancuso In questo topic spiegherò come integrare irrlicht in un documento singolo MFC *(1). Io ho usato il visual c++ 6 ma la procedura dovrebbe essere

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

Come installare e configurare il software FileZilla

Come installare e configurare il software FileZilla Come utilizzare FileZilla per accedere ad un server FTP Con questo tutorial verrà mostrato come installare, configurare il software e accedere ad un server FTP, come ad esempio quello dedicato ai siti

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

Dettagli

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1 Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati

Dettagli

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

Setup e installazione

Setup e installazione Setup e installazione 2 Prima di muovere i primi passi con Blender e avventurarci nel vasto mondo della computer grafica, dobbiamo assicurarci di disporre di due cose: un computer e Blender. 6 Capitolo

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 2ª) ver. Classe 3BN (elettronica) marzo 22 Giorgio Carpignano I.I.S. Primo LEVI - TORINO Il menù per oggi Lettura dei pulsanti Comunicazione

Dettagli

Creare e ripristinare immagine di sistema con Windows 8

Creare e ripristinare immagine di sistema con Windows 8 Creare e ripristinare immagine di con Windows 8 La versione Pro di Windows 8 offre un interessante strumento per il backup del computer: la possibilità di creare un immagine completa del, ovvero la copia

Dettagli

In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning.

In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning. In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning. Per collegare un iphone con connettore Lightning ad SPH-DA100 AppRadio e

Dettagli

Suggerimenti forniti da MetaQuotes per l utilizzo di MetaTrader 4 con Mac OS

Suggerimenti forniti da MetaQuotes per l utilizzo di MetaTrader 4 con Mac OS Suggerimenti forniti da MetaQuotes per l utilizzo di MetaTrader 4 con Mac OS Nonostante esistano già in rete diversi metodi di vendita, MetaQuotes il programmatore di MetaTrader 4, ha deciso di affidare

Dettagli

GUIDA CONFIGURAZIONE ED UTILIZZO GPS SAFE COME ANTIFURTO PER MOTO

GUIDA CONFIGURAZIONE ED UTILIZZO GPS SAFE COME ANTIFURTO PER MOTO GUIDA CFIGURAZIE ED UTILIZZO GPS SAFE COME ANTIFURTO PER MOTO Sommario: Download ed aggiornamento firmware GPS SAFE... 3 Track Manager, download ed installazione.... 4 Configurazione GPS SAFE ed utilizzo

Dettagli

Guida. Vista Live. Controllo. Riproduzione su 24 ore. Ricerca avanz. Le icone includono: Mod. uscita. Icona. Un sensore di allarme.

Guida. Vista Live. Controllo. Riproduzione su 24 ore. Ricerca avanz. Le icone includono: Mod. uscita. Icona. Un sensore di allarme. Guida operatore del registratore TruVision Vista Live Sull immagine live dello schermo vengono visualizzati laa data e l ora corrente, il nome della telecamera e viene indicato se è in corso la registrazione.

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Pd10 Dc motor controll

Pd10 Dc motor controll PD Manuale Utente Pd Dc motor controll manuale utente cps sistemi progetti tecnologici Presentazione Congratulazioni per aver scelto Pd, una affidabile scheda elettronica per la movimentazione di precisione

Dettagli

Guida all'installazione ed uso dell'app RXCamLink

Guida all'installazione ed uso dell'app RXCamLink Guida all'installazione ed uso dell'app RXCamLink Questa guida riporta i passi relativi all'installazione ed all'utilizzo dell'app "RxCamLink" per il collegamento remoto in mobilità a sistemi TVCC basati

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad

DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad Attraverso questo applicativo è possibile visualizzare tutti gli ingressi del DVR attraverso il cellulare. Per poter visionare le immagini

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Data warehouse.stat Guida utente

Data warehouse.stat Guida utente Data warehouse.stat Guida utente Versione 3.0 Giugno 2013 1 Sommario INTRODUZIONE 3 I concetti principali 4 Organizzazione dei dati 4 Ricerca 5 Il browser 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della

Dettagli

Mini manuale di Audacity.

Mini manuale di Audacity. Mini manuale di Audacity. Questo mini manuale è parte del corso on-line Usare il software libero di Altrascuola. Il corso è erogato all'interno del portale per l'e-learning Altrascuola con la piattaforma

Dettagli

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it Introduzione ai Device Drivers in Linux E.Mumolo, DEEI mumolo@units.it 1 Device Drivers Moduli software che gestiscono le periferiche attraverso il file system Tutte le periferiche sono viste come file

Dettagli

Editor vi. Editor vi

Editor vi. Editor vi Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale

MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale InterWrite SchoolBoard è un software per lavagna elettronica di facile utilizzo. Può essere adoperata anche da studenti diversamente

Dettagli

Software Emeris Communication Manager

Software Emeris Communication Manager ecm Software Emeris Communication Manager Manuale operativo Fantini Cosmi S.p.A. Via dell Osio 6 20090 Caleppio di Settala MI Tel 02.956821 - Fax 02.95307006 e-mail: info@fantinicosmi.it http://www.fantinicosmi.it

Dettagli

Progettazione di sistemi Embedded

Progettazione di sistemi Embedded Progettazione di sistemi Embedded Corso introduttivo di progettazione di sistemi embedded A.S. 2013/2014 proff. Nicola Masarone e Stefano Salvatori Eccetto dove diversamente specificato, i contenuti di

Dettagli

Client di Posta Elettronica PECMailer

Client di Posta Elettronica PECMailer Client di Posta Elettronica PECMailer PECMailer è un semplice ma completo client di posta elettronica, ovvero un programma che consente di gestire la composizione, la trasmissione, la ricezione e l'organizzazione

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

Oscilloscopi serie WaveAce

Oscilloscopi serie WaveAce Oscilloscopi serie WaveAce 60 MHz 300 MHz Il collaudo facile, intelligente ed efficiente GLI STRUMENTI E LE FUNZIONI PER TUTTE LE TUE ESIGENZE DI COLLAUDO CARATTERISTICHE PRINCIPALI Banda analogica da

Dettagli

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A Leggere attentamente questo manuale prima dell utilizzo e conservarlo per consultazioni future Via Don Arrigoni, 5 24020 Rovetta

Dettagli

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

Dettagli

APRS su Linux con Xastir, installazione dai sorgenti

APRS su Linux con Xastir, installazione dai sorgenti APRS su Linux con Xastir Installazione dai sorgenti L installazione di Xastir Per installare Xastir non è richiesto essere un guru di Linux, anche se una conoscenza minima della piattaforma è necessaria.

Dettagli

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory.

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory. @ PC (Personal computer): Questa sigla identificò il primo personal IBM del 1981 a cura di R.Mangini Archiviazione: Il sistema operativo si occupa di archiviare i file. Background (sfondo): Cursore: Nei

Dettagli

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 telecamere. I sistemi di acquisizione ed archiviazione

Dettagli

TeamViewer 7 Manuale Controllo remoto

TeamViewer 7 Manuale Controllo remoto TeamViewer 7 Manuale Controllo remoto TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen teamviewer.com Indice 1 Informazioni su TeamViewer... 5 1.1 Informazioni sul software... 5 1.2 Informazioni sul

Dettagli

Denuncia di Malattia Professionale telematica

Denuncia di Malattia Professionale telematica Denuncia di Malattia Professionale telematica Manuale utente Versione 1.5 COME ACCEDERE ALLA DENUNCIA DI MALATTIA PROFESSIONALE ONLINE... 3 SITO INAIL... 3 LOGIN... 4 UTILIZZA LE TUE APPLICAZIONI... 5

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Introduzione a Puppy Linux: installazione su una chiavetta USB

Introduzione a Puppy Linux: installazione su una chiavetta USB Introduzione a Puppy Linux: installazione su una chiavetta USB Alex Gotev 1 Contenuti Che cos'è Puppy Linux? Come posso averlo? Come si avvia? Che programmi include? Installazione su Chiavetta USB Domande

Dettagli

ALFABETIZZAZIONE DI BASE Programma del Corso livello base

ALFABETIZZAZIONE DI BASE Programma del Corso livello base Un po di Storia ISP & Web Engineering ALFABETIZZAZIONE DI BASE Programma del Corso livello base Breve cenno sulla storia dell informatica: dagli albori ai giorni nostri; L evoluzione di Windows: dalla

Dettagli

Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode

Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode Istruzioni sull aggiornamento per i modelli di navigazione: AVIC-F40BT, AVIC-F940BT, AVIC-F840BT e AVIC-F8430BT

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

AMBIENTE DEV PASCAL. Dev-Pascal 1.9.2. Finestra di apertura

AMBIENTE DEV PASCAL. Dev-Pascal 1.9.2. Finestra di apertura Dev-Pascal 1.9.2 1 Dev-Pascal è un ambiente di sviluppo integrato per la programmazione in linguaggio Pascal sotto Windows prodotto dalla Bloodshed con licenza GNU e liberamente scaricabile al link http://www.bloodshed.net/dev/devpas192.exe

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor NetMonitor Micro guida all uso per la versione 1.2.0 di NetMonitor Cos è NetMonitor? NetMonitor è un piccolo software per il monitoraggio dei dispositivi in rete. Permette di avere una panoramica sui dispositivi

Dettagli

Guida all utilizzo del dispositivo USB

Guida all utilizzo del dispositivo USB Guida all utilizzo del dispositivo USB 30/04/2013 Sommario - Limitazioni di responsabilità e uso del manuale... 3 1. Glossario... 3 2. Guida all utilizzo del dispositivo USB... 4 2.1 Funzionamento del

Dettagli

I Grafici. La creazione di un grafico

I Grafici. La creazione di un grafico I Grafici I grafici servono per illustrare meglio un concetto o per visualizzare una situazione di fatto e pertanto la scelta del tipo di grafico assume notevole importanza. Creare grafici con Excel è

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Gestione posta elettronica (versione 1.1)

Gestione posta elettronica (versione 1.1) Gestione posta elettronica (versione 1.1) Premessa La presente guida illustra le fasi da seguire per una corretta gestione della posta elettronica ai fini della protocollazione in entrata delle mail (o

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

ATLAS 2.X IL MANAGER NON SI AVVIA

ATLAS 2.X IL MANAGER NON SI AVVIA ATLAS 2.X IL MANAGER NON SI AVVIA Avvio di Atlas 2.x sul server CONTESTO La macchina deve rispecchiare le seguenti caratteristiche MINIME di sistema: Valori MINIMI per Server di TC con 10 postazioni d'esame

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Scopo di questo corso, vuole essere quello di fornire ad ognuno dei partecipanti, indipendentemente dalle loro precedenti conoscenze informatiche, l apprendimento

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

TeamViewer 8 Manuale Controllo remoto

TeamViewer 8 Manuale Controllo remoto TeamViewer 8 Manuale Controllo remoto Rev 8.0-12/2012 TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen www.teamviewer.com Indice 1 Informazioni su TeamViewer... 6 1.1 Informazioni sul software... 6

Dettagli

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

Procedura per il ripristino dei certificati del dispositivo USB

Procedura per il ripristino dei certificati del dispositivo USB Procedura per il ripristino dei certificati del dispositivo USB 30/04/2013 Sommario - Limitazioni di responsabilità e uso del manuale... 3 1 Glossario... 3 2 Presentazione... 4 3 Quando procedere al ripristino

Dettagli

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers La procedura di installazione è divisa in tre parti : Installazione dell archivio MySql, sul quale vengono salvati

Dettagli

MANUALE D USO RTSDOREMIPOS

MANUALE D USO RTSDOREMIPOS MANUALE D USO RTSDOREMIPOS PROGRAMMA DI GESTIONE SCAMBIO IMPORTO E ALTRE FUNZIONI TRA APPLICATIVO GESTIONALE E POS INGENICO PER PAGAMENTO ELETTRONICO (prot. 17) Versione 1.0.0.0 INDICE INDICE... 2 LEGENDA...

Dettagli

MANUALE DOS INTRODUZIONE

MANUALE DOS INTRODUZIONE MANUALE DOS INTRODUZIONE Il DOS è il vecchio sistema operativo, che fino a qualche anno fa era il più diffuso sui PC, prima dell avvento di Windows 95 e successori. Le caratteristiche principali di questo

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Il manuale dell utente può essere scaricato dal sito gopro.com/support GUIDA DI RIFERIMENTO RAPIDO

Il manuale dell utente può essere scaricato dal sito gopro.com/support GUIDA DI RIFERIMENTO RAPIDO Il manuale dell utente può essere scaricato dal sito gopro.com/support GUIDA DI RIFERIMENTO RAPIDO / Benvenuto Quando si utilizza la videocamera GoPro nell ambito delle normali attività quotidiane, prestare

Dettagli

Ultimo aggiornamento.: 18/02/2006 Pagina 1 di 25

Ultimo aggiornamento.: 18/02/2006 Pagina 1 di 25 Introduzione al programma POWERPOINT Ultimo aggiornamento.: 18/02/2006 Pagina 1 di 25 Introduzione al programma POWERPOINT 1 1 Introduzione al programma 3 2 La prima volta con Powerpoint 3 3 Visualizzazione

Dettagli

Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11

Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11 Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11 Museo & Web CMS v1.5.0 beta (build 260) Sommario Museo&Web CMS... 1 SOMMARIO... 2 PREMESSE... 3 I PASSI PER INSTALLARE MUSEO&WEB

Dettagli

Guida all'installazione di SLPct. Manuale utente. Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it

Guida all'installazione di SLPct. Manuale utente. Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it Guida all'installazione di SLPct Manuale utente Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it Premessa Il redattore di atti giuridici esterno SLpct è stato implementato da Regione

Dettagli

SERVER VIDEO 1-PORTA H.264

SERVER VIDEO 1-PORTA H.264 SERVER VIDEO 1-PORTA H.264 MANUALE UTENTE DN-16100 SALVAGUARDIA IMPORTANTE Tutti i prodotti senza piombo offerti dall'azienda sono a norma con i requisiti della legge Europea sulla restrizione per l'uso

Dettagli