- భాగాలు అవసరం
- సర్క్యూట్ రేఖాచిత్రం
- గ్యారేజ్ డోర్ను నియంత్రించడానికి రాస్ప్బెర్రీ పైలో ఫ్లాస్క్ సెటప్
- స్మార్ట్ గ్యారేజ్ డోర్ ఓపెనర్ కోసం పైథాన్ స్క్రిప్ట్ను సృష్టిస్తోంది
- రాస్ప్బెర్రీ పై వెబ్ సర్వర్ కోసం HTML పేజీని సృష్టిస్తోంది
- ins {pins.name}} {% pins.state == true% currently ప్రస్తుతం తెరిచి ఉంటే
మీ స్మార్ట్ఫోన్ను ఉపయోగించి రిమోట్గా ప్రతిదీ నియంత్రించగల IoT (ఇంటర్నెట్ ఆఫ్ థింగ్స్) యుగంలో, మీతో కీలను ఎందుకు తీసుకెళ్లాలి. RFID, బ్లూటూత్, వై-ఫై, లోరా వంటి పరికరాల వైర్లెస్ నియంత్రణకు మద్దతు ఇవ్వడానికి చాలా సాంకేతికతలు ఉన్నాయి. వైర్లెస్ లేకుండా తలుపు తెరిచి మూసివేయడానికి మేము గతంలో కొన్ని డోర్ అలారాలు మరియు డోర్ కంట్రోలింగ్ సర్క్యూట్ను నిర్మించాము:
- Arduino RFID డోర్ లాక్
- Arduino ఉపయోగించి ఆటోమేటిక్ డోర్ ఓపెనర్
- హాల్ సెన్సార్ ఉపయోగించి మాగ్నెటిక్ డోర్ అలారం సర్క్యూట్
- గూగుల్ అసిస్టెంట్ చే నియంత్రించబడే IoT ఆధారిత డోర్ సెక్యూరిటీ అలారం
ఇక్కడ ఈ ట్యుటోరియల్లో రాస్ప్బెర్రీ పై ఉపయోగించి స్మార్ట్ గ్యారేజ్ డోర్ ఓపెనర్ను నిర్మిస్తాం. మీ స్మార్ట్ఫోన్ను ఉపయోగించి గ్యారేజ్ తలుపు తెరిచి మూసివేయడానికి ఇక్కడ రాస్ప్బెర్రీ పై వెబ్ సర్వర్ సృష్టించబడుతుంది.
భాగాలు అవసరం
- రాస్ప్బెర్యన్ పై రాస్ప్బెర్రీ పై బోర్డు వ్యవస్థాపించబడింది
- రిలే మాడ్యూల్
- వైర్లను కనెక్ట్ చేస్తోంది
మీ రాస్ప్బెర్రీ పై ఇప్పటికే ఆపరేటింగ్ సిస్టమ్తో మెరిసిందని మరియు ఇంటర్నెట్కు కనెక్ట్ చేయగలదని భావించబడుతుంది. కాకపోతే, కొనసాగడానికి ముందు రాస్ప్బెర్రీ పై ట్యుటోరియల్తో ప్రారంభించడం అనుసరించండి. ఇక్కడ మేము రాస్బియన్ జెస్సీ వ్యవస్థాపించిన రాస్ప్బెర్రీ పై 3 ను ఉపయోగిస్తున్నాము.
ఇక్కడ రాస్ప్బెర్రీ పైతో కనెక్ట్ అవ్వడానికి HDMI కేబుల్ ఉపయోగించి బాహ్య మానిటర్ డిస్ప్లేగా ఉపయోగించబడుతుంది. మీకు మానిటర్ లేకపోతే, ల్యాప్టాప్ లేదా కంప్యూటర్ను ఉపయోగించి రాస్ప్బెర్రీ పైకి కనెక్ట్ చేయడానికి మీరు SSH క్లయింట్ (పుట్టీ) లేదా VNC సర్వర్ని ఉపయోగించవచ్చు. రాస్ప్బెర్రీ పైని తల లేకుండా ఇక్కడ ఏర్పాటు చేయడం గురించి మరింత తెలుసుకోండి.
సర్క్యూట్ రేఖాచిత్రం
రిలే యొక్క అవుట్పుట్కు గ్యారేజ్ డోర్ ఓపెనింగ్ మెకానిజమ్ను కనెక్ట్ చేయండి. ఇక్కడ మేము ప్రదర్శన ప్రయోజనం కోసం రిలేతో LED ని కనెక్ట్ చేసాము.
గ్యారేజ్ డోర్ను నియంత్రించడానికి రాస్ప్బెర్రీ పైలో ఫ్లాస్క్ సెటప్
ఇక్కడ, మేము ఫ్లాస్క్ ఉపయోగించి వెబ్ సర్వర్ను సృష్టించాము, ఇది నెట్వర్క్ ద్వారా రోబోట్ను నియంత్రించడానికి వెబ్పేజీ నుండి రాస్ప్బెర్రీ పైకి ఆదేశాలను పంపే మార్గాన్ని అందిస్తుంది. ఫ్లాస్క్ మా పైథాన్ స్క్రిప్ట్లను వెబ్పేజీ ద్వారా అమలు చేయడానికి అనుమతిస్తుంది మరియు మేము రాస్ప్బెర్రీ పై నుండి వెబ్ బ్రౌజర్కు డేటాను పంపవచ్చు మరియు స్వీకరించవచ్చు. ఫ్లాస్క్ అనేది పైథాన్ కోసం మైక్రోఫ్రేమ్వర్క్. ఈ సాధనం యునికోడ్ ఆధారిత అంతర్నిర్మిత అభివృద్ధి సర్వర్ మరియు డీబగ్గర్, ఇంటిగ్రేటెడ్ యూనిట్ టెస్టింగ్ సపోర్ట్, సురక్షిత కుకీలకు మద్దతు మరియు ఉపయోగించడానికి సులభమైనది, ఈ విషయాలు అభిరుచి గలవారికి ఉపయోగపడతాయి.
మీ రాస్ప్బెర్రీ పైలో ఫ్లాస్క్ను ఇన్స్టాల్ చేయడానికి క్రింది ఆదేశాలను అమలు చేయండి:
sudo apt-get update sudo apt-get install పైథాన్-పిప్ పైథాన్-ఫ్లాస్క్
ఇప్పుడు, ఫ్లాస్క్ మరియు దాని డిపెండెన్సీలను వ్యవస్థాపించడానికి పిప్ ఆదేశాన్ని అమలు చేయండి:
సుడో పిప్ ఇన్స్టాల్ ఫ్లాస్క్
మీరు ఇక్కడ ఫ్లాస్క్ ఉపయోగించి ప్రోగ్రామింగ్ గురించి మరింత తెలుసుకోవచ్చు, వెబ్సర్వర్ ద్వారా రోబోట్ను నియంత్రించడానికి మేము ఫ్లాస్క్ను ఉపయోగించిన మా మునుపటి ప్రాజెక్ట్లను కూడా తనిఖీ చేయవచ్చు, వెబ్పేజీ నుండి రాస్ప్బెర్రీ పైకి సందేశాన్ని పంపండి మరియు స్మార్ట్ కంటైనర్లోని రాస్ప్బెర్రీ పైకి బరువు విలువను పంపండి.
ఇప్పుడు, మేము మా గ్యారేజ్ డోర్ వెబ్ సర్వర్ కోసం పైథాన్ స్క్రిప్ట్ వ్రాస్తాము.
స్మార్ట్ గ్యారేజ్ డోర్ ఓపెనర్ కోసం పైథాన్ స్క్రిప్ట్ను సృష్టిస్తోంది
ఈ స్క్రిప్ట్ మా రాస్ప్బెర్రీ పై GPIO లతో సంకర్షణ చెందుతుంది మరియు వెబ్ సర్వర్ను సెటప్ చేస్తుంది. కాబట్టి, ఇది మా అనువర్తనానికి ప్రధాన స్క్రిప్ట్. డోర్ ఓపెనర్ కోసం పూర్తి పైథాన్ స్క్రిప్ట్ చివరిలో ఇవ్వబడింది, ఇక్కడ మేము దానిలోని కొన్ని భాగాలను వివరించాము.
మొదట, ఫోల్డర్ చేయండి. అవసరమైన అన్ని ఇతర ఫోల్డర్లు ఈ ఫోల్డర్లో మాత్రమే ఉండాలి. ఫోల్డర్ చేయడానికి ఆదేశాల క్రింద అమలు చేయండి మరియు ఈ ఫోల్డర్ లోపల app.py అనే పైథాన్ ఫైల్ను సృష్టించండి.
mkdir garage_door cd garage_door nano app.py
ఇది స్క్రిప్ట్ రాయవలసిన నానో ఎడిటర్ను తెరుస్తుంది.
ముఖ్యమైన లైబ్రరీలను చేర్చడం ద్వారా ప్రారంభించండి.
ఫ్లాస్క్ దిగుమతి ఫ్లాస్క్, రెండర్_టెంప్లేట్, అభ్యర్థన అనువర్తనం = ఫ్లాస్క్ (__ పేరు__, స్టాటిక్_యుర్ల్_పాత్ = '/ స్టాటిక్') నుండి GPiO గా RPi.GPIO ను దిగుమతి చేయండి.
ఇప్పుడు, ఒక నిఘంటువు సృష్టించడానికి పిన్స్ పిన్ నంబర్, పేరు, మరియు పిన్ రాష్ట్ర నిల్వ. మీ అవసరానికి అనుగుణంగా మీరు ఒకటి కంటే ఎక్కువ పిన్లను ఉపయోగించవచ్చు.
పిన్స్ = { 14: name 'పేరు': 'గ్యారేజ్ డోర్', 'స్టేట్': GPIO.LOW} }
అప్పుడు, పిన్ను అవుట్పుట్గా సెట్ చేసి ప్రారంభంలో తక్కువగా చేయండి.
పిన్స్లో పిన్ కోసం: GPIO.setup (పిన్, GPIO.OUT) GPIO.output (పిన్, GPIO.LOW)
ఇప్పుడు, పిన్ స్థితిని చదవడానికి ఒక ప్రధాన ఫంక్షన్ చేయండి మరియు ఈ స్థితిని వేరియబుల్లో నిల్వ చేయండి.
@ app.route ("/") డెఫ్ మెయిన్ (): పిన్స్లో పిన్ కోసం: పిన్స్ = GPIO.input (పిన్) ..
మేము ఈ డేటాను మా html పేజీకి పంపాలి, తద్వారా ఇన్పుట్ బటన్ స్థితిని నియంత్రించవచ్చు.
తిరిగి render_template ('main.html', ** templateData)
ఇప్పుడు, URL నుండి వచ్చిన అభ్యర్ధనలను పిన్ నంబర్తో మరియు దానిలోని చర్యతో నిర్వహించడానికి ఒక ఫంక్షన్ చేయండి.
@ app.route ("/
URL నుండి పిన్ను పూర్ణాంకంగా మార్చండి.
changePin = int (changePin)
URL యొక్క చర్య భాగం "ఓపెన్" అయితే , ఈ క్రింది వాటిని చేయండి.
if action == "open": GPIO.output (changePin, GPIO.HIGH) if action == "close": GPIO.output (changePin, GPIO.LOW)
మీరు ఈ ట్యుటోరియల్ చివరి నుండి పూర్తి స్క్రిప్ట్ను కాపీ చేసి ctrl + x ఉపయోగించి సేవ్ చేసి ఎంటర్ నొక్కండి. మేము పైథాన్ స్క్రిప్ట్తో చేసాము. ఇప్పుడు, పైథాన్ స్క్రిప్ట్తో ఇంటరాక్ట్ అవ్వడానికి మేము ఒక HTML పేజీని తయారు చేయాలి.
రాస్ప్బెర్రీ పై వెబ్ సర్వర్ కోసం HTML పేజీని సృష్టిస్తోంది
అదే గ్యారేజ్_డోర్ ఫోల్డర్లో, టెంప్లేట్లు అనే మరో ఫోల్డర్ను సృష్టించండి మరియు ఈ ఫోల్డర్ లోపల.html ఫైల్ను క్రింద ఆదేశాలను ఉపయోగించి తయారు చేయండి.
mkdir టెంప్లేట్లు cd టెంప్లేట్లు నానో main.html
లో నానో టెక్స్ట్ ఎడిటర్, html కోడ్ వ్రాయండి. మీరు సవరించవచ్చు పేజీ యొక్క భాగం మరియు మీ ఎంపిక ప్రకారం శైలి చేయండి. నేను లింక్ ట్యాగ్ ఉపయోగించి థర్డ్ పార్టీ CSS పథకాన్ని ఉపయోగించాను. పూర్తి HTML కోడ్ క్రింద ఇవ్వబడింది:
గ్యారేజ్ డోర్ వెబ్ సర్వర్
పిన్లలో పిన్ కోసం %%ins {pins.name}} {% pins.state == true% currently ప్రస్తుతం తెరిచి ఉంటే
ఇక్కడ ముఖ్యమైన భాగం తలుపు తెరిచి మరియు దగ్గరగా మరియు ఒక రాష్ట్ర కేటాయించవచ్చు ఒక బటన్ సృష్టించడానికి ఉంది ఓపెన్ మరియు క్లోజ్ బటన్. బటన్ పైథాన్ స్క్రిప్ట్ నుండి GPIO స్థితిని పంపుతుంది మరియు పొందుతుంది.
మీరు పైన ఇచ్చిన HTML కోడ్ను ఎడిటర్లో ఉపయోగించవచ్చు మరియు దాన్ని సేవ్ చేయవచ్చు. ఇప్పుడు వెబ్ సర్వర్ ప్రారంభించటానికి సిద్ధంగా ఉంది.
టెర్మినల్ తెరిచి గ్యారేజ్_డోర్ ఫోల్డర్కు నావిగేట్ చేసి, క్రింది ఆదేశాన్ని అమలు చేయండి
sudo python app.py
బ్రౌజర్ను తెరిచి, మీ కోరిందకాయ పై ఐపి చిరునామాను ఎంటర్ చేసి ఎంటర్ నొక్కండి. మీ IP చిరునామాను కనుగొనడానికి మీరు ఈ క్రింది ఆదేశాన్ని టెర్మినల్లో అమలు చేయవచ్చు.
హోస్ట్ పేరు -I
మీరు ఇలాంటి పేజీని చూస్తారు.
రిలే మాడ్యూల్ కోరిందకాయ పైతో అనుసంధానించబడిందని నిర్ధారించుకోండి. రిలేను ఆన్ చేయడానికి లేదా గ్యారేజ్ డోర్ తెరవడానికి ఓపెన్ బటన్ నొక్కండి. మీరు రిలే యొక్క స్థితిని కూడా చూడవచ్చు. మీరు రిలేను ఆన్ చేసిన వెంటనే, బటన్ టెక్స్ట్ మార్చబడుతుంది రిలేను ఆపివేయడానికి మూసివేయి . ఇప్పుడు మీరు మళ్ళీ బటన్ను క్లిక్ చేసినప్పుడు రిలే ఆపివేయబడుతుంది మరియు బటన్ టెక్స్ట్ మళ్లీ ఓపెన్గా మార్చబడుతుంది.
సర్వర్ ఆపడానికి ctrl + c నొక్కండి.
కాబట్టి ఈ రిలేని మార్కెట్లో సులభంగా లభించే కొన్ని డోర్ ఓపెనర్ మెకానిజంతో కనెక్ట్ చేయండి మరియు స్మార్ట్ఫోన్ ఉపయోగించి గ్యారేజ్ తలుపును నియంత్రించడం ప్రారంభించండి.
ఒక ప్రదర్శన వీడియో క్రింద ఇవ్వబడింది.