Talaan ng mga Nilalaman:

Android at Arduino SMS Batay sa Home Automation: 5 Hakbang (na may Mga Larawan)
Android at Arduino SMS Batay sa Home Automation: 5 Hakbang (na may Mga Larawan)

Video: Android at Arduino SMS Batay sa Home Automation: 5 Hakbang (na may Mga Larawan)

Video: Android at Arduino SMS Batay sa Home Automation: 5 Hakbang (na may Mga Larawan)
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Nobyembre
Anonim
Android at Arduino SMS Batay sa Home Automation
Android at Arduino SMS Batay sa Home Automation
Android at Arduino SMS Batay sa Home Automation
Android at Arduino SMS Batay sa Home Automation

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

Dahil sa pag-upgrade ng lokal na tore ng cellphone sa aking lugar, hindi ko na magagamit ang module na GSM na ito. Hindi na sinusuportahan ng mas bagong tower ang mga 2G device. Samakatuwid, hindi na ako makapagbigay ng anumang suporta para sa proyektong ito

Kamakailan, nakatanggap ako ng medyo murang Quad Band GSM / GPRS module upang mapaglaruan. Ito ay isang module na SIM800L, at nakikipag-usap sa anumang micro sa pamamagitan ng isang serial port. Ito ay kumpleto sa isang panel mount antena.

Nagpasya akong bumuo ng isang simpleng sistema ng SMS Controller na gumagamit ng mga utos ng maikling serbisyo sa mensahe (SMS) upang makontrol ang mga aparato at ipahiwatig ang mga alarma.

Hakbang 1: Mga Utos ng SMS

Mga Utos ng SMS
Mga Utos ng SMS

BILANG sa anumang sistema ng komunikasyon, kailangang ipadala ang mga tukoy na utos sa isang remote na aparato upang sabihin dito kung ano ang dapat gawin. Gayundin, ang remote na aparato ay kailangang tumugon o tumugon sa mga utos na ito. Ang proyektong ito ay binubuo ng dalawang bahagi, ang SMS Controller, at isang karaniwang cellular phone.

Ang ideya ay upang lumikha ng isang simpleng SMS Controller na may apat na digital output. Nakasalalay sa natanggap na SMS, dapat na makontrol ng yunit ang mga indibidwal na output.

Nagpasya rin akong isama ang apat na mga digital na input. Maaari itong magamit upang ipahiwatig ang mga alarma o iba pang impormasyon.

Bago simulan ang pagbuo, nagpasya akong lumikha ng mga tukoy na utos para sa mga tukoy na pagpapaandar. Ang 'mga utos' na ito ay ipapadala gamit ang isang SMS mula sa isang cellular phone.

Nakatanggap ang Mga Controller ng SMS ng Mga Utos:

o1: 1 - i-on ang output 1 Bukas

o1: 0 - i-off ang output 1

o1: p - output ng pulso 1 Bukas, pagkatapos ay i-off

o2: 1 - i-on ang output 2

o2: 0 - i-off ang output 2

o2: p - output ng pulso 2 Bukas, pagkatapos ay i-off

o3: 1 - i-on ang output 3 Bukas

o3: 0 - i-off ang output 3

o3: p - output ng pulso 3 Bukas, pagkatapos ay i-off

o4: 1 - buksan ang output 4 Bukas

o4: 0 - i-off ang output 4

o4: p - output ng pulso 4 Bukas, pagkatapos ay i-off

???? - Humiling ng katayuan ng Mga Input at Output

#### - I-reset ang system

Para sa puna, ang SMS Controller ay dapat tumugon sa mga natanggap na utos, at tumugon sa isang SMS. Napagpasyahan kong ang sagot sa SMS na ito ay dapat isama ang katayuan ng lahat ng mga I / O na pin.

Mga Utos ng Tugon ng Controller ng SMS:

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

kung saan ang x ang katayuang I / O, 1 para sa Bukas, 0 para sa Patay.

Hakbang 2: Pagbuo ng SMS Controller

Pagbuo ng SMS Controller
Pagbuo ng SMS Controller
Pagbuo ng SMS Controller
Pagbuo ng SMS Controller
Pagbuo ng SMS Controller
Pagbuo ng SMS Controller

Kinakailangan na kagamitan:

Anumang Arduino, o stand-alone na ATMEGA328p sa isang breadboard

SIM800L GSM / GPRS Module na may isang sim card na may kakayahang magpadala at tumanggap ng mga SMS

Bumaba sa converter ng DC / DC

TANDAAN !!

Kinakailangan ang converter ng DC / DC upang mapagana ang module ng SIM800L. Ang module na ito ay nagpapatakbo sa pagitan ng 3.7V at 5V, depende sa bersyon na mayroon ka. Ang modyul na ito ay nangangailangan din ng isang supply ng kuryente na maaaring maghatid ng hanggang sa 2A kapag nagpapadala ng data ang module. Hindi ito maaaring pinalakas nang direkta mula sa Arduino Uno !!

Ang circuit ay medyo simple. Pinagsama ko at sinubukan ito sa breadboard.

Ang lakas sa circuit ay sa pamamagitan ng DC / DC converter, na may output voltage na nakatakda sa 4.5V. Mayroong apat na LEDs upang gayahin ang mga digital na output, at apat na mga pindutan para sa mga digital na input. Ang SIM800L ay konektado sa mga Rx / Tx pin ng ATMEGA328p.

Ginamit ang ika-5 LED upang ipahiwatig kung kailan ang system sa abala sa pagpapadala ng isang SMS.

Hakbang 3: Programming ang ATMEGA328p

Pagprogram ng ATMEGA328p
Pagprogram ng ATMEGA328p
Pagprogram ng ATMEGA328p
Pagprogram ng ATMEGA328p

Bago mag-program, buksan ang INO file, at i-edit ang numero ng telepono. Palitan ang xxxxxxxxxx ng iyong sariling numero ng cellular phone sa linya 46. Ipunin muli, at i-upload ang file.

Gayundin, basahin ang mga tagubilin sa kung paano i-configure ang Software Serial port sa INO file.

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

//! ! ! TANDAAN! ! !

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

//

// BUFFER IN SOFTWARE SERIAL LIBRARY NA PALIT SA 200

//

// Upang magamit ang Serial ng Software, dapat ding baguhin ng gumagamit ang Software Serial BUFFER sa 200.

// Dapat itong mai-edit sa sumusunod na file:

//

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

//

// Baguhin ang buffer tulad ng nasa ibaba:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Laki ng buffer ng RX

// #tapusin kung

//

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

Sumangguni sa itinuturo na ito upang i-program ang ATMEGA328p sa breadboard gamit ang isang Arduino UNO.

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

Hakbang 4: Gamit ang Controller ng SMS

Gamit ang Controller ng SMS
Gamit ang Controller ng SMS

Gamit ang Controller ng SMS

Ang Controller ng SMS ay awtomatikong magpapadala ng isang SMS sa iyong telepono kung ang alinman sa apat na mga input ay na-trigger. Ang mga detalye ng gatilyo ay nilalaman sa teksto ng SMS.

Ang mga mensahe sa SMS at utos ay maaaring mai-edit sa iyong mga pangangailangan sa INO file.

Pagsubok sa Mga Output ng Controller ng SMS

Mula sa iyong cellular phone, ipadala ang mga sumusunod na utos sa iyong SIM800L na numero ng simcard:

o1: 1, bubuksan nito ang output 1.

Sa iyong telepono, makakatanggap ka ng sumusunod na SMS:

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

01: 0, papatayin nito ang output 1.

Sa iyong telepono, makakatanggap ka ng sumusunod na SMS:

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

01: p, bubuksan nito ang output 1 para sa 1 segundo, pagkatapos ay i-off muli ang output 1 (pulsed).

Sa iyong telepono, makakatanggap ka ng sumusunod na SMS:

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

Pagsubok sa Mga Input ng Controller ng SMS

Sa Controller ng SMS, pindutin ang pindutan ng 1 nang maikli

Sa iyong telepono, awtomatiko kang makakatanggap ng sumusunod na SMS:

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

Sa SMS Controller, pindutin ang pindutan ng 2 sa madaling sabi

Sa iyong telepono, awtomatiko kang makakatanggap ng sumusunod na SMS:

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

Sa Controller ng SMS, pindutin ang pindutan ng 3 nang maikli

Sa iyong telepono, awtomatiko kang makakatanggap ng sumusunod na SMS:

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

Tulad ng makikita sa natanggap na SMS, ang mga output ay nagbabago ayon sa mga natanggap na utos. Gayunpaman, ang mga pag-input ay hindi nagbabago mula sa isang 1 hanggang isang 0 matapos mapindot ang mga pindutan. Dahil nais kong makita ang anumang mga pagbabago sa mga input, nagpasya akong mai-seal sa katayuan ng pag-input hanggang sa maipadala ang isang reset na utos sa SMS Controller.

I-reset ang Mga Alarma

Upang i-reset ang katayuan sa pag-input, ipadala ang sumusunod na utos:

####, ire-reset nito ang katayuan sa pag-input.

Sa iyong telepono, makakatanggap ka ng sumusunod na SMS:

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

Mga Update sa Katayuan

Maaari ka ring humiling ng katayuan anumang oras sa pamamagitan ng pagpapadala ng sumusunod na utos:

????, hihiling ito ng pag-update ng katayuan ng I / Os.

Sa iyong telepono, makakatanggap ka ng sumusunod na SMS:

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

kung saan ang x ay nagpapahiwatig ng katayuan, 1 para sa on, 0 para sa off.

Hakbang 5: Application ng Android

Application ng Android
Application ng Android
Application ng Android
Application ng Android
Application ng Android
Application ng Android

Gamit ang MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), lumikha ako ng isang simpleng interface ng gumagamit para sa aking Android cellular phone. Pinapayagan ka ng app na ito na ipasadya ang paglalarawan ng bawat I / O. Pinapayagan din nito ang pagpasok ng numero ng telepono.

Ginagamit ang apat na mga pindutan upang makontrol ang Mga Output, habang ipinapahiwatig ng mga check box ang katayuan ng pag-input.

Upang mai-edit ang app, lumikha ng isang MIT App Inventor 2 account, at i-import ang AIA file.

Upang mai-install ang app sa iyong telepono, kopyahin ang APK file sa iyong telepono, at i-install ito. Kailangan mong paganahin ang pag-install ng mga app mula sa "Mga Hindi Kilalang Pinagmulan" sa ilalim ng mga setting ng seguridad ng iyong telepono.

Inirerekumendang: