DIY: మీ స్మార్ట్‌ఫోన్‌తో మాత్రమే తెరిచే మీ ఇంటి కోసం స్మార్ట్‌లాక్‌ను సృష్టించడం

ఈ రోజుల్లో, మార్కెట్లో చాలా తాళాలు అందుబాటులో ఉన్నాయి, దానిని తెరవడానికి ఒక విధమైన పాస్వర్డ్ అవసరం. ఈ తాళాలు చాలా సమర్థవంతంగా పనిచేస్తాయి కాని చాలా ఖరీదైనవి. స్వయంచాలకంగా మరియు అన్‌లాక్ చేయబడిన లేదా ఏ పాస్‌వర్డ్ లేకుండా లాక్ చేయబడిన స్మార్ట్‌ఫోన్‌తో కూడిన చిన్న తరహా ప్రయోజనం కోసం మేము లాక్ చేయవలసి వస్తే, మార్కెట్లో సులభంగా లభించే కొన్ని భాగాలను ఉపయోగించడం ద్వారా మేము దీన్ని తయారు చేయవచ్చు.



ఈ లాక్ ఖర్చులో చాలా తక్కువగా ఉంటుంది మరియు చిన్న స్థాయిలో సంపూర్ణంగా పనిచేస్తుంది. ఒక Android అప్లికేషన్ ఈ లాక్‌ని ఆపరేట్ చేయడానికి అవసరం. ఇప్పుడు, ESP32 ను సెటప్ చేయడం, దానిపై అవసరమైన ప్యాకేజీలను వ్యవస్థాపించడం మరియు కొన్ని హార్డ్‌వేర్ మార్పులు చేయడం వైపు వెళ్దాం!

ఆటోమేటిక్ డోర్లాక్



ఏ సమయాన్ని వృథా చేయకుండా, ముఖ్యమైన అంశాలను అధ్యయనం చేయడం మరియు ఈ ప్రాజెక్ట్‌లో పనిచేయడం ప్రారంభిద్దాం.



Android ఆపరేటెడ్ స్మార్ట్‌లాక్‌ను ఎలా తయారు చేయాలి?

దశ 1: భాగాలు సేకరించడం

ఏదైనా ప్రాజెక్ట్ను ప్రారంభించే ముందు, మీరు ప్రాజెక్ట్ మధ్యలో చిక్కుకుంటారని మరియు సమయం వృథా అవుతుందనే భయం ఉంటే, దానిని నివారించడానికి ఒక అద్భుతమైన విధానం ఉంది. ప్రాజెక్ట్‌లో మీకు కావాల్సిన అన్ని భాగాల పూర్తి జాబితాను తయారు చేసి, వాటిని మొదటి స్థానంలో కొనండి. ఈ ప్రాజెక్ట్‌లో మనం ఉపయోగించబోయే అన్ని భాగాల పూర్తి జాబితా క్రింది ఉంది. ఈ భాగాలన్నీ మార్కెట్లో సులభంగా లభిస్తాయి.



  • ESP32
  • జంపర్ వైర్లు
  • సర్వో మోటర్
  • మరలు
  • లాక్
  • డ్రిల్ మెషిన్

దశ 2: అనువర్తనాన్ని రూపొందించడం

మేము మొబైల్ ఫోన్ ద్వారా నిర్వహించబడే స్మార్ట్ లాక్‌ని తయారు చేయబోతున్నందున, మేము ఒక బటన్‌ను కలిగి ఉన్న Android అనువర్తనాన్ని అభివృద్ధి చేయాలి. ఆ బటన్‌ను నొక్కడం ద్వారా మనం స్మార్ట్ లాక్‌ని తెరవగలము లేదా మూసివేయగలము. గతంలో, మేము చాలా అభివృద్ధి చేసాము Android అనువర్తనాలు. మేము ఇప్పటికే ఒక బటన్‌ను కలిగి ఉన్న అనువర్తనాన్ని అభివృద్ధి చేసాము. డేటాబేస్లోకి డేటాను పంపడానికి ఈ బటన్ ఉపయోగించబడుతుంది. ‘1’ ను ఫైర్‌బేస్ డేటాబేస్‌లోకి నెట్టివేస్తే, స్విచ్ లాక్ తెరుచుకుంటుంది మరియు ‘0’ ఆ డేటాబేస్‌లోకి నెట్టివేయబడితే, లాక్ మూసివేయబడుతుంది.

దయచేసి పేరున్న మా కథనాన్ని చూడండి మీ PC కోసం వైర్‌లెస్ ఆన్ / ఆఫ్ స్విచ్ స్విచ్‌ను సృష్టిస్తోంది స్మార్ట్ లాక్‌ని ఆపరేట్ చేయడానికి ఉపయోగించబడే మీ స్వంత Android అనువర్తనాన్ని అభివృద్ధి చేయడానికి సహాయం తీసుకోవటానికి.

దశ 3: భాగాలను సమీకరించడం

మేము ఈ ప్రాజెక్ట్ను పూర్తి చేయవలసిన అన్ని భాగాల పూర్తి జాబితాను కలిగి ఉన్నందున, ఒక అడుగు ముందుకు వేసి, అన్ని భాగాలను ఒకచోట చేర్చుకుందాం.



సర్వో మోటారును తీసుకొని దాని VCC మరియు భూమిని వరుసగా VCC మరియు ESP బోర్డు యొక్క భూమికి కనెక్ట్ చేయండి. మీ సర్వో మోటారు యొక్క పిడబ్ల్యుఎం పిన్ను మీ పిన్ 34 కి కనెక్ట్ చేయండి ESP32 బోర్డు . సర్వో మోటారులో గేర్-రకం నాబ్ ఉందని ఇప్పుడు చూడండి. లాక్ యొక్క భ్రమణాన్ని తిప్పడం ద్వారా తీసివేసి, కొన్ని అంటుకునే సహాయంతో లాక్‌లోని గేర్ మోటర్ యొక్క నాబ్‌ను పరిష్కరించండి.

ఇప్పుడు, డ్రిల్ మెషిన్ సహాయంతో, మీరు ఈ స్మార్ట్ లాక్ ఉంచాలనుకునే తలుపు మీద కొన్ని రంధ్రాలు వేయండి. లాక్ యొక్క రంధ్రాలు తలుపులోని రంధ్రాలను అతివ్యాప్తి చేసే విధంగా మీరు రంధ్రాలను రంధ్రం చేస్తున్నారని నిర్ధారించుకోండి, స్క్రూను పరిష్కరించడానికి మార్గం ఏర్పడుతుంది.

దశ 4: పని

ఈ ప్రాజెక్ట్ వెనుక ఉన్న ప్రధాన ఆలోచన ఇప్పుడు మనకు తెలుసు కాబట్టి, ఈ ప్రాజెక్ట్ ఎలా పని చేస్తుందో అర్థం చేసుకుందాం.

ESP32 ఈ ప్రాజెక్ట్ యొక్క గుండె. ఈ బోర్డుకి సర్వో మోటారు అనుసంధానించబడి ఉంది మరియు ఈ మైక్రోకంట్రోలర్‌కు ఫైర్‌బేస్ డేటాబేస్‌కు కనెక్షన్ ఉంది. లాక్ తెరవడానికి అనువర్తనంలోని బటన్ నొక్కినప్పుడు, ‘1’ ఫైర్‌బేస్ డేటాబేస్‌లోకి నెట్టబడుతుంది మరియు లాక్‌ని మూసివేయడానికి బటన్ నొక్కినప్పుడు, ‘0’ ఫైర్‌బేస్ డేటాబేస్‌లోకి నెట్టబడుతుంది. ESP బోర్డు ఫైర్‌బేస్ డేటాబేస్లో ఈ విలువను నిరంతరం చదువుతోంది. 0 ఉన్నంతవరకు, ESP32 సర్వో మోటారును దాని ప్రారంభ స్థితిలో ఉండటానికి నిర్దేశిస్తుంది. 1 ఫైర్‌బేస్‌లోకి వచ్చిన వెంటనే, ESP బోర్డు దాన్ని చదివి, లాక్ తెరిచే ఒక భ్రమణాన్ని చేయమని సర్వో మోటారుకు చెబుతుంది.

దశ 5: ESP32 తో ప్రారంభించడం

మీరు ఇంతకుముందు Arduino IDE లో పని చేయకపోతే, చింతించకండి ఎందుకంటే Arduino IDE ని సెటప్ చేయడానికి దశల వారీగా క్రింద చూపబడింది.

  1. Arduino IDE యొక్క తాజా సంస్కరణను డౌన్‌లోడ్ చేయండి ఆర్డునో.
  2. మీ Arduino బోర్డ్‌ను PC కి కనెక్ట్ చేయండి మరియు కంట్రోల్ పానెల్ తెరవండి. నొక్కండి హార్డ్వేర్ మరియు సౌండ్. ఇప్పుడు తెరచియున్నది పరికరాలు మరియు ప్రింటర్ మరియు మీ బోర్డు కనెక్ట్ చేయబడిన పోర్ట్‌ను కనుగొనండి. నా విషయంలో అది COM14 కానీ ఇది వేర్వేరు కంప్యూటర్లలో భిన్నంగా ఉంటుంది.

    పోర్ట్ కనుగొనడం

  3. ఫైల్‌పై క్లిక్ చేసి, ఆపై ప్రాధాన్యతలపై క్లిక్ చేయండి. కింది లింక్‌ను కాపీ చేయండి అదనపు బోర్డు మేనేజర్ యొక్క URL. “ https://dl.espressif.com/dl/package_esp32_index.json '

    ప్రాధాన్యతలు

  4. ఇప్పుడు, Arduino IDE తో ESP32 ను ఉపయోగించడానికి, మేము ESP32 లో కోడ్‌ను బర్న్ చేయడానికి మరియు దానిని ఉపయోగించడానికి అనుమతించే ప్రత్యేక లైబ్రరీలను దిగుమతి చేసుకోవాలి. ఈ రెండు లైబ్రరీలు క్రింద ఇవ్వబడిన లింక్‌లో జతచేయబడ్డాయి. లైబ్రరీని చేర్చడానికి, గోటో స్కెచ్> లైబ్రరీని చేర్చండి> జిప్ లైబ్రరీని జోడించండి . ఒక పెట్టె కనిపిస్తుంది. మీ కంప్యూటర్‌లో జిప్ ఫోల్డర్‌ను కనుగొని, ఫోల్డర్‌లను చేర్చడానికి సరే క్లిక్ చేయండి.

    లైబ్రరీని చేర్చండి

  5. ఇప్పుడు గోటో స్కెచ్> లైబ్రరీని చేర్చండి> లైబ్రరీలను నిర్వహించండి.

    లైబ్రరీలను నిర్వహించండి

  6. ఒక మెనూ తెరవబడుతుంది. శోధన పట్టీలో, టైప్ చేయండి Arduino JSON. జాబితా కనిపిస్తుంది. ఇన్‌స్టాల్ చేయండి బెనాయిట్ బ్లాంచన్ రచించిన ఆర్డునో JSON.

    Arduino JSON

  7. ఇప్పుడు క్లిక్ చేయండి ఉపకరణాలు. డ్రాప్‌డౌన్ మెను కనిపిస్తుంది. బోర్డుని సెట్ చేయండి ESP దేవ్ మాడ్యూల్.

    సెట్టింగ్ బోర్డు

  8. టూల్ మెనుపై మళ్లీ క్లిక్ చేసి, కంట్రోల్ పానెల్‌లో మీరు గమనించిన పోర్ట్‌ను ముందు సెట్ చేయండి.

    పోర్ట్ సెట్ చేస్తోంది

  9. ఇప్పుడు క్రింది లింక్‌లో జతచేయబడిన కోడ్‌ను అప్‌లోడ్ చేసి, ESP32 మైక్రోకంట్రోలర్‌లో కోడ్‌ను బర్న్ చేయడానికి అప్‌లోడ్ బటన్‌పై క్లిక్ చేయండి.

    అప్‌లోడ్ చేయండి

కాబట్టి ఇప్పుడు మీరు కోడ్‌ను అప్‌లోడ్ చేసినప్పుడు, లోపం సంభవించవచ్చు. మీరు Arduino IDE మరియు Arduino JSON యొక్క క్రొత్త సంస్కరణను ఉపయోగిస్తుంటే ఇది చాలా సాధారణ లోపం. ఈ క్రిందివి మీరు తెరపై చూడగలిగే లోపాలు.

సి నుండి చేర్చబడిన ఫైల్‌లో: ers యూజర్లు  ప్రో  పత్రాలు  ఆర్డునో  లైబ్రరీలు  IOXhop_FirebaseESP32- మాస్టర్ / IOXhop_FirebaseESP32.h: 8: 0, C నుండి: ers యూజర్లు  ప్రో  డెస్క్‌టాప్  స్మార్ట్‌హోమ్  కోడ్  code.ino: 2: C : Ers యూజర్లు  ప్రో  పత్రాలు  ఆర్డునో  లైబ్రరీలు  IOXhop_FirebaseESP32- మాస్టర్ / IOXhop_FirebaseStream.h: 14: 11: లోపం: స్టాటిక్జోసన్ బఫర్ ArduinoJson 5 నుండి ఒక తరగతి. వెర్షన్ 6 స్టాటిక్జోసన్ బఫర్ jsonBuffer; C నుండి ఫైల్‌లో చేర్చబడింది: ers యూజర్లు  ప్రో  పత్రాలు  ఆర్డునో  లైబ్రరీలు  IOXhop_FirebaseESP32- మాస్టర్ / IOXhop_FirebaseESP32.h: 8: 0, C నుండి: ers యూజర్లు  ప్రో  డెస్క్‌టాప్  స్మార్ట్‌హోమ్  కోడ్  code.ino: 2: సి. ArduinoJson వెర్షన్ 6 రిటర్న్ స్టాటిక్ JsonBuffer (). పార్స్ ఆబ్జెక్ట్ (_డేటా); Wi 'వైఫై.హెచ్' కోసం బహుళ లైబ్రరీలు కనుగొనబడ్డాయి: సి: ers యూజర్లు  ప్రో  యాప్‌డేటా  లోకల్  ఆర్డునో 15  ప్యాకేజీలు  ఎస్పి 32  హార్డ్‌వేర్  ఎస్పి 32  1.0.2  లైబ్రరీలు  వైఫై ఉపయోగించబడలేదు: సి:  ప్రోగ్రామ్ ఫైళ్ళు ( x86)  Arduino  లైబ్రరీలు  WiFi ఫోల్డర్‌లో వెర్షన్ 1.0 వద్ద లైబ్రరీ వైఫైని ఉపయోగించడం: C: ers యూజర్లు  ప్రో  యాప్‌డేటా  లోకల్  Arduino15  ప్యాకేజీలు  esp32  హార్డ్‌వేర్  esp32  1.0.2  లైబ్రరీలు  వైఫై లైబ్రరీని ఉపయోగించడం IOXhop_FirebaseESP32- మాస్టర్ ఫోల్డర్‌లో: సి: ers యూజర్లు  ప్రో  పత్రాలు  ఆర్డునో  లైబ్రరీలు  IOXhop_FirebaseESP32- మాస్టర్ (లెగసీ) ఫోల్డర్‌లో వెర్షన్ 1.2 వద్ద లైబ్రరీ HTTP క్లయింట్‌ను ఉపయోగించడం: సి: ers యూజర్లు  ప్రో  యాప్‌డేటా  లోకల్  ఆర్డునో 15  ప్యాకేజీలు  ఎస్పి 32  హార్డ్‌వేర్  esp32  1.0.2  లైబ్రరీలు  HTTPClient ఫోల్డర్‌లో వెర్షన్ 1.0 వద్ద లైబ్రరీ WiFiClientSecure ని ఉపయోగిస్తోంది: C: ers యూజర్లు  ప్రో  యాప్‌డేటా  లోకల్  Arduino15  ప్యాకేజీలు  esp32  హార్డ్‌వేర్  esp32  1.0.2  లైబ్రరీలు  లైబ్రరీని ఉపయోగించి WiFiClientSecure ఫోల్డర్‌లో సంస్కరణ 6.12.0: సి: ers యూజర్లు  ప్రో  పత్రాలు  ఆర్డునో  లైబ్రరీలు  ఆర్డునోజోసన్ నిష్క్రమణ స్థితి 1 బోర్డు ESP32 దేవ్ మాడ్యూల్ కోసం కంపైల్ చేయడంలో లోపం.

చింతించాల్సిన అవసరం లేదు ఎందుకంటే కొన్ని సాధారణ దశలను అనుసరించడం ద్వారా మేము ఈ లోపాలను తొలగించగలము. Arduino JSON యొక్క క్రొత్త సంస్కరణకు బదులుగా మరొక తరగతి ఉన్నందున ఈ లోపాలు తలెత్తుతున్నాయి స్టాటిక్జోన్ బఫర్. ఇది JSON 5 యొక్క తరగతి. కాబట్టి మన Arduino IDE యొక్క Arduino JSON యొక్క సంస్కరణను డౌన్గ్రేడ్ చేయడం ద్వారా ఈ లోపాన్ని తొలగించవచ్చు. కేవలం వెళ్ళండి స్కెచ్> లైబ్రరీని చేర్చండి> లైబ్రరీలను నిర్వహించండి. దాని కోసం వెతుకు బెనాయిట్ బ్లాంచన్ రచించిన ఆర్డునో JSON మీరు ఇంతకు ముందు ఇన్‌స్టాల్ చేసారు. మొదట దీన్ని అన్‌ఇన్‌స్టాల్ చేసి, ఆపై దాని వెర్షన్‌ను సెట్ చేయండి 5.13.5. ఇప్పుడు మేము Arduino JSON యొక్క పాత సంస్కరణను సెట్ చేసినందున, దాన్ని మళ్ళీ ఇన్‌స్టాల్ చేసి, కోడ్‌ను మళ్లీ కంపైల్ చేయండి. ఈ సమయంలో, మీ కోడ్ విజయవంతంగా కంపైల్ చేస్తుంది.

కోడ్‌ను డౌన్‌లోడ్ చేయడానికి, క్లిక్ చేయండి ఇక్కడ.

దశ 6: కోడ్

ఈ ప్రాజెక్ట్ యొక్క కోడ్ చాలా సులభం, అయినప్పటికీ, దానిలోని కొన్ని భాగాలు క్రింద వివరించబడ్డాయి.

1. కోడ్ ప్రారంభంలో, మేము మూడు లైబ్రరీలను చేర్చుతాము. మొదటిది ESP బోర్డులో వైఫైని ప్రారంభించడం, రెండవది ESP ను సర్వో మోటారును ఉపయోగించడం మరియు మూడవది ESP బోర్డ్‌ను ఫైర్‌బేస్ డేటాబేస్‌కు కనెక్ట్ చేయడం. ఆ తరువాత, మేము ఫైర్‌బేస్ హోస్ట్, ప్రామాణీకరణ, మా స్థానిక ఇంటర్నెట్ కనెక్షన్ పేరు మరియు దాని పాస్‌వర్డ్‌ను కోడ్‌లో చేర్చుతాము. అలా చేసిన తరువాత, సర్వో మోటారును ఉపయోగించడానికి ఒక వస్తువును సృష్టించండి.

# చేర్చండి // వైఫైని ఉపయోగించడానికి లైబ్రరీని చేర్చండి # చేర్చండి // సర్వో మోటారు కోసం లైబ్రరీని చేర్చండి # చేర్చండి // ఫైర్‌బేస్‌కు కనెక్ట్ చేయడానికి లైబ్రరీని చేర్చండి # FIREBASE_HOST 'xxxxxxxxx' ను నిర్వచించండి / మీ ఫైర్‌బేస్ ప్రామాణీకరణ ద్వారా xxxxxxxxx ని మార్చండి // సర్వో మోటర్ కోసం వస్తువును సృష్టించండి int pos = 0; // వేరియబుల్ పూర్ణాంక స్థితిని సృష్టించడం; // వేరియబుల్ సృష్టిస్తోంది

2. శూన్య సెటప్ () మైక్రోకంట్రోలర్ బోర్డ్ ఆన్ చేయబడినప్పుడు లేదా ఎనేబుల్ బటన్ నొక్కినప్పుడు ప్రోగ్రామ్‌లో ఒక్కసారి మాత్రమే పనిచేసే ఫంక్షన్. ఈ ఫంక్షన్‌లో బాడ్ రేటు సెట్ చేయబడింది. బాడ్ రేటు వాస్తవానికి సెకనుకు బిట్స్‌లో కమ్యూనికేషన్ వేగం, దీని ద్వారా మైక్రోకంట్రోలర్ బాహ్య పరికరాలతో కమ్యూనికేట్ చేస్తుంది. సర్వో మోటారు ESP బోర్డు యొక్క పిన్ 34 కి అనుసంధానించబడి ఉంది. మైక్రోకంట్రోలర్‌ను స్థానిక ఇంటర్నెట్ కనెక్షన్‌కు కనెక్ట్ చేయడానికి ఈ ఫంక్షన్‌లో కోడ్ వ్రాయబడింది.

void setup () {Serial.begin (115200); // బాడ్ రేట్‌ను సెట్ చేయడం myservo.attach (34); // సర్వో మోటార్ యొక్క పిడబ్ల్యుఎం పిన్ను ESP32 myservo.write (60) యొక్క పిన్ 34 కు కనెక్ట్ చేయండి; ఆలస్యం (1000); // వైఫైకి కనెక్ట్ అవ్వండి. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); సీరియల్.ప్రింట్ల్న్ ('కనెక్ట్'); అయితే (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); ఆలస్యం (500); } సీరియల్.ప్రింట్ల్న్ (); సీరియల్.ప్రింట్ ('కనెక్ట్:'); సీరియల్.ప్రింట్ల్న్ (వైఫై.లోకాలిఐపి ()); ఫైర్‌బేస్.బిగిన్ (FIREBASE_HOST, FIREBASE_AUTH); }

3. శూన్య లూప్ () ఒక లూప్‌లో మళ్లీ మళ్లీ నడుస్తున్న ఫంక్షన్. ఈ ఫంక్షన్‌లో, మేము మైక్రోకంట్రోలర్‌కు, ఏ కార్యకలాపాలు నిర్వహించాలో మరియు ఎలా చేయాలో తెలియజేస్తాము. ఇక్కడ, ఫైర్‌బేస్ నుండి డేటా చదవబడుతుంది మరియు పేరు పెట్టబడిన వేరియబుల్‌ను నిల్వ చేస్తుంది రాష్ట్రం . రాష్ట్రంలో విలువ ‘0’ ఉంటే, సర్వో మోటర్ యొక్క స్థానం 8 డిగ్రీలకు సెట్ చేయబడుతుంది. వేరియబుల్ స్థితిలో ఉన్న విలువ ‘1’ కు సమానంగా ఉంటే, సర్వో మోటర్ యొక్క స్థానం 55 డిగ్రీలకు సెట్ చేయబడుతుంది.

void loop () {state = Serial.println (Firebase.getFloat ('motor')); // ఫైర్‌బేస్ నుండి డేటాను చదవండి // రాష్ట్రం '0' అయితే DC మోటర్ ఆపివేయబడుతుంది (స్టేట్ == '0') {myservo.write (8); // సర్వో మోటార్ ఆలస్యం యొక్క సెట్ స్థానం (1000); // onw second Serial.println ('డోర్ లాక్') కోసం వేచి ఉండండి; } else if (state == '1') {myservo.write (55); // సర్వో మోటార్ ఆలస్యం (1000) యొక్క కొత్త స్థానాన్ని సెట్ చేయండి; // ఒక సెకను కోసం వేచి ఉండండి Serial.println ('డోర్ అన్‌లాక్డ్'); Fire // ఫైర్‌బేస్.ఫైల్డ్ () ఉంటే లోపం నిర్వహించండి {సీరియల్.ప్రింట్ ('సెట్టింగ్ / సంఖ్య విఫలమైంది:'); సీరియల్.ప్రింట్ల్న్ (ఫైర్‌బేస్.ఎర్రర్ ()); తిరిగి; } ఆలస్యం (1000);