Мазмуну:

Android жана Arduino SMS негизделген үйдү автоматташтыруу: 5 кадам (сүрөттөр менен)
Android жана Arduino SMS негизделген үйдү автоматташтыруу: 5 кадам (сүрөттөр менен)

Video: Android жана Arduino SMS негизделген үйдү автоматташтыруу: 5 кадам (сүрөттөр менен)

Video: Android жана Arduino SMS негизделген үйдү автоматташтыруу: 5 кадам (сүрөттөр менен)
Video: Lesson 29: Car-7 Controlling SunFounder Smart Car using Remote Controller | Robojax 2024, Ноябрь
Anonim
Android жана Arduino SMS негизделген үй автоматташтыруу
Android жана Arduino SMS негизделген үй автоматташтыруу
Android жана Arduino SMS негизделген үй автоматташтыруу
Android жана Arduino SMS негизделген үй автоматташтыруу

! ! ! N O T I C E! ! !

Жергиликтүү уюлдук телефон мунарасы менин аймагында жаңыртылгандыктан, мен бул GSM модулун колдоно албай калдым. Жаңы мунара мындан ары 2G түзмөктөрүн колдобойт. Ошондуктан, мен мындан ары бул долбоорго эч кандай колдоо көрсөтө албайм

Жакында мен салыштырмалуу арзан Quad Band GSM/GPRS модулун алдым. Бул SIM800L модулу жана сериялык порт аркылуу каалаган микро менен байланышат. Ал панелдик антенна менен толукталды.

Мен түзмөктөрдү башкаруу жана сигналдарды көрсөтүү үчүн кыска билдирүү кызматы (SMS) буйруктарын колдонгон жөнөкөй SMS Controller системасын курууну чечтим.

1 -кадам: SMS буйруктары

SMS буйруктары
SMS буйруктары

Кандай болбосун байланыш системасы болгондой, конкреттүү буйруктарды эмне кылуу керек экенин айтуу үчүн алыскы түзмөккө жөнөтүү керек. Ошо сыяктуу эле, алыскы түзмөк бул буйруктарга жооп бериши керек. Бул долбоор эки бөлүктөн турат, SMS Controller жана стандарттык уюлдук телефон.

Идея төрт санарип чыгуусу бар жөнөкөй SMS Контроллерин түзүү болчу. Алынган SMSке жараша, бирдик жеке чыгууларды көзөмөлдөй алышы керек.

Мен дагы төрт санарипти киргизүүнү чечтим. Бул сигнализацияны же башка маалыматты көрсөтүү үчүн колдонулушу мүмкүн.

Курууну баштоодон мурун, мен белгилүү бир функциялар үчүн атайын буйруктарды түзүүнү чечтим. Бул "буйруктар" уюлдук телефондон SMS аркылуу жөнөтүлөт.

SMS Controller буйруктарды алат:

o1: 1 - чыгаруу 1 күйгүзүү

o1: 0 - чыгаруу 1 өчүрүү

o1: p - импульс чыгаруу 1 Күйгүзүп, анан Өчүрүү

o2: 1 - чыгаруу 2 күйгүзүү

o2: 0 - чыгаруу 2 өчүрүү

o2: p - импульс чыгаруу 2 Күйүк, анан Өчүрүү

o3: 1 - чыгаруу 3 күйгүзүү

o3: 0 - бурууну чыгаруу 3 Өчүрүү

o3: p - импульстун чыгышы 3 Күйүк, анан Өчүрүү

o4: 1 - чыгаруу 4 күйгүзүү

o4: 0 - бурулуш чыгаруу 4 Өчүрүү

o4: p - импульс чыгаруу 4 Күйүк, анан Өчүрүү

???? - Киргизүү жана чыгаруу статусун сураңыз

#### - Системаны баштапкы абалга келтирүү

Пикир билдирүү үчүн SMS Controller алынган буйруктарга жооп берип, SMS менен жооп бериши керек. Мен бул жооп SMS бардык I/O казыктарынын статусун камтышы керек деп чечтим.

SMS Controller Response Commands:

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

мында x - I/O статусу, On үчүн 1, Off үчүн 0.

2 -кадам: SMS контроллерин куруу

SMS контроллерин түзүү
SMS контроллерин түзүү
SMS контроллерин түзүү
SMS контроллерин түзүү
SMS контроллерин түзүү
SMS контроллерин түзүү

Керектүү жабдуулар:

Ар кандай Arduino, же нан столунда өзүнчө ATMEGA328p

SIM800L GSM/GPRS модулу SMS жөнөтүү жана кабыл алуу жөндөмдүү сим -карта менен

DC/DC конвертерин түшүрүү

ЭСКЕРТҮҮ !

DC/DC конвертери SIM800L модулун иштетүү үчүн керек. Бул модуль сиздеги версияга жараша 3.7V менен 5V ортосунда иштейт. Бул модуль ошондой эле модуль маалыматтарды өткөргөндө 2Ага чейин жеткире турган кубат берүүнү талап кылат. Бул түздөн -түз Arduino Uno тарабынан иштей албайт !

Район абдан жөнөкөй. Мен аны нан тактасына чогултуп, сынап көрдүм.

Районго болгон күч DC/DC конвертери аркылуу, 4.5Вга чыгуу чыңалуусу менен. Санариптик чыгууларды имитациялоо үчүн төрт LED жана санариптик кирүүлөр үчүн төрт баскыч бар. SIM800L ATMEGA328p Rx/Tx казыктарына туташкан.

5 -светодиод системасы SMS жөнөтүү менен алек болгонун көрсөтүү үчүн колдонулат.

3 -кадам: ATMEGA328p программалоо

ATMEGA328p программалоо
ATMEGA328p программалоо
ATMEGA328p программалоо
ATMEGA328p программалоо

Программалоодон мурун INO файлын ачыңыз жана телефон номерин түзөтүңүз. 46 -сапта xxxxxxxxxxти уюлдук телефон номериңиз менен алмаштырыңыз. Файлды кайра түзүңүз жана жүктөңүз.

Ошондой эле, INO файлындагы Программалык камсыздоонун сериялык портун конфигурациялоо боюнча нускамаларды окуңуз.

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

//! ! ! ЭСКЕРТҮҮ ! ! !

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

//

// БУФФЕР ПРОГРАММАСЫНЫН СЕРИЯЛЫК КИТЕПКАНАСЫНА 200ГӨ ӨЗГӨРТҮЛӨТ

//

// Программалык серияны колдонуу үчүн, колдонуучу Программалык Сериянын Буферин 200гө өзгөртүшү керек.

// Бул төмөнкү файлда түзөтүлүшү керек:

//

// C:/Программа Files/Arduino x.x.x/Аппараттык/Arduino/AVR/Китепканалар/SoftwareSerial/src/SoftWareSerial.h

//

// Буферди төмөнкүдөй өзгөртүү:

//

// #ifndef _SS_MAX_RX_BUFF

200

// RX буферинин өлчөмү

//endif

//

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

ATMEGA328p программасын Arduino UNOнун жардамы менен программалоо үчүн бул көрсөтмөгө кайрылыңыз.

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

4 -кадам: SMS контроллерин колдонуу

SMS контроллерин колдонуу
SMS контроллерин колдонуу

SMS контроллерин колдонуу

SMS контроллери автоматтык түрдө телефонуңузга SMS жөнөтөт, эгерде төрт киргизүүнүн бири ишке кирсе. Триггердин чоо -жайы SMS текстинде камтылат.

SMS билдирүүлөрдү жана буйруктарды INO файлында сиздин муктаждыктарыңызга жараша түзөтсө болот.

SMS контролерунун жыйынтыктарын текшерүү

Уюлдук телефонуңуздан SIM800L симкарт номерине төмөнкү буйруктарды жөнөтүңүз:

o1: 1, бул 1 чыгарууну күйгүзөт.

Телефонуңузга төмөнкү SMS келет:

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

01: 0, бул 1 чыгарууну өчүрөт.

Телефонуңузга төмөнкү SMS келет:

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

01: p, бул 1 чыгарууну 1 секундга күйгүзөт, андан кийин кайра 1 чыгарууну өчүрөт (импульстуу).

Телефонуңузга төмөнкү SMS келет:

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

SMS Controller Кириштерин текшерүү

SMS контролеринде 1 баскычын кыска басыңыз

Телефонуңузга автоматтык түрдө төмөнкү SMS келет:

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

SMS контролеринде 2 баскычын кыска басыңыз

Телефонуңузга автоматтык түрдө төмөнкү SMS келет:

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

SMS контролеринде 3 баскычын кыска басыңыз

Телефонуңузга автоматтык түрдө төмөнкү SMS келет:

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

Алынган SMSтен көрүнүп тургандай, жыйынтыктар алынган буйруктарга ылайык өзгөрөт. Бирок, баскычтар басылгандан кийин киргизүүлөр 1ден 0гө чейин өзгөрбөйт. Киргизүүлөрдөгү кандайдыр бир өзгөрүүлөрдү көргүм келгендиктен, SMS контроллерине баштапкы абалга келтирүү буйругу жөнөтүлмөйүнчө, кирүү абалына мөөр басууну чечтим.

Ойготкучтарды кайра коюу

Кирүү абалын баштапкы абалга келтирүү үчүн, төмөнкү буйрукту жөнөтүңүз:

####, бул киргизүү абалын баштапкы абалга келтирет.

Телефонуңузга төмөнкү SMS келет:

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

Статус жаңыртуулары

Сиз ошондой эле каалаган убакта төмөнкү буйрукту жөнөтүп статусун сурансаңыз болот:

????, бул I/Oнун статусун жаңыртууну талап кылат.

Телефонуңузга төмөнкү SMS келет:

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

мында x статусту, 1 күйгүзүү үчүн, 0 өчүрүү үчүн билдирет.

5 -кадам: Android тиркемеси

Android тиркемеси
Android тиркемеси
Android тиркемеси
Android тиркемеси
Android тиркемеси
Android тиркемеси

MIT App Inventor 2 (https://ai2.appinventor.mit.edu/) колдонуп, мен Android уюлдук телефонум үчүн жөнөкөй колдонуучу интерфейсин түздүм. Бул колдонмо ар бир I/O сүрөттөмөсүн ыңгайлаштырууга мүмкүндүк берет. Ошондой эле телефон номерин киргизүүгө мүмкүнчүлүк берет.

Төрт баскыч Чыгууларды көзөмөлдөө үчүн колдонулат, ал эми кутучалар киргизүү абалын көрсөтөт.

Колдонмону түзөтүү үчүн, MIT App Inventor 2 эсебин түзүңүз жана AIA файлын импорттоңуз.

Колдонмону телефонуңузга орнотуу үчүн, APK файлын телефонуңузга көчүрүп, орнотуңуз. Телефонуңуздун коопсуздук жөндөөлөрүнүн астындагы "Белгисиз булактардан" колдонмолорду орнотууну иштетишиңиз керек болот.

Сунушталууда: