Sommario:

Automazione domestica basata su SMS Android e Arduino: 5 passaggi (con immagini)
Automazione domestica basata su SMS Android e Arduino: 5 passaggi (con immagini)

Video: Automazione domestica basata su SMS Android e Arduino: 5 passaggi (con immagini)

Video: Automazione domestica basata su SMS Android e Arduino: 5 passaggi (con immagini)
Video: Android SMS App Based Device Switching using Arduino 2024, Dicembre
Anonim
Automazione domestica basata su SMS Android e Arduino
Automazione domestica basata su SMS Android e Arduino
Automazione domestica basata su SMS Android e Arduino
Automazione domestica basata su SMS Android e Arduino

! ! ! AVVISO ! ! !

A causa dell'aggiornamento della torre del cellulare locale nella mia zona, non sono più in grado di utilizzare questo modulo GSM. La torre più recente non supporta più i dispositivi 2G. Pertanto, non posso più fornire alcun supporto per questo progetto

Recentemente, ho ricevuto un modulo GSM/GPRS Quad Band relativamente economico con cui giocare. È un modulo SIM800L e comunica con qualsiasi micro tramite una porta seriale. È arrivato completo di antenna per montaggio a pannello.

Ho deciso di costruire un semplice sistema SMS Controller che utilizza i comandi del servizio di messaggi brevi (SMS) per controllare i dispositivi e indicare gli allarmi.

Passaggio 1: comandi SMS

Comandi SMS
Comandi SMS

Come con qualsiasi sistema di comunicazione, è necessario inviare comandi specifici a un dispositivo remoto per dirgli cosa fare. Allo stesso modo, il dispositivo remoto deve rispondere o reagire a questi comandi. Questo progetto si compone di due parti, l'SMS Controller e un telefono cellulare standard.

L'idea era quella di creare un semplice SMS Controller con quattro uscite digitali. A seconda dell'SMS ricevuto, l'unità deve essere in grado di controllare le singole uscite.

Ho anche deciso di includere quattro ingressi digitali. Può essere utilizzato per indicare allarmi o altre informazioni.

Prima di iniziare la build, ho deciso di creare comandi specifici per funzioni specifiche. Questi 'comandi' verranno inviati tramite SMS da un telefono cellulare.

Comandi di ricezione del controller SMS:

o1:1 - attiva l'uscita 1

o1:0 - disattiva l'uscita 1

o1:p - uscita a impulsi 1 accesa, poi spenta

o2:1 - attiva l'uscita 2

o2:0 - disattiva l'uscita 2

o2:p - uscita impulsi 2 accesa, poi spenta

o3:1 - attiva l'uscita 3

o3:0 - disattiva l'uscita 3

o3:p - uscita impulsi 3 accesa, poi spenta

o4:1 - attiva l'uscita 4

o4:0 - disattiva l'uscita 4

o4:p - uscita impulsiva 4 accesa, poi spenta

???? - Richiedere lo stato degli Ingressi e delle Uscite

#### - Ripristina il sistema

Per il feedback, l'SMS Controller dovrebbe rispondere ai comandi ricevuti e rispondere con un SMS. Ho deciso che questo SMS di risposta dovrebbe includere lo stato di tutti i pin di I/O.

Comandi di risposta del controller SMS:

i1:x i2:x i3:x i4:x o1:x o2:x o3:x o4:x

dove x è lo stato I/O, 1 per On, 0 per Off.

Passaggio 2: creazione del controller SMS

Costruire il controller SMS
Costruire il controller SMS
Costruire il controller SMS
Costruire il controller SMS
Costruire il controller SMS
Costruire il controller SMS

Equipaggiamento richiesto:

Qualsiasi Arduino o ATMEGA328p autonomo su una breadboard

SIM800L Modulo GSM/GPRS con una scheda SIM in grado di inviare e ricevere SMS

Convertitore DC/DC step down

NOTA !

Il convertitore DC/DC è necessario per alimentare il modulo SIM800L. Questo modulo funziona tra 3,7 V e 5 V, a seconda della versione che hai. Questo modulo richiede anche un alimentatore in grado di fornire fino a 2A quando il modulo trasmette i dati. Non può essere alimentato direttamente da Arduino Uno!

Il circuito è abbastanza semplice. L'ho montato e testato su breadboard.

L'alimentazione al circuito avviene tramite il convertitore DC/DC, con la tensione di uscita impostata su 4.5V. Sono presenti quattro LED per simulare le uscite digitali e quattro pulsanti per gli ingressi digitali. Il SIM800L è collegato ai pin Rx/Tx dell'ATMEGA328p.

Un 5° LED viene utilizzato per indicare quando il sistema è impegnato nell'invio di un SMS.

Passaggio 3: Programmazione dell'ATMEGA328p

Programmazione dell'ATMEGA328p
Programmazione dell'ATMEGA328p
Programmazione dell'ATMEGA328p
Programmazione dell'ATMEGA328p

Prima di programmare, aprire il file INO e modificare il numero di telefono. Sostituisci xxxxxxxxxx con il tuo numero di cellulare nella riga 46. Ricompila e carica il file.

Inoltre, leggere le istruzioni su come configurare la porta seriale del software nel file INO.

//=============================================================================//

//! ! ! NOTA ! ! !

// ================

//

// BUFFER IN BIBLIOTECA SERIALE SOFTWARE DA CAMBIARE A 200

//

// Per utilizzare Software Serial, l'utente deve anche modificare Software Serial BUFFER su 200.

// Questo deve essere modificato nel seguente file:

//

// C:/Programmi/Arduino x.x.x/Hardware/Arduino/AVR/Libraries/SoftwareSerial/src/SoftWareSerial.h

//

// Modifica il buffer come di seguito:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Dimensione del buffer RX

// #finisci se

//

//=============================================================================

Fare riferimento a questa istruzione per programmare ATMEGA328p sulla breadboard utilizzando un Arduino UNO.

www.instructables.com/id/Arduino-UNO-as-AtM…

Passaggio 4: utilizzo del controller SMS

Utilizzo dell'SMS Controller
Utilizzo dell'SMS Controller

Utilizzo dell'SMS Controller

L'SMS Controller invierà automaticamente un SMS al tuo telefono se uno dei quattro ingressi viene attivato. I dettagli del trigger saranno contenuti nel testo dell'SMS.

I messaggi SMS e i comandi possono essere modificati secondo le tue esigenze nel file INO.

Test delle uscite del controller SMS

Dal tuo telefono cellulare, invia i seguenti comandi al numero della tua SIM800L:

o1:1, questo attiverà l'uscita 1.

Sul tuo telefono riceverai il seguente SMS:

i1:0 i2:0 i3:0 i4:0 o1:1 o2:0 03:0 o4:0

01:0, questo disattiverà l'uscita 1.

Sul tuo telefono riceverai il seguente SMS:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

01:p, questo attiverà l'uscita 1 per 1 secondo, quindi disattiverà nuovamente l'uscita 1 (a impulsi).

Sul tuo telefono riceverai il seguente SMS:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Test degli ingressi del controller SMS

Su SMS Controller premere brevemente il tasto 1

Sul tuo telefono, riceverai automaticamente il seguente SMS:

i1:1 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Su SMS Controller premere brevemente il tasto 2

Sul tuo telefono riceverai automaticamente il seguente SMS:

i1:1 i2:1 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Su SMS Controller premere brevemente il tasto 3

Sul tuo telefono riceverai automaticamente il seguente SMS:

i1:1 i2:1i3:1 i4:0 o1:0 o2:0 03:0 o4:0

Come si vede dagli SMS ricevuti, le uscite cambiano in base ai comandi ricevuti. Tuttavia, gli ingressi non tornano da 1 a 0 dopo che i pulsanti sono stati premuti. Poiché volevo essere in grado di vedere eventuali modifiche sugli ingressi, ho deciso di sigillare lo stato dell'ingresso fino a quando non viene inviato un comando di ripristino all'SMS Controller.

Ripristina allarmi

Per ripristinare lo stato degli ingressi inviare il seguente comando:

####, questo ripristinerà lo stato dell'ingresso.

Sul tuo telefono riceverai il seguente SMS:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Aggiornamenti di stato

Puoi anche richiedere lo stato in qualsiasi momento inviando il seguente comando:

????, questo richiederà un aggiornamento dello stato degli I/O.

Sul tuo telefono riceverai il seguente SMS:

i1:x i2:x i3:x i4:x o1:x o2:x 03:x o4:x

dove x indica lo stato, 1 per acceso, 0 per spento.

Passaggio 5: applicazione Android

Applicazione Android
Applicazione Android
Applicazione Android
Applicazione Android
Applicazione Android
Applicazione Android

Utilizzando MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), ho creato una semplice interfaccia utente per il mio telefono cellulare Android. Questa app consente di personalizzare la descrizione di ciascun I/O. Consente inoltre l'inserimento del numero di telefono.

I quattro pulsanti sono utilizzati per controllare le Uscite, mentre le caselle di controllo indicano lo stato degli ingressi.

Per modificare l'app, creare un account MIT App Inventor 2 e importare il file AIA.

Per installare l'app sul telefono, copia il file APK sul telefono e installalo. Dovrai abilitare l'installazione di app da "Origini sconosciute" nelle impostazioni di sicurezza del tuo telefono.

Consigliato: