62 KiB
IoT లో లోతైన లోతుగా
స్కెచ్నోట్-by నిత్య నరసింహన్. పెద్ద వెర్షన్ కోసం చిత్రం మీద క్లిక్ చేయండి.
ఈ పాఠం హెలో ఐఓటీ సిరీస్లో భాగంగా మైక్రోసాఫ్ట్ రియాక్టర్ నుండి బోధించబడ్డది. ఈ పాఠం 2 వీడియోలుగా బోధించబడింది - 1 గంట పాఠం, మరియు 1 గంట ఆఫీస్ ఆవర్స్, పాఠంలో భాగాలను లోతుగా చూడటం మరియు ప్రశ్నలకు సమాధానమిచ్చే అవకాశం.
🎥 వీడియోలు చూడడానికి పై చిత్రాలపై క్లిక్ చేయండి
ముందస్తు లెక్చర్ క్విజ్
పరిచయం
ఈ పాఠం గత పాఠంలో చర్చించిన కొంత సూత్రాలపై లోతుగా చూస్తుంది.
ఈ పాఠంలో మనం ఇలా చూద్దాం:
- ఒక IoT అప్లికేషన్ యొక్క భాగాలు
- మైక్రోకంట్రోలర్స్ లో లోతైన లోతుగా
- సింగిల్-బోర్డ్ కంప్యూటర్స్ లో లోతైన లోతుగా
ఒక IoT అప్లికేషన్ యొక్క భాగాలు
ఒక IoT అప్లికేషన్ యొక్క రెండు భాగాలు ఇంటర్నెట్ మరియు థింగ్ (అవాంఛిత వస్తువు) అంటారు. ఈ రెండు భాగాలను మరింత వివరంగా చూద్దాం.
థింగ్
IoTలో థింగ్ అనగా భౌతిక ప్రపంచంతో పరస్పరం చేసే పరికరాన్ని సూచించును. ఈ పరికరాలు సాధారణంగా చిన్న, తక్కువ ధర కలిగిన కంప్యూటర్లు, తక్కువ వేగంతో మరియు తక్కువ శక్తి వినియోగంతో నడుస్తాయి - ఉదాహరణకు, కిలోబైట్ల RAM కలిగిన సాదా మైక్రోకంట్రోలర్లు (పీసీ లో గిగాబైట్లకు వ్యతిరేకంగా) కొన్ని శతాబ్దాలు мегాహెర్జ్ వద్ద నడుస్తాయి (పీసీ లో గిగాహెర్జ్ కు సమానం కాకుండా), కానీ కొన్నిసార్లు అత్యల్ప శక్తిని ఉపయోగించి వారాలు, నెలలు లేదా సంవత్సరాలు బ్యాటరీలపై నడవగలవు.
ఈ పరికరాలు భౌతిక ప్రపంచంతో సంభాషిస్తాయి, అది సెన్సార్లను ఉపయోగించి తమ చుట్టుపరిస్థితిని సమాచారాన్ని సేకరించడం లేదా అవుట్పుట్లు లేదా ఆక్ట్యుఎటర్లను నియంత్రించి భౌతిక మార్పులు చేయడం ద్వారా ఉంటుంది. ఈకు సంప్రదాయక ఉదాహరణ స్మార్ట్ థర్మోస్టాట్ - ఒక పరికరం, దీని వద్ద ఉష్ణోగ్రత సెన్సార్, కోరుకున్న ఉష్ణోగ్రత సెట్ చేయడానికి డయల్ లేదా టచ్స్క్రీన్ వంటి పద్ధతి, మరియు వేడి లేదా శీతలీకరణా వ్యవస్థకు కనెక్షన్ ఉంటాయి, అది కనుగొంటున్న ఉష్ణోగ్రత కోరుకున్న పరిధిని దాటితే ఆన్ అయ్యి పని చేస్తుంది. ఉష్ణోగ్రత సెన్సార్ గది చాలా చల్లగా ఉందని గుర్తించి ఆక్ట్యుఎటర్ వేడి ఆన్ చేస్తుంది.
IoT పరికరాలుగా ప్రవర్తించగల విస్తృత శ్రేణి వుంటుంది, ఒకే అంశాన్ని గుర్తించగల ప్రత్యేక హార్డ్వేర్ నుండి సార్వత్రిక పరికరాలు, మీ స్మార్ట్ఫోన్ కూడా! ఒక స్మార్ట్ఫోన్ చుట్టూ ఉన్న ప్రపంచాన్ని గుర్తించడానికి సెన్సార్లను ఉపయోగించగలదు, అలాగే ప్రపంచంతో పరస్పరం జరుగు ఆక్ట్యుఎటర్లను కూడా కలిగి ఉంటుంది - ఉదాహరణకు, ఏదైనా స్థానాన్ని గుర్తించడానికి GPS సెన్సార్ని, మరియు దిశానిర্দেশాన్ని ఇవ్వడానికి స్పీకర్ని ఉపయోగించడం.
✅ మీ చుట్టూ సెన్సార్ల ద్వారా సమాచారం సేకరించి దాన్ని నిర్ణయాలు తీసుకోవడంలో ఉపయోగించే ఇతర సిస్టమ్స్ గురించి ఆలోచించండి. ఒక ఉదాహరణ ఓవెన్ పై థర్మోస్టాట్ కాదు. మరెన్నో కనుగొనగలరా?
ఇంటర్నెట్
ఒక IoT అప్లికేషన్ యొక్క ఇంటర్నెట్ వైపు ఆ IoT పరికరం కనెక్ట్ అయ్యే అప్లికేషన్లు ఉంటాయి, అవి డేటా పంపడం మరియు స్వీకరించడం చేయగలవు, అలాగే ఇతర అప్లికేషన్లు, ఇవి IoT పరికరం నుండి డేటాను ప్రాసెస్ చేసి, ఆ డివైస్ ఆక్ట్యుఎటర్లకు ఏ అభ్యర్థనలు పంపాలో నిర్ణయించడంలో సహాయం చేస్తాయి.
ఒక సాధారణ సెటప్ అంటే IoT పరికరం కనెక్ట్ అయ్యే క్లౌడ్ సర్వీస్ ఉండటం, దీనిలో సెక్యూరిటీ వంటి అంశాలు నిర్వహించబడతాయి, IoT పరికరంనుంచి సందేశాలు వస్తాయి మరియు ఆ సందేశాలను పరికరానికి తిరిగి పంపిస్తాయి. ఆ క్లౌడ్ సర్వీస్ సెన్సార్ డేటాను ప్రాసెస్ లేదా నిల్వ చేసే ఇతర అప్లికేషన్లకు కనెక్ట్ అవుతుంది, లేదా ఇతర సిస్టమ్ల నుండి డేటాతో కలిసి సెన్సార్ డేటాను ఉపయోగించి నిర్ణయాలు తీసుకుంటుంది.
పరికరాలు ఎప్పుడూ నేరుగా WiFi లేదా వైర్డ్ కనెక్షన్లచే ఇంటర్నెట్కి కనుెక్ట్ కావు. కొన్ని పరికరాలు మెష్ నెట్వర్కింగ్ ఉపయోగించి ఒకరితో ఒకరు బ్లూటూత్ వంటి సాంకేతికతలతో సంభాషిస్తాయి, ఇంటర్నెట్ కనెక్షన్ కలిగిన హబ్ డివైస్ ద్వారా కనెక్ట్ అవుతాయి.
స్మార్ట్ థర్మోస్టాట్ ఉదాహరణగా, అది హోం WiFi ద్వారా క్లౌడ్ లో నడుస్తున్న క్లౌడ్ సర్వీస్ కు కనెక్ట్ అవుతుంది. ఉష్ణోగ్రత డేటాను అక్కడికి పంపి, అక్కడ డేటాబేస్ లో రాయబడుతుంది, ఇంటి యజమానికి ఫోన్ యాప్ ద్వారా ప్రస్తుత మరియు గత ఉష్ణోగ్రతలను చూడగలిగేలా. మరొక క్లౌడ్ సర్వీస్ యజమాని కోరుకున్న ఉష్ణోగ్రత తెలుసుకుని IoT పరికరానికి సందేశాలు పంపి వేడి ని ఆన్ లేదా ఆఫ్ చేస్తుంది.
ఇంకా స్మార్ట్ వెర్షన్ క్లౌడ్లో AI ఉపయోగించి ఇతర సెన్సార్ల నుండి డేటాతో, occupancy సెన్సార్లతో, వాతావరణం మరియు మీ క్యాలెండర్ వంటి డేటాతో కలిసి స్మార్ట్ గా ఉష్ణోగ్రత సర్దుబాటు చేసే నిర్ణయాలు తీసుకుంటుంది. ఉదాహరణకు, మీ క్యాలెండర్లో మీరు సెలవులో ఉన్నట్లయితే వేడి ఆఫ్ చేయవచ్చు, లేదా మీరు ఉపయోగించే గదులను బట్టి గదులు వారీగా వేడి ఆఫ్ చేయవచ్చు, అవి ఎక్కువ సమయం పాటు మరింత ఖచ్చితంగా నేర్చుకుంటాయి.
✅ మరే ఇతర డేటా ఇంటర్నెట్ కనెక్ట్ చేసిన థర్మోస్టాట్ ను మరింత స్మార్ట్ చేయగలదు?
ఎడ్జ్ పై IoT
IoT లో I అంటే ఇంటర్నెట్ అని ఉన్నప్పటికీ, ఈ పరికరాలు తప్పనిసరిగా ఇంటర్నెట్కు కనెక్ట్ అయ్యే అవసరం లేదు. కొన్నిసార్లు, పరికరాలు 'ఎడ్జ్' పరికరాలకు కనెక్ట్ కావచ్చు - మీ స్థానిక నెట్వర్క్లో నడుస్తున్న గేట్వే పరికరాలు, అందువల్ల మీరు ఇంటర్నెట్ కాల్ చేయకుండానే డేటాను ప్రాసెస్ చేయవచ్చు. ఇది పెద్ద డేటా చాలు లేదా ఇంటర్నెట్ కనెక్షన్ మెల్లగా ఉన్నప్పుడు వేగవంతమైనది, దీనివల్ల మీరు ఆఫ్లైన్లో కూడా నడుపగలరు, ఉదాహరణకు నౌక మీద లేదా విపత్తు ప్రాంతంలో ఉండేటప్పుడు, దత్తాంశాన్ని రహస్యంగా ఉంచడంలో సహాయం చేస్తుంది. కొంత పరికరాలు క్లౌడ్ టూల్స్ ఉపయోగించి ప్రాసెసింగ్ కోడ్ ను సృష్టించి లోకల్గా నడిపి, ఇంటర్నెట్ కనెక్షన్ లేకుండా డేటాను సేకరించి నిర్ణయం తీసుకుంటాయి.
ఉదాహరణగా Apple HomePod, Amazon Alexa లేదా Google Home వంటి స్మార్ట్ హోమ్ పరికరాలు ఉండవచ్చు, ఇవి క్లౌడ్లో శిక్షణ పొందిన AI మోడల్ ఉపయోగించి వాణిని వినుతాయి, కానీ పరికరంపై లోకల్గా నడుస్తున్నాయి. ఒక నిర్దిష్ట పదం లేదా వాక్యం పలకబడినపుడే ఈ పరికరాలు 'వేక్ అప్' కావడంతో, ఆ సమయంలోనే మీరు చెప్పిన వాణిని ఇంటర్నెట్ ద్వారా ప్రాసెస్ కాలకంగా పంపతారు. వాణి వినిపించడం ఆపినప్పుడు వాయిస్ పంపటం ఆపేస్తాయి. పరికరాన్ని వేక్ వర్డ్తో జాగ్రత్తగా రక్షణ కలిగి, పరికరం ఆపివేసేటప్పుడు మీరు చెప్పిన పదాలన్నీ ఇంటర్నెట్కి పంపబడరు, అందువల్ల గోప్యంగా ఉంటాయి.
✅ ప్రైవసీ ముఖ్యమైన మరొక సందర్భాల్ని ఆలోచించండి, అందులో డేటా ప్రాసెసింగ్ ఎడ్జ్లో చేయడం క్లౌడ్ కన్నా మంచిది అవుతుంది. సూచనగా - కెమెరాలు లేదా ఇతర ఇమేజింగ్ పరికరాలు కలిగిన IoT పరికరాలను గురించి ఆలోచించండి.
IoT సెక్యూరిటీ
ఏదైనా ఇంటర్నెట్ కనెక్షన్ తో, సెక్యూరిటీ ఒక ముఖ్యమైన అంశం. ఒక పాత జోక్ ఉంది 'IoT లో S అనగా సెక్యూరిటీ' అని - కానీ IoT లో S లేదు, అంటే అది సురక్షితం కాదనే భావన.
IoT పరికరాలు క్లౌడ్ సర్వీస్కి కనెక్ట్ అవుతాయి, అందువల్ల ఆ క్లౌడ్ సర్వీస్ ఎంత సురక్షితం ఉంటే అంతే. మీ క్లౌడ్ సర్వీస్ ఏ పరికరానికి అయినా కనెక్ట్ అవ్వాలంటే మాలిషియస్ డేటా పంపవచ్చు లేదా వైరస్ దాడులు జరగవచ్చు. దీని ఫలితంగా నిజ జీవిత పరిణామాలు ఉండవచ్చు, ఎందుకంటే IoT పరికరాలు ఇతర పరికరాలను నియంత్రిస్తాయి. ఉదాహరణకు, Stuxnet వోర్మ్ సెంచ్రిఫ్యూజ్ల వాల్వ్లను దెబ్బతీసింది. హ్యాకర్లు చిన్న పిల్లల మానిటర్స్ మరియు ఇతర హోమ్ సర్వైలెన్స్ పరికరాలను హ్యాక్ చేసేందుకు కూడా ఉపయోగించారు.
💁 కొన్ని సమయాల్లో IoT పరికరాలు మరియు ఎడ్జ్ పరికరాలు పూర్తిగా ఇంటర్నెట్ నుంచి వేరుగా ఉన్న నెట్వర్క్లో నడుస్తాయి, దీనికిఎయిర్-గ్యాపింగ్ అంటారు, డేటా రహస్యంగా ఉంచడానికి మరియు సురక్షితం చేయడానికి.
మైక్రోకంట్రోలర్లలో లోతైన లోతుగా
గత పాఠంలో మైక్రోకంట్రోలర్లను పరిచయం చేసాం. ఇప్పుడు వాటిని లోతుగా చూద్దాం.
CPU
CPU అనేది మైక్రోకంట్రోలర్ యొక్క 'మేధస్సు'. ఇది మీ కోడ్ నడుపుతూ, కనెక్ట్ అయిన పరికరాల నుంచి డేటా పంపటం మరియు స్వీకరించటం చేస్తుంది. CPUs ఒకటి లేదా ఎక్కువ కోర్లు కలిగి ఉండవచ్చు - ప్రాథమికంగా ఒకటి కంటే ఎక్కువ CPUలు, కలసి మీ కోడ్ నడుపుతాయి.
CPUs ఎప్పుడూ ఒక గడియారం మీద ఆధారపడి, ప్రతి సెకనుకు మిలియన్లు లేదా బిలియన్లు సార్లు టిక్ (పలక) చేస్తుంది. ప్రతి టిక్ లేదా సైకిల్ CPU తీసుకునే చర్యలను సజావుగా చేస్తుంది. ప్రతి టిక్ తో CPU ప్రోగ్రాములోని ఒక ఆదేశాన్ని అమలు చేస్తుంది, ఉదాహరణకు బాహ్య పరికరం నుండి డేటాను తెచ్చుకోవడం లేదా గణిత లెక్కలు చేయడం. ఈ నియమిత చక్రం ద్వారా తరువాతి ఆదేశం అమలు కుండ ముందే అన్ని చర్యలు పూర్తయ్యే అవకాశం ఉండు.
గడియారం చక్రం వేగం ఎక్కువైతే, CPU ఒక సెకనుకి ఎక్కువ ఆదేశాలను ప్రాసెస్ చేయగలదు, అందువల్ల CPU వేగం పెరుగుతుంది. CPU వేగాలు హెర్ట్జ్ (Hz)లో కొలుస్తారు, 1Hz అంటే ఒక సెకనుకు ఒక చక్రం.
🎓 CPU వేగాలు ఎక్కువగా MHz లేదా GHz లో ఇవ్వబడతాయి. 1MHz అంటే 1 మిలియన్ Hz, 1 GHz అంటే 1 బిలియన్ Hz.
💁 CPUs ప్రోగ్రామ్లు అమలుచేయడానికి ఫెచ్-డికోడ్-ఎగ్జిక్యూట్ చక్రంని ఉపయోగిస్తాయి. ప్రతి గడియారం టిక్కు CPU మెమోరీ నుండి తదుపరి ఆదేశాన్ని తీసుకుంటుంది, దానిని డికోడ్ చేసి, గణిత లాజిక్ యూనిట్ (ALU) ఉపయోగించి రెండు సంఖ్యలను జోడించడం వంటి కార్యాన్ని చేస్తుంది. కొంత ఆదేశాలు అమలుకై అనేక టిక్కులు అవసరం పడతాయి, అందువల్ల తదుపరి చక్రం తరువాతి టిక్ వద్ద జరుగుతుంది.
మైక్రోకంట్రోలర్లు డెస్క్టాప్ లేదా ల్యాప్టాప్ కంప్యూటర్ల కంటే చాలా తక్కువ గడియారం వేగాలు కలిగి ఉంటాయి, లేదా ఎక్కువ భాగం స్మార్ట్ఫోన్లకన్నా తక్కువ. ఉదాహరణకు Wio టెర్మినల్ CPU 120 MHz వద్ద నడుస్తుంది లేదా 120,000,000 చక్రాలు సెకనుకు.
✅ సగటు PC లేదా Mac ఒకటి కంటే ఎక్కువ కోర్లతో, గిగాహెర్ట్జ్ వేగంతో నడుస్తుంది, అంటే గడియారం టిక్కులు బిలియన్లసార్లు ఒక సెకనుకు జరుగుతాయి. మీ కంప్యూటర్ గడియారం వేగం గురించి పరిశోధించి Wio టెర్మినల్ కన్నా ఎన్ని రెట్లు వేగంగా ఉందో పోల్చండి.
ప్రతి గడియారం టిక్ శక్తిని తీసుకుంటుంది మరియు వేడి ఉత్పత్తి చేస్తుంది. టిక్కులు వేగంగా ఉండగా ఎక్కువ శక్తి తాగుతుంది మరియు ఎక్కువ వేడి ఏర్పడుతుంది. PCs వద్ద వేడి తేల్చడానికి హీట్ సింక్స్ మరియు ఫ్యాన్లు వుంటాయి, లేకపోతే అది ఒవర్వెర్షన్ అయి కొన్ని సెకన్లలో ఆగిపోతుంది. మైక్రోకంట్రోలర్లు చాలా చల్లగా పనిచేస్తూ చాలా మెల్లగా నడుస్తున్నాయి కనుక వీరు హీట్ సింక్స్ లేదా ఫ్యాన్లు ఉండవు. PCs ప్రధాన విద్యుత్ లేదా పెద్ద బ్యాటరీలపై కొన్ని గంటల పాటు నడుస్తాయి, మైక్రోకంట్రోలర్లు చిన్న బ్యాటరీలపై రోజులు, నెలలు లేదా సంవత్సరాలు నడవగలవు. మైక్రోకంట్రోలర్లు వేర్వేరు వేగాలతో నడిచే కోర్లను కలిగి ఉండవచ్చు, CPU పై డిమాండ్ తక్కువ ఉన్నప్పుడు తక్కువ వేగం-తక్కువ శక్తి కోర్లకు మారడం ద్వారా విద్యుత్ వినియోగం తగ్గిస్తాయి.
💁 కొంత PCs మరియు Macs కూడా అదే అధిక పవర్ గల కోర్లు మరియు తక్కువ శక్తిగల కోర్ల మిశ్రమం ఉపయోగిస్తున్నాయి, బ్యాటరీని సేవ్ చేసేందుకు మారిపోతాయి. ఉదాహరణకు, తాజా ఆపిల్ ల్యాప్టాప్లలో M1 చిప్ 4 పనితీరు కోర్లు మరియు 4 సామర్థ్య కోర్ల మధ్య మారవచ్చు, టాస్క్ ఆధారంగా బ్యాటరీ జీవితం లేదా వేగం కోసం.
✅ కొంత పరిశోధించండి: CPUs గురించి Wikipedia CPU ఆర్టికల్ చదవండి
పని
Wio టెర్మినల్ గురించి తెలుసుకోండి.
మీరు ఈ పాఠాల కోసం Wio టెర్మినల్ ఉపయోగిస్తుంటే CPUని కనుగొనండి. Wio టెర్మినల్ ఉత్పత్తి పేజీ లో Hardware Overview విభాగంలో లోపల భాగాల చిత్రం చూడండి, మరియు వెనుక స్పష్టమైన ప్లాస్టిక్ విండ్ ద్వారా CPUని కనుగొనటానికి ప్రయత్నించండి.
మేమరీ
మైక్రోకంట్రోలర్లు సాధారణంగా రెండు రకాల మెమరీలను కలిగి ఉంటాయి - ప్రోగ్రామ్ మెమరీ మరియు రాండమ్-యాక్సెస్ మెమరీ (RAM).
ప్రోగ్రామ్ మెమరీ అనేది నాన్-వోలాటైల్, అంటే దీనిలో వ్రాసినది పవర్ లేకపోయినా నిలుస్తుంది. ఇది మీ ప్రోగ్రామ్ కోడ్ నిల్వ చేసే మెమరీ.
RAM అనేది ప్రోగ్రామ్ నడవడానికి ఉపయోగించే మెమరీ, ఇందులో మీ ప్రోగ్రామ్ ఉపయోగించే వేరియబుల్స్ మరియు పరికరాల నుండి సేకరించిన డేటా ఉంటుంది. RAM వోలాటైల్, పవర్ పోయినప్పుడు అందులోని సమాచారం పోతుంది, అంటే మీ ప్రోగ్రామ్ రీసెట్ అవుతుంది.
🎓 ప్రోగ్రామ్ మెమరీ మీ కోడ్ను నిల్వ చేస్తుంది మరియు పవర్ లేకపోతే కూడా ఉన్నట్లుగా ఉంటుంది.
🎓 RAM మీ ప్రోగ్రామ్ నడపడానికి ఉపయోగిస్తారు మరియు పవర్ లేకపోతే రీసెట్ అవుతుంది
CPU తో పోలి, మైక్రోకంట్రోలర్ లో మెమరీ ఒక PC లేదా Mac కంటే ఆర్డర్స్ ఆఫ్ మాగ్నిట్యూడ్ తక్కువ ఉంటుంది. ఒక సాధారణ PC దగ్గర 8 గిగాబైట్స్ (GB) RAM ఉండవచ్చు, లేదా 8,000,000,000 బైట్స్, ప్రతి బైట్ ఒక అక్షరం లేదా 0-255 మధ్య సంఖ్య నిల్వ చేసేందుకు సరిపోతుంది. మైక్రోకంట్రోలర్ దగ్గర కేవలం కిలోబైట్స్ (KB) RAM ఉంటాయి, ఒక కిలోబైట్ అంటే 1,000 బైట్స్. పై పేర్కొన్న Wio టెర్మినల్ వద్ద 192KB RAM ఉంటుంది, అంటే 192,000 బైట్స్ - సాధారణ PC కంటే 40,000 రెట్లు తక్కువ!
అ래 డయాగ్రామ్ 192KB మరియు 8GB మధ్య పరస్పర పరిమాణ తేడాను చూపిస్తుంది - మధ్యలో ఉన్న చిన్న బిందువు 192KB ను సూచిస్తుంది.
ప్రోగ్రామ్ నిల్వ కూడా PC కంటే చిన్నది. సాధారణ PC వద్ద 500GB హార్డ్ డ్రైవ్ ఉంటుందని చెప్పవచ్చు, అయితే మైక్రోకంట్రోలర్ వద్ద కేవలం కిలోబైట్స్ లేదా కొంత మెగాబైట్స్ (MB) నిల్వ ఉండవచ్చు (1MB అనగా 1,000KB లేదా 1,000,000 బైట్స్). Wio టెర్మినల్ వద్ద 4MB ప్రోగ్రామ్ నిల్వ ఉంది.
✅ కొద్దిగా పరిశోధన చేయండి: మీరు ఈ టెక్స్ట్ చదవడానికి ఉపయోగిస్తున్న కంప్యూటర్ దగ్గర ఎంత RAM మరియు నిల్వ ఉంది? ఇది మైక్రోకంట్రోలర్తో ఎలా పోలుస్తుంది?
ఇన్పుట్/అవుట్పుట్
మైక్రోకంట్రోలర్లు సెన్సార్ల నుండి డేటాను చదవడం మరియు యాక్చువేటర్లకు నియంత్రణ సంకేతాలను పంపడానికి ఇన్పుట్ మరియు అవుట్పుట్ (I/O) కనెక్షన్లు అవసరం. అవి సాధారణంగా జనరల్-పర్పస్ ఇన్పుట్/అవుట్పుట్ (GPIO) పిన్లను కలిగి ఉంటాయి. ఈ పిన్లు సాఫ్ట్వేర్లో ఇన్పుట్ (సంకేతం స్వీకరించడం) లేదా అవుట్పుట్ (సంకేతం పంపడం) మోడ్లలో సవరించవచ్చు.
🧠⬅️ ఇన్పుట్ పిన్లు సెన్సార్ల నుండి విలువలను చదివేందుకు ఉపయోగిస్తారు
🧠➡️ అవుట్పుట్ పిన్లు యాక్చువేటర్లకు సూచనలు పంపుతాయి
✅ దీని గురించి మీరు తరువాతి పాఠంలో మరింత తెలుసుకుంటారు.
టాస్క్
Wio Terminal ను పరిశీలించండి.
మీరు ఈ పాఠాలకు Wio Terminal ఉపయోగిస్తుంటే, GPIO పిన్లను కనుగొనండి. Wio Terminal ఉత్పత్తి పేజీ లో పినౌట్ డయాగ్రామ్ భాగాన్ని చూసి ఏ పిన్ ఏదేనో తెలుసుకోండి. Wio Terminal తో, మీకు పిన్ నంబర్లతో స్టిక్కర్ ఒకటి లభిస్తుంది, దాన్ని వెనుక భాగంలో అంటించవచ్చు, లేదంటే వెంటనే జోడించండి.
భౌతిక పరిమాణం
మైక్రోకంట్రోలర్లు సాధారణంగా చిన్న పరిమాణంలో ఉంటాయి, చిన్నదైన, Freescale Kinetis KL03 MCU గోల్ఫ్ బంతి గుండా ఉండగలిగిన చిన్నటగా ఉంటుంది. PC లో CPU మాత్రమే 40mm x 40mm కొలత కలిగి ఉంటుంది, అది CPU వేడిక్రమించకుండా కొన్ని సెకన్లకు ఎక్కువ నడవడానికి అవసరమైన హీట్ సింక్లు, ఫ్యాన్లను కలుపుకోదు, ఇది పూర్తి మైక్రోకంట్రోలర్స్ కంటే చాలా పెద్దది. Wio టెర్మినల్ డెవలపర్ కిట్, మైక్రోకంట్రోలర్, కేసు, స్క్రీన్ మరియు అనేక తరహా కనెక్షన్లతో, ఒక ఖాళీ Intel i9 CPU కన్నా పెద్దది కాదు, మరియు CPU హీట్ సింక్ మరియు ఫ్యాన్తో ఉన్నదానికంటే గణనీయంగా చిన్నది!
| పరికరం | పరిమాణం |
|---|---|
| Freescale Kinetis KL03 | 1.6mm x 2mm x 1mm |
| Wio టెర్మినల్ | 72mm x 57mm x 12mm |
| Intel i9 CPU, హీట్ సింక్ మరియు ఫ్యాన్ | 136mm x 145mm x 103mm |
ఫ్రేమ్వర్క్లు మరియు ఆపరేటింగ్ సిస్టమ్లు
తక్కువ వేగం మరియు మెమరీ పరిమాణం వల్ల, మైక్రోకంట్రోలర్లు డెస్క్టాప్ అర్థంలో ఆపరేటింగ్ సిస్టమ్ (OS) నడపవు. మీ కంప్యూటర్ నడపడానికి ఉపయోగించే విండోస్, లినక్స్ లేదా మాకోస్ వంటి OS చాలా మెమరీ మరియు ప్రాసెసింగ్ శక్తిని కోరుతుంది, ఇవి మైక్రోకంట్రోలర్కు అవసరం కాని టాస్క్లను నిర్వహించడానికి. మైక్రోకంట్రోలర్లు సాధారణంగా ఒకటి లేదా మరింత ప్రత్యేక పనులను నిర్వహించేందుకు ప్రోగ్రామ్ చేయబడతాయి, PC లేదా Mac లాగా సాధారణ యూజర్ ఇంటర్ఫేస్ అవసరం, మ్యూజిక్ లేదా సినిమాలు ప్లే చేయడం, డాక్యుమెంట్స్ లేదా కోడ్ రాయడం, గేమ్స్ ఆడడం లేదా ఇంటర్నెట్ బ్రౌజ్ చేయడం అవసరం ఉండదు.
OS లేకుండా మైక్రోకంట్రోలర్ ప్రోగ్రామ్ చేయడానికి, మీరు మీ కోడ్ను మైక్రోకంట్రోలర్ నడపగలిగే విధంగా నిర్మించేందుకు కొన్ని టూలింగ్స్ అవసరం, API ల ద్వారా పరికరాలతో కమ్యూనికేట్ చేయడానికి వీలుగా. ప్రతి మైక్రోకంట్రోలర్ వేరు, కాబట్టి తయారీదారులు సాధారణంగా ప్రామాణిక ఫ్రేమ్వర్క్లను మద్దతు ఇస్తారు, వీటి ద్వారా మీరు ప్రామాణిక 'రెసిపీ' అనుసరించి కోడ్ బిల్డ్ చేసి, ఆ ఫ్రేమ్వర్క్ మద్దతు ఉన్న ఏ మైక్రోకంట్రోలర్పైనైనా నడపవచ్చు.
RTOS (రియల్-టైం ఆపరేటింగ్ సిస్టమ్) అనగా OS కలిగి మైక్రోకంట్రోలర్ కూడా ప్రోగ్రామ్ చేయవచ్చు, ఇవి పరికరాల నుండి డేటా పంపించడానికి మరియు స్వీకరించడానికి గడచే సమయంలో పనిచేస్తాయి. ఈ OS లు చాలా లైట్వెయిట్ మరియు కింది ఫీచర్లను అందిస్తాయి:
- మల్టీ-త్రెడింగ్, మీ కోడ్ ఒకేసారి అనేక కోడ్లను నడిపేలాగ, బహుళ కోర్లపై లేదా ఒక్క కోర్ పైన పక్కకొమే మార్పిడి చేసుకుంటూ
- ఇంటర్నెట్లో సురక్షిత కమ్యూనికేషన్ కోసం నెట్వర్క్ సేవలు
- స్క్రీన్ ఉన్న పరికరాలపై యూజర్ ఇంటర్ఫేస్ (UI) నిర్మించడానికి గ్రాఫికల్ యూజర్ ఇంటర్ఫేస్ (GUI) అంశాలు.
✅ వివిధ RTOS ల గురించి చదవండి: Azure RTOS, FreeRTOS, Zephyr
ఆర్డినో
Arduino ఎక్కువ ప్రసిద్ధి చెందిన మైక్రోకంట్రోలర్ ఫ్రేమ్వర్క్, ప్రధానంగా విద్యార్థులు, హాబీష్ట్లు మరియు మేకర్లు ఉపయోగిస్తారు. ఆర్డినో ఒక ఓపెన్ సోర్స్ ఎలక్ట్రానిక్స్ ప్లాట్ఫారమ్, సాఫ్ట్వేర్ మరియు హార్డ్వేర్ కలిపి ఉంటుంది. మీరు ఆర్డినో సర్మతితో కూడిన బోర్డులను ఆర్డినో నుంచి మాత్రమే కాక, ఇతర తయారీదారుల నుంచీ కొనుగోలు చేసి, ఆర్డినో ఫ్రేమ్వర్క్ ఉపయోగించి కోడ్ రాయవచ్చు.
ఆర్డినో బోర్డు C లేదా C++ లో కోడ్ చేయబడతాయి. C/C++ ని ఉపయోగించడం ద్వారా మీరు కోడ్ను చాలా చిన్నదిగా కాంపైల్ చేసి వేగంగా నడపగలుగుతారు, ఇది మైక్రోకంట్రోలర్ వంటి పరిమిత పరికరాల్లో అవసరం. ఆర్డినో అప్లికేషన్ యొక్క కేంద్ర భాగం 'స్కెచ్'గా పిలవబడుతుంది, ఇది C/C++ కోడ్ తో 2 ఫంక్షన్లు - setup మరియు loop. బోర్డు స్టార్ట్ అయినప్పుడు, ఆర్డినో ఫ్రేమ్వర్క్ కోడ్ ఒకసారి setup ఫంక్షన్ నడిపిస్తుంది, తరువాత loop ఫంక్షన్ నిరంతరంగా పునరావృతంగా నడుస్తుంది, పవర్ ఆఫ్ అయినప్పటి వరకు.
మీరు setup లో కోడ్ రాస్తారు, ఉదాహరణకి WiFi మరియు క్లౌడ్ సేవలకు కనెక్ట్ అవడం లేదా ఇన్పుట్/అవుట్పుట్ పిన్లను ప్రారంభించడం. అప్పుడు loop కోడ్ ప్రాసెసింగ్ కోడ్ ఉంటుంది, ఉదా: సెన్సార్ నుండి విలువ చదివి ఆ విలువ క్లౌడ్ కు పంపడం. మీరు సాధారణంగా ప్రతి లూప్ చివర డిలే జోడిస్తారు, ఉదా: మీరు ప్రతి 10 సెకన్లకు సెన్సార్ డేటాను పంపాలనుకుంటే, లూప్ చివర 10 సెకన్ల డిలే పెట్టి మైక్రోకంట్రోలర్ నిద్రలోకి వెళ్ళేలా చేస్తారు, తద్వారా పవర్ సేవ్ అవుతుంది.
✅ ఈ ప్రోగ్రామ్ ఆర్కిటెక్చర్ను ఈవెంట్ లూప్ లేదా మెసేజ్ లూప్ అని అంటారు. అనేక అప్లికేషన్లు దీనిని ఉపయోగిస్తాయి మరియు Windows, macOS, Linux వంటి OS లపై నడిచే డెస్క్టాప్ అప్లికేషన్లకు ఇది ప్రామాణిక నిర్మాణం. loop యూజర్ ఇంటర్ఫేస్ అంశాల నుండి సందేశాలు (బటన్లు, కీబోర్డు వంటి పరికరాలు) వింటుంది మరియు స్పందిస్తుంది. మీరు ఈ ఈవెంట్ లూప్ ఆర్టికల్ లో మరింత చదవవచ్చు.
ఆర్డినో మైక్రోకంట్రోలర్లతో మరియు I/O పిన్లతో కమ్యూనికేట్ చేయడానికి ప్రామాణిక లైబ్రరీలను అందిస్తుంది, వేర్వేరు మైక్రోకంట్రోలర్లపై నడచేందుకు హిందవుపై వేరు అమలు ఉన్నాయి. ఉదాహరణకి, delay ఫంక్షన్ ఇవ్వబడిన కాలవ్యవధి కోసం ప్రోగ్రామ్ను ఆగ్గా చేస్తుంది, digitalRead ఫంక్షన్ ఇచ్చిన పిన్ నుండి HIGH లేదా LOW విలువ చదువుతుంది, కోడ్ ఏ బోర్డుపై నడిచినా సరే. ఈ ప్రామాణిక లైబ్రరీలు ఒక బోర్డుకు రాసిన ఆర్డినో కోడ్ను మరొక ఆర్డినో బోర్డుపై మళ్ళీ కాంపైల్ చేసి నడిపే అవకాశం ఇస్తాయి, పిన్లు మరియు ఫీచర్లు ఒకే విధంగా ఉన్నట్లయితే.
మూడు-పార్టీ పెద్ద ఎకోసిస్టమ్ ఉన్న ఆర్డినో లైబ్రరీలు మీ ప్రాజెక్టులకు అదనపు ఫీచర్లు జోడిస్తాయి, ఉదా: సెన్సార్లు, యాక్చువేటర్లు ఉపయోగించడం లేదా క్లౌడ్ IoT సేవలకు కనెక్ట్ కావడం.
టాస్క్
Wio Terminal ను పరిశీలించండి.
మీరు ఈ పాఠాలకు Wio Terminal ఉపయోగిస్తుంటే, ముందు పాఠంలో రాస్తున్న కోడ్ను మళ్లీ చదవండి. setup మరియు loop ఫంక్షన్లను కనుగొనండి. సెరియల్ అవుట్పుట్ను పర్యవేక్షించి loop ఫంక్షన్ పునరావృతంగా పిలవబడుతుందో చూడు. setup లో కోడ్ జోడించి, ఈ కోడ్ రీబూట్ సమయంలో ఒక్కసారీ మాత్రమే పిలవబడుతోందని గమనించండి. పరికరం పార్శ్వంలో ఉన్న పవర్ స్విచ్ తో రీబూట్ చేసి ఇది ప్రతి రీబూట్ సమయంలో ఒకసారి పిలవబడుతుందని నిర్ధారించండి.
సింగిల్-బోర్డ్ కంప్యూటర్ల లో లోతైన అవగాహన
గత పాఠంలో మేము సింగిల్-బోర్డ్ కంప్యూటర్లను పరిచయం చేశారు. ఇప్పుడు వాటిని లోతుగా పరిశీలిద్దాం.
Raspberry Pi
Raspberry Pi Foundation UK నుండి 2009 లో స్థాపితమైన చారిటీ, కంప్యూటర్ సైన్స్ అధ్యయనాన్ని ప్రోత్సహించడానికి, ముఖ్యంగా పాఠశాల స్థాయి కోసం. ఈ మిషన్ భాగంగా, వారు సింగిల్-బోర్డ్ కంప్యూటర్ "Raspberry Pi"ని అభివృద్ధి చేశారు. Raspberry Pi ప్రస్తుతం 3 రకాల్లో అందుబాటులో ఉన్నాయి - ఫుల్ సైజ్ వెర్షన్, సూక్ష్మ Pi Zero, మరియు మీ చివరి IoT పరికరంలో అమర్చుకునేందుకు కంప్యూట్ మాడ్యూల్.
ఫుల్ సైజ్ Raspberry Pi తాజా నవీకరణ Raspberry Pi 4B. దీనిలో 1.5GHz వద్ద నడిచే క్వాడ్-కోర్ CPU, 2, 4, లేదా 8GB RAM, గిగాబిట్ ఈథర్నెట్, WiFi, 2 HDMI పోర్ట్లు 4కే స్క్రీన్లకు, ఆడియో మరియు కంపాజిట్ వీడియో అవుట్పుట్ పోర్టు, USB పోర్ట్లు (2 USB 2.0, 2 USB 3.0), 40 GPIO పిన్లు, Raspberry Pi కెమెరా మాడ్యూల్ కోసం కెమెరా కనెక్టర్, మరియు SD కార్డ్ స్లాట్ ఉన్నాయి. ఇంతన్నిటినీ 88mm x 58mm x 19.5mm బోర్డు మీద 3A USB-C పవర్ సహాయంతో నడుపుతుంది. ఇవి US$35 నుండి ప్రారంభమవుతాయి, PC లేదా Mac కన్నా చాలా తక్కువ ధర.
💁 Pi400 అన్న ఒక ఆల్-ఇన్-వన్ కంప్యూటర్ కూడా ఉంది, Pi4 కలిగి కీబోర్డ్లో అమర్చబడింది.
Pi Zero చాలా చిన్నది, తక్కువ శక్తి వినియోగించే వర్షన్. దీనిలో సింగిల్ కోర్ 1GHz CPU, 512MB RAM, WiFi (Zero W మోడల్లో), ఒక HDMI పోర్టు, ఒక మైక్రో-USB పోర్టు, 40 GPIO పిన్లు, Raspberry Pi కెమెరా మాడ్యూల్ కోసం కెమెరా కనెక్టర్, మరియు SD కార్డ్ స్లాట్ ఉన్నాయి. కొలతలు 65mm x 30mm x 5mm, తక్కువ శక్తి వినియోగిస్తుంది. Zero US$5, W వెర్షన్ WiFi సహా US$10.
🎓 ఈ CPUలు ఇద్దరు ARM ప్రాసెసర్లు, మీరు ఎక్కువగా PC, Mac లలో కనిపించే Intel/AMD x86 లేదా x64 ప్రాసెస్ర్లకు విరుద్ధంగా. ఇవి మీ కొన్ని మైక్రోకంట్రోలర్లు, ఆండ్రాయిడ్ ఫోన్లు, Microsoft Surface X, మరియు కొత్త Apple Silicon ఆధారిత Apple Mac లలో కనిపించే CPUలకు సమానం.
ప్రతి Raspberry Pi Debian Linux యొక్క ఒక వెర్షన్ అయిన Raspberry Pi OS నడుపుతుంది. ఇది డెస్క్టాప్ లేని లైట్ వెర్షన్గా వస్తుంది, ఇది స్క్రీన్ అవసరం లేని ‘హెడ్లెస్’ ప్రాజెక్టులకు సరిపోతుంది, లేదా పూర్తి డెస్క్టాప్ పరిసరంతో కూడిన వెర్షన్, వెబ్ బ్రౌజర్, ఆఫీస్ అప్లికేషన్లు, కోడింగ్ సాధనాలు, గేమ్స్ తో సహా. OS Debian Linux వెర్షన్ కావడంతో, మీరు Pi లో ఉన్న ARM ప్రాసెసర్కు సరికొత్తగా రూపొందించిన Debian నడిచే ఏ యాప్లికేషన్ లేదా సాధనాన్నైనా ఇన్స్టాల్ చేసుకోవచ్చు.
టాస్క్
Raspberry Pi ని పరిశీలించండి.
మీరు ఈ పాఠాలకు Raspberry Pi ఉపయోగిస్తుంటే, బోర్డులో వున్న వివిధ హార్డ్వేర్ భాగాల గురించి చదవండి.
- మీరు Raspberry Pi హార్డ్వేర్ డాక్యుమెంటేషన్ పేజీ లో ఉపయోగించే ప్రాసెసర్ల వివరాలు కనుగొనవచ్చు. మీరు ఉపయోగిస్తున్న Pi లో ఉపయోగించే ప్రాసెసర్ గురించి చదవండి.
- GPIO పిన్స్ ని కనుగొనండి. వాటి గురించి మరింత చదవండి Raspberry Pi GPIO డాక్యుమెంటేషన్. GPIO పిన్ వాడుక సూచిక ఉపయోగించి మీ Pi లో వివిధ పిన్లను తెలుసుకోండి.
సింగిల్-బోర్డ్ కంప్యూటర్లకు ప్రోగ్రామింగ్
సింగిల్-బోర్డ్ కంప్యూటర్లు పూర్తి కంప్యూటర్లు, పూర్తి OS నడుపుతాయి. అంటే వాటి కోసం విస్తృత ప్రోగ్రామింగ్ భాషలు, ఫ్రేమ్వర్క్లు మరియు టూల్స్ ఉన్నాయి, మైక్రోకంట్రోలర్ల వంటి బోర్డు మద్దతుపై ఆధారపడవు. చాలా ప్రోగ్రామింగ్ భాషలకు GPIO పిన్కు యాక్సెస్ ఇచ్చే లైబ్రరీలు ఉంటాయి, సెన్సార్లు మరియు యాక్చువేటర్లతో డేటా పంపడం మరియు స్వీకరించడం కోసం.
✅ మీరు పరిచయం ఉన్న ప్రోగ్రామింగ్ భాషలు ఏమిటి? అవి Linux పై మద్దతు కలిగి ఉన్నాయా? Raspberry Pi మీద IoT అనువర్తనాలు నిర్మించడానికి అత్యంత సాధారణ ప్రోగ్రామింగ్ భాష Python. Pi కోసం రూపొందించిన పెద్ద ఎకోసిస్టమ్ ఉంది, మరియు వాటిలో సుమారు అంతటా Python లైబ్రరీలుగా ఉపయోగించడానికి అవసరమైన సంబంధిత కోడ్ ఉంది. ఈ ఎకోసిస్టమ్స్లో కొన్ని 'హ్యాట్స్'పై ఆధారపడి ఉంటాయి - అవి Pi పై ఎలాంటి hatt లా కూర్చుని, 40 GPIO పిన్లకు పెద్ద సాకెట్ ద్వారా కనెక్ట్ అవుతాయని అర్థం. ఈ హ్యాట్స్ అదనపు సామర్థ్యాలను అందిస్తాయి, ఉదాహరణకు స్క్రీన్లు, సెన్సార్లు, రిమోట్ కంట్రోల్ కార్లు, లేదా సెన్సార్లను ప్రమాణీకృత కేబుళ్లతో ప్లగ్ చేయడానికి అనువైన అడాప్టర్లు.
వృత్తిపరమైన IoT అమరికలలో సింగిల్-బోర్డ్ కంప్యూటర్ల వినియోగం
సింగిల్-బోర్డ్ కంప్యూటర్లు వృత్తిపరమైన IoT అమరికల కోసం, కేవలం డెవలపర్ కిట్స్ కాకుండా, ఉపయోగిస్తారు. అవి హార్డ్వేర్ నియంత్రణ మరియు యంత్రக் అభ్యాస నమూనాలను నడిపించే కష్టం ఉన్న పనులను నిర్వహించడానికి శక్తివంతమైన మార్గాన్ని అందిస్తాయి. ఉదాహరణకు, Raspberry Pi 4 కంప్యూట్ మాడ్యూల్ ఉంది, ఇది Raspberry Pi 4 శక్తిని అందిస్తుంది కానీ ఎక్కువ పోర్టులు లేకుండా చిన్న, తక్కువ ధర కలిగిన ఫార్మాట్లో ఉంటుంది, మరియు కస్టమ్ హార్డ్వేర్లో సంస్థాపించడానికి డిజైన్ చేయబడింది.
🚀 సవాలు
గత పాఠంలో సవాలేమిటంటే, మీరు మీ ఇల్లు, పాఠశాల లేదా వర్క్ప్లేస్లో ఉన్న IoT పరికరాలను ఎంతగానో జాబితా చేయడం. ఈ జాబితాలో ఉన్న ప్రతి పరికరం గురించి మీరు ఎలా భావిస్తారు? అవి మైక్రోకంట్రోలర్ల ఆధారంగా ఉంటాయా, సింగిల్-బోర్డ్ కంప్యూటర్లాడనా, లేక రెండింటి మిశ్రమమా?
పాఠం తర్వాత క్విజ్
సమీక్ష & స్వీయ అధ్యయనం
- Arduino ప్లాట్ఫామ్ గురించి మరింత తెలుసుకోవడానికి Arduino ప్రారంభ గైడ్ చదవండి.
- Raspberry Pis గురించి మరింత తెలుసుకోవడానికి Raspberry Pi 4 పరిచయం చదవండి.
- What the FAQ are CPUs, MPUs, MCUs, and GPUs అనే Electrical Engineering Journalలో వ్యాసంలో ఉన్నాయి కొన్ని కాన్సెప్ట్లు మరియు సంక్షిప్తాల గురించి మరింత తెలుసుకోండి.
✅ ఈ గైడ్లను, hardware guideలో లింకుల ద్వారా చూపించిన ఖర్చులతో పాటు ఉపయోగించి మీరు ఉపయోగించదలచుకున్న హార్డ్వేర్ ప్లాట్ఫామ్ ఏదీ అనేది నిర్ణయించండి లేదా మీరు వర్చువల్ పరికరాన్ని ఉపయోగించాలనుకుంటే నిర్ణయించండి.
అసైన్మెంట్
మైక్రోకంట్రోలర్లు మరియు సింగిల్-బోర్డ్ కంప్యూటర్లను పోల్చి చూడండి
ఠీకాణా:
ఈ డాక్యుమెంట్ AI అనువాద సేవ Co-op Translator ఉపయోగించి అనువదించబడింది. మనం సరైన అనువాదానికి శ్రద్ధ పెట్టినప్పటికీ, ఆటోమేటిక్ అనువాదాల్లో పొరపాట్లు లేదా తప్పులు ఉండవచ్చు. అసలు డాక్యుమెంట్ దాని స్థానిక భాషలోనే అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం చేయించడం మంచిది. ఈ అనువాదాన్ని ఉపయోగించడంవలన ఏవైనా అపార్థాలు లేదా తప్పుదోవలు ఏర్పడితే, దాని బాధ్యత మేము తీసుకోము.











