SERRA DOMOTICA - istruzione.varese.it orientagiovani... · 4 Presentazione progetto Introduzione...

26
1 Istituto Tecnico Industriale Statale “C.Facchinetti” Busto Arsizio SERRA DOMOTICA Di Enthonj Franco Antonello Interdonato Mattia Carmignano Daniele Tecci Daniele Massarenti

Transcript of SERRA DOMOTICA - istruzione.varese.it orientagiovani... · 4 Presentazione progetto Introduzione...

1

Istituto Tecnico Industriale Statale “C.Facchinetti” Busto Arsizio

SERRA

DOMOTICA Di

Enthonj Franco Antonello Interdonato

Mattia Carmignano Daniele Tecci

Daniele Massarenti

2

Versione 1 Anno Scolastico 2009/2010

SERRA 1

DOMOTICA 1

PRESENTAZIONE PROGETTO 4

INTRODUZIONE 4 ANALISI SITUAZIONE REALE 5 VINCOLI 5 SCHEMA GENERALE FUNZIONAMENTO 5

PRESENTAZIONE DEL PROGRAMMA 7

UTILIZZO GENERALE 7 QUADRO GENERALE 12

MODEM GSM 13

SISTEMA DI CONNESSIONE GSM 13 COLLEGAMENTI 13

COMANDI AT 15

OGGETTI MSCOMM 15 COMANDI AT 15

GESTIONE SMS 16

INTRODUZIONE 16 CODIFICA PDU 16 FORMATO MESSAGGIO CODIFICA 17 SCOPO 19 OTTIENE UN CARATTERE DELL'ALFABETO 7 BIT 19

COMPONENTI HARDWARE 20

SPIEGAZIONE CIRCUITI 20 SPIEGAZIONE E FOTO 22

3

CONCLUSIONI 25

GIUDIZIO CRITICO 25 SVILUPPI FUTURI E POSSIBILI MIGLIORAMENTI 25 RINGRAZIAMENTI 25

4

Presentazione progetto

Introduzione Partendo dalla base comune di alcuni progetti riguardanti la domotica ci siamo occupati della cura di una pianta d’appartamento, ossia come mantenere, nutrire e gestire a distanza una pianta, attraverso il servizio SMS offerto dalla rete GSM per mezzo di una normale internet key.

Quando siamo lontani da casa è naturale sperare che al nostro ritorno non sia accaduto nulla di spiacevole, molto spesso ci si preoccupa di chiedere a vicini o parenti di controllare la nostra abitazione e perché no di innaffiare le nostre piante, anche se, in fondo, siamo sicuri che nessuno potrebbe farlo meglio di noi. Proprio per questo motivo un grande aiuto può arrivare dall’utilizzo della nostra applicazione.

Il progetto si prefigge di poter offrire all’utente uno strumento completo per poter controllare lo stato delle sue piante a distanza, disponendo semplicemente di una sim card, una internet key e di un personal computer. La nostra applicazione non permette soltanto una semplice visione passiva della situazione, ma in caso di necessità di intervenire attivamente.

Per soddisfare le esigenze di ogni cliente abbiamo parametrizzato tutti i caratteri della pianta, in modo tale da poter rendere il nostro software più versatile possibile per qualsiasi tipo di pianta. Inoltre abbiamo cercato di realizzare delle interfacce semplici ma tecnologiche.

Per quanto concerne l’interfaccia del PC con la scheda per gestire ingressi-uscite di tutti i parametri controllati, abbiamo utilizzato un metodo comodo e tutto sommato poco costoso: la porta USB. Invece per collegare la sim card al computer abbiamo utilizzato un’internet key.

Questo progetto potrebbe essere visto come un’area della domotica, una tecnologia che si pone l’obiettivo di garantire una maggiore sicurezza, comfort, risparmio energetico e soprattutto di gestire a distanza elettrodomestici e altri dispositivi, avvicinandosi al concetto di “casa intelligente”.

5

Analisi situazione reale Il nostro progetto si suddivide sostanzialmente in due parti fondamentali:

parte hardware, cioè tutto lo sviluppo della parte elettronica, di tutti i circuiti e i sensori atti a controllare e a curare la pianta e l’ambiente a essa circostante.

parte software per gestire la parte hardware, l’invio e la ricezione dei dati riguardanti lo stato della serra e l’interfaccia con l’utente.

Una volta in possesso del nostro prodotto l’ipotetico utente, dovrà collegare opportunamente i dispositivi, seguendo le istruzioni fornite nel manuale d’utilizzo, quando tutto il contesto è stato predisposto dovrà mandare semplicemente in esecuzione il software. Se l’utente ha un minimo di conoscenze agrarie riguardanti gli effettivi bisogni della pianta potrà cambiare tutti i parametri relativi all’umidità, all’illuminazione, al calore ecc. (setup personalizzabile). Per permettere queste operazionei il software mette a disposizione un’interfaccia semplice e chiara in grado di essere compresa da ogni utente. In ogni caso sono presenti dei profili di parametri già impostati da noi nel programma: setup umido, setup secco, setup mite.

Vincoli E’ necessario acquistare una comune internet key con supporto gsm e una sim card. Si richiede soltanto un numero di telefono come riferimento per l’invio degli sms e per

controllare che i messaggi ricevuti siano stati inviati dal numero utente registrato.

Schema generale funzionamento L’obiettivo della nostra applicazione è quello di far conoscere ai nostri clienti, attraverso l’invio e la ricezione di sms, lo stato della propria pianta d’appartamento e in base alle condizioni rilevate essere in grado di intervenire. Ma non solo, il nostro programma potrà funzionare anche in assenza di una internet key tramite comunicazione da applicazione client a applicazione server o direttamente da applicazione server. In termini più specifici il sistema si articola in questo modo: Una chiavetta internet key (con all’interno sim card) collegata tramite porta USB in modo seriale; sullo stesso pc sarà in esecuzione il l’applicazione server con lo scopo di gestire l’interfaccia tra il collegamento seriale pc/telefono e il collegamento usb pc/scheda k8055 della Velleman. La scheda k8055 sarà in grado di acquisire diversi segnali riguardo le condizioni della pianta e dell’ambiente a essa circostante, attraverso ingressi digitali e analogici collegati alla scheda da noi prodotta con dei sensori elettronici per temperatura, umidità, luce, vento ecc…. A seconda dei segnali ricevuti, controllati via software, interverremo automaticamente gestendo le uscite.

6

Per esemplificare le componenti del progetto abbiamo realizzato questo schema.

Collegamento seriale (RS232) tra telefono cellulare e

Scheda interfaccia Velleman

Il collegamento tra la pianta e la scheda è costituito dai sensori, dalle pompe e in generale da tutti i dispositivi di input/output

Collegamento USB tra pc e scheda di interfaccia Velleman

Scheda controllo sensori, pompe, ventole,

circuiti connessi alla scheda di interfaccia

Velleman

7

Presentazione del programma Il nostro software è nato con il compito principale di interfacciare la scheda USB Velleman K8055 ai sensori applicati alla nostra pianta e, analogamente, per interfacciare l’utente finale con il microclima della pianta in cui è disposta.

Il sistema, chiamato “Serra Domotica”, è in grado di leggere gli ingressi della scheda citata sopra e interpretarli come valori numerici, per poi dare al cliente l’attuale situazione climatica del sistema. In secondo luogo, dà la possibilità di agire sulle uscite della medesima scheda in modo tale da abilitare sistemi elettronici, come ad esempio le ventole di aerazione o la pompa per l’innaffiamento. Inoltre riceve SMS, legge la richiesta dell’utente e agisce sulla scheda Velleman K8055 attraverso i sistemi elettronici applicati alle uscite; analogamente, al momento di una richiesta, è in grado di inviare un SMS all’utente contenente le caratteristiche dell’ambiente all’interno della serra. Il tutto può funzionare anche in assenza di una Internet key: attraverso l’interfaccia grafica sia del server che del client è possibile leggere tutti i valori dei sensori in ingresso e agire sulle uscite. (es. innaffiamento, illuminazione ecc.)

Infine, il software è in grado di gestire in modo automatico tutte le uscite a seconda delle entrate presentandosi attraverso una semplice interfaccia di facile intuizione. Principalmente il software ha i seguenti valori in ingresso:

- Temperatura - Umidità - Messaggi provenienti dalla Internet key

Le uscite sono: - Attivazione e velocità delle 2 ventole di aerazione dell’ambiente - Innaffiamento - Riscaldamento - Illuminazione - Apertura e chiusura tende - Apertura e chiusura finestre

SMS verso il proprietario.

Utilizzo generale Prima di poter utilizzare il software, è obbligatorio copiare il file “K8055D.dll” presente nel cd del prodotto e incollarlo nella cartella “system32” presente nella directory “windows”. Questa procedura è obbligatoria ai fini dell’esecuzione.

8

Completata la procedura, è possibile eseguire il software facendo doppio click sul file “Serra Domotica.exe”. La prima schermata dà un’idea di come è strutturato:

L’utilizzo del server è generalmente molto semplice e molto intuitivo, in quanto il programma è diviso in 4 aree: “Attivazione dei sistemi”,”Gestione SMS”, “Servizi“ e “Setup giornaliero”, in cui si possono controllare gli attuali valori e l’attuale situazione di Input e Output in contemporanea, il tutto in modo immediato. L’utilizzo del client è pressoché identico, a parte l’aggiunta della visualizzazione delle immagini dalla serra tramite una web-cam, gestita dal server, che scatta le foto e le invia all’applicazione. Per poter interfacciarsi con la scheda è necessario connettersi cliccando nel menù la voce “Attiva serra”. Da questo momento in poi tutti gli input saranno letti e interpretati come valori numerici e come frequenze e ogni uscita potrà essere pilotata.

Sempre nello stesso menù posto in alto, è possibile disattivare la scheda oppure uscire completamente dal programma. Nel caso “Disconnetti” ogni valore fino a questo momento rilevato, sarà azzerato in una successiva ed eventuale connessione.

9

INPUT Temperatura

Con questo sistema si potrà osservare la temperatura dell’ambiente in cui sta vivendo la pianta. Si presenta in modo digitale, in proporzione alla temperatura cambia il valore numerico associato e ricavato grazie al sensore interno alla serra. Umidità dell’aria

Come nel caso della visualizzazione della temperatura, anche il rilevamento dell’umidità avviene grazie ad un sensore che invia in modo digitale il relativo valore nel quadro di controllo dell’applicazione. Alla prima esecuzione, il software ha come default “Setup Mite”. In questo modo ogni uscita è controllata in modo strettamente dipendente dai valori in ingresso. Se si volesse cambiare l’impostazione di tutte le uscite in manuale è necessario cliccare sul tasto “Personalizza”. Sono presenti dei profili preimpostati che permettono di automatizzare la gestione della serra; altrimenti è possibile selezionare l’opzione “Personalizza” per cui si decide come curare la pianta secondo le proprie esigenze. Gestione ventole di aerazione Interventi possibili:

- Impostazione in automatico - Impostazione in manuale

|__ Regolazione velocità 1 |__ Regolazione velocità 2

L’attivazione delle ventole in modo automatico è un’azione strettamente legata alla quantità di umidità presente nel microclima del sistema. In questa modalità esse sono comandate insieme e tutte e due assumono lo stesso valore di velocità nello stesso istante. Se l’umidità è presente in una certa quantità si attivano, lentamente o velocemente, in base alla tensione che le ventole ricevono.

10

E’ anche possibile attivare le ventole in modo manuale selezionando “Personalizza” e quindi scegliere la velocità desiderata.

Gestione innaffiamento Interventi possibili:

- Impostazione in automatico - Impostazione in manuale

|_ Innaffiamento immediato |_ Innaffiamento periodico

L’attivazione della pompa per l’innaffiamento in modo automatico è un’azione strettamente legata alla quantità di umidità e alla temperatura presente nella serra. Se esse variano in una soglia prestabilita, il software attiva l’uscita digitale in modo tale da abilitare la pompa per l’irrigazione.

Selezionando la modalità “Personalizza” si potranno fare due scelte:

- Innaffiare immediatamente - Innaffiare periodicamente

Attenzione! Nel caso in cui non si deselezionerà la voce, la pompa continuerà a irrigare fino a quando non si interromperà il timer di 5 secondi.

11

Gestione apertura/chiusura tende Interventi possibili:

- Impostazione in automatico - Impostazione in manuale

|_ Apertura telo |_ Spegnimento motore

|_ Chiusura telo L’attivazione del motore per la copertura/scopertura in modo automatico del sistema, è un’azione strettamente legata alla quantità di luce/sole presente sopra il vaso della pianta. Se essa scende sotto una soglia prestabilita, il software alza un’uscita digitale che abilita il motore per sollevare la tenda; se sale sopra la soglia prestabilita, quindi c’è molto sole, il software attiva l’uscita digitale e il motore passo-passo si attiva nella modalità di chiusura tenda. E’ altresì possibile gestire il movimento delle tende in modo manuale.

Gestione Sms Il riquadro sotto riportato è il quadro generale per quanto riguarda la ricezione degli Sms dell’utente.

12

Ad ogni messaggio ricevuto, i diversi campi verranno riempiti e la richiesta verrà soddisfatta con un algoritmo in base alla richiesta. Eseguito l’ordine impartito dall’utente, verrà inviato un SMS di conferma. Esiste inoltre l’opzione “Log SMS” che permette di visualizzare tutti gli SMS trasmessi tra utente e server.

Quadro generale Quest’area è destinata alla visualizzazione dei dati raccolti dai veri sensori all’interno della serra.

13

Modem GSM

Sistema di connessione GSM Per sviluppare la funzionalità di invio e ricezione sms dalla serra domotica, è stato introdotto l’utilizzo di un comune modem GSM, funzionalità normalmente presente in tutte le Internet Key Usb presenti oggi sul mercato, con tecnologia HSUPA 7.2 Mbps e supporto Sms. Per testarne il funzionamento è stata utilizzata una Usb Internet Key Huawei e180, marchiata H3G ma con sim Vodafone. La scelta di utilizzare una sim Vodafone è strettamente legata al fatto che attivando la promozione Infinity Messaggi al costo di 6 Euro mensili è possibile inviare 100 sms gratuiti al giorno. Qui di seguito è riportato il modello della Internet Key utilizzata per effettuare i test di invio e ricezione:

Caratteristiche:

• HSDPA/HSUPA/UMTS/GSM (900/2100 MHz)

• Velocità massima di download: HSDPA 7.2 Mbps

• Velocità massima di upload: HSUPA 2 Mbps1 (HSUPA 5.76 Mbps Ready)

• Supporto memoria esterna MicroSD fino a 4 GB

• Supporto SMS

• Compatibile con Windows 7, Vista,XP, 2000 e Mac OS 10.4x e 10.5x (Intel)

Collegamenti Come prima operazione da effettuare bisogna installare i driver della Internet Key che si vuole utilizzare sul computer che ospiterà il software server della serra domotica. Una volta installati i driver e inserita la sim nell’apposito vano, basterà collegare l’Internet Key alla porta Usb e avviare il software server, gestore della serra. A questo punto per attivare la funzionalità sms sarà necessario comunicare al software su quale porta COM troverà il modem GSM.

14

Per conoscere il numero di porta COM (attribuito casualmente ad ogni connessione usb), bisogna recarsi in gestione periferiche, dal pannello di controllo del sistema operativo in uso, all’interno della sezione Sistema (Esempio in figura seguente).

Una volta comunicata la porta COM al software, è possibile avviare il modem GSM pronto a ricevere e inviare sms in base alle operazioni che vengono effettuate dal gestore automatico della serra.

15

Comandi AT

Oggetti MSCOMM Per gestire dal nostro software il collegamento tra il computer e il telefono attraverso la porta seriale è necessario utilizzare l’oggetto di Visual Basic MSComm. Questo controllo fornisce all'applicazione funzioni per le comunicazioni seriali, consentendo la trasmissione e la ricezione di dati tramite una porta seriale, con una programmazione ad eventi. La gestione delle comunicazioni tramite eventi è molto efficace, ad esempio per ricevere un segnale nel momento in cui viene generato un determinato evento, quale l'arrivo di un carattere o una modifica sulle linee. Nella nostra applicazione di fondamentale importanza è la gestione dell’evento Receive, il quale permette all’arrivo di un carattere di scatenare una routine per gestirne la memorizzazione in un buffer e di poterlo successivamente interpretare. Le proprietà Output e Input dell’oggetto sono importanti, in quanto la prima permette di inviare un comando al cellulare e la seconda invece di ricevere un comando o una risposta dal cellulare, interpretato immediatamente grazie all’evento sopra citato.

Comandi AT

I comandi che permettono la comunicazione tra i due dispositivi si chiamano comandi AT. Ogni casa produttrice ha il suo set specifico di comandi, ma in generale la sintassi di questi comandi è molto simile. Il set di comandi AT è vastissimo in quanto sono utilizzati per realizzare la maggioranza delle operazioni possibili con un cellulare ( chiamate, sms, mms, rubrica…), noi ci limitiamo a riportare i due utilizzati dal software.Per gestire la lettura dei messaggi dalla SIM si usa il comando:

AT+CMGL= ‘parametro‘

Parametro:

0 – lettura ultimo messaggio ricevuto,

1 – lettura tutti i messaggi ricevuti,

2 – lettura tutti i messaggi salvati ma non inviati,

3 – lettura tutti i messaggi salvati e inviati,

4 – lettura tutti i messaggi presenti sulla SIM

Invece per gestire l’invio dei messaggi dal telefono si usa il comando:

AT+CMSS= ‘parametro’ ‘numero’

Il parametro indica la posizione del messaggio salvato sulla SIM e il numero è il numero di cellulare del destinatario.

16

Gestione SMS

Introduzione L'enorme diffusione del telefono cellulare GSM ha cambiato il modo di operare delle persone, facendo scoprire a milioni di utenti la potenza, la flessibilità, la comodità di un sistema di comunicazione/informazione asincrono e veloce quale quello degli SMS. Vediamo di dare una definizione teorica di SMS, così come specificato dall'ETSI European Telecommunications Standards Institute (www.etsi.org) nei documenti GSM 03.40 e GSM 03.38. Un SMS, Short Message Service, può essere lungo al massimo 160caratteri; ogni carattere è codificato con 7 bit e fa parte di un set ristretto di 127 caratteri detto alfabeto di default a 7 bit. I messaggi ad 8 bit (per un massimo di 140 caratteri) generalmente non sono visualizzabili dai telefoni come messaggi di testo, ma sono usati per la trasmissione di dati quali immagini o suonerie. I messaggi a 16 bit (per un massimo di 70 caratteri) sono invece utilizzati per la trasmissione di messaggi di testo in formato Unicode (UCS2).

Codifica PDU Esistono principalmente due formati per ricevere ed inviare messaggi SMS: il formato testo (non disponibile su alcuni telefoni) ed il formato PDU. Per la nostra applicazione abbiamo utilizzato la modalità PDU, per evitare di avere un software limitato ad un set di telefoni, rendendo più flessibile il progetto. La stringa PDU di un SMS ricevuto contiene non soltanto il testo del messaggio vero e proprio, ma anche un insieme di meta-informazioni riguardo il mittente, il centro servizi SMS, il time-stamp d'invio, i protocolli utilizzati, ecc… . Tutte questi parametri sono in forma di ottetti esadecimali o semi-ottetti decimali. Un ottetto esadecimale è la rappresentazione, sotto forma di stringa esadecimale, del valore di un byte, ottenuto invertendo l'ordine dei nibble o più semplicemente l'ordine delle due cifre esadecimali. Ad esempio il valore decimale 207 (esadecimale CF) è rappresentato dalla stringa FC. I semi ottetti decimali rappresentano un numero in formato decimale ottenuto invertendo a due a due l'ordine d’apparizione delle cifre. Ad esempio, il numero del centro servizi 39 34 92 00 02 00 è codificato in semi-ottetti decimali come 93 43 29 00 20 00. Se il numero di cifre non è pari viene aggiunta una F in coda al numero prima dell'inversione. Ad esempio se vogliamo inviare un SMS con scritto “ciao” la stringa PDU ricevuta dal destinatario è la seguente: 0791934329006060040C9193434774422600002050922242300804C374F80D.

17

Formato messaggio codifica Ogni cifra ha un preciso significato, spiegato nella seguente tabella. Ottetti Descrizione

07 la lunghezza del numero del centro servizi (SMSC) espressa in numero di ottetti

91 tipo del numero del centro servizi SMSC (91 indica il formato internazionale dei numeri di telefono)

93 43 29 00 60 60 il numero del centro servizi (espresso in semi ottetti decimali)

04 il primo ottetto del messaggio SMS-DELIVER

0C lunghezza del numero del mittente espressa in numero di caratteri

91 tipo del numero del mittente

93 43 47 74 42 26 il numero del mittente (espresso in semi ottetti decimali)

00 TP-PID

00 TP-DCS

20 50 92 22 42 30 08 TP-SCTS Time Stamp

04 TP-UDL Lunghezza del messaggio

C3 64 F0 09 Il messaggio ciao codificato

Per interpretare correttamente il tipo di numero del centro servizi e il tipo del numero del mittente è necessario fare riferimento a tabelle standard che riportano tutti i tipi di numeri. Solitamente il valore più comune è 91 hex, che corrisponde a un numero internazionale, si usa questa configurazione perché è la più versatile, infatti funziona correttamente nel caso in cui il messaggio sia destinato ad un telefono che si trova nella stessa nazione, sia che si trovi all’estero. Per decodificare il tipo di numero del centro messaggi e del mittente, bisogna convertire il valore esadecimale in binario e codificare i bit secondo la seguente tabella. Num bit 7 6 5 4 3 2 1 0

Name Sempre settato a 1 Tipo di Numero Identificazione piano Numerico

I tre bit che identificano il tipo di numero vengono codificati come di seguito:

Bit 6 5 4

Significato dei bit che identificano il tipo di numero

0 0 0 Sconosciuto. E’ usato quando l'utente o la rete non ha informazioni a priori sul piano numerico.

0 0 1 Numero internazionale.

0 1 0 Numero nazionale. Le cifre del prefisso non saranno incluse.

0 1 1 Numero specifico della rete.

1 0 0 Numero dell'abbonato.

1 0 1 Alfanumerico, (codificato secondo gli standard di GSM 03.38 alfabeto 7-bit)

1 1 0 Numero abbreviato

1 1 1 Riservato all'estensione

18

I quattro bit che identificano il tipo di piano numerico sono così codificati:

Bit 3 2 1 0

Significato dei bit che identificano il piano numerico

0 0 0 0 Sconosciuto.

0 0 0 1 ISDN/telefono (E.164/E.163).

0 0 1 1 Dati (X.121).

0 1 0 0 Telex

1 0 0 0 Nazionale

1 0 0 1 Riservato

1 0 1 0 ERMES (ETSI DE/PS 3 01-3)

1 1 1 1 Riservato all'estensione

Procedure analoghe vengono eseguite per la correttezza interpretazione di altri parametri e protocolli utilizzati. Per quanto riguarda l’interpretazione del testo vero e proprio del messaggio, ad esempio “CIAO”-C364F009, si segue l’algoritmo generale illustrato di seguito. Come prima operazione si dovrà invertire a, coppie di due, il messaggio per farlo diventare così come segue: 09 F0 64 C3 Terminata questa operazione si dovranno convertire le varie coppie di caratteri da esadecimale a binario in questo modo : Si otterrà la stringa binaria “00001001111100000110010011000011”, che dovrà essere scomposta in gruppi di 7 bit partendo dal fondo, codificati in esadecimale per ottenere poi la corrispondenza con il format Alphabet. I bit che avanzano se minori di sette non vengono considerati.

Una volta implementata la decodifica del messaggio in formato PDU, la codifica risulta il procedimento inverso dell’algoritmo scritto sopra. Avremo quindi il messaggio in formato testo che dovremo codificare carattere per carattere in alphabet, in seguito a gruppi di 7 bit ottenere la stringa binaria ed infine non resta che codificarla a gruppi di 8 bit in esadecimale. Vista la notevole complessità dell’algoritmo di decodifica/codifica PDU abbiamo realizzato un set di funzioni atte alla conversione PDU-Alphabet e Alphabet-PDU.

HEX BIN

09 00001001

F0 11110000

64 01100100

C3 11000011

BIN HEX ALP

1000011 43 C

1001001 49 I

1000001 41 A

1001111 4F 0

19

Procedura Scopo

BinToInt (Public) Conversione da binario a intero

FillAlphabet (Public) Riempie la matrice dell'alfabeto a 7 bit

GetMetaInfoFromPDU (Public) Codifica da pdu a sms

GetPDU (Public) Codifica da sms a pdu

HexToNum (Public) Conversione da esadecimale a intero

IntToBin (Public) Conversione da intero a binario

IntToHex (Public) Conversione intero a esadecimale

MessageFromPDU (Public) Estrae il messaggio dal PDU

PadC8 (Public) Formatta l'output

SemiOctetsSwap (Public) Scambia di posto i caratteri di un esadecimale

SevenBitChar (Public) Ottiene un carattere dell'alfabeto 7 bit

SevenBitCode (Public) Ottiene un codice dell'alfabeto 7 bit

tpDCSMeaning (Public) Ottiene il significato del TP_DCS

Per facilitare l’interpretazione del messaggio all’interno del software abbiamo utilizzato la libreria ATSMS per Visual Basic .Net che mette a disposizione una serie di funzioni e oggetti per la gestione degli sms. Qui di seguito è riportato uno stralcio di algoritmo per la gestione dell’sms in ricezione: Private Sub oPhone_NewMessageReceived(ByVal e As ATSMS.NewMessageReceivedEventArgs) Handles oPhone.NewMessageReceived

''''RICEZIONE SMS''''''' destinatario = destinat.Text mittente = e.MSISDN comando = e.TextMessage mit.Text = mittente comand.Text = comando day.Text = Date.Now '''FINE RICEZIONE SMS'''' If (atris.Checked = True) Then ''''QUI LO SWITCH DI COMANDI DA SMS If (mittente = destinatario) Then oPhone.Encoding = EnumEncoding.GSM_Default_7Bit risposta = "RISPOSTA" Dim msgId As String = oPhone.SendSMS(destinatario, risposta) risp.Text = risposta dayd.Text = Date.Now '''FINE SWITCH DI COMANDI DA SMS Else risposta = "SERRA DOMOTICA: Numero non associato al server" risp.Text = risposta Dim msgId As String = oPhone.SendSMS(mittente, risposta) dayd.Text = Date.Now End If End If End Sub

20

Componenti Hardware

Spiegazione circuiti Il controllo elettronico è attuato attraverso l’utilizzo di una scheda (A) la quale, mediante connessione USB, realizza l’interfaccia tra il software residente sul PC e gli apparati presenti nella serra. Questi ultimi sono gestiti da una seconda scheda elettronica (Vedi schemi laterali) con la quale è possibile mantenere sotto controllo i parametri ambientali (temperatura, umidità e luminosità) il cui equilibrio, indispensabile per la vita delle piante che vi verranno alloggiate, è garantito dall’attivazione di tutti quei dispositivi (ventole, sportelli di areazione, riscaldatore, tende oscuranti, pompa per irrigazione e lampada idroponica) di cui la serra è stata dotata.

Sensore luminosità Il controllo della luminosità viene gestito, invece, senza passare attraverso la scheda (A). Si utilizza un semplice comparatore con isteresi con gli operazionali disponibili dell’IC LM324 che pilota direttamente il relè di comando della lampada idroponica. Con tale circuito, attraverso la taratura dei trimmer presenti, è possibile stabilire le condizioni di intervento per garantire la corretta illuminazione. La condizione di buio, altrettanto indispensabile, sarà ottenuta disattivando la lampada attraverso un secondo relè collegato all’uscita digitale N°5 della scheda (A). Sensori umidità Al secondo ingresso analogico viene, invece, inviata la tensione proveniente dal circuito di rilevamento dell’umidità. Quest’ultimo è costituito da un astabile realizzato con l’integrato LM555 che rende in uscita un segnale di frequenza proporzionale al valore di capacità assunto dal sensore di umidità nelle diverse condizioni. La frequenza di tale segnale sarà convertita in una tensione variabile (sempre nel range 0-5V) dall’integrato 4151. In definitiva si otterrà, anche in questo caso, un valore di tensione proporzionale alla umidità ambientale.

21

Sensore temperatura In particolare, come si può desumere dallo schema elettrico allegato, la temperatura viene rilevata attraverso l’utilizzo di un sensore LM35 collegato ad un circuito amplificatore. L’operazionale LM324 collegato in configurazione non invertente riesce a restituire in uscita un valore di tensione pari ad un decimo della temperatura ambientale. Tale tensione viene inviata al primo dei due ingressi analogici presenti sulla scheda (A).

Areazione e luminosità Alle uscite digitali N°3 e N°4 sono collegati i due relè che gestiscono le ventole, di cui il primo comanda l’attivazione, mentre il secondo, con il collegamento a due tensioni diverse (5V e 12V), decide se farle funzionare a pieno regime o a regime ridotto. Il riscaldatore e la pompa per l’irrigazione sono comandati da ulteriori relè facenti capo alle uscite digitali N°1 e N°2. L’apertura degli sportelli di areazione è stata realizzata mediante l’utilizzo di servomotori che, seppure apparentemente collegati alla scheda (Vedi schemi laterali), sono di fatto pilotati direttamente dalle uscite PWM presenti sulla scheda (A). Con tali uscite si riesce a gestire, infatti, in modo adeguato sia la velocità sia il verso di rotazione, garantendo l’apertura e la chiusura degli sportelli quando se ne ravvisa l’esigenza. Una coppia di motori passo-passo viene utilizzata, infine, per comandare con estrema precisione il movimento delle tende oscuranti e, di conseguenza, dosare in modo preciso il grado di luminosità desiderato. Per la gestione di tali motori abbiamo realizzato altre due schede (B), che utilizzano gli IC L297 e L298 e ricevono in ingresso i comandi del clock e della direzione dalle uscite digitali N° 6, 7 e 8 della scheda (A).

A

B

22

Realizzazione ambiente

Spiegazione e foto

La realizzazione dell’ambiente ha richiesto non poco tempo, molto impegno ma soprattutto tanta ingegnosità. Per prima cosa ci siamo recati presso un centro Bricolage per acquistare tutto il materiale necessario.

La nostra lista comprendeva:

3 assi di legno (abete), misure 50x70x1cm 4 listelli di legno, forma di parallelepipedo rettangolo 2 listelli di legno, forma di cilindro 1 Pannello di plexiglass, spessore 2mm 1 Pannello di plexiglass, spessore 4mm Serbatoio di plastica Pompa dell’acqua Vaporizzatore per acqua Pistoncino per sollevamento porta principale 2 motorini passo-passo 2 servomotori Prato sintetico Tendaggio 1 alimentatore corrente Lampada idroponica a led rossi e blu Termoventilatore ceramico Utensileria varia (viti, chiodi, cerniere, vernice impregnante ecc)

In seguito ci siamo messi al lavoro partendo dal taglio de legno fino ad arrivare al trattamento dei particolari quali l’erba sintetica o il posizionamento della lampada. Di seguito alcune foto scattate durante la realizzazione.

23

Taglio del legno

24

Cablaggio e montaggio schede

Ultimazione

25

Conclusioni

Giudizio critico A lavoro concluso possiamo dire che globalmente il progetto è stato realizzato ma manca un collaudo generale finale che svolgeremo nei prossimi giorni. Sotto l’aspetto del software precisiamo che l’applicazione è stata progettata per essere eseguita in ambienti Windows quindi, nel caso di utilizzo di sistemi operativi diversi da quello citato prima, il programma non funzionerebbe. A livello di materiale è necessario sottolineare che il nostro è nato come un progetto, non come una serra atta a durare nel tempo. Per cui è stata progettata con lo scopo di una simulazione, motivo per il quale alcuni particolari strutturali sono stati tralasciati; per esempio sarebbe stato meglio effettuare la struttura esterna con materiale resistente agli agenti atmosferici piuttosto che inserire del materiale isolante per prevenire infiltrazioni d’acqua all’interno; anche il serbatoio dell’acqua dovrebbe essere più capiente perché dovrebbe consentire una sufficiente autonomia. La capienza della serra è di al massimo una pianta di media grandezza, il tutto poteva essere costruito con misure maggiori. Concludendo ci riteniamo molto soddisfatti di quanto prodotto e le critiche effettuate prima sono soltanto delle precisazioni perché già così, siamo sicuri che il nostro progetto attiri l’attenzione di una quantità di “curiosi” non indifferente.

Sviluppi futuri e possibili miglioramenti Uno dei possibili sviluppi futuri sarebbe quello di utilizzare le foto scattate dalla webcam interna per l’invio di MMS associati agli SMS. In questo modo l’utente, oltre ad avere un resoconto testuale (sms), avrebbe anche un’immagine (mms) che mostrerebbe la situazione effettiva della pianta. È in fase di sviluppo la progettazione di un’applicazione per IPHONE/IPOD TOUCH dalla quale sarà possibile selezionare i profili: Setup Umido, Setup Secco, Setup Mite. Infine, si può ipotizzare un utilizzo del nostro sistema in una stanza più voluminosa, in modo tale da poter controllare nello stesso momento più piante, con costi minori e più garanzie, fino a pensare ad una realizzazione di un vivaio reale domotizzato. In questo caso bisognerebbe studiarne la fattibilità e i costi.

Ringraziamenti Il tutto è nato da una semplice curiosità nel creare qualcosa di innovativo, che potesse attirare l’attenzione non solo del singolo osservatore, ma anche di aziende di settori in ambito economico-commerciale, che fossero interessate a questa nostra iniziativa. L’idea che il nostro progetto potesse costituire un oggetto di sviluppo per aziende o industrie e l’adesione al concorso UNIVA, associazione che ha lo scopo di favorire il progresso e lo sviluppo delle imprese e del sistema economico della provincia di Varese, sono stati fattori di grande importanza, perché il tutto andasse a buon fine. Per questo motivo ringraziamo la professoressa Bressan, che ha coordinato passo per passo il nostro progetto e ci ha aiutato con la sua collaborazione per il concorso UNIVA.

26

Per la parte strettamente tecnica/elettronica un grande contributo va al professor Scala, che ci ha assistito costantemente e aiutato nella realizzazione pratica, pertanto crediamo doveroso porgere i nostri più sinceri ringraziamenti.