Sommario:
- Passaggio 1: comandi SMS
- Passaggio 2: creazione del controller SMS
- Passaggio 3: Programmazione dell'ATMEGA328p
- Passaggio 4: utilizzo del controller SMS
- Passaggio 5: applicazione Android
Video: Automazione domestica basata su SMS Android e Arduino: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
! ! ! 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
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
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
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
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
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:
Come realizzare l'automazione domestica basata su IoT con il relè di controllo dei sensori NodeMCU: 14 passaggi (con immagini)
Come realizzare l'automazione domestica basata sull'IoT con il relè di controllo dei sensori NodeMCU: in questo progetto basato sull'IoT, ho realizzato l'automazione domestica con Blynk e il modulo relè di controllo NodeMCU con feedback in tempo reale. Nella modalità manuale, questo modulo relè può essere controllato da cellulare o smartphone e, interruttore manuale. In modalità automatica, questo smart
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: ho realizzato questo localizzatore GPS l'anno scorso e dato che funziona bene lo pubblico ora su Instructable. È collegato alla presa degli accessori nel mio bagagliaio. Il localizzatore GPS carica la posizione dell'auto, la velocità, la direzione e la temperatura misurata tramite un dato mobile
Automazione domestica basata su IOT: 4 passaggi
Automazione domestica basata su IOT: come funziona: realizzo un circuito stampato personalizzato per controllare 4 relè tramite esp8266 NodeMcu Questo circuito funziona con alimentazione DC 12 volt 1 amp. quando si accende nodemcu si connette al router tramite WiFi & connettiti anche con il server BlynkIl tuo smartphone invia una virgola
L'automazione domestica più semplice utilizzando Bluetooth, smartphone Android e Arduino.: 8 passaggi (con immagini)
L'automazione domestica più semplice utilizzando Bluetooth, smartphone Android e Arduino.: Ciao a tutti, questo progetto riguarda la creazione del dispositivo di automazione domestica più semplificato utilizzando un arduino e un modulo bluetooth. Questo è molto facile da costruire e può essere costruito in poche ore. Nella mia versione che sto spiegando proprio qui, posso
Automazione domestica semplice utilizzando Raspberry Pi3 e Android Things: 5 passaggi (con immagini)
Automazione domestica semplice utilizzando Raspberry Pi3 e Android Things: l'idea è progettare una “casa intelligente” in cui è possibile controllare i dispositivi domestici utilizzando Android Things e Raspberry Pi. Il progetto consiste nel controllo di elettrodomestici come luce, ventola, motore ecc. Materiali richiesti: Raspberry Pi 3HDMI Ca