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 introduttiva alle librerie grafiche GTK+

Guida introduttiva alle librerie grafiche GTK+ Guida introduttiva alle librerie grafiche GTK+ Breve introduzione Sara Casti - Gianmarco Cherchi - Davide Gessa GTK (GimpToolKit) è un insieme di strumenti per la creazione di interfacce grafiche inizialmente

Dettagli

progettare & costruire di GIOVANNI DI MARIA

progettare & costruire di GIOVANNI DI MARIA progettare & costruire di GIOVANNI DI MARIA Interfacciare il PC con il mondo esterno LA PORTA SERIALE DEL PC in uscita con il PIC In questa puntata interfacceremo il Personal Computer con le nostre apparecchiature

Dettagli

Code::Blocks, installazione ed uso

Code::Blocks, installazione ed uso Code::Blocks, installazione ed uso Alessio Mauro Franchi Dipartimento DEIB, Politecnico di Milano, Milano 9 ottobre 04 Indice Introduzione Installare Code::Blocks: Windows 3 3 Installare Code::Blocks:

Dettagli

PC Crash Course: OBIETTIVI

PC Crash Course: OBIETTIVI PC Crash Course: OBIETTIVI 1. PC: uno strumento 2. Microsoft Windows XP: alcuni concetti chiave della interfaccia grafica 3. File System: file, direttori, link, 4. Il prompt dei comandi 5. Un occhiata

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

WGDESIGNER Manuale Utente

WGDESIGNER Manuale Utente WGDESIGNER Manuale Utente Pagina 1 SOMMARIO 1 Introduzione... 3 1.1 Requisiti hardware e software... 3 2 Configurazione... 3 3 Installazione... 4 3.1 Da Webgate Setup Manager... 4 3.2 Da pacchetto autoestraente...

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

idaq TM Manuale Utente

idaq TM Manuale Utente idaq TM Manuale Utente Settembre 2010 TOOLS for SMART MINDS Manuale Utente idaq 2 Sommario Introduzione... 5 Organizzazione di questo manuale... 5 Convenzioni... Errore. Il segnalibro non è definito. Installazione...

Dettagli

Configurazione moduli I/O serie EX

Configurazione moduli I/O serie EX Configurazione moduli I/O serie EX aggiornamento: 20-12-2014 IEC-line by OVERDIGIT overdigit.com Tabella dei contenuti 1. Moduli di I/O con protocollo Modbus... 3 1.1. Parametri di comunicazione... 4 1.2.

Dettagli

Xpress MANUALE OPERATIVO. Software di configurazione e controllo remoto I440I04_15

Xpress MANUALE OPERATIVO. Software di configurazione e controllo remoto I440I04_15 Xpress I440I04_15 Software di configurazione e controllo remoto MANUALE OPERATIVO INDICE 1 INTRODUZIONE... 3 2 REQUISITI HARDWARE E SOFTWARE... 3 3 SETUP... 3 4 PASSWORD... 4 5 HOME PAGE... 4 6 CANALE...

Dettagli

Configurable CAN System (CCS)

Configurable CAN System (CCS) ISTRUZIONI INTERFACCIA SOFTWARE Configurable CAN System Software Interface FT1130M - FT1137M Configurable CAN System (CCS) Interfaccia software Manuale utente Pag. 1 1 FT1130M - FT1137M Configurable CAN

Dettagli

Corso di Robotica Autonoma Esperienza 1

Corso di Robotica Autonoma Esperienza 1 Università degli studi di Padova Corso di laurea magistrale in Ingegneria Informatica Corso di Robotica Autonoma Esperienza 1 Nicola Chessa 1014413 Nicola Dalla Benetta 1020097 Davide Zanin 1035601 A.A.

Dettagli

Flight Controller. CPU (Central Processing Unit) Uscite PWM Entrate PWM PPM SBUS IMU (Inertial Measurement Unit) Software di gestione o Trimmer

Flight Controller. CPU (Central Processing Unit) Uscite PWM Entrate PWM PPM SBUS IMU (Inertial Measurement Unit) Software di gestione o Trimmer Flight Controller FLIGHT CONTROLLER OpenPilot CC3D I Flight Controller o Flight Control System sono il cervello di ogni Drone. Un drone senza FC non può auto-stabilizzarsi in volo ne percepire la propria

Dettagli

Rev. 1.0.0 Promax srl

Rev. 1.0.0 Promax srl www.promax.it Le informazioni contenute nel manuale sono solo a scopo informativo e possono subire variazioni senza preavviso e non devono essere intese con alcun impegno da parte di Promax srl. Promax

Dettagli

SmartyManager Manuale utente

SmartyManager Manuale utente INDICE Capitolo 1 Installazione... 2 1.1 Installazione del software... 2 1.2 Installazione del driver... 2 Capitolo 2 Nozioni base... 4 2.1 Diverse modalità di utilizzo... 4 2.2 Configurare SmartyCam e

Dettagli

marzo 2008 Manuale Operativo DGV-CP7 4 Canali video - porta USB per backup PROTEXitalia

marzo 2008 Manuale Operativo DGV-CP7 4 Canali video - porta USB per backup PROTEXitalia marzo 2008 Manuale Operativo DGV-CP7 4 Canali video - porta USB per backup PROTEXitalia 1. PRIMA DI ACCENDERE IL DVR Prima di accendere l apparecchio, installare l Hard Disk all interno (questo dvr accetta

Dettagli

Light controller PRO Manuale utente Cod. 112955/112956

Light controller PRO Manuale utente Cod. 112955/112956 Centralina di controllo di luci programmabile per applicazioni RC! 2. Introduzione Light controller è una scheda elettronica per sistemi RC programmabile che controlla fino a sei canali indipendenti ed

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il Sistema Operativo Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Cos

Dettagli

Embedded Software Sviluppo di uno Scheduler di base per PIC18. Tutorial. Embedded Software. Sviluppo di uno Scheduler di base per PIC18.

Embedded Software Sviluppo di uno Scheduler di base per PIC18. Tutorial. Embedded Software. Sviluppo di uno Scheduler di base per PIC18. Tutorial Embedded Software Sviluppo di uno Scheduler di base per PIC18 Pagina 1 Sommario 1. INTRODUZIONE... 3 2. COSA CI SERVE?... 3 3. UN PO DI TEORIA... 4 4. DALLA TEORIA ALLA PRATICA... 5 5. IMPLEMENTAZIONE...

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

Installazione della tablet sul supporto. Installazione guidata

Installazione della tablet sul supporto. Installazione guidata Manuale d uso ! AVVIO Prima di utilizzare il dispositivo ARNOVA per la prima volta, caricare completamente la batteria. Caricamento della batteria 1.Collegare il cavo di alimentazione fornito al dispositivo

Dettagli

IL SISTEMA PRATICO E VELOCE PER ANALISI DEL MOVIMENTO

IL SISTEMA PRATICO E VELOCE PER ANALISI DEL MOVIMENTO IL SISTEMA PRATICO E VELOCE PER ANALISI DEL MOVIMENTO IL SISTEMA Xsens MVN Il sistema MVN si compone di: 1 tuta in lycra completa di (a seconda della configurazione scelta): Configurazione Total Body -

Dettagli

Multirotori - Una guida per principianti.

Multirotori - Una guida per principianti. <inserire autori qui> Multirotori - Una guida per principianti 24 giugno 2015 2 c 2015 Soggetto alla licenza Creative Commons Finito di stampare il 24 giugno 2015. 3 Questa guida è orientata

Dettagli

IL TEST JIG PER PANNELLI SOLARI

IL TEST JIG PER PANNELLI SOLARI IL TEST JIG PER PANNELLI SOLARI INDICE 1. Introduzione...3. Lista delle abbreviazioni...3 3. Requisiti e architettura del test jig pannelli solari...4 3.1 I compiti del test jig pannelli solari...4 3.

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

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

PalmViewCAM MANUALE D USO E INSTALLAZIONE (VERSIONE 1.0)

PalmViewCAM MANUALE D USO E INSTALLAZIONE (VERSIONE 1.0) PalmViewCAM POWERLINE DIGITAL VIDEO RECORDER MANUALE D USO E INSTALLAZIONE (VERSIONE 1.0) Vi ringraziamo per aver scelto il nostro prodotto. Vi invitiamo a leggere attentamente il presente manuale di istruzioni

Dettagli

AMPL Plus: Introduzione all uso

AMPL Plus: Introduzione all uso AMPL Plus: Introduzione all uso A cura di Renato Bruni, Giovanni Fasano, Giampaolo Liuzzi, Sara Mattia Preliminari In questa breve introduzione verranno chiariti alcuni aspetti di base relativi all uso

Dettagli

Excel Guida introduttiva

Excel Guida introduttiva Excel Guida introduttiva Informativa Questa guida nasce con l intento di spiegare in modo chiaro e preciso come usare il software Microsoft Excel. Questa è una guida completa creata dal sito http://pcalmeglio.altervista.org

Dettagli

MANUALE OPERATORE CMS ASMENET

MANUALE OPERATORE CMS ASMENET MANUALE OPERATORE CMS ASMENET 2.0 Pag. 1 di 46 INDICE Termini e definizioni... pag. 3 Introduzione... pag. 4 Descrizione generale e accesso al back office... pag. 5 1 Gestione della pagina... pag. 6 1.1

Dettagli

Appunti Modulo 2 - Microsoft Windows

Appunti Modulo 2 - Microsoft Windows www.informarsi.net Appunti Modulo 2 - Microsoft Windows Sistema operativo Il sistema operativo, abbreviato in SO (in inglese OS, "operating system") è un particolare software, installato su un sistema

Dettagli

Per la corretta comunicazione tra PC e apparato, è necessario:

Per la corretta comunicazione tra PC e apparato, è necessario: 765HPRWH&RQWUROOHU 0DQXDOHXWHQWH 1 6RPPDULR 1 Introduzione... 3 1.1 Scopo del programma e filosofia di funzionamento... 3 1.2 Scarico di responsabilità... 3 1.3 Requisiti hardware... 3 1.4 Condizioni di

Dettagli

IL LINGUAGGIO C NOSTRO APPROCCIO AL C. Sempre con esempi che illustrano le caratteristiche del linguaggio. SCRIVERE ED ESEGUIRE IL PRIMO PROGRAMMA C

IL LINGUAGGIO C NOSTRO APPROCCIO AL C. Sempre con esempi che illustrano le caratteristiche del linguaggio. SCRIVERE ED ESEGUIRE IL PRIMO PROGRAMMA C IL LINGUAGGIO C Sviluppato agli inizi degli anni '70 nei Bell Laboratories per ricerca, ha caratteristiche che lo rendono ideale per uso scientifico. Si sviluppa e si diffonde parallelamente a Unix. È

Dettagli

Parte 17. GUI Parte terza. [M.Chagall The Wedding Candles, 1945] 17.1 - AA. 2013/14

Parte 17. GUI Parte terza. [M.Chagall The Wedding Candles, 1945] 17.1 - AA. 2013/14 Parte 17 GUI Parte terza - AA. 2013/14 [M.Chagall The Wedding Candles, 1945] 17.1 17.2 Immagini e figure geometriche La libreria GTK+ utilizza a sua volta le funzioni di più basso livello delle librerie

Dettagli

Elaborazione di segnali generati dal sensore Kinect

Elaborazione di segnali generati dal sensore Kinect DII Dipartimento di Ingegneria dell Informazione Elaborazione di segnali generati dal sensore Kinect Enea Cippitelli e.cippitelli@univpm.it Overview 1. Il sensore Kinect 2. Software 3. Test della sedia

Dettagli

ARTECO-SOFTWARE & DISPOSITIVI IP. Guida all utilizzo del software Arteco e dei Dispositivi IP compatibili. Versione 3.2.19.784

ARTECO-SOFTWARE & DISPOSITIVI IP. Guida all utilizzo del software Arteco e dei Dispositivi IP compatibili. Versione 3.2.19.784 Guida all utilizzo del software Arteco e dei Dispositivi IP compatibili Versione 3.2.19.784 Rev. Compatibility List 2012-07-16 Pag. 1 Il seguente documento contiene indicazioni per la configurazione ottimale

Dettagli

Eureka Web. Connessione remota a centrali via Web

Eureka Web. Connessione remota a centrali via Web Eureka Web Connessione remota a centrali via Web Luglio 2013 2 Connessione remota a centrali via Web INDICE ACCESSO E UTILIZZO DEL PANNELLO DI CONTROLLO DI EUREKA WEB IMPOSTAZIONE DI EUREKA WEB Impostazione

Dettagli

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it Crotone, maggio 2005 Windows Ing. Luigi Labonia E-mail luigi.lab@libero.it Sistema Operativo Le funzioni software di base che permettono al computer di funzionare formano il sistema operativo. Esso consente

Dettagli

Lab 01 Sistemi Operativi

Lab 01 Sistemi Operativi Informatica Grafica Ingegneria Edile-Architettura a.a. 2010/2011 Lab 01 Sistemi Operativi Lab01 1 Obiettivi Durante l'esercitazione vedremo come il sistema operativo si occupa di gestire: 1. i processi

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Sviluppo Software Autore: Sergio Gandola Revisione: 2 Data: 07/06/13 Titolo: Documentazione Tecnica Diario File:Documentazione Tecnica.pdf Sito: http://inno-school.netsons.org/

Dettagli

SUPPORTO TECNICO AI PRODOTTI:

SUPPORTO TECNICO AI PRODOTTI: SUPPORTO TECNICO AI PRODOTTI: PROCEDURA INTEGRATA GESTIONE CONDOMINIO RENT MANAGER SERVIZIO DI ASSISTENZA CLIENTI - INSTALLAZIONE DELLA PROCEDURA SU ALTRE STAZIONI DI LAVORO - SOSTITUZIONE DEL SERVER O

Dettagli

Cos è GIOELCOTT. Modalità d uso del software

Cos è GIOELCOTT. Modalità d uso del software Giornale Elettronico dei Lavori e Gestione delle Planimetrie con l uso di Coni Ottici GIOELAV + GIOELCOTT (Versione 2.0.0) Cos è GIOELAV? E una piattaforma software, residente in cloud, per la registrazione

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

testo easyheat Software di configurazione e analisi Manuale di istruzioni

testo easyheat Software di configurazione e analisi Manuale di istruzioni testo easyheat Software di configurazione e analisi Manuale di istruzioni it 2 Informazioni generali Informazioni generali Questo manuale contiene importanti informazioni sulle caratteristiche e sull impiego

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 A1 - Interfacce grafiche 1 Prerequisiti Utilizzo di un sistema operativo Programmazione elementare ad oggetti Concetto di macchina virtuale Tipi di interfaccia Riferimento

Dettagli

SOMMARIO. Programmazione orientata agli eventi. Programmazione orientata agli eventi. Programmazione orientata agli eventi

SOMMARIO. Programmazione orientata agli eventi. Programmazione orientata agli eventi. Programmazione orientata agli eventi SOMMARIO Programmazione orientata agli eventi Graphical User Interface (GUI) Programmazione in Windows MFC GUI multipiattaforma Qt Applicazione di esempio (Qt) Programmazione orientata agli eventi Un evento

Dettagli

Uso del computer e gestione dei file. Parte 1

Uso del computer e gestione dei file. Parte 1 Uso del computer e gestione dei file Parte 1 Avviare il pc Il tasto da premere per avviare il computer è frequentemente contraddistinto dall etichetta Power ed è comunque il più grande posto sul case.

Dettagli

Corso di TECNOLOGIE DEI SISTEMI DI CONTROLLO A.A. 2013/2014, Docente: Ing. Marcello Bonfè SPUNTI PER PROGETTI DI APPROFONDIMENTO (TESINE FACOLTATIVE)

Corso di TECNOLOGIE DEI SISTEMI DI CONTROLLO A.A. 2013/2014, Docente: Ing. Marcello Bonfè SPUNTI PER PROGETTI DI APPROFONDIMENTO (TESINE FACOLTATIVE) NOTE GENERALI: Corso di TECNOLOGIE DEI SISTEMI DI CONTROLLO A.A. 2013/2014, Docente: Ing. Marcello Bonfè SPUNTI PER PROGETTI DI APPROFONDIMENTO (TESINE FACOLTATIVE) 1. Ogni progetto deve essere PERSONALE,

Dettagli

ANNO SCOLASTICO 2012-2013 QUADERNO DI INFORMATICA

ANNO SCOLASTICO 2012-2013 QUADERNO DI INFORMATICA ANNO SCOLASTICO 2012-2013 QUADERNO DI INFORMATICA L INFORMAZIONE L informazione è un concetto (legato, ma indipendente dal codice usato). Non riguarda solo interazioni umane. L informazione analizza il

Dettagli

Controllo remoto di SPEEDY

Controllo remoto di SPEEDY UNIVERSITÀ DI BRESCIA FACOLTÀ DI INGEGNERIA Dipartimento di Elettronica per l Automazione Laboratorio di Robotica Avanzata Advanced Robotics Laboratory Corso di Robotica (Prof. Riccardo Cassinis) Controllo

Dettagli

Manuale Utente. Linux Fedora, Debian e Ubuntu

Manuale Utente. Linux Fedora, Debian e Ubuntu Manuale Utente Linux Fedora, Debian e Ubuntu Chiavet ta Internet MDC525UPA Via Del Lavoro 9 1 1 Sommario Introduzione... 3 Requisiti minimi... 3 Contenuto del CD-ROM... 3 1. Installazione Driver e Software

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

Word Processor: WORD (livello base) Classificazione

Word Processor: WORD (livello base) Classificazione Parte 5 Word Processor: WORD (livello base) Elementi di Informatica - AA 2008/2009 - MS Word 1 di 60 Classificazione Esistono diversi strumenti per la realizzazione di documenti testuali: Editor di testo

Dettagli

Redatto da: Alfredo Scacchi Marco Vitulli

Redatto da: Alfredo Scacchi Marco Vitulli AxSync e AxSynClient Acquisizione Dati PDA Manuale di Installazione, Configurazione e Gestione Redatto da: Alfredo Scacchi Marco Vitulli Sommario Sommario 2 Introduzione 3 Requisiti 4 Hardware Consigliato

Dettagli

TiAxoluteNighterAndWhiceStation

TiAxoluteNighterAndWhiceStation 09/09-01 PC Manuale d uso TiAxoluteNighterAndWhiceStation Software di configurazione Video Station 349320-349321 3 INDICE 1. Requisiti Hardware e Software 4 2. Installazione 4 3. Concetti fondamentali

Dettagli

Rete LAN in connessione Ethernet RJ-45 di Nikon D4 su Windows 8

Rete LAN in connessione Ethernet RJ-45 di Nikon D4 su Windows 8 Rete LAN in connessione Ethernet RJ-45 di Nikon D4 su Windows 8 www.nital.it In un mondo sempre più wireless non mancano le situazioni dove le basi stabili della rete cablata possono risultare preferibili.

Dettagli

Realizzazione di un robot olonomo

Realizzazione di un robot olonomo UNIVERSITÀ DI BRESCIA FACOLTÀ DI INGEGNERIA Dipartimento di Ingegneria dell Informazione Laboratorio di Robotica Avanzata Advanced Robotics Laboratory Corso di Robotica (Prof. Riccardo Cassinis) Realizzazione

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

In questa puntata analizzeremo

In questa puntata analizzeremo Quarta parte Implementazione del protocollo MODBUS ASCII Quinta parte Simulatore PLC Il programma di supervisione Applicazione embedded 104 In questa puntata analizzeremo l ultima parte per quello che

Dettagli

Uno dei metodi più utilizzati e

Uno dei metodi più utilizzati e TEORIA MHZ RISORSE SPECIALE PRATICA Quinta parte n 257 - Novembre 2006 Realizzazione di un timer digitale programmabile Sesta parte n 258 - Dicembre 2006 Uso delle interfacce seriali Settima parte n 259

Dettagli

HARDWARE. Relazione di Informatica

HARDWARE. Relazione di Informatica Michele Venditti 2 D 05/12/11 Relazione di Informatica HARDWARE Con Hardware s intende l insieme delle parti solide o ( materiali ) del computer, per esempio : monitor, tastiera, mouse, scheda madre. -

Dettagli

Forse la periferica più importante di un elaboratore File system:

Forse la periferica più importante di un elaboratore File system: Forse la periferica più importante di un elaboratore File system: Un insieme di funzionalità per astrarre i dati grezzi presenti in memoria di massa e interpretare questi ultimi in termini di files e cartelle

Dettagli

Caratteristiche principali

Caratteristiche principali Caratteristiche principali Telefono piccolo e leggero con interfaccia USB per la telefonia VoIP via internet. Compatibile con il programma Skype. Alta qualità audio a 16-bit. Design compatto con tastiera

Dettagli

Max Configurator v1.0

Max Configurator v1.0 NUMERO 41 SNC Max Configurator v1.0 Manuale Utente Numero 41 17/11/2009 Copyright Sommario Presentazione... 3 Descrizione Generale... 3 1 Installazione... 4 1.1 Requisiti minimi di sistema... 4 1.2 Procedura

Dettagli

foglio di calcolo celle Lotus 1-2-3 celle macro.

foglio di calcolo celle Lotus 1-2-3 celle macro. Fogli di calcolo Un foglio di calcolo è composto da celle nelle quali è possibile inserire dati. Il programma consente di effettuare calcoli complessi utilizzando valori inseriti nelle celle dalle quali

Dettagli

1.0 Software GRIPONE PRO 2

1.0 Software GRIPONE PRO 2 1.0 Software GRIPONE PRO 2 La ECU GRIPONE PRO 2 viene gestita tramite il software fornito in dotazione. Il Software funziona su piattaforma Windows XP o Windows Vista e permette la gestione dei parametri

Dettagli

Visual Basic FROM C TO DEDICATO AGLI UTENTI CON BASI DI C CHE SI AFFACCIANO AL MONDO DEL VISUAL BASIC. Contiene solo basi di linguaggio

Visual Basic FROM C TO DEDICATO AGLI UTENTI CON BASI DI C CHE SI AFFACCIANO AL MONDO DEL VISUAL BASIC. Contiene solo basi di linguaggio FROM C TO Visual Basic DEDICATO AGLI UTENTI CON BASI DI C CHE SI AFFACCIANO AL MONDO DEL VISUAL BASIC. Contiene solo basi di linguaggio FEDERICO GIUNTOLI Microsoft Visual Basic Questo capitolo ha lo scopo

Dettagli

Interazione TS-Vision Kawasaki

Interazione TS-Vision Kawasaki UNIVERSITÀ DI BRESCIA FACOLTÀ DI INGEGNERIA Dipartimento di Ingegneria dell Informazione Laboratorio di Robotica Avanzata Advanced Robotics Laboratory Corso di Robotica (Prof. Riccardo Cassinis) Interazione

Dettagli

ECONORMA S.a.s - Prodotti e Tecnologie per l Ambiente

ECONORMA S.a.s - Prodotti e Tecnologie per l Ambiente ECONORMA S.a.s - Prodotti e Tecnologie per l Ambiente Sistema di monitoraggio wireless per collaudi A.T.P. Prodotto dalla ECONORMA S.a.s., questo sistema portatile è stato progettato tenendo in considerazione

Dettagli

APERTURA DELLA CONFEZIONE DI IPCAM SECURE300R

APERTURA DELLA CONFEZIONE DI IPCAM SECURE300R Simbolo per la raccolta differenziata nei paesi europei Il simbolo indica che questo prodotto si può raccogliere separatamente. Quanto segue si applica soltanto agli utenti dei paesi europei: Questo prodotto

Dettagli

NUOVO SISTEMA PER MACCHINE CNC- STAMPANTI 3D, TAGLIO E FRESATURA CONTROLLER_COMPACT CON RDCM_9 IL PRIMO ED UNICO SISTEMA MODULARE!

NUOVO SISTEMA PER MACCHINE CNC- STAMPANTI 3D, TAGLIO E FRESATURA CONTROLLER_COMPACT CON RDCM_9 IL PRIMO ED UNICO SISTEMA MODULARE! NUOVO SISTEMA PER MACCHINE CNC- STAMPANTI 3D, TAGLIO E FRESATURA CONTROLLER_COMPACT CON RDCM_9 IL PRIMO ED UNICO SISTEMA MODULARE! IL NUOVO CONTROLLER CNC-3D È DOTATO DI UNO SLOT PCI 16X EXPRESS DOVE VIENE

Dettagli

il foglio elettronico

il foglio elettronico 1 il foglio elettronico ecdl - modulo 4 toniorollo 2013 il modulo richiede 1/2 comprendere il concetto di foglio elettronico e dimostri di sapere usare il programma di foglio elettronico per produrre dei

Dettagli

K8076 Manuale utente

K8076 Manuale utente K8076 Manuale utente Informazioni generali 1. Introduzione La ringraziamo per aver acquistato e realizzato questo kit Velleman. Il K8076 rappresenta un programmatore per uso didattico, in grado di programmare

Dettagli

Camy istruzioni per l uso. Simply plug and records

Camy istruzioni per l uso. Simply plug and records Simply plug and records Indice Contenuto della confezione Installazione Registrazione video Connessione alla rete Amministrazione Selezione e riproduzione video Modifica nome utente e password Associare

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Gestione dei contenuti web Ultimi eventi

Gestione dei contenuti web Ultimi eventi Gestione dei contenuti web Ultimi eventi Questo manuale illustra le operazioni più comuni per la manutenzione e aggiornamento del sito web http://terremoti.ingv.it/ultimi eventi/ tramite l interfaccia

Dettagli

BREVE GUIDA ALL UTILIZZO DI BFTC

BREVE GUIDA ALL UTILIZZO DI BFTC BREVE GUIDA ALL UTILIZZO DI BFTC Rev. 1.0.0 11 Ottobre 2014 Digital Technology Art srl Digital Technology Art srl BFTC Introduzione 1 INDICE INTRODUZIONE INSTALLAZIONE IMPOSTARE IL PLUG IN CREARE UN NUOVO

Dettagli

MANUALE OPERATIVO. Programma di gestione della fatturazione. BDWinfatture 2007. Versione 6.0

MANUALE OPERATIVO. Programma di gestione della fatturazione. BDWinfatture 2007. Versione 6.0 MANUALE OPERATIVO Programma di gestione della fatturazione BDWinfatture 2007 Versione 6.0 MANUALE OP ERAT I V O BDWinfatture Belvedere Daniele Software Via Petitti, 25 10017 Montanaro (To) info@belvederesoftware.it

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

PROCEDURA DI INSTALLAZIONE DRIVER WINDOWS XP (32 o 64 bit)

PROCEDURA DI INSTALLAZIONE DRIVER WINDOWS XP (32 o 64 bit) PROCEDURA DI INSTALLAZIONE DRIVER WINDOWS XP (32 o 64 bit) PREMESSA: Per installare i driver corretti è necessario sapere se il tipo di sistema operativo utilizzato è a 32 bit o 64 bit. Qualora non si

Dettagli

41126 Cognento (MODENA) Italy Via Bottego 33/A Tel: +39-(0)59 346441 Internet: http://www.aep.it E-mail: aep@aep.it Fax: +39-(0)59-346437

41126 Cognento (MODENA) Italy Via Bottego 33/A Tel: +39-(0)59 346441 Internet: http://www.aep.it E-mail: aep@aep.it Fax: +39-(0)59-346437 QUICK ANALYZER Manuale Operativo Versione 5.3 Sommario 1.0 Generalità... 2 CONTRATTO DI LICENZA... 3 2.0 Configurazione dei Canali... 4 2.1 Gestione DataLogger IdroScan... 7 3.0 Risultati di Prova... 9

Dettagli

Modalità d uso del software

Modalità d uso del software Giornale Elettronico dei Lavori e Gestione delle Planimetrie con l uso di Coni Ottici GIOELAV + GIOEMAP (Versione 2.0.1) Cos è GIOELAV? E una piattaforma software, residente in cloud, per la registrazione

Dettagli

Manuale di Aggiornamento BOLLETTINO. Rel. 5.10.2E. DATALOG Soluzioni Integrate a 32 Bit

Manuale di Aggiornamento BOLLETTINO. Rel. 5.10.2E. DATALOG Soluzioni Integrate a 32 Bit KING Manuale di Aggiornamento BOLLETTINO Rel. 5.10.2E DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 PER APPLICARE L AGGIORNAMENTO... 3 1.1 Aggiornamento Patch Storica...

Dettagli

Università degli Studi di Parma Facoltà di Ingegneria

Università degli Studi di Parma Facoltà di Ingegneria Università degli Studi di Parma Facoltà di Ingegneria Corso di Dispositivi Programmabili A - A.A. 2008_2009 Docente: Guido Matrella - guido.matrella@unipr.it Gruppo: Cozzani Federico - 185896 - fede.a.d.v.lerici@hotmail.it

Dettagli

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E Lezione 5: Software Firmware Sistema Operativo Architettura del Calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti: Hardware e Software Firmware: strato di (micro-)programmi

Dettagli

Videoregistratori Serie DX

Videoregistratori Serie DX Pagina:1 DVR per telecamere AHD, analogiche, IP Manuale programma CMS Come installare e utilizzare il programma client per i DVR Pagina:2 Contenuto del manuale In questo manuale viene descritto come installare

Dettagli

GUIDA ALLA CONNESSIONE INTERNET PER CLIENTI CONSUMER- MANUALE DI CONFIGURAZIONE PER TELEFONINO COME MODEM. pag. 2

GUIDA ALLA CONNESSIONE INTERNET PER CLIENTI CONSUMER- MANUALE DI CONFIGURAZIONE PER TELEFONINO COME MODEM. pag. 2 Per navigare su Internet con il PC connesso al tuo telefonino GPRS/UMTS è necessario eseguire le opportune configurazioni. In questa guida troverai le istruzioni per la configurazione in automatico con

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica SOFTWARE Francesco Tura francesco.tura@unibo.it 1 Le componenti del calcolatore: HARDWARE E SOFTWARE HARDWARE parti che compongono fisicamente il calcolatore componente multifunzionale

Dettagli

MODULO DOMANDE INDICE

MODULO DOMANDE INDICE INDICE INDICE... 2 IL PROGRAMMA... 3 LA VIDEATA PRINCIPALE... 4 IL MENU FILE... 7 Esportare i file... 9 LA FINESTRA DELLA RISPOSTA... 11 TUTTI I MODI PER INSERIRE IL TESTO... 11 I Collegamenti... 12 MODELLI

Dettagli

Capitolo 26: schemi di installazione

Capitolo 26: schemi di installazione Capitolo 26: schemi di installazione Avviate MasterChef dall icona presente sul vostro Desktop. Nota: Se state utilizzando una versione dimostrativa, una volta caricato il programma, un messaggio vi comunicherà

Dettagli

Mexal SAR. SAR (Servizio Assistenza Remota) TARGET DEL MODULO

Mexal SAR. SAR (Servizio Assistenza Remota) TARGET DEL MODULO SAR (Servizio Assistenza Remota) TARGET DEL MODULO Il modulo SAR, destinato ad Aziende e Professionisti, è stato progettato per fornire assistenza e consulenza a distanza. Se da una parte, i professionisti

Dettagli

Packet Tracer: simulatore di RETE

Packet Tracer: simulatore di RETE Packet Tracer: simulatore di RETE Packet Tracer è un software didattico per l'emulazione di apparati di rete CISCO. http://www.cisco.com/web/it/training_education/networking_academy/packet_tracer.pdf PT

Dettagli

Informazioni per installazione ed avviamento Data Domus

Informazioni per installazione ed avviamento Data Domus Informazioni per installazione ed avviamento Data Domus La procedura per utilizzare Data Domus si divide in 2 fasi 1. Installazione 2. Configurazione Installazione Una volta in possesso del file di installazione,

Dettagli

Creare e formattare i documenti

Creare e formattare i documenti Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Elaborazione di testi Creare e formattare i documenti 1 IL WORD PROCESSOR I programmi per l elaborazione di testi ( detti anche di videoscrittura

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Software di configurazione String Box

Software di configurazione String Box Software di configurazione String Box E vietata la riproduzione di qualsiasi parte del presente documento anche se parziale salvo autorizzazione della ditta costruttrice. Sommario Avvertenze... 3 Installazione

Dettagli

PLC Programmable Logic Controller

PLC Programmable Logic Controller PLC Programmable Logic Controller Sistema elettronico, a funzionamento digitale, destinato all uso in ambito industriale, che utilizza una memoria programmabile per l archiviazione di istruzioni orientate

Dettagli

Popup Menu : Cliccare il tasto destro del mouse per farlo apparire. Scegliere come visualizzare le telecamere. Es. Gruppi di 4ch o 9ch

Popup Menu : Cliccare il tasto destro del mouse per farlo apparire. Scegliere come visualizzare le telecamere. Es. Gruppi di 4ch o 9ch 1. Menu Popup Menu : Cliccare il tasto destro del mouse per farlo apparire Menu Principale Multi-Canale Accede al menu principale Scegliere come visualizzare le telecamere Es. Gruppi di 4ch o 9ch Modalità

Dettagli

MPLAB - IDE. Introduzione. 1. Benvenuti in MPLAB. Introduzione

MPLAB - IDE. Introduzione. 1. Benvenuti in MPLAB. Introduzione MPLAB - IDE Introduzione 1. Benvenuto in MPLAB 2. Creare un progetto 3. Creare un nuovo file assembler 4. Scrivere un programma 5. Toolbar icons 6. Simulatore MPSIM Introduzione MPLAB è un programma che

Dettagli

TEMA TELECOMUNICAZIONI S.r.l. Telecomunicazioni - Elettronica - Microapplicazioni Audiotelefoniche

TEMA TELECOMUNICAZIONI S.r.l. Telecomunicazioni - Elettronica - Microapplicazioni Audiotelefoniche TEMA TELECOMUNICAZIONI S.r.l. Telecomunicazioni - Elettronica - Microapplicazioni Audiotelefoniche Sede (Headq.) 20161 Milano MI - Via C. Girardengo 1/4 Filiale (Branch Office) 00151 Roma RM -Via Boccapaduli,

Dettagli