Cuprins:
- Pasul 1: Comenzi SMS
- Pasul 2: Construirea controlerului SMS
- Pasul 3: Programarea ATMEGA328p
- Pasul 4: Utilizarea controlerului SMS
- Pasul 5: Aplicație Android
Video: Android și Arduino Automatizare bazată pe SMS: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
! ! ! Î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
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
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
Î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
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
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:
Automatizare vorbitoare -- Audio de la Arduino -- Automatizare controlată prin voce -- Modul Bluetooth HC - 05: 9 pași (cu imagini)
Automatizare vorbitoare || Audio de la Arduino || Automatizare controlată prin voce || HC - 05 Bluetooth Module: …………………………. Vă rugăm să vă ABONAȚI la canalul meu de YouTube pentru mai multe videoclipuri …. …. În acest videoclip am construit o Automatizare Vorbitoare .. Când veți trimite o comandă vocală prin mobil, aceasta va porni dispozitivele de acasă și va trimite feedback
GPS Car Tracker cu notificare SMS și încărcare de date Thingspeak, bazat pe Arduino, automatizare la domiciliu: 5 pași (cu imagini)
GPS Car Tracker cu notificare prin SMS și încărcare de date Thingspeak, bazat pe Arduino, automatizare la domiciliu: Am făcut acest tracker GPS anul trecut și, deoarece funcționează bine, îl public acum pe Instructable. Este conectat la mufa accesoriilor din portbagajul meu. Tracker-ul GPS încarcă poziția mașinii, viteza, direcția și temperatura măsurată printr-un telefon mobil
AUTOMATIZARE ACASĂ BAZATĂ PE SERVERUL MQTT LOCAL UTILIZAND RASPBERRY PI ȘI NODEMCU BOARD: 6 pași
AUTOMATIZARE PRINCIPALĂ BAZATĂ PE SERVERUL MQTT LOCAL UTILIZAND RASPBERRY PI ȘI NODEMCU BOARD: Până acum am realizat mai multe videoclipuri tutoriale privind controlul aparatelor pe internet. Și pentru asta am preferat întotdeauna serverul Adafruit MQTT, deoarece era ușor de utilizat și ușor de utilizat. Dar toate aceste lucruri se bazau pe internet. Asta înseamnă că noi
Automatizare industrială bazată pe Arduino -- VFD (Variable Frequency Drives): 10 pași
Automatizare industrială bazată pe Arduino || VFD (Variable Frequency Drives): În acest instructable, vă voi arăta cum să faceți1. Placă Arduino personalizată pentru automatizare industrială 2. Cum să controlați VFD [unități cu frecvență variabilă] folosind Arduino 3. Cum să proiectați placa de bază pentru mașina de înfășurare MDF DigiCone Ce lucruri aveți
Unitate de telecomandă GSM / SMS bazată pe Arduino: 16 pași (cu imagini)
Unitate de telecomandă GSM / SMS bazată pe Arduino:! ! ! Î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. Cu un astfel de wi