மொபைல் போன் என்பது நூற்றாண்டின் ஒரு புரட்சிகர கண்டுபிடிப்பு. இது முதன்மையாக அழைப்புகள் மற்றும் குறுஞ்செய்திகளை உருவாக்குவதற்கும் பெறுவதற்கும் வடிவமைக்கப்பட்டுள்ளது, ஆனால் ஸ்மார்ட் போன் படத்தில் வந்த பிறகு இது முழு உலகமாக மாறியுள்ளது. இந்த திட்டத்தில் நாங்கள் ஒரு வீட்டு ஆட்டோமேஷன் அமைப்பை உருவாக்குகிறோம், அங்கு ஒருவர் ஜி.எஸ்.எம் அடிப்படையிலான தொலைபேசியைப் பயன்படுத்தி வீட்டு சாதனங்களை கட்டுப்படுத்த முடியும், அவரது தொலைபேசி மூலம் எஸ்.எம்.எஸ் அனுப்புவதன் மூலம். இந்த திட்டத்தில், ஸ்மார்ட் போன் தேவையில்லை, பழைய ஜிஎஸ்எம் தொலைபேசி எங்கிருந்தும் எந்த வீட்டு மின்னணு சாதனங்களையும் ஆன் மற்றும் ஆஃப் செய்ய வேலை செய்யும். நீங்கள் இன்னும் சில வயர்லெஸ் ஹோம் ஆட்டோமேஷன் திட்டங்களையும் இங்கே பார்க்கலாம்: ஐ.ஆர்.
வேலை விளக்கம்
இந்த திட்டத்தில், முழு செயல்முறையையும் கட்டுப்படுத்த Arduino பயன்படுத்தப்படுகிறது. வீட்டு உபகரணங்களைக் கட்டுப்படுத்த ஜிஎஸ்எம் வயர்லெஸ் தகவல்தொடர்புகளைப் பயன்படுத்தினோம். ஏசி வீட்டு உபகரணங்களைக் கட்டுப்படுத்த “# A.light on *”, “# A.light off *” போன்ற சில கட்டளைகளை அனுப்புகிறோம். ஜி.எஸ்.எம் மூலம் அர்டுயினோ வழங்கிய கட்டளைகளைப் பெற்ற பிறகு, ரிலே டிரைவரைப் பயன்படுத்தி வீட்டு உபகரணங்களை இயக்க அல்லது அணைக்க, ஆர்டுயினோ ரிலேக்களுக்கு சமிக்ஞை அனுப்புகிறார்.
சுற்று கூறுகள்:
- Arduino UNO
- ஜிஎஸ்எம் தொகுதி
- ULN2003
- ரிலே 5 வோல்ட்
- வைத்திருப்பவருடன் விளக்கை
- கம்பிகளை இணைக்கிறது
- ரொட்டி பலகை
- 16x2 எல்சிடி
- மின்சாரம்
- கைப்பேசி

இங்கே நாம் கட்டளைச் சரத்தில் “#A” என்ற முன்னொட்டைப் பயன்படுத்தினோம். இந்த முன்னொட்டு பிரதான கட்டளை அதற்கு அடுத்ததாக வருவதை அடையாளம் காண பயன்படுகிறது மற்றும் * சரத்தின் முடிவில் செய்தி முடிவுக்கு வந்ததைக் குறிக்கிறது.
மொபைல் மூலம் ஜிஎஸ்எம் தொகுதிக்கு எஸ்எம்எஸ் அனுப்பும்போது, ஜிஎஸ்எம் அந்த எஸ்எம்எஸ் பெற்று ஆர்டுயினோவுக்கு அனுப்புகிறது. இப்போது Arduino இந்த எஸ்எம்எஸ் படித்து, பெறப்பட்ட சரம் மற்றும் கடைகளில் இருந்து முக்கிய கட்டளையை ஒரு மாறியில் பிரித்தெடுக்கவும். இதற்குப் பிறகு, Arduino இந்த சரத்தை முன் வரையறுக்கப்பட்ட சரத்துடன் ஒப்பிடுகிறார். போட்டி ஏற்பட்டால், வீட்டு சாதனங்களை இயக்குவதற்கும் முடக்குவதற்கும் ஆர்டினோ ரிலே டிரைவர் வழியாக ரிலேக்கு சிக்னலை அனுப்புகிறார். தொடர்புடைய கட்டளைகளைப் பயன்படுத்தி 16x2 எல்சிடியிலும் தொடர்புடைய முடிவு அச்சிடுகிறது.
இங்கே இந்த திட்டத்தில் 3 பூஜ்ஜிய வாட் விளக்கை ஆர்ப்பாட்டத்திற்கு பயன்படுத்தினோம், இது ரசிகர், ஒளி மற்றும் டிவியைக் குறிக்கிறது.
விசிறி, ஒளி மற்றும் டிவியை இயக்க மற்றும் அணைக்க எஸ்எம்எஸ் வழியாக நாங்கள் அனுப்பும் செய்திகளின் பட்டியல் கீழே:
|
எஸ்.னோ. |
செய்தி |
செயல்பாடு |
|
1 |
# A.fan on * |
ரசிகர் ஆன் |
|
2 |
# A.fan ஆஃப் * |
விசிறி முடக்கு |
|
3 |
# A. லைட் ஆன் * |
வெளிச்சம் |
|
4 |
# A. லைட் ஆஃப் * |
லைட் ஆஃப் |
|
5 |
# A.tv on * |
டிவி ஆன் |
|
6 |
# A.tv ஆஃப் * |
டிவி ஆஃப் |
|
7 |
# A.all on * |
அனைத்தும் இயக்கத்தில் உள்ளன |
|
8 |
# A.all off * |
அனைத்தும் முடக்கப்பட்டுள்ளது |
ஜிஎஸ்எம் தொகுதி:
ஜிஎஸ்எம் (மொபைல் கம்யூனிகேஷன்களுக்கான குளோபல் சிஸ்டம்) தொழில்நுட்பத்தை அடிப்படையாகக் கொண்ட பல தகவல் தொடர்பு சாதனங்களில் ஜிஎஸ்எம் தொகுதி பயன்படுத்தப்படுகிறது. கணினியைப் பயன்படுத்தி ஜிஎஸ்எம் நெட்வொர்க்குடன் தொடர்பு கொள்ள இது பயன்படுகிறது. ஜிஎஸ்எம் தொகுதி AT கட்டளைகளை மட்டுமே புரிந்துகொள்கிறது, அதன்படி பதிலளிக்க முடியும். மிக அடிப்படையான கட்டளை “AT”, ஜிஎஸ்எம் சரியாக பதிலளித்தால் அது நன்றாக வேலை செய்கிறது இல்லையெனில் அது “ERROR” உடன் பதிலளிக்கும். அழைப்பிற்கு பதிலளிக்க ATA, அழைப்பை டயல் செய்ய ATD, செய்தியைப் படிக்க AT + CMGR, எஸ்எம்எஸ் அனுப்ப AT + CMGS போன்ற பல்வேறு AT கட்டளைகள் உள்ளன. AT கட்டளைகளை வண்டி திரும்பப் பெற வேண்டும், அதாவது \ r (ஹெக்ஸில் 0D), “AT + CMGS \ r” போன்றது. இந்த கட்டளைகளைப் பயன்படுத்தி ஜிஎஸ்எம் தொகுதியைப் பயன்படுத்தலாம்:
ATE0 - எதிரொலிக்க
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = ”மொபைல் எண்”
இப்போது நம் செய்தியை எழுதலாம்
செய்தி எழுதிய பிறகு
Ctrl + Z செய்தி கட்டளையை அனுப்பு (தசமத்தில் 26).
HEX இல் ENTER = 0x0d

SIM900 ஒரு முழுமையான குவாட்-இசைக்குழு ஜிஎஸ்எம் / ஜிபிஆர்எஸ் தொகுதி ஜிஎஸ்எம் / அளிக்கும் 850/900/1800 / 1900MHz குறைந்த மின்னாற்றலுடன் குரல், எஸ்எம்எஸ் மற்றும் டேட்டா செயல்திறன் ஜிபிஆர்எஸ்.
சுற்று விளக்கம்
இந்த ஜிஎஸ்எம் அடிப்படையிலான வீட்டு ஆட்டோமேஷன் சர்க்யூட்டின் இணைப்புகள் மிகவும் எளிமையானவை, இங்கு 4 பிட் பயன்முறையில் அர்டுயினோவுடன் நேரடியாக இணைக்கப்பட்டுள்ள வீட்டு உபகரணங்களின் நிலையைக் காண்பிக்க ஒரு திரவ படிக காட்சி பயன்படுத்தப்படுகிறது. எல்.சி.டி.யின் தரவு ஊசிகளான ஆர்.எஸ்., ஈ.என், டி 4, டி 5, டி 6, டி 7 ஆகியவை அர்டுயினோ டிஜிட்டல் முள் எண் 6, 7, 8, 9, 10, 11 உடன் இணைக்கப்பட்டுள்ளன. முறையே Arduino இன் முள். ஜிஎஸ்எம் தொகுதி 12 வோல்ட் அடாப்டரைப் பயன்படுத்தி இயக்கப்படுகிறது. ஒளி, மின்விசிறி மற்றும் டிவியைக் கட்டுப்படுத்த 5 வோல்ட் எஸ்.பி.டி.டி 3 ரிலேக்கள் பயன்படுத்தப்படுகின்றன. ரிலேக்கள் முறையே லைட், ஃபேன் மற்றும் டிவியைக் கட்டுப்படுத்த ரிலே டிரைவர் யுஎல்என் 2003 மூலம் அர்டுயினோ முள் எண் 3, 4 மற்றும் 5 உடன் இணைக்கப்பட்டுள்ளன.

குறியீடு விளக்கம்
இந்த திட்டத்தின் நிரலாக்க பகுதியில், முதலில் நிரலாக்கத்தில் நாம் திரவ படிக காட்சிக்கான நூலகத்தை உள்ளடக்குகிறோம், பின்னர் எல்சிடி மற்றும் வீட்டு உபகரணங்களுக்கான தரவு மற்றும் கட்டுப்பாட்டு ஊசிகளை வரையறுக்கிறோம்.
#சேர்க்கிறது
இந்த தொடர் தகவல்தொடர்பு 9600 பிபிஎஸ்ஸில் துவக்கப்பட்டு, பயன்படுத்தப்பட்ட முள் திசையை வழங்குகிறது.
வெற்றிட அமைப்பு () {lcd.begin (16,2); சீரியல்.பெஜின் (9600); pinMode (தலைமையிலான, OUTPUT); pinMode (விசிறி, OUTPUT); பின்மோட் (ஒளி, வெளியீடு); pinMode (TV, OUTPUT);
தரவைப் பெறுவதற்கு நாங்கள் இரண்டு செயல்பாடுகளைப் பயன்படுத்தினோம், ஒன்று சீரியல். கிடைக்கிறது, இது எந்த தொடர் தரவும் வருகிறதா என்பதைச் சரிபார்க்கிறது, மற்றொன்று சீரியல்.ரெட் என்பது சீரியலாக வரும் தரவைப் படிக்கிறது.
போது (Serial.available ()) {char inChar = Serial.read ();
தொடர்ச்சியாக தரவைப் பெற்ற பிறகு, அதை ஒரு சரத்தில் சேமித்து, பின்னர் Enter க்காக காத்திருக்கிறோம்.
void serialEvent () {போது (Serial.available ()) {if (Serial.find ("# A.")) {DigitalWrite (led, HIGH); தாமதம் (1000); டிஜிட்டல்ரைட் (தலைமையிலான, குறைந்த); போது (Serial.available ()) {char inChar = Serial.read (); str = inChar; if (inChar == '*') {temp = 1; திரும்ப; }
Enter வரும்போது பெறப்பட்ட சரத்தை ஏற்கனவே வரையறுக்கப்பட்ட சரத்துடன் ஒப்பிட்டுப் பார்க்கவும், சரம் பொருந்தினால், குறியீட்டில் கொடுக்கப்பட்ட பொருத்தமான கட்டளையைப் பயன்படுத்தி ஒரு தொடர்புடைய செயல்பாடு செய்யப்படுகிறது.
void check () {if (! (strncmp (str, "tv on", 5%)) {DigitalWrite (TV, HIGH); lcd.setCursor (13,1); lcd.print ("ON"); தாமதம் (200); } else if (! (strncmp (str, "tv off", 6%)) {DigitalWrite (TV, LOW); lcd.setCursor (13,1); lcd.print ("OFF"); தாமதம் (200); }
