- బ్లూటూత్ కమ్యూనికేషన్ కోసం అవసరమైన ప్యాకేజీలను వ్యవస్థాపించడం:
- బ్లూటూత్ ద్వారా రాస్ప్బెర్రీ పైతో పరికరాలను జత చేయడం:
- సర్క్యూట్ రేఖాచిత్రం:
- Android అనువర్తనం బ్లూటెర్మ్తో AC ఉపకరణాన్ని నియంత్రించడం:
- ప్రోగ్రామింగ్ వివరణ:
రాస్ప్బెర్రీ పై IoT ప్రాజెక్టులకు బాగా ప్రాచుర్యం పొందింది ఎందుకంటే ఇంటర్నెట్ ద్వారా వైర్లెస్ కమ్యూనికేషన్ యొక్క అతుకులు సామర్థ్యం. రాస్ప్బెర్రీ పై 3 లో అంతర్నిర్మిత వై-ఫై మరియు బ్లూటూత్ ఉన్నాయి, మరియు బ్లూటూత్ చాలా ప్రాచుర్యం పొందిన వైర్లెస్ కమ్యూనికేషన్ ప్రోటోకాల్. కాబట్టి ఈ రోజు మనం రాస్ప్బెర్రీ పై 3 మరియు బ్లూటూత్ ఉపయోగించి స్మార్ట్ ఫోన్ ద్వారా గృహోపకరణాలను నియంత్రించబోతున్నాం.
ఇక్కడ మేము అంతర్నిర్మిత బ్లూటూత్ కలిగి ఉన్న రాస్ప్బెర్రీ పై 3 ని ఉపయోగిస్తున్నాము, కాబట్టి మనం బాహ్య USB బ్లూటూత్ డాంగల్ ఉపయోగించాల్సిన అవసరం లేదు. అలా కాకుండా ఈ వైర్లెస్ హోమ్ ఆటోమేషన్ ప్రాజెక్ట్ కోసం మాకు రిలే మాడ్యూల్స్ మాత్రమే అవసరం. ఇక్కడ మేము వైర్లెస్ కమ్యూనికేషన్ కోసం RFCOMM బ్లూటూత్ ప్రోటోకాల్ను ఉపయోగిస్తున్నాము.
పైథాన్లో బ్లూటూత్ కోసం ప్రోగ్రామింగ్ సాకెట్ ప్రోగ్రామింగ్ నమూనాను అనుసరిస్తుంది మరియు బ్లూటూత్ పరికరాల మధ్య సమాచార మార్పిడి RFCOMM సాకెట్ ద్వారా జరుగుతుంది. RFCOMM (రేడియో ఫ్రీక్వెన్సీ కమ్యూనికేషన్) అనేది బ్లూటూత్ ప్రోటోకాల్, ఇది ఎమ్యులేటెడ్ RS-232 సీరియల్ పోర్టులను అందించింది మరియు దీనిని సీరియల్ పోర్ట్ ఎమ్యులేషన్ అని కూడా పిలుస్తారు. బ్లూటూత్ సీరియల్ పోర్ట్ ప్రొఫైల్ ఈ ప్రోటోకాల్ ఆధారంగా ఉంటుంది. RFCOMM బ్లూటూత్ అనువర్తనాలలో బాగా ప్రాచుర్యం పొందింది ఎందుకంటే దాని విస్తృత మద్దతు మరియు పబ్లిక్గా అందుబాటులో ఉన్న API. ఇది L2CAP ప్రోటోకాల్కు కట్టుబడి ఉంటుంది.
మీకు రాస్ప్బెర్రీ పై 2 ఉంటే, మీరు బాహ్య బ్లూటూత్ డాంగిల్ లేదా బ్లూటూత్ మాడ్యూల్ HC-06 ను ఉపయోగించాలి. ఈ బాహ్య బ్లూటూత్ పరికరాలను ఉపయోగించడం కోసం మా మునుపటి ప్రాజెక్ట్లను తనిఖీ చేయండి: రాస్ప్బెర్రీ పై GP ను ఉపయోగించి Android అనువర్తనాన్ని ఉపయోగించి బ్లూటూత్ మరియు రాస్ప్బెర్రీ పై ఉపయోగించి వాయిస్ నియంత్రిత LED లను ఉపయోగించడం. కొన్ని మంచి IoT ప్రాజెక్ట్లతో పాటు మా మునుపటి రాస్ప్బెర్రీ పై ప్రాజెక్ట్లను కూడా తనిఖీ చేయండి.
బ్లూటూత్ కమ్యూనికేషన్ కోసం అవసరమైన ప్యాకేజీలను వ్యవస్థాపించడం:
ప్రారంభించడానికి ముందు, రాస్ప్బెర్రీ పైలో బ్లూటూత్ కమ్యూనికేషన్ను ఏర్పాటు చేయడానికి మేము కొన్ని సాఫ్ట్వేర్లను ఇన్స్టాల్ చేయాలి. మీరు రాస్ప్బెర్రీ పైతో రాస్పియన్ జెస్సీ వ్యవస్థాపించిన మెమరీ కార్డును కలిగి ఉండాలి. రాస్ప్బియన్ OS ని ఇన్స్టాల్ చేయడానికి మరియు రాస్ప్బెర్రీ పైతో ప్రారంభించడానికి ఈ కథనాన్ని తనిఖీ చేయండి. కాబట్టి ఇప్పుడు మనం మొదట దిగువ ఆదేశాలను ఉపయోగించి రాస్పియన్ను నవీకరించాలి:
sudo apt-get update sudo apt-get update
అప్పుడు మేము కొన్ని బ్లూటూత్ సంబంధిత ప్యాకేజీలను వ్యవస్థాపించాలి:
sudo apt-get install బ్లూటూత్ బ్లూమాన్ బ్లూజ్
అప్పుడు రాస్ప్బెర్రీ పైని రీబూట్ చేయండి:
sudo రీబూట్
బ్లూజెడ్ అనేది ఓపెన్ సోర్స్ ప్రాజెక్ట్ మరియు అధికారిక లైనక్స్ బ్లూటూత్ ప్రోటోకాల్ స్టాక్. ఇది అన్ని కోర్ బ్లూటూత్ ప్రోటోకాల్లకు మద్దతు ఇస్తుంది మరియు ఇప్పుడు అధికారిక లైనక్స్ కెర్నల్లో భాగమైంది.
బ్లూటూత్ పరికరాలను నిర్వహించడానికి మరియు నియంత్రించడానికి డెస్క్టాప్ ఇంటర్ఫేస్ను బ్లూమాన్ అందిస్తుంది.
చివరగా మాకు బ్లూటూత్ కమ్యూనికేషన్ కోసం పైథాన్ లైబ్రరీ అవసరం, తద్వారా పైథాన్ భాషను ఉపయోగించి RFCOMM ద్వారా డేటాను పంపవచ్చు మరియు స్వీకరించవచ్చు:
sudo apt-get install పైథాన్-బ్లూటూత్
రాస్ప్బెర్రీ పై కోసం GPIO మద్దతు లైబ్రరీలను కూడా వ్యవస్థాపించండి:
sudo apt-get install python-rpi.gpio
ఇప్పుడు మేము రాస్ప్బెర్రీ పైలో బ్లూటూత్ కమ్యూనికేషన్ కోసం అవసరమైన ప్యాకేజీలను వ్యవస్థాపించాము.
బ్లూటూత్ ద్వారా రాస్ప్బెర్రీ పైతో పరికరాలను జత చేయడం:
రాస్ప్బెర్రీ పైతో మొబైల్ ఫోన్ వంటి బ్లూటూత్ పరికరాలను జత చేయడం చాలా సులభం. ఇక్కడ మేము మా Android స్మార్ట్ ఫోన్ను రాస్ప్బెర్రీ పైతో జత చేసాము. మేము ఇంతకుముందు పైలో బ్లూజెడ్ను ఇన్స్టాల్ చేసాము, ఇది మా బ్లూటూత్ పరికరాలను నిర్వహించడానికి “బ్లూటూత్క్ట్ల్” అనే కమాండ్ లైన్ యుటిలిటీని అందిస్తుంది.
ఇప్పుడు దిగువ ఆదేశం ద్వారా బ్లూటూత్క్ట్ యుటిలిటీని తెరవండి:
sudo బ్లూటూత్క్ట్ల్
'సహాయం' అని టైప్ చేయడం ద్వారా మీరు బ్లూటూత్క్ట్ యుటిలిటీ యొక్క అన్ని ఆదేశాలను తనిఖీ చేయవచ్చు. ప్రస్తుతానికి మనం ఇచ్చిన క్రమంలో క్రింద ఆదేశాలను నమోదు చేయాలి:
# స్కాన్ ఆన్లో # పేరెంట్పై # కనుగొనదగిన # ఏజెంట్పై # శక్తి
చివరి ఆదేశం “స్కాన్ ఆన్” తరువాత, మీరు జాబితాలో మీ బ్లూటూత్ పరికరాన్ని (మొబైల్ ఫోన్) చూస్తారు. మీ మొబైల్ బ్లూటూత్ ఆన్ చేసి, సమీప పరికరాల ద్వారా కనిపించేలా చూసుకోండి. అప్పుడు మీ పరికరం యొక్క MAC చిరునామాను కాపీ చేసి, ఇచ్చిన ఆదేశాన్ని ఉపయోగించి జత చేయండి:
జత
అప్పుడు మీరు మీ టెర్మినల్ కన్సోల్లో పాస్కోడ్ లేదా పిన్ కోసం ప్రాంప్ట్ చేయబడతారు, ఆపై పాస్కోడ్ను టైప్ చేసి ఎంటర్ నొక్కండి. ప్రాంప్ట్ చేసినప్పుడు అదే పాస్కోడ్ను మీ మొబైల్ ఫోన్లో టైప్ చేయండి మరియు మీరు ఇప్పుడు రాస్ప్బెర్రీ పైతో విజయవంతంగా జత చేస్తారు. మునుపటి GPIO కంట్రోలింగ్ ట్యుటోరియల్లో ఇచ్చిన వీడియోలో కూడా ఈ మొత్తం ప్రక్రియను వివరించాము. ఇక్కడ ప్రత్యక్ష యూట్యూబ్ లింక్ ఉంది.
ముందే చెప్పినట్లుగా, మీరు మొబైల్ ఫోన్ను జత చేయడానికి డెస్క్టాప్ ఇంటర్ఫేస్ను కూడా ఉపయోగించవచ్చు. బ్లూమాన్ను ఇన్స్టాల్ చేసిన తర్వాత, క్రింద చూపిన విధంగా మీ రాస్ప్బెర్రీ పై డెస్క్టాప్ యొక్క కుడి వైపున బ్లూటూత్ చిహ్నాన్ని మీరు చూస్తారు, వీటిని ఉపయోగించి మీరు సులభంగా జత చేయవచ్చు.
సర్క్యూట్ రేఖాచిత్రం:
ఈ రాస్ప్బెర్రీ పై ఆధారిత బ్లూటూత్ కంట్రోల్డ్ హోమ్ ఆటోమేషన్ కోసం సర్క్యూట్ రేఖాచిత్రం చాలా సులభం, మేము రిలే మాడ్యూల్ యొక్క ఇన్పుట్ సిగ్నల్ పిన్ను పిన్ 40 (GPIO 21) కు రాస్ప్బెర్రీ పై మరియు ఇతర రెండు పిన్ (రిలే మాడ్యూల్ యొక్క VCC మరియు GND) ను పిన్ 2 మరియు 6 కి కనెక్ట్ చేసాము. రాస్ప్బెర్రీ పై 3. అప్పుడు మేము సర్క్యూట్ రేఖాచిత్రంలో చూపిన విధంగా AC సిఎఫ్ఎల్ బల్బును రిలేకి కనెక్ట్ చేసాము:
మీరు రిలేకి కొత్తగా ఉంటే మరియు రిలే మరియు ఎసి ఉపకరణంతో దాని కనెక్షన్ల గురించి మరింత తెలుసుకోవాలనుకుంటే, ఈ ఆర్టికల్ను తనిఖీ చేయండి.
Android అనువర్తనం బ్లూటెర్మ్తో AC ఉపకరణాన్ని నియంత్రించడం:
ఇప్పుడు మొబైల్ ఫోన్ను అన్వయించిన తరువాత , బ్లూటూత్ సీరియల్ అడాప్టర్ను ఉపయోగించి రాస్ప్బెర్రీ పైతో కమ్యూనికేట్ చేయడానికి మేము ఒక Android అనువర్తనాన్ని ఇన్స్టాల్ చేయాలి , తద్వారా మేము రాస్ప్బెర్రీ పై యొక్క GPIO పిన్లను నియంత్రించవచ్చు. ఇంతకు ముందు చెప్పినట్లుగా RFCOMM / SPP ప్రోటోకాల్ బ్లూటూత్ ద్వారా సీరియల్ కమ్యూనికేషన్ను అనుకరిస్తుంది, కాబట్టి మేము ఈ ప్రోటోకాల్కు మద్దతు ఇచ్చే బ్లూటెర్మ్ యాప్ను ఇక్కడ ఇన్స్టాల్ చేసాము.
మీరు RFCOMM సాకెట్ ద్వారా కమ్యూనికేషన్కు మద్దతు ఇచ్చే ఇతర బ్లూటూత్ టెర్మినల్ అనువర్తనాన్ని కూడా ఉపయోగించవచ్చు.
ఇప్పుడు బ్లూటెర్మ్ యాప్ను డౌన్లోడ్ చేసి, ఇన్స్టాల్ చేసిన తర్వాత, టెర్మినల్ నుండి క్రింద ఇచ్చిన పైథాన్ ప్రోగ్రామ్ను రన్ చేయండి మరియు అదే సమయంలో బ్లూటెర్మ్ యాప్ నుండి జత చేసిన కోరిందకాయ పరికరాన్ని కనెక్ట్ చేయండి.
విజయవంతమైన కనెక్షన్ తర్వాత మీరు కనెక్ట్ చేయబడినట్లు చూస్తారు : క్రింద చూపిన విధంగా అనువర్తనం యొక్క కుడి ఎగువ మూలలో కోరిందకాయ :
ఇప్పుడు మీరు వరుసగా GPIO పిన్ను అధికంగా మరియు తక్కువగా చేయడానికి బ్లూటెర్మ్ అనువర్తనం నుండి '1' లేదా '0' ను నమోదు చేయవచ్చు, ఇది ఈ పిన్కు అనుసంధానించబడిన రిలే మాడ్యూల్ను ప్రేరేపిస్తుంది, ఇది రిలేకు కనెక్ట్ చేయబడిన AC బల్బును మరింత నియంత్రిస్తుంది. ప్రోగ్రామ్ నుండి నిష్క్రమించడానికి 'q' నొక్కండి. మీ వాయిస్ని ఉపయోగించి GPIO ని నియంత్రించడానికి మీరు Google వాయిస్ టైపింగ్ కీబోర్డ్ను ఉపయోగించవచ్చు. చివరిలో ఇచ్చిన వీడియోలో పూర్తి డెమోని తనిఖీ చేయండి.
కాబట్టి మీరు బ్లూటూత్ ద్వారా Android అనువర్తనాన్ని ఉపయోగించి AC ఉపకరణాన్ని వైర్లెస్గా నియంత్రించవచ్చు. Arduino తో బ్లూటూత్ ఎలా ఉపయోగించాలో కూడా తనిఖీ చేయండి.
ప్రోగ్రామింగ్ వివరణ:
ఆండ్రాయిడ్ యాప్తో రాస్ప్బెర్రీ పై GPIO ని నియంత్రించడానికి పైథాన్ ప్రోగ్రామ్ చాలా సులభం మరియు స్వీయ వివరణాత్మకమైనది. బ్లూటూత్ RFCOMM కమ్యూనికేషన్కు సంబంధించిన కోడ్ గురించి మనం కొంచెం నేర్చుకోవాలి. మొదట మనం బ్లూటూత్ సాకెట్ లైబ్రరీని దిగుమతి చేసుకోవాలి, ఇది పైథాన్ భాషతో బ్లూటూత్ను నియంత్రించగలుగుతుంది; మేము మునుపటి విభాగంలో లైబ్రరీని ఇన్స్టాల్ చేసాము.
బ్లూటూత్ దిగుమతి
బ్లూటూత్ కమ్యూనికేషన్కు బాధ్యత వహించే కోడ్ క్రింద ఉంది:
server_socket = bluetooth.BluetoothSocket (బ్లూటూత్. డేటా = client_socket.recv (1024)
ఇక్కడ మనం వాటిని పంక్తిగా అర్థం చేసుకోవచ్చు:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM): బ్లూటూత్ RFCOMM కమ్యూనికేషన్ కోసం సాకెట్ను సృష్టిస్తోంది.
server_socket.bind (("", పోర్ట్): - సర్వర్ స్క్రిప్ట్ను హోస్ట్ '' పై పోర్ట్కు బంధిస్తుంది.
server_socket.listen (1) : ఒక సమయంలో ఒక కనెక్షన్ను అంగీకరించడానికి సర్వర్ వింటుంది.
client_socket, address = server_socket.accept () : సర్వర్ క్లయింట్ యొక్క కనెక్షన్ అభ్యర్థనను అంగీకరిస్తుంది మరియు మాక్ చిరునామాను వేరియబుల్ చిరునామాకు కేటాయించండి , client_socket క్లయింట్ యొక్క సాకెట్
data = client_socket.recv (1024): క్లయింట్ సాకెట్ client_socket ద్వారా డేటాను స్వీకరించండి మరియు దానిని వేరియబుల్ డేటాకు కేటాయించండి. ఒకేసారి గరిష్టంగా 1024 అక్షరాలను స్వీకరించవచ్చు.
చివరగా అన్ని ప్రోగ్రామింగ్ తరువాత, దిగువ కోడ్ ఉపయోగించి క్లయింట్ మరియు సర్వర్ కనెక్షన్ను మూసివేయండి:
client_socket.close () server_socket.close ()
అన్ని ఇతర కోడ్ సులభం మరియు స్వీయ వివరణాత్మకమైనది. దిగువ పూర్తి కోడ్ను తనిఖీ చేయండి. ఈ ప్రాజెక్ట్ను సవరించడానికి ప్రయత్నించండి మరియు మీరు వైర్లెస్ లేకుండా అనేక ఇతర విషయాలను నియంత్రించడానికి దీన్ని ఉపయోగించవచ్చు, ఆండ్రాయిడ్ ఫోన్ ద్వారా రోబోట్ కారు లేదా లైట్లను నియంత్రించడానికి మీ వాయిస్ని ఉపయోగించవచ్చు.
విభిన్న సాంకేతిక పరిజ్ఞానాలను మరియు మైక్రోకంట్రోలర్లను ఉపయోగించి మా అనేక రకాల హోమ్ ఆటోమేషన్ ప్రాజెక్ట్లను కూడా తనిఖీ చేయండి: