Controllo Remoto di una WebCam di Sorveglianza

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Controllo Remoto di una WebCam di Sorveglianza"

Transcript

1 Controllo Remoto di una WebCam di Sorveglianza Relazione del progetto presentato come approfondimento per l Esame di Stato. Anno Scolastico Realizzato da: Enrico Corneo, Alberto Filigura, Marco Giudici, Matteo Restelli Classe 5 Indirizzo: Informatico Telecomunicazioni Sezione: A

2 Motivazioni sulla scelta dell approfondimento. Si è scelto di realizzare un sistema di video sorveglianza tramite una Webcam montata su due motori passo-passo controllabile da un qualsiasi computer remoto. Abbiamo scelto di realizzare un prototipo di una telecamera a controllo remoto perché ci ha permesso di ampliare le nostre conoscenze nel campo dell elettronica e dell informatica, utilizzando concetti tratti in classe con gli altri studenti, ma poi approfonditi e adattati al nostro caso. IL progetto è suddiviso nelle seguenti parti: Controllo motori Sviluppato da Enrico Corneo & Alberto Filigura Cattura frame video della webcam Sviluppato da Matteo Restelli Settaggio della webcam Sviluppato da Marco Giudici Pubblicazione del servizio on-line tramite pagina ASP Collaborazione tra il gruppo Blocchi Logici Spiegazione dettagliata dei punti sviluppati: Controllo motori Attività svolte: Analisi di fotocopie e fogli tecnici per apprendere il funzionamento della porta parallela, dell elettronica di controllo del motore passo-passo, di alcuni componenti di questa scheda di controllo e del motore stesso. Prova per il funzionamento del motore tramite software già esistente. Stesura di un programma di prova per far muovere il motore passo-passo con richiamo però di funzioni di libreria già esistenti. Raccolta di dati e immagini tramite oscilloscopio di alcuni segnali presenti nel funzionamento dell elettronica di controllo del motore passo-passo. Modifica del programma di prova per far muovere il motore passo-passo di un determinato numero di gradi immessi dall utente in senso orario e antiorario. Realizzazione di una parte della meccanica in alluminio che servirà a far muovere la webcam sia in orizzontale che in verticale. 2

3 Aggiunta del secondo motore e implemento del codice in modo da permettere il movimento della webcam anche in verticale. Modifica del codice per fare in modo che i due motori si muovano all interno di un certo range stabilito, evitando così nella fase di posizionamento ed anche durante l utilizzo l attorcigliamento dei cavi. Assemblaggio dei singoli programmi di gestione dei motori, di cattura del frame e del riconoscimento dell immagine per il posizionamento iniziale, in un unico programma con quattro oggetti diversi. Installazione e assemblaggio di tutti i componenti necessari al movimento e controllo della webcam in una scatola elettrica, con costruzione del circuito di alimentazione e relativo cablaggio. Inizializzazione e movimento motori Per sviluppare la parte di inizializzazione e movimento dei motori si è dovuto apprendere da fotocopie e fogli tecnici il funzionamento di alcuni componenti che serviranno al movimento e al controllo dei motori, quali la porta parallela, i circuiti di controllo dei motori passo-passo, alcuni componenti di questi circuiti di controllo e il funzionamento dei motori stessi. Funzionamento della porta parallela(lpt): La porta parallela è utilizzata per interfacciare il pc ai circuiti di controllo dei motori passopasso; essa è costituita da tre registri chiamati registro dati, registro di stato e registro di controllo. Il registro dati è un registro utilizzato in sola scrittura dal pc, il quale deposita su di esso i dati che successivamente verranno inviati ai circuiti di controllo dei motori; il registro di stato è un registro di sola lettura utilizzato dal pc per ricevere i dati dall esterno, ma nel nostro caso non verrà utilizzato in quanto non ci sono dati da trasmettere verso il pc; il registro di controllo è un registro che viene primariamente utilizzato in scrittura dal pc, nel nostro caso viene utilizzato per l invio del segnale di strobe che serve per comunicare all elettronica che il dato è stabile e che può venire processato. Elettronica di controllo micro-step driver: 3 Questo circuito permette di interfacciare i due motori passo-passo al pc mediante l utilizzo della porta parallela. Il circuito è isolato otticamente dal pc per motivi di sicurezza e permette di collegare fino a sei motori ad un unica porta parallela. Con questo circuito si ha la possibilità di far compiere ai motori oltre che al passo intero e al mezzo passo anche dei micro passi, che nel nostro caso moltiplicherebbero fino a 64 il numero dei

4 passi del motore. Il motore orizzontale quindi, invece di compiere solamente 200 passi al giro sarà in grado di compierne 12800, mentre quello verticale anziché solamente 400. Questa modalità risulta vantaggiosa nel nostro caso, in quanto la webcam si potrà così muovere di un numero maggiore di passi all interno di un singolo grado eliminando totalmente o quasi il funzionamento a scatti. Motori passo-passo: Un motore passo-passo è costituito da un rotore e da uno statore. Il rotore è formato da una coppia di ruote dentate affiancate e solidali all albero e sono costituite da un nucleo magnetico; lo statore è formato anch esso da piccoli denti che si affacciano a quelli del rotore ed è anche costituito da avvolgimenti che percorsi da corrente generano il campo magnetico. I motori passo-passo sono motori che a differenza degli altri hanno anche la possibilità di mantenere fermo l albero in una posizione di equilibrio oltre che girare in senso orario e antiorario. La rotazione avverrà solamente quando si invierà al motore, attraverso la scheda di controllo, una serie di impulsi di corrente secondo una determinata sequenza, in modo da far spostare per scatti successivi la posizione di partenza. Registro a scorrimento HCT4094: L HCT4094 è un registro a scorrimento seriale a 8-stage capace di immagazzinare i dati connessi con ogni fase del segnale di ingresso seriale strobe con quelli di uscita paralleli del buffer 3-state. Le uscite parallele possono essere connesse direttamente alle linee del bus comune. Il dato è spostato ad ogni fronte di salita del segnale di clock(cp). I dati di ogni fase dello shift register sono trasferiti allo storage register quando il segnale d ingresso strobe (STR) è a livello alto. I dati nello storage register appaiono in uscita ogni volta che il segnale di ingresso output enabled (OE) è a livello alto. Dopo aver appreso alcune nozioni fondamentali sul funzionamento dei componenti che si dovevano utilizzare si è provato a far funzionare il motore passo-passo tramite l utilizzo di un software già esistente. Durante queste prove si sono raccolte le immagini, e i relativi dati, delle forme d onda riguardanti i segnali coinvolti nel funzionamento dell elettronica di controllo dei motori, ossia del segnale di strobe, di clock e di data. Questi tre segnali provenienti dalla porta parallela del pc passano prima attraverso degli optoisolatori, in modo da isolare il pc dal circuito di controllo dei motori, per poi giungere al registro di scorrimento HCT

5 Grafici delle forme d onda dei segnali coinvolti Graf. 1 Visualizzazione della sequenza dei segnali. Il primo segnale dall alto è il segnale di dato che verrà inserito nel registro un bit alla volta a ogni fronte di clock. Il secondo segnale è di strobe che serve per indicare che il caricamento del dato nel registro è finito. Il terzo invece è di clock in uscita dalla parallela, utilizzato per il riempimento del registro a scorrimento presente sulla PCB. Graf. 2 Misurazione dell ampiezza d onda del segnale di dato. (4,69 V) Si può notare che la compatibilità di tale dato è di tipo TTL in rispetto dello standard SPI Graf. 3 Misurazione dell ampiezza d onda del segnale di strobe. (4,69 V) Graf. 4 Misurazione dell ampiezza d onda del segnale di clock. (4,84 V) 5

6 Graf. 5 Misurazione del tempo impiegato per ottenere il fronte di discesa del segnale. (1,3us) Graf. 6 Misurazione del tempo impiegato per ottenere il fronte di salita del segnale. (2,1us) Si può notare che il tempo del fronte di salita è più lento di quello di discesa. Dopodiché si è passati alla stesura del codice utilizzando VisualBasic come linguaggio di programmazione. La prima versione permetteva solamente di far muovere continuamente il motore in un verso, poi dopo alcune modifiche si poteva far muovere il motore di un determinato numero di gradi, immessi dall utente, in senso orario o antiorario. Ulteriori modifiche sono state fatte quando si è aggiunto anche il secondo motore, quello sull asse verticale; si è implementato il codice in modo da permettere il movimento di rotazione verticale e si è imposto anche alla webcam di muoversi all interno di un range stabilito, così da poter evitare l attorcigliamento dei cavi durante il movimento. Il codice è stato modificato nuovamente quando si sono assemblati in un unico codice i tre programmi di movimento dei motori, di cattura del frame e di riconoscimento della croce, così da ruotare fino al riconoscimento della croce e posizionarsi in modo da poter essere utilizzata dall utente. Si è inoltre realizzato un telaio in alluminio a cui è stato fissato il motore verticale, sul quale è installata la webcam, che verrà montato sull albero del motore orizzontale così che la webcam possa muoversi in senso orario e antiorario e verso l alto e verso il basso. 6

7 Funzione Motore La funzione definitiva è stata studiata in modo da poter dichiarare due oggetti di tipo motore così da poter dedicare un motore ai movimenti verticali, e l altro ai movimenti orizzontali. Il programma si compone delle seguenti funzioni: Funzione di inizializzazione che si occupa di trovare l indirizzo della porta LPT, tramite la funzione di libreria dedicata interrogando il BIOS del computer in uso, e settare una variabile per il richiamo della porta stessa. Funzione MuoviMotore che si occupa di prendere come parametro il numero di gradi inseriti dall utente di cui deve far muovere il motore, controllare il verso di rotazione, chiamare la funzione di conversione da gradi in passi passandogli come parametro il modulo dei gradi inseriti ed infine chiamare la funzione MuoviMotoreDiPassi passandogli a) il numero di passi ritornati dalla funzione precedentemente chiamata b) il canale del motore c) il verso di rotazione d) la variabile contenete l indirizzo della porta LPT. Funzione di conversione da gradi in passi che si occupa di prendere il numero di gradi passatogli come parametro e il moltiplicatore dei passi al giro del motore ed eseguire la seguente operazione: NumeroPassi = NumeroGradi * Moltiplicatore infine restituire come valore di ritorno il numero di passi. NOTA: Ogni motore passo-passo può compiere duecento passi al giro o multipli di questo. Da qui la decisione di inserire un parametro chiamato appunto moltiplicatore. Funzione MuoviMotoreDiPassi che dopo aver preso in consegna tutti i parametri passati dalla funzione precedente, si occupa di gestire il verso di rotazione calcolando il miglior spostamento, sia per quanto riguarta la brevità del percorso stesso, sia per evitare l attorcigliamento dei cavi. Quindi di chiamare la funzione di libreria che fa eseguire il movimento al motore assegnato al canale passatogli in precedenza. Funzione MotorStepUnlock che si occupa di mandare sul canale della LPT passatogli come parametro la sequenza si sblocco dei motori. La funzione esegue la funzione di libreria dedicata allo sblocco. 7

8 Funzione Cattura Frame Funzione che permette di catturare un frame (immagine) dalla webcam. Questa parte è formata da varie funzioni: Funzione di inizializzazione della classe: Si occupa essenzialmente di vedere se,all interno della directory,in cui sono presenti le pagine asp, è presente la directory temporanea, fondamentale perché è dove verranno salvate le immagini scattate. Una funzione principale (Cattura) che essenzialmente si occupa di: o Creare la finestra di cattura all interno di un form. Questa finestra è necessaria perché contribuirà al salvataggio dell immagine su di un file. o Chiamare la funzione di connessione al driver o Chiamare la funzione di libreria (winapi32.dll) che permette la cattura di un frame dalla webcam. o Chiamare la funzione di salvataggio del frame catturato in un file di tipo o jpg e salvare in una variabile il percorso del file. Chiamare la funzione di libreria (winapi32.dll) di disconnessione dal driver. Tale funzione sarà il metodo di classe chiamato dalla funzione principale di tutto il progetto. Si occuperà quindi di restituire il percorso del file contenente l immagine scattata. Una funzione di connessione al driver: Si occupa essenzialmente di chiamare una funzione di libreria (winapi32.dll) che permette di connettersi al driver e di verificare se questa connessione è avvenuta correttamente oppure no. Una funzione di salvataggio del frame catturato: Si occupa anch essa di chiamare una funzione di libreria (winapi32.dll) che permette il salvataggio di un frame in un file di tipo bmp. Verrà poi chiamata, sempre in questa funzione, un altra funzione che permetterà la conversione dal formato bmp al formato jpg. Una funzione di conversione dal formato BMP al formato JPG: Si occupa dell effettiva conversione dal formato BMP al formato JPG. Utilizza alcune funzioni di libreria essenziali presenti nella libreria VIC32.dll. Questa conversione viene effettuata soprattutto per ridurre lo spazio utilizzato dalle immagini (immagini salvate con il formato BMP occupano molto più spazio di immagini salvate con il formato JPG). Una volta che il file.bmp viene convertito tale file verrà cancellato istantaneamente. Una funzione di cancellazione files: Si occupa di cancellare i files vecchi. Siccome il nome del file è standard (IMG+oralocale) ciò ci permette di confrontare l ora in cui è stato salvato il file con l ora attuale di sistema; il file, quindi, se risulta troppo vecchio viene cancellato opportunamente. 8

9 Funzione Settaggio Webcam Per settaggio della Webcam si intendono tutte le operazioni necessarie per trovare il punto di partenza da cui poter muovere la telecamera. In particolare il settaggio si occupa di analizzare le immagini scattate dalla webcam, utilizzata come macchina fotografica, per individuare una croce nera su sfondo bianco. Il programma che esegue tali operazioni è composto da diverse funzioni, le principali sono: Estrazione del codice RGB dall immagine. Per estrarre il codice RGB di un immagine utilizzo il metodo Point (x,y) fornito dall oggetto PictureBox di Visual Basic. Calcolo dinamico della luminosità e saturazione media dell immagine. Il codice RGB di ogni pixel viene convertito in codice HLS (Hue, Lightness, Saturation) e viene così calcolata la luminosità e la saturazione media dell immagine. Confronto di ogni pixel dell immagine, convertito in codice HSL, con il valore di luminosità media appena calcolato e riempimento di una matrice con pixel bianchi e neri Ogni pixel viene confrontato con i valori di luminosità e saturazione appena calcolati e riempimento di una matrice bidimensionale con pixel bianchi e neri. Calcolo numero massimo di pixel neri di ogni riga e ogni colonna della matrice. Per ogni riga e colonna della matrice vengono calcolati il numero di pixel neri e vengono memorizzati in due vettori. Individuazione dei picchi massimi di pixel neri e calcolo dello scostamento dal centro dell immagine. Vengono ricercati all interno dei vettori i valori massimi e viene calcolato lo scostamento del valore massimo dal centro dell immagine. 9

10 File INI È stato creato un progetto di Visual Basic con tre moduli di classe: 1. clsmirino settaggio webcam 2. clsmotori controllo motori 3. clswebcam cattura frame tutte e tre le classi possiedono proprietà e metodi, utilizzano parametri che possono essere modificati tramite un programma che scrive file di configurazione. Tali file di configurazione sono file.ini che vengono letti da ogni classe che imposta i propri parametri. 10

11 Pubblicazione del servizio on-line tramite pagina ASP Si è realizzato un sito essenzialmente in html & asp che permette di controllare la webcam da remoto. Vi sono 2 pagine asp che permettono il controllo: interfaccia.asp che è la pagina d interfaccia vera e propria cioè la pagina dove viene visualizzata l immagine e la pagina dove l utente, attraverso particolari bottoni, può controllare la webcam da remoto. Questa pagina contiene infatti un form con dei bottoni che permette il passaggio dei dati (tramite il metodo POST ) dalla pagina d interfaccia alla pagina di collegamento. Immagine Interfaccia inviabili al processo di controllo: collegamento.asp che permette di inviare i dati al processo che controlla la webcam. Questa pagina asp inizialmente riceve i dati (tramite il metodo Request.form) dalla pagina d interfaccia. Una volta che li ha ricevuti li elabora e li tratta e crea una stringa da 5 caratteri da inviare al processo che controlla la webcam. Ci sono essenzialmente 5 trame o DE!GR DE=DESTRA o SI!GR SI=SINISTRA o GI!GR GI=GIU o SU!GR o zz!zz GR= Gradi. Numero a 2 cifre. Può essere 10,20,45,90. zz!zz= Trama di default. Viene inviata la prima volta che ci si connette alla webcam. Con questa trama il processo di controllo capisce che è la prima volta che si effettua la connessione alla webcam quindi scatta l immagine senza compiere alcun movimento. Dopo aver quindi creato la trama da inviare, la pagina si occupa di dimensionare un oggetto che permette di connettersi tramite protocollo TCP/IP verso il processo di controllo; la pagina si occuperà di aprire una connessione (socket) sulla porta all indirizzo locale ( ). Questa porta è la porta su cui è in ascolto il processo di controllo. Dopo aver stabilito la connessione la pagina asp invierà la trama precedentemente creata; dopo aver inviato i dati rimarrà in ascolto e successivamente riceverà il percorso del file contenente l immagine scattata. Il percorso del file verrà passato alla pagina d interfaccia tramite una variabile di sessione. Infine la pagina si occuperà di indirizzare il browser (tramite il metodo Response.Redirect) verso la pagina d interfaccia. 11

12 CODICE SORGENTE CLASSI Motori Webcam Mirino Controllo Camera MODULI Declare Main Mirino Motore Ini Webcam FORM Mirino WebCam Winsock FILE INI 12

13 CLASSI 13

14 MOTORI '############################################################################################### '# # '# Enrico Corneo & Alberto Filigura # '# # '# Anno scolastico AREA DI PROGETTO # '# # '# Ambito Informatico - Eletttonico # '# # '# ActiveXMicroStep che tramite chiamate alla dll gestisce il motore passo passo # '# # '############################################################################################### 'Dichiaro che è obligatorio il dimensionameto delle variabili Option Explicit 'Dicharazione delle variabili globali Public icanale As Integer 'Dichiarazione della variabile dedita a contenere il canale in uso Public iangolomassimo As Integer 'Dichiarazione della variabile dedita a contenere il numero di gradi massimo dell'angolo di rotazione del motore Public iangolominimo As Integer 'Dichiarazione della variabile dedita a contenere il numero di gradi minimo dell'angolo di rotazione del motore Public imoltiplicatorestep As Integer 'Dichiarazione della variabile dedita a contenere il fattore di moltiplicazione degli step per il motore Public dposizione As Double 'Dichiarazione della variabile che si ricorda l'ultima posizione 'Dichiarazione delle costanti Const TIME = 1 'In millesimi di secondo Costante di tempo che trascorre tra un passo e l'altro 'Const itemposleep = 20 'Numero passi che vengono effettuati prima di fare lo Sleep Dim itemposleep As Integer 14

15 '############################################################################################### '# # '# Funzione inizialize della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di attivare tutto ciò che riguarda l'hardware in parti- # '# colare deve chiamare la funzione di libreria VVIO_CD4094_Inizialize(iLpt, laddruse). # '# Insieme all'inizializzazione della PCB deve recuperare gli indirizzi delle LPT dal bios con # '# la funzione di libreria VVIO_LPT_GetLptFromBios(lAddr0, laddr1, laddr2) e di bloccare la # '# porta che si intende usare con la funzione VVIO_LPT_Lock(iLpt) # '# # '############################################################################################### Private Sub Class_Initialize() Leggi_FileINI 'Nella prima esecuzione setto dposizione a 0 If bprimaesecuzione Then dposizione = 0 Exit Sub bprimaesecuzione = True 'Rendo vera la variabile booleana che controlla se è la prima volta che viene eseguito il programma 'Dichiarazioni delle variabili locali Dim ilpterror As Integer 'Variabile che contiene l'errore restituito dalla funzione VVIO_LPT_GetLptFromBios Dim ierrorlptlock As Integer 'Variabile che contiene l'errore restituito dalla funzione VVIO_LPT_Lock Dim ierrorlptinizialize As Integer 'Variabile che contiene l'errore restituito dalla funzione VVIO_CD4094_Inizialize Dim laddr0 As Long 'Variabile che contiene l'indirizzo della prima Lpt Dim laddr1 As Long 'Variabile che contiene l'indirizzo della seconda Lpt Dim laddr2 As Long 'Variabile che contiene l'indirizzo della terza Lpt Dim laddruse As Long 'Variabile che contiene l'indirizzo della Lpt che è utilizzata 15

16 'Prendo l'elenco degli indirizzi delle lpt sul pc ilpterror = VVIO_LPT_GetLptFromBios(lAddr0, laddr1, laddr2) 'Calcolo quale porta intendo utilizzare If laddr0 <> 0 Then ilpt = 1 laddruse = laddr0 Else If laddr1 <> 0 Then ilpt = 2 laddruse = laddr1 'Blocco la Lpt che utilizzo ierrorlptlock = VVIO_LPT_Lock(iLpt) 'Inizializzo la comunicazione tra PC e PCB passando il numero della porta che utilizzo e il suo indirizzo fisico ierrorlptinizialize = VVIO_CD4094_Inizialize(iLpt, laddruse) End Sub '############################################################################################### '# # '# Funzione di avvio dei motori della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di controllache in che vero il motore deve girare, e di # '# chiamare la funzione che provvederà a far girare il motore del numero di passi stabilito. # '# # '############################################################################################### Public Function MuoviMotore(dNumeroGradi As Double) Dim inumeropassi As Integer 'Variabile dedita a contenere il numero di step da fare Dim ierror As Integer 'Variabile dedita a ricevere l'eventuale errore Dim iverso As Integer 'Variabile dedita a contenere il verso di rotazione 16

17 Dim dnuovaposizione As Double 'Variabile dedita a contenere la posizione a cui si deve arrivare 'Controllo se il numero di gradi di cui mi devo muovere è pari a zero allora esco dalla funzione If (dnumerogradi = 0) Then Exit Function 'Controllo e eseguo lo spostamento richiesto dnuovaposizione = (dposizione + dnumerogradi) Mod 360 If dnuovaposizione < iangolominimo Then dnuovaposizione = iangolominimo ElseIf dnuovaposizione > iangolomassimo Then dnuovaposizione = iangolomassimo dnumerogradi = dnuovaposizione - dposizione dposizione = dnuovaposizione 'Controllo il verso If dnumerogradi < 0 Then iverso = 1 Else iverso = -1 'Chiamo la funzione che mi converte il numero di gradi in passi inumeropassi = ConversioneGradiPassi(Abs(dNumeroGradi)) 'Chiamo la funzione che muove il motore ierror = MuoviMotoreDiPassi(iNumeroPassi, ilpt, icanale, iverso, TIME) End Function 17

18 '############################################################################################### '# # '# Funzione di movimento del motore della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di chiamare la funzione di libreria che fa muovere il # '# motore dei passi che gli sono stati indicati dalla funzione che ha invocato quest'ultima. # '# # '############################################################################################### Private Function MuoviMotoreDiPassi(iNumeroPassi As Integer, ilpt As Integer, ich As Integer, iverso As Integer, itime As Long) Dim ierror As Integer 'Variabile dedicata al ritorno di un eventuale errore Dim icont As Integer 'Contatore per la scansione dei passi Dim isleep As Integer 'Moltiplico il numero dei passi per il moltiplicatore inumeropassi = inumeropassi * imoltiplicatorestep 'Ciclo che fa muovere di inumeropassi il motore For icont = 0 To inumeropassi 'Chiamata alla funzione di libreria per far muovere un motore di inumeropassi ierror = VVIO_CD4094_NextStepBipolar(iLpt, ich, iverso, 1) Next 'Aspetto un certo periodo di tempo prima di rieseguire il ciclo If isleep > itemposleep Then Sleep itime isleep = 0 Else isleep = isleep + 1 DoEvents 18

19 End Function '############################################################################################### '# # '# Funzione di conversione dei gradi in passi della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di convertire il numero di gradi passatogli in passi. # '# Il valore trovato verrà passato come valore di ritorno. # '# # '############################################################################################### Private Function ConversioneGradiPassi(dNumeroGradi As Double) As Integer Dim inumeropassi As Integer 'Variabile dedita a contenere il numero di step da fare 'Eseguo il conto necessario e lo metto nella variabile apposita. inumeropassi = dnumerogradi * (12800# / 360#) 'Passo come valore di ritorno il contenuto della variabile appena riempita ConversioneGradiPassi = inumeropassi End Function '############################################################################################### '# # '# Funzione Sblocca della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di disattivare tutto ciò che riguarda l'hardware in parti- # '# colare deve chiamare la funzione di libreria VVIO_CD4094_18245(iLpt, icont, 0, 0, 1). # '# Deve fare una scansione per canale e far uscire dalla Lpt il segnale di arresto. # '# # '############################################################################################### 19

20 Public Sub MotorStepUnlock() End Sub Dim ierror As Integer 'Variabile dedicata al ritorno di un eventuale errore 'Chiamata alla funzione della dll che arresta tutto ierror = VVIO_CD4094_18245(iLpt, icanale, 0, 0, 1) Private Function Leggi_FileINI() Dim spercorsoini As String Dim ret As String Dim RetLen spercorsoini = App.Path spercorsoini = spercorsoini & "\config.ini" ret = Space$(255) RetLen = GetPrivateProfilestring("CONFIGURAZIONE", "ITIMESLEEP", "", ret, Len(ret), spercorsoini) ret = Left$(ret, RetLen) itemposleep = Val(ret) End Function 20

21 WEBCAM '####################################################### '# # '# Cattura di un frame da webcam, salvataggio del # '# frame in un file e successiva conversione da bmp # '# a jpg. Le immagini scattate verranno salvate # '# opportunamente in una cartella temporanea interna # '# alla directory dove è presente l'intero programma # '# # '####################################################### 'Const BASEPATH = "C:\Inetpub\wwwroot\bbb\temp\" Dim BASEPATH As String Dim hcapwnd As Long Private Sub Class_Initialize() Leggi_FileINI 'Creazione della directory \temp se non esiste 'spercorsoattuale = App.Path If (Dir(BASEPATH, vbdirectory) = "") Then MkDir (BASEPATH) End Sub Public Function Cattura() As String Dim spercorso As String frmwebcam.hide 'Cancellazione dei files vecchi nella directory Call CancellaFiles 'Creazione della finestra di cattura hcapwnd = capcreatecapturewindow("vb CAP WINDOW", WS_CHILD Or WS_VISIBLE, 0, 0, 160, 120, frmwebcam.hwnd, 0) 'Chiamata della funzione di connessione al driver. Call DriverConnect(hcapwnd) 'chiamata della funzione che cattura il frame. Call capgrabframe(hcapwnd) 'Chiamata della funzione relativa al salvataggio del frame in un file bmp spercorso = SalvaFrame(hcapwnd) Cattura = spercorso 'Disconnessione dal driver retval = capdriverdisconnect(hcapwnd) 21

22 Unload frmwebcam End Function Public Function Disconnetti() As Boolean 'Funzione per disconnettersi dal driver Disconnetti = capdriverdisconnect(hcapwnd) End Function Private Sub DriverConnect(ByVal hcapwnd As Long) Const CAP_STRING_MAX As Long = 128 Dim retval As Boolean Dim iindice As Integer iindice = 0 'Connessione al driver retval = capdriverconnect(hcapwnd, iindice) If retval = True Then Debug.Print ("Connessione al driver riuscita") Else Debug.Print ("Connessione al driver non riuscita") End Sub Private Function SalvaFrame(hcapwnd As Long) As String Dim sfilename As String Dim retval As Boolean Dim spercorso As String sfilename = BASEPATH & "img" & TIME & ".bmp" 'Salvataggio in un file bmp del frame retval = capfilesavedib(hcapwnd, sfilename) 'Chiamate della funzione di conversione da bmp a jpg spercorso = ConversioneJPG(sFileName) SalvaFrame = spercorso End Function Private Function ConversioneJPG(FileName As String) As String Dim spercorso As String Dim objfso As FileSystemObject Set objfso = New FileSystemObject Dim tmpimage As imgdes Dim tmp2image As imgdes Dim rcode As Long Dim quality As Long 22

23 Dim vbitcount As Long Dim bdat As BITMAPINFOHEADER Dim jpg_fname As String jpg_fname = BASEPATH & "img" & TIME & ".jpg" quality = 75 rcode = bmpinfo(filename, bdat) If (rcode <> NO_ERROR) Then MsgBox "Il file non riesce ad essere trovato", 0, "ERRORE!" Exit Function vbitcount = bdat.bibitcount If (vbitcount >= 16) Then vbitcount = 24 rcode = allocimage(tmpimage, bdat.biwidth, bdat.biheight, vbitcount) If (rcode <> NO_ERROR) Then MsgBox "Memoria non sufficiente", 0, "ERRORE!" Exit Function ' Load image rcode = loadbmp(filename, tmpimage) If (rcode <> NO_ERROR) Then freeimage tmpimage MsgBox "Il file non riesce ad essere caricato", 0, "ERRORE!" Exit Function If (vbitcount = 1) Then rcode = allocimage(tmp2image, bdat.biwidth, bdat.biheight, 8) If (rcode = NO_ERROR) Then rcode = convert1bitto8bit(tmpimage, tmp2image) freeimage tmpimage 23

24 'Chiamata della funzione di salvataggio del file JPG rcode = savejpg(jpg_fname, tmpimage, quality) freeimage tmpimage 'Cancellazione del file.bmp che contiene il frame scattato objfso.deletefile (FileName) 'spercorso = App.Path 'spercorso = spercorso & "\" & jpg_fname ConversioneJPG = jpg_fname End Function Public Function CancellaFiles() Dim bcancella As Boolean Dim snomefile As String Dim snome As String Dim Cartella As Folder Dim file As file Dim spercorsocartella As String Dim objfso As FileSystemObject Set objfso = New FileSystemObject spercorsocartella = BASEPATH Set Cartella = objfso.getfolder(spercorsocartella) For Each file In Cartella.Files snomefile = file.name spercorsofile = file.path bcancella = EstraiDati(sNomeFile) If bcancella = True Then objfso.deletefile (spercorsofile) Next file End Function Private Function EstraiDati(sNome As String) As Boolean Dim bcancella As Boolean Dim soraimg As String Dim sminutiimg As String 24

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

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

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

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

ELEMENTI DI GRAFICA IN AMBIENTE DEV-PASCAL v. 9.2

ELEMENTI DI GRAFICA IN AMBIENTE DEV-PASCAL v. 9.2 ELEMENTI DI GRAFICA IN AMBIENTE DEV-PASCAL v. 9.2 MODULI GRAPH, DOS E CRT Una volta entrati in ambiente DEV-Pascal possiamo cominciare ad editare un programma nel modo che conosciamo. Se dobbiamo far uso

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

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

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

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

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

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

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

VBA. Il Visual Basic for Application. Funz ioni

VBA. Il Visual Basic for Application. Funz ioni VBA Il Visual Basic for Application Le funz ioni Le procedure Funz ioni µ E pos s ibile (e cons igliato) s comporre un problema i n sotto- problemi e combinar e poi assieme le s oluz i oni per ottenere

Dettagli

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960.

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960. File di dati Definizione File di dati Insieme di record omogenei memorizzati in memoria di massa Bianchi Verdi Neri Verdi Anna Roma 1980 Luca Milano 1960 Andrea Torino 1976 Paola Bari 1954 Record Operazioni

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

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

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale. l Editor vi Negli ambienti Unix esistono molti editor di testo diversi; tuttavia vi è l unico che siamo sicuri di trovare in qualsiasi variante di Unix. vi (visual editor) è stato scritto per essere utilizzabile

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

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

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente 1.1 Il motore a corrente continua Il motore a corrente continua, chiamato così perché per funzionare deve essere alimentato con tensione e corrente costante, è costituito, come gli altri motori da due

Dettagli

Manuale tecnico Stazione Meteo Eolo Davis

Manuale tecnico Stazione Meteo Eolo Davis Descrizione Generale Manuale tecnico Stazione Meteo Eolo Davis EOLO DAVIS rappresenta una soluzione wireless di stazione meteorologica, basata su sensoristica Davis Instruments, con possibilità di mettere

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL.

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL. Data: 8 Ottobre 2013 Release: 1.0-15 Feb 2013 - Release: 2.0 - Aggiunta procedura per inviare email da Windows con php Release: 2.1-20 Mar 2013 Release: 2.2-8 Ottobre 2013 - Aggiunta procedura per inviare

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

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Scuola Specializzazione Istruzione Superiore Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Michele Batocchi ITC Vittorio Emanuele II Perugia A.S. 2007/2008 Introduzione

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

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

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

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

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

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

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

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

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

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

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

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

Per realizzare un programma in VB

Per realizzare un programma in VB Per realizzare un programma in VB E necessario eseguire nell ordine i seguenti passi: 1) Dato un problema, disegnare la tabella delle variabili 2) Determinare l algoritmo risolutivo con la pseudocodifica

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

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

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

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

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

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

Creare una applicazione Winsock di base

Creare una applicazione Winsock di base Creare una applicazione Winsock di base Usiamo le API Winsock incluse in Creare un progetto per una Socket Windows (in Dev C++) Selezionare la file New Projects Selezionare Empty Project Salvare

Dettagli

Come difendersi dai VIRUS

Come difendersi dai VIRUS Come difendersi dai VIRUS DEFINIZIONE Un virus è un programma, cioè una serie di istruzioni, scritte in un linguaggio di programmazione, in passato era di solito di basso livello*, mentre con l'avvento

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

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

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

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT Introduzione Un file batch è un file di testo di tipo ASCII che contiene una sequenza di comandi DOS. I file batch devono avere estensione.bat I comandi DOS all interno dei programmi batch sono eseguiti

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

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

StarOffice TM 7 Office Suite

StarOffice TM 7 Office Suite StarOffice TM 7 Office Suite A Sun TM ONE Software Offering Manuale di programmazione in Basic Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 650-960-1300 Part No. 817-3918-10

Dettagli

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test Prefazione, Contenuto Parte 1: Sviluppo di programmi Parte 2: Uso e test SIMATIC Parte 3: Descrizione del linguaggio Programmazione di blocchi Appendici Glossario, Indice analitico Manuale Numero di ordinazione

Dettagli

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero ---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi

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

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

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

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

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza.

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza. Relazione tecnica Fibonacci ANDENA GIANMARCO Traccia: Creare un algoritmo che permetta, dato un valore intero e positivo, di stabilire la sequenza utilizzando la regola di fibonacci dei numeri fino al

Dettagli

Altre opzioni Optralmage

Altre opzioni Optralmage di Personalizzazione delle impostazioni............ 2 Impostazione manuale delle informazioni sul fax......... 5 Creazione di destinazioni fax permanenti................ 7 Modifica delle impostazioni di

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

AREA RETTANGOLO LIRE IN EURO

AREA RETTANGOLO LIRE IN EURO AREA RETTANGOLO Private Sub Area() Dim h As Integer h = InputBox("altezza") b = InputBox("base") A = b * h MsgBox( L area del Rettangolo è : & A) LIRE IN EURO Dim lire As Double Dim euro As Double lire

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

Comandi di Input/Output in Matlab

Comandi di Input/Output in Matlab Comandi di Input/Output in Matlab Il comando format controlla la configurazione numerica dei valori esposta da MAT- LAB; il comando regola solamente come i numeri sono visualizzati o stampati, non come

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

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

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

TELECAMERA SUBACQUEA MINI DV RD31 DIVERS

TELECAMERA SUBACQUEA MINI DV RD31 DIVERS www.gmshopping.it TELECAMERA SUBACQUEA MINI DV RD31 DIVERS MANUALE UTENTE Questo documento è di proprietà di Ciro Fusco ( Cfu 2010 ) e protetto dalle leggi italiane sul diritto d autore (L. 633 del 22/04/1941

Dettagli

STRUTTURE (O COSTRUTTI) DI CONTROLLO

STRUTTURE (O COSTRUTTI) DI CONTROLLO Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni

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

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

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci Manuale di Remote Desktop Connection Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Remote Desktop

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano

Dettagli

AUTOLIVELLI (orizzontalità ottenuta in maniera automatica); LIVELLI DIGITALI (orizzontalità e lettura alla stadia ottenute in maniera automatica).

AUTOLIVELLI (orizzontalità ottenuta in maniera automatica); LIVELLI DIGITALI (orizzontalità e lettura alla stadia ottenute in maniera automatica). 3.4. I LIVELLI I livelli sono strumenti a cannocchiale orizzontale, con i quali si realizza una linea di mira orizzontale. Vengono utilizzati per misurare dislivelli con la tecnica di livellazione geometrica

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

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

/*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i, giusto,len;

/*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i, giusto,len; /* Date in ingresso una frase, dire se una è palindroma */ #include #define MAX 100 int main() /*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i,

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Appunti sull uso di matlab - I

Appunti sull uso di matlab - I Appunti sull uso di matlab - I. Inizializazione di vettori.. Inizializazione di matrici.. Usare gli indici per richiamare gli elementi di un vettore o una matrice.. Richiedere le dimensioni di una matrice

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

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

UNIVERSITA DEGLI STUDI DI TORINO WORD

UNIVERSITA DEGLI STUDI DI TORINO WORD WORD SOMMARIO 1. Muoversi nel testo... 1 2. Taglia, copia e incolla... 2 3. Aprire, salvare e chiudere... 3 4. Trovare e sostituire... 4 5. Visualizzare in modi diversi... 6 6. Formattare e incolonnare...

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

Dettagli

Lezione 12: La visione robotica

Lezione 12: La visione robotica Robotica Robot Industriali e di Servizio Lezione 12: La visione robotica L'acquisizione dell'immagine L acquisizione dell immagine Sensori a tubo elettronico (Image-Orthicon, Plumbicon, Vidicon, ecc.)

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

1. Il Servizio. 2. Protocollo SMS-Server

1. Il Servizio. 2. Protocollo SMS-Server 1. Il Servizio 2. Protocollo SMS-Server 3. Protocollo HTTP Post e Get 3.1) Invio di SMS di testo 3.2) Invio di SMS con testo in formato UNICODE UCS-2 3.3) Simulazione di un invio 3.4) Possibili risposte

Dettagli