Cuprins:

Android și Arduino Automatizare bazată pe SMS: 5 pași (cu imagini)
Android și Arduino Automatizare bazată pe SMS: 5 pași (cu imagini)

Video: Android și Arduino Automatizare bazată pe SMS: 5 pași (cu imagini)

Video: Android și Arduino Automatizare bazată pe SMS: 5 pași (cu imagini)
Video: Arduino, programare C++ pentru microntrolere, tensorflow și ce mai urmează 2024, Iulie
Anonim
Android și Arduino Home Automation bazate pe SMS
Android și Arduino Home Automation bazate pe SMS
Android și Arduino Home Automation bazate pe SMS
Android și Arduino Home Automation bazate pe SMS

! ! ! ÎNȘTIINȚARE ! ! !

Datorită modernizării turnului local de telefonie mobilă în zona mea, nu mai pot folosi acest modul GSM. Cel mai nou turn nu mai acceptă dispozitive 2G. Prin urmare, nu mai pot oferi niciun sprijin pentru acest proiect

Recent, am primit un modul GSM / GPRS Quad Band relativ ieftin cu care să mă joc. Este un modul SIM800L și comunică cu orice micro prin intermediul unui port serial. A venit complet cu o antenă de montare pe panou.

Am decis să construiesc un sistem simplu de control SMS care utilizează comenzi de serviciu de mesaje scurte (SMS) pentru a controla dispozitivele și a indica alarme.

Pasul 1: Comenzi SMS

Comenzi SMS
Comenzi SMS

Ca și în cazul oricărui sistem de comunicații, trebuie trimise comenzi specifice către un dispozitiv la distanță pentru a-i spune ce să facă. La fel, dispozitivul la distanță trebuie să răspundă sau să reacționeze la aceste comenzi. Acest proiect constă din două părți, controlerul SMS și un telefon celular standard.

Ideea a fost de a crea un controler SMS simplu cu patru ieșiri digitale. În funcție de mesajele SMS primite, unitatea trebuie să poată controla ieșirile individuale.

De asemenea, am decis să includ patru intrări digitale. Aceasta poate fi utilizată pentru a indica alarme sau alte informații.

Înainte de a începe construirea, am decis să creez comenzi specifice pentru funcții specifice. Aceste „comenzi” vor fi trimise folosind un SMS de pe un telefon mobil.

Comenzile de recepție ale controlerului SMS:

o1: 1 - activați ieșirea 1

o1: 0 - dezactivați ieșirea 1

o1: p - ieșire impuls 1 Pornit, apoi opriți

o2: 1 - porniți ieșirea 2

o2: 0 - dezactivați ieșirea 2

o2: p - ieșire impuls 2 Activată, apoi opriți

o3: 1 - pornește ieșirea 3

o3: 0 - dezactivați ieșirea 3

o3: p - ieșire impuls 3 Activată, apoi opriți

o4: 1 - pornește ieșirea 4

o4: 0 - dezactivați ieșirea 4

o4: p - ieșire impuls 4 Activată, apoi opriți

???? - Starea cererii de intrări și ieșiri

#### - Resetați sistemul

Pentru feedback, controlerul SMS ar trebui să răspundă la comenzile primite și să răspundă cu un SMS. Am decis ca acest SMS de răspuns să includă starea tuturor pinilor I / O.

Comenzi de răspuns ale controlerului SMS:

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

unde x este starea I / O, 1 pentru Activat, 0 pentru Dezactivat.

Pasul 2: Construirea controlerului SMS

Construirea controlerului SMS
Construirea controlerului SMS
Construirea controlerului SMS
Construirea controlerului SMS
Construirea controlerului SMS
Construirea controlerului SMS

Echipament necesar:

Orice Arduino sau ATMEGA328p autonom pe o placă de calcul

Modul GSM / GPRS SIM800L cu o cartelă SIM capabilă să trimită și să primească SMS-uri

Reduceți convertorul DC / DC

NOTĂ !

Convertorul DC / DC este necesar pentru alimentarea modulului SIM800L. Acest modul funcționează între 3,7 V și 5 V, în funcție de versiunea pe care o aveți. Acest modul necesită, de asemenea, o sursă de alimentare care poate livra până la 2A atunci când modulul transmite date. Nu poate fi alimentat direct de pe Arduino Uno !

Circuitul este destul de simplu. L-am asamblat și testat pe panou.

Puterea circuitului se face prin convertorul DC / DC, cu tensiunea de ieșire setată la 4,5V. Există patru LED-uri pentru a simula ieșirile digitale și patru butoane pentru intrările digitale. SIM800L este conectat la pinii Rx / Tx ai ATMEGA328p.

Un al 5-lea LED este folosit pentru a indica când sistemul este ocupat cu trimiterea unui SMS.

Pasul 3: Programarea ATMEGA328p

Programarea ATMEGA328p
Programarea ATMEGA328p
Programarea ATMEGA328p
Programarea ATMEGA328p

Înainte de programare, deschideți fișierul INO și editați numărul de telefon. Înlocuiți xxxxxxxxxx cu propriul număr de telefon celular din linia 46. Recompilați și încărcați fișierul.

De asemenea, citiți instrucțiunile despre cum să configurați portul serial al software-ului în fișierul INO.

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

//! ! ! NOTĂ ! ! !

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

//

// BUFFER ÎN BIBLIOTECA SERIALĂ DE SOFTWARE A SE MODIFICA LA 200

//

// Pentru a utiliza Software Serial, utilizatorul ar trebui să schimbe, de asemenea, Software Serial BUFFER la 200.

// Acest lucru trebuie editat în următorul fișier:

//

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

//

// Schimbați buffer-ul după cum urmează:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Dimensiunea bufferului RX

// #endif

//

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

Consultați această instrucțiune pentru a programa ATMEGA328p pe panou folosind un Arduino UNO.

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

Pasul 4: Utilizarea controlerului SMS

Utilizarea controlerului SMS
Utilizarea controlerului SMS

Utilizarea controlerului SMS

Controlerul SMS vă va trimite automat un SMS pe telefon dacă oricare dintre cele patru intrări este declanșată. Detaliile declanșatorului vor fi conținute în textul SMS.

Mesajele și comenzile SMS pot fi editate în funcție de nevoile dvs. în fișierul INO.

Testarea ieșirilor controlerului SMS

De pe telefonul dvs. mobil, trimiteți următoarele comenzi către numărul SIM800L al cartelei SIM:

o1: 1, aceasta va activa ieșirea 1.

Pe telefonul dvs., veți primi următoarele SMS-uri:

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

01: 0, aceasta va dezactiva ieșirea 1.

Pe telefonul dvs., veți primi următoarele SMS-uri:

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

01: p, aceasta va porni ieșirea 1 timp de 1 secundă, apoi va dezactiva ieșirea 1 din nou (pulsată).

Pe telefonul dvs., veți primi următoarele SMS-uri:

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

Testarea intrărilor controlerului SMS

Pe controlerul SMS, apăsați scurt butonul 1

Pe telefonul dvs., veți primi automat următoarele SMS-uri:

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

Pe controlerul SMS, apăsați scurt butonul 2

Pe telefonul dvs., veți primi automat următoarele SMS-uri:

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

Pe controlerul SMS, apăsați scurt butonul 3

Pe telefonul dvs., veți primi automat următoarele SMS-uri:

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

După cum se poate vedea pe SMS-ul primit, ieșirile se modifică în funcție de comenzile primite. Cu toate acestea, intrările nu se schimbă înapoi de la 1 la 0 după apăsarea butoanelor. Deoarece am vrut să pot vedea orice modificări la intrări, am decis să sigilez în starea de intrare până când o comandă de resetare este trimisă către controlerul SMS.

Resetați alarmele

Pentru a reseta starea de intrare, trimiteți următoarea comandă:

####, aceasta va reseta starea de intrare.

Pe telefonul dvs., veți primi următoarele SMS-uri:

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

Actualizări de stare

De asemenea, puteți solicita starea în orice moment, trimițând următoarea comandă:

????, aceasta va solicita o actualizare a stării I / O.

Pe telefonul dvs., veți primi următoarele SMS-uri:

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

unde x indică starea, 1 pentru activat, 0 pentru dezactivat.

Pasul 5: Aplicație Android

Aplicație Android
Aplicație Android
Aplicație Android
Aplicație Android
Aplicație Android
Aplicație Android

Folosind MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), am creat o interfață simplă pentru telefonul meu Android. Această aplicație vă permite să personalizați descrierea fiecărei I / O. De asemenea, permite introducerea numărului de telefon.

Cele patru butoane sunt utilizate pentru a controla ieșirile, în timp ce casetele de selectare indică starea de intrare.

Pentru a edita aplicația, creați un cont MIT App Inventor 2 și importați fișierul AIA.

Pentru a instala aplicația pe telefon, copiați fișierul APK pe telefon și instalați-l. Va trebui să activați instalarea aplicațiilor din „Surse necunoscute” în setările de securitate ale telefonului.

Recomandat: