- Node.js అంటే ఏమిటి?
- భాగాలు అవసరం
- సర్క్యూట్ రేఖాచిత్రం
- Node.js ముసాయిదాను ఏర్పాటు చేస్తోంది
- జానీ-ఫైవ్ లైబ్రరీని ఇన్స్టాల్ చేస్తోంది
- Arduino మరియు Node.js తో LED మెరిసేది
- Arduino మరియు Node.js వెబ్సర్వర్ ఉపయోగించి LED ప్రకాశాన్ని నియంత్రించడం
వేర్వేరు మైక్రోకంట్రోలర్లు మరియు వేర్వేరు ప్రోగ్రామింగ్ భాషలను ఉపయోగించి LED ని మెరిసే అనేక ఉదాహరణలు మనం చూశాము. ఈ రోజు, ఆర్డునో యునోకు కనెక్ట్ చేయబడిన LED ని నియంత్రించడానికి మేము చాలా ప్రాచుర్యం పొందిన జావాస్క్రిప్ట్ ఫ్రేమ్వర్క్ Node.js ని ఉపయోగిస్తాము. Arduino ని ఉపయోగించి వెబ్పేజీ నుండి LED యొక్క ప్రకాశాన్ని నియంత్రించడానికి మేము Node.js ని కూడా ఉపయోగిస్తాము. కొన్ని సర్దుబాటుల ద్వారా మరియు ESP8266 ను ఉపయోగించడం ద్వారా, దీనిని IoT ప్రాజెక్ట్గా మార్చవచ్చు, ఇక్కడ LED ను ఎక్కడి నుండైనా నియంత్రించవచ్చు.
Node.js అంటే ఏమిటి?
Node.js అభివృద్ధి Google Chrome యొక్క జావాస్క్రిప్ట్ V8 ఇంజిన్ నిర్మించబడింది మరియు పూసే విస్తృతంగా జావాస్క్రిప్ట్ ఆధారిత ప్రణాళిక I / O వంటి ఒకే పేజీ అప్లికేషన్లు, వీడియో స్ట్రీమింగ్ సైట్లు మొదలైనవి ఇంటెన్సివ్ వెబ్ అప్లికేషన్లు
LED ని నియంత్రించడానికి Node.js మరియు రాస్ప్బెర్రీ పైతో ప్రారంభించడం గురించి మేము ఇంతకుముందు సమాచార ట్యుటోరియల్ చేసాము. ఈ ట్యుటోరియల్లో, మేము ఇలాంటి విధానాన్ని అనుసరిస్తాము, అంటే LED రెండు పద్ధతులను ఉపయోగించి నియంత్రించబడుతుంది:
- Node.js ఫ్రేమ్వర్క్లో జావాస్క్రిప్ట్ కోడ్ రాయడం ద్వారా సాధారణ LED బ్లింక్.
- నోడ్.జెస్ ఫ్రేమ్వర్క్ మరియు ఏదైనా బ్రౌజర్ నుండి వెబ్ ఇంటర్ఫేస్ ఉపయోగించి LED ప్రకాశం నియంత్రణ: ఆర్డునో UNO వెబ్ సర్వర్గా పనిచేస్తుంది మరియు HTML వెబ్ పేజీ PC లేదా ల్యాప్టాప్లో హోస్ట్ చేయబడుతుంది.
భాగాలు అవసరం
హార్డ్వేర్:
- Arduino UNO బోర్డు
- నేతృత్వంలో
- రెసిస్టర్
సాఫ్ట్వేర్:
- Arduino IDE: Arduino UNO బోర్డుకు స్కెచ్ను అప్లోడ్ చేయడానికి.
- ఫర్మాటా: ఇది కంప్యూటర్, స్మార్ట్ఫోన్ మొదలైన వాటి నుండి సాఫ్ట్వేర్ నుండి వేర్వేరు మైక్రోకంట్రోలర్లతో కమ్యూనికేట్ చేయడానికి ఒక ప్రోటోకాల్. ఫిర్మాటా ఫర్మ్వేర్ ఏదైనా మైక్రోకంట్రోలర్ బోర్డులో (ఆర్డునో, టీన్సీ వంటివి) లోడ్ చేయవచ్చు మరియు ఏదైనా ల్యాప్టాప్, పిసి లేదా స్మార్ట్ఫోన్తో మాట్లాడగలదు. ఫిర్మాటా లైబ్రరీ Arduino IDE తో వస్తుంది, కాబట్టి ఎక్కడి నుండైనా డౌన్లోడ్ చేయవలసిన అవసరం లేదు. పైఫిర్మాటాను ఉపయోగించి రాస్ప్బెర్రీ పైతో ఆర్డునోను నియంత్రించడంపై మేము ట్యుటోరియల్ చేసాము.
- జానీ-ఫైవ్: జానీ-ఫైవ్ అనేది జావాస్క్రిప్ట్ బేస్డ్ రోబోటిక్స్ మరియు ఐయోటి ప్లాట్ఫామ్, ఇది జావాస్క్రిప్ట్లో కోడ్లను వ్రాయడానికి ఉపయోగించబడుతుంది మరియు ఆర్డునో బోర్డులు మరియు కంప్యూటర్ మధ్య వంతెనను తయారు చేయడానికి ఉపయోగిస్తారు. Arduino UNO, NANO, Promini, వంటి వివిధ రకాల Arduino- అనుకూలమైన బోర్డులతో జానీ-ఫైవ్ పరీక్షించబడింది. ఈ ట్యుటోరియల్లో, జానీ-ఫైవ్ లైబ్రరీని దాని అన్ని లక్షణాలను ఉపయోగించడానికి డౌన్లోడ్ చేసుకోవాలి. ఈ ట్యుటోరియల్లో ఇన్స్టాలేషన్ గైడ్ తరువాత వివరించబడుతుంది.
సర్క్యూట్ రేఖాచిత్రం
సర్క్యూట్ రేఖాచిత్రం చాలా ప్రాథమికమైనది, మనం ఒక ఎల్ఈడీని ఆర్డునోతో కనెక్ట్ చేయాలి.Node.js ముసాయిదాను ఏర్పాటు చేస్తోంది
కోడింగ్ మరియు అభివృద్ధిని ప్రారంభించడానికి ముందు, Node.js ను డౌన్లోడ్ చేసి సెటప్ చేయాలి. Node.js వాతావరణాన్ని డౌన్లోడ్ చేయడానికి సాధారణ దశలను అనుసరించండి.
దశ 1: - దాని అధికారిక వెబ్సైట్ నుండి Node.js యొక్క.exe ఫైల్ను డౌన్లోడ్ చేయండి.
దశ 2: -.exe ను అమలు చేయండి మరియు ఇన్స్టాలర్లో ఇచ్చిన సూచనలను అనుసరించండి.
దశ 3: - మీ కంప్యూటర్ను Node.js పత్రంలో సిఫారసు చేసినట్లు పున art ప్రారంభించండి మరియు Node.js యొక్క అన్ని లక్షణాలను కూడా ఉపయోగించండి
దశ 4: - నోడ్ వ్యవస్థాపించబడిందో లేదో తనిఖీ చేయడానికి, కమాండ్ ప్రాంప్ట్ తెరిచి నోడ్ –v అని టైప్ చేయండి
దశ 5: - Node.js వ్యవస్థాపించబడిందని సూచిస్తూ Node.js వెర్షన్ ప్రదర్శించబడుతుంది.
జానీ-ఫైవ్ లైబ్రరీని ఇన్స్టాల్ చేస్తోంది
ఇప్పుడు Node.js ను డౌన్లోడ్ చేసిన తర్వాత, అన్ని ప్రాజెక్ట్ ఫైల్లను ఒకే చోట ఉంచడానికి పత్రాలలో “LED_Control” అనే కొత్త ఫోల్డర్ను సృష్టించండి. ప్రతి ప్రాజెక్ట్ ఫైల్ “ LED_Control ” ఫోల్డర్లో ఉంచబడుతుంది. ఇప్పుడు “ LED_Control ” ఫోల్డర్లో జానీ-ఫైవ్ లైబ్రరీని డౌన్లోడ్ చేయండి. డౌన్లోడ్ చేయడానికి, క్రింది దశలను అనుసరించండి:
దశ 1: - ఓపెన్ కమాండ్ ప్రాంప్ట్
దశ 2: - ' cd ' ఆదేశాన్ని అనుసరించి “ LED_Control ” ఫోల్డర్కు వెళ్లండి.
దశ 3: - ' npm install johnny-five' ఆదేశాన్ని అమలు చేయండి
దశ 4: - ఇది జానీ-ఫైవ్ యొక్క అన్ని డిపెండెన్సీలను ఇన్స్టాల్ చేస్తుంది.
దశ 5: - LED యొక్క ప్రకాశాన్ని నియంత్రించడానికి ఈ ట్యుటోరియల్లో ఉపయోగించిన అవసరమైన లైబ్రరీలను కూడా ఇన్స్టాల్ చేయండి. ఇక్కడ మూడు లైబ్రరీలు ఉపయోగించబడ్డాయి:
- ఎక్స్ప్రెస్: HTTP సర్వర్ రేపర్
- socket.i o: వెబ్సాకెట్స్ లైబ్రరీ
- సీరియల్పోర్ టి: సీరియల్ పోర్ట్ రేపర్
దశ 5: - ఈ మూడు లైబ్రరీలను వ్యవస్థాపించడానికి క్రింది ఆదేశాలను ఒక్కొక్కటిగా అమలు చేయండి.
npm ఇన్స్టాల్ ఎక్స్ప్రెస్ npm ఇన్స్టాల్ socket.io npm ఇన్స్టాల్ సీరియల్పోర్ట్
ఇంతకు ముందే చెప్పినట్లుగా ఈ ప్రాజెక్ట్ రెండు భాగాలుగా విభజించబడింది:
- మొదట, Node.js తో Arduino Blink LED
- రెండవది, Arduino మరియు Node.js ఉపయోగించి వెబ్ ఇంటర్ఫేస్ నుండి LED ప్రకాశాన్ని నియంత్రించడం.
Arduino మరియు Node.js తో LED మెరిసేది
LED ని రెప్ప వేయడానికి, కంప్యూటర్తో కమ్యూనికేట్ చేయడానికి Arduino ని సెటప్ చేయాలి.
మెరిసే LED కోసం Arduino UNO ని ఏర్పాటు చేస్తోంది:
ల్యాప్టాప్ నుండి కంట్రోల్ ఎల్ఈడీకి ఆర్డునో యుఎన్ఓ కమాండ్ అంగీకరించేలా చేయడానికి, ఫిర్మాటా ఫర్మ్వేర్ను ఆర్డునో యుఎన్ఓకు లోడ్ చేయాలి. ఫర్మాటా ఫర్మ్వేర్ను లోడ్ చేయడానికి, ఈ సాధారణ దశలను అనుసరించండి:
- USB కేబుల్ ఉపయోగించి Arduino UNO ని కనెక్ట్ చేయండి
- సాధనాల నుండి Arduino IDE ని తెరిచి Arduino UNO బోర్డుని ఎంచుకోండి (ఇతర బోర్డుని ఉపయోగిస్తుంటే సంబంధితదాన్ని ఎంచుకోండి).
- కనెక్ట్ చేయబడిన Arduino UNO యొక్క గౌరవనీయ COM పోర్ట్ను ఎంచుకోండి
- ఇప్పుడు మెనూ -> ఫైల్ -> ఉదాహరణలు -> ఫర్మాటా -> స్టాండర్డ్ ఫిర్మాటా ఉపయోగించి ఫిర్మాటా స్కెచ్ ను కనుగొనండి .
- అప్లోడ్ "StandardFirmata" > అప్లోడ్ - ఫైలు వెళ్ళడం ద్వారా స్కెచ్.
ఇది ఫిర్మాటా స్కెచ్ను Arduino UNO లోకి లోడ్ చేస్తుంది మరియు ఇప్పుడు Arduino UNO కంప్యూటర్ నుండి ఏదైనా ఆదేశాన్ని అంగీకరించడానికి సిద్ధంగా ఉంది.
మెరిసే LED కోసం Node.js ప్రోగ్రామ్ రాయడం:
Node.js ప్రోగ్రామ్ రాయడానికి ఏదైనా టెక్స్ట్ ఎడిటర్ (నోట్ప్యాడ్, నోట్ప్యాడ్ ++, మొదలైనవి) తెరిచి, ఈ ట్యుటోరియల్ చివరిలో జతచేయబడిన 'బ్లింక్_లెడ్' కోడ్ను అతికించి '.js' అంటే (blink_led.js) పొడిగింపుతో సేవ్ చేయండి. లో "LED_Control" ఫోల్డర్ ముందు రూపొందించినవారు. మేము blink_led.js కోడ్ ఫైల్లో ముఖ్యమైన దశలను చర్చిస్తాము.
లీడ్ అనుసంధానించబడిన మైక్రోకంట్రోలర్ యొక్క పిన్ను ప్రారంభంలో నిర్వచించండి. ఈ ఉదాహరణలో, LED ను Arduino UNO యొక్క పిన్ 5 కి అనుసంధానించారు. Node.js లోని 'var' వేరియబుల్ డిక్లరేషన్ను సూచిస్తుంది.
var led_pin = 5;
జానీ-ఐదు మాడ్యూల్ అవసరాలకు చేర్చవలసిన మరియు బోర్డు అవసరాలకు ఎంచుకోవాల్సిన పరిస్థితి. Node.js లోని గుణకాలు లైబ్రరీలు. ' అవసరం () ' ఫంక్షన్ మాడ్యూల్ను యాక్సెస్ చేస్తుంది.
var johnny_five = అవసరం ("johnny-five"); var arduino_board = క్రొత్త johnny_five.Board ();
Console.log ప్రకటన ముద్రణ ప్రకటన పోలి ఉంటుంది మరియు అది సందేశాన్ని ముద్రిస్తుంది. మరియు LED పిన్ అవుట్పుట్ మోడ్కు సెట్ చేయబడింది మరియు బ్లింక్ లీడ్కు నిర్వచించిన ఆలస్యం ఇవ్వబడుతుంది.
console.log ("LED మెరిసేటట్లు ప్రారంభించింది!"); var led = new johnny_five.Led (led_pin); led.blink (100);
ఇప్పుడు ప్రోగ్రామ్ను అమలు చేయడానికి క్రింది దశలను అనుసరించండి:
- ఓపెన్ కమాండ్ ప్రాంప్ట్
- గుర్తించండి "LED_Control" అనుసరించడం ద్వారా ఫోల్డర్ 'CD' కమాండ్
- 'నోడ్ led_blink.js' ఆదేశాన్ని అమలు చేయండి. విజయవంతంగా అమలు చేస్తే అది "LED బ్లింక్ చేయడం ప్రారంభించింది!" దిగువ చిత్రంలో చూపిన విధంగా .
- ఆర్డునో UNO పిన్ 5 లో నాయకత్వం మెరిసిపోతుంది.
- మరియు ఇది మా ట్యుటోరియల్ యొక్క మొదటి భాగాన్ని అంటే Node.js తో LED మెరిసేటట్లు చేస్తుంది
Arduino మరియు Node.js వెబ్సర్వర్ ఉపయోగించి LED ప్రకాశాన్ని నియంత్రించడం
లాగానే Node.js తో ఒక LED మెరిసే, ఈ విభాగం కూడా కొన్ని భాగాలు Arduino UNO, అమర్చుతోంది వెబ్ ఇంటర్ఫేస్ అమర్చుతోంది మరియు ఒక Node.js కార్యక్రమం రాయడం అంటే ఉంటుంది.
LED యొక్క ప్రకాశాన్ని నియంత్రించడానికి Arduino UNO ని ఏర్పాటు చేస్తోంది:
Arduino UNO ని సెటప్ చేయడానికి, “ arduino_control.ino ” స్కెచ్ను Arduino UNO బోర్డులోకి అప్లోడ్ చేయండి మరియు అంతే. ఇది ఆర్డునో బోర్డును ఏర్పాటు చేస్తుంది. మీరు HTML ఫైళ్ళతో పూర్తి కోడ్ను ఇక్కడ నుండి డౌన్లోడ్ చేసుకోవచ్చు. “ Arduino_control.ino ” కోడ్లో ముఖ్యమైన దశలు ఉన్నాయి.
ప్రారంభంలో బాడ్ రేటు 9600 వద్ద నిర్ణయించబడింది.
సీరియల్.బెగిన్ (9600);
సీరియల్ పోర్ట్ ఎల్లప్పుడూ ఇన్కమింగ్ బైట్ కోసం చూస్తుంది మరియు బైట్ పిన్ 5 కు వ్రాయబడుతుంది, ఇది పిడబ్ల్యుఎం పిన్.
అయితే (! సీరియల్.అవబుల్ ()); అనలాగ్రైట్ (5, సీరియల్.రెడ్ ());
అంతే. ఇది ఆర్టునోను బైట్ను పిడబ్ల్యుఎం పిన్కు లాచ్ చేయడానికి సెట్ చేస్తుంది మరియు ఎల్ఇడి ప్రకాశాన్ని మారుస్తుంది.
వెబ్ ఇంటర్ఫేస్ను ఏర్పాటు చేస్తోంది:
వెబ్ ఇంటర్ఫేస్ను ఉపయోగించి లీడ్ యొక్క ప్రకాశాన్ని నియంత్రించడానికి , బ్రౌజర్లో ఇంటర్ఫేస్ను కలిగి ఉండటానికి HTML కోడ్ యొక్క ఒక చిన్న భాగం వ్రాయబడుతుంది. ఇంటర్ఫేస్ కలిగి ఉండటానికి దిగువ సాధారణ దశలను అనుసరించండి:
- ముందు సృష్టించిన “LED_Control” ఫోల్డర్ లోపల “పబ్లిక్” అనే క్రొత్త ఫోల్డర్ను సృష్టించండి.
- ఇప్పుడు “index.html” మరియు “style.css” ఫైళ్ళను డౌన్లోడ్ చేసి, పై మొదటి దశలో సృష్టించిన “పబ్లిక్” ఫోల్డర్ లోపల రెండు ఫైళ్ళను తరలించండి. ఫైళ్ళను ఇక్కడ నుండి డౌన్లోడ్ చేసుకోవచ్చు.
ఇది Node.js మరియు Arduino ఉపయోగించి LED యొక్క ప్రకాశాన్ని నియంత్రించడానికి వెబ్పేజీలో స్లైడర్ను సృష్టిస్తుంది.
వెబ్పేజీ నుండి ఎల్ఈడీని నియంత్రించడం నేర్చుకోవడం ఆసక్తికరంగా ఉంటుంది మరియు ఇది వెబ్సర్వర్ను సృష్టించడం ద్వారా ఇతర మైక్రోకంట్రోలర్తో చేయవచ్చు మరియు వెబ్సర్వర్లో వెబ్పేజీని హోస్ట్ చేస్తుంది. వెబ్సర్వర్ సంబంధిత ప్రాజెక్టులన్నింటినీ ఇక్కడ తనిఖీ చేయండి.
LED యొక్క ప్రకాశాన్ని నియంత్రించడానికి Node.js ప్రోగ్రామ్ రాయడం:
తదుపరి దశ Node.js ను ఉపయోగించి “brightness_control.js” స్కెచ్ వ్రాసి కోడ్ను అమలు చేస్తుంది. కోడ్ యొక్క అమలు Node.js తో LED ని మెరిసేలా ఉంటుంది.
Node.js ప్రోగ్రామ్ రాయడానికి ఏదైనా టెక్స్ట్ ఎడిటర్ (నోట్ప్యాడ్, నోట్ప్యాడ్ ++, మొదలైనవి) తెరిచి, ఈ ట్యుటోరియల్ చివరిలో జతచేయబడిన 'ప్రకాశం_కంట్రోల్ " కోడ్ను అతికించి, '.js ' పొడిగింపుతో సేవ్ చేయండి (ప్రకాశం_కంట్రోల్.జెస్) లో "LED_Control" ఫోల్డర్ ముందు రూపొందించినవారు. మీరు ఇక్కడ నుండి కోడ్ను కూడా డౌన్లోడ్ చేసుకోవచ్చు.
బ్లింక్ లెడ్ నోడ్.జెస్ ప్రోగ్రామ్ మాదిరిగానే, ఈ విభాగం మాడ్యూల్స్ (లైబ్రరీ) ను కూడా ఉపయోగిస్తుంది. 'ఎక్స్ప్రెస్', 'http' మరియు 'సీరియల్ పోర్ట్' మాడ్యూల్ను చేర్చండి.
var ఎక్స్ప్రెస్ = అవసరం ('ఎక్స్ప్రెస్'); app = ఎక్స్ప్రెస్ (); సర్వర్ = అవసరం ('http'). createServer (అనువర్తనం); io = అవసరం ('socket.io'). వినండి (సర్వర్); var సీరియల్పోర్ట్ = అవసరం ("సీరియల్పోర్ట్") //. సీరియల్పోర్ట్
ఇప్పుడు COM పోర్ట్ మరియు బాడ్రేట్ సెట్ చేయండి. విండోస్లో, ఇది ఎల్లప్పుడూ సంఖ్య పొడిగింపుతో COM గా ఉంటుంది (COM6, COM4, COM24 మొదలైనవి), కాబట్టి '/' తర్వాత అవసరమైన విధంగా క్రింద సెట్ చేయండి. బాడ్రేట్ కూడా సెట్ చేయండి.
var serialPort = క్రొత్త సీరియల్పోర్ట్ ("/ COM4", {baudRate: 9600});
పోర్ట్ 8080 వద్ద సర్వర్ వినడం ప్రారంభించండి.
server.listen (8080);
ప్రారంభంలో 0 వద్ద ప్రకాశాన్ని సెట్ చేయండి. అప్పుడు సాకెట్స్ మాడ్యూల్తో ప్రకాశం డేటాను IO కి లాచ్ చేయండి, ఇది వెబ్సాకెట్ మాడ్యూల్. సాకెట్ ప్రోటోకాల్ ఉపయోగించి వెబ్ ఇంటర్ఫేస్ ద్వారా డేటా అందుతుంది.
io.sockets.on ('కనెక్షన్', ఫంక్షన్ (సాకెట్) { socket.on ('led', ఫంక్షన్ (డేటా) { brightness = data.value; var buf = new Buffer (1); buf.writeUInt8 (ప్రకాశం, 0); serialPort.write (buf);
ఇప్పుడు ఎల్ఈడి ప్రకాశం విలువను సాకెట్ నుండి ఎల్ఇడి పిన్ వరకు విడుదల చేయండి.
io.sockets.emit ('led', {value: brightness}); }); socket.emit ('led', {value: brightness}); });
ఇప్పుడు డీబగ్ చేయడానికి, చివరిలో ప్రింట్ స్టేట్మెంట్ జోడించండి. Console.log అనేది Node.js లోని ప్రింట్ స్టేట్మెంట్.
console.log ("వెబ్ సర్వర్ ప్రారంభమైంది మీ బ్రౌజర్లోని 'http: // localhost: 8080' కు వెళ్లండి.");
ఇప్పుడు క్రింది దశలను అనుసరించి ప్రోగ్రామ్ను అమలు చేయడానికి:
- ఓపెన్ కమాండ్ ప్రాంప్ట్
- గుర్తించండి "LED_Control" అనుసరించడం ద్వారా ఫోల్డర్ 'CD' కమాండ్
- 'నోడ్ brightness_control.js' ఆదేశాన్ని అమలు చేయండి. విజయవంతంగా అమలు చేస్తే అది "వెబ్ సర్వర్ ప్రారంభమైంది" మీ బ్రౌజర్లోని "http: // localhost: 8080" కు వెళుతుంది. ఆదేశం క్రింద .
- ఇప్పుడు మీ బ్రౌజర్కు వెళ్లి url లో “localhost: 8080” అని టైప్ చేయండి.
- ప్రకాశాన్ని మార్చడానికి స్లైడర్ను 0-255 విలువల నుండి తరలించండి.
పూర్తి కోడ్ మరియు వీడియో పని రెండు విభాగం క్రింద జోడించబడింది. మీకు ఏమైనా సందేహం లేదా సలహా ఉంటే అప్పుడు మీరు ఫోరమ్ ద్వారా మమ్మల్ని సంప్రదించవచ్చు లేదా క్రింద వ్యాఖ్యానించవచ్చు. అన్ని కోడ్ ఫైళ్ళను కూడా ఇక్కడ నుండి డౌన్లోడ్ చేసుకోవచ్చు.