Allarme sensori di movimento, controllo gsm, sviluppo wireless, gruppo di lavoro

Ciao a tutti ho appena finito la release 0.2 del progetto allarme basato su arduino con 3 sensori di movimento e telecontrollo via gsm, in particolare:
hardware
arduino mega (sia perché ne avevo uno, sia per usare la seriale “fisica” invece di una virtuale, per parlare con il modem gsm)
modulo gsm - http://www.open-electronics.org/arduino-gsm-shield/
sensore di movimento - emmeshop.it
buzzer - emmeshop.it
display - emmeshop.it

funzionalità
il sistema si comanda completamente tramite toni dtmf (allarme spento, acceso, richiesta di invio sms per evidenziare lo stato e lo storico), ad allarme acceso e rilevato un movimento l'apparato chiama i ciclicamente i 5 numeri registrati e inizia a suonare, una volta ricevuta la chiamata tramite i toni dtmf è possibile spegnere l'allarme o reinizializzarlo

i numeri vengono gestiti tramite sms (autentica tramite un codice master, e inserisci e togli uno dei 5 numeri)

vorrei se qualcuno è interessato creare un gruppo per migliorare il progetto e renderlo stabile al 100%, ho poco tempo libero e il mio hardware è abbastanza costoso, questo perché sono anche non ferratissimo in elettronica, quindi pur sapendo che un arduino fatto in casa costa molto meno, non è per questo che vorrei condividere il progetto ovviamente dritte sui sensori, lcd, buzzer, e quant'altro sono ben accette, .. come limite ho quello che realizzare in casa un pcb non mi è semplicissimo...

Rimangono aperte ad oggi le seguenti questioni
lunghezza del cavo del sensore di movimento e magari se è meglio usare un filo incrociato del tipo per allarmi, e in questo caso come usare i 4 fili?
Metodo ottimale per individuare se ti hanno tagliato il filo del sensore
e se va via la corrente? Utilizzare un ups tipo http://www.ebay.it/itm/UPS-500va-GRUPPO-DI-CONTINUITA-500VA-LINEA-INTERATTIVA-/130400739393?pt=UPS_Gruppi_di_continuità&hash=item1e5c7d6041 40 euro oppure esistono sistemi affidabili per risparmiare un po' e continuare ad alimentare il tutto, il consumo non è banale la sola usb del mio computer non basta per alimentare il tutto...
Attivazione dell'allarme con una qualche chiave hardware o trucco, comunque non solo via gsm (esco di casa accendo l'allarme, cosi risparmio la telefonata)

il mio desiderio finale sarebbe quello di poter ascoltare anche dei sensori di movimento wireless tipo http://www.sicurezzapoint.com/ANTIFURTO-PROGESTY-KIT-E-SENSORI-SENSORE-INFRAROSSI-PIR-SENZA-FILI-WIRELESS-.1.1.5.gp.224.-1.uw.aspx se c'e' qualcuno esperto del mondo wireless che vuol partecipare... andrebbe inserito in questo caso anche un modulo anti jamming ma questo non è difficile....è la decodifica del sensore che mi sta facendo impazzire...

dato che è la prima volta che propongo questa cosa come si condivide un progetto, ovvero si fa sul forum o devo trovare qualcosa di alternativo? Se si avete dritte?

Allego la copia non troppo bella del mio codice, poi se ci vogliamo lavorare in più persone sarà mia cura ed onere inserire dei commenti per renderlo più esplicativo ma prima vorrei sapere se desto interesse oppure no.. attendo feedback

grazie del tempo che vi ho rubato nel leggere il post
Luigi

sketch_apr09G.zip (6.46 KB)

Hai pensato di utilizzare il telecontrollo GSM/GPRS tipo TiDiGino ?

in risposta due email sullo shield gsm con il 2560 rispondo molto di fretta (perdonatemi) con quello che ho fatto io... spero possa essere utilie

come richiesto vi dicome come ho fatto funzionare io lo shield gsm con il mio mega 2560

si usa la seriale fisica e non l'emulata, quindi spostare il selettore su hw poi connettere la seriale del gsm alla tx1 e rx1 (se ci sono i pin che escono fuori sotto e vanno sulla seriale0 del mega vanno o piegati o tagliati

poi uso la libreria del tdgino modificata (poche stupide modifiche) in particolare sono fondamentali quelli sul file gms.h

// pins definition
#define GSM_ON 8 // 22 // connect GSM Module turn ON to pin 77
#define GSM_RESET 9 // 23 // connect GSM Module RESET to pin 35

sono due segnalazioni che vanno fatto allo shield gsm per poter partire.. di conseguenza i pin 8 e 9 vanno connessi allo shield gsm,
altra cosa il consumo di corrente con la sola seriale usb non fornisco abbastanza amper allo shield mega (non so se pechè ci sono molti altri sensori) quindi bisogna anche mentre si sviluppa attaccarlo con un altra alimentazione, se non si fa non ci si accorge di nulla ma lo shield gsm non funziona...

dello shield gms ho tagliato tutti i pin tranne 8,9 da un lato
e rst, 3,5,gnd,gnd, vin dall'altro
come detto selettore hardware su hw e rx e tx a alla seriale 1 del mega

poi che altro....

nella funzione mydelay() del codice che ho postato credo che questi siano i comandi fondamentali per accendere il gms

Serial1.begin(115200);
digitalWrite(GSM_ON, HIGH);
digitalWrite(GSM_ON, LOW);
gsm.TurnOn(115200);
gsm.InitParam(PARAM_SET_1);

ho ripetuto due volte il comando digitalWrite(GSM_ON, HIGH); (dal debug a volte aiuta ad inizializzare lo shield più velocemente comunque comandi simili stanno già nella libreria)

ho scritto tutto un mese fa ora non ricordo nel dettaglio proprio tutto... sorry ma vi assicuro che funziona

poi che altro a si se vuoi attivare i tono dtmf dentro la setup dopo la mydelay ho inserito

gsm.SetCommLineStatus(CLS_ATCMD);
Serial1.println("AT+DDET=1");
Serial1.print("\r");
delay(100);
gsm.SetCommLineStatus(CLS_FREE);
char c1;
Serial.println("Start");
if (Serial1.available() > 0) {
while (Serial1.available()){
c1= Serial1.read();
Serial.print(c1);
}
}

la lettura della seriale deve darti ok...

buon lavoro...
Luigi

TiDiGino 2.zip (135 KB)

interessante il tdgino, come intercetto la sua seriale per metterci un arduino a valle?

TidiGino è un Arduino Mega2560 con modulo GSM, sensore di temperatura, relè, ingressi e slot per le shield arduino.
Non serve utilizzare un altro arduino (è già lui un derivato).
Inoltre la libreria è ovviamente simile a quella della GSM_Shield anche se quest'ultima è stata portata avanti anche con le funzioni GPRS.

Questi un po' di link utili:

http://code.google.com/p/tidigino/
http://code.google.com/p/gsm-shield-arduino/