వైర్లెస్ నోటీసు బోర్డు ఈ ప్రాజెక్ట్ కోసం చాలా ఎంపిక చేసిన పదం, ఎందుకంటే ఇది సాధారణ నోటీసు బోర్డు కాకుండా చాలా విస్తృత పరిధిని కలిగి ఉంది. మొదట మేము ఈ ప్రాజెక్ట్ యొక్క ఉద్దేశ్యాన్ని అర్థం చేసుకోవాలి, ఈ వ్యవస్థలో మేము LCD వంటి కొన్ని ప్రదర్శన పరికరాలకు సందేశాన్ని లేదా నోటీసును ప్రదర్శించగలము మరియు ఈ సందేశాన్ని మీ SMS సదుపాయాన్ని ఉపయోగించడం ద్వారా ప్రపంచంలో ఎక్కడి నుండైనా సులభంగా సెట్ చేయవచ్చు లేదా మార్చవచ్చు. మొబైల్ హ్యాండ్సెట్. మేము ప్రదర్శించదలిచిన ఏ నోటీసు అయినా, ఆ టెక్స్ట్ యొక్క SMS ను కొన్ని ఉపసర్గ మరియు ప్రత్యయంతో పంపండి.
హోటళ్ళు, మాల్స్, కళాశాల, కార్యాలయాలలో ఇది చాలా ఉపయోగకరంగా ఉంటుంది మరియు ఇంట్లో కూడా ఎక్కడైనా ఉపయోగించవచ్చు. మీ హోటల్ గది గేటు వద్ద “డిస్టర్బ్ చేయవద్దు” వంటి సందేశాన్ని మీరు సెట్ చేయవచ్చు, మీరు దూరంగా ఉన్నప్పుడు మీ ఇంటి తలుపు వద్ద సందేశాన్ని సెట్ చేయవచ్చు మరియు పాఠశాలలు, కళాశాలలు, సినిమా హాళ్ళు మొదలైన వాటిలో నోటీసు బోర్డుగా ఉపయోగించబడుతుంది. అవును, ఇది సాధారణ సందేశ బోర్డు కాదు, ఈ ప్రాజెక్ట్ యొక్క ఉపయోగం ఏమిటంటే మీరు సందేశాన్ని లేదా నోటీసును ఎక్కడి నుండైనా సెట్ చేయవచ్చు లేదా మార్చవచ్చు, మీ ఫోన్ నుండి SMS పంపండి. మీరు ఇలాంటి ప్రాజెక్ట్ను కూడా తనిఖీ చేయవచ్చు, కానీ వేరే రకం డిస్ప్లేలో: అవుట్డోర్ పి 10 ఎల్ఇడి మ్యాట్రిక్స్ డిస్ప్లేని ఆర్డునో స్కోర్బోర్డ్.
మేము ఇంతకుముందు గృహ భద్రత కోసం మొబైల్ ఫోన్ యొక్క SMS సదుపాయాన్ని ఉపయోగించాము మరియు గృహోపకరణాలను రిమోట్గా నియంత్రించాము: PIR సెన్సార్ మరియు GSM బేస్డ్ సెక్యూరిటీ సిస్టమ్ మరియు GSM బేస్డ్ హోమ్ ఆటోమేషన్ Arduino ఉపయోగించి
పని వివరణ:
ఈ ప్రాజెక్ట్లో, మొత్తం ప్రక్రియను నియంత్రించడానికి Arduino UNO ఉపయోగించబడుతుంది, సందేశాన్ని ప్రదర్శించడానికి మొబైల్ ఫోన్ మరియు LCD నుండి పంపిన SMS / సందేశాన్ని స్వీకరించడానికి GSM మాడ్యూల్ (SIM900A).
మేము SMS ద్వారా “# సర్క్యూట్ డైజెస్ట్ *”, “# మేము మిమ్మల్ని స్వాగతిస్తున్నాము *” వంటి కొన్ని సందేశాలను లేదా నోటీసును పంపవచ్చు. ఇక్కడ మేము '#' అనే సందేశ స్ట్రింగ్లో ఉపసర్గను ఉపయోగించాము. సందేశం లేదా నోటీసు యొక్క ప్రారంభాన్ని గుర్తించడానికి ఈ ఉపసర్గ ఉపయోగించబడుతుంది. మరియు '*' సందేశం లేదా నోటీసు ముగింపును సూచించడానికి ప్రత్యయం వలె ఉపయోగించబడుతుంది.
మేము మొబైల్ ఫోన్ నుండి GSM మాడ్యూల్కు SMS పంపినప్పుడు, GSM ఆ SMS ను స్వీకరించి Arduino కి పంపుతుంది. ఇప్పుడు ఆర్డునో ఈ SMS చదివి, అందుకున్న స్ట్రింగ్ మరియు స్టోర్ల నుండి ప్రధాన నోటీసు సందేశాన్ని మరొక స్ట్రింగ్లో సేకరించండి. ఆపై సేకరించిన సందేశాన్ని తగిన ఆదేశాలను ఉపయోగించి 16x2 LCD కి పంపుతుంది.
ఈ వ్యవస్థ యొక్క మరింత పని క్రింది 'కోడ్ వివరణ' విభాగంలో వివరించబడింది. మేము ప్రోగ్రామింగ్ వివరాల్లోకి రాకముందు GSM మాడ్యూల్ గురించి తెలుసుకోవాలి.
GSM మాడ్యూల్:
GSM (గ్లోబల్ కమ్యూనికేషన్ ఫర్ మొబైల్ కమ్యూనికేషన్స్) టెక్నాలజీపై ఆధారపడిన అనేక కమ్యూనికేషన్ పరికరాల్లో GSM మాడ్యూల్ ఉపయోగించబడుతుంది. ఇది కంప్యూటర్ ఉపయోగించి GSM నెట్వర్క్తో సంభాషించడానికి ఉపయోగించబడుతుంది. GSM మాడ్యూల్ AT ఆదేశాలను మాత్రమే అర్థం చేసుకుంటుంది మరియు తదనుగుణంగా స్పందించగలదు. చాలా ప్రాథమిక ఆదేశం “AT”, GSM సరే స్పందిస్తే అది బాగా పనిచేస్తుంది లేకపోతే అది “ERROR” తో స్పందిస్తుంది. కాల్కు సమాధానం ఇవ్వడానికి ATA, కాల్ డయల్ చేయడానికి ATD, సందేశాన్ని చదవడానికి AT + CMGR, SMS పంపడానికి AT + CMGS వంటి వివిధ AT ఆదేశాలు ఉన్నాయి. AT ఆదేశాలను క్యారేజ్ రిటర్న్ అనగా \ r (హెక్స్లో 0D), “AT + CMGS \ r” వంటిది. ఈ ఆదేశాలను ఉపయోగించి మేము GSM మాడ్యూల్ను ఉపయోగించవచ్చు:
ATE0 ఎకో ఆఫ్ కోసం
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = ”మొబైల్ నంబర్”
ఇప్పుడు మన సందేశాన్ని వ్రాయవచ్చు
>> సందేశం రాసిన తరువాత
Ctrl + Z సందేశ సందేశాన్ని పంపండి (దశాంశంలో 26).
HEX లో ENTER = 0x0d
SIM900 పూర్తి క్వాడ్-బ్యాండ్ GSM / GPRS మాడ్యూల్ GSM / అందిస్తాడు GPRS 850/900/1800 / 1900MHz వాయిస్, SMS మరియు తక్కువ శక్తి వినియోగం తో డేటా కోసం ప్రదర్శన.
సర్క్యూట్ వివరణ:
GSM మరియు Arduino ఉపయోగించి వైర్లెస్ నోటీసు బోర్డు యొక్క కనెక్షన్లు సరళమైనవి మరియు క్రింది చిత్రంలో చూపబడ్డాయి. ఇక్కడ “నోటీసు” లేదా సందేశాన్ని ప్రదర్శించడానికి లిక్విడ్ క్రిస్టల్ డిస్ప్లే (ఎల్సిడి) ఉపయోగించబడుతుంది, ఇది మొబైల్ ఫోన్ను SMS గా పంపబడుతుంది. RS, EN, D4, D5, D6, D7 యొక్క LCD యొక్క డేటా పిన్స్ arduino డిజిటల్ పిన్ నంబర్ 7, 6, 5, 4, 3, 2 తో అనుసంధానించబడి ఉన్నాయి. మరియు GSM మాడ్యూల్ యొక్క Rx మరియు Tx పిన్ నేరుగా Tx మరియు Rx వద్ద అనుసంధానించబడి ఉన్నాయి వరుసగా ఆర్డునో యొక్క పిన్. మరియు GSM మాడ్యూల్ 12 వోల్ట్ అడాప్టర్ ఉపయోగించి శక్తిని పొందుతుంది.
కోడ్ వివరణ:
ప్రోగ్రామ్ యొక్క కోడ్ సులభంగా అర్థమవుతుంది; ఇక్కడ క్రొత్త విషయం GSN ప్రారంభ ఫంక్షన్ gsm_init (), ఇది చివరికి వివరించబడింది.
ప్రోగ్రామ్లో, మొదట మేము లిక్విడ్ క్రిస్టల్ డిస్ప్లే (ఎల్సిడి) కోసం లైబ్రరీని చేర్చుకుంటాము, ఆపై ఎల్సిడి మరియు కొన్ని వేరియబుల్స్ కోసం డేటా మరియు కంట్రోల్ పిన్లను నిర్వచిస్తాము.
# చేర్చండి
దీని తరువాత, సీరియల్ కమ్యూనికేషన్ 9600 బిపిఎస్ వద్ద ప్రారంభించబడుతుంది మరియు ఉపయోగించిన పిన్కు దిశను ఇస్తుంది. మరియు సెటప్ లూప్లో GSM మాడ్యూల్ను ప్రారంభించండి.
శూన్య సెటప్ () {lcd.begin (16,2); సీరియల్.బెగిన్ (9600); పిన్మోడ్ (దారితీసింది, OUTPUT); డిజిటల్ రైట్ (దారితీసింది, అధికం); lcd.print ("GSM ప్రారంభించడం…"); gsm_init (); lcd.setCursor (0,0); lcd.print ("వైర్లెస్ నోటీసు");
డేటాను స్వీకరించడానికి మేము రెండు ఫంక్షన్లను ఉపయోగిస్తాము, ఒకటి సీరియల్. అందుబాటులో ఉంది, ఇది ఏదైనా సీరియల్ డేటా వస్తోందో లేదో తనిఖీ చేస్తుంది మరియు మరొకటి సీరియల్.రెడ్, ఇది సీరియల్గా వచ్చే డేటాను చదువుతుంది.
void serialEvent () {అయితే (Serial.available ()) {char ch = (char) Serial.read (); str = ch; if (ch == '*') {temp = 1; lcd.clear (); lcd.print ("సందేశం స్వీకరించబడింది"); ఆలస్యం (1000); }}}
డేటాను సీరియల్గా స్వీకరించిన తరువాత, మేము దానిని స్ట్రింగ్లో నిల్వ చేస్తాము మరియు నోటీసు లేదా సందేశం యొక్క ప్రారంభ మరియు ముగింపును కనుగొనడానికి ఈ స్ట్రింగ్ '#' మరియు '*' కోసం తనిఖీ చేయబడుతుంది. చివరకు నోటీసు lcd.print ఉపయోగించి LCD లో ముద్రించబడుతుంది:
void loop () {(సంతకం చేయని int t = 0; t <60000; t ++) {serialEvent (); if (temp == 1) {x = 0, k = 0, temp = 0; అయితే (x
GSM కోసం ప్రారంభ ఫంక్షన్ 'gsm_init () ' ఇక్కడ ముఖ్యమైనది, ఇక్కడ మొదట, GSM మాడ్యూల్ GSM మాడ్యూల్కు 'AT' ఆదేశాన్ని పంపడం ద్వారా కనెక్ట్ చేయబడిందా లేదా అని తనిఖీ చేయబడుతుంది. ప్రతిస్పందన సరే అందుకుంటే, అది సిద్ధంగా ఉందని అర్థం. మాడ్యూల్ సిద్ధమయ్యే వరకు లేదా 'సరే' అందుకునే వరకు సిస్టమ్ తనిఖీ చేస్తుంది. ATE0 ఆదేశాన్ని పంపడం ద్వారా ECHO ఆపివేయబడుతుంది, లేకపోతే GSM మాడ్యూల్ అన్ని ఆదేశాలను ప్రతిధ్వనిస్తుంది. చివరకు నెట్వర్క్ లభ్యత 'AT + CPIN?' ద్వారా తనిఖీ చేయబడుతుంది. ఆదేశం, చొప్పించిన కార్డు సిమ్ కార్డ్ మరియు పిన్ ఉంటే, అది ప్రతిస్పందనను ఇస్తుంది + CPIN: READY. నెట్వర్క్ కనుగొనబడే వరకు ఇది కూడా పదేపదే తనిఖీ చేయబడుతుంది. ఈ క్రింది వీడియో ద్వారా దీన్ని స్పష్టంగా అర్థం చేసుకోవచ్చు.
శూన్యమైన gsm_init () {lcd.clear (); lcd.print ("మాడ్యూల్ కనుగొనడం.."); బూలియన్ at_flag = 1; (at_flag) {Serial.println ("AT"); అయితే (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } ఆలస్యం (1000); }