Talaan ng mga Nilalaman:
- Hakbang 1: Mga Utos ng SMS
- Hakbang 2: Pagbuo ng SMS Controller
- Hakbang 3: Programming ang ATMEGA328p
- Hakbang 4: Gamit ang Controller ng SMS
- Hakbang 5: Application ng Android
Video: Android at Arduino SMS Batay sa Home Automation: 5 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
! ! ! 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
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
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
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
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
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:
GPS Car Tracker With SMS Notification and Thingspeak Data Upload, Arduino Batay, Home Automation: 5 Hakbang (na may Mga Larawan)
GPS Car Tracker With SMS Notification and Thingspeak Data Upload, Arduino Batay, Home Automation: Ginawa ko ang tracker na ito ng GPS noong nakaraang taon at dahil gumagana ito ng maayos inilathala ko ito ngayon sa Instructable. Nakakonekta ito sa plug ng accessories sa aking trunk. Ina-upload ng tracker ng GPS ang posisyon ng kotse, bilis, direksyon at ang sinusukat na temperatura sa pamamagitan ng isang mobile data
Pamamahala ng Tanim na Batay sa Batay sa Solar Na May ESP32: 7 Mga Hakbang (na may Mga Larawan)
Pamamahala ng Tanim na Batay sa Batay ng Solar Sa ESP32: Ang paglaki ng mga halaman ay masaya at pagtutubig at pag-aalaga sa kanila ay hindi talaga isang abala. Ang mga aplikasyon ng Microcontroller upang subaybayan ang kanilang kalusugan ay nasa buong internet at ang inspirasyon para sa kanilang disenyo ay nagmula sa static na katangian ng halaman at ang kadalian ng moni
Batay sa Autonomous na Batay ng Arduino Gamit ang Ultrasonic Sensor: 5 Mga Hakbang (na may Mga Larawan)
Batay ng Autonomous na Batay ng Arduino Paggamit ng Ultrasonic Sensor: Lumikha ng iyong sariling Arduino based Autonomous Bot gamit ang Ultrasonic Sensor. Ang bot na ito ay maaaring lumipat sa sarili nitong walang pag-crash ng anumang mga hadlang. Karaniwan kung ano ang ginagawa nito ay nakita nito ang anumang uri ng mga hadlang sa paraan nito at nagpapasya ang pinakamahusay na pa
BeanBot - isang Batay sa Autonomous na Robot ng Batay sa Arduino !: 8 Mga Hakbang (na may Mga Larawan)
BeanBot - isang Arduino Batay sa Autonomous Paper Robot !: Mayroon bang anumang mas nakasisigla kaysa sa isang blangko na papel? Kung ikaw ay isang masugid na tinkerer o tagabuo pagkatapos ay walang alinlangan na simulan mo ang iyong mga proyekto sa pamamagitan ng pag-sketch ng mga ito sa papel. Nagkaroon ako ng ideya upang makita kung posible na bumuo ng isang frame ng robot na wala sa papel
Dispenser ng Batay sa Batay ng Arduino: 5 Hakbang (na may Mga Larawan)
Dispenser ng Batay sa Batay ng Arduino: Ito ay napakadaling gawin at sobrang kapaki-pakinabang