- అవసరమైన భాగాలు:
- పని వివరణ:
- రాస్ప్బెర్రీ పై మొబైల్ ఫోన్ యొక్క నాలుగు లక్షణాలను వివరిస్తుంది:
- సర్క్యూట్ రేఖాచిత్రం మరియు వివరణ:
- ప్రోగ్రామింగ్ వివరణ:
ఈ DIY ప్రాజెక్ట్ లో మేము ఒక నిర్మించడానికి వెళ్తున్నారు రాస్ప్బెర్రీ పై ఉపయోగించి సాధారణ మొబైల్ ఫోన్ GSM మాడ్యూల్ చేయండి లేదా కాల్ సమాధానం మరియు పంపడానికి లేదా SMS చదవండి ఉపయోగిస్తారు దీనిలో, , మరియు కూడా ఈ రాస్ప్బెర్రీ పై ఫోన్ను ఈ పైగా చర్చ మైక్ మరియు స్పీకర్ ఉంది ఫోన్ . ఈ ప్రాజెక్ట్ రాస్ప్బెర్రీ పైతో GSM మాడ్యూల్ యొక్క సరైన ఇంటర్ఫేసింగ్గా ఉపయోగపడుతుంది, ఏదైనా ఫోన్ యొక్క ప్రాథమిక విధులను నిర్వహించడానికి అవసరమైన అన్ని కోడ్తో. ఇంతకుముందు మేము ఆర్డునో ఉపయోగించి ఒకే రకమైన సింపుల్ మొబైల్ ఫోన్ను నిర్మించాము, ఇక్కడ తనిఖీ చేయండి
అవసరమైన భాగాలు:
- రాస్ప్బెర్రీ పై 3 (ఏదైనా మోడల్)
- GSM మాడ్యూల్
- 16x2 LCD
- 4x4 కీప్యాడ్ (వినియోగదారు మెమ్బ్రేన్ కీప్యాడ్ను ఉపయోగించవచ్చు)
- 10 కే కుండ
- బ్రెడ్బోర్డ్
- జంపర్ వైర్ కనెక్ట్
- విద్యుత్ పంపిణి
- స్పీకర్
- MIC
- సిమ్ కార్డు
- స్పీకర్
- ఆడియో యాంప్లిఫైయర్ సర్క్యూట్ (ఐచ్ఛికం)
పని వివరణ:
ఈ రాస్ప్బెర్రీ పై మొబైల్ ఫోన్ ప్రాజెక్ట్ లో, మొత్తం సిస్టమ్ యొక్క లక్షణాలను నియంత్రించడానికి మరియు ఈ వ్యవస్థలోని అన్ని భాగాలను ఇంటర్ఫేస్ చేయడానికి మేము GSM మాడ్యూల్ మరియు రాస్ప్బెర్రీ పై 3 ని ఉపయోగించాము. ఒక 4x4 ఆల్ఫాన్యూమరిక్ కీప్యాడ్ వంటి ఉపకరణాల అన్ని రకాల తీసుకొని ఉపయోగిస్తారు: మొబైల్ సంఖ్య, రకం సందేశాలను నమోదు, కాల్ చేయడానికి కాల్ పంపు SMS అందుకుంటారు, SMS చదవండి మొదలైనవి GSM మాడ్యూల్ SIM900A కాల్ మరియు సందేశ కోసం నెట్వర్క్తో కమ్యూనికేట్ చేయడానికి ఉపయోగిస్తారు ప్రయోజనం. మేము ఒక MIC మరియు వాయిస్ కాల్ మరియు రింగ్ సౌండ్ కోసం స్పీకర్ను కూడా ఇంటర్ఫేస్ చేసాము మరియు సందేశాలు, సూచనలు మరియు హెచ్చరికలను చూపించడానికి 16x2 LCD ఉపయోగించబడుతుంది.
ఆల్ఫాన్యూమరిక్ అనేది ఒకే కీప్యాడ్ను ఉపయోగించడం ద్వారా సంఖ్యలు మరియు వర్ణమాలలను నమోదు చేసే పద్ధతి. ఈ పద్ధతిలో, మేము రాస్ప్బెర్రీ పైతో 4x4 కీప్యాడ్ను ఇంటర్ఫేస్ చేసాము మరియు వర్ణమాలలను అంగీకరించడానికి వ్రాతపూర్వక కోడ్, దిగువ కోడ్ విభాగంలో కోడ్ను తనిఖీ చేయండి.
ఈ ప్రాజెక్ట్ యొక్క పని సులభం. ఆల్ఫాన్యూమరిక్ కీప్యాడ్ను ఉపయోగించడం ద్వారా అన్ని లక్షణాలు ప్రదర్శించబడతాయి. ప్రక్రియను సరిగ్గా అర్థం చేసుకోవడానికి పూర్తి కోడ్ మరియు దిగువ డెమో వీడియోను తనిఖీ చేయండి. ఇక్కడ మేము క్రింద ఉన్న ప్రాజెక్టుల యొక్క నాలుగు లక్షణాలను వివరించబోతున్నాము.
రాస్ప్బెర్రీ పై మొబైల్ ఫోన్ యొక్క నాలుగు లక్షణాలను వివరిస్తుంది:
1. కాల్ చేయండి:
మా రాస్ప్బెర్రీ పై ఆధారిత ఫోన్ను ఉపయోగించి కాల్ చేయడానికి, మేము 'సి' నొక్కాలి, ఆపై మేము కాల్ చేయాలనుకుంటున్న మొబైల్ నంబర్ను నమోదు చేయాలి. ఆల్ఫాన్యూమరిక్ కీప్యాడ్ ఉపయోగించి సంఖ్య నమోదు చేయబడుతుంది. సంఖ్యను నమోదు చేసిన తరువాత మనం మళ్ళీ 'సి' నొక్కాలి. AT ఆదేశాన్ని ఉపయోగించి ఎంటర్ చేసిన నంబర్కు కాల్ను కనెక్ట్ చేయడానికి ఇప్పుడు రాస్ప్బెర్రీ పై ప్రాసెస్ చేస్తుంది:
ATDxxxxxxxxx;
2. కాల్ స్వీకరించండి:
కాల్ స్వీకరించడం చాలా సులభం. GSM మాడ్యూల్లో ఉన్న మీ సిస్టమ్ సిమ్ నంబర్కు ఎవరైనా కాల్ చేస్తున్నప్పుడు, మీ సిస్టమ్ ఎల్సిడి ద్వారా ఇన్కమింగ్ నంబర్ కాలర్తో 'ఇన్కమింగ్…' సందేశాన్ని చూపుతుంది. ఇప్పుడు మేము ఈ కాల్కు హాజరు కావడానికి 'A' నొక్కాలి. మేము 'A' నొక్కినప్పుడు, రాస్ప్బెర్రీ పై GSM మాడ్యూల్కు ఇచ్చిన ఆదేశాన్ని పంపుతుంది:
ATA
3. SMS పంపండి:
మన రాస్ప్బెర్రీ పై ఆధారిత ఫోన్ ఉపయోగించి ఎస్ఎంఎస్ పంపాలనుకున్నప్పుడు, మనం 'డి' నొక్కాలి. ఇప్పుడు సిస్టమ్ స్వీకర్త సంఖ్యను అడుగుతుంది, అంటే 'ఎవరికి' మేము SMS పంపాలనుకుంటున్నాము. సంఖ్యను నమోదు చేసిన తరువాత మనం మళ్ళీ 'D' నొక్కాలి మరియు ఇప్పుడు LCD సందేశం అడుగుతుంది. కీప్యాడ్ను ఉపయోగించడం ద్వారా ఇప్పుడు మనం సాధారణ మొబైల్లో ఎంటర్ చేసినట్లుగా సందేశాన్ని టైప్ చేయాలి మరియు సందేశాన్ని నమోదు చేసిన తర్వాత SMS పంపడానికి మళ్ళీ 'D' నొక్కాలి. SMS పంపడానికి రాస్ప్బెర్రీ పై ఇచ్చిన ఆదేశాన్ని పంపుతుంది:
AT + CMGF = 1
మరియు SMS పంపడానికి GSM కి 26 పంపండి.
4. SMS ను స్వీకరించండి మరియు చదవండి:
ఈ లక్షణం కూడా సులభం. ఇందులో, GSM SMS ను స్వీకరించి సిమ్ కార్డులో నిల్వ చేస్తుంది. మరియు రాస్ప్బెర్రీ పై UART పై అందుకున్న SMS సూచనను నిరంతరం పర్యవేక్షిస్తుంది. క్రొత్త సందేశం ఉన్నప్పుడల్లా ఎల్సిడి “క్రొత్త సందేశం” వచనాన్ని చూపుతుంది, ఆపై మనం SMS చదవడానికి 'B' నొక్కాలి. SMS అందుకున్న సూచన:
+ CMTI: “SM”, 6 ఎక్కడ 6 అనేది సిమ్ కార్డులో నిల్వ చేసిన సందేశ స్థానం.
రాస్ప్బెర్రీ పై ఈ 'SMS అందుకున్న' సూచనను పొందినప్పుడు, అది SMS నిల్వ చేసే స్థలాన్ని సంగ్రహిస్తుంది మరియు అందుకున్న SMS చదవడానికి GSM కి ఆదేశాన్ని పంపుతుంది. మరియు LCD ద్వారా 'క్రొత్త సందేశం' వచనాన్ని చూపించు.
AT + CMGR =
ఇప్పుడు GSM నిల్వ చేసిన సందేశాన్ని రాస్ప్బెర్రీ పైకి పంపుతుంది, ఆపై రాస్ప్బెర్రీ పై ప్రధాన SMS ను సంగ్రహిస్తుంది మరియు దానిని LCD ద్వారా ప్రదర్శిస్తుంది.
గమనిక: MIC మరియు స్పీకర్ కోసం కోడింగ్ లేదు.
ప్రక్రియను సరిగ్గా అర్థం చేసుకోవడానికి పూర్తి కోడ్ మరియు దిగువ డెమో వీడియోను తనిఖీ చేయండి.
సర్క్యూట్ రేఖాచిత్రం మరియు వివరణ:
16x2 LCD పిన్స్ RS, EN, D4, D5, D6 మరియు D7 వరుసగా రాస్ప్బెర్రీ పై యొక్క GPIO పిన్ నంబర్ 18, 23, 24, 25, 8 మరియు 7 తో అనుసంధానించబడి ఉన్నాయి. GSM మాడ్యూల్ యొక్క Rx మరియు Tx పిన్ వరుసగా రాస్ప్బెర్రీ పై యొక్క పిన్ Tx మరియు Rx లతో అనుసంధానించబడి ఉన్నాయి (గ్రౌండ్ ఆఫ్ రాస్ప్బెర్రీ పై మరియు GSM ఒకదానితో ఒకటి అనుసంధానించబడి ఉండాలి). 4x4 కీప్యాడ్ రో పిన్స్ R1, R2, R3, R4 నేరుగా రాస్ప్బెర్రీ పై యొక్క GPIO పిన్ నంబర్ 12,16, 20, 21 మరియు కీప్యాడ్ C1, C2, C3, C4 యొక్క కాలమ్ పిన్తో GPIO పిన్ నంబర్ 26, 19, రాస్ప్బెర్రీ పై 13 మరియు 6. MIC నేరుగా మైక్ + మరియు మైక్- జిఎస్ఎమ్ మాడ్యూల్కు అనుసంధానించబడి ఉంది మరియు అవుట్పుట్ ఆడియోను విస్తరించడానికి స్పీకర్ ఈ ఆడియో యాంప్లిఫైయర్ సర్క్యూట్ సహాయంతో జిఎస్ఎమ్ మాడ్యూల్ కోసం ఎస్ + మరియు ఎస్ పిన్స్ వద్ద కనెక్ట్ చేయబడింది. ఈ ఆడియో యాంప్లిఫైయర్ సర్క్యూట్ ఐచ్ఛికం మరియు మీరు ఈ ఆడియో యాంప్లిఫైయర్ లేకుండా నేరుగా స్పీకర్ను GSM మాడ్యూల్కు కనెక్ట్ చేయవచ్చు.
ప్రోగ్రామింగ్ వివరణ:
ఈ రాస్ప్బెర్రీ పై మొబైల్ ఫోన్ యొక్క ప్రోగ్రామింగ్ భాగం ప్రారంభకులకు కొద్దిగా క్లిష్టంగా ఉంటుంది. మేము ప్రోగ్రామ్ కోసం ఇక్కడ పైథాన్ భాషను ఉపయోగిస్తున్నాము. మీరు రాస్ప్బెర్రీ పైలో ఒక అనుభవశూన్యుడు అయితే, మీరు రాస్ప్బెర్రీ పైతో ప్రారంభించడానికి మరియు పైలో రాస్పియన్ జెస్సీ OS ని వ్యవస్థాపించడం మరియు ఆకృతీకరించడం కోసం మా మునుపటి ట్యుటోరియల్స్ ను తనిఖీ చేయాలి.
ఈ కోడ్లో , మేము డెఫ్ కీప్యాడ్ () ను సృష్టించాము : సంఖ్యలను నమోదు చేయడానికి సాధారణ కీప్యాడ్ను ఇంటర్ఫేస్ చేయడానికి ఫంక్షన్. మరియు వర్ణమాలలను నమోదు చేయడానికి, మేము డెఫ్ ఆల్ఫాకీప్యాడ్ () ను సృష్టించాము : కాబట్టి అదే కీప్యాడ్ వర్ణమాలలను కూడా నమోదు చేయడానికి ఉపయోగించవచ్చు. ఇప్పుడు మేము ఈ కీప్యాడ్ బహుళ పనితీరును ఆర్డునో కీప్యాడ్ లైబ్రరీ వలె చేసాము. ఈ కీప్యాడ్ను ఉపయోగించడం ద్వారా మనం 10 కీలను మాత్రమే ఉపయోగించడం ద్వారా అక్షరాలను మరియు పూర్ణాంకాన్ని నమోదు చేయవచ్చు.
మనం కీ 2 (ఎబిసి 2) ను నొక్కితే, అది 'ఎ' ను చూపిస్తుంది మరియు మనం దాన్ని మళ్ళీ నొక్కితే అది 'ఎ' ను 'బి' గా మారుస్తుంది మరియు మళ్ళీ మనం మూడుసార్లు నొక్కితే అదే స్థలంలో 'సి' చూపిస్తుంది LCD లో. కీని నొక్కిన తర్వాత మేము కొంత సమయం వేచి ఉంటే, కర్సర్ స్వయంచాలకంగా LCD లో తదుపరి స్థానానికి వెళుతుంది. ఇప్పుడు మనం తదుపరి చార్ లేదా సంఖ్యను నమోదు చేయవచ్చు. ఇతర కీల కోసం ఇదే విధానం వర్తించబడుతుంది.
డెఫ్ కీప్యాడ్ (): j పరిధిలో (4): gpio.setup (COL, gpio.OUT) gpio.output (COL, 0) ch = 0 నేను పరిధిలో (4): gpio.input (ROW) = ఉంటే = 0: ch = MATRIX తిరిగి వచ్చేటప్పుడు (gpio.input (ROW) == 0): పాస్ gpio.output (COL, 1)
def alphaKeypad (): lcdclear () setCursor (x, y) lcdcmd (0x0f) msg = "" అయితే 1: key = 0 count = 0 key = keypad () key == '1' అయితే: ind = 0 maxInd = 6 కీ = '1' getChar (కీ, ఇండ్, మాక్స్ఇండ్)……………….
అన్నింటిలో మొదటిది, ఈ పైథాన్ లిపిలో మేము ఎల్సిడి, కీప్యాడ్ మరియు ఇతర భాగాల కోసం అవసరమైన కొన్ని లైబ్రరీలను మరియు నిర్వచించిన పిన్లను చేర్చాము:
RPi.GPIO ను gpio దిగుమతి సీరియల్ దిగుమతి సమయం msg = "" ఆల్ఫా = "1! @.,:? ABC2DEF3GHI4JKL5MNO6PQRS7TUV8WXYZ90 * #" x = 0 y = 0 MATRIX =,,,…………
ఇప్పుడు పిన్స్కు దిశానిర్దేశం చేసే సమయం:
gpio.setwarnings (తప్పుడు) gpio.setmode (gpio.BCM) gpio.setup (RS, gpio.OUT) gpio.setup (EN, gpio.OUT) gpio.setup (D4, gpio.OUT) gpio.setup (D5, gpio.OUT) gpio.setup (D6, gpio.OUT) gpio.setup (D7, gpio.OUT) gpio.setup (led, gpio.OUT) gpio.setup (buz, gpio.OUT) gpio.setup (m11, gpio.OUT) gpio.setup (m12, gpio.OUT) gpio.setup (బటన్, gpio.IN) gpio.output (led, 0) gpio.output (buz, 0) gpio.output (m11, 0) gpio. అవుట్పుట్ (m12, 0)
ఈ క్రింది విధంగా సీరియల్ కమ్యూనికేషన్ను ప్రారంభించండి:
సీరియల్ = సీరియల్.స్రియల్ ("/ dev / ttyS0", బౌడ్రేట్ = 9600, సమయం ముగిసింది = 2)
ఇప్పుడు మనం ఎల్సిడి డ్రైవింగ్ కోసం కొంత ఫంక్షన్ రాయాలి. ఫంక్షన్ def lcdcmd (ch): LCD కి ఆదేశాన్ని పంపడానికి మరియు def lcdwrite (ch) కోసం ఉపయోగిస్తారు : LCD కి డేటాను పంపడానికి ఫంక్షన్ ఉపయోగించబడుతుంది. ఈ ఫంక్షన్లతో పాటు, def lcdclear (): LCD ని క్లియర్ చేయడానికి ఉపయోగిస్తారు, def setCursor (x, y): LCD వద్ద కర్సర్ స్థానాన్ని సెట్ చేయడానికి ఉపయోగిస్తారు మరియు def lcdprint (Str): LCD లో స్ట్రింగ్ను ముద్రించడానికి ఉపయోగిస్తారు.
def lcdcmd (ch): gpio.output (RS, 0) gpio.output (D4, 0) gpio.output (D5, 0) gpio.output (D6, 0) gpio.output (D7, 0) ఉంటే ch & 0x10 == 0x10: gpio.output (D4, 1)………………….
def lcdwrite (ch): gpio.output (RS, 1) gpio.output (D4, 0) gpio.output (D5, 0) gpio.output (D6, 0) gpio.output (D7, 0) ఉంటే ch & 0x10 == 0x10: gpio.output (D4, 1) ఉంటే ch & 0x20 == 0x20: gpio.output (D5, 1)………………….
def lcdclear (): lcdcmd (0x01) def lcdprint (Str): l = 0; l = len (Str) i పరిధిలో (l): lcdwrite (ord (Str)) def setCursor (x, y): if y == 0: n = 128 + x elif y == 1: n = 192 + x lcdcmd (n)
దీని తరువాత మేము SMS పంపడం, SMS స్వీకరించడం, కాల్ చేయడం మరియు కాల్కు హాజరు కావడానికి కొన్ని విధులను వ్రాయాలి.
ఫంక్షన్ డెఫ్ కాల్ (): కాల్ చేయడానికి ఉపయోగిస్తారు. మరియు ఫంక్షన్ డెఫ్ రిసీవ్ కాల్ (డేటా): ఎల్సిడిలో ఇన్కమింగ్ సందేశం మరియు సంఖ్యను చూపించడానికి ఉపయోగిస్తారు. చివరగా డెఫ్ హాజరు కాల్ (): కాల్కు హాజరు కావడానికి ఉపయోగిస్తారు.
ఫంక్షన్ డెఫ్ సెండ్ఎంఎస్ (): ఆల్ఫాకీప్యాడ్ () ఫంక్షన్ సహాయంతో సందేశాన్ని వ్రాయడానికి మరియు పంపడానికి ఉపయోగిస్తారు. మరియు ఫంక్షన్ డెఫ్ రిసీవ్ ఎస్ఎంఎస్ (డేటా): SMS యొక్క స్థానాన్ని స్వీకరించడానికి మరియు తిరిగి పొందటానికి ఉపయోగిస్తారు. చివరగా డెఫ్ రీడ్ ఎస్ఎంఎస్ (ఇండెక్స్): సందేశాన్ని ఎల్సిడిలో ప్రదర్శించడానికి ఉపయోగిస్తారు.
మీరు క్రింద ఇచ్చిన కోడ్లో పైన పేర్కొన్న అన్ని విధులను కనుగొనవచ్చు.
కాబట్టి మీరు మీ రాస్ప్బెర్రీ పైని GSM మాడ్యూల్ సహాయంతో మొబైల్ ఫోన్గా మార్చవచ్చు. ఈ రాస్ప్బెర్రీ పై టచ్ స్క్రీన్ స్మార్ట్ ఫోన్ను కూడా తనిఖీ చేయండి.