Turinys:
- 1 žingsnis: SMS komandos
- 2 veiksmas: sukurkite SMS valdiklį
- 3 žingsnis: ATMEGA328p programavimas
- 4 veiksmas: SMS valdiklio naudojimas
- 5 veiksmas: „Android“programa
Video: „Android“ir „Arduino“SMS namų automatizavimas: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
! ! ! PASTEBĖTI ! ! !
Kadangi mano rajone atnaujinamas vietinis mobiliųjų telefonų bokštas, nebegaliu naudotis šiuo GSM moduliu. Naujesnis bokštas nebepalaiko 2G įrenginių. Todėl šiam projektui nebegaliu teikti jokios paramos
Neseniai gavau palyginti pigų keturių juostų GSM/GPRS modulį žaisti. Tai SIM800L modulis ir palaiko ryšį su bet kuriuo mikro per nuoseklųjį prievadą. Jis buvo komplektuojamas su antena ant skydo.
Aš nusprendžiau sukurti paprastą SMS valdiklio sistemą, kuri naudoja trumpųjų žinučių tarnybos (SMS) komandas, kad valdytų įrenginius ir rodytų pavojaus signalus.
1 žingsnis: SMS komandos
Kaip ir bet kuri ryšio sistema, tam tikras komandas reikia siųsti į nuotolinį įrenginį, kad jis nurodytų, ką daryti. Panašiai nuotolinis įrenginys turi atsakyti arba reaguoti į šias komandas. Šis projektas susideda iš dviejų dalių, SMS valdiklio ir standartinio mobiliojo telefono.
Idėja buvo sukurti paprastą SMS valdiklį su keturiais skaitmeniniais išėjimais. Priklausomai nuo gautos SMS žinutės, įrenginys turi sugebėti valdyti atskirus išėjimus.
Aš taip pat nusprendžiau įtraukti keturis skaitmeninius įėjimus. Tai gali būti naudojama įspėjimams ar kitai informacijai nurodyti.
Prieš pradėdamas kurti, nusprendžiau sukurti konkrečias komandas konkrečioms funkcijoms. Šios „komandos“bus išsiųstos SMS žinute iš mobiliojo telefono.
SMS valdiklio priėmimo komandos:
o1: 1 - įjunkite 1 išvestį
o1: 0 - išjunkite 1 išvestį
o1: p - impulso išėjimas 1 Įjunkite, tada išjunkite
o2: 1 - įjunkite 2 išvestį
o2: 0 - išjunkite 2 išvestį
o2: p - impulso išvestis 2 Įjungta, tada išjunkite
o3: 1 - įjunkite 3 išvestį
o3: 0 - išjunkite 3 išvestį
o3: p - impulsų išvestis 3 Įjunkite, tada išjunkite
o4: 1 - įjunkite 4 išvestį
o4: 0 - išjunkite 4 išvestį
o4: p - impulso išvestis 4 Įjunkite, tada išjunkite
???? - Prašyti įvesties ir išvesties būsenos
#### - Iš naujo nustatyti sistemą
Norėdami gauti atsiliepimą, SMS valdiklis turėtų reaguoti į gautas komandas ir atsakyti SMS žinute. Nusprendžiau, kad šioje atsakymo SMS žinutėje turėtų būti visų įvesties/išvesties kontaktų būsena.
SMS valdiklio atsakymo komandos:
i1: x i2: x i3: x i4: x o1: x o2: x o3: x o4: x
kur x yra įvesties/išvesties būsena, 1 - įjungta, 0 - išjungta.
2 veiksmas: sukurkite SMS valdiklį
Reikalinga įranga:
Bet koks „Arduino“arba atskiras „ATMEGA328p“ant lentos
SIM800L GSM/GPRS modulis su SIM kortele, galinčia siųsti ir gauti SMS žinutes
Atsisakykite DC/DC keitiklio
PASTABA !
Norint maitinti SIM800L modulį, reikalingas DC/DC keitiklis. Šis modulis veikia nuo 3,7 V iki 5 V, priklausomai nuo jūsų turimos versijos. Šiam moduliui taip pat reikalingas maitinimo šaltinis, kuris gali perduoti iki 2A, kai modulis perduoda duomenis. Jis negali būti maitinamas tiesiai iš „Arduino Uno“!
Grandinė yra gana paprasta. Aš jį surinkau ir išbandžiau ant duonos lentos.
Grandinė maitinama per DC/DC keitiklį, o išėjimo įtampa nustatyta į 4,5 V. Yra keturi šviesos diodai, imituojantys skaitmeninius išėjimus, ir keturi skaitmeninių įėjimų mygtukai. SIM800L yra prijungtas prie ATMEGA328p Rx/Tx kaiščių.
Penktasis šviesos diodas naudojamas parodyti, kada sistema užimta siunčiant SMS.
3 žingsnis: ATMEGA328p programavimas
Prieš programuodami atidarykite INO failą ir redaguokite telefono numerį. Pakeiskite xxxxxxxxxx savo mobiliojo telefono numeriu 46 eilutėje. Iš naujo sukompiliuokite ir įkelkite failą.
Taip pat perskaitykite instrukcijas, kaip konfigūruoti programinės įrangos nuoseklųjį prievadą INO faile.
//=============================================================================//
//! ! ! PASTABA! ! !
// ================
//
// PUSLAPIS PROGRAMINĖS ĮRANGOS BIBLIOTEKOJE PAKEISTIS Į 200
//
// Norėdami naudoti programinės įrangos seriją, vartotojas taip pat turėtų pakeisti programinės įrangos serijos buferį į 200.
// Tai turi būti redaguota šiame faile:
//
// C:/Program Files/Arduino x.x.x/Hardware/Arduino/AVR/Libraries/SoftwareSerial/src/SoftWareSerial.h
//
// Pakeiskite buferį taip:
//
// #ifndef _SS_MAX_RX_BUFF
// #define _SS_MAX_RX_BUFF 200
// RX buferio dydis
// #endif
//
//=============================================================================
Norėdami programuoti ATMEGA328p ant duonos lentos, naudokite šią instrukciją, naudodami „Arduino UNO“.
www.instructables.com/id/Arduino-UNO-as-AtM…
4 veiksmas: SMS valdiklio naudojimas
Naudojant SMS valdiklį
SMS valdiklis automatiškai išsiųs SMS žinutę į jūsų telefoną, jei bus suaktyvinta kuri nors iš keturių įėjimų. Išsami informacija apie aktyviklį bus pateikta SMS tekste.
SMS žinutes ir komandas galite redaguoti pagal savo poreikius INO faile.
SMS valdiklio išėjimų tikrinimas
Iš savo mobiliojo telefono į SIM800L simcard numerį siųskite šias komandas:
o1: 1, tai įjungs 1 išvestį.
Į savo telefoną gausite šią SMS žinutę:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 1 o2: 0 03: 0 o4: 0
01: 0, tai išjungs 1 išvestį.
Į savo telefoną gausite šią SMS žinutę:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
01: p, tai 1 sekundei įjungs 1 išėjimą, tada vėl išjungs 1 išėjimą (impulsą).
Į savo telefoną gausite šią SMS žinutę:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
SMS valdiklio įvesties tikrinimas
SMS valdiklyje trumpai paspauskite mygtuką 1
Į telefoną automatiškai gausite šią SMS žinutę:
i1: 1 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
SMS valdiklyje trumpai paspauskite mygtuką 2
Į telefoną automatiškai gausite šią SMS žinutę:
i1: 1 i2: 1 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
SMS valdiklyje trumpai paspauskite mygtuką 3
Į telefoną automatiškai gausite šią SMS žinutę:
i1: 1 i2: 1i3: 1 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Kaip matyti iš gautos SMS, išėjimai keičiasi pagal gautas komandas. Tačiau paspaudus mygtukus, įvestys nesikeičia nuo 1 iki 0. Kadangi norėjau matyti bet kokius įvesties pakeitimus, nusprendžiau uždaryti įvesties būseną, kol SMS valdikliui nebus išsiųsta atstatymo komanda.
Atstatyti signalus
Norėdami iš naujo nustatyti įvesties būseną, siųskite šią komandą:
####, tai iš naujo nustatys įvesties būseną.
Į savo telefoną gausite šią SMS žinutę:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Būsenos atnaujinimai
Taip pat bet kuriuo metu galite paprašyti būsenos siųsdami šią komandą:
????, tai pareikalaus įvesties/išvesties būsenos atnaujinimo.
Į savo telefoną gausite šią SMS žinutę:
i1: x i2: x i3: x i4: x o1: x o2: x 03: x o4: x
kur x nurodo būseną, 1 - įjungta, 0 - išjungta.
5 veiksmas: „Android“programa
Naudodamas „MIT App Inventor 2“(https://ai2.appinventor.mit.edu/) sukūriau paprastą vartotojo sąsają savo „Android“mobiliajam telefonui. Ši programa leidžia jums pritaikyti kiekvieno įvesties/išvesties aprašą. Tai taip pat leidžia įvesti telefono numerį.
Keturi mygtukai naudojami išvestims valdyti, o žymės langeliai nurodo įvesties būseną.
Norėdami redaguoti programą, sukurkite „MIT App Inventor 2“paskyrą ir importuokite AIA failą.
Norėdami įdiegti programą savo telefone, nukopijuokite APK failą į savo telefoną ir įdiekite jį. Telefono saugos nustatymuose turėsite įgalinti programų diegimą iš „Nežinomų šaltinių“.
Rekomenduojamas:
Namų automatizavimas naudojant „ESP8266 WiFi“nenaudojant „Blynk“!: 24 žingsniai (su nuotraukomis)
Namų automatizavimas naudojant „ESP8266 WiFi“nenaudojant „Blynk“!: Pirma, noriu padėkoti visiems už tai, kad padariau mane nugalėtoju 2016 m. Taigi, kaip jums pažadėjau, čia yra instrukcija, skirta valdyti buitinę techniką naudojant „ESP8266 WiFi“modulį
„Bluetooth“namų automatizavimas naudojant „Android“: 3 žingsniai
„Bluetooth“namų automatizavimas per „Android“: gyvenimas XXI amžiuje yra automatizavimo šimtmetis, tačiau ne visi turi tokią prabangą, nesijaudinkite! Šis nurodymas jums tiksliai pasakys, kaip automatizuoti savo prietaisus, kad galėtumėte juos įjungti arba išjungti tiesiog palietę mygtuką
Namų automatizavimas naudojant „Android“ir „Arduino“: atverkite vartus, kai grįšite namo: 5 žingsniai
Namų automatizavimas naudojant „Android“ir „Arduino“: atverkite vartus, kai grįšite namo: ši instrukcija skirta namų automatizavimo sistemai, kurią reikia valdyti išmaniuoju telefonu, naudojant interneto ryšį, kad ją būtų galima pasiekti iš bet kurios jums reikalingos vietos. Be to, ji atliks tam tikrus veiksmus, kai atsiras kriterijus
Paprasčiausias namų automatizavimas naudojant „Bluetooth“, „Android“išmanųjį telefoną ir „Arduino“: 8 žingsniai (su paveikslėliais)
Paprasčiausia namų automatizavimas naudojant „Bluetooth“, „Android“išmanųjį telefoną ir „Arduino“. Tai labai lengva pastatyti ir jį galima pastatyti per kelias valandas. Savo versijoje, kurią čia paaiškinu, galiu
Paprasta namų automatizavimas naudojant „Raspberry Pi3“ir „Android“dalykus: 5 žingsniai (su nuotraukomis)
Paprasta namų automatizavimas naudojant „Raspberry Pi3“ir „Android“dalykus: idėja yra sukurti „išmanųjį HOME““ kur galima valdyti buitinius prietaisus naudojant „Android Things“ir „Raspberry Pi“. Projektą sudaro namų prietaisų, tokių kaip šviesa, ventiliatorius, variklis ir kt., Valdymas. Reikalingos medžiagos: Raspberry Pi 3HDMI Ca