ESP32-C3 వైర్లెస్ అడ్వెంచర్
ESP32-C3 వైర్లెస్ అడ్వెంచర్
IoTకి సమగ్ర గైడ్
ఎస్ప్రెస్సిఫ్ సిస్టమ్స్ జూన్ 12, 2023
స్పెసిఫికేషన్లు
- ఉత్పత్తి: ESP32-C3 వైర్లెస్ అడ్వెంచర్
- తయారీదారు: ఎస్ప్రెస్సిఫ్ సిస్టమ్స్
- తేదీ: జూన్ 12, 2023
ఉత్పత్తి వినియోగ సూచనలు
తయారీ
ESP32-C3 వైర్లెస్ అడ్వెంచర్ని ఉపయోగించే ముందు, మీరు ఉన్నారని నిర్ధారించుకోండి
IoT యొక్క కాన్సెప్ట్లు మరియు ఆర్కిటెక్చర్ గురించి బాగా తెలుసు. ఇది సహాయం చేస్తుంది
పరికరం పెద్ద IoT పర్యావరణ వ్యవస్థకు ఎలా సరిపోతుందో మీరు అర్థం చేసుకున్నారు
మరియు స్మార్ట్ హోమ్లలో దాని సంభావ్య అప్లికేషన్లు.
IoT ప్రాజెక్ట్ల పరిచయం మరియు అభ్యాసం
ఈ విభాగంలో, మీరు సాధారణ IoT ప్రాజెక్ట్ల గురించి నేర్చుకుంటారు,
సాధారణ IoT పరికరాల కోసం ప్రాథమిక మాడ్యూల్స్, ప్రాథమిక మాడ్యూల్స్తో సహా
క్లయింట్ అప్లికేషన్లు మరియు సాధారణ IoT క్లౌడ్ ప్లాట్ఫారమ్లు. ఈ రెడీ
అర్థం చేసుకోవడానికి మరియు సృష్టించడానికి మీకు పునాదిని అందిస్తుంది
సొంత IoT ప్రాజెక్ట్లు.
అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్
ఈ అభ్యాస ప్రాజెక్ట్లో, మీరు స్మార్ట్ను ఎలా సృష్టించాలో నేర్చుకుంటారు
ESP32-C3 వైర్లెస్ అడ్వెంచర్ని ఉపయోగించి కాంతి. ప్రాజెక్ట్ నిర్మాణం,
విధులు, హార్డ్వేర్ తయారీ మరియు అభివృద్ధి ప్రక్రియ ఉంటుంది
వివరంగా వివరించారు.
ప్రాజెక్ట్ నిర్మాణం
ప్రాజెక్ట్ అనేక భాగాలను కలిగి ఉంటుంది, వీటిలో
ESP32-C3 వైర్లెస్ అడ్వెంచర్, LEDలు, సెన్సార్లు మరియు క్లౌడ్
బ్యాకెండ్.
ప్రాజెక్ట్ విధులు
స్మార్ట్ లైట్ ప్రాజెక్ట్ ప్రకాశాన్ని నియంత్రించడానికి మరియు మిమ్మల్ని అనుమతిస్తుంది
మొబైల్ యాప్ ద్వారా రిమోట్గా LED ల రంగు లేదా web
ఇంటర్ఫేస్.
హార్డ్వేర్ తయారీ
ప్రాజెక్ట్ కోసం సిద్ధం చేయడానికి, మీరు సేకరించాలి
ESP32-C3 వైర్లెస్ వంటి అవసరమైన హార్డ్వేర్ భాగాలు
అడ్వెంచర్ బోర్డు, LED లు, రెసిస్టర్లు మరియు విద్యుత్ సరఫరా.
అభివృద్ధి ప్రక్రియ
అభివృద్ధి ప్రక్రియలో అభివృద్ధిని ఏర్పాటు చేయడం ఉంటుంది
పర్యావరణం, LED లను నియంత్రించడానికి కోడ్ రాయడం, కనెక్ట్ చేయడం
క్లౌడ్ బ్యాకెండ్, మరియు స్మార్ట్ యొక్క కార్యాచరణను పరీక్షిస్తోంది
కాంతి.
ESP రెయిన్మేకర్తో పరిచయం
ESP రెయిన్మేకర్ IoTని అభివృద్ధి చేయడానికి శక్తివంతమైన ఫ్రేమ్వర్క్
పరికరాలు. ఈ విభాగంలో, మీరు ESP రెయిన్మేకర్ అంటే ఏమిటో నేర్చుకుంటారు మరియు
మీ ప్రాజెక్ట్లలో ఇది ఎలా అమలు చేయబడుతుంది.
ESP రెయిన్మేకర్ అంటే ఏమిటి?
ESP రెయిన్మేకర్ అనేది క్లౌడ్-ఆధారిత ప్లాట్ఫారమ్, ఇది సమితిని అందిస్తుంది
IoT పరికరాలను నిర్మించడం మరియు నిర్వహించడం కోసం సాధనాలు మరియు సేవలు.
ESP రెయిన్మేకర్ యొక్క అమలు
ఈ విభాగం ఇందులో పాల్గొన్న వివిధ భాగాలను వివరిస్తుంది
క్లెయిమ్ చేసే సేవతో సహా ESP రెయిన్మేకర్ని అమలు చేయడం,
రెయిన్మేకర్ ఏజెంట్, క్లౌడ్ బ్యాకెండ్ మరియు రెయిన్మేకర్ క్లయింట్.
ప్రాక్టీస్: ESP రెయిన్మేకర్తో అభివృద్ధి చేయడానికి కీలక అంశాలు
ఈ అభ్యాస విభాగంలో, మీరు కీలకమైన అంశాల గురించి నేర్చుకుంటారు
ESP రెయిన్మేకర్తో అభివృద్ధి చేస్తున్నప్పుడు పరిగణించండి. ఇందులో పరికరం ఉంటుంది
దావా వేయడం, డేటా సమకాలీకరణ మరియు వినియోగదారు నిర్వహణ.
ESP రెయిన్మేకర్ యొక్క లక్షణాలు
ESP రెయిన్మేకర్ వినియోగదారు నిర్వహణ, ముగింపు కోసం వివిధ లక్షణాలను అందిస్తుంది
వినియోగదారులు మరియు నిర్వాహకులు. ఈ లక్షణాలు సులభంగా పరికరాన్ని అనుమతిస్తాయి
సెటప్, రిమోట్ కంట్రోల్ మరియు పర్యవేక్షణ.
అభివృద్ధి పర్యావరణాన్ని ఏర్పాటు చేయడం
ఈ విభాగం ఓవర్ను అందిస్తుందిview ESP-IDF (Espressif IoT
డెవలప్మెంట్ ఫ్రేమ్వర్క్), ఇది అధికారిక అభివృద్ధి ఫ్రేమ్వర్క్
ESP32-ఆధారిత పరికరాల కోసం. ఇది విభిన్న సంస్కరణలను వివరిస్తుంది
ESP-IDF మరియు అభివృద్ధి వాతావరణాన్ని ఎలా సెటప్ చేయాలి.
హార్డ్వేర్ మరియు డ్రైవర్ డెవలప్మెంట్
ESP32-C3 ఆధారంగా స్మార్ట్ లైట్ ఉత్పత్తుల హార్డ్వేర్ డిజైన్
ఈ విభాగం స్మార్ట్ లైట్ యొక్క హార్డ్వేర్ డిజైన్పై దృష్టి పెడుతుంది
ESP32-C3 వైర్లెస్ అడ్వెంచర్ ఆధారంగా ఉత్పత్తులు. ఇది కవర్ చేస్తుంది
స్మార్ట్ లైట్ ఉత్పత్తుల యొక్క లక్షణాలు మరియు కూర్పు, అలాగే
ESP32-C3 కోర్ సిస్టమ్ యొక్క హార్డ్వేర్ డిజైన్.
స్మార్ట్ లైట్ ఉత్పత్తుల యొక్క లక్షణాలు మరియు కూర్పు
ఈ ఉపవిభాగం చేసే లక్షణాలు మరియు భాగాలను వివరిస్తుంది
అప్ స్మార్ట్ లైట్ ఉత్పత్తులు. ఇది వివిధ కార్యాచరణలను చర్చిస్తుంది
మరియు స్మార్ట్ లైట్లను రూపొందించడానికి డిజైన్ పరిగణనలు.
ESP32-C3 కోర్ సిస్టమ్ యొక్క హార్డ్వేర్ డిజైన్
ESP32-C3 కోర్ సిస్టమ్ యొక్క హార్డ్వేర్ డిజైన్ పవర్ని కలిగి ఉంటుంది
సరఫరా, పవర్ ఆన్ సీక్వెన్స్, సిస్టమ్ రీసెట్, SPI ఫ్లాష్, క్లాక్ సోర్స్,
మరియు RF మరియు యాంటెన్నా పరిగణనలు. ఈ ఉపవిభాగం అందిస్తుంది
ఈ అంశాలపై వివరణాత్మక సమాచారం.
తరచుగా అడిగే ప్రశ్నలు
ప్ర: ESP రెయిన్మేకర్ అంటే ఏమిటి?
A: ESP రెయిన్మేకర్ అనేది క్లౌడ్-ఆధారిత ప్లాట్ఫారమ్, ఇది సాధనాలను అందిస్తుంది
మరియు IoT పరికరాలను నిర్మించడం మరియు నిర్వహించడం కోసం సేవలు. ఇది సులభతరం చేస్తుంది
అభివృద్ధి ప్రక్రియ మరియు సులభ పరికర సెటప్, రిమోట్ కోసం అనుమతిస్తుంది
నియంత్రణ, మరియు పర్యవేక్షణ.
ప్ర: నేను అభివృద్ధి వాతావరణాన్ని ఎలా ఏర్పాటు చేయగలను
ESP32-C3?
A: ESP32-C3 కోసం అభివృద్ధి వాతావరణాన్ని సెటప్ చేయడానికి, మీకు అవసరం
ESP-IDF (Espressif IoT డెవలప్మెంట్ ఫ్రేమ్వర్క్)ని ఇన్స్టాల్ చేయడానికి మరియు
అందించిన సూచనల ప్రకారం దాన్ని కాన్ఫిగర్ చేయండి. ESP-IDF అనేది
ESP32-ఆధారిత పరికరాల కోసం అధికారిక అభివృద్ధి ఫ్రేమ్వర్క్.
ప్ర: ESP రెయిన్మేకర్ యొక్క లక్షణాలు ఏమిటి?
A: ESP రెయిన్మేకర్ వినియోగదారుతో సహా వివిధ లక్షణాలను అందిస్తుంది
నిర్వహణ, తుది వినియోగదారు లక్షణాలు మరియు నిర్వాహక లక్షణాలు. వాడుకరి నిర్వహణ
సులభంగా పరికరాన్ని క్లెయిమ్ చేయడానికి మరియు డేటా సమకాలీకరణను అనుమతిస్తుంది. తుది వినియోగదారుడు
ఫీచర్లు మొబైల్ యాప్ ద్వారా పరికరాల రిమోట్ కంట్రోల్ని ప్రారంభిస్తాయి లేదా
web ఇంటర్ఫేస్. అడ్మిన్ లక్షణాలు పరికర పర్యవేక్షణ కోసం సాధనాలను అందిస్తాయి
మరియు నిర్వహణ.
ESP32-C3 వైర్లెస్ అడ్వెంచర్
IoTకి సమగ్ర గైడ్
ఎస్ప్రెస్సిఫ్ సిస్టమ్స్ జూన్ 12, 2023
కంటెంట్లు
నేను తయారీ
1
1 IoTకి పరిచయం
3
1.1 IoT యొక్క ఆర్కిటెక్చర్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 స్మార్ట్ హోమ్లలో IoT అప్లికేషన్. . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 IoT ప్రాజెక్ట్ల పరిచయం మరియు అభ్యాసం
9
2.1 సాధారణ IoT ప్రాజెక్ట్లకు పరిచయం. . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 సాధారణ IoT పరికరాల కోసం ప్రాథమిక మాడ్యూల్స్. . . . . . . . . . . . . . . . . 9
2.1.2 క్లయింట్ అప్లికేషన్ల ప్రాథమిక మాడ్యూల్స్. . . . . . . . . . . . . . . . . . . 10
2.1.3 సాధారణ IoT క్లౌడ్ ప్లాట్ఫారమ్లకు పరిచయం. . . . . . . . . . . . . . 11
2.2 అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 ప్రాజెక్ట్ నిర్మాణం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 ప్రాజెక్ట్ విధులు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 హార్డ్వేర్ తయారీ. . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 అభివృద్ధి ప్రక్రియ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 ESP రెయిన్మేకర్తో పరిచయం
19
3.1 ESP రెయిన్మేకర్ అంటే ఏమిటి? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 ESP రెయిన్మేకర్ యొక్క అమలు. . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 దావా సేవ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 రెయిన్మేకర్ ఏజెంట్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 క్లౌడ్ బ్యాకెండ్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.4 రెయిన్మేకర్ క్లయింట్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 ప్రాక్టీస్: ESP రెయిన్మేకర్తో అభివృద్ధి చేయడానికి కీలక అంశాలు. . . . . . . . . . . . 25
3.4 ESP రెయిన్మేకర్ యొక్క లక్షణాలు. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 వినియోగదారు నిర్వహణ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.2 తుది వినియోగదారు ఫీచర్లు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.3 అడ్మిన్ ఫీచర్లు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 అభివృద్ధి పర్యావరణాన్ని ఏర్పాటు చేయడం
31
4.1 ESP-IDF ఓవర్view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 ESP-IDF సంస్కరణలు . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3
4.1.2 ESP-IDF Git వర్క్ఫ్లో . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 అనుకూలమైన సంస్కరణను ఎంచుకోవడం. . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 ఓవర్view యొక్క ESP-IDF SDK డైరెక్టరీ . . . . . . . . . . . . . . . . . . . . 34 4.2 ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు. . . . . . . . . . . . . . . . . 38 4.2.1 Linuxలో ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ను ఏర్పాటు చేస్తోంది. . . . . . . . 38 4.2.2 విండోస్లో ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ సెటప్ చేయడం. . . . . . 40 4.2.3 Macలో ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు. . . . . . . . . 45 4.2.4 VS కోడ్ని ఇన్స్టాల్ చేస్తోంది. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 థర్డ్-పార్టీ డెవలప్మెంట్ ఎన్విరాన్మెంట్స్ పరిచయం. . . . . . . . 46 4.3 ESP-IDF కంపైలేషన్ సిస్టమ్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 కంపైలేషన్ సిస్టమ్ యొక్క ప్రాథమిక అంశాలు. . . . . . . . . . . . . . . . . . 47 4.3.2 ప్రాజెక్ట్ File నిర్మాణం . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 కంపైలేషన్ సిస్టమ్ యొక్క డిఫాల్ట్ బిల్డ్ రూల్స్. . . . . . . . . . . . . 50 4.3.4 కంపైలేషన్ స్క్రిప్ట్కు పరిచయం. . . . . . . . . . . . . . . . . . 51 4.3.5 సాధారణ ఆదేశాలకు పరిచయం. . . . . . . . . . . . . . . . . . . 52 4.4 అభ్యాసం: కంపైలింగ్ Example ప్రోగ్రామ్ "బ్లింక్" . . . . . . . . . . . . . . . . . . 53 4.4.1 ఉదాample విశ్లేషణ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 బ్లింక్ ప్రోగ్రామ్ను కంపైల్ చేయడం. . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 బ్లింక్ ప్రోగ్రామ్ ఫ్లాషింగ్. . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 బ్లింక్ ప్రోగ్రామ్ యొక్క సీరియల్ పోర్ట్ లాగ్ విశ్లేషణ. . . . . . . . . . . . . . 60 4.5 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
II హార్డ్వేర్ మరియు డ్రైవర్ డెవలప్మెంట్
65
5 ESP32-C3 ఆధారంగా స్మార్ట్ లైట్ ఉత్పత్తుల హార్డ్వేర్ డిజైన్
67
5.1 స్మార్ట్ లైట్ ఉత్పత్తుల యొక్క లక్షణాలు మరియు కూర్పు. . . . . . . . . . . . . . . 67
5.2 ESP32-C3 కోర్ సిస్టమ్ యొక్క హార్డ్వేర్ డిజైన్. . . . . . . . . . . . . . . . . . . 70
5.2.1 విద్యుత్ సరఫరా. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2 పవర్ ఆన్ సీక్వెన్స్ మరియు సిస్టమ్ రీసెట్ . . . . . . . . . . . . . . . . . . 74
5.2.3 SPI ఫ్లాష్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.4 గడియార మూలం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.5 RF మరియు యాంటెన్నా. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.6 స్ట్రాపింగ్ పిన్స్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.7 GPIO మరియు PWM కంట్రోలర్. . . . . . . . . . . . . . . . . . . . . . . . . 79
5.3 అభ్యాసం: ESP32-C3తో స్మార్ట్ లైట్ సిస్టమ్ను రూపొందించడం. . . . . . . . . . . . . 80
5.3.1 మాడ్యూళ్లను ఎంచుకోవడం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.2 PWM సిగ్నల్స్ యొక్క GPIOలను కాన్ఫిగర్ చేయడం. . . . . . . . . . . . . . . . . . . . 82
5.3.3 ఫర్మ్వేర్ డౌన్లోడ్ మరియు డీబగ్గింగ్ ఇంటర్ఫేస్. . . . . . . . . . . . 82
5.3.4 RF డిజైన్ కోసం మార్గదర్శకాలు. . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 పవర్ సప్లై డిజైన్ కోసం మార్గదర్శకాలు. . . . . . . . . . . . . . . . . . . 86 5.4 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6 డ్రైవర్ అభివృద్ధి
87
6.1 డ్రైవర్ అభివృద్ధి ప్రక్రియ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2 ESP32-C3 పెరిఫెరల్ అప్లికేషన్స్ . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3 LED డ్రైవర్ బేసిక్స్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.1 రంగు ఖాళీలు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.2 LED డ్రైవర్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.3 LED డిమ్మింగ్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.4 PWM పరిచయం. . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.4 LED డిమ్మింగ్ డ్రైవర్ డెవలప్మెంట్. . . . . . . . . . . . . . . . . . . . . . . . 96
6.4.1 అస్థిరత లేని నిల్వ (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97
6.4.2 LED PWM కంట్రోలర్ (LEDC) . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.3 LED PWM ప్రోగ్రామింగ్. . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5 అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్కి డ్రైవర్లను జోడించడం. . . . . . . . . . . . . . . . . 103
6.5.1 బటన్ డ్రైవర్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5.2 LED డిమ్మింగ్ డ్రైవర్. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.6 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
III వైర్లెస్ కమ్యూనికేషన్ మరియు కంట్రోల్
109
7 Wi-Fi కాన్ఫిగరేషన్ మరియు కనెక్షన్
111
7.1 Wi-Fi యొక్క ప్రాథమిక అంశాలు . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.1 Wi-Fiకి పరిచయం . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.2 IEEE 802.11 పరిణామం. . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.3 Wi-Fi భావనలు . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.4 Wi-Fi కనెక్షన్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2 బ్లూటూత్ బేసిక్స్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2.1 బ్లూటూత్ పరిచయం. . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.2 బ్లూటూత్ కాన్సెప్ట్లు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.2.3 బ్లూటూత్ కనెక్షన్. . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.3 Wi-Fi నెట్వర్క్ కాన్ఫిగరేషన్ . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.3.1 Wi-Fi నెట్వర్క్ కాన్ఫిగరేషన్ గైడ్ . . . . . . . . . . . . . . . . . . . . 131
7.3.2 సాఫ్ట్ఎపి. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.3 SmartConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.4 బ్లూటూత్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.3.5 ఇతర పద్ధతులు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.4 Wi-Fi ప్రోగ్రామింగ్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 ESP-IDFలో Wi-Fi భాగాలు. . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 వ్యాయామం: Wi-Fi కనెక్షన్ . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 వ్యాయామం: స్మార్ట్ Wi-Fi కనెక్షన్ . . . . . . . . . . . . . . . . . . . . . 145
7.5 అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్లో Wi-Fi కాన్ఫిగరేషన్. . . . . . . . . . . . . . . 156 7.5.1 స్మార్ట్ లైట్ ప్రాజెక్ట్లో Wi-Fi కనెక్షన్. . . . . . . . . . . . . . . . . 156 7.5.2 స్మార్ట్ Wi-Fi కాన్ఫిగరేషన్ . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8 స్థానిక నియంత్రణ
159
8.1 స్థానిక నియంత్రణకు పరిచయం. . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.1.1 స్థానిక నియంత్రణ యొక్క అప్లికేషన్. . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.2 అడ్వాన్tagస్థానిక నియంత్రణ . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.3 స్మార్ట్ఫోన్ల ద్వారా నియంత్రిత పరికరాలను కనుగొనడం. . . . . . . . . . 161
8.1.4 స్మార్ట్ఫోన్లు మరియు పరికరాల మధ్య డేటా కమ్యూనికేషన్. . . . . . . . 162
8.2 సాధారణ స్థానిక ఆవిష్కరణ పద్ధతులు. . . . . . . . . . . . . . . . . . . . . . . . 162
8.2.1 ప్రసారం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.2.2 మల్టీకాస్ట్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2.3 బ్రాడ్కాస్ట్ మరియు మల్టీకాస్ట్ మధ్య పోలిక. . . . . . . . . . . . . . 176
8.2.4 స్థానిక ఆవిష్కరణ కోసం మల్టీకాస్ట్ అప్లికేషన్ ప్రోటోకాల్ mDNS. . . . . . . . 176
8.3 స్థానిక డేటా కోసం సాధారణ కమ్యూనికేషన్ ప్రోటోకాల్లు. . . . . . . . . . . . . . . 179
8.3.1 ట్రాన్స్మిషన్ కంట్రోల్ ప్రోటోకాల్ (TCP) . . . . . . . . . . . . . . . . . . . 179
8.3.2 హైపర్టెక్స్ట్ ట్రాన్స్ఫర్ ప్రోటోకాల్ (HTTP) . . . . . . . . . . . . . . . . . . . 185
8.3.3 వాడుకరి డాtagరామ్ ప్రోటోకాల్ (UDP) . . . . . . . . . . . . . . . . . . . . . . 189
8.3.4 నిర్బంధ అప్లికేషన్ ప్రోటోకాల్ (CoAP) . . . . . . . . . . . . . . . . 192
8.3.5 బ్లూటూత్ ప్రోటోకాల్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
8.3.6 డేటా కమ్యూనికేషన్ ప్రోటోకాల్ల సారాంశం. . . . . . . . . . . . . . . 203
8.4 డేటా భద్రతకు హామీ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.4.1 ట్రాన్స్పోర్ట్ లేయర్ సెక్యూరిటీ (TLS) పరిచయం. . . . . . . . . . . . . 207
8.4.2 డా పరిచయంtagరామ్ ట్రాన్స్పోర్ట్ లేయర్ సెక్యూరిటీ (DTLS) . . . . . . . 213
8.5 అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్లో స్థానిక నియంత్రణ. . . . . . . . . . . . . . . . . . 217
8.5.1 Wi-Fi-ఆధారిత స్థానిక నియంత్రణ సర్వర్ని సృష్టిస్తోంది . . . . . . . . . . . . . . . 217
8.5.2 స్క్రిప్ట్లను ఉపయోగించి స్థానిక నియంత్రణ కార్యాచరణను ధృవీకరించడం. . . . . . . . . . . 221
8.5.3 బ్లూటూత్ ఆధారిత స్థానిక నియంత్రణ సర్వర్ని సృష్టిస్తోంది. . . . . . . . . . . . 222
8.6 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9 క్లౌడ్ కంట్రోల్
225
9.1 రిమోట్ కంట్రోల్ పరిచయం. . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.2 క్లౌడ్ డేటా కమ్యూనికేషన్ ప్రోటోకాల్లు. . . . . . . . . . . . . . . . . . . . . . 226
9.2.1 MQTT పరిచయం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 MQTT సూత్రాలు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 MQTT సందేశ ఆకృతి. . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 ప్రోటోకాల్ పోలిక. . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Linux మరియు Windowsలో MQTT బ్రోకర్ని ఏర్పాటు చేయడం. . . . . . . . . . . . 233 9.2.6 ESP-IDF ఆధారంగా MQTT క్లయింట్ని ఏర్పాటు చేయడం. . . . . . . . . . . . . . . . 235 9.3 MQTT డేటా భద్రతను నిర్ధారించడం. . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 సర్టిఫికెట్ల అర్థం మరియు పనితీరు. . . . . . . . . . . . . . . . . . . 237 9.3.2 స్థానికంగా ధృవపత్రాలను రూపొందించడం. . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 MQTT బ్రోకర్ని కాన్ఫిగర్ చేస్తోంది. . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 MQTT క్లయింట్ను కాన్ఫిగర్ చేస్తోంది. . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 ప్రాక్టీస్: ESP రెయిన్మేకర్ ద్వారా రిమోట్ కంట్రోల్. . . . . . . . . . . . . . . . 243 9.4.1 ESP రెయిన్మేకర్ బేసిక్స్. . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 నోడ్ మరియు క్లౌడ్ బ్యాకెండ్ కమ్యూనికేషన్ ప్రోటోకాల్. . . . . . . . . . . 244 9.4.3 క్లయింట్ మరియు క్లౌడ్ బ్యాకెండ్ మధ్య కమ్యూనికేషన్. . . . . . . . . . . 249 9.4.4 వినియోగదారు పాత్రలు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 ప్రాథమిక సేవలు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 స్మార్ట్ లైట్ Exampలే . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 రెయిన్మేకర్ యాప్ మరియు థర్డ్-పార్టీ ఇంటిగ్రేషన్లు . . . . . . . . . . . . . . . 262 9.5 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10 స్మార్ట్ఫోన్ యాప్ డెవలప్మెంట్
269
10.1 స్మార్ట్ఫోన్ యాప్ డెవలప్మెంట్ పరిచయం. . . . . . . . . . . . . . . . . . 269
10.1.1 పైగాview స్మార్ట్ఫోన్ యాప్ డెవలప్మెంట్. . . . . . . . . . . . . . . 270
10.1.2 Android ప్రాజెక్ట్ యొక్క నిర్మాణం. . . . . . . . . . . . . . . . . . . . . . 270
10.1.3 iOS ప్రాజెక్ట్ యొక్క నిర్మాణం. . . . . . . . . . . . . . . . . . . . . . . . 271
10.1.4 Android కార్యాచరణ జీవితచక్రం. . . . . . . . . . . . . . . . . . . . . . 272
10.1.5 iOS జీవితచక్రం Viewకంట్రోలర్. . . . . . . . . . . . . . . . . . . . . . 273
10.2 కొత్త స్మార్ట్ఫోన్ యాప్ ప్రాజెక్ట్ని సృష్టిస్తోంది. . . . . . . . . . . . . . . . . . . . . 275
10.2.1 ఆండ్రాయిడ్ డెవలప్మెంట్ కోసం సిద్ధమవుతోంది. . . . . . . . . . . . . . . . . . . 275
10.2.2 కొత్త Android ప్రాజెక్ట్ని సృష్టిస్తోంది. . . . . . . . . . . . . . . . . . . . . . 275
10.2.3 MyRainmaker కోసం డిపెండెన్సీలను కలుపుతోంది. . . . . . . . . . . . . . . . . 276
10.2.4 Androidలో అనుమతి అభ్యర్థన. . . . . . . . . . . . . . . . . . . . . . 277
10.2.5 iOS అభివృద్ధి కోసం సిద్ధమౌతోంది. . . . . . . . . . . . . . . . . . . . . . 277
10.2.6 కొత్త iOS ప్రాజెక్ట్ని సృష్టిస్తోంది. . . . . . . . . . . . . . . . . . . . . . . . 278
10.2.7 MyRainmaker కోసం డిపెండెన్సీలను కలుపుతోంది. . . . . . . . . . . . . . . . . 279
10.2.8 iOSలో అనుమతి అభ్యర్థన. . . . . . . . . . . . . . . . . . . . . . . . . 280
10.3 యాప్ యొక్క క్రియాత్మక అవసరాల విశ్లేషణ. . . . . . . . . . . . . . . . . . 281
10.3.1 ప్రాజెక్ట్ యొక్క ఫంక్షనల్ అవసరాల యొక్క విశ్లేషణ. . . . . . . . . . . . 282
10.3.2 వినియోగదారు నిర్వహణ అవసరాల విశ్లేషణ. . . . . . . . . . . . . . . 282 10.3.3 పరికర ప్రొవిజనింగ్ మరియు బైండింగ్ అవసరాల విశ్లేషణ. . . . . . . 283 10.3.4 రిమోట్-కంట్రోల్ అవసరాల విశ్లేషణ. . . . . . . . . . . . . . . . 283 10.3.5 షెడ్యూలింగ్ అవసరాల విశ్లేషణ. . . . . . . . . . . . . . . . . . . 284 10.3.6 వినియోగదారు కేంద్రం అవసరాల విశ్లేషణ. . . . . . . . . . . . . . . . . . 285 10.4 వినియోగదారు నిర్వహణ అభివృద్ధి. . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 రెయిన్మేకర్ APIలకు పరిచయం. . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 స్మార్ట్ఫోన్ ద్వారా కమ్యూనికేషన్ ప్రారంభించడం. . . . . . . . . . . . . . . . 286 10.4.3 ఖాతా నమోదు. . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 ఖాతా లాగిన్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 పరికర ప్రొవిజనింగ్ అభివృద్ధి. . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 స్కానింగ్ పరికరాలు . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 కనెక్ట్ చేసే పరికరాలు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 రహస్య కీలను రూపొందించడం. . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 నోడ్ IDని పొందడం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 ప్రొవిజనింగ్ పరికరాలు. . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 పరికర నియంత్రణ అభివృద్ధి. . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 క్లౌడ్ ఖాతాలకు బైండింగ్ పరికరాలు . . . . . . . . . . . . . . . . . . . . 303 10.6.2 పరికరాల జాబితాను పొందడం. . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 పరికర స్థితిని పొందడం. . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 పరికర స్థితిని మార్చడం. . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 షెడ్యూలింగ్ మరియు వినియోగదారు కేంద్రం అభివృద్ధి. . . . . . . . . . . . . . . . . . . 313 10.7.1 షెడ్యూలింగ్ ఫంక్షన్ని అమలు చేయడం. . . . . . . . . . . . . . . . . . . . 313 10.7.2 వినియోగదారు కేంద్రాన్ని అమలు చేస్తోంది. . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 మరిన్ని క్లౌడ్ APIలు. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
11 ఫర్మ్వేర్ అప్గ్రేడ్ మరియు వెర్షన్ మేనేజ్మెంట్
321
11.1 ఫర్మ్వేర్ అప్గ్రేడ్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
11.1.1 పైగాview విభజన పట్టికలు. . . . . . . . . . . . . . . . . . . . . . . . 322
11.1.2 ఫర్మ్వేర్ బూట్ ప్రాసెస్. . . . . . . . . . . . . . . . . . . . . . . . . . . 324
11.1.3 పైగాview OTA మెకానిజం యొక్క. . . . . . . . . . . . . . . . . . . . . 326
11.2 ఫర్మ్వేర్ సంస్కరణ నిర్వహణ. . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.1 ఫర్మ్వేర్ మార్కింగ్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.2 రోల్బ్యాక్ మరియు యాంటీ-రోల్బ్యాక్ . . . . . . . . . . . . . . . . . . . . . . . . 331
11.3 అభ్యాసం: ఓవర్-ది-ఎయిర్ (OTA) ఉదాampలే . . . . . . . . . . . . . . . . . . . . . . . 332
11.3.1 స్థానిక హోస్ట్ ద్వారా ఫర్మ్వేర్ను అప్గ్రేడ్ చేయండి. . . . . . . . . . . . . . . . . 332
11.3.2 ESP రెయిన్మేకర్ ద్వారా ఫర్మ్వేర్ను అప్గ్రేడ్ చేయండి. . . . . . . . . . . . . . . 335
11.4 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
IV ఆప్టిమైజేషన్ మరియు మాస్ ప్రొడక్షన్
343
12 పవర్ మేనేజ్మెంట్ మరియు తక్కువ-పవర్ ఆప్టిమైజేషన్
345
12.1 ESP32-C3 పవర్ మేనేజ్మెంట్ . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
12.1.1 డైనమిక్ ఫ్రీక్వెన్సీ స్కేలింగ్. . . . . . . . . . . . . . . . . . . . . . . . 346
12.1.2 పవర్ మేనేజ్మెంట్ కాన్ఫిగరేషన్. . . . . . . . . . . . . . . . . . . . 348
12.2 ESP32-C3 లో-పవర్ మోడ్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
12.2.1 మోడెమ్-స్లీప్ మోడ్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
12.2.2 లైట్-స్లీప్ మోడ్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
12.2.3 డీప్-స్లీప్ మోడ్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
12.2.4 వివిధ పవర్ మోడ్లలో ప్రస్తుత వినియోగం. . . . . . . . . . . . . 358
12.3 పవర్ మేనేజ్మెంట్ మరియు తక్కువ-పవర్ డీబగ్గింగ్ . . . . . . . . . . . . . . . . . 359
12.3.1 లాగ్ డీబగ్గింగ్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
12.3.2 GPIO డీబగ్గింగ్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
12.4 అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్లో పవర్ మేనేజ్మెంట్. . . . . . . . . . . . . . . 363
12.4.1 పవర్ మేనేజ్మెంట్ ఫీచర్ని కాన్ఫిగర్ చేస్తోంది. . . . . . . . . . . . . . . . . 364
12.4.2 పవర్ మేనేజ్మెంట్ లాక్లను ఉపయోగించండి. . . . . . . . . . . . . . . . . . . . . . 365
12.4.3 విద్యుత్ వినియోగాన్ని ధృవీకరించడం. . . . . . . . . . . . . . . . . . . . . . . 366
12.5 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
13 మెరుగైన పరికర భద్రతా లక్షణాలు
369
13.1 పైగాview IoT పరికర డేటా భద్రత . . . . . . . . . . . . . . . . . . . . . . . 369
13.1.1 IoT పరికర డేటాను ఎందుకు భద్రపరచడం? . . . . . . . . . . . . . . . . . . . . . . 370
13.1.2 IoT పరికర డేటా భద్రత కోసం ప్రాథమిక అవసరాలు. . . . . . . . . . . . 371
13.2 డేటా సమగ్రత రక్షణ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
13.2.1 సమగ్రత ధృవీకరణ పద్ధతికి పరిచయం. . . . . . . . . . . . . . 372
13.2.2 ఫర్మ్వేర్ డేటా యొక్క సమగ్రత ధృవీకరణ. . . . . . . . . . . . . . . . . . 373
13.2.3 ఉదాampలే . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3 డేటా గోప్యత రక్షణ. . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3.1 డేటా ఎన్క్రిప్షన్ పరిచయం. . . . . . . . . . . . . . . . . . . . . . 374
13.3.2 ఫ్లాష్ ఎన్క్రిప్షన్ స్కీమ్కి పరిచయం. . . . . . . . . . . . . . . . . 376
13.3.3 ఫ్లాష్ ఎన్క్రిప్షన్ కీ నిల్వ. . . . . . . . . . . . . . . . . . . . . . . 379
13.3.4 ఫ్లాష్ ఎన్క్రిప్షన్ వర్కింగ్ మోడ్. . . . . . . . . . . . . . . . . . . . 380
13.3.5 ఫ్లాష్ ఎన్క్రిప్షన్ ప్రాసెస్. . . . . . . . . . . . . . . . . . . . . . . . . . 381
13.3.6 NVS ఎన్క్రిప్షన్కు పరిచయం. . . . . . . . . . . . . . . . . . . . . . 383
13.3.7 ఉదాampఫ్లాష్ ఎన్క్రిప్షన్ మరియు NVS ఎన్క్రిప్షన్ లెస్. . . . . . . . . . . 384
13.4 డేటా చట్టబద్ధత రక్షణ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
13.4.1 డిజిటల్ సంతకం పరిచయం. . . . . . . . . . . . . . . . . . . . . 386
13.4.2 పైగాview సురక్షిత బూట్ పథకం . . . . . . . . . . . . . . . . . . . . . 388
13.4.3 సాఫ్ట్వేర్ సురక్షిత బూట్కు పరిచయం. . . . . . . . . . . . . . . . . . . 388 13.4.4 హార్డ్వేర్ సురక్షిత బూట్కు పరిచయం. . . . . . . . . . . . . . . . . . 390 13.4.5 ఉదాampలెస్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 అభ్యాసం: భారీ ఉత్పత్తిలో భద్రతా లక్షణాలు . . . . . . . . . . . . . . . . . . 396 13.5.1 ఫ్లాష్ ఎన్క్రిప్షన్ మరియు సురక్షిత బూట్. . . . . . . . . . . . . . . . . . . . . 396 13.5.2 బ్యాచ్ ఫ్లాష్ టూల్స్తో ఫ్లాష్ ఎన్క్రిప్షన్ మరియు సురక్షిత బూట్ను ప్రారంభించడం. . 397 13.5.3 స్మార్ట్ లైట్ ప్రాజెక్ట్లో ఫ్లాష్ ఎన్క్రిప్షన్ మరియు సురక్షిత బూట్ను ప్రారంభించడం. . . 398 13.6 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
14 భారీ ఉత్పత్తి కోసం ఫర్మ్వేర్ బర్నింగ్ మరియు టెస్టింగ్
399
14.1 భారీ ఉత్పత్తిలో ఫర్మ్వేర్ బర్నింగ్. . . . . . . . . . . . . . . . . . . . . . 399
14.1.1 డేటా విభజనలను నిర్వచించడం. . . . . . . . . . . . . . . . . . . . . . . . . . 399
14.1.2 ఫర్మ్వేర్ బర్నింగ్. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
14.2 మాస్ ప్రొడక్షన్ టెస్టింగ్ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
14.3 అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్లో మాస్ ప్రొడక్షన్ డేటా. . . . . . . . . . . . . 404
14.4 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
15 ESP అంతర్దృష్టులు: రిమోట్ మానిటరింగ్ ప్లాట్ఫారమ్
405
15.1 ESP అంతర్దృష్టులకు పరిచయం. . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
15.2 ESP అంతర్దృష్టులతో ప్రారంభించడం. . . . . . . . . . . . . . . . . . . . . . . . . 409
15.2.1 esp-insights ప్రాజెక్ట్లో ESP అంతర్దృష్టులతో ప్రారంభించడం. . . . . . 409
15.2.2 రన్నింగ్ Example esp-insights ప్రాజెక్ట్ . . . . . . . . . . . . . . . 411
15.2.3 Coredump సమాచారాన్ని నివేదించడం. . . . . . . . . . . . . . . . . . . . . 411
15.2.4 ఆసక్తి లాగ్లను అనుకూలీకరించడం. . . . . . . . . . . . . . . . . . . . . . . . 412
15.2.5 రీబూట్ కారణాన్ని నివేదించడం. . . . . . . . . . . . . . . . . . . . . . . . . 413
15.2.6 కస్టమ్ మెట్రిక్లను నివేదించడం. . . . . . . . . . . . . . . . . . . . . . . . . 413
15.3 అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్లో ESP అంతర్దృష్టులను ఉపయోగించడం. . . . . . . . . . . . . . . 416
15.4 సారాంశం. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
పరిచయం
ESP32-C3 అనేది ఓపెన్-సోర్స్ RISC-V ఆర్కిటెక్చర్ ఆధారంగా సింగిల్-కోర్ Wi-Fi మరియు బ్లూటూత్ 5 (LE) మైక్రోకంట్రోలర్ SoC. ఇది పవర్, I/O సామర్థ్యాలు మరియు భద్రత యొక్క సరైన బ్యాలెన్స్ను తాకింది, తద్వారా కనెక్ట్ చేయబడిన పరికరాల కోసం సరైన ఖర్చుతో కూడిన పరిష్కారాన్ని అందిస్తుంది. ESP32-C3 కుటుంబం యొక్క వివిధ అప్లికేషన్లను చూపించడానికి, Espressif యొక్క ఈ పుస్తకం IoT ప్రాజెక్ట్ డెవలప్మెంట్ మరియు ఎన్విరాన్మెంట్ సెటప్ యొక్క బేసిక్స్ నుండి ప్రాక్టికల్ ఎక్స్ వరకు AIoT ద్వారా ఒక ఆసక్తికరమైన ప్రయాణంలో మిమ్మల్ని తీసుకెళ్తుంది.ampలెస్. మొదటి నాలుగు అధ్యాయాలు IoT, ESP రెయిన్మేకర్ మరియు ESP-IDF గురించి మాట్లాడతాయి. అధ్యాయం 5 మరియు 6 హార్డ్వేర్ డిజైన్ మరియు డ్రైవర్ అభివృద్ధిపై సంక్షిప్తంగా. మీరు అభివృద్ధి చెందుతున్నప్పుడు, Wi-Fi నెట్వర్క్లు మరియు మొబైల్ యాప్ల ద్వారా మీ ప్రాజెక్ట్ను ఎలా కాన్ఫిగర్ చేయాలో మీరు కనుగొంటారు. చివరగా, మీరు మీ ప్రాజెక్ట్ను ఆప్టిమైజ్ చేయడం మరియు దానిని భారీ ఉత్పత్తిలో ఉంచడం నేర్చుకుంటారు.
మీరు సంబంధిత రంగాలలో ఇంజనీర్ అయితే, సాఫ్ట్వేర్ ఆర్కిటెక్ట్, ఉపాధ్యాయుడు, విద్యార్థి లేదా IoTలో ఆసక్తి ఉన్న ఎవరైనా ఉంటే, ఈ పుస్తకం మీ కోసం.
మీరు మాజీ కోడ్ని డౌన్లోడ్ చేసుకోవచ్చుample ఈ పుస్తకంలో GitHubలోని Espressif సైట్ నుండి ఉపయోగించబడింది. IoT అభివృద్ధిపై తాజా సమాచారం కోసం, దయచేసి మా అధికారిక ఖాతాను అనుసరించండి.
ముందుమాట
ఒక సమాచార ప్రపంచం
ఇంటర్నెట్ యొక్క తరంగాని తొక్కడం, ఇంటర్నెట్ ఆఫ్ థింగ్స్ (IoT) డిజిటల్ ఆర్థిక వ్యవస్థలో కొత్త రకం మౌలిక సదుపాయాలుగా మారడానికి దాని గొప్ప అరంగేట్రం చేసింది. సాంకేతికతను ప్రజలకు చేరువ చేసేందుకు, అన్ని వర్గాల డెవలపర్లు IoTని ఉపయోగించి మన కాలంలోని అత్యంత ముఖ్యమైన సమస్యలను పరిష్కరించగలరనే దృష్టి కోసం ఎస్ప్రెస్సిఫ్ సిస్టమ్స్ పని చేస్తుంది. "ఇంటెలిజెంట్ నెట్వర్క్ ఆఫ్ ఆల్ థింగ్స్" ప్రపంచాన్ని మనం భవిష్యత్తు నుండి ఆశిస్తున్నాము.
మా స్వంత చిప్లను రూపొందించడం ఆ దృష్టిలో కీలకమైన భాగం. ఇది మారథాన్గా ఉండాలి, సాంకేతిక సరిహద్దులకు వ్యతిరేకంగా నిరంతరం పురోగతులు అవసరం. "గేమ్ ఛేంజర్" ESP8266 నుండి Wi-Fi మరియు బ్లూటూత్ర్ (LE) కనెక్టివిటీని అనుసంధానించే ESP32 సిరీస్ వరకు, AI యాక్సిలరేషన్తో కూడిన ESP32-S3, AIoT సొల్యూషన్ల కోసం ఉత్పత్తులను పరిశోధించడం మరియు అభివృద్ధి చేయడం Espressif ఎప్పుడూ ఆపలేదు. IoT డెవలప్మెంట్ ఫ్రేమ్వర్క్ ESP-IDF, Mesh డెవలప్మెంట్ ఫ్రేమ్వర్క్ ESP-MDF మరియు పరికర కనెక్టివిటీ ప్లాట్ఫారమ్ ESP రెయిన్మేకర్ వంటి మా ఓపెన్ సోర్స్ సాఫ్ట్వేర్తో, మేము AIoT అప్లికేషన్లను రూపొందించడానికి స్వతంత్ర ఫ్రేమ్వర్క్ను సృష్టించాము.
జూలై 2022 నాటికి, ఎస్ప్రెస్సిఫ్ యొక్క IoT చిప్సెట్ల సంచిత షిప్మెంట్లు 800 మిలియన్లను అధిగమించాయి, ఇది Wi-Fi MCU మార్కెట్లో అగ్రగామిగా ఉంది మరియు ప్రపంచవ్యాప్తంగా భారీ సంఖ్యలో కనెక్ట్ చేయబడిన పరికరాలను శక్తివంతం చేసింది. పర్సూట్ ఫర్ ఎక్సలెన్స్ ప్రతి ఎస్ప్రెస్సిఫ్ ఉత్పత్తిని దాని అధిక స్థాయి ఏకీకరణ మరియు వ్యయ సామర్థ్యానికి పెద్ద హిట్ చేస్తుంది. ESP32-C3 విడుదల ఎస్ప్రెస్సిఫ్ యొక్క స్వీయ-అభివృద్ధి చెందిన సాంకేతికతలో ఒక ముఖ్యమైన మైలురాయిని సూచిస్తుంది. ఇది 32KB SRAMతో కూడిన సింగిల్-కోర్, 400-బిట్, RISC-V-ఆధారిత MCU, ఇది 160MHz వద్ద నడుస్తుంది. ఇది దీర్ఘ-శ్రేణి మద్దతుతో 2.4 GHz Wi-Fi మరియు బ్లూటూత్ 5 (LE)ని సమీకృతం చేసింది. ఇది పవర్, I/O సామర్థ్యాలు మరియు భద్రత యొక్క చక్కటి బ్యాలెన్స్ను తాకుతుంది, తద్వారా కనెక్ట్ చేయబడిన పరికరాల కోసం సరైన ఖర్చుతో కూడిన పరిష్కారాన్ని అందిస్తుంది. అటువంటి శక్తివంతమైన ESP32-C3 ఆధారంగా, ఈ పుస్తకం పాఠకులు IoT-సంబంధిత జ్ఞానాన్ని వివరణాత్మక దృష్టాంతం మరియు ఆచరణాత్మకంగా అర్థం చేసుకోవడంలో సహాయపడటానికి ఉద్దేశించబడింది.ampలెస్.
మేము ఈ పుస్తకాన్ని ఎందుకు వ్రాసాము?
ఎస్ప్రెస్సిఫ్ సిస్టమ్స్ సెమీకండక్టర్ కంపెనీ కంటే ఎక్కువ. ఇది IoT ప్లాట్ఫారమ్ కంపెనీ కూడా, ఇది ఎల్లప్పుడూ సాంకేతిక రంగంలో పురోగతి మరియు ఆవిష్కరణల కోసం ప్రయత్నిస్తుంది. అదే సమయంలో, Espressif ఓపెన్ సోర్స్ మరియు దాని స్వీయ-అభివృద్ధి చెందిన ఆపరేటింగ్ సిస్టమ్ మరియు సాఫ్ట్వేర్ ఫ్రేమ్వర్క్ను సంఘంతో పంచుకుంది, ఇది ఒక ప్రత్యేకమైన పర్యావరణ వ్యవస్థను ఏర్పరుస్తుంది. ఇంజనీర్లు, తయారీదారులు మరియు సాంకేతిక ఔత్సాహికులు ఎస్ప్రెస్సిఫ్ ఉత్పత్తుల ఆధారంగా కొత్త సాఫ్ట్వేర్ అప్లికేషన్లను చురుకుగా అభివృద్ధి చేస్తారు, స్వేచ్ఛగా కమ్యూనికేట్ చేస్తారు మరియు వారి అనుభవాన్ని పంచుకుంటారు. మీరు YouTube మరియు GitHub వంటి వివిధ ప్లాట్ఫారమ్లలో డెవలపర్ల మనోహరమైన ఆలోచనలను ఎప్పటికప్పుడు చూడవచ్చు. ఎస్ప్రెస్సిఫ్ ఉత్పత్తుల యొక్క ప్రజాదరణ, ఆంగ్లం, చైనీస్, జర్మన్, ఫ్రెంచ్ మరియు జపనీస్తో సహా పది కంటే ఎక్కువ భాషలలో ఎస్ప్రెస్సిఫ్ చిప్సెట్ల ఆధారంగా 100కి పైగా పుస్తకాలను రూపొందించిన రచయితల సంఖ్యను పెంచింది.
ఇది ఎస్ప్రెస్సిఫ్ యొక్క నిరంతర ఆవిష్కరణను ప్రోత్సహించే సంఘం భాగస్వాముల మద్దతు మరియు విశ్వాసం. “మా చిప్లు, ఆపరేటింగ్ సిస్టమ్లు, ఫ్రేమ్వర్క్లు, పరిష్కారాలు, క్లౌడ్, వ్యాపార పద్ధతులు, సాధనాలు, డాక్యుమెంటేషన్, రచనలు, ఆలోచనలు మొదలైన వాటిని సమకాలీన జీవితంలోని అత్యంత ముఖ్యమైన సమస్యలలో ప్రజలకు అవసరమైన సమాధానాలకు మరింత సందర్భోచితంగా చేయడానికి మేము ప్రయత్నిస్తాము. ఇది ఎస్ప్రెస్సిఫ్ యొక్క అత్యున్నత ఆశయం మరియు నైతిక దిక్సూచి." అని ఎస్ప్రెస్సిఫ్ వ్యవస్థాపకుడు మరియు CEO మిస్టర్ టీయో స్వీ ఆన్ అన్నారు.
ఎస్ప్రెస్సిఫ్ పఠనం మరియు ఆలోచనలకు విలువ ఇస్తుంది. IoT సాంకేతికత యొక్క నిరంతర అప్గ్రేడ్ ఇంజనీర్లపై అధిక అవసరాలను కలిగిస్తుంది కాబట్టి, IoT చిప్లు, ఆపరేటింగ్ సిస్టమ్లు, సాఫ్ట్వేర్ ఫ్రేమ్వర్క్లు, అప్లికేషన్ స్కీమ్లు మరియు క్లౌడ్ సర్వీస్ ప్రొడక్ట్లను త్వరగా ప్రావీణ్యం పొందేందుకు మనం ఎక్కువ మందికి ఎలా సహాయపడగలం? మనిషికి చేపలు పట్టడం కంటే చేపలు పట్టడం నేర్పడమే మేలు అన్న సామెత. మేధోమథనం సెషన్లో, IoT అభివృద్ధి యొక్క కీలక జ్ఞానాన్ని క్రమపద్ధతిలో క్రమబద్ధీకరించడానికి మేము ఒక పుస్తకాన్ని వ్రాయగలమని మాకు అనిపించింది. మేము దానిని విజయవంతం చేసాము, సీనియర్ ఇంజనీర్ల సమూహాన్ని త్వరగా సేకరించాము మరియు పొందుపరిచిన ప్రోగ్రామింగ్, IoT హార్డ్వేర్ మరియు సాఫ్ట్వేర్ డెవలప్మెంట్లో సాంకేతిక బృందం యొక్క అనుభవాన్ని మిళితం చేసాము, ఇవన్నీ ఈ పుస్తకం ప్రచురణకు దోహదపడ్డాయి. వ్రాత ప్రక్రియలో, మేము నిష్పక్షపాతంగా మరియు న్యాయంగా ఉండటానికి మా వంతు ప్రయత్నం చేసాము, కోకోన్ నుండి తీసివేయబడ్డాము మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ యొక్క సంక్లిష్టత మరియు మనోజ్ఞతను తెలియజేయడానికి సంక్షిప్త వ్యక్తీకరణలను ఉపయోగించాము. అభివృద్ధి ప్రక్రియలో ఎదురయ్యే ప్రశ్నలకు స్పష్టంగా సమాధానమివ్వడానికి మరియు సంబంధిత సాంకేతిక నిపుణులు మరియు నిర్ణయాధికారులకు ఆచరణాత్మక IoT డెవలప్మెంట్ మార్గదర్శకాలను అందించడానికి, మేము సాధారణ ప్రశ్నలను జాగ్రత్తగా సంగ్రహించాము, సంఘం యొక్క అభిప్రాయం మరియు సూచనలను సూచిస్తాము.
పుస్తక నిర్మాణం
ఈ పుస్తకం ఇంజనీర్-కేంద్రీకృత దృక్పథాన్ని తీసుకుంటుంది మరియు IoT ప్రాజెక్ట్ అభివృద్ధికి అవసరమైన జ్ఞానాన్ని దశలవారీగా వివరిస్తుంది. ఇది క్రింది విధంగా నాలుగు భాగాలతో కూడి ఉంటుంది:
· ప్రిపరేషన్ (చాప్టర్ 1): ఈ భాగం IoT ప్రాజెక్ట్ డెవలప్మెంట్కు గట్టి పునాది వేయడానికి IoT, సాధారణ IoT ప్రాజెక్ట్ ఫ్రేమ్వర్క్, ESP రెయిన్మేకర్ క్లౌడ్ ప్లాట్ఫారమ్ మరియు డెవలప్మెంట్ ఎన్విరాన్మెంట్ ESP-IDF యొక్క నిర్మాణాన్ని పరిచయం చేస్తుంది.
· హార్డ్వేర్ మరియు డ్రైవర్ డెవలప్మెంట్ (చాప్టర్ 5): ESP6-C32 చిప్సెట్ ఆధారంగా, ఈ భాగం కనీస హార్డ్వేర్ సిస్టమ్ మరియు డ్రైవర్ డెవలప్మెంట్పై వివరిస్తుంది మరియు డిమ్మింగ్, కలర్ గ్రేడింగ్ మరియు వైర్లెస్ కమ్యూనికేషన్ నియంత్రణను అమలు చేస్తుంది.
· వైర్లెస్ కమ్యూనికేషన్ మరియు కంట్రోల్ (చాప్టర్ 7): ఈ భాగం ESP11-C32 చిప్, లోకల్ & క్లౌడ్ కంట్రోల్ ప్రోటోకాల్లు మరియు పరికరాల స్థానిక & రిమోట్ కంట్రోల్ ఆధారంగా ఇంటెలిజెంట్ Wi-Fi కాన్ఫిగరేషన్ స్కీమ్ను వివరిస్తుంది. ఇది స్మార్ట్ఫోన్ యాప్లను అభివృద్ధి చేయడం, ఫర్మ్వేర్ అప్గ్రేడ్ మరియు వెర్షన్ మేనేజ్మెంట్ కోసం పథకాలను కూడా అందిస్తుంది.
· ఆప్టిమైజేషన్ మరియు మాస్ ప్రొడక్షన్ (చాప్టర్ 12-15): ఈ భాగం అధునాతన IoT అప్లికేషన్ల కోసం ఉద్దేశించబడింది, పవర్ మేనేజ్మెంట్, తక్కువ-పవర్ ఆప్టిమైజేషన్ మరియు మెరుగైన భద్రతలో ఉత్పత్తుల ఆప్టిమైజేషన్పై దృష్టి సారిస్తుంది. ఇది భారీ ఉత్పత్తిలో ఫర్మ్వేర్ బర్నింగ్ మరియు టెస్టింగ్ను పరిచయం చేస్తుంది మరియు రిమోట్ మానిటరింగ్ ప్లాట్ఫారమ్ ESP ఇన్సైట్ల ద్వారా పరికర ఫర్మ్వేర్ యొక్క నడుస్తున్న స్థితి మరియు లాగ్లను ఎలా నిర్ధారిస్తుంది.
సోర్స్ కోడ్ గురించి
పాఠకులు మాజీని అమలు చేయవచ్చుampఈ పుస్తకంలోని ప్రోగ్రామ్లు, కోడ్ను మాన్యువల్గా నమోదు చేయడం ద్వారా లేదా పుస్తకంతో పాటుగా ఉన్న సోర్స్ కోడ్ని ఉపయోగించడం ద్వారా. మేము సిద్ధాంతం మరియు అభ్యాసాల కలయికను నొక్కిచెబుతున్నాము మరియు దాదాపు ప్రతి అధ్యాయంలో స్మార్ట్ లైట్ ప్రాజెక్ట్ ఆధారంగా ప్రాక్టీస్ విభాగాన్ని సెట్ చేస్తాము. అన్ని కోడ్లు ఓపెన్ సోర్స్. పాఠకులు సోర్స్ కోడ్ను డౌన్లోడ్ చేసి, GitHub మరియు మా అధికారిక ఫోరమ్ esp32.comలో ఈ పుస్తకానికి సంబంధించిన విభాగాలలో చర్చించడానికి స్వాగతం. ఈ పుస్తకం యొక్క ఓపెన్ సోర్స్ కోడ్ అపాచీ లైసెన్స్ 2.0 నిబంధనలకు లోబడి ఉంటుంది.
రచయిత గమనిక
ఈ పుస్తకాన్ని అధికారికంగా ఎస్ప్రెస్సిఫ్ సిస్టమ్స్ రూపొందించింది మరియు కంపెనీ సీనియర్ ఇంజనీర్లు రాశారు. IoT-సంబంధిత పరిశ్రమలలోని నిర్వాహకులు మరియు R&D సిబ్బందికి, సంబంధిత మేజర్ల ఉపాధ్యాయులు మరియు విద్యార్థులకు మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ రంగంలో ఔత్సాహికులకు ఇది అనుకూలంగా ఉంటుంది. ఈ పుస్తకం ఒక మంచి ట్యూటర్ మరియు స్నేహితుడిలా ఉండేందుకు వర్క్ మాన్యువల్గా, రిఫరెన్స్గా మరియు బెడ్సైడ్ బుక్గా ఉపయోగపడుతుందని మేము ఆశిస్తున్నాము.
ఈ పుస్తకాన్ని సంకలనం చేస్తున్నప్పుడు, మేము స్వదేశంలో మరియు విదేశాలలో ఉన్న నిపుణులు, పండితులు మరియు సాంకేతిక నిపుణుల యొక్క కొన్ని సంబంధిత పరిశోధన ఫలితాలను సూచించాము మరియు విద్యాపరమైన నిబంధనల ప్రకారం వాటిని ఉదహరించడానికి మేము మా వంతు కృషి చేసాము. అయితే, కొన్ని లోపాలు ఉండటం అనివార్యం, కాబట్టి ఇక్కడ మేము సంబంధిత రచయితలందరికీ మా ప్రగాఢ గౌరవాన్ని మరియు కృతజ్ఞతలు తెలియజేస్తున్నాము. అదనంగా, మేము ఇంటర్నెట్ నుండి సమాచారాన్ని కోట్ చేసాము, కాబట్టి మేము అసలు రచయితలు మరియు ప్రచురణకర్తలకు కృతజ్ఞతలు తెలియజేస్తున్నాము మరియు ప్రతి సమాచారానికి మూలాన్ని సూచించలేమని క్షమాపణలు కోరుతున్నాము.
అధిక నాణ్యత గల పుస్తకాన్ని రూపొందించడానికి, మేము అంతర్గత చర్చల రౌండ్లను నిర్వహించాము మరియు ట్రయల్ రీడర్లు మరియు పబ్లిషర్ ఎడిటర్ల సూచనలు మరియు ఫీడ్బ్యాక్ నుండి నేర్చుకున్నాము. ఇక్కడ, ఈ విజయవంతమైన పనికి అందరూ సహకరించిన మీ సహాయానికి మేము మరోసారి ధన్యవాదాలు తెలియజేస్తున్నాము.
చివరిది, కానీ చాలా ముఖ్యమైనది, మా ఉత్పత్తుల పుట్టుక మరియు ప్రజాదరణ కోసం చాలా కష్టపడి పనిచేసిన ఎస్ప్రెస్సిఫ్లోని ప్రతి ఒక్కరికీ ధన్యవాదాలు.
IoT ప్రాజెక్ట్ల అభివృద్ధిలో విస్తృత శ్రేణి జ్ఞానం ఉంటుంది. పుస్తకం నిడివికి పరిమితం, అలాగే రచయిత స్థాయి మరియు అనుభవం, లోపాలు అనివార్యం. కావున నిపుణులు మరియు పాఠకులు మా తప్పులను విమర్శించి సరిదిద్దవలసిందిగా మనవి. ఈ పుస్తకం కోసం మీకు ఏవైనా సూచనలు ఉంటే, దయచేసి book@espressif.comలో మమ్మల్ని సంప్రదించండి. మేము మీ అభిప్రాయం కోసం ఎదురుచూస్తున్నాము.
ఈ పుస్తకాన్ని ఎలా ఉపయోగించాలి?
ఈ పుస్తకంలోని ప్రాజెక్ట్ల కోడ్ ఓపెన్ సోర్స్ చేయబడింది. మీరు దీన్ని మా GitHub రిపోజిటరీ నుండి డౌన్లోడ్ చేసుకోవచ్చు మరియు మా అధికారిక ఫోరమ్లో మీ ఆలోచనలు మరియు ప్రశ్నలను పంచుకోవచ్చు. GitHub: https://github.com/espressif/book-esp32c3-iot-projects ఫోరమ్: https://www.esp32.com/bookc3 పుస్తకం అంతటా, దిగువ చూపిన విధంగా భాగాలు హైలైట్ చేయబడతాయి.
సోర్స్ కోడ్ ఈ పుస్తకంలో, మేము సిద్ధాంతం మరియు అభ్యాసాల కలయికను నొక్కిచెబుతున్నాము మరియు దాదాపు ప్రతి అధ్యాయంలో స్మార్ట్ లైట్ ప్రాజెక్ట్ గురించి ప్రాక్టీస్ విభాగాన్ని సెట్ చేస్తాము. సంబంధిత దశలు మరియు మూలాధారం పేజీతో ప్రారంభమయ్యే రెండు పంక్తుల మధ్య గుర్తించబడతాయి tag సోర్స్ కోడ్.
గమనిక/చిట్కాలు ఇక్కడే మీరు మీ ప్రోగ్రామ్ను విజయవంతంగా డీబగ్ చేయడం కోసం కొన్ని క్లిష్టమైన సమాచారాన్ని కనుగొనవచ్చు మరియు గుర్తు చేయవచ్చు. తో ప్రారంభమయ్యే రెండు మందపాటి గీతల మధ్య అవి గుర్తించబడతాయి tag గమనిక లేదా చిట్కాలు.
ఈ పుస్తకంలోని చాలా కమాండ్లు "$" అక్షరం ద్వారా ప్రాంప్ట్ చేయబడిన Linux క్రింద అమలు చేయబడతాయి. కమాండ్ను అమలు చేయడానికి సూపర్యూజర్ అధికారాలు అవసరమైతే, ప్రాంప్ట్ "#"తో భర్తీ చేయబడుతుంది. Mac సిస్టమ్స్పై కమాండ్ ప్రాంప్ట్ “%”, Macలో ESP-IDFని ఇన్స్టాల్ చేయడం విభాగం 4.2.3లో ఉపయోగించబడింది.
ఈ పుస్తకంలోని బాడీ టెక్స్ట్ చార్టర్లో ముద్రించబడుతుంది, అయితే కోడ్ examples, భాగాలు, విధులు, వేరియబుల్స్, కోడ్ file పేర్లు, కోడ్ డైరెక్టరీలు మరియు స్ట్రింగ్లు కొరియర్ న్యూలో ఉంటాయి.
వినియోగదారు ఇన్పుట్ చేయాల్సిన ఆదేశాలు లేదా టెక్స్ట్లు మరియు “Enter” కీని నొక్కడం ద్వారా నమోదు చేయగల ఆదేశాలు కొరియర్ న్యూ బోల్డ్లో ముద్రించబడతాయి. లాగ్లు మరియు కోడ్ బ్లాక్లు లేత నీలం పెట్టెల్లో ప్రదర్శించబడతాయి.
Exampలే:
రెండవది, NVS విభజన బైనరీని రూపొందించడానికి esp-idf/components/nvs ఫ్లాష్/nvs విభజన జనరేటర్/nvs విభజన gen.py ఉపయోగించండి file కింది ఆదేశంతో డెవలప్మెంట్ హోస్ట్లో:
$ పైథాన్ $IDF PATH/భాగాలు/nvs ఫ్లాష్/nvs విభజన జనరేటర్/nvs విభజన gen.py –ఇన్పుట్ మాస్ prod.csv –అవుట్పుట్ మాస్ prod.bin –సైజ్ NVS పార్టిషన్ సైజ్
అధ్యాయం 1
పరిచయం
కు
IoT
20వ శతాబ్దం చివరలో, కంప్యూటర్ నెట్వర్క్లు మరియు కమ్యూనికేషన్ టెక్నాలజీల పెరుగుదలతో, ఇంటర్నెట్ వేగంగా ప్రజల జీవితాల్లో కలిసిపోయింది. ఇంటర్నెట్ టెక్నాలజీ పరిపక్వం చెందుతూనే, ఇంటర్నెట్ ఆఫ్ థింగ్స్ (IoT) ఆలోచన పుట్టింది. సాహిత్యపరంగా, IoT అంటే విషయాలు కనెక్ట్ చేయబడిన ఇంటర్నెట్. అసలైన ఇంటర్నెట్ స్థలం మరియు సమయం యొక్క పరిమితులను విచ్ఛిన్నం చేస్తుంది మరియు "వ్యక్తి మరియు వ్యక్తి" మధ్య దూరాన్ని తగ్గిస్తుంది, IoT "వ్యక్తులు" మరియు "వస్తువులను" దగ్గరకు తీసుకువస్తూ "విషయాలను" ఒక ముఖ్యమైన భాగస్వామిగా చేస్తుంది. రాబోయే కాలంలో, IoT సమాచార పరిశ్రమకు చోదక శక్తిగా మారనుంది.
కాబట్టి, ఇంటర్నెట్ ఆఫ్ థింగ్స్ అంటే ఏమిటి?
ఇంటర్నెట్ ఆఫ్ థింగ్స్ని ఖచ్చితంగా నిర్వచించడం కష్టం, ఎందుకంటే దాని అర్థం మరియు పరిధి నిరంతరం అభివృద్ధి చెందుతూ ఉంటాయి. 1995లో, బిల్ గేట్స్ తన ది రోడ్ ఎహెడ్ పుస్తకంలో IoT ఆలోచనను మొదటిసారిగా అందించాడు. సరళంగా చెప్పాలంటే, IoT ఇంటర్నెట్ ద్వారా ఒకదానితో ఒకటి సమాచారాన్ని మార్పిడి చేసుకోవడానికి వస్తువులను అనుమతిస్తుంది. "ఇంటర్నెట్ ఆఫ్ ఎవ్రీథింగ్"ని స్థాపించడం దీని అంతిమ లక్ష్యం. ఇది IoT యొక్క ప్రారంభ వివరణ, అలాగే భవిష్యత్ సాంకేతికత యొక్క ఫాంటసీ. ముప్పై సంవత్సరాల తరువాత, ఆర్థిక వ్యవస్థ మరియు సాంకేతికత యొక్క వేగవంతమైన అభివృద్ధితో, ఫాంటసీ వాస్తవంలోకి వస్తోంది. స్మార్ట్ పరికరాలు, స్మార్ట్ హోమ్లు, స్మార్ట్ సిటీలు, ఇంటర్నెట్ ఆఫ్ వెహికల్స్ మరియు ధరించగలిగే పరికరాల నుండి IoT టెక్నాలజీల ద్వారా మద్దతు ఇచ్చే “మెటావర్స్” వరకు, కొత్త భావనలు నిరంతరం ఉద్భవించాయి. ఈ అధ్యాయంలో, మేము ఇంటర్నెట్ ఆఫ్ థింగ్స్ యొక్క ఆర్కిటెక్చర్ యొక్క వివరణతో ప్రారంభిస్తాము, ఆపై IoT గురించి స్పష్టమైన అవగాహన పొందడంలో మీకు సహాయపడటానికి అత్యంత సాధారణ IoT అప్లికేషన్, స్మార్ట్ హోమ్ని పరిచయం చేస్తాము.
1.1 IoT యొక్క ఆర్కిటెక్చర్
ఇంటర్నెట్ ఆఫ్ థింగ్స్ వివిధ పరిశ్రమలలో విభిన్న అప్లికేషన్ అవసరాలు మరియు ఫారమ్లను కలిగి ఉన్న బహుళ సాంకేతికతలను కలిగి ఉంటుంది. IoT యొక్క నిర్మాణం, కీలక సాంకేతికతలు మరియు అప్లికేషన్ లక్షణాలను క్రమబద్ధీకరించడానికి, ఏకీకృత నిర్మాణం మరియు ప్రామాణిక సాంకేతిక వ్యవస్థను ఏర్పాటు చేయడం అవసరం. ఈ పుస్తకంలో, IoT యొక్క నిర్మాణం కేవలం నాలుగు పొరలుగా విభజించబడింది: అవగాహన & నియంత్రణ లేయర్, నెట్వర్క్ లేయర్, ప్లాట్ఫారమ్ లేయర్ మరియు అప్లికేషన్ లేయర్.
పర్సెప్షన్ & కంట్రోల్ లేయర్ IoT ఆర్కిటెక్చర్ యొక్క అత్యంత ప్రాథమిక అంశంగా, IoT యొక్క సమగ్ర సెన్సింగ్ను గ్రహించడానికి అవగాహన & నియంత్రణ లేయర్ కోర్. సమాచారాన్ని సేకరించడం, గుర్తించడం మరియు నియంత్రించడం దీని ప్రధాన విధి. ఇది గ్రహణ సామర్థ్యంతో విభిన్న పరికరాలను కలిగి ఉంటుంది,
3
గుర్తింపు, నియంత్రణ మరియు అమలు, మరియు మెటీరియల్ లక్షణాలు, ప్రవర్తనా పోకడలు మరియు పరికర స్థితి వంటి డేటాను తిరిగి పొందడం మరియు విశ్లేషించడం బాధ్యత. ఈ విధంగా, IoT నిజమైన భౌతిక ప్రపంచాన్ని గుర్తిస్తుంది. అంతేకాకుండా, లేయర్ పరికరం యొక్క స్థితిని కూడా నియంత్రించగలదు.
ఈ పొర యొక్క అత్యంత సాధారణ పరికరాలు వివిధ సెన్సార్లు, ఇవి సమాచార సేకరణ మరియు గుర్తింపులో ముఖ్యమైన పాత్ర పోషిస్తాయి. సెన్సర్లు మానవ ఇంద్రియ అవయవాల లాంటివి, అవి దృష్టికి సమానమైన ఫోటోసెన్సిటివ్ సెన్సార్లు, వినికిడికి శబ్ద సెన్సార్లు, వాసనకు గ్యాస్ సెన్సార్లు మరియు తాకడానికి ఒత్తిడి మరియు ఉష్ణోగ్రత-సెన్సిటివ్ సెన్సార్లు. ఈ అన్ని "ఇంద్రియ అవయవాలు" తో, వస్తువులు "సజీవంగా" మారతాయి మరియు భౌతిక ప్రపంచం యొక్క తెలివైన అవగాహన, గుర్తింపు మరియు తారుమారు చేయగలవు.
నెట్వర్క్ లేయర్ పర్సెప్షన్ & కంట్రోల్ లేయర్ నుండి నిర్దిష్ట లక్ష్యానికి పొందిన డేటాతో సహా సమాచారాన్ని ప్రసారం చేయడం నెట్వర్క్ లేయర్ యొక్క ప్రధాన విధి, అలాగే అప్లికేషన్ లేయర్ నుండి తిరిగి అవగాహన & నియంత్రణ లేయర్కి జారీ చేయబడిన ఆదేశాలతో సహా. ఇది IoT వ్యవస్థలోని వివిధ పొరలను కలుపుతూ ఒక ముఖ్యమైన కమ్యూనికేషన్ వంతెనగా పనిచేస్తుంది. ఇంటర్నెట్ ఆఫ్ థింగ్స్ యొక్క ప్రాథమిక నమూనాను సెటప్ చేయడానికి, ఆబ్జెక్ట్లను నెట్వర్క్లో ఏకీకృతం చేయడానికి ఇది రెండు దశలను కలిగి ఉంటుంది: ఇంటర్నెట్కు యాక్సెస్ మరియు ఇంటర్నెట్ ద్వారా ప్రసారం.
ఇంటర్నెట్ ఇంటర్నెట్ యాక్సెస్ వ్యక్తి మరియు వ్యక్తి మధ్య పరస్పర సంబంధాన్ని ప్రారంభిస్తుంది, కానీ పెద్ద కుటుంబంలో విషయాలను చేర్చడంలో విఫలమవుతుంది. IoT రాకముందు, చాలా విషయాలు "నెట్వర్క్ చేయగలిగినవి" కాదు. సాంకేతికత యొక్క నిరంతర అభివృద్ధికి ధన్యవాదాలు, IoT విషయాలను ఇంటర్నెట్కు కనెక్ట్ చేయడానికి నిర్వహిస్తుంది, తద్వారా “వ్యక్తులు మరియు విషయాలు” మరియు “విషయాలు మరియు విషయాలు” మధ్య పరస్పర సంబంధాన్ని గ్రహించడం. ఇంటర్నెట్ కనెక్షన్ని అమలు చేయడానికి రెండు సాధారణ మార్గాలు ఉన్నాయి: వైర్డు నెట్వర్క్ యాక్సెస్ మరియు వైర్లెస్ నెట్వర్క్ యాక్సెస్.
వైర్డు నెట్వర్క్ యాక్సెస్ పద్ధతులలో ఈథర్నెట్, సీరియల్ కమ్యూనికేషన్ (ఉదా, RS-232, RS-485) మరియు USB ఉన్నాయి, అయితే వైర్లెస్ నెట్వర్క్ యాక్సెస్ వైర్లెస్ కమ్యూనికేషన్పై ఆధారపడి ఉంటుంది, దీనిని స్వల్ప-శ్రేణి వైర్లెస్ కమ్యూనికేషన్ మరియు దీర్ఘ-శ్రేణి వైర్లెస్ కమ్యూనికేషన్గా విభజించవచ్చు.
స్వల్ప-శ్రేణి వైర్లెస్ కమ్యూనికేషన్లో జిగ్బీ, బ్లూటూత్ర్, వై-ఫై, నియర్-ఫీల్డ్ కమ్యూనికేషన్ (NFC) మరియు రేడియో ఫ్రీక్వెన్సీ ఐడెంటిఫికేషన్ (RFID) ఉన్నాయి. దీర్ఘ-శ్రేణి వైర్లెస్ కమ్యూనికేషన్లో మెరుగైన మెషిన్ టైప్ కమ్యూనికేషన్ (eMTC), LoRa, నారో బ్యాండ్ ఇంటర్నెట్ ఆఫ్ థింగ్స్ (NB-IoT), 2G, 3G, 4G, 5G, మొదలైనవి ఉన్నాయి.
ఇంటర్నెట్ ద్వారా ప్రసారం ఇంటర్నెట్ యాక్సెస్ యొక్క వివిధ పద్ధతులు డేటా యొక్క సంబంధిత భౌతిక ప్రసార లింక్కు దారి తీస్తుంది. డేటాను ప్రసారం చేయడానికి ఏ కమ్యూనికేషన్ ప్రోటోకాల్ ఉపయోగించాలో నిర్ణయించడం తదుపరి విషయం. ఇంటర్నెట్ టెర్మినల్స్తో పోలిస్తే, చాలా IoT టెర్మినల్స్ ప్రస్తుతం తక్కువగా ఉన్నాయి
4 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
ప్రాసెసింగ్ పనితీరు, నిల్వ సామర్థ్యం, నెట్వర్క్ రేటు మొదలైన అందుబాటులో ఉన్న వనరులు, కాబట్టి IoT అప్లికేషన్లలో తక్కువ వనరులను ఆక్రమించే కమ్యూనికేషన్ ప్రోటోకాల్ను ఎంచుకోవడం అవసరం. నేడు విస్తృతంగా ఉపయోగించబడుతున్న రెండు కమ్యూనికేషన్ ప్రోటోకాల్లు ఉన్నాయి: మెసేజ్ క్యూయింగ్ టెలిమెట్రీ ట్రాన్స్పోర్ట్ (MQTT) మరియు నిర్బంధ అప్లికేషన్ ప్రోటోకాల్ (CoAP).
ప్లాట్ఫారమ్ లేయర్ ప్లాట్ఫారమ్ లేయర్ ప్రధానంగా IoT క్లౌడ్ ప్లాట్ఫారమ్లను సూచిస్తుంది. అన్ని IoT టెర్మినల్స్ నెట్వర్క్ చేయబడినప్పుడు, వాటి డేటాను లెక్కించడానికి మరియు నిల్వ చేయడానికి IoT క్లౌడ్ ప్లాట్ఫారమ్లో సమగ్రపరచాలి. ప్లాట్ఫారమ్ లేయర్ ప్రధానంగా భారీ పరికరాల యాక్సెస్ మరియు నిర్వహణను సులభతరం చేయడంలో IoT అప్లికేషన్లకు మద్దతు ఇస్తుంది. ఇది IoT టెర్మినల్లను క్లౌడ్ ప్లాట్ఫారమ్కు కలుపుతుంది, టెర్మినల్ డేటాను సేకరిస్తుంది మరియు రిమోట్ కంట్రోల్ని అమలు చేయడానికి టెర్మినల్లకు ఆదేశాలను జారీ చేస్తుంది. పరిశ్రమ అనువర్తనాలకు పరికరాలను కేటాయించడానికి మధ్యంతర సేవగా, ప్లాట్ఫారమ్ లేయర్ మొత్తం IoT నిర్మాణంలో కనెక్టింగ్ పాత్రను పోషిస్తుంది, వియుక్త వ్యాపార తర్కం మరియు ప్రామాణికమైన కోర్ డేటా మోడల్ను కలిగి ఉంటుంది, ఇది పరికరాల వేగవంతమైన ప్రాప్యతను గ్రహించడమే కాకుండా శక్తివంతమైన మాడ్యులర్ సామర్థ్యాలను కూడా అందిస్తుంది. పరిశ్రమ అప్లికేషన్ దృశ్యాలలో వివిధ అవసరాలను తీర్చడానికి. ప్లాట్ఫారమ్ లేయర్లో ప్రధానంగా పరికర యాక్సెస్, పరికర నిర్వహణ, భద్రతా నిర్వహణ, సందేశ కమ్యూనికేషన్, పర్యవేక్షణ ఆపరేషన్ మరియు నిర్వహణ మరియు డేటా అప్లికేషన్లు వంటి ఫంక్షనల్ మాడ్యూల్స్ ఉంటాయి.
· పరికర యాక్సెస్, టెర్మినల్స్ మరియు IoT క్లౌడ్ ప్లాట్ఫారమ్ల మధ్య కనెక్షన్ మరియు కమ్యూనికేషన్ను గ్రహించడం.
· పరికర నిర్వహణ, పరికర సృష్టి, పరికర నిర్వహణ, డేటా మార్పిడి, డేటా సమకాలీకరణ మరియు పరికర పంపిణీ వంటి విధులతో సహా.
· భద్రతా నిర్వహణ, భద్రతా ప్రమాణీకరణ మరియు కమ్యూనికేషన్ భద్రత యొక్క దృక్కోణాల నుండి IoT డేటా ప్రసారం యొక్క భద్రతను నిర్ధారించడం.
· మూడు ప్రసార దిశలతో సహా సందేశ కమ్యూనికేషన్, అనగా, టెర్మినల్ IoT క్లౌడ్ ప్లాట్ఫారమ్కు డేటాను పంపుతుంది, IoT క్లౌడ్ ప్లాట్ఫారమ్ డేటాను సర్వర్ వైపు లేదా ఇతర IoT క్లౌడ్ ప్లాట్ఫారమ్లకు పంపుతుంది మరియు సర్వర్ వైపు IoT పరికరాలను రిమోట్గా నియంత్రిస్తుంది.
· పర్యవేక్షణ O&M, పర్యవేక్షణ మరియు నిర్ధారణ, ఫర్మ్వేర్ అప్గ్రేడ్, ఆన్లైన్ డీబగ్గింగ్, లాగ్ సేవలు మొదలైనవి.
· డేటా అప్లికేషన్లు, డేటా యొక్క నిల్వ, విశ్లేషణ మరియు అప్లికేషన్.
అప్లికేషన్ లేయర్ అప్లికేషన్ను నిర్వహించడానికి, డేటాబేస్లు మరియు విశ్లేషణ సాఫ్ట్వేర్ వంటి సాధనాలతో వాటిని ఫిల్టర్ చేయడానికి మరియు ప్రాసెస్ చేయడానికి ప్లాట్ఫారమ్ లేయర్ నుండి డేటాను అప్లికేషన్ లేయర్ ఉపయోగిస్తుంది. ఫలితంగా వచ్చే డేటాను స్మార్ట్ హెల్త్కేర్, స్మార్ట్ అగ్రికల్చర్, స్మార్ట్ హోమ్లు మరియు స్మార్ట్ సిటీలు వంటి వాస్తవ-ప్రపంచ IoT అప్లికేషన్ల కోసం ఉపయోగించవచ్చు.
వాస్తవానికి, IoT యొక్క నిర్మాణాన్ని మరిన్ని లేయర్లుగా విభజించవచ్చు, అయితే అది ఎన్ని లేయర్లను కలిగి ఉన్నప్పటికీ, అంతర్లీన సూత్రం తప్పనిసరిగా అలాగే ఉంటుంది. నేర్చుకోవడం
అధ్యాయం 1. IoT 5కి పరిచయం
IoT యొక్క నిర్మాణం గురించి IoT సాంకేతికతలపై మన అవగాహనను మరింతగా పెంచడంలో మరియు పూర్తిగా పనిచేసే IoT ప్రాజెక్ట్లను రూపొందించడంలో సహాయపడుతుంది.
1.2 స్మార్ట్ హోమ్లలో IoT అప్లికేషన్
IoT జీవితంలోని అన్ని రంగాల్లోకి చొచ్చుకుపోయింది మరియు మాకు అత్యంత దగ్గరి సంబంధం ఉన్న IoT అప్లికేషన్ స్మార్ట్ హోమ్. అనేక సాంప్రదాయ ఉపకరణాలు ఇప్పుడు ఒకటి లేదా అంతకంటే ఎక్కువ IoT పరికరాలను కలిగి ఉన్నాయి మరియు కొత్తగా నిర్మించిన అనేక గృహాలు ప్రారంభం నుండి IoT సాంకేతికతలతో రూపొందించబడ్డాయి. మూర్తి 1.1 కొన్ని సాధారణ స్మార్ట్ హోమ్ పరికరాలను చూపుతుంది.
మూర్తి 1.1. సాధారణ స్మార్ట్ హోమ్ పరికరాలు స్మార్ట్ హోమ్ అభివృద్ధిని కేవలం స్మార్ట్ ఉత్పత్తిగా విభజించవచ్చుtagఇ, సీన్ ఇంటర్కనెక్షన్ stagఇ మరియు ఇంటెలిజెంట్ లుtagఇ, మూర్తి 1.2లో చూపిన విధంగా.
మూర్తి 1.2. అభివృద్ధి ఎస్tagస్మార్ట్ హోమ్ 6 ESP32-C3 వైర్లెస్ సాహసం: IoTకి సమగ్ర గైడ్
మొదటి ఎస్tagఇ అనేది స్మార్ట్ ఉత్పత్తుల గురించి. సాంప్రదాయ గృహాలకు భిన్నంగా, స్మార్ట్ హోమ్లలో, IoT పరికరాలు సెన్సార్లతో సంకేతాలను అందుకుంటాయి మరియు Wi-Fi, Bluetooth LE మరియు ZigBee వంటి వైర్లెస్ కమ్యూనికేషన్ టెక్నాలజీల ద్వారా నెట్వర్క్ చేయబడతాయి. వినియోగదారులు స్మార్ట్ఫోన్ యాప్లు, వాయిస్ అసిస్టెంట్లు, స్మార్ట్ స్పీకర్ నియంత్రణ మొదలైన వివిధ మార్గాల్లో స్మార్ట్ ఉత్పత్తులను నియంత్రించవచ్చు. రెండవదిtagఇ సీన్ ఇంటర్కనెక్షన్పై దృష్టి పెడుతుంది. ఇందులో ఎస్tagఇ, డెవలపర్లు ఇకపై ఒకే స్మార్ట్ ఉత్పత్తిని నియంత్రించడం గురించి ఆలోచించడం లేదు, కానీ రెండు లేదా అంతకంటే ఎక్కువ స్మార్ట్ ఉత్పత్తులను ఇంటర్కనెక్ట్ చేయడం, కొంత వరకు ఆటోమేట్ చేయడం మరియు చివరకు అనుకూల దృశ్య మోడ్ను రూపొందించడం. ఉదాహరణకుampఅలాగే, వినియోగదారు ఏదైనా దృశ్య మోడ్ బటన్ను నొక్కినప్పుడు, లైట్లు, కర్టెన్లు మరియు ఎయిర్ కండిషనర్లు స్వయంచాలకంగా ప్రీసెట్లకు అనుగుణంగా మార్చబడతాయి. వాస్తవానికి, ట్రిగ్గర్ షరతులు మరియు అమలు చర్యలతో సహా లింకేజ్ లాజిక్ తక్షణమే సెటప్ చేయబడటానికి ముందస్తు అవసరం ఉంది. ఇండోర్ ఉష్ణోగ్రత 10 ° C కంటే తక్కువగా పడిపోయినప్పుడు ఎయిర్ కండిషనింగ్ తాపన మోడ్ ప్రేరేపించబడిందని ఊహించండి; ఉదయం 7 గంటలకు, వినియోగదారుని మేల్కొలపడానికి సంగీతం ప్లే చేయబడుతుంది, స్మార్ట్ కర్టెన్లు తెరవబడతాయి మరియు రైస్ కుక్కర్ లేదా బ్రెడ్ టోస్టర్ స్మార్ట్ సాకెట్ ద్వారా ప్రారంభమవుతుంది; వినియోగదారు లేచి, ఉతకడం ముగించినప్పుడు, అల్పాహారం ఇప్పటికే అందించబడింది, తద్వారా పనికి వెళ్లడంలో ఆలస్యం ఉండదు. మన జీవితం ఎంత సౌకర్యవంతంగా మారింది! మూడవది ఎస్tagఇంటెలిజెన్స్ కు వెళ్తాడుtagఇ. మరిన్ని స్మార్ట్ హోమ్ పరికరాలు యాక్సెస్ చేయబడినందున, డేటా రకాలు ఉత్పత్తి చేయబడతాయి. క్లౌడ్ కంప్యూటింగ్, బిగ్ డేటా మరియు ఆర్టిఫిషియల్ ఇంటెలిజెన్స్ సహాయంతో, ఇది స్మార్ట్ హోమ్లలో “స్మార్టర్ బ్రెయిన్” నాటబడినట్లుగా ఉంటుంది, దీనికి వినియోగదారు నుండి తరచుగా ఆదేశాలు అవసరం లేదు. వారు మునుపటి పరస్పర చర్యల నుండి డేటాను సేకరిస్తారు మరియు వినియోగదారు ప్రవర్తన విధానాలు మరియు ప్రాధాన్యతలను నేర్చుకుంటారు, తద్వారా కార్యాచరణలను స్వయంచాలకంగా చేస్తారు, నిర్ణయం తీసుకోవడానికి సిఫార్సులను అందించడం. ప్రస్తుతం, చాలా స్మార్ట్ హోమ్లు సీన్ ఇంటర్కనెక్షన్లో ఉన్నాయిtagఇ. స్మార్ట్ ఉత్పత్తుల వ్యాప్తి రేటు మరియు తెలివితేటలు పెరిగేకొద్దీ, కమ్యూనికేషన్ ప్రోటోకాల్ల మధ్య అడ్డంకులు తొలగించబడుతున్నాయి. భవిష్యత్తులో, స్మార్ట్ హోమ్లు ఐరన్ మ్యాన్లోని AI సిస్టమ్ జార్విస్ వలె నిజంగా “స్మార్ట్”గా మారతాయి, ఇది వినియోగదారుకు వివిధ పరికరాలను నియంత్రించడంలో, రోజువారీ వ్యవహారాలను నిర్వహించడంలో సహాయపడటమే కాకుండా, సూపర్ కంప్యూటింగ్ శక్తి మరియు ఆలోచనా సామర్థ్యాన్ని కలిగి ఉంటుంది. ఇంటెలిజెంట్ లోtagఇ, మానవులు పరిమాణం మరియు నాణ్యత రెండింటిలోనూ మెరుగైన సేవలను అందుకుంటారు.
అధ్యాయం 1. IoT 7కి పరిచయం
8 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
2 IoT ప్రాజెక్ట్ల అధ్యాయం పరిచయం మరియు అభ్యాసం
అధ్యాయం 1లో, మేము IoT యొక్క ఆర్కిటెక్చర్ మరియు అవగాహన & నియంత్రణ లేయర్, నెట్వర్క్ లేయర్, ప్లాట్ఫారమ్ లేయర్ మరియు అప్లికేషన్ లేయర్ యొక్క పాత్రలు మరియు పరస్పర సంబంధాలను అలాగే స్మార్ట్ హోమ్ అభివృద్ధిని పరిచయం చేసాము. అయితే, మనం పెయింటింగ్ నేర్చుకుంటున్నట్లే, సైద్ధాంతిక పరిజ్ఞానం తెలుసుకోవడం చాలా దూరంగా ఉంటుంది. సాంకేతిక పరిజ్ఞానాన్ని నిజంగా ప్రావీణ్యం పొందడానికి IoT ప్రాజెక్ట్లను ఆచరణలో పెట్టడానికి మనం "మా చేతులను మలచుకోవాలి". అదనంగా, ఒక ప్రాజెక్ట్ భారీ ఉత్పత్తికి మారినప్పుడు stagఇ, నెట్వర్క్ కనెక్షన్, కాన్ఫిగరేషన్, IoT క్లౌడ్ ప్లాట్ఫారమ్ ఇంటరాక్షన్, ఫర్మ్వేర్ మేనేజ్మెంట్ మరియు అప్డేట్లు, మాస్ ప్రొడక్షన్ మేనేజ్మెంట్ మరియు సెక్యూరిటీ కాన్ఫిగరేషన్ వంటి మరిన్ని అంశాలను పరిగణనలోకి తీసుకోవడం అవసరం. కాబట్టి, పూర్తి IoT ప్రాజెక్ట్ను అభివృద్ధి చేసేటప్పుడు మనం ఏమి శ్రద్ధ వహించాలి? అధ్యాయం 1లో, స్మార్ట్ హోమ్ అనేది అత్యంత సాధారణ IoT అప్లికేషన్ దృశ్యాలలో ఒకటి మరియు స్మార్ట్ లైట్లు అనేది గృహాలు, హోటళ్లు, జిమ్లు, ఆసుపత్రులు మొదలైన వాటిలో ఉపయోగించే అత్యంత ప్రాథమిక మరియు ఆచరణాత్మక ఉపకరణాలలో ఒకటి అని మేము పేర్కొన్నాము. ఈ పుస్తకంలో, మేము స్మార్ట్ లైట్ ప్రాజెక్ట్ నిర్మాణాన్ని ప్రారంభ బిందువుగా తీసుకుంటాము, దాని భాగాలు మరియు లక్షణాలను వివరిస్తాము మరియు ప్రాజెక్ట్ అభివృద్ధిపై మార్గనిర్దేశం చేస్తాము. మరిన్ని IoT అప్లికేషన్లను సృష్టించడానికి మీరు ఈ కేసు నుండి అనుమితులు తీసుకోవచ్చని మేము ఆశిస్తున్నాము.
2.1 సాధారణ IoT ప్రాజెక్ట్లకు పరిచయం
అభివృద్ధి పరంగా, IoT ప్రాజెక్ట్ల ప్రాథమిక ఫంక్షనల్ మాడ్యూల్స్ IoT పరికరాల సాఫ్ట్వేర్ మరియు హార్డ్వేర్ డెవలప్మెంట్, క్లయింట్ అప్లికేషన్ డెవలప్మెంట్ మరియు IoT క్లౌడ్ ప్లాట్ఫారమ్ డెవలప్మెంట్గా వర్గీకరించబడతాయి. ప్రాథమిక ఫంక్షనల్ మాడ్యూళ్ళను స్పష్టం చేయడం ముఖ్యం, ఈ విభాగంలో మరింత వివరించబడుతుంది.
2.1.1 సాధారణ IoT పరికరాల కోసం ప్రాథమిక మాడ్యూల్స్
IoT పరికరాల సాఫ్ట్వేర్ మరియు హార్డ్వేర్ డెవలప్మెంట్ కింది ప్రాథమిక మాడ్యూళ్లను కలిగి ఉంటుంది: డేటా సేకరణ
IoT ఆర్కిటెక్చర్ యొక్క దిగువ పొరగా, అవగాహన & నియంత్రణ లేయర్ యొక్క IoT పరికరాలు డేటా సేకరణ మరియు ఆపరేషన్ నియంత్రణను సాధించడానికి సెన్సార్లు మరియు పరికరాలను వాటి చిప్స్ మరియు పెరిఫెరల్స్ ద్వారా కనెక్ట్ చేస్తాయి.
9
ఖాతా బైండింగ్ మరియు ప్రారంభ కాన్ఫిగరేషన్ చాలా IoT పరికరాల కోసం, ఖాతా బైండింగ్ మరియు ప్రారంభ కాన్ఫిగరేషన్ ఒక కార్యాచరణ ప్రక్రియలో పూర్తవుతాయి, ఉదాహరణకుample, Wi-Fi నెట్వర్క్ని కాన్ఫిగర్ చేయడం ద్వారా వినియోగదారులతో పరికరాలను కనెక్ట్ చేస్తోంది.
IoT క్లౌడ్ ప్లాట్ఫారమ్లతో పరస్పర చర్య IoT పరికరాలను పర్యవేక్షించడానికి మరియు నియంత్రించడానికి, ఆదేశాలను అందించడానికి మరియు ఒకదానికొకటి పరస్పర చర్య ద్వారా స్థితిని నివేదించడానికి వాటిని IoT క్లౌడ్ ప్లాట్ఫారమ్లకు కనెక్ట్ చేయడం కూడా అవసరం.
పరికర నియంత్రణ IoT క్లౌడ్ ప్లాట్ఫారమ్లతో కనెక్ట్ అయినప్పుడు, పరికరాలు క్లౌడ్తో కమ్యూనికేట్ చేయగలవు మరియు నమోదు చేయబడతాయి, కట్టుబడి ఉంటాయి లేదా నియంత్రించబడతాయి. వినియోగదారులు IoT క్లౌడ్ ప్లాట్ఫారమ్లు లేదా స్థానిక కమ్యూనికేషన్ ప్రోటోకాల్ల ద్వారా ఉత్పత్తి స్థితిని ప్రశ్నించవచ్చు మరియు స్మార్ట్ఫోన్ యాప్లో ఇతర కార్యకలాపాలను నిర్వహించవచ్చు.
ఫర్మ్వేర్ అప్గ్రేడ్ IoT పరికరాలు తయారీదారుల అవసరాల ఆధారంగా ఫర్మ్వేర్ అప్గ్రేడ్ను కూడా సాధించగలవు. క్లౌడ్ పంపిన ఆదేశాలను స్వీకరించడం ద్వారా, ఫర్మ్వేర్ అప్గ్రేడ్ మరియు వెర్షన్ మేనేజ్మెంట్ గ్రహించబడుతుంది. ఈ ఫర్మ్వేర్ అప్గ్రేడ్ ఫీచర్తో, మీరు IoT పరికరాల ఫంక్షన్లను నిరంతరం మెరుగుపరచవచ్చు, లోపాలను పరిష్కరించవచ్చు మరియు వినియోగదారు అనుభవాన్ని మెరుగుపరచవచ్చు.
2.1.2 క్లయింట్ అప్లికేషన్ల ప్రాథమిక మాడ్యూల్స్
క్లయింట్ అప్లికేషన్లు (ఉదా, స్మార్ట్ఫోన్ యాప్లు) ప్రధానంగా కింది ప్రాథమిక మాడ్యూల్లను కలిగి ఉంటాయి:
ఖాతా వ్యవస్థ మరియు ప్రమాణీకరణ ఇది ఖాతా మరియు పరికర ప్రమాణీకరణకు మద్దతు ఇస్తుంది.
పరికర నియంత్రణ స్మార్ట్ఫోన్ యాప్లు సాధారణంగా నియంత్రణ ఫంక్షన్లతో అమర్చబడి ఉంటాయి. వినియోగదారులు IoT పరికరాలకు సులభంగా కనెక్ట్ చేయవచ్చు మరియు వాటిని ఎప్పుడైనా, ఎక్కడైనా స్మార్ట్ఫోన్ యాప్ల ద్వారా నిర్వహించవచ్చు. వాస్తవ-ప్రపంచ స్మార్ట్ హోమ్లో, పరికరాలు ఎక్కువగా స్మార్ట్ఫోన్ యాప్ల ద్వారా నియంత్రించబడతాయి, ఇది పరికరాల తెలివైన నిర్వహణను ప్రారంభించడమే కాకుండా, మానవశక్తి ఖర్చును కూడా ఆదా చేస్తుంది. అందువల్ల, పరికర పనితీరు నియంత్రణ, దృశ్య నియంత్రణ, షెడ్యూల్, రిమోట్ కంట్రోల్, పరికర అనుసంధానం మొదలైన క్లయింట్ అప్లికేషన్లకు పరికర నియంత్రణ తప్పనిసరి. స్మార్ట్ హోమ్ వినియోగదారులు వ్యక్తిగత అవసరాలకు అనుగుణంగా దృశ్యాలను అనుకూలీకరించవచ్చు, లైటింగ్, గృహోపకరణాలు, ప్రవేశ ద్వారం , మొదలైనవి, గృహ జీవితాన్ని మరింత సౌకర్యవంతంగా మరియు సౌకర్యవంతంగా చేయడానికి. వారు ఎయిర్ కండిషనింగ్కు సమయం ఇవ్వవచ్చు, రిమోట్గా దాన్ని ఆపివేయవచ్చు, తలుపు అన్లాక్ చేయబడిన తర్వాత స్వయంచాలకంగా హాలులో లైట్ను సెట్ చేయవచ్చు లేదా ఒకే బటన్తో "థియేటర్" మోడ్కి మారవచ్చు.
నోటిఫికేషన్ క్లయింట్ అప్లికేషన్లు IoT పరికరాల నిజ-సమయ స్థితిని అప్డేట్ చేస్తాయి మరియు పరికరాలు అసాధారణమైనప్పుడు హెచ్చరికలను పంపుతాయి.
10 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
అమ్మకాల తర్వాత కస్టమర్ సేవ స్మార్ట్ఫోన్ యాప్లు ఉత్పత్తుల కోసం అమ్మకాల తర్వాత సేవలను అందించగలవు, IoT పరికర వైఫల్యాలు మరియు సాంకేతిక కార్యకలాపాలకు సంబంధించిన సమస్యలను సకాలంలో పరిష్కరించడానికి.
ఫీచర్ చేయబడిన ఫంక్షన్లు వేర్వేరు వినియోగదారుల అవసరాలను తీర్చడానికి, షేక్, NFC, GPS మొదలైన ఇతర ఫంక్షన్లు జోడించబడవచ్చు. GPS స్థానం మరియు దూరాన్ని బట్టి దృశ్య కార్యకలాపాల యొక్క ఖచ్చితత్వాన్ని సెట్ చేయడంలో సహాయపడుతుంది, అయితే షేక్ ఫంక్షన్ వినియోగదారులను సెట్ చేయడానికి అనుమతిస్తుంది. వణుకు ద్వారా నిర్దిష్ట పరికరం లేదా దృశ్యం కోసం అమలు చేయవలసిన ఆదేశాలు.
2.1.3 సాధారణ IoT క్లౌడ్ ప్లాట్ఫారమ్లకు పరిచయం
IoT క్లౌడ్ ప్లాట్ఫారమ్ అనేది డివైజ్ మేనేజ్మెంట్, డేటా సెక్యూరిటీ కమ్యూనికేషన్ మరియు నోటిఫికేషన్ మేనేజ్మెంట్ వంటి ఫంక్షన్లను ఏకీకృతం చేసే ఆల్ ఇన్ వన్ ప్లాట్ఫారమ్. వారి లక్ష్య సమూహం మరియు ప్రాప్యత ప్రకారం, IoT క్లౌడ్ ప్లాట్ఫారమ్లను పబ్లిక్ IoT క్లౌడ్ ప్లాట్ఫారమ్లుగా విభజించవచ్చు (ఇకపై "పబ్లిక్ క్లౌడ్"గా సూచిస్తారు) మరియు ప్రైవేట్ IoT క్లౌడ్ ప్లాట్ఫారమ్లు (ఇకపై "ప్రైవేట్ క్లౌడ్"గా సూచిస్తారు).
పబ్లిక్ క్లౌడ్ సాధారణంగా ఎంటర్ప్రైజెస్ లేదా వ్యక్తుల కోసం షేర్ చేయబడిన IoT క్లౌడ్ ప్లాట్ఫారమ్లను సూచిస్తుంది, ప్లాట్ఫారమ్ ప్రొవైడర్లచే నిర్వహించబడుతుంది మరియు నిర్వహించబడుతుంది మరియు ఇంటర్నెట్ ద్వారా భాగస్వామ్యం చేయబడుతుంది. ఇది ఉచితం లేదా తక్కువ ధర కావచ్చు మరియు అలీబాబా క్లౌడ్, టెన్సెంట్ క్లౌడ్, బైడు క్లౌడ్, AWS IoT, Google IoT మొదలైన ఓపెన్ పబ్లిక్ నెట్వర్క్ అంతటా సేవలను అందిస్తుంది. ఒక సపోర్టింగ్ ప్లాట్ఫారమ్గా, పబ్లిక్ క్లౌడ్ అప్స్ట్రీమ్ సర్వీస్ ప్రొవైడర్లను ఏకీకృతం చేయగలదు మరియు కొత్త విలువ గొలుసు మరియు పర్యావరణ వ్యవస్థను సృష్టించడానికి దిగువ తుది వినియోగదారులు.
ప్రైవేట్ క్లౌడ్ ఎంటర్ప్రైజ్ ఉపయోగం కోసం మాత్రమే నిర్మించబడింది, తద్వారా డేటా, భద్రత మరియు సేవా నాణ్యతపై ఉత్తమ నియంత్రణకు హామీ ఇస్తుంది. దీని సేవలు మరియు అవస్థాపన సంస్థలు ప్రత్యేకంగా నిర్వహించబడతాయి మరియు సహాయక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ కూడా నిర్దిష్ట వినియోగదారులకు అంకితం చేయబడ్డాయి. ఎంటర్ప్రైజెస్ తమ వ్యాపార అవసరాలకు అనుగుణంగా క్లౌడ్ సేవలను అనుకూలీకరించవచ్చు. ప్రస్తుతం, కొంతమంది స్మార్ట్ హోమ్ తయారీదారులు ఇప్పటికే ప్రైవేట్ IoT క్లౌడ్ ప్లాట్ఫారమ్లను పొందారు మరియు వాటి ఆధారంగా స్మార్ట్ హోమ్ అప్లికేషన్లను అభివృద్ధి చేశారు.
పబ్లిక్ క్లౌడ్ మరియు ప్రైవేట్ క్లౌడ్ వారి స్వంత అడ్వాన్ను కలిగి ఉన్నాయిtages, ఇది తరువాత వివరించబడుతుంది.
కమ్యూనికేషన్ కనెక్టివిటీని సాధించడానికి, వ్యాపార సర్వర్లు, IoT క్లౌడ్ ప్లాట్ఫారమ్లు మరియు స్మార్ట్ఫోన్ యాప్లతో పాటు పరికరం వైపు కనీసం ఎంబెడెడ్ డెవలప్మెంట్ను పూర్తి చేయడం అవసరం. అటువంటి భారీ ప్రాజెక్ట్ను ఎదుర్కొంటున్నప్పుడు, పబ్లిక్ క్లౌడ్ సాధారణంగా ప్రాసెస్ను వేగవంతం చేయడానికి పరికరం వైపు మరియు స్మార్ట్ఫోన్ యాప్ల కోసం సాఫ్ట్వేర్ డెవలప్మెంట్ కిట్లను అందిస్తుంది. పబ్లిక్ మరియు ప్రైవేట్ క్లౌడ్ రెండూ పరికర యాక్సెస్, పరికర నిర్వహణ, పరికర నీడ మరియు ఆపరేషన్ మరియు నిర్వహణతో సహా సేవలను అందిస్తాయి.
పరికర యాక్సెస్ IoT క్లౌడ్ ప్లాట్ఫారమ్లు ప్రోటోకాల్లను ఉపయోగించి పరికర యాక్సెస్ కోసం ఇంటర్ఫేస్లను మాత్రమే అందించాలి
అధ్యాయం 2. IoT ప్రాజెక్ట్ల పరిచయం మరియు అభ్యాసం 11
MQTT, CoAP, HTTPS మరియు Webసాకెట్, కానీ నకిలీ మరియు చట్టవిరుద్ధమైన పరికరాలను నిరోధించడానికి పరికర భద్రతా ప్రమాణీకరణ యొక్క ఫంక్షన్, రాజీకి గురయ్యే ప్రమాదాన్ని సమర్థవంతంగా తగ్గిస్తుంది. ఇటువంటి ప్రమాణీకరణ సాధారణంగా వేర్వేరు యంత్రాంగాలకు మద్దతు ఇస్తుంది, కాబట్టి పరికరాలు భారీగా ఉత్పత్తి చేయబడినప్పుడు, ఎంచుకున్న ప్రామాణీకరణ మెకానిజం ప్రకారం పరికర ప్రమాణపత్రాన్ని ముందుగా కేటాయించడం మరియు దానిని పరికరాల్లోకి బర్న్ చేయడం అవసరం.
పరికర నిర్వహణ IoT క్లౌడ్ ప్లాట్ఫారమ్ల ద్వారా అందించబడిన పరికర నిర్వహణ ఫంక్షన్ తయారీదారులు తమ పరికరాల క్రియాశీలత స్థితిని మరియు ఆన్లైన్ స్థితిని నిజ సమయంలో పర్యవేక్షించడంలో సహాయపడటమే కాకుండా, పరికరాలను జోడించడం / తీసివేయడం, తిరిగి పొందడం, సమూహాలను జోడించడం / తొలగించడం, ఫర్మ్వేర్ అప్గ్రేడ్ వంటి ఎంపికలను అనుమతిస్తుంది , మరియు వెర్షన్ నిర్వహణ.
పరికర నీడ IoT క్లౌడ్ ప్లాట్ఫారమ్లు ప్రతి పరికరానికి నిరంతర వర్చువల్ వెర్షన్ (పరికరం నీడ)ని సృష్టించగలవు మరియు పరికరం షాడో యొక్క స్థితిని స్మార్ట్ఫోన్ యాప్ లేదా ఇంటర్నెట్ ట్రాన్స్మిషన్ ప్రోటోకాల్ల ద్వారా ఇతర పరికరాల ద్వారా సమకాలీకరించవచ్చు మరియు పొందవచ్చు. డివైస్ షాడో ప్రతి పరికరం యొక్క తాజా నివేదించబడిన స్థితి మరియు ఆశించిన స్థితిని నిల్వ చేస్తుంది మరియు పరికరం ఆఫ్లైన్లో ఉన్నప్పటికీ, అది ఇప్పటికీ APIలకు కాల్ చేయడం ద్వారా స్థితిని పొందవచ్చు. డివైస్ షాడో ఎల్లప్పుడూ ఆన్లో ఉండే APIలను అందిస్తుంది, ఇది పరికరాలతో పరస్పర చర్య చేసే స్మార్ట్ఫోన్ యాప్లను రూపొందించడాన్ని సులభతరం చేస్తుంది.
ఆపరేషన్ మరియు నిర్వహణ O&M ఫంక్షన్ మూడు అంశాలను కలిగి ఉంటుంది: · IoT పరికరాలు మరియు నోటిఫికేషన్ల గురించి గణాంక సమాచారాన్ని ప్రదర్శించడం. · లాగ్ నిర్వహణ పరికర ప్రవర్తన, అప్ / డౌన్ మెసేజ్ ఫ్లో మరియు మెసేజ్ కంటెంట్ గురించి సమాచారాన్ని తిరిగి పొందేందుకు అనుమతిస్తుంది. · పరికర డీబగ్గింగ్ కమాండ్ డెలివరీ, కాన్ఫిగరేషన్ అప్డేట్ మరియు IoT క్లౌడ్ ప్లాట్ఫారమ్లు మరియు పరికర సందేశాల మధ్య పరస్పర చర్యను తనిఖీ చేయడానికి మద్దతు ఇస్తుంది.
2.2 అభ్యాసం: స్మార్ట్ లైట్ ప్రాజెక్ట్
ప్రతి అధ్యాయంలోని సైద్ధాంతిక పరిచయం తర్వాత, మీరు హ్యాండ్-ఆన్ అనుభవాన్ని పొందడానికి స్మార్ట్ లైట్ ప్రాజెక్ట్కు సంబంధించిన అభ్యాస విభాగాన్ని కనుగొంటారు. ప్రాజెక్ట్ ఎస్ప్రెస్సిఫ్ యొక్క ESP32-C3 చిప్ మరియు ESP రెయిన్మేకర్ IoT క్లౌడ్ ప్లాట్ఫారమ్పై ఆధారపడింది మరియు స్మార్ట్ లైట్ ఉత్పత్తులలో వైర్లెస్ మాడ్యూల్ హార్డ్వేర్ను కవర్ చేస్తుంది, ESP32C3, స్మార్ట్ఫోన్ యాప్లు మరియు ESP రెయిన్మేకర్ ఇంటరాక్షన్ ఆధారంగా స్మార్ట్ పరికరాల కోసం పొందుపరిచిన సాఫ్ట్వేర్.
సోర్స్ కోడ్ మెరుగైన అభ్యాసం మరియు అభివృద్ధి అనుభవం కోసం, ఈ పుస్తకంలోని ప్రాజెక్ట్ ఓపెన్సోర్స్ చేయబడింది. మీరు https://github వద్ద మా GitHub రిపోజిటరీ నుండి సోర్స్ కోడ్ని డౌన్లోడ్ చేసుకోవచ్చు. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
2.2.1 ప్రాజెక్ట్ నిర్మాణం
స్మార్ట్ లైట్ ప్రాజెక్ట్ మూడు భాగాలను కలిగి ఉంటుంది: i. IoT క్లౌడ్ ప్లాట్ఫారమ్లతో పరస్పర చర్య చేయడానికి మరియు LED l యొక్క స్విచ్, ప్రకాశం మరియు రంగు ఉష్ణోగ్రతను నియంత్రించడానికి బాధ్యత వహించే ESP32-C3 ఆధారంగా స్మార్ట్ లైట్ పరికరాలుamp పూసలు. ii. స్మార్ట్ఫోన్ యాప్లు (Android మరియు iOSలో రన్ అవుతున్న టాబ్లెట్ యాప్లతో సహా), స్మార్ట్ లైట్ ఉత్పత్తుల యొక్క నెట్వర్క్ కాన్ఫిగరేషన్, అలాగే వాటి స్థితిని ప్రశ్నించడం మరియు నియంత్రించడం వంటి వాటికి బాధ్యత వహిస్తాయి.
iii. ESP రెయిన్మేకర్ ఆధారంగా IoT క్లౌడ్ ప్లాట్ఫారమ్. సరళీకరణ కోసం, మేము ఈ పుస్తకంలో IoT క్లౌడ్ ప్లాట్ఫారమ్ మరియు వ్యాపార సర్వర్ను మొత్తంగా పరిగణిస్తాము. ESP రెయిన్మేకర్ గురించిన వివరాలు చాప్టర్ 3లో అందించబడతాయి.
స్మార్ట్ లైట్ ప్రాజెక్ట్ నిర్మాణం మరియు IoT ఆర్కిటెక్చర్ మధ్య అనురూప్యం మూర్తి 2.1లో చూపబడింది.
మూర్తి 2.1. స్మార్ట్ లైట్ ప్రాజెక్ట్ యొక్క నిర్మాణం
2.2.2 ప్రాజెక్ట్ విధులు
నిర్మాణం ప్రకారం విభజించబడింది, ప్రతి భాగం యొక్క విధులు క్రింది విధంగా ఉంటాయి. స్మార్ట్ లైట్ పరికరాలు
· నెట్వర్క్ కాన్ఫిగరేషన్ మరియు కనెక్షన్. · స్విచ్, ప్రకాశం, రంగు ఉష్ణోగ్రత మొదలైన LED PWM నియంత్రణ. · ఆటోమేషన్ లేదా దృశ్య నియంత్రణ, ఉదా, సమయం స్విచ్. · ఫ్లాష్ యొక్క ఎన్క్రిప్షన్ మరియు సురక్షిత బూట్. · ఫర్మ్వేర్ అప్గ్రేడ్ మరియు వెర్షన్ మేనేజ్మెంట్.
అధ్యాయం 2. IoT ప్రాజెక్ట్ల పరిచయం మరియు అభ్యాసం 13
స్మార్ట్ఫోన్ యాప్లు · నెట్వర్క్ కాన్ఫిగరేషన్ మరియు పరికర బైండింగ్. · స్విచ్, ప్రకాశం, రంగు ఉష్ణోగ్రత మొదలైన స్మార్ట్ లైట్ ఉత్పత్తి నియంత్రణ. · ఆటోమేషన్ లేదా దృశ్య సెట్టింగ్లు, ఉదా, సమయం స్విచ్. · స్థానిక/రిమోట్ కంట్రోల్. · వినియోగదారు నమోదు, లాగిన్ మొదలైనవి.
ESP RainMaker IoT క్లౌడ్ ప్లాట్ఫారమ్ · IoT పరికర యాక్సెస్ని ప్రారంభిస్తోంది. · స్మార్ట్ఫోన్ యాప్లకు యాక్సెస్ చేయగల పరికరం ఆపరేషన్ APIలను అందించడం. · ఫర్మ్వేర్ అప్గ్రేడ్ మరియు వెర్షన్ మేనేజ్మెంట్.
2.2.3 హార్డ్వేర్ తయారీ
ప్రాజెక్ట్ను ఆచరణలో పెట్టడానికి ఆసక్తి ఉన్నట్లయితే, మీకు కింది హార్డ్వేర్ కూడా అవసరం: స్మార్ట్ లైట్లు, స్మార్ట్ఫోన్లు, Wi-Fi రూటర్లు మరియు డెవలప్మెంట్ ఎన్విరాన్మెంట్ యొక్క ఇన్స్టాలేషన్ అవసరాలను తీర్చగల కంప్యూటర్. స్మార్ట్ లైట్లు
స్మార్ట్ లైట్లు అనేవి కొత్త రకం బల్బులు, దీని ఆకారం సాధారణ ప్రకాశించే బల్బు వలె ఉంటుంది. స్మార్ట్ లైట్ కెపాసిటర్ స్టెప్-డౌన్ రెగ్యులేటెడ్ పవర్ సప్లై, వైర్లెస్ మాడ్యూల్ (అంతర్నిర్మిత ESP32-C3తో), LED కంట్రోలర్ మరియు RGB LED మ్యాట్రిక్స్తో కూడి ఉంటుంది. శక్తికి కనెక్ట్ చేసినప్పుడు, 15 V DC వాల్యూమ్tagకెపాసిటర్ స్టెప్-డౌన్, డయోడ్ రెక్టిఫికేషన్ మరియు రెగ్యులేషన్ తర్వాత ఇ అవుట్పుట్ LED కంట్రోలర్ మరియు LED మ్యాట్రిక్స్కు శక్తిని అందిస్తుంది. LED కంట్రోలర్ స్వయంచాలకంగా నిర్దిష్ట వ్యవధిలో అధిక మరియు తక్కువ స్థాయిలను పంపగలదు, RGB LED మ్యాట్రిక్స్ను మూసివేసిన (లైట్లు ఆన్) మరియు ఓపెన్ (లైట్లు ఆఫ్) మధ్య మారుస్తుంది, తద్వారా ఇది సియాన్, పసుపు, ఆకుపచ్చ, ఊదా, నీలం, ఎరుపు మరియు తెల్లని కాంతి. వైర్లెస్ మాడ్యూల్ Wi-Fi రూటర్కు కనెక్ట్ చేయడం, స్మార్ట్ లైట్ల స్థితిని స్వీకరించడం మరియు నివేదించడం మరియు LED ని నియంత్రించడానికి ఆదేశాలను పంపడం వంటి వాటికి బాధ్యత వహిస్తుంది.
మూర్తి 2.2. అనుకరణ స్మార్ట్ లైట్
ప్రారంభ అభివృద్ధిలో ఎస్tagఇ, మీరు RGB LED lతో కనెక్ట్ చేయబడిన ESP32-C3DevKitM-1 బోర్డ్ని ఉపయోగించి స్మార్ట్ లైట్ని అనుకరించవచ్చుamp పూసలు (మూర్తి 2.2 చూడండి). కానీ మీరు తప్పక
14 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
స్మార్ట్ లైట్ను సమీకరించటానికి ఇది ఏకైక మార్గం కాదని గమనించండి. ఈ పుస్తకంలోని ప్రాజెక్ట్ యొక్క హార్డ్వేర్ డిజైన్ వైర్లెస్ మాడ్యూల్ను మాత్రమే కలిగి ఉంది (అంతర్నిర్మిత ESP32-C3తో), కానీ పూర్తి స్మార్ట్ లైట్ హార్డ్వేర్ డిజైన్ కాదు. అదనంగా, Espressif ఆడియోతో లైట్లను నియంత్రించడానికి ESP32-C3-ఆధారిత ఆడియో డెవలప్మెంట్ బోర్డ్ ESP32C3-లైరాను కూడా ఉత్పత్తి చేస్తుంది. బోర్డు మైక్రోఫోన్లు మరియు స్పీకర్ల కోసం ఇంటర్ఫేస్లను కలిగి ఉంది మరియు LED స్ట్రిప్లను నియంత్రించగలదు. ఇది అల్ట్రా-తక్కువ-ధర, అధిక పనితీరు గల ఆడియో బ్రాడ్కాస్టర్లు మరియు రిథమ్ లైట్ స్ట్రిప్లను అభివృద్ధి చేయడానికి ఉపయోగించవచ్చు. 2.3 LED లైట్ల స్ట్రిప్తో అనుసంధానించబడిన ESP32-C3Lyra బోర్డుని మూర్తి 40 చూపిస్తుంది.
మూర్తి 2.3. ESP32-C3-Lyra 40 LED లైట్ల స్ట్రిప్తో లింక్ చేయబడింది
స్మార్ట్ఫోన్లు (Android/iOS) స్మార్ట్ లైట్ ప్రాజెక్ట్లో స్మార్ట్ లైట్ ఉత్పత్తులను సెటప్ చేయడానికి మరియు నియంత్రించడానికి స్మార్ట్ఫోన్ యాప్ను అభివృద్ధి చేస్తారు.
Wi-Fi రూటర్లు Wi-Fi రూటర్లు వైర్డు నెట్వర్క్ సిగ్నల్లను మరియు మొబైల్ నెట్వర్క్ సిగ్నల్లను వైర్లెస్ నెట్వర్క్ సిగ్నల్లుగా మారుస్తాయి, కంప్యూటర్లు, స్మార్ట్ఫోన్లు, టాబ్లెట్లు మరియు ఇతర వైర్లెస్ పరికరాలు నెట్వర్క్కి కనెక్ట్ అవుతాయి. ఉదాహరణకుampఅలాగే, Wi-Fi పరికరాల వైర్లెస్ నెట్వర్కింగ్ను సాధించడానికి ఇంటిలోని బ్రాడ్బ్యాండ్ Wi-Fi రూటర్కు మాత్రమే కనెక్ట్ చేయబడాలి. Wi-Fi రూటర్ల ద్వారా మద్దతు ఇచ్చే ప్రధాన స్రవంతి ప్రోటోకాల్ ప్రమాణం IEEE 802.11n, సగటు TxRate 300 Mbps లేదా గరిష్టంగా 600 Mbps. అవి IEEE 802.11b మరియు IEEE 802.11gతో వెనుకకు అనుకూలంగా ఉంటాయి. Espressif ద్వారా ESP32-C3 చిప్ IEEE 802.11b/g/nకి మద్దతు ఇస్తుంది, కాబట్టి మీరు సింగిల్-బ్యాండ్ (2.4 GHz) లేదా డ్యూయల్-బ్యాండ్ (2.4 GHz మరియు 5 GHz) Wi-Fi రూటర్ని ఎంచుకోవచ్చు.
కంప్యూటర్ (Linux/macOS/Windows) డెవలప్మెంట్ ఎన్విరాన్మెంట్ అధ్యాయం 4లో పరిచయం చేయబడుతుంది. అధ్యాయం 2. IoT ప్రాజెక్ట్ల పరిచయం మరియు అభ్యాసం 15
2.2.4 అభివృద్ధి ప్రక్రియ
మూర్తి 2.4. స్మార్ట్ లైట్ ప్రాజెక్ట్ అభివృద్ధి దశలు
హార్డ్వేర్ డిజైన్ IoT ప్రాజెక్ట్కి IoT పరికరాల హార్డ్వేర్ డిజైన్ అవసరం. పూర్తి స్మార్ట్ లైట్ ప్రాజెక్ట్ అల్ ఉత్పత్తి చేయడానికి ఉద్దేశించబడిందిamp మెయిన్స్ సరఫరా కింద పని చేస్తోంది. వివిధ తయారీదారులు l ఉత్పత్తి చేస్తారుampవిభిన్న శైలులు మరియు డ్రైవర్ రకాలు, కానీ వాటి వైర్లెస్ మాడ్యూల్స్ సాధారణంగా ఒకే ఫంక్షన్లో ఉంటాయి. స్మార్ట్ లైట్ ప్రాజెక్ట్ అభివృద్ధి ప్రక్రియను సులభతరం చేయడానికి, ఈ పుస్తకం వైర్లెస్ మాడ్యూల్స్ యొక్క హార్డ్వేర్ డిజైన్ మరియు సాఫ్ట్వేర్ అభివృద్ధిని మాత్రమే కవర్ చేస్తుంది.
IoT క్లౌడ్ ప్లాట్ఫారమ్ కాన్ఫిగరేషన్ IoT క్లౌడ్ ప్లాట్ఫారమ్లను ఉపయోగించడానికి, మీరు ఉత్పత్తులను సృష్టించడం, పరికరాలను సృష్టించడం, పరికర లక్షణాలను సెట్ చేయడం మొదలైనవాటిని బ్యాకెండ్లో ప్రాజెక్ట్లను కాన్ఫిగర్ చేయాలి.
IoT పరికరాల కోసం పొందుపరిచిన సాఫ్ట్వేర్ అభివృద్ధి IoT క్లౌడ్ ప్లాట్ఫారమ్లకు కనెక్ట్ చేయడం, LED డ్రైవర్లను అభివృద్ధి చేయడం మరియు ఫర్మ్వేర్ను అప్గ్రేడ్ చేయడంతో సహా ESP-IDF, Espressif పరికరం వైపు SDKతో ఆశించిన ఫంక్షన్లను అమలు చేయండి.
స్మార్ట్ఫోన్ యాప్ డెవలప్మెంట్ యూజర్ రిజిస్ట్రేషన్ మరియు లాగిన్, డివైస్ కంట్రోల్ మరియు ఇతర ఫంక్షన్లను గ్రహించడానికి Android మరియు iOS సిస్టమ్ల కోసం స్మార్ట్ఫోన్ యాప్లను అభివృద్ధి చేయండి.
IoT పరికర ఆప్టిమైజేషన్ IoT పరికర ఫంక్షన్ల ప్రాథమిక అభివృద్ధి పూర్తయిన తర్వాత, మీరు పవర్ ఆప్టిమైజేషన్ వంటి ఆప్టిమైజేషన్ టాస్క్లను ఆశ్రయించవచ్చు.
సామూహిక ఉత్పత్తి పరీక్ష పరికరాల పనితీరు పరీక్ష, వృద్ధాప్య పరీక్ష, RF పరీక్ష మొదలైన సంబంధిత ప్రమాణాల ప్రకారం భారీ ఉత్పత్తి పరీక్షలను నిర్వహించండి.
పైన జాబితా చేయబడిన దశలు ఉన్నప్పటికీ, స్మార్ట్ లైట్ ప్రాజెక్ట్ తప్పనిసరిగా అటువంటి విధానానికి లోబడి ఉండదు, ఎందుకంటే అదే సమయంలో వేర్వేరు పనులు కూడా నిర్వహించబడతాయి. ఉదాహరణకుample, ఎంబెడెడ్ సాఫ్ట్వేర్ మరియు స్మార్ట్ఫోన్ యాప్లను సమాంతరంగా అభివృద్ధి చేయవచ్చు. IoT పరికర ఆప్టిమైజేషన్ మరియు మాస్ ప్రొడక్షన్ టెస్టింగ్ వంటి కొన్ని దశలను కూడా పునరావృతం చేయాల్సి ఉంటుంది.
16 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
2.3 సారాంశం
ఈ అధ్యాయంలో, మేము మొదట IoT ప్రాజెక్ట్ యొక్క ప్రాథమిక భాగాలు మరియు ఫంక్షనల్ మాడ్యూల్స్పై వివరించాము, ఆపై ప్రాక్టీస్ కోసం స్మార్ట్ లైట్ కేస్ను పరిచయం చేసాము, దాని నిర్మాణం, విధులు, హార్డ్వేర్ తయారీ మరియు అభివృద్ధి ప్రక్రియను సూచిస్తాము. పాఠకులు అభ్యాసం నుండి అనుమితులను తీసుకోవచ్చు మరియు భవిష్యత్తులో కనీస పొరపాట్లతో IoT ప్రాజెక్ట్లను నిర్వహించడానికి నమ్మకంగా ఉండవచ్చు.
అధ్యాయం 2. IoT ప్రాజెక్ట్ల పరిచయం మరియు అభ్యాసం 17
18 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
అధ్యాయం 3
పరిచయం
కు
ESP
రెయిన్ మేకర్
ఇంటర్నెట్ ఆఫ్ థింగ్స్ (IoT) ప్రజల జీవన విధానాన్ని మార్చడానికి అంతులేని అవకాశాలను అందిస్తుంది, అయినప్పటికీ IoT ఇంజనీరింగ్ అభివృద్ధి సవాళ్లతో నిండి ఉంది. పబ్లిక్ క్లౌడ్లతో, టెర్మినల్ తయారీదారులు క్రింది పరిష్కారాల ద్వారా ఉత్పత్తి కార్యాచరణను అమలు చేయవచ్చు:
సొల్యూషన్ ప్రొవైడర్ల క్లౌడ్ ప్లాట్ఫారమ్ల ఆధారంగా ఈ విధంగా, టెర్మినల్ తయారీదారులు ఉత్పత్తి హార్డ్వేర్ను రూపొందించాలి, ఆపై అందించిన కమ్యూనికేషన్ మాడ్యూల్ని ఉపయోగించి హార్డ్వేర్ను క్లౌడ్కు కనెక్ట్ చేయాలి మరియు మార్గదర్శకాలను అనుసరించి ఉత్పత్తి ఫంక్షన్లను కాన్ఫిగర్ చేయాలి. ఇది సర్వర్ వైపు మరియు అప్లికేషన్ వైపు అభివృద్ధి మరియు కార్యకలాపాలు మరియు నిర్వహణ (O&M) అవసరాన్ని తొలగిస్తుంది కనుక ఇది సమర్థవంతమైన విధానం. ఇది టెర్మినల్ తయారీదారులను క్లౌడ్ అమలును పరిగణనలోకి తీసుకోకుండా హార్డ్వేర్ డిజైన్పై దృష్టి పెట్టడానికి అనుమతిస్తుంది. అయితే, అటువంటి పరిష్కారాలు (ఉదా, పరికర ఫర్మ్వేర్ మరియు యాప్) సాధారణంగా ఓపెన్ సోర్స్ కావు, కాబట్టి ఉత్పత్తి విధులు అనుకూలీకరించలేని ప్రొవైడర్ క్లౌడ్ ప్లాట్ఫారమ్ ద్వారా పరిమితం చేయబడతాయి. ఇంతలో, వినియోగదారు మరియు పరికర డేటా కూడా క్లౌడ్ ప్లాట్ఫారమ్కు చెందినవి.
క్లౌడ్ ఉత్పత్తుల ఆధారంగా ఈ సొల్యూషన్లో, హార్డ్వేర్ డిజైన్ను పూర్తి చేసిన తర్వాత, టెర్మినల్ తయారీదారులు పబ్లిక్ క్లౌడ్ అందించిన ఒకటి లేదా అంతకంటే ఎక్కువ క్లౌడ్ ఉత్పత్తులను ఉపయోగించి క్లౌడ్ ఫంక్షన్లను అమలు చేయడమే కాకుండా, హార్డ్వేర్ను క్లౌడ్తో లింక్ చేయాలి. ఉదాహరణకుample, Amazonకి కనెక్ట్ చేయడానికి Web సేవలు (AWS), టెర్మినల్ తయారీదారులు పరికర యాక్సెస్, రిమోట్ కంట్రోల్, డేటా నిల్వ, వినియోగదారు నిర్వహణ మరియు ఇతర ప్రాథమిక విధులను ప్రారంభించడానికి Amazon API గేట్వే, AWS IoT కోర్ మరియు AWS లాంబ్డా వంటి AWS ఉత్పత్తులను ఉపయోగించాలి. ఇది టెర్మినల్ తయారీదారులను లోతైన అవగాహన మరియు గొప్ప అనుభవంతో క్లౌడ్ ఉత్పత్తులను ఫ్లెక్సిబుల్గా ఉపయోగించమని మరియు కాన్ఫిగర్ చేయమని అడగడమే కాకుండా, ప్రారంభ మరియు తరువాతి వాటి కోసం నిర్మాణ మరియు నిర్వహణ వ్యయాన్ని పరిగణనలోకి తీసుకోవడం కూడా అవసరం.tages ఇది సంస్థ యొక్క శక్తి మరియు వనరులకు గొప్ప సవాళ్లను కలిగిస్తుంది.
పబ్లిక్ క్లౌడ్లతో పోలిస్తే, ప్రైవేట్ క్లౌడ్లు సాధారణంగా నిర్దిష్ట ప్రాజెక్ట్లు మరియు ఉత్పత్తుల కోసం నిర్మించబడతాయి. ప్రైవేట్ క్లౌడ్ డెవలపర్లకు ప్రోటోకాల్ డిజైన్ మరియు బిజినెస్ లాజిక్ అమలులో అత్యధిక స్థాయి స్వేచ్ఛ ఇవ్వబడుతుంది. టెర్మినల్ తయారీదారులు తమ ఇష్టానుసారంగా ఉత్పత్తులను తయారు చేయవచ్చు మరియు స్కీమ్లను రూపొందించవచ్చు మరియు వినియోగదారు డేటాను సులభంగా ఏకీకృతం చేయవచ్చు మరియు సాధికారత పొందవచ్చు. అడ్వాన్తో పబ్లిక్ క్లౌడ్ యొక్క అధిక భద్రత, స్కేలబిలిటీ మరియు విశ్వసనీయతను కలపడంtagప్రైవేట్ క్లౌడ్ యొక్క es, Espressif ESPని ప్రారంభించింది
19
RainMaker, Amazon క్లౌడ్ ఆధారంగా డీప్లీ ఇంటిగ్రేటెడ్ ప్రైవేట్ క్లౌడ్ సొల్యూషన్. వినియోగదారులు ESP రెయిన్మేకర్ని అమలు చేయవచ్చు మరియు AWS ఖాతాతో ప్రైవేట్ క్లౌడ్ను నిర్మించవచ్చు.
3.1 ESP రెయిన్మేకర్ అంటే ఏమిటి?
ESP రెయిన్మేకర్ అనేది బహుళ పరిణతి చెందిన AWS ఉత్పత్తులతో నిర్మించబడిన పూర్తి AIoT ప్లాట్ఫారమ్. ఇది పరికర క్లౌడ్ యాక్సెస్, పరికర అప్గ్రేడ్, బ్యాకెండ్ మేనేజ్మెంట్, థర్డ్-పార్టీ లాగిన్, వాయిస్ ఇంటిగ్రేషన్ మరియు యూజర్ మేనేజ్మెంట్ వంటి భారీ ఉత్పత్తికి అవసరమైన వివిధ సేవలను అందిస్తుంది. AWS అందించిన సర్వర్లెస్ అప్లికేషన్ రిపోజిటరీ (SAR)ని ఉపయోగించడం ద్వారా, టెర్మినల్ తయారీదారులు తమ AWS ఖాతాలకు ESP రెయిన్మేకర్ను త్వరగా అమర్చవచ్చు, ఇది సమయ-సమర్థవంతమైన మరియు సులభంగా ఆపరేట్ చేయగలదు. Espressif ద్వారా నిర్వహించబడుతుంది మరియు నిర్వహించబడుతుంది, ESP రెయిన్మేకర్ ఉపయోగించే SAR క్లౌడ్ నిర్వహణ ఖర్చులను తగ్గించడంలో మరియు AIoT ఉత్పత్తుల అభివృద్ధిని వేగవంతం చేయడంలో డెవలపర్లకు సహాయపడుతుంది, తద్వారా సురక్షితమైన, స్థిరమైన మరియు అనుకూలీకరించదగిన AIoT పరిష్కారాలను రూపొందించడంలో సహాయపడుతుంది. మూర్తి 3.1 ESP రెయిన్మేకర్ యొక్క నిర్మాణాన్ని చూపుతుంది.
మూర్తి 3.1. ESP రెయిన్మేకర్ యొక్క ఆర్కిటెక్చర్
Espressif ద్వారా ESP రెయిన్మేకర్ పబ్లిక్ సర్వర్ ESP ఔత్సాహికులు, తయారీదారులు మరియు విద్యావేత్తలందరికీ పరిష్కార మూల్యాంకనం కోసం ఉచితం. డెవలపర్లు Apple, Google లేదా GitHub ఖాతాలతో లాగిన్ చేయవచ్చు మరియు త్వరగా వారి స్వంత IoT అప్లికేషన్ ప్రోటోటైప్లను రూపొందించవచ్చు. పబ్లిక్ సర్వర్ అలెక్సా మరియు గూగుల్ హోమ్ను ఏకీకృతం చేస్తుంది మరియు అలెక్సా స్కిల్ మరియు గూగుల్ యాక్షన్ల ద్వారా మద్దతు ఇచ్చే వాయిస్ నియంత్రణ సేవలను అందిస్తుంది. దీని సెమాంటిక్ రికగ్నిషన్ ఫంక్షన్ కూడా థర్డ్ పార్టీల ద్వారా అందించబడుతుంది. RainMaker IoT పరికరాలు నిర్దిష్ట చర్యలకు మాత్రమే ప్రతిస్పందిస్తాయి. మద్దతు ఉన్న వాయిస్ ఆదేశాల యొక్క సమగ్ర జాబితా కోసం, దయచేసి మూడవ పక్ష ప్లాట్ఫారమ్లను తనిఖీ చేయండి. అదనంగా, Espressif వినియోగదారులు స్మార్ట్ఫోన్ల ద్వారా ఉత్పత్తులను నియంత్రించడానికి పబ్లిక్ రెయిన్మేకర్ యాప్ను అందిస్తుంది. 20 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
3.2 ESP రెయిన్మేకర్ యొక్క అమలు
మూర్తి 3.2లో చూపినట్లుగా, ESP రెయిన్మేకర్ నాలుగు భాగాలను కలిగి ఉంటుంది: · క్లెయిమింగ్ సర్వీస్, రెయిన్మేకర్ పరికరాలను డైనమిక్గా సర్టిఫికేట్లను పొందేందుకు వీలు కల్పిస్తుంది. · రెయిన్మేకర్ క్లౌడ్ (క్లౌడ్ బ్యాకెండ్ అని కూడా పిలుస్తారు), మెసేజ్ ఫిల్టరింగ్, యూజర్ మేనేజ్మెంట్, డేటా స్టోరేజ్ మరియు థర్డ్-పార్టీ ఇంటిగ్రేషన్ల వంటి సేవలను అందిస్తుంది. · రెయిన్మేకర్ ఏజెంట్, రెయిన్మేకర్ పరికరాలను రెయిన్మేకర్ క్లౌడ్కి కనెక్ట్ చేయడానికి అనుమతిస్తుంది. · రెయిన్మేకర్ క్లయింట్ (రెయిన్మేకర్ యాప్ లేదా CLI స్క్రిప్ట్లు), ప్రొవిజనింగ్, యూజర్ క్రియేషన్, డివైజ్ అసోసియేషన్ మరియు కంట్రోల్ మొదలైన వాటి కోసం.
మూర్తి 3.2. ESP రెయిన్మేకర్ యొక్క నిర్మాణం
ESP రెయిన్మేకర్ ఉత్పత్తి అభివృద్ధి మరియు భారీ ఉత్పత్తి కోసం పూర్తి సాధనాలను అందిస్తుంది, వీటిలో: రెయిన్మేకర్ SDK
RainMaker SDK ESP-IDFపై ఆధారపడి ఉంటుంది మరియు ఫర్మ్వేర్ డెవలప్మెంట్ కోసం పరికరం వైపు ఏజెంట్ మరియు సంబంధిత C APIల సోర్స్ కోడ్ను అందిస్తుంది. డెవలపర్లు అప్లికేషన్ లాజిక్ను మాత్రమే వ్రాయాలి మరియు మిగిలిన వాటిని రెయిన్మేకర్ ఫ్రేమ్వర్క్కు వదిలివేయాలి. C APIల గురించి మరింత సమాచారం కోసం, దయచేసి https://bookc3.espressif.com/rm/c-api-reference సందర్శించండి. రెయిన్మేకర్ యాప్ రెయిన్మేకర్ యాప్ పబ్లిక్ వెర్షన్ డెవలపర్లను డివైజ్ ప్రొవిజనింగ్ను పూర్తి చేయడానికి మరియు పరికరాల స్థితిని నియంత్రించడానికి మరియు ప్రశ్నించడానికి అనుమతిస్తుంది (ఉదా, స్మార్ట్ లైటింగ్ ఉత్పత్తులు). ఇది iOS మరియు Android యాప్ స్టోర్లలో అందుబాటులో ఉంది. మరిన్ని వివరాల కోసం, దయచేసి అధ్యాయం 10ని చూడండి. REST APIలు REST APIలు రెయిన్మేకర్ యాప్ని పోలిన వారి స్వంత అప్లికేషన్లను రూపొందించడంలో వినియోగదారులకు సహాయపడతాయి. మరింత సమాచారం కోసం, దయచేసి https://swaggerapis.rainmaker.espressif.com/ని సందర్శించండి.
చాప్టర్ 3. ESP రెయిన్మేకర్ పరిచయం 21
పైథాన్ APIలు రైన్మేకర్ SDKతో వచ్చే పైథాన్-ఆధారిత CLI, స్మార్ట్ఫోన్ ఫీచర్ల మాదిరిగానే అన్ని ఫంక్షన్లను అమలు చేయడానికి అందించబడింది. పైథాన్ APIల గురించి మరింత సమాచారం కోసం, దయచేసి https://bookc3.espressif.com/rm/python-api-reference సందర్శించండి.
అడ్మిన్ CLI అడ్మిన్ CLI, అధిక స్థాయి యాక్సెస్తో, పరికర ప్రమాణపత్రాలను పెద్దమొత్తంలో రూపొందించడానికి ESP రెయిన్మేకర్ ప్రైవేట్ డిప్లాయ్మెంట్ కోసం అందించబడింది.
3.2.1 దావా సేవ
RainMaker పరికరాలు మరియు క్లౌడ్ బ్యాకెండ్ మధ్య అన్ని కమ్యూనికేషన్ MQTT+TLS ద్వారా నిర్వహించబడుతుంది. ESP రెయిన్మేకర్ సందర్భంలో, క్లౌడ్ బ్యాకెండ్కి కనెక్ట్ చేయడానికి పరికరాలు క్లెయిమింగ్ సర్వీస్ నుండి సర్టిఫికెట్లను పొందే ప్రక్రియను “క్లెయిమింగ్” అంటారు. క్లెయిమింగ్ సర్వీస్ పబ్లిక్ రెయిన్మేకర్ సేవకు మాత్రమే వర్తిస్తుందని గమనించండి, ప్రైవేట్ విస్తరణ కోసం, పరికర సర్టిఫికేట్లను అడ్మిన్ CLI ద్వారా పెద్దమొత్తంలో రూపొందించాలి. ESP రెయిన్మేకర్ మూడు రకాల క్లెయిమింగ్ సర్వీస్లకు మద్దతు ఇస్తుంది: సెల్ఫ్ క్లెయిమింగ్
ఇంటర్నెట్కు కనెక్ట్ అయిన తర్వాత eFuseలో ముందుగా ప్రోగ్రామ్ చేయబడిన రహస్య కీ ద్వారా పరికరం స్వయంగా సర్టిఫికేట్లను పొందుతుంది. హోస్ట్ నడిచే క్లెయిమింగ్ రెయిన్మేకర్ ఖాతాతో డెవలప్మెంట్ హోస్ట్ నుండి సర్టిఫికెట్లు పొందబడతాయి. సహాయక క్లెయిమింగ్ ప్రొవిజనింగ్ సమయంలో స్మార్ట్ఫోన్ అప్లికేషన్ల ద్వారా సర్టిఫికెట్లు పొందబడతాయి.
3.2.2 రెయిన్మేకర్ ఏజెంట్
మూర్తి 3.3. RainMaker SDK యొక్క నిర్మాణం రెయిన్మేకర్ ఏజెంట్ యొక్క ప్రాథమిక విధి కనెక్టివిటీని అందించడం మరియు అప్లింక్/డౌన్లింక్ క్లౌడ్ డేటాను ప్రాసెస్ చేయడానికి అప్లికేషన్ లేయర్కు సహాయం చేయడం. ఇది రెయిన్మేకర్ SDK 22 ESP32-C3 వైర్లెస్ అడ్వెంచర్ ద్వారా నిర్మించబడింది: IoTకి సమగ్ర గైడ్
మరియు RTOS, NVS మరియు MQTT వంటి ESP-IDF భాగాలను ఉపయోగించి నిరూపితమైన ESP-IDF ఫ్రేమ్వర్క్ ఆధారంగా అభివృద్ధి చేయబడింది. మూర్తి 3.3 రెయిన్మేకర్ SDK యొక్క నిర్మాణాన్ని చూపుతుంది.
రెయిన్మేకర్ SDK రెండు ప్రధాన లక్షణాలను కలిగి ఉంది.
కనెక్షన్
i. పరికర ప్రమాణపత్రాలను పొందేందుకు క్లెయిమింగ్ సర్వీస్తో సహకరిస్తోంది.
ii. రిమోట్ కనెక్టివిటీని అందించడానికి మరియు రిమోట్ కంట్రోల్, మెసేజ్ రిపోర్టింగ్, యూజర్ మేనేజ్మెంట్, డివైస్ మేనేజ్మెంట్ మొదలైనవాటిని అమలు చేయడానికి సురక్షితమైన MQTT ప్రోటోకాల్ను ఉపయోగించి క్లౌడ్ బ్యాకెండ్కు కనెక్ట్ చేయడం. ఇది డిఫాల్ట్గా ESP-IDFలో MQTT కాంపోనెంట్ను ఉపయోగిస్తుంది మరియు ఇతర వాటితో ఇంటర్ఫేస్ చేయడానికి ఒక సంగ్రహణ పొరను అందిస్తుంది. ప్రోటోకాల్ స్టాక్లు.
iii. Wi-Fi కనెక్షన్ మరియు ప్రొవిజనింగ్ కోసం wifi ప్రొవిజనింగ్ కాంపోనెంట్ను అందించడం, OTA అప్గ్రేడ్ల కోసం esp https ఓటా కాంపోనెంట్ మరియు స్థానిక పరికర ఆవిష్కరణ మరియు కనెక్షన్ కోసం esp లోకల్ ctrl కాంపోనెంట్. ఈ లక్ష్యాలన్నింటినీ సాధారణ కాన్ఫిగరేషన్ ద్వారా సాధించవచ్చు.
డేటా ప్రాసెసింగ్
i. క్లెయిమింగ్ సర్వీస్ ద్వారా జారీ చేయబడిన పరికర సర్టిఫికేట్లను నిల్వ చేయడం మరియు రైన్మేకర్ని అమలు చేస్తున్నప్పుడు అవసరమైన డేటా, డిఫాల్ట్గా nvs ఫ్లాష్ కాంపోనెంట్ అందించిన ఇంటర్ఫేస్ని ఉపయోగించడం మరియు డెవలపర్ల కోసం ప్రత్యక్ష ఉపయోగం కోసం APIలను అందించడం.
ii. అప్లింక్/డౌన్లింక్ క్లౌడ్ డేటాను ప్రాసెస్ చేయడానికి కాల్బ్యాక్ మెకానిజంను ఉపయోగించడం మరియు డెవలపర్ల ద్వారా సులభంగా ప్రాసెస్ చేయడం కోసం అప్లికేషన్ లేయర్కి డేటాను ఆటోమేటిక్గా అన్బ్లాక్ చేయడం. ఉదాహరణకుample, రెయిన్మేకర్ SDK TSL (థింగ్ స్పెసిఫికేషన్ లాంగ్వేజ్) డేటాను స్థాపించడానికి రిచ్ ఇంటర్ఫేస్లను అందిస్తుంది, ఇది IoT పరికరాలను వివరించడానికి మరియు టైమింగ్, కౌంట్డౌన్ మరియు వాయిస్ కంట్రోల్ వంటి ఫంక్షన్లను అమలు చేయడానికి TSL మోడల్లను నిర్వచించడానికి అవసరం. టైమింగ్ వంటి ప్రాథమిక ఇంటరాక్టివ్ ఫీచర్ల కోసం, రైన్మేకర్ SDK డెవలప్మెంట్-ఫ్రీ సొల్యూషన్ను అందిస్తుంది, ఇది అవసరమైనప్పుడు ఎనేబుల్ చేయబడుతుంది. అప్పుడు, రెయిన్మేకర్ ఏజెంట్ నేరుగా డేటాను ప్రాసెస్ చేస్తుంది, అనుబంధిత MQTT టాపిక్ ద్వారా క్లౌడ్కి పంపుతుంది మరియు కాల్బ్యాక్ మెకానిజం ద్వారా క్లౌడ్ బ్యాకెండ్లోని డేటా మార్పులను తిరిగి అందిస్తుంది.
3.2.3 క్లౌడ్ బ్యాకెండ్
క్లౌడ్ బ్యాకెండ్ AWS సర్వర్లెస్ కంప్యూటింగ్లో నిర్మించబడింది మరియు AWS కాగ్నిటో (ఐడెంటిటీ మేనేజ్మెంట్ సిస్టమ్), అమెజాన్ API గేట్వే, AWS లాంబ్డా (సర్వర్లెస్ కంప్యూటింగ్ సర్వీస్), Amazon DynamoDB (NoSQL డేటాబేస్), AWS IoT కోర్ (MQTT యాక్సెస్ని అందించే IoT యాక్సెస్ కోర్) ద్వారా సాధించబడింది. మరియు రూల్ ఫిల్టరింగ్), అమెజాన్ సింపుల్ ఇమెయిల్ సర్వీస్ (SES సింపుల్ మెయిల్ సర్వీస్), అమెజాన్ క్లౌడ్ఫ్రంట్ (ఫాస్ట్ డెలివరీ నెట్వర్క్), అమెజాన్ సింపుల్ క్యూ సర్వీస్ (SQS మెసేజ్ క్యూయింగ్), మరియు Amazon S3 (బకెట్ స్టోరేజ్ సర్వీస్). ఇది స్కేలబిలిటీ మరియు భద్రతను ఆప్టిమైజ్ చేయడానికి ఉద్దేశించబడింది. ESP రెయిన్మేకర్తో, డెవలపర్లు క్లౌడ్లో కోడ్ను వ్రాయకుండానే పరికరాలను నిర్వహించగలరు. పరికరాల ద్వారా నివేదించబడిన సందేశాలు పారదర్శకంగా ప్రసారం చేయబడతాయి
చాప్టర్ 3. ESP రెయిన్మేకర్ పరిచయం 23
అప్లికేషన్ క్లయింట్లు లేదా ఇతర మూడవ పక్ష సేవలు. క్లౌడ్ బ్యాకెండ్లో ఉపయోగించిన AWS క్లౌడ్ ఉత్పత్తులు మరియు ఫంక్షన్లను టేబుల్ 3.1 చూపుతుంది, మరిన్ని ఉత్పత్తులు మరియు ఫీచర్లు అభివృద్ధిలో ఉన్నాయి.
పట్టిక 3.1. క్లౌడ్ బ్యాకెండ్ ఉపయోగించే AWS క్లౌడ్ ఉత్పత్తులు మరియు విధులు
రెయిన్మేకర్ ఉపయోగించే AWS క్లౌడ్ ఉత్పత్తి
ఫంక్షన్
AWS కాగ్నిటో
వినియోగదారు ఆధారాలను నిర్వహించడం మరియు మూడవ పక్ష లాగిన్లకు మద్దతు ఇవ్వడం
AWS లాంబ్డా
క్లౌడ్ బ్యాకెండ్ యొక్క ప్రధాన వ్యాపార లాజిక్ను అమలు చేయడం
అమెజాన్ టైమ్స్ట్రీమ్ సమయ శ్రేణి డేటాను నిల్వ చేస్తుంది
Amazon DynamoDB కస్టమర్ల ప్రైవేట్ సమాచారాన్ని నిల్వ చేస్తుంది
AWS IoT కోర్
MQTT కమ్యూనికేషన్కు మద్దతు ఇస్తుంది
అమెజాన్ SES
ఇమెయిల్ పంపే సేవలను అందించడం
Amazon CloudFront బ్యాకెండ్ నిర్వహణను వేగవంతం చేస్తోంది webసైట్ యాక్సెస్
అమెజాన్ SQS
AWS IoT కోర్ నుండి సందేశాలను ఫార్వార్డ్ చేస్తోంది
3.2.4 రెయిన్మేకర్ క్లయింట్
App మరియు CLI వంటి RainMaker క్లయింట్లు, REST APIల ద్వారా క్లౌడ్ బ్యాకెండ్తో కమ్యూనికేట్ చేస్తాయి. REST APIల గురించిన వివరణాత్మక సమాచారం మరియు సూచనలను ఎస్ప్రెస్సిఫ్ అందించిన స్వాగర్ డాక్యుమెంటేషన్లో చూడవచ్చు. RainMaker యొక్క మొబైల్ అప్లికేషన్ క్లయింట్ iOS మరియు Android సిస్టమ్లకు అందుబాటులో ఉంది. ఇది పరికర కేటాయింపు, నియంత్రణ మరియు భాగస్వామ్యాన్ని అనుమతిస్తుంది, అలాగే కౌంట్డౌన్ టాస్క్లను సృష్టించడం మరియు ప్రారంభించడం మరియు మూడవ పక్ష ప్లాట్ఫారమ్లకు కనెక్ట్ చేయడం. పరికరాల ద్వారా నివేదించబడిన కాన్ఫిగరేషన్ ప్రకారం ఇది స్వయంచాలకంగా UI మరియు చిహ్నాలను లోడ్ చేయగలదు మరియు పరికరం TSLని పూర్తిగా ప్రదర్శిస్తుంది.
ఉదాహరణకుample, రెయిన్మేకర్ SDK అందించిన మాజీపై స్మార్ట్ లైట్ నిర్మించబడితేampఅయితే, ప్రొవిజనింగ్ పూర్తయినప్పుడు బల్బ్ లైట్ యొక్క చిహ్నం మరియు UI స్వయంచాలకంగా లోడ్ అవుతాయి. వినియోగదారులు ఇంటర్ఫేస్ ద్వారా కాంతి యొక్క రంగు మరియు ప్రకాశాన్ని మార్చవచ్చు మరియు అలెక్సా స్మార్ట్ హోమ్ స్కిల్ లేదా గూగుల్ స్మార్ట్ హోమ్ చర్యలను వారి ESP రెయిన్మేకర్ ఖాతాలకు లింక్ చేయడం ద్వారా మూడవ పక్ష నియంత్రణను సాధించవచ్చు. మూర్తి 3.4 చిహ్నం మరియు UI ex చూపిస్తుందిampఅలెక్సా, గూగుల్ హోమ్ మరియు ESP రెయిన్మేకర్ యాప్లో వరుసగా బల్బ్ లైట్ లెస్.
24 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
(ఎ) ఉదాampలే - అలెక్సా
(బి) ఉదాample - Google హోమ్
(సి) ఉదాample - ESP రెయిన్మేకర్
మూర్తి 3.4. ఉదాampఅలెక్సా, గూగుల్ హోమ్ మరియు ESP రెయిన్మేకర్ యాప్లో బల్బ్ లైట్ యొక్క ఐకాన్ మరియు UI
3.3 ప్రాక్టీస్: ESP రెయిన్మేకర్తో అభివృద్ధి చేయడానికి కీలక అంశాలు
పరికర డ్రైవర్ లేయర్ పూర్తయిన తర్వాత, డెవలపర్లు TSL మోడల్లను సృష్టించడం మరియు RainMaker SDK అందించిన APIలను ఉపయోగించి డౌన్లింక్ డేటాను ప్రాసెస్ చేయడం ప్రారంభించవచ్చు మరియు ఉత్పత్తి నిర్వచనం మరియు అవసరాల ఆధారంగా ESP రెయిన్మేకర్ ప్రాథమిక సేవలను ప్రారంభించవచ్చు.
చాప్టర్ 3. ESP రెయిన్మేకర్ పరిచయం 25
ఈ పుస్తకంలోని సెక్షన్ 9.4 రెయిన్మేకర్లో LED స్మార్ట్ లైట్ అమలును వివరిస్తుంది. డీబగ్గింగ్ సమయంలో, డెవలపర్లు స్మార్ట్ లైట్తో కమ్యూనికేట్ చేయడానికి రెయిన్మేకర్ SDKలోని CLI సాధనాలను ఉపయోగించవచ్చు (లేదా Swagger నుండి REST APIలకు కాల్ చేయండి).
అధ్యాయం 10 స్మార్ట్ఫోన్ అప్లికేషన్లను అభివృద్ధి చేయడంలో REST APIల వినియోగాన్ని వివరిస్తుంది. LED స్మార్ట్ లైట్ల OTA అప్గ్రేడ్లు అధ్యాయం 11లో కవర్ చేయబడతాయి. డెవలపర్లు ESP అంతర్దృష్టుల రిమోట్ మానిటరింగ్ను ప్రారంభించినట్లయితే, ESP రెయిన్మేకర్ మేనేజ్మెంట్ బ్యాకెండ్ ESP అంతర్దృష్టుల డేటాను ప్రదర్శిస్తుంది. వివరాలు చాప్టర్ 15లో ప్రదర్శించబడతాయి.
ESP రెయిన్మేకర్ ప్రైవేట్ విస్తరణకు మద్దతు ఇస్తుంది, ఇది పబ్లిక్ రెయిన్మేకర్ సర్వర్ నుండి క్రింది మార్గాల్లో భిన్నంగా ఉంటుంది:
క్లెయిమింగ్ సర్వీస్ ప్రైవేట్ డిప్లాయ్మెంట్లలో సర్టిఫికేట్లను రూపొందించడానికి, క్లెయిమ్ చేయడానికి బదులుగా రెయిన్మేకర్ అడ్మిన్ CLIని ఉపయోగించడం అవసరం. పబ్లిక్ సర్వర్తో, ఫర్మ్వేర్ అప్గ్రేడ్ను అమలు చేయడానికి డెవలపర్లకు తప్పనిసరిగా నిర్వాహక హక్కులు ఇవ్వాలి, కానీ వాణిజ్య విస్తరణలలో ఇది అవాంఛనీయమైనది. అందువల్ల, స్వీయ-క్లెయిమ్ కోసం ప్రత్యేక ప్రమాణీకరణ సేవ లేదా హోస్ట్ నడిచే లేదా సహాయక క్లెయిమ్ కోసం నిర్వాహక హక్కులు అందించబడవు.
ఫోన్ యాప్లు ప్రైవేట్ డిప్లాయ్మెంట్లలో, ఖాతా సిస్టమ్లు ఇంటర్ఆపరేబుల్ కాదని నిర్ధారించుకోవడానికి అప్లికేషన్లను ప్రత్యేకంగా కాన్ఫిగర్ చేయాలి మరియు కంపైల్ చేయాలి.
3వ పార్టీ లాగిన్లు మరియు వాయిస్ ఇంటిగ్రేషన్ డెవలపర్లు 3వ పక్ష లాగిన్లను, అలాగే అలెక్సా స్కిల్ మరియు గూగుల్ వాయిస్ అసిస్టెంట్ ఇంటిగ్రేషన్ను ప్రారంభించడానికి Google మరియు Apple డెవలపర్ ఖాతాల ద్వారా విడిగా కాన్ఫిగర్ చేయాలి.
చిట్కాలు క్లౌడ్ విస్తరణ గురించి వివరాల కోసం, దయచేసి https://customer.rainmaker.espressifని సందర్శించండి. com. ఫర్మ్వేర్ పరంగా, పబ్లిక్ సర్వర్ నుండి ప్రైవేట్ సర్వర్కి మారడానికి పరికర ప్రమాణపత్రాలను భర్తీ చేయడం మాత్రమే అవసరం, ఇది మైగ్రేషన్ సామర్థ్యాన్ని బాగా మెరుగుపరుస్తుంది మరియు మైగ్రేషన్ మరియు సెకండరీ డీబగ్గింగ్ ఖర్చును తగ్గిస్తుంది.
3.4 ESP రెయిన్మేకర్ యొక్క లక్షణాలు
ESP రెయిన్మేకర్ ఫీచర్లు ప్రధానంగా వినియోగదారు నిర్వహణ, తుది వినియోగదారులు మరియు నిర్వాహకులు అనే మూడు అంశాలను లక్ష్యంగా చేసుకున్నాయి. పేర్కొనకపోతే అన్ని ఫీచర్లకు పబ్లిక్ మరియు ప్రైవేట్ సర్వర్లలో మద్దతు ఉంటుంది.
3.4.1 వినియోగదారు నిర్వహణ
వినియోగదారు నిర్వహణ లక్షణాలు తుది వినియోగదారులను నమోదు చేసుకోవడానికి, లాగిన్ చేయడానికి, పాస్వర్డ్లను మార్చడానికి, పాస్వర్డ్లను తిరిగి పొందడానికి మొదలైనవాటిని అనుమతిస్తాయి.
26 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
నమోదు చేయండి మరియు లాగిన్ అవ్వండి RainMaker ద్వారా మద్దతిచ్చే నమోదు మరియు లాగిన్ పద్ధతులు: · ఇమెయిల్ id + పాస్వర్డ్ · ఫోన్ నంబర్ + పాస్వర్డ్ · Google ఖాతా · Apple ఖాతా · GitHub ఖాతా (పబ్లిక్ సర్వర్ మాత్రమే) · Amazon ఖాతా (ప్రైవేట్ సర్వర్ మాత్రమే)
గమనిక Google/Amazon ఉపయోగించి సైన్ అప్ చేయడం వినియోగదారు ఇమెయిల్ చిరునామాను RainMakerతో పంచుకుంటుంది. Apple వినియోగదారు కోసం ప్రత్యేకంగా RainMaker సేవ కోసం కేటాయించిన నకిలీ చిరునామాను Apple భాగస్వామ్యం చేస్తుంది ఉపయోగించి సైన్ అప్ చేయండి. Google, Apple లేదా Amazon ఖాతాతో మొదటిసారి సైన్ ఇన్ చేసే వినియోగదారుల కోసం RainMaker ఖాతా ఆటోమేటిక్గా సృష్టించబడుతుంది.
పాస్వర్డ్ మార్చండి ఇమెయిల్ ఐడి/ఫోన్ నంబర్ ఆధారిత లాగిన్ల కోసం మాత్రమే చెల్లుతుంది. పాస్వర్డ్ మార్చబడిన తర్వాత అన్ని ఇతర సక్రియ సెషన్లు లాగ్ అవుట్ చేయబడతాయి. AWS కాగ్నిటో ప్రవర్తన ప్రకారం, లాగ్ అవుట్ చేసిన సెషన్లు 1 గంట వరకు యాక్టివ్గా ఉంటాయి.
పాస్వర్డ్ని తిరిగి పొందడం ఇమెయిల్ ఐడి/ఫోన్ నంబర్ ఆధారిత లాగిన్లకు మాత్రమే చెల్లుతుంది.
3.4.2 తుది వినియోగదారు లక్షణాలు
స్థానిక మరియు రిమోట్ కంట్రోల్ మరియు మానిటరింగ్, షెడ్యూలింగ్, డివైస్ గ్రూపింగ్, డివైజ్ షేరింగ్, పుష్ నోటిఫికేషన్లు మరియు థర్డ్-పార్టీ ఇంటిగ్రేషన్లు వంటి తుది వినియోగదారులకు అందుబాటులో ఉండే ఫీచర్లు ఉన్నాయి.
రిమోట్ కంట్రోల్ మరియు పర్యవేక్షణ · ఒకటి లేదా అన్ని పరికరాల కోసం ప్రశ్న కాన్ఫిగరేషన్, పారామీటర్ విలువలు మరియు కనెక్షన్ స్థితి. · సింగిల్ లేదా బహుళ పరికరాల కోసం పారామితులను సెట్ చేయండి.
స్థానిక నియంత్రణ మరియు పర్యవేక్షణ స్థానిక నియంత్రణ కోసం మొబైల్ ఫోన్ మరియు పరికరాన్ని ఒకే నెట్వర్క్కి కనెక్ట్ చేయాలి.
షెడ్యూల్ చేయడం · వినియోగదారులు నిర్దిష్ట సమయంలో నిర్దిష్ట చర్యలను ముందే సెట్ చేస్తారు. · షెడ్యూల్ని అమలు చేస్తున్నప్పుడు పరికరానికి ఇంటర్నెట్ కనెక్షన్ అవసరం లేదు. · ఒకే లేదా బహుళ పరికరాల కోసం ఒక సారి లేదా పునరావృతం (రోజులను పేర్కొనడం ద్వారా).
పరికర సమూహీకరణ బహుళ-స్థాయి నైరూప్య సమూహానికి మద్దతు ఇస్తుంది ఇంటి గది నిర్మాణాన్ని రూపొందించడానికి గ్రూప్ మెటాడేటాను ఉపయోగించవచ్చు.
చాప్టర్ 3. ESP రెయిన్మేకర్ పరిచయం 27
పరికర భాగస్వామ్యం ఒకటి లేదా అంతకంటే ఎక్కువ పరికరాలను ఒకటి లేదా అంతకంటే ఎక్కువ మంది వినియోగదారులతో భాగస్వామ్యం చేయవచ్చు.
పుష్ నోటిఫికేషన్లు తుది వినియోగదారులు ఈవెంట్ల కోసం పుష్ నోటిఫికేషన్లను స్వీకరిస్తారు · కొత్త పరికరం(లు) జోడించబడింది/తీసివేయబడింది
లైట్లు, స్విచ్లు, సాకెట్లు, ఫ్యాన్లు మరియు ఉష్ణోగ్రత సెన్సార్లతో సహా రెయిన్మేకర్ పరికరాలను నియంత్రించడానికి థర్డ్ పార్టీ ఇంటిగ్రేషన్లు Alexa మరియు Google Voice Assistantకు మద్దతు ఉంది.
3.4.3 అడ్మిన్ ఫీచర్లు
పరికర నమోదు, పరికర సమూహీకరణ మరియు OTA అప్గ్రేడ్లను అమలు చేయడానికి నిర్వాహక లక్షణాలు నిర్వాహకులను అనుమతిస్తాయి view గణాంకాలు మరియు ESP అంతర్దృష్టుల డేటా.
పరికర నమోదు పరికర ధృవపత్రాలను రూపొందించండి మరియు అడ్మిన్ CLI (ప్రైవేట్ సర్వర్ మాత్రమే)తో నమోదు చేసుకోండి.
పరికర సమూహం పరికర సమాచారం (ప్రైవేట్ సర్వర్ మాత్రమే) ఆధారంగా నైరూప్య లేదా నిర్మాణాత్మక సమూహాలను సృష్టించండి.
ఓవర్-ది-ఎయిర్ (OTA) అప్గ్రేడ్లు వెర్షన్ మరియు మోడల్ ఆధారంగా ఫర్మ్వేర్ను ఒకటి లేదా అంతకంటే ఎక్కువ పరికరాలకు లేదా గ్రూప్ మానిటర్, రద్దు చేయడం లేదా OTA జాబ్లను ఆర్కైవ్ చేయడం ద్వారా అప్లోడ్ చేయండి.
View గణాంకాలు Viewసామర్థ్యం గల గణాంకాలు: · పరికర రిజిస్ట్రేషన్లు (అడ్మిన్ నమోదు చేసిన సర్టిఫికెట్లు) · పరికర యాక్టివేషన్లు (మొదటిసారి కనెక్ట్ చేయబడిన పరికరం) · వినియోగదారు ఖాతాలు · వినియోగదారు-పరికర సంఘం
View ESP అంతర్దృష్టుల డేటా Viewసామర్థ్యం గల ESP అంతర్దృష్టుల డేటాలో ఇవి ఉన్నాయి: · లోపాలు, హెచ్చరికలు మరియు అనుకూల లాగ్లు · క్రాష్ నివేదికలు మరియు విశ్లేషణ · రీబూట్ కారణాలు · మెమరీ వినియోగం, RSSI మొదలైన కొలమానాలు
28 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
3.5 సారాంశం
ఈ అధ్యాయంలో, మేము పబ్లిక్ రెయిన్మేకర్ డిప్లాయ్మెంట్ మరియు ప్రైవేట్ డిప్లాయ్మెంట్ మధ్య కొన్ని కీలక వ్యత్యాసాలను పరిచయం చేసాము. Espressif ద్వారా ప్రారంభించబడిన ప్రైవేట్ ESP రెయిన్మేకర్ సొల్యూషన్ అత్యంత విశ్వసనీయమైనది మరియు విస్తరించదగినది. అన్ని ESP32 సిరీస్ చిప్లు కనెక్ట్ చేయబడ్డాయి మరియు AWSకి అనుగుణంగా ఉంటాయి, ఇది ఖర్చును బాగా తగ్గిస్తుంది. డెవలపర్లు AWS క్లౌడ్ ఉత్పత్తుల గురించి తెలుసుకోవాల్సిన అవసరం లేకుండానే ప్రోటోటైప్ వెరిఫికేషన్పై దృష్టి పెట్టవచ్చు. మేము ESP రెయిన్మేకర్ యొక్క అమలు మరియు లక్షణాలను మరియు ప్లాట్ఫారమ్ని ఉపయోగించి అభివృద్ధి కోసం కొన్ని కీలక అంశాలను కూడా వివరించాము.
Android కోసం ESP రెయిన్మేకర్ని డౌన్లోడ్ చేయడానికి స్కాన్ చేయండి iOS కోసం ESP రెయిన్మేకర్ని డౌన్లోడ్ చేయడానికి స్కాన్ చేయండి
చాప్టర్ 3. ESP రెయిన్మేకర్ పరిచయం 29
30 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
చాప్టర్ సెటప్ 4 డెవలప్మెంట్ ఎన్విరాన్మెంట్
ఈ అధ్యాయం ESP32-C3 కోసం అధికారిక సాఫ్ట్వేర్ డెవలప్మెంట్ ఫ్రేమ్వర్క్ అయిన ESP-IDFపై దృష్టి పెడుతుంది. వివిధ ఆపరేటింగ్ సిస్టమ్లలో పర్యావరణాన్ని ఎలా సెటప్ చేయాలో మరియు ESP-IDF యొక్క ప్రాజెక్ట్ స్ట్రక్చర్ మరియు బిల్డ్ సిస్టమ్ను అలాగే సంబంధిత డెవలప్మెంట్ టూల్స్ వినియోగాన్ని ఎలా పరిచయం చేయాలో మేము వివరిస్తాము. అప్పుడు మేము మాజీ యొక్క కంపైలింగ్ మరియు రన్నింగ్ ప్రక్రియను ప్రదర్శిస్తాముample ప్రాజెక్ట్, ప్రతి సెలో అవుట్పుట్ లాగ్ యొక్క వివరణాత్మక వివరణను అందిస్తున్నప్పుడుtage.
4.1 ESP-IDF ఓవర్view
ESP-IDF (Espressif IoT డెవలప్మెంట్ ఫ్రేమ్వర్క్) అనేది Espressif టెక్నాలజీ అందించిన ఒక-స్టాప్ IoT డెవలప్మెంట్ ఫ్రేమ్వర్క్. ఇది C/C++ని ప్రధాన అభివృద్ధి భాషగా ఉపయోగిస్తుంది మరియు Linux, Mac మరియు Windows వంటి ప్రధాన స్రవంతి ఆపరేటింగ్ సిస్టమ్లలో క్రాస్-కంపైలేషన్కు మద్దతు ఇస్తుంది. మాజీampఈ పుస్తకంలో చేర్చబడిన le ప్రోగ్రామ్లు ESP-IDFని ఉపయోగించి అభివృద్ధి చేయబడ్డాయి, ఇది క్రింది లక్షణాలను అందిస్తుంది: · SoC సిస్టమ్-స్థాయి డ్రైవర్లు. ESP-IDFలో ESP32, ESP32-S2, ESP32-C3 కోసం డ్రైవర్లు ఉన్నాయి,
మరియు ఇతర చిప్స్. ఈ డ్రైవర్లు పరిధీయ తక్కువ స్థాయి (LL) లైబ్రరీ, హార్డ్వేర్ సంగ్రహణ లేయర్ (HAL) లైబ్రరీ, RTOS మద్దతు మరియు ఎగువ-పొర డ్రైవర్ సాఫ్ట్వేర్ మొదలైనవాటిని కలిగి ఉంటాయి. · ముఖ్యమైన భాగాలు. ESP-IDF IoT అభివృద్ధికి అవసరమైన ప్రాథమిక భాగాలను కలిగి ఉంటుంది. ఇందులో HTTP మరియు MQTT వంటి బహుళ నెట్వర్క్ ప్రోటోకాల్ స్టాక్లు, డైనమిక్ ఫ్రీక్వెన్సీ మాడ్యులేషన్తో కూడిన పవర్ మేనేజ్మెంట్ ఫ్రేమ్వర్క్ మరియు ఫ్లాష్ ఎన్క్రిప్షన్ మరియు సెక్యూర్ బూట్ వంటి ఫీచర్లు ఉన్నాయి. · అభివృద్ధి మరియు ఉత్పత్తి సాధనాలు. ESP-IDF అభివృద్ధి మరియు భారీ ఉత్పత్తి సమయంలో బిల్డింగ్, ఫ్లాష్ మరియు డీబగ్గింగ్ కోసం సాధారణంగా ఉపయోగించే సాధనాలను అందిస్తుంది (Figure 4.1 చూడండి), CMake ఆధారంగా నిర్మాణ వ్యవస్థ, GCC ఆధారంగా క్రాస్-కంపైలేషన్ టూల్ చైన్ మరియు JTAG OpenOCD, మొదలైన వాటిపై ఆధారపడిన డీబగ్గింగ్ సాధనం. ESP-IDF కోడ్ ప్రాథమికంగా Apache 2.0 ఓపెన్ సోర్స్ లైసెన్స్కు కట్టుబడి ఉంటుందని గమనించాలి. ఓపెన్ సోర్స్ లైసెన్స్ నిబంధనలకు అనుగుణంగా వినియోగదారులు పరిమితులు లేకుండా వ్యక్తిగత లేదా వాణిజ్య సాఫ్ట్వేర్ను అభివృద్ధి చేయవచ్చు. అదనంగా, సోర్స్ కోడ్లో ఏవైనా మార్పులు చేసినా ఓపెన్ సోర్స్ బాధ్యత లేకుండా వినియోగదారులకు శాశ్వత పేటెంట్ లైసెన్స్లు ఉచితంగా మంజూరు చేయబడతాయి.
31
చిత్రం 4.1.
బిల్డింగ్, ఫ్లాషింగ్ మరియు డీబగ్-
అభివృద్ధి మరియు భారీ ఉత్పత్తి కోసం ging టూల్స్
4.1.1 ESP-IDF సంస్కరణలు
ESP-IDF కోడ్ GitHubలో ఓపెన్ సోర్స్ ప్రాజెక్ట్గా హోస్ట్ చేయబడింది. ప్రస్తుతం, మూడు ప్రధాన సంస్కరణలు అందుబాటులో ఉన్నాయి: v3, v4 మరియు v5. ప్రతి ప్రధాన సంస్కరణ సాధారణంగా v4.2, v4.3 మరియు మొదలైన అనేక ఉప సంస్కరణలను కలిగి ఉంటుంది. Espressif సిస్టమ్స్ ప్రతి విడుదలైన ఉప-వెర్షన్కు బగ్ పరిష్కారాలు మరియు భద్రతా ప్యాచ్ల కోసం 30-నెలల మద్దతును నిర్ధారిస్తుంది. అందువల్ల, v4.3.1, v4.2.2, మొదలైన సబ్వర్షన్ల పునర్విమర్శలు కూడా క్రమం తప్పకుండా విడుదల చేయబడతాయి. టేబుల్ 4.1 ఎస్ప్రెస్సిఫ్ చిప్ల కోసం వివిధ ESP-IDF వెర్షన్ల మద్దతు స్థితిని చూపుతుంది, అవి ముందస్తుగా ఉన్నాయో లేదో సూచిస్తుంది.view stagఇ (ప్రీ కోసం మద్దతును అందిస్తోందిview సంస్కరణలు, నిర్దిష్ట లక్షణాలు లేదా డాక్యుమెంటేషన్ లేకపోవచ్చు) లేదా అధికారికంగా మద్దతివ్వబడతాయి.
పట్టిక 4.1. Espressif చిప్ల కోసం వివిధ ESP-IDF వెర్షన్ల మద్దతు స్థితి
సిరీస్ ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2
v4.1 మద్దతు ఉంది
v4.2 మద్దతు మద్దతు ఉంది
v4.3 మద్దతు మద్దతు మద్దతు మద్దతు
v4.4 మద్దతు మద్దతు మద్దతు మద్దతు మద్దతు
ముందుగాview
v5.0 మద్దతు మద్దతు మద్దతు మద్దతు మద్దతు మద్దతు ముందుview
32 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
ప్రధాన సంస్కరణల పునరావృతం తరచుగా ఫ్రేమ్వర్క్ నిర్మాణానికి సర్దుబాట్లు మరియు కంపైలేషన్ సిస్టమ్కు నవీకరణలను కలిగి ఉంటుంది. ఉదాహరణకుample, v3.* నుండి v4.*కి ప్రధాన మార్పు మేక్ నుండి CMakeకి బిల్డ్ సిస్టమ్ యొక్క క్రమంగా వలస. మరోవైపు, మైనర్ వెర్షన్ల పునరావృతం సాధారణంగా కొత్త ఫీచర్ల జోడింపు లేదా కొత్త చిప్లకు మద్దతునిస్తుంది.
స్థిరమైన సంస్కరణలు మరియు GitHub శాఖల మధ్య సంబంధాన్ని గుర్తించడం మరియు అర్థం చేసుకోవడం చాలా ముఖ్యం. v*.* లేదా v*.*.* అని లేబుల్ చేయబడిన సంస్కరణలు Espressif ద్వారా పూర్తి అంతర్గత పరీక్షలో ఉత్తీర్ణులైన స్థిరమైన సంస్కరణలను సూచిస్తాయి. ఒకసారి పరిష్కరించబడిన తర్వాత, అదే వెర్షన్ కోసం కోడ్, టూల్ చైన్ మరియు విడుదల పత్రాలు మారవు. అయినప్పటికీ, GitHub శాఖలు (ఉదా, విడుదల/v4.3 బ్రాంచ్) తరచుగా రోజువారీగా కోడ్ కమిట్లకు గురవుతాయి. అందువల్ల, ఒకే బ్రాంచ్లోని రెండు కోడ్ స్నిప్పెట్లు వేర్వేరుగా ఉండవచ్చు, డెవలపర్లు తదనుగుణంగా తమ కోడ్ను వెంటనే అప్డేట్ చేయడం అవసరం.
4.1.2 ESP-IDF Git వర్క్ఫ్లో
Espressif ESP-IDF కోసం నిర్దిష్ట Git వర్క్ఫ్లోను అనుసరిస్తుంది, ఈ క్రింది విధంగా వివరించబడింది:
· ప్రధాన అభివృద్ధి శాఖగా పనిచేసే మాస్టర్ బ్రాంచ్లో కొత్త మార్పులు చేయబడ్డాయి. మాస్టర్ బ్రాంచ్లోని ESP-IDF వెర్షన్ ఎల్లప్పుడూ -devని కలిగి ఉంటుంది tag ఇది ప్రస్తుతం అభివృద్ధిలో ఉందని సూచించడానికి, ఉదాహరణకు v4.3-dev. మాస్టర్ బ్రాంచ్లో మార్పులు ముందుగా తిరిగి ఉంటాయిviewed మరియు Espressif యొక్క అంతర్గత రిపోజిటరీలో పరీక్షించబడింది మరియు స్వయంచాలక పరీక్ష పూర్తయిన తర్వాత GitHubకి నెట్టబడింది.
· ఒక కొత్త వెర్షన్ మాస్టర్ బ్రాంచ్లో ఫీచర్ డెవలప్మెంట్ను పూర్తి చేసి, బీటా టెస్టింగ్లోకి ప్రవేశించే ప్రమాణాలను పూర్తి చేసిన తర్వాత, అది రిలీజ్/ v4.3 వంటి కొత్త బ్రాంచ్కి మారుతుంది. అదనంగా, ఈ కొత్త శాఖ tagv4.3-beta1 వంటి ప్రీ-రిలీజ్ వెర్షన్గా ged. డెవలపర్లు బ్రాంచ్ల పూర్తి జాబితాను యాక్సెస్ చేయడానికి GitHub ప్లాట్ఫారమ్ని చూడవచ్చు మరియు tags ESP-IDF కోసం. బీటా వెర్షన్ (ప్రీ-రిలీజ్ వెర్షన్) ఇప్పటికీ గణనీయ సంఖ్యలో తెలిసిన సమస్యలను కలిగి ఉండవచ్చని గమనించడం ముఖ్యం. బీటా వెర్షన్ నిరంతర పరీక్షలో ఉన్నందున, ఈ వెర్షన్ మరియు మాస్టర్ బ్రాంచ్ రెండింటికీ బగ్ పరిష్కారాలు ఏకకాలంలో జోడించబడతాయి. ఇంతలో, మాస్టర్ బ్రాంచ్ ఇప్పటికే తదుపరి వెర్షన్ కోసం కొత్త ఫీచర్లను అభివృద్ధి చేయడం ప్రారంభించి ఉండవచ్చు. పరీక్ష దాదాపు పూర్తయినప్పుడు, బ్రాంచ్కి విడుదల అభ్యర్థి (rc) లేబుల్ జోడించబడుతుంది, ఇది v4.3-rc1 వంటి అధికారిక విడుదలకు సంభావ్య అభ్యర్థి అని సూచిస్తుంది. ఈ సమయంలో ఎస్tagఇ, బ్రాంచ్ ప్రీ-రిలీజ్ వెర్షన్గా మిగిలిపోయింది.
· పెద్ద బగ్లు ఏవీ కనుగొనబడకపోతే లేదా నివేదించబడకపోతే, ప్రీ-రిలీజ్ వెర్షన్ చివరికి ప్రధాన వెర్షన్ లేబుల్ (ఉదా, v5.0) లేదా మైనర్ వెర్షన్ లేబుల్ (ఉదా, v4.3)ని పొందుతుంది మరియు ఇది అధికారిక విడుదల వెర్షన్ అవుతుంది, ఇది డాక్యుమెంట్ చేయబడింది విడుదల నోట్స్ పేజీలో. తదనంతరం, ఈ సంస్కరణలో గుర్తించబడిన ఏవైనా బగ్లు విడుదల శాఖలో పరిష్కరించబడతాయి. మాన్యువల్ టెస్టింగ్ పూర్తయిన తర్వాత, బ్రాంచ్కి బగ్-ఫిక్స్ వెర్షన్ లేబుల్ కేటాయించబడుతుంది (ఉదా, v4.3.2), ఇది రిలీజ్ నోట్స్ పేజీలో కూడా ప్రతిబింబిస్తుంది.
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 33
4.1.3 అనుకూలమైన సంస్కరణను ఎంచుకోవడం
ESP-IDF అధికారికంగా వెర్షన్ v32 నుండి ESP3-C4.3కి మద్దతు ఇవ్వడం ప్రారంభించింది మరియు ఈ పుస్తకాన్ని వ్రాసే సమయంలో v4.4 ఇంకా అధికారికంగా విడుదల కాలేదు, ఈ పుస్తకంలో ఉపయోగించబడిన సంస్కరణ v4.3.2, ఇది సవరించిన సంస్కరణ. v4.3. అయితే, మీరు ఈ పుస్తకాన్ని చదివే సమయానికి, v4.4 లేదా కొత్త వెర్షన్లు ఇప్పటికే అందుబాటులో ఉండవచ్చని గమనించడం ముఖ్యం. సంస్కరణను ఎంచుకున్నప్పుడు, మేము ఈ క్రింది వాటిని సిఫార్సు చేస్తున్నాము:
· ఎంట్రీ-లెవల్ డెవలపర్ల కోసం, స్థిరమైన v4.3 వెర్షన్ లేదా దాని సవరించిన సంస్కరణను ఎంచుకోవడం మంచిది, ఇది మాజీతో సమలేఖనం అవుతుందిampఈ పుస్తకంలో le వెర్షన్ ఉపయోగించబడింది.
· సామూహిక ఉత్పత్తి ప్రయోజనాల కోసం, అత్యంత తాజా సాంకేతిక మద్దతు నుండి ప్రయోజనం పొందడానికి తాజా స్థిరమైన సంస్కరణను ఉపయోగించమని సిఫార్సు చేయబడింది.
· మీరు కొత్త చిప్లతో ప్రయోగాలు చేయాలనుకుంటే లేదా కొత్త ఉత్పత్తి లక్షణాలను అన్వేషించాలనుకుంటే, దయచేసి మాస్టర్ బ్రాంచ్ని ఉపయోగించండి. తాజా సంస్కరణలో అన్ని తాజా ఫీచర్లు ఉన్నాయి, కానీ తెలిసిన లేదా తెలియని బగ్లు ఉండవచ్చని గుర్తుంచుకోండి.
· ఉపయోగించబడుతున్న స్థిరమైన సంస్కరణలో కావలసిన కొత్త ఫీచర్లు లేకుంటే మరియు మీరు మాస్టర్ బ్రాంచ్తో అనుబంధించబడిన నష్టాలను తగ్గించాలనుకుంటే, విడుదల/v4.4 బ్రాంచ్ వంటి సంబంధిత విడుదల శాఖను ఉపయోగించడాన్ని పరిగణించండి. Espressif యొక్క GitHub రిపోజిటరీ మొదట విడుదల/v4.4 శాఖను సృష్టిస్తుంది మరియు అన్ని ఫీచర్ డెవలప్మెంట్ మరియు టెస్టింగ్లను పూర్తి చేసిన తర్వాత, ఈ బ్రాంచ్ యొక్క నిర్దిష్ట హిస్టారికల్ స్నాప్షాట్ ఆధారంగా స్థిరమైన v4.4 వెర్షన్ను విడుదల చేస్తుంది.
4.1.4 పైగాview ESP-IDF SDK డైరెక్టరీ
ESP-IDF SDK రెండు ప్రధాన డైరెక్టరీలను కలిగి ఉంటుంది: esp-idf మరియు .espressif. మునుపటిది ESP-IDF రిపోజిటరీ యొక్క సోర్స్ కోడ్ను కలిగి ఉంది files మరియు కంపైలేషన్ స్క్రిప్ట్లు, రెండోది ప్రధానంగా కంపైలేషన్ టూల్ చెయిన్లు మరియు ఇతర సాఫ్ట్వేర్లను నిల్వ చేస్తుంది. ఈ రెండు డైరెక్టరీలతో పరిచయం డెవలపర్లు అందుబాటులో ఉన్న వనరులను బాగా ఉపయోగించుకోవడంలో మరియు అభివృద్ధి ప్రక్రియను వేగవంతం చేయడంలో సహాయపడుతుంది. ESP-IDF యొక్క డైరెక్టరీ నిర్మాణం క్రింద వివరించబడింది:
(1) ESP-IDF రిపోజిటరీ కోడ్ డైరెక్టరీ (/esp/esp-idf), మూర్తి 4.2లో చూపిన విధంగా.
a. కాంపోనెంట్ డైరెక్టరీ భాగాలు
ఈ కోర్ డైరెక్టరీ ESP-IDF యొక్క అనేక ముఖ్యమైన సాఫ్ట్వేర్ భాగాలను అనుసంధానిస్తుంది. ఈ డైరెక్టరీలోని భాగాలపై ఆధారపడకుండా ఏ ప్రాజెక్ట్ కోడ్ కంపైల్ చేయబడదు. ఇది వివిధ Espressif చిప్లకు డ్రైవర్ మద్దతును కలిగి ఉంటుంది. పెరిఫెరల్స్ కోసం LL లైబ్రరీ మరియు HAL లైబ్రరీ ఇంటర్ఫేస్ల నుండి ఎగువ-స్థాయి డ్రైవర్ మరియు వర్చువల్ వరకు File సిస్టమ్ (VFS) లేయర్ సపోర్ట్, డెవలపర్లు తమ అభివృద్ధి అవసరాల కోసం వివిధ స్థాయిలలో తగిన భాగాలను ఎంచుకోవచ్చు. ESP-IDF TCP/IP, HTTP, MQTT, వంటి బహుళ ప్రామాణిక నెట్వర్క్ ప్రోటోకాల్ స్టాక్లకు కూడా మద్దతు ఇస్తుంది. Webసాకెట్, మొదలైనవి డెవలపర్లు నెట్వర్క్ అప్లికేషన్లను రూపొందించడానికి సాకెట్ వంటి సుపరిచితమైన ఇంటర్ఫేస్లను ఉపయోగించుకోవచ్చు. భాగాలు సమగ్రతను అందిస్తాయి-
34 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
మూర్తి 4.2. ESP-IDF రిపోజిటరీ కోడ్ డైరెక్టరీ
sive కార్యాచరణ మరియు అప్లికేషన్లలో సులభంగా విలీనం చేయవచ్చు, డెవలపర్లు వ్యాపార తర్కంపై మాత్రమే దృష్టి పెట్టడానికి వీలు కల్పిస్తుంది. కొన్ని సాధారణ భాగాలు: · డ్రైవర్: ఈ భాగం వివిధ ఎస్ప్రెస్సిఫ్ కోసం పరిధీయ డ్రైవర్ ప్రోగ్రామ్లను కలిగి ఉంటుంది
GPIO, I2C, SPI, UART, LEDC (PWM) వంటి చిప్ సిరీస్లు. ఈ భాగంలోని పరిధీయ డ్రైవర్ ప్రోగ్రామ్లు చిప్-ఇండిపెండెంట్ అబ్స్ట్రాక్ట్ ఇంటర్ఫేస్లను అందిస్తాయి. ప్రతి పరిధీయానికి ఒక సాధారణ శీర్షిక ఉంటుంది file (gpio.h వంటివి), విభిన్న చిప్-నిర్దిష్ట మద్దతు ప్రశ్నలతో వ్యవహరించాల్సిన అవసరాన్ని తొలగిస్తుంది. · esp_wifi: Wi-Fi, ప్రత్యేక పరిధీయమైనదిగా, ప్రత్యేక భాగం వలె పరిగణించబడుతుంది. ఇది వివిధ Wi-Fi డ్రైవర్ మోడ్ల ప్రారంభీకరణ, పారామీటర్ కాన్ఫిగరేషన్ మరియు ఈవెంట్ ప్రాసెసింగ్ వంటి బహుళ APIలను కలిగి ఉంటుంది. ఈ భాగం యొక్క కొన్ని విధులు స్టాటిక్ లింక్ లైబ్రరీల రూపంలో అందించబడతాయి. ESP-IDF వాడుకలో సౌలభ్యం కోసం సమగ్ర డ్రైవర్ డాక్యుమెంటేషన్ను కూడా అందిస్తుంది.
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 35
· freertos: ఈ భాగం పూర్తి FreeRTOS కోడ్ని కలిగి ఉంది. ఈ ఆపరేటింగ్ సిస్టమ్కు సమగ్ర మద్దతును అందించడమే కాకుండా, ఎస్ప్రెస్సిఫ్ డ్యూయల్-కోర్ చిప్లకు తన మద్దతును కూడా విస్తరించింది. ESP32 మరియు ESP32-S3 వంటి డ్యూయల్-కోర్ చిప్ల కోసం, వినియోగదారులు నిర్దిష్ట కోర్లలో టాస్క్లను సృష్టించవచ్చు.
బి. డాక్యుమెంట్ డైరెక్టరీ డాక్స్
ఈ డైరెక్టరీలో గెట్ స్టార్ట్ గైడ్, API రిఫరెన్స్ మాన్యువల్, డెవలప్మెంట్ గైడ్ మొదలైన వాటితో సహా ESP-IDF సంబంధిత అభివృద్ధి పత్రాలు ఉన్నాయి.
గమనిక స్వయంచాలక సాధనాల ద్వారా సంకలనం చేయబడిన తర్వాత, ఈ డైరెక్టరీ యొక్క కంటెంట్లు https://docs.espressif.com/projects/esp-idfలో అమలు చేయబడతాయి. దయచేసి పత్రం లక్ష్యాన్ని ESP32-C3కి మార్చినట్లు నిర్ధారించుకోండి మరియు పేర్కొన్న ESP-IDF సంస్కరణను ఎంచుకోండి.
సి. స్క్రిప్ట్ టూల్ టూల్స్
ఈ డైరెక్టరీలో idf.py మరియు మానిటర్ టెర్మినల్ టూల్ idf_monitor.py వంటి సాధారణంగా ఉపయోగించే కంపైలేషన్ ఫ్రంట్-ఎండ్ టూల్స్ ఉన్నాయి. సబ్-డైరెక్టరీ cmake కోర్ స్క్రిప్ట్ను కూడా కలిగి ఉంటుంది. fileసంకలన వ్యవస్థ యొక్క లు, ESP-IDF సంకలన నియమాలను అమలు చేయడానికి పునాదిగా పనిచేస్తాయి. ఎన్విరాన్మెంట్ వేరియబుల్స్ను జోడించేటప్పుడు, టూల్స్ డైరెక్టరీలోని కంటెంట్లు సిస్టమ్ ఎన్విరాన్మెంట్ వేరియబుల్కు జోడించబడతాయి, ఇది ప్రాజెక్ట్ పాత్లో నేరుగా idf.pyని అమలు చేయడానికి అనుమతిస్తుంది.
డి. ఉదాample ప్రోగ్రామ్ డైరెక్టరీ exampలెస్
ఈ డైరెక్టరీ ESP-IDF మాజీ యొక్క విస్తారమైన సేకరణను కలిగి ఉందిampకాంపోనెంట్ APIల వినియోగాన్ని ప్రదర్శించే le ప్రోగ్రామ్లు. మాజీamples వారి వర్గాల ఆధారంగా వివిధ ఉప డైరెక్టరీలుగా నిర్వహించబడతాయి:
· ప్రారంభించండి: ఈ ఉప-డైరెక్టరీలో ఎంట్రీ-లెవల్ మాజీ ఉంటుందిampవినియోగదారులు ప్రాథమిక అంశాలను గ్రహించడంలో సహాయపడటానికి "హలో వరల్డ్" మరియు "బ్లింక్" వంటివి.
· బ్లూటూత్: మీరు బ్లూటూత్ సంబంధిత మాజీని కనుగొనవచ్చుampబ్లూటూత్ LE మెష్, బ్లూటూత్ LE HID, BluFi మరియు మరిన్నింటితో సహా ఇక్కడ ఉన్నాయి.
· wifi: ఈ ఉప-డైరెక్టరీ Wi-Fi ex పై దృష్టి పెడుతుందిamples, Wi-Fi SoftAP, Wi-Fi స్టేషన్, espnow, అలాగే యాజమాన్య కమ్యూనికేషన్ ప్రోటోకాల్ వంటి ప్రాథమిక ప్రోగ్రామ్లతో సహాampఎస్ప్రెస్సిఫ్ నుండి లెస్. ఇది బహుళ అప్లికేషన్ లేయర్ మాజీని కూడా కలిగి ఉంటుందిampIperf, Sniffer మరియు Smart Config వంటి Wi-Fi ఆధారంగా les.
· పెరిఫెరల్స్: ఈ విస్తృతమైన ఉప డైరెక్టరీ పరిధీయ పేర్ల ఆధారంగా అనేక ఉప ఫోల్డర్లుగా విభజించబడింది. ఇది ప్రధానంగా పరిధీయ డ్రైవర్ మాజీని కలిగి ఉంటుందిampఎస్ప్రెస్సిఫ్ చిప్స్ కోసం les, ప్రతి మాజీతోample అనేక ఉప-మాజీలను కలిగి ఉందిampలెస్. ఉదాహరణకు, gpio ఉప-డైరెక్టరీలో రెండు మాజీలు ఉన్నాయిamples: GPIO మరియు GPIO మ్యాట్రిక్స్ కీబోర్డ్. అందరూ మాజీ కాదు అని గమనించడం ముఖ్యంampఈ డైరెక్టరీలోని les ESP32-C3కి వర్తిస్తాయి.
36 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
ఉదాహరణకుample, మాజీampUSB/హోస్ట్లోని les USB హోస్ట్ హార్డ్వేర్ (ESP32-S3 వంటివి) ఉన్న పెరిఫెరల్స్కు మాత్రమే వర్తిస్తుంది మరియు ESP32-C3లో ఈ పెరిఫెరల్ లేదు. లక్ష్యాన్ని సెట్ చేసేటప్పుడు సంకలన వ్యవస్థ సాధారణంగా ప్రాంప్ట్లను అందిస్తుంది. README file ప్రతి మాజీample మద్దతు ఉన్న చిప్లను జాబితా చేస్తుంది. · ప్రోటోకాల్లు: ఈ ఉప-డైరెక్టరీలో exampMQTT, HTTP, HTTP సర్వర్, PPPoS, Modbus, mDNS, SNTPతో సహా వివిధ కమ్యూనికేషన్ ప్రోటోకాల్ల కోసం les, విస్తృత శ్రేణి కమ్యూనికేషన్ ప్రోటోకాల్ మాజీని కవర్ చేస్తుందిampIoT అభివృద్ధికి లెస్ అవసరం. · ప్రొవిజనింగ్: ఇక్కడ, మీరు ప్రొవిజనింగ్ మాజీని కనుగొంటారుampWi-Fi ప్రొవిజనింగ్ మరియు బ్లూటూత్ LE ప్రొవిజనింగ్ వంటి విభిన్న పద్ధతుల కోసం les. · సిస్టమ్: ఈ ఉప డైరెక్టరీలో సిస్టమ్ డీబగ్గింగ్ ఎక్స్amples (ఉదా, స్టాక్ ట్రేసింగ్, రన్టైమ్ ట్రేసింగ్, టాస్క్ మానిటరింగ్), పవర్ మేనేజ్మెంట్ ఎక్స్amples (ఉదా, వివిధ నిద్ర మోడ్లు, సహ-ప్రాసెసర్లు) మరియు ఉదాampకన్సోల్ టెర్మినల్, ఈవెంట్ లూప్ మరియు సిస్టమ్ టైమర్ వంటి సాధారణ సిస్టమ్ భాగాలకు సంబంధించిన les. · నిల్వ: ఈ ఉప డైరెక్టరీలో, మీరు మాజీని కనుగొంటారుampఅన్ని లెస్ file ESP-IDF (ఫ్లాష్, SD కార్డ్ మరియు ఇతర స్టోరేజ్ మీడియాను చదవడం మరియు వ్రాయడం వంటివి) మద్దతు ఇచ్చే సిస్టమ్లు మరియు స్టోరేజ్ మెకానిజమ్లు అలాగే మాజీampఅస్థిరత లేని నిల్వ (NVS), FatFS, SPIFFS మరియు ఇతర file సిస్టమ్ కార్యకలాపాలు. · భద్రత: ఈ ఉప డైరెక్టరీలో ఉదాampఫ్లాష్ ఎన్క్రిప్షన్కు సంబంధించినది. (2) ESP-IDF కంపైలేషన్ టూల్ చైన్ డైరెక్టరీ (/.espressif), మూర్తి 4.3లో చూపిన విధంగా.
మూర్తి 4.3. ESP-IDF కంపైలేషన్ టూల్ చైన్ డైరెక్టరీ
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 37
a. సాఫ్ట్వేర్ పంపిణీ డైరెక్టరీ జిల్లా
ESP-IDF టూల్ చైన్ మరియు ఇతర సాఫ్ట్వేర్ కంప్రెస్డ్ ప్యాకేజీల రూపంలో పంపిణీ చేయబడతాయి. ఇన్స్టాలేషన్ ప్రక్రియలో, ఇన్స్టాలేషన్ సాధనం మొదట కంప్రెస్డ్ ప్యాకేజీని డిస్ట్ డైరెక్టరీకి డౌన్లోడ్ చేస్తుంది, ఆపై దానిని పేర్కొన్న డైరెక్టరీకి ఎక్స్ట్రాక్ట్ చేస్తుంది. ఇన్స్టాలేషన్ పూర్తయిన తర్వాత, ఈ డైరెక్టరీలోని కంటెంట్లు సురక్షితంగా తీసివేయబడతాయి.
బి. పైథాన్ వర్చువల్ ఎన్విరాన్మెంట్ డైరెక్టరీ పైథాన్ env
ESP-IDF యొక్క విభిన్న సంస్కరణలు పైథాన్ ప్యాకేజీల నిర్దిష్ట సంస్కరణలపై ఆధారపడతాయి. ఈ ప్యాకేజీలను నేరుగా ఒకే హోస్ట్లో ఇన్స్టాల్ చేయడం వలన ప్యాకేజీ సంస్కరణల మధ్య వైరుధ్యాలు ఏర్పడవచ్చు. దీనిని పరిష్కరించడానికి, ESP-IDF వివిధ ప్యాకేజీ సంస్కరణలను వేరుచేయడానికి పైథాన్ వర్చువల్ పరిసరాలను ఉపయోగిస్తుంది. ఈ మెకానిజంతో, డెవలపర్లు ఒకే హోస్ట్లో ESP-IDF యొక్క బహుళ వెర్షన్లను ఇన్స్టాల్ చేయవచ్చు మరియు విభిన్న ఎన్విరాన్మెంట్ వేరియబుల్లను దిగుమతి చేయడం ద్వారా వాటి మధ్య సులభంగా మారవచ్చు.
సి. ESP-IDF కంపైలేషన్ టూల్ చైన్ డైరెక్టరీ టూల్స్
ఈ డైరెక్టరీ ప్రధానంగా ESP-IDF ప్రాజెక్ట్లను కంపైల్ చేయడానికి అవసరమైన CMake టూల్స్, Ninja బిల్డ్ టూల్స్ మరియు ఫైనల్ ఎక్జిక్యూటబుల్ ప్రోగ్రామ్ను రూపొందించే gcc టూల్ చైన్ వంటి క్రాస్-కంపైలేషన్ సాధనాలను కలిగి ఉంటుంది. అదనంగా, ఈ డైరెక్టరీ సంబంధిత హెడర్తో పాటు C/C++ భాష యొక్క ప్రామాణిక లైబ్రరీని కలిగి ఉంటుంది fileలు. ప్రోగ్రామ్ సిస్టమ్ హెడర్ను సూచిస్తే file ఇలా #చేర్చండి , కంపైలేషన్ టూల్ చైన్ stdio.hని గుర్తిస్తుంది file ఈ డైరెక్టరీ లోపల.
4.2 ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు
ESP-IDF అభివృద్ధి వాతావరణం Windows, Linux మరియు macOS వంటి ప్రధాన స్రవంతి ఆపరేటింగ్ సిస్టమ్లకు మద్దతు ఇస్తుంది. ప్రతి సిస్టమ్లో అభివృద్ధి వాతావరణాన్ని ఎలా సెటప్ చేయాలో ఈ విభాగం పరిచయం చేస్తుంది. Linux సిస్టమ్పై ESP32-C3ని అభివృద్ధి చేయాలని సిఫార్సు చేయబడింది, ఇది ఇక్కడ వివరంగా పరిచయం చేయబడుతుంది. అభివృద్ధి సాధనాల సారూప్యత కారణంగా ప్లాట్ఫారమ్ల అంతటా అనేక సూచనలు వర్తిస్తాయి. అందువల్ల, ఈ విభాగం యొక్క కంటెంట్ను జాగ్రత్తగా చదవమని సలహా ఇస్తారు.
గమనిక ఈ విభాగంలో పేర్కొన్న ఆదేశాలను అందించే https://bookc3.espressif.com/esp32c3లో అందుబాటులో ఉన్న ఆన్లైన్ పత్రాలను మీరు చూడవచ్చు.
4.2.1 Linuxలో ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ను ఏర్పాటు చేస్తోంది
ESP-IDF అభివృద్ధి పర్యావరణానికి అవసరమైన GNU అభివృద్ధి మరియు డీబగ్గింగ్ సాధనాలు Linux సిస్టమ్కు చెందినవి. అదనంగా, Linuxలోని కమాండ్-లైన్ టెర్మినల్ శక్తివంతమైనది మరియు వినియోగదారు-స్నేహపూర్వకమైనది, ఇది ESP32-C3 అభివృద్ధికి అనువైన ఎంపిక. నువ్వు చేయగలవు
38 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
మీ ప్రాధాన్య Linux పంపిణీని ఎంచుకోండి, కానీ ఉబుంటు లేదా ఇతర డెబియన్ ఆధారిత సిస్టమ్లను ఉపయోగించమని మేము సిఫార్సు చేస్తున్నాము. ఈ విభాగం ఉబుంటు 20.04లో ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ను సెటప్ చేయడంపై మార్గదర్శకత్వం అందిస్తుంది.
1. అవసరమైన ప్యాకేజీలను ఇన్స్టాల్ చేయండి
కొత్త టెర్మినల్ని తెరిచి, అవసరమైన అన్ని ప్యాకేజీలను ఇన్స్టాల్ చేయడానికి కింది ఆదేశాన్ని అమలు చేయండి. ఇప్పటికే ఇన్స్టాల్ చేయబడిన ప్యాకేజీలను కమాండ్ స్వయంచాలకంగా దాటవేస్తుంది.
$ sudo apt-get install git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
చిట్కాలు మీరు పై కమాండ్ కోసం అడ్మినిస్ట్రేటర్ ఖాతా మరియు పాస్వర్డ్ని ఉపయోగించాలి. డిఫాల్ట్గా, పాస్వర్డ్ను నమోదు చేసేటప్పుడు ఎటువంటి సమాచారం ప్రదర్శించబడదు. విధానాన్ని కొనసాగించడానికి “Enter” కీని నొక్కండి.
Git ESP-IDFలో కీలకమైన కోడ్ నిర్వహణ సాధనం. అభివృద్ధి వాతావరణాన్ని విజయవంతంగా సెటప్ చేసిన తర్వాత, మీరు git log ఆదేశాన్ని ఉపయోగించవచ్చు view ESP-IDF సృష్టించినప్పటి నుండి అన్ని కోడ్ మార్పులు చేయబడ్డాయి. అదనంగా, Git సంస్కరణ సమాచారాన్ని నిర్ధారించడానికి ESP-IDFలో కూడా ఉపయోగించబడుతుంది, ఇది నిర్దిష్ట సంస్కరణలకు సంబంధించిన సరైన సాధన గొలుసును ఇన్స్టాల్ చేయడానికి అవసరం. Gitతో పాటు, ఇతర ముఖ్యమైన సిస్టమ్ టూల్స్ పైథాన్ కూడా ఉన్నాయి. ESP-IDF పైథాన్లో వ్రాయబడిన అనేక ఆటోమేషన్ స్క్రిప్ట్లను పొందుపరిచింది. CMake, Ninja-build మరియు Ccache వంటి సాధనాలు C/C++ ప్రాజెక్ట్లలో విస్తృతంగా ఉపయోగించబడతాయి మరియు ESP-IDFలో డిఫాల్ట్ కోడ్ కంపైలేషన్ మరియు బిల్డింగ్ టూల్స్గా పనిచేస్తాయి. libusb-1.0-0 మరియు dfu-util USB సీరియల్ కమ్యూనికేషన్ మరియు ఫర్మ్వేర్ బర్నింగ్ కోసం ఉపయోగించే ప్రధాన డ్రైవర్లు. సాఫ్ట్వేర్ ప్యాకేజీలను ఇన్స్టాల్ చేసిన తర్వాత, మీరు ఆప్ట్ షోను ఉపయోగించవచ్చు ప్రతి ప్యాకేజీ యొక్క వివరణాత్మక వివరణలను పొందేందుకు ఆదేశం. ఉదాహరణకుample, Git సాధనం కోసం వివరణ సమాచారాన్ని ప్రింట్ చేయడానికి apt show gitని ఉపయోగించండి.
ప్ర: పైథాన్ వెర్షన్కు మద్దతు లేకుంటే ఏమి చేయాలి? A: ESP-IDF v4.3కి v3.6 కంటే తక్కువ లేని పైథాన్ వెర్షన్ అవసరం. ఉబుంటు యొక్క పాత సంస్కరణల కోసం, దయచేసి పైథాన్ యొక్క అధిక సంస్కరణను మాన్యువల్గా డౌన్లోడ్ చేసి, ఇన్స్టాల్ చేయండి మరియు Python3ని డిఫాల్ట్ పైథాన్ వాతావరణంగా సెట్ చేయండి. మీరు కీవర్డ్ update-alternatives python కోసం శోధించడం ద్వారా వివరణాత్మక సూచనలను కనుగొనవచ్చు.
2. ESP-IDF రిపోజిటరీ కోడ్ని డౌన్లోడ్ చేయండి
టెర్మినల్ను తెరిచి, mkdir ఆదేశాన్ని ఉపయోగించి మీ హోమ్ డైరెక్టరీలో esp అనే ఫోల్డర్ను సృష్టించండి. మీరు కావాలనుకుంటే ఫోల్డర్ కోసం వేరే పేరును ఎంచుకోవచ్చు. ఫోల్డర్లోకి ప్రవేశించడానికి cd ఆదేశాన్ని ఉపయోగించండి.
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 39
$ mkdir -p /esp $ cd /esp
క్రింద చూపిన విధంగా ESP-IDF రిపోజిటరీ కోడ్ను డౌన్లోడ్ చేయడానికి git క్లోన్ ఆదేశాన్ని ఉపయోగించండి:
$ git క్లోన్ -b v4.3.2 –రికర్సివ్ https://github.com/espressif/esp-idf.git
పై ఆదేశంలో, -b v4.3.2 పరామితి డౌన్లోడ్ చేయవలసిన సంస్కరణను నిర్దేశిస్తుంది (ఈ సందర్భంలో, వెర్షన్ 4.3.2). ESP-IDF యొక్క అన్ని ఉప-రిపోజిటరీలు పునరావృతంగా డౌన్లోడ్ చేయబడతాయని పరామితి-పునరావృత నిర్ధారిస్తుంది. ఉప-రిపోజిటరీల గురించిన సమాచారాన్ని .gitmodulesలో కనుగొనవచ్చు file.
3. ESP-IDF డెవలప్మెంట్ టూల్ చైన్ను ఇన్స్టాల్ చేయండి
Espressif టూల్ చైన్ని డౌన్లోడ్ చేసి, ఇన్స్టాల్ చేయడానికి ఆటోమేటెడ్ స్క్రిప్ట్ install.shని అందిస్తుంది. ఈ స్క్రిప్ట్ ప్రస్తుత ESP-IDF వెర్షన్ మరియు ఆపరేటింగ్ సిస్టమ్ ఎన్విరాన్మెంట్ను తనిఖీ చేస్తుంది, ఆపై పైథాన్ టూల్ ప్యాకేజీలు మరియు కంపైలేషన్ టూల్ చైన్ల యొక్క తగిన వెర్షన్ను డౌన్లోడ్ చేసి ఇన్స్టాల్ చేస్తుంది. టూల్ చైన్ కోసం డిఫాల్ట్ ఇన్స్టాలేషన్ మార్గం /.espressif. మీరు చేయాల్సిందల్లా esp-idf డైరెక్టరీకి నావిగేట్ చేసి, install.shని అమలు చేయడం.
$ cd /esp/esp-idf $ ./install.sh
మీరు సాధన గొలుసును విజయవంతంగా ఇన్స్టాల్ చేస్తే, టెర్మినల్ ప్రదర్శించబడుతుంది:
అన్నీ పూర్తయ్యాయి!
ఈ సమయంలో, మీరు ESP-IDF అభివృద్ధి వాతావరణాన్ని విజయవంతంగా సెటప్ చేసారు.
4.2.2 విండోస్లో ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ను సెటప్ చేస్తోంది
1. ESP-IDF టూల్స్ ఇన్స్టాలర్ను డౌన్లోడ్ చేయండి
చిట్కాలు Windows 10 లేదా అంతకంటే ఎక్కువ ఉన్న వాటిపై ESP-IDF అభివృద్ధి వాతావరణాన్ని సెటప్ చేయాలని సిఫార్సు చేయబడింది. మీరు https://dl.espressif.com/dl/esp-idf/ నుండి ఇన్స్టాలర్ను డౌన్లోడ్ చేసుకోవచ్చు. ఇన్స్టాలర్ కూడా ఓపెన్ సోర్స్ సాఫ్ట్వేర్ మరియు దాని సోర్స్ కోడ్ కావచ్చు viewed వద్ద https: //github.com/espressif/idf-installer.
· ఆన్లైన్ ESP-IDF టూల్స్ ఇన్స్టాలర్
ఈ ఇన్స్టాలర్ సాపేక్షంగా చిన్నది, దాదాపు 4 MB పరిమాణం ఉంటుంది మరియు ఇన్స్టాలేషన్ ప్రాసెస్ సమయంలో ఇతర ప్యాకేజీలు మరియు కోడ్ డౌన్లోడ్ చేయబడతాయి. అడ్వాన్tagఆన్లైన్ ఇన్స్టాలర్ యొక్క ఇ ఇన్స్టాలేషన్ ప్రక్రియలో సాఫ్ట్వేర్ ప్యాకేజీలు మరియు కోడ్లను డిమాండ్పై డౌన్లోడ్ చేయడమే కాకుండా, ESP-IDF యొక్క అందుబాటులో ఉన్న అన్ని విడుదలలు మరియు GitHub కోడ్ యొక్క తాజా శాఖ (మాస్టర్ బ్రాంచ్ వంటివి) ఇన్స్టాలేషన్ను కూడా అనుమతిస్తుంది. . ప్రతికూలతtage అంటే ఇన్స్టాలేషన్ ప్రాసెస్లో దీనికి నెట్వర్క్ కనెక్షన్ అవసరం, ఇది నెట్వర్క్ సమస్యల కారణంగా ఇన్స్టాలేషన్ వైఫల్యానికి కారణం కావచ్చు.
40 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
· ఆఫ్లైన్ ESP-IDF టూల్స్ ఇన్స్టాలర్ ఈ ఇన్స్టాలర్ పెద్దది, దాదాపు 1 GB పరిమాణంలో ఉంటుంది మరియు ఎన్విరాన్మెంట్ సెటప్ కోసం అవసరమైన అన్ని సాఫ్ట్వేర్ ప్యాకేజీలు మరియు కోడ్లను కలిగి ఉంటుంది. ప్రధాన అడ్వాన్tagఆఫ్లైన్ ఇన్స్టాలర్ యొక్క e ఇంటర్నెట్ యాక్సెస్ లేకుండా కంప్యూటర్లలో ఉపయోగించబడుతుంది మరియు సాధారణంగా ఇన్స్టాలేషన్ సక్సెస్ రేటు ఎక్కువగా ఉంటుంది. ఆఫ్లైన్ ఇన్స్టాలర్ v*.* లేదా v*.*.* ద్వారా గుర్తించబడిన ESP-IDF యొక్క స్థిరమైన విడుదలలను మాత్రమే ఇన్స్టాల్ చేయగలదని గమనించాలి.
2. ESP-IDF టూల్స్ ఇన్స్టాలర్ను అమలు చేయండి ఇన్స్టాలర్ యొక్క తగిన సంస్కరణను డౌన్లోడ్ చేసిన తర్వాత (ఉదా కోసం ESP-IDF టూల్స్ ఆఫ్లైన్ 4.3.2ని తీసుకోండిampఇక్కడ le), exeని డబుల్ క్లిక్ చేయండి file ESP-IDF ఇన్స్టాలేషన్ ఇంటర్ఫేస్ను ప్రారంభించడానికి. ఆఫ్లైన్ ఇన్స్టాలర్ని ఉపయోగించి ESP-IDF స్థిరమైన వెర్షన్ v4.3.2ని ఎలా ఇన్స్టాల్ చేయాలో క్రింది చూపిస్తుంది.
(1) మూర్తి 4.4లో చూపబడిన “సంస్థాపన భాషను ఎంచుకోండి” ఇంటర్ఫేస్లో, డ్రాప్-డౌన్ జాబితా నుండి ఉపయోగించాల్సిన భాషను ఎంచుకోండి.
మూర్తి 4.4. “ఇన్స్టాలేషన్ భాషను ఎంచుకోండి” ఇంటర్ఫేస్ (2) భాషను ఎంచుకున్న తర్వాత, “లైసెన్స్ ఒప్పందం” ఇంటర్ఫేస్ను పాప్ అప్ చేయడానికి “సరే” క్లిక్ చేయండి
(మూర్తి 4.5 చూడండి). ఇన్స్టాలేషన్ లైసెన్స్ ఒప్పందాన్ని జాగ్రత్తగా చదివిన తర్వాత, “నేను ఒప్పందాన్ని అంగీకరిస్తున్నాను” ఎంచుకుని, “తదుపరి” క్లిక్ చేయండి.
మూర్తి 4.5. “లైసెన్స్ ఒప్పందం” ఇంటర్ఫేస్ చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ సెటప్ 41
(3) రెview "ప్రీ-ఇన్స్టాలేషన్ సిస్టమ్ చెక్" ఇంటర్ఫేస్లో సిస్టమ్ కాన్ఫిగరేషన్ (మూర్తి 4.6 చూడండి). విండోస్ వెర్షన్ మరియు ఇన్స్టాల్ చేయబడిన యాంటీవైరస్ సాఫ్ట్వేర్ సమాచారాన్ని తనిఖీ చేయండి. అన్ని కాన్ఫిగరేషన్ అంశాలు సాధారణమైనట్లయితే "తదుపరి" క్లిక్ చేయండి. లేకపోతే, మీరు కీలక అంశాల ఆధారంగా పరిష్కారాల కోసం "పూర్తి లాగ్" క్లిక్ చేయవచ్చు.
మూర్తి 4.6. "ఇన్స్టాలేషన్కు ముందు సిస్టమ్ చెక్" ఇంటర్ఫేస్ టిప్స్
సహాయం కోసం మీరు https://github.com/espressif/idf-installer/issuesకు లాగ్లను సమర్పించవచ్చు. (4) ESP-IDF ఇన్స్టాలేషన్ డైరెక్టరీని ఎంచుకోండి. ఇక్కడ, చూపిన విధంగా D:/.espressif ఎంచుకోండి
మూర్తి 4.7, మరియు "తదుపరి" క్లిక్ చేయండి. దయచేసి ఇక్కడ .espressif దాచబడిన డైరెక్టరీ అని గమనించండి. సంస్థాపన పూర్తయిన తర్వాత, మీరు చేయవచ్చు view తెరవడం ద్వారా ఈ డైరెక్టరీలోని నిర్దిష్ట విషయాలు file నిర్వాహకుడు మరియు దాచిన అంశాలను ప్రదర్శించడం.
మూర్తి 4.7. ESP-IDF ఇన్స్టాలేషన్ డైరెక్టరీని ఎంచుకోండి 42 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర మార్గదర్శిని
(5) మూర్తి 4.8లో చూపిన విధంగా, ఇన్స్టాల్ చేయవలసిన భాగాలను తనిఖీ చేయండి. డిఫాల్ట్ ఎంపికను ఉపయోగించమని సిఫార్సు చేయబడింది, అనగా, సంస్థాపనను పూర్తి చేసి, ఆపై "తదుపరి" క్లిక్ చేయండి.
మూర్తి 4.8. ఇన్స్టాల్ చేయడానికి కాంపోనెంట్లను ఎంచుకోండి (6) ఇన్స్టాల్ చేయాల్సిన భాగాలను నిర్ధారించండి మరియు ఆటోమేటెడ్ ఇన్-ని ప్రారంభించడానికి "ఇన్స్టాల్" క్లిక్ చేయండి.
స్టాలేషన్ ప్రక్రియ, మూర్తి 4.9లో చూపిన విధంగా. ఇన్స్టాలేషన్ ప్రాసెస్ పది నిమిషాల పాటు కొనసాగవచ్చు మరియు ఇన్స్టాలేషన్ ప్రాసెస్ యొక్క ప్రోగ్రెస్ బార్ మూర్తి 4.10లో చూపబడింది. దయచేసి ఓపికగా వేచి ఉండండి.
మూర్తి 4.9. ఇన్స్టాలేషన్ కోసం సిద్ధమౌతోంది (7) ఇన్స్టాలేషన్ పూర్తయిన తర్వాత, “ESP-IDFని నమోదు చేయండి” అని తనిఖీ చేయాలని సిఫార్సు చేయబడింది.
యాంటీవైరస్ సాఫ్ట్వేర్ను తొలగించకుండా నిరోధించడానికి విండోస్ డిఫెండర్ మినహాయింపులుగా టూల్స్ ఎక్జిక్యూటబుల్స్…” fileలు. మినహాయింపు అంశాలను జోడించడం వలన యాంటీవైరస్ ద్వారా తరచుగా స్కాన్లను కూడా దాటవేయవచ్చు
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 43
మూర్తి 4.10. ఇన్స్టాలేషన్ ప్రోగ్రెస్ బార్ సాఫ్ట్వేర్, విండోస్ సిస్టమ్ యొక్క కోడ్ కంపైలేషన్ సామర్థ్యాన్ని బాగా మెరుగుపరుస్తుంది. మూర్తి 4.11లో చూపిన విధంగా డెవలప్మెంట్ ఎన్విరాన్మెంట్ యొక్క ఇన్స్టాలేషన్ను పూర్తి చేయడానికి "ముగించు" క్లిక్ చేయండి. మీరు "రన్ ESP-IDF పవర్షెల్ ఎన్విరాన్మెంట్" లేదా "రన్ ESP-IDF కమాండ్ ప్రాంప్ట్"ని ఎంచుకోవచ్చు. డెవలప్మెంట్ ఎన్విరాన్మెంట్ సాధారణంగా పనిచేస్తుందని నిర్ధారించుకోవడానికి ఇన్స్టాలేషన్ తర్వాత నేరుగా కంపైలేషన్ విండోను అమలు చేయండి.
మూర్తి 4.11. ఇన్స్టాలేషన్ పూర్తయింది (8) ప్రోగ్రామ్ లిస్ట్లో ఇన్స్టాల్ చేయబడిన డెవలప్మెంట్ ఎన్విరాన్మెంట్ తెరవండి (ESP-IDF 4.3
CMD లేదా ESP-IDF 4.3 PowerShell టెర్మినల్, మూర్తి 4.12లో చూపిన విధంగా), మరియు ESP-IDF ఎన్విరాన్మెంట్ వేరియబుల్ టెర్మినల్లో నడుస్తున్నప్పుడు స్వయంచాలకంగా జోడించబడతాయి. ఆ తర్వాత, మీరు ఆపరేషన్ల కోసం idf.py ఆదేశాన్ని ఉపయోగించవచ్చు. తెరవబడిన ESP-IDF 4.3 CMD మూర్తి 4.13లో చూపబడింది. 44 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
మూర్తి 4.12. అభివృద్ధి వాతావరణం వ్యవస్థాపించబడింది
మూర్తి 4.13. ESP-IDF 4.3 CMD
4.2.3 Macలో ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ను ఏర్పాటు చేయడం
Mac సిస్టమ్లో ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ను ఇన్స్టాల్ చేసే ప్రక్రియ Linux సిస్టమ్లో మాదిరిగానే ఉంటుంది. రిపోజిటరీ కోడ్ను డౌన్లోడ్ చేయడానికి మరియు టూల్ చైన్ను ఇన్స్టాల్ చేయడానికి ఆదేశాలు సరిగ్గా ఒకే విధంగా ఉంటాయి. డిపెండెన్సీ ప్యాకేజీలను ఇన్స్టాల్ చేయడానికి మాత్రమే ఆదేశాలు కొద్దిగా భిన్నంగా ఉంటాయి. 1. డిపెండెన్సీ ప్యాకేజీలను ఇన్స్టాల్ చేయండి టెర్మినల్ను తెరిచి, కింది ఆదేశాన్ని అమలు చేయడం ద్వారా పైథాన్ ప్యాకేజీ నిర్వహణ సాధనం పైప్ను ఇన్స్టాల్ చేయండి:
% sudo సులభమైన ఇన్స్టాల్ పిప్
కింది ఆదేశాన్ని అమలు చేయడం ద్వారా మాకోస్ కోసం ప్యాకేజీ నిర్వహణ సాధనం హోమ్బ్రూను ఇన్స్టాల్ చేయండి:
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
కింది ఆదేశాన్ని అమలు చేయడం ద్వారా అవసరమైన డిపెండెన్సీ ప్యాకేజీలను ఇన్స్టాల్ చేయండి:
% brew python3 cmake నింజా ccache dfu-utilని ఇన్స్టాల్ చేయండి
2. ESP-IDF రిపోజిటరీ కోడ్ని డౌన్లోడ్ చేయండి ESP-IDF రిపోజిటరీ కోడ్ను డౌన్లోడ్ చేయడానికి విభాగం 4.2.1లో అందించిన సూచనలను అనుసరించండి. Linux సిస్టమ్లో డౌన్లోడ్ చేయడానికి దశలు ఒకే విధంగా ఉంటాయి.
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 45
3. ESP-IDF డెవలప్మెంట్ టూల్ చైన్ను ఇన్స్టాల్ చేయండి
ESP-IDF డెవలప్మెంట్ టూల్ చైన్ను ఇన్స్టాల్ చేయడానికి విభాగం 4.2.1లో అందించిన సూచనలను అనుసరించండి. Linux సిస్టమ్లో ఇన్స్టాలేషన్ కోసం దశలు ఒకే విధంగా ఉంటాయి.
4.2.4 VS కోడ్ని ఇన్స్టాల్ చేస్తోంది
డిఫాల్ట్గా, ESP-IDF SDK కోడ్ ఎడిటింగ్ సాధనాన్ని కలిగి ఉండదు (Windows కోసం తాజా ESP-IDF ఇన్స్టాలర్ ESP-IDF ఎక్లిప్స్ని ఇన్స్టాల్ చేసే ఎంపికను అందిస్తుంది). మీరు కోడ్ను సవరించడానికి మీకు నచ్చిన ఏదైనా టెక్స్ట్ ఎడిటింగ్ సాధనాన్ని ఉపయోగించవచ్చు మరియు టెర్మినల్ ఆదేశాలను ఉపయోగించి దాన్ని కంపైల్ చేయవచ్చు.
ఒక ప్రసిద్ధ కోడ్ ఎడిటింగ్ సాధనం VS కోడ్ (విజువల్ స్టూడియో కోడ్), ఇది వినియోగదారు-స్నేహపూర్వక ఇంటర్ఫేస్తో ఉచిత మరియు ఫీచర్ రిచ్ కోడ్ ఎడిటర్. ఇది వివిధ అందిస్తుంది plugins ఇది కోడ్ నావిగేషన్, సింటాక్స్ హైలైటింగ్, Git వెర్షన్ నియంత్రణ మరియు టెర్మినల్ ఇంటిగ్రేషన్ వంటి కార్యాచరణలను అందిస్తుంది. అదనంగా, Espressif VS కోడ్ కోసం Espressif IDF అనే ప్రత్యేకమైన ప్లగిన్ను అభివృద్ధి చేసింది, ఇది ప్రాజెక్ట్ కాన్ఫిగరేషన్ మరియు డీబగ్గింగ్ను సులభతరం చేస్తుంది.
VS కోడ్లో ప్రస్తుత ఫోల్డర్ను త్వరగా తెరవడానికి మీరు టెర్మినల్లోని కోడ్ ఆదేశాన్ని ఉపయోగించవచ్చు. ప్రత్యామ్నాయంగా, మీరు VS కోడ్లో సిస్టమ్ డిఫాల్ట్ టెర్మినల్ కన్సోల్ను తెరవడానికి సత్వరమార్గం Ctrl+ని ఉపయోగించవచ్చు.
చిట్కాలు ESP32-C3 కోడ్ అభివృద్ధి కోసం VS కోడ్ని ఉపయోగించమని సిఫార్సు చేయబడింది. https://code.visualstudio.com/లో VS కోడ్ యొక్క తాజా వెర్షన్ను డౌన్లోడ్ చేసి, ఇన్స్టాల్ చేయండి.
4.2.5 థర్డ్-పార్టీ డెవలప్మెంట్ ఎన్విరాన్మెంట్స్ పరిచయం
ప్రాథమికంగా C భాషను ఉపయోగించే అధికారిక ESP-IDF అభివృద్ధి వాతావరణంతో పాటు, ESP32-C3 ఇతర ప్రధాన స్రవంతి ప్రోగ్రామింగ్ భాషలకు మరియు విస్తృత శ్రేణి థర్డ్-పార్టీ అభివృద్ధి వాతావరణాలకు కూడా మద్దతు ఇస్తుంది. కొన్ని ముఖ్యమైన ఎంపికలు ఉన్నాయి:
Arduino: హార్డ్వేర్ మరియు సాఫ్ట్వేర్ రెండింటికీ ఓపెన్ సోర్స్ ప్లాట్ఫారమ్, ESP32-C3తో సహా వివిధ మైక్రోకంట్రోలర్లకు మద్దతు ఇస్తుంది.
ఇది C++ భాషను ఉపయోగిస్తుంది మరియు సాధారణంగా Arduino భాషగా సూచించబడే సరళీకృత మరియు ప్రామాణిక APIని అందిస్తుంది. ఆర్డునో ప్రోటోటైప్ డెవలప్మెంట్ మరియు ఎడ్యుకేషనల్ సందర్భాలలో విస్తృతంగా ఉపయోగించబడుతుంది. ఇది ఒక ఎక్స్టెన్సిబుల్ సాఫ్ట్వేర్ ప్యాకేజీని మరియు సులభంగా కంపైలేషన్ మరియు ఫ్లాషింగ్ కోసం అనుమతించే IDEని అందిస్తుంది.
మైక్రోపైథాన్: ఎంబెడెడ్ మైక్రోకంట్రోలర్ ప్లాట్ఫారమ్లపై అమలు చేయడానికి రూపొందించబడిన పైథాన్ 3 భాషా వ్యాఖ్యాత.
సరళమైన స్క్రిప్ట్ భాషతో, ఇది నేరుగా ESP32-C3 యొక్క పరిధీయ వనరులు (UART, SPI మరియు I2C వంటివి) మరియు కమ్యూనికేషన్ ఫంక్షన్లను (Wi-Fi మరియు బ్లూటూత్ LE వంటివి) యాక్సెస్ చేయగలదు.
46 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
ఇది హార్డ్వేర్ పరస్పర చర్యను సులభతరం చేస్తుంది. మైక్రోపైథాన్, పైథాన్ యొక్క విస్తృతమైన గణిత ఆపరేషన్ లైబ్రరీతో కలిపి, ESP32-C3పై సంక్లిష్ట అల్గారిథమ్ల అమలును అనుమతిస్తుంది, AI- సంబంధిత అప్లికేషన్ల అభివృద్ధిని సులభతరం చేస్తుంది. స్క్రిప్ట్ భాషగా, పదే పదే సంకలనం అవసరం లేదు; సవరణలు చేయవచ్చు మరియు స్క్రిప్ట్లను నేరుగా అమలు చేయవచ్చు.
NodeMCU: ESP సిరీస్ చిప్ల కోసం అభివృద్ధి చేయబడిన LUA భాషా వ్యాఖ్యాత.
ఇది ESP చిప్ల యొక్క దాదాపు అన్ని పరిధీయ ఫంక్షన్లకు మద్దతు ఇస్తుంది మరియు MicroPython కంటే తేలికగా ఉంటుంది. MicroPython మాదిరిగానే, NodeMCU స్క్రిప్ట్ భాషని ఉపయోగిస్తుంది, ఇది పునరావృత సంకలన అవసరాన్ని తొలగిస్తుంది.
ఇంకా, ESP32-C3 NuttX మరియు Zephyr ఆపరేటింగ్ సిస్టమ్లకు కూడా మద్దతు ఇస్తుంది. NuttX అనేది నిజ-సమయ ఆపరేటింగ్ సిస్టమ్, ఇది POSIX-అనుకూల ఇంటర్ఫేస్లను అందిస్తుంది, అప్లికేషన్ పోర్టబిలిటీని మెరుగుపరుస్తుంది. Zephyr అనేది IoT అప్లికేషన్ల కోసం ప్రత్యేకంగా రూపొందించబడిన ఒక చిన్న నిజ-సమయ ఆపరేటింగ్ సిస్టమ్. ఇది IoT అభివృద్ధిలో అవసరమైన అనేక సాఫ్ట్వేర్ లైబ్రరీలను కలిగి ఉంది, క్రమంగా సమగ్ర సాఫ్ట్వేర్ పర్యావరణ వ్యవస్థగా అభివృద్ధి చెందుతుంది.
ఈ పుస్తకం పైన పేర్కొన్న అభివృద్ధి వాతావరణాల కోసం వివరణాత్మక ఇన్స్టాలేషన్ సూచనలను అందించదు. సంబంధిత డాక్యుమెంటేషన్ మరియు సూచనలను అనుసరించడం ద్వారా మీరు మీ అవసరాల ఆధారంగా అభివృద్ధి వాతావరణాన్ని ఇన్స్టాల్ చేయవచ్చు.
4.3 ESP-IDF కంపైలేషన్ సిస్టమ్
4.3.1 కంపైలేషన్ సిస్టమ్ యొక్క ప్రాథమిక అంశాలు
ESP-IDF ప్రాజెక్ట్ అనేది ఎంట్రీ ఫంక్షన్ మరియు బహుళ స్వతంత్ర ఫంక్షనల్ భాగాలతో కూడిన ప్రధాన ప్రోగ్రామ్ యొక్క సమాహారం. ఉదాహరణకుample, LED స్విచ్లను నియంత్రించే ప్రాజెక్ట్ ప్రధానంగా ఎంట్రీ ప్రోగ్రామ్ మెయిన్ మరియు GPIOని నియంత్రించే డ్రైవర్ కాంపోనెంట్ను కలిగి ఉంటుంది. మీరు LED రిమోట్ కంట్రోల్ని గ్రహించాలనుకుంటే, మీరు Wi-Fi, TCP/IP ప్రోటోకాల్ స్టాక్ మొదలైనవాటిని కూడా జోడించాలి.
కంపైలేషన్ సిస్టమ్ కంపైల్ చేయగలదు, లింక్ చేయగలదు మరియు ఎక్జిక్యూటబుల్ను రూపొందించగలదు fileబిల్డింగ్ నియమాల సమితి ద్వారా కోడ్ కోసం s (.bin). ESP-IDF v4.0 మరియు అంతకంటే ఎక్కువ సంస్కరణల సంకలన వ్యవస్థ డిఫాల్ట్గా CMakeపై ఆధారపడి ఉంటుంది మరియు కోడ్ యొక్క సంకలన ప్రవర్తనను నియంత్రించడానికి CMakeLists.txt సంకలన స్క్రిప్ట్ని ఉపయోగించవచ్చు. CMake యొక్క ప్రాథమిక సింటాక్స్కు మద్దతు ఇవ్వడంతో పాటు, ESP-IDF కంపైలేషన్ సిస్టమ్ డిఫాల్ట్ కంపైలేషన్ నియమాలు మరియు CMake ఫంక్షన్ల సమితిని కూడా నిర్వచిస్తుంది మరియు మీరు సాధారణ స్టేట్మెంట్లతో కంపైలేషన్ స్క్రిప్ట్ను వ్రాయవచ్చు.
4.3.2 ప్రాజెక్ట్ File నిర్మాణం
ప్రాజెక్ట్ అనేది ఎంట్రీ ప్రోగ్రామ్ మెయిన్, యూజర్-డిఫైన్డ్ కాంపోనెంట్లను కలిగి ఉండే ఫోల్డర్ fileకంపైలేషన్ స్క్రిప్ట్లు, కాన్ఫిగరేషన్ వంటి ఎక్జిక్యూటబుల్ అప్లికేషన్లను రూపొందించడానికి s అవసరం
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 47
fileలు, విభజన పట్టికలు మొదలైనవి. ప్రాజెక్ట్లను కాపీ చేయవచ్చు మరియు పాస్ చేయవచ్చు మరియు అదే ఎక్జిక్యూటబుల్ file ESP-IDF డెవలప్మెంట్ ఎన్విరాన్మెంట్ యొక్క అదే వెర్షన్తో మెషీన్లలో కంపైల్ చేయవచ్చు మరియు ఉత్పత్తి చేయవచ్చు. ఒక సాధారణ ESP-IDF ప్రాజెక్ట్ file నిర్మాణం మూర్తి 4.14లో చూపబడింది.
మూర్తి 4.14. సాధారణ ESP-IDF ప్రాజెక్ట్ file ESP-IDF ESP32, ESP32-S సిరీస్, ESP32-C సిరీస్, ESP32-H సిరీస్ మొదలైన వాటితో సహా ఎస్ప్రెస్సిఫ్ నుండి బహుళ IoT చిప్లకు మద్దతు ఇస్తుంది కాబట్టి, కోడ్ను కంపైల్ చేయడానికి ముందు లక్ష్యాన్ని నిర్ణయించడం అవసరం. అప్లికేషన్ ప్రోగ్రామ్ను అమలు చేసే హార్డ్వేర్ పరికరం మరియు కంపైలేషన్ సిస్టమ్ యొక్క బిల్డ్ టార్గెట్ రెండూ టార్గెట్. మీ అవసరాలను బట్టి, మీరు మీ ప్రాజెక్ట్ కోసం ఒకటి లేదా అంతకంటే ఎక్కువ లక్ష్యాలను పేర్కొనవచ్చు. ఉదాహరణకుample, idf.py సెట్-టార్గెట్ esp32c3 కమాండ్ ద్వారా, మీరు సంకలన లక్ష్యాన్ని ESP32-C3కి సెట్ చేయవచ్చు, ఈ సమయంలో ESP32C3 కోసం డిఫాల్ట్ పారామితులు మరియు కంపైలేషన్ టూల్ చైన్ పాత్ లోడ్ చేయబడతాయి. సంకలనం తర్వాత, ESP32C3 కోసం ఎక్జిక్యూటబుల్ ప్రోగ్రామ్ను రూపొందించవచ్చు. మీరు వేరొక లక్ష్యాన్ని సెట్ చేయడానికి సెట్-టార్గెట్ కమాండ్ను మళ్లీ అమలు చేయవచ్చు మరియు కంపైలేషన్ సిస్టమ్ స్వయంచాలకంగా శుభ్రపరుస్తుంది మరియు మళ్లీ ఆకృతీకరించబడుతుంది. భాగాలు
ESP-IDFలోని భాగాలు కంపైలేషన్ సిస్టమ్లో నిర్వహించబడే మాడ్యులర్ మరియు స్వతంత్ర కోడ్ యూనిట్లు. అవి ఫోల్డర్లుగా నిర్వహించబడతాయి, ఫోల్డర్ పేరు డిఫాల్ట్గా కాంపోనెంట్ పేరును సూచిస్తుంది. ప్రతి భాగం దాని స్వంత సంకలన స్క్రిప్ట్ను కలిగి ఉంటుంది, ఇది 48 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర మార్గదర్శి
దాని సంకలన పారామితులు మరియు డిపెండెన్సీలను నిర్దేశిస్తుంది. సంకలన ప్రక్రియలో, భాగాలు ప్రత్యేక స్టాటిక్ లైబ్రరీలుగా సంకలనం చేయబడతాయి (.a files) మరియు చివరికి అప్లికేషన్ ప్రోగ్రామ్ను రూపొందించడానికి ఇతర భాగాలతో కలిపి.
ESP-IDF ఆపరేటింగ్ సిస్టమ్, పెరిఫెరల్ డ్రైవర్లు మరియు నెట్వర్క్ ప్రోటోకాల్ స్టాక్ వంటి ముఖ్యమైన ఫంక్షన్లను కాంపోనెంట్ల రూపంలో అందిస్తుంది. ఈ భాగాలు ESP-IDF రూట్ డైరెక్టరీలో ఉన్న భాగాల డైరెక్టరీలో నిల్వ చేయబడతాయి. డెవలపర్లు ఈ భాగాలను myProject యొక్క భాగాల డైరెక్టరీకి కాపీ చేయవలసిన అవసరం లేదు. బదులుగా, వారు ప్రాజెక్ట్ యొక్క CMakeLists.txtలో ఈ భాగాల యొక్క డిపెండెన్సీ సంబంధాలను మాత్రమే పేర్కొనాలి file REQUIRES లేదా PRIV_REQUIRES ఆదేశాలను ఉపయోగించడం. కంపైలేషన్ సిస్టమ్ స్వయంచాలకంగా అవసరమైన భాగాలను గుర్తించి, కంపైల్ చేస్తుంది.
కాబట్టి, myProject క్రింద భాగాలు డైరెక్టరీ అవసరం లేదు. ఇది ప్రాజెక్ట్ యొక్క కొన్ని అనుకూల భాగాలను చేర్చడానికి మాత్రమే ఉపయోగించబడుతుంది, ఇది మూడవ పార్టీ లైబ్రరీలు లేదా వినియోగదారు నిర్వచించిన కోడ్ కావచ్చు. అదనంగా, భాగాలు ESP-IDF లేదా మరొక డైరెక్టరీలో సేవ్ చేయబడిన ఓపెన్-సోర్స్ ప్రాజెక్ట్ వంటి ప్రస్తుత ప్రాజెక్ట్ నుండి కాకుండా ఏదైనా డైరెక్టరీ నుండి సోర్స్ చేయబడతాయి. ఈ సందర్భంలో, మీరు రూట్ డైరెక్టరీ క్రింద CMakeLists.txtలో EXTRA_COMPONENT_DIRS వేరియబుల్ని సెట్ చేయడం ద్వారా మాత్రమే భాగం యొక్క మార్గాన్ని జోడించాలి. ఈ డైరెక్టరీ అదే పేరుతో ఏదైనా ESP-IDF కాంపోనెంట్ను భర్తీ చేస్తుంది, సరైన కాంపోనెంట్ ఉపయోగించబడిందని నిర్ధారిస్తుంది.
ఎంట్రీ ప్రోగ్రామ్ మెయిన్ ప్రాజెక్ట్లోని ప్రధాన డైరెక్టరీ అదే అనుసరిస్తుంది file ఇతర భాగాలుగా నిర్మాణం (ఉదా, భాగం1). ఏది ఏమైనప్పటికీ, ఇది ప్రతి ప్రాజెక్ట్లో తప్పనిసరిగా ఉండే తప్పనిసరి భాగం కాబట్టి దీనికి ప్రత్యేక ప్రాముఖ్యత ఉంది. ప్రధాన డైరెక్టరీ ప్రాజెక్ట్ యొక్క సోర్స్ కోడ్ మరియు వినియోగదారు ప్రోగ్రామ్ యొక్క ఎంట్రీ పాయింట్ను కలిగి ఉంటుంది, సాధారణంగా app_main అని పేరు పెట్టబడుతుంది. డిఫాల్ట్గా, వినియోగదారు ప్రోగ్రామ్ యొక్క అమలు ఈ ఎంట్రీ పాయింట్ నుండి ప్రారంభమవుతుంది. ప్రధాన భాగం కూడా విభిన్నంగా ఉంటుంది, ఇది శోధన మార్గంలోని అన్ని భాగాలపై స్వయంచాలకంగా ఆధారపడి ఉంటుంది. కాబట్టి, CMakeLists.txtలో REQUIRES లేదా PRIV_REQUIRES ఆదేశాలను ఉపయోగించి డిపెండెన్సీలను స్పష్టంగా సూచించాల్సిన అవసరం లేదు. file.
ఆకృతీకరణ file ప్రాజెక్ట్ యొక్క రూట్ డైరెక్టరీ కాన్ఫిగరేషన్ను కలిగి ఉంది file sdkconfig అని పిలుస్తారు, ఇది ప్రాజెక్ట్లోని అన్ని భాగాల కోసం కాన్ఫిగరేషన్ పారామితులను కలిగి ఉంటుంది. sdkconfig file కంపైలేషన్ సిస్టమ్ ద్వారా స్వయంచాలకంగా ఉత్పత్తి చేయబడుతుంది మరియు idf.py menuconfig కమాండ్ ద్వారా సవరించబడుతుంది మరియు పునరుత్పత్తి చేయబడుతుంది. menuconfig ఎంపికలు ప్రధానంగా ప్రాజెక్ట్ యొక్క Kconfig.projbuild మరియు భాగాల Kconfig నుండి ఉద్భవించాయి. కాంపోనెంట్ డెవలపర్లు సాధారణంగా కాంపోనెంట్ను ఫ్లెక్సిబుల్ మరియు కాన్ఫిగర్ చేయడానికి Kconfigలో కాన్ఫిగరేషన్ ఐటెమ్లను జోడిస్తారు.
బిల్డ్ డైరెక్టరీ డిఫాల్ట్గా, ప్రాజెక్ట్ స్టోర్లలోని బిల్డ్ డైరెక్టరీ ఇంటర్మీడియట్ files మరియు ఫి-
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 49
idf.py బిల్డ్ కమాండ్ ద్వారా రూపొందించబడిన nal ఎక్జిక్యూటబుల్ ప్రోగ్రామ్లు. సాధారణంగా, బిల్డ్ డైరెక్టరీలోని కంటెంట్లను నేరుగా యాక్సెస్ చేయవలసిన అవసరం లేదు. సంకలనం చేయబడిన బైనరీని స్వయంచాలకంగా గుర్తించడానికి idf.py ఫ్లాష్ కమాండ్ను ఉపయోగించడం వంటి డైరెక్టరీతో పరస్పర చర్య చేయడానికి ESP-IDF ముందే నిర్వచించిన ఆదేశాలను అందిస్తుంది. file మరియు దానిని పేర్కొన్న ఫ్లాష్ చిరునామాకు ఫ్లాష్ చేయండి లేదా idf.py fullclean ఆదేశాన్ని ఉపయోగించి మొత్తం బిల్డ్ డైరెక్టరీని శుభ్రం చేయండి.
విభజన పట్టిక (partitions.csv) ప్రతి ప్రాజెక్ట్కు ఫ్లాష్ స్థలాన్ని విభజించడానికి మరియు ఎక్జిక్యూటబుల్ ప్రోగ్రామ్ మరియు వినియోగదారు డేటా స్థలం యొక్క పరిమాణం మరియు ప్రారంభ చిరునామాను పేర్కొనడానికి విభజన పట్టిక అవసరం. కమాండ్ idf.py ఫ్లాష్ లేదా OTA అప్గ్రేడ్ ప్రోగ్రామ్ ఈ పట్టిక ప్రకారం సంబంధిత చిరునామాకు ఫర్మ్వేర్ను ఫ్లాష్ చేస్తుంది. ESP-IDF అనేక డిఫాల్ట్ విభజన పట్టికలను భాగాలు/ partition_tableలో అందిస్తుంది, ఉదాహరణకు partitions_singleapp.csv మరియు partitions_two_ ota.csv, వీటిని మెనుకాన్ఫిగ్లో ఎంచుకోవచ్చు.
సిస్టమ్ యొక్క డిఫాల్ట్ విభజన పట్టిక ప్రాజెక్ట్ యొక్క అవసరాలను తీర్చలేకపోతే, కస్టమ్ partitions.csv ప్రాజెక్ట్ డైరెక్టరీకి జోడించబడుతుంది మరియు menuconfigలో ఎంచుకోబడుతుంది.
4.3.3 కంపైలేషన్ సిస్టమ్ యొక్క డిఫాల్ట్ బిల్డ్ రూల్స్
అదే పేరుతో కాంపోనెంట్లను భర్తీ చేయడానికి నియమాలు కాంపోనెంట్ శోధన ప్రక్రియలో, కంపైలేషన్ సిస్టమ్ నిర్దిష్ట క్రమాన్ని అనుసరిస్తుంది. ఇది మొదట ESP-IDF యొక్క అంతర్గత భాగాల కోసం శోధిస్తుంది, ఆపై వినియోగదారు ప్రాజెక్ట్ యొక్క భాగాల కోసం వెతుకుతుంది మరియు చివరకు EXTRA_COMPONENT_DIRSలోని భాగాల కోసం శోధిస్తుంది. బహుళ డైరెక్టరీలు ఒకే పేరుతో భాగాలను కలిగి ఉన్న సందర్భాల్లో, చివరి డైరెక్టరీలో కనుగొనబడిన కాంపోనెంట్ అదే పేరుతో ఏదైనా మునుపటి భాగాలను భర్తీ చేస్తుంది. ఈ నియమం వినియోగదారు ప్రాజెక్ట్లోని ESP-IDF భాగాలను అనుకూలీకరించడానికి అనుమతిస్తుంది, అయితే అసలు ESP-IDF కోడ్ను అలాగే ఉంచుతుంది.
డిఫాల్ట్గా సాధారణ భాగాలను చేర్చడానికి నియమాలు విభాగం 4.3.2లో పేర్కొన్నట్లుగా, CMakeLists.txtలోని ఇతర భాగాలపై కాంపోనెంట్లు వాటి డిపెండెన్సీలను స్పష్టంగా పేర్కొనాలి. అయినప్పటికీ, ఫ్రీర్టోస్ వంటి సాధారణ భాగాలు స్వయంచాలకంగా బిల్డ్ సిస్టమ్లో డిఫాల్ట్గా చేర్చబడతాయి, వాటి డిపెండెన్సీ సంబంధాలు సంకలన స్క్రిప్ట్లో స్పష్టంగా నిర్వచించబడనప్పటికీ. ESP-IDF సాధారణ భాగాలలో freertos, Newlib, heap, log, soc, esp_rom, esp_common, xtensa/riscv మరియు cxx ఉన్నాయి. ఈ సాధారణ భాగాలను ఉపయోగించడం వలన CMakeLists.txt వ్రాసేటప్పుడు పునరావృతమయ్యే పనిని నివారించవచ్చు మరియు దానిని మరింత సంక్షిప్తంగా చేస్తుంది.
కాన్ఫిగరేషన్ ఐటెమ్లను భర్తీ చేయడానికి నియమాలు డెవలపర్లు డిఫాల్ట్ కాన్ఫిగరేషన్ని జోడించడం ద్వారా డిఫాల్ట్ కాన్ఫిగరేషన్ పారామితులను జోడించవచ్చు file ప్రాజెక్ట్కు sdkconfig.defaults అని పేరు పెట్టారు. ఉదాహరణకుample, CONFIG_LOG_ జోడిస్తోంది
50 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
DEFAULT_LEVEL_NONE = y డిఫాల్ట్గా లాగ్ డేటాను ప్రింట్ చేయకుండా UART ఇంటర్ఫేస్ను కాన్ఫిగర్ చేయవచ్చు. ఇంకా, నిర్దిష్ట లక్ష్యం కోసం నిర్దిష్ట పారామితులను సెట్ చేయవలసి వస్తే, ఒక కాన్ఫిగరేషన్ file పేరు sdkconfig.defaults.TARGET_NAME జోడించబడవచ్చు, ఇక్కడ TARGET_NAME esp32s2, esp32c3 మరియు మొదలైనవి కావచ్చు. ఈ కాన్ఫిగరేషన్ fileసాధారణ డిఫాల్ట్ కాన్ఫిగరేషన్తో సంకలనం సమయంలో లు sdkconfigలోకి దిగుమతి చేయబడతాయి file sdkconfig.defaults ముందుగా దిగుమతి చేయబడుతున్నాయి, తరువాత లక్ష్య-నిర్దిష్ట కాన్ఫిగరేషన్ file, sdkconfig.defaults.esp32c3 వంటివి. అదే పేరుతో కాన్ఫిగరేషన్ ఐటెమ్లు ఉన్న సందర్భాల్లో, రెండోది కాన్ఫిగరేషన్ file మునుపటిని అధిగమిస్తుంది.
4.3.4 కంపైలేషన్ స్క్రిప్ట్కు పరిచయం
ESP-IDFని ఉపయోగించి ప్రాజెక్ట్ను అభివృద్ధి చేస్తున్నప్పుడు, డెవలపర్లు సోర్స్ కోడ్ను వ్రాయడమే కాకుండా ప్రాజెక్ట్ మరియు భాగాల కోసం CMakeLists.txtని కూడా వ్రాయవలసి ఉంటుంది. CMakeLists.txt అనేది ఒక వచనం file, కంపైలేషన్ స్క్రిప్ట్ అని కూడా పిలుస్తారు, ఇది సంకలన వస్తువులు, సంకలన కాన్ఫిగరేషన్ అంశాలు మరియు సోర్స్ కోడ్ యొక్క సంకలన ప్రక్రియకు మార్గనిర్దేశం చేసే ఆదేశాల శ్రేణిని నిర్వచిస్తుంది. ESP-IDF v4.3.2 యొక్క కంపైలేషన్ సిస్టమ్ CMake ఆధారంగా రూపొందించబడింది. స్థానిక CMake ఫంక్షన్లు మరియు ఆదేశాలకు మద్దతు ఇవ్వడంతో పాటు, ఇది కస్టమ్ ఫంక్షన్ల శ్రేణిని కూడా నిర్వచిస్తుంది, ఇది కంపైలేషన్ స్క్రిప్ట్లను వ్రాయడం చాలా సులభం చేస్తుంది.
ESP-IDFలోని కంపైలేషన్ స్క్రిప్ట్లు ప్రధానంగా ప్రాజెక్ట్ కంపైలేషన్ స్క్రిప్ట్ మరియు కాంపోనెంట్ కంపైలేషన్ స్క్రిప్ట్లను కలిగి ఉంటాయి. ప్రాజెక్ట్ యొక్క రూట్ డైరెక్టరీలోని CMakeLists.txtని ప్రాజెక్ట్ కంపైలేషన్ స్క్రిప్ట్ అంటారు, ఇది మొత్తం ప్రాజెక్ట్ యొక్క సంకలన ప్రక్రియకు మార్గనిర్దేశం చేస్తుంది. ప్రాథమిక ప్రాజెక్ట్ కంపైలేషన్ స్క్రిప్ట్ సాధారణంగా క్రింది మూడు లైన్లను కలిగి ఉంటుంది:
1. cmake_minimum_required(VERSION 3.5) 2. ($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. ప్రాజెక్ట్(myProject)
వాటిలో, cmake_minimum_required (VERSION 3.5) తప్పనిసరిగా మొదటి పంక్తిలో ఉంచాలి, ఇది ప్రాజెక్ట్కి అవసరమైన కనీస CMake సంస్కరణ సంఖ్యను సూచించడానికి ఉపయోగించబడుతుంది. CMake యొక్క కొత్త సంస్కరణలు సాధారణంగా పాత సంస్కరణలతో వెనుకకు అనుకూలంగా ఉంటాయి, కాబట్టి అనుకూలతను నిర్ధారించడానికి కొత్త CMake ఆదేశాలను ఉపయోగిస్తున్నప్పుడు తదనుగుణంగా సంస్కరణ సంఖ్యను సర్దుబాటు చేయండి.
($ENV {IDF_PATH}/tools/cmake/project.cmake) సెక్షన్ 4.3.3లో వివరించిన కంపైలేషన్ సిస్టమ్ యొక్క డిఫాల్ట్ బిల్డ్ నియమాలతో సహా ESP-IDF కంపైలేషన్ సిస్టమ్ యొక్క ముందే నిర్వచించబడిన కాన్ఫిగరేషన్ అంశాలు మరియు ఆదేశాలను దిగుమతి చేస్తుంది. ప్రాజెక్ట్ (myProject) ప్రాజెక్ట్ను స్వయంగా సృష్టిస్తుంది మరియు దాని పేరును నిర్దేశిస్తుంది. ఈ పేరు తుది అవుట్పుట్ బైనరీగా ఉపయోగించబడుతుంది file పేరు, అనగా myProject.elf మరియు myProject.bin.
ఒక ప్రాజెక్ట్ ప్రధాన భాగంతో సహా బహుళ భాగాలను కలిగి ఉంటుంది. ప్రతి భాగం యొక్క అగ్ర-స్థాయి డైరెక్టరీ CMakeLists.txtని కలిగి ఉంటుంది file, దీనిని కాంపోనెంట్ కంపైలేషన్ స్క్రిప్ట్ అంటారు. కాంపోనెంట్ కంపైలేషన్ స్క్రిప్ట్లు ప్రధానంగా కాంపోనెంట్ డిపెండెన్సీలు, కాన్ఫిగరేషన్ పారామితులు, సోర్స్ కోడ్ను పేర్కొనడానికి ఉపయోగించబడతాయి. files, మరియు హెడర్ చేర్చబడింది fileకోసం లు
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 51
సంగ్రహం. ESP-IDF కస్టమ్ ఫంక్షన్ idf_component_registerతో, కాంపోనెంట్ కంపైలేషన్ స్క్రిప్ట్కి అవసరమైన కనీస కోడ్ క్రింది విధంగా ఉంటుంది:
1. idf_component_register(SRCS “src1.c”
2.
INCLUDE_DIRS "చేర్చండి"
3.
భాగం అవసరం1)
SRCS పరామితి మూలం యొక్క జాబితాను అందిస్తుంది fileకాంపోనెంట్లో s, బహుళ ఉంటే ఖాళీల ద్వారా వేరు చేయబడుతుంది fileలు. INCLUDE_DIRS పరామితి పబ్లిక్ హెడర్ జాబితాను అందిస్తుంది file కాంపోనెంట్ కోసం డైరెక్టరీలు, ప్రస్తుత కాంపోనెంట్పై ఆధారపడిన ఇతర భాగాల కోసం చేర్చబడిన శోధన మార్గానికి జోడించబడతాయి. REQUIRES పరామితి ప్రస్తుత భాగం కోసం పబ్లిక్ కాంపోనెంట్ డిపెండెన్సీలను గుర్తిస్తుంది. కాంపోనెంట్లు కాంపోనెంట్2పై ఆధారపడి కాంపోనెంట్1 వంటి వాటిపై ఆధారపడిన భాగాలను స్పష్టంగా పేర్కొనడం అవసరం. అయినప్పటికీ, డిఫాల్ట్గా అన్ని భాగాలపై ఆధారపడి ఉండే ప్రధాన భాగం కోసం, REQUIRES పరామితిని విస్మరించవచ్చు.
అదనంగా, కంపైలేషన్ స్క్రిప్ట్లో స్థానిక CMake ఆదేశాలను కూడా ఉపయోగించవచ్చు. ఉదాహరణకుample, సెట్ (VARIABLE “VALUE”) వంటి వేరియబుల్లను సెట్ చేయడానికి కమాండ్ సెట్ని ఉపయోగించండి.
4.3.5 సాధారణ ఆదేశాలకు పరిచయం
ESP-IDF కోడ్ కంపైలేషన్ ప్రక్రియలో CMake (ప్రాజెక్ట్ కాన్ఫిగరేషన్ టూల్), నింజా (ప్రాజెక్ట్ బిల్డింగ్ టూల్) మరియు esptool (ఫ్లాష్ టూల్)లను ఉపయోగిస్తుంది. ప్రతి సాధనం సంకలనం, భవనం మరియు ఫ్లాష్ ప్రక్రియలో విభిన్న పాత్రను పోషిస్తుంది మరియు వివిధ ఆపరేటింగ్ ఆదేశాలకు కూడా మద్దతు ఇస్తుంది. వినియోగదారు ఆపరేషన్ను సులభతరం చేయడానికి, ESP-IDF ఏకీకృత ఫ్రంట్-ఎండ్ idf.pyని జోడిస్తుంది, ఇది పై ఆదేశాలను త్వరగా కాల్ చేయడానికి అనుమతిస్తుంది.
idf.pyని ఉపయోగించే ముందు, దీన్ని నిర్ధారించుకోండి:
· ESP-IDF యొక్క పర్యావరణ వేరియబుల్ IDF_PATH ప్రస్తుత టెర్మినల్కు జోడించబడింది. · కమాండ్ ఎగ్జిక్యూషన్ డైరెక్టరీ అనేది ప్రాజెక్ట్ యొక్క రూట్ డైరెక్టరీ, ఇందులో వీటిని కలిగి ఉంటుంది
ప్రాజెక్ట్ కంపైలేషన్ స్క్రిప్ట్ CMakeLists.txt.
idf.py యొక్క సాధారణ ఆదేశాలు క్రింది విధంగా ఉన్నాయి:
· idf.py –help: ఆదేశాల జాబితా మరియు వాటి వినియోగ సూచనలను ప్రదర్శిస్తుంది. · idf.py సెట్-టార్గెట్ : taidf.py fullcleanrget సంకలనాన్ని సెట్ చేస్తోంది, అలాంటిది
స్థానంలో esp32c3తో. · idf.py menuconfig: menuconfig ప్రారంభించడం, టెర్మినల్ గ్రాఫికల్ కాన్ఫిగరేషన్
సాధనం, ఇది కాన్ఫిగరేషన్ ఎంపికలను ఎంచుకోవచ్చు లేదా సవరించవచ్చు మరియు కాన్ఫిగరేషన్ ఫలితాలు sdkconfigలో సేవ్ చేయబడతాయి file. idf.py బిల్డ్: కోడ్ కంపైలేషన్ను ప్రారంభించడం. ఇంటర్మీడియట్ files మరియు కంపైలేషన్ ద్వారా రూపొందించబడిన చివరి ఎక్జిక్యూటబుల్ ప్రోగ్రామ్ డిఫాల్ట్గా ప్రాజెక్ట్ బిల్డ్ డైరెక్టరీలో సేవ్ చేయబడుతుంది. సంకలన ప్రక్రియ పెరుగుతున్నది, అంటే ఒకే మూలం ఉంటే file సవరించబడింది, సవరించబడింది మాత్రమే file తదుపరిసారి సంకలనం చేయబడుతుంది.
52 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
· idf.py క్లీన్: ఇంటర్మీడియట్ను శుభ్రపరచడం fileప్రాజెక్ట్ సంకలనం ద్వారా రూపొందించబడింది. తదుపరి సంకలనంలో మొత్తం ప్రాజెక్ట్ కంపైల్ చేయవలసి వస్తుంది. CMake కాన్ఫిగరేషన్ మరియు menuconfig ద్వారా చేసిన కాన్ఫిగరేషన్ సవరణలు క్లీనప్ సమయంలో తొలగించబడవని గమనించండి.
· idf.py fullclean: మొత్తం CMake కాన్ఫిగరేషన్ అవుట్పుట్తో సహా మొత్తం బిల్డ్ డైరెక్టరీని తొలగించడం fileలు. ప్రాజెక్ట్ను మళ్లీ నిర్మిస్తున్నప్పుడు, CMake ప్రాజెక్ట్ను మొదటి నుండి కాన్ఫిగర్ చేస్తుంది. దయచేసి ఈ ఆదేశం పునరావృతంగా అన్నింటినీ తొలగిస్తుందని గమనించండి fileబిల్డ్ డైరెక్టరీలో s, కాబట్టి దీన్ని జాగ్రత్తగా మరియు ప్రాజెక్ట్ కాన్ఫిగరేషన్తో ఉపయోగించండి file తొలగించబడదు.
· idf.py ఫ్లాష్: ఎక్జిక్యూటబుల్ ప్రోగ్రామ్ బైనరీని ఫ్లాషింగ్ చేస్తుంది file లక్ష్యం ESP32-C3కి నిర్మించడం ద్వారా రూపొందించబడింది. ఎంపికలు -p మరియు -బి సీరియల్ పోర్ట్ యొక్క పరికరం పేరు మరియు ఫ్లాషింగ్ కోసం బాడ్ రేటును వరుసగా సెట్ చేయడానికి ఉపయోగించబడతాయి. ఈ రెండు ఎంపికలు పేర్కొనబడకపోతే, సీరియల్ పోర్ట్ స్వయంచాలకంగా గుర్తించబడుతుంది మరియు డిఫాల్ట్ బాడ్ రేట్ ఉపయోగించబడుతుంది.
· idf.py మానిటర్: లక్ష్యం ESP32-C3 యొక్క సీరియల్ పోర్ట్ అవుట్పుట్ను ప్రదర్శిస్తోంది. హోస్ట్-సైడ్ సీరియల్ పోర్ట్ యొక్క పరికరం పేరును పేర్కొనడానికి -p ఎంపికను ఉపయోగించవచ్చు. సీరియల్ పోర్ట్ ప్రింటింగ్ సమయంలో, మానిటర్ నుండి నిష్క్రమించడానికి Ctrl+] కీ కలయికను నొక్కండి.
పై ఆదేశాలను కూడా అవసరమైన విధంగా కలపవచ్చు. ఉదాహరణకుample, కమాండ్ idf.py బిల్డ్ ఫ్లాష్ మానిటర్ కోడ్ కంపైలేషన్, ఫ్లాష్, మరియు సీరియల్ పోర్ట్ మానిటర్ను వరుసగా తెరుస్తుంది.
ESP-IDF కంపైలేషన్ సిస్టమ్ గురించి మరింత తెలుసుకోవడానికి మీరు https://bookc3.espressif.com/build-systemని సందర్శించవచ్చు.
4.4 అభ్యాసం: కంపైలింగ్ Example ప్రోగ్రామ్ "బ్లింక్"
4.4.1 ఉదాample విశ్లేషణ
ఈ విభాగం ప్రోగ్రామ్ బ్లింక్ను మాజీగా తీసుకుంటుందిampవిశ్లేషించడానికి le file వివరంగా నిజమైన ప్రాజెక్ట్ యొక్క నిర్మాణం మరియు కోడింగ్ నియమాలు. బ్లింక్ ప్రోగ్రామ్ LED బ్లింకింగ్ ప్రభావాన్ని అమలు చేస్తుంది మరియు ప్రాజెక్ట్ డైరెక్టరీ ex లో ఉందిamples/get-started/blink, ఇది ఒక మూలాన్ని కలిగి ఉంటుంది file, ఆకృతీకరణ fileలు, మరియు అనేక సంకలన స్క్రిప్ట్లు.
ఈ పుస్తకంలో ప్రవేశపెట్టిన స్మార్ట్ లైట్ ప్రాజెక్ట్ ఈ మాజీ ఆధారంగా రూపొందించబడిందిample కార్యక్రమం. చివరగా పూర్తి చేయడానికి తదుపరి అధ్యాయాలలో విధులు క్రమంగా జోడించబడతాయి.
సోర్స్ కోడ్ మొత్తం అభివృద్ధి ప్రక్రియను ప్రదర్శించడానికి, బ్లింక్ ప్రోగ్రామ్ esp32c3-iot-projects/device firmware/1 blinkకి కాపీ చేయబడింది.
బ్లింక్ ప్రాజెక్ట్ యొక్క డైరెక్టరీ నిర్మాణం files మూర్తి 4.15లో చూపబడింది.
బ్లింక్ ప్రాజెక్ట్ ఒక ప్రధాన డైరెక్టరీని మాత్రమే కలిగి ఉంది, ఇది ఒక ప్రత్యేక భాగం
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 53
చిత్రం 4.15. File బ్లింక్ ప్రాజెక్ట్ యొక్క డైరెక్టరీ నిర్మాణం
విభాగం 4.3.2లో వివరించిన విధంగా తప్పనిసరిగా చేర్చాలి. ప్రధాన డైరెక్టరీ ప్రధానంగా app_main() ఫంక్షన్ యొక్క అమలును నిల్వ చేయడానికి ఉపయోగించబడుతుంది, ఇది వినియోగదారు ప్రోగ్రామ్కు ఎంట్రీ పాయింట్. బ్లింక్ ప్రాజెక్ట్ భాగాలు డైరెక్టరీని కలిగి ఉండదు, ఎందుకంటే ఈ మాజీample కేవలం ESP-IDFతో వచ్చే భాగాలను మాత్రమే ఉపయోగించాలి మరియు అదనపు భాగాలు అవసరం లేదు. బ్లింక్ ప్రాజెక్ట్లో చేర్చబడిన CMakeLists.txt సంకలన ప్రక్రియకు మార్గనిర్దేశం చేయడానికి ఉపయోగించబడుతుంది, అయితే Kconfig.projbuild ఈ మాజీ కోసం కాన్ఫిగరేషన్ అంశాలను జోడించడానికి ఉపయోగించబడుతుంది.ampmenuconfig లో le ప్రోగ్రామ్. ఇతర అనవసరం fileలు కోడ్ యొక్క సంకలనాన్ని ప్రభావితం చేయదు, కాబట్టి అవి ఇక్కడ చర్చించబడవు. బ్లింక్ ప్రాజెక్ట్కి వివరణాత్మక పరిచయం files క్రింది విధంగా ఉంది.
1. /*blink.c కింది హెడర్ని కలిగి ఉంటుంది files*/
2. #చేర్చండి
//స్టాండర్డ్ సి లైబ్రరీ హెడర్ file
3. #"freertos/freeRTOS.h"ని చేర్చండి //FreeRTOS ప్రధాన శీర్షిక file
4. #"freertos/task.h"ని చేర్చండి
//FreeRTOS టాస్క్ హెడర్ file
5. #“sdkconfig.h”ని చేర్చండి
//కాన్ఫిగరేషన్ హెడర్ file kconfig ద్వారా రూపొందించబడింది
6. #"డ్రైవర్/gpio.h"ని చేర్చండి
//GPIO డ్రైవర్ హెడర్ file
మూలం file blink.c హెడర్ శ్రేణిని కలిగి ఉంది fileఫంక్షన్ డిక్లరాకు సంబంధించినది-
tionలు. ESP-IDF సాధారణంగా ప్రామాణిక లైబ్రరీ హెడర్ని చేర్చే క్రమాన్ని అనుసరిస్తుంది files, FreeR-
TOS హెడర్ files, డ్రైవర్ హెడర్ files, ఇతర కాంపోనెంట్ హెడర్ files, మరియు ప్రాజెక్ట్ హెడర్ files.
శీర్షికలో ఉన్న క్రమం fileలు చేర్చబడ్డాయి తుది సంకలన ఫలితాన్ని ప్రభావితం చేయవచ్చు, కాబట్టి ప్రయత్నించండి
డిఫాల్ట్ నియమాలను అనుసరించండి. sdkconfig.h స్వయంచాలకంగా ఉత్పత్తి చేయబడుతుందని గమనించాలి
kconfig ద్వారా మరియు idf.py menuconfig కమాండ్ ద్వారా మాత్రమే కాన్ఫిగర్ చేయవచ్చు.
ఈ హెడర్ యొక్క ప్రత్యక్ష సవరణ file ఓవర్ రైట్ అవుతుంది.
1. /*మీరు idf.py menuconfigలో LEDకి సంబంధించిన GPIOని ఎంచుకోవచ్చు మరియు menuconfig యొక్క మార్పు ఫలితం CONFIG_BLINK విలువ.
_GPIO మార్చబడుతుంది. మీరు స్థూల నిర్వచనాన్ని కూడా నేరుగా సవరించవచ్చు
ఇక్కడ, మరియు CONFIG_BLINK_GPIOను స్థిర విలువకు మార్చండి.*/ 2. #BLINK_GPIO CONFIG_BLINK_GPIOని నిర్వచించండి
3. void app_main(శూన్యం)
4. {
5.
/*IOని GPIO డిఫాల్ట్ ఫంక్షన్గా కాన్ఫిగర్ చేయండి, పుల్-అప్ మోడ్ని ప్రారంభించండి మరియు
6.
ఇన్పుట్ మరియు అవుట్పుట్ మోడ్లను నిలిపివేయండి*/
7.
gpio_reset_pin(BLINK_GPIO);
54 ESP32-C3 వైర్లెస్ అడ్వెంచర్: IoTకి సమగ్ర గైడ్
8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. }
/*GPIOని అవుట్పుట్ మోడ్కి సెట్ చేయండి*/ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); అయితే (1) {
/*ప్రింట్ లాగ్*/ printf (“LEDnని ఆఫ్ చేయడం”); /*LED ఆఫ్ చేయండి (అవుట్పుట్ తక్కువ స్థాయి)*/ gpio_set_level(BLINK_GPIO, 0); /*ఆలస్యం (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf ("LEDn ఆన్ చేయడం"); /* LED (అవుట్పుట్ అధిక స్థాయి)ని ఆన్ చేయండి*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }
బ్లింక్ ఎక్స్లో app_main() ఫంక్షన్ample ప్రోగ్రామ్ యూజర్ ప్రోగ్రామ్లకు ఎంట్రీ పాయింట్గా పనిచేస్తుంది. ఇది పారామీటర్లు మరియు రిటర్న్ విలువ లేని సాధారణ ఫంక్షన్. లాగ్ సీరియల్ పోర్ట్ను ప్రారంభించడం, సింగిల్/డ్యూయల్ కోర్ను కాన్ఫిగర్ చేయడం మరియు వాచ్డాగ్ను కాన్ఫిగర్ చేయడం వంటి పనులను కలిగి ఉన్న సిస్టమ్ ప్రారంభీకరణను పూర్తి చేసిన తర్వాత ఈ ఫంక్షన్ అంటారు.
app_main() ఫంక్షన్ మెయిన్ అనే టాస్క్ సందర్భంలో రన్ అవుతుంది. ఈ టాస్క్ యొక్క స్టాక్ పరిమాణం మరియు ప్రాధాన్యతను menuconfig Componentconfig కామన్ ESP-సంబంధితంలో సర్దుబాటు చేయవచ్చు.
LEDని బ్లింక్ చేయడం వంటి సాధారణ పనుల కోసం, అవసరమైన అన్ని కోడ్లను నేరుగా app_main() ఫంక్షన్లో అమలు చేయవచ్చు. ఇది సాధారణంగా LEDకి సంబంధించిన GPIOని ప్రారంభించడం మరియు LEDని ఆన్ మరియు ఆఫ్ టోగుల్ చేయడానికి కొంత సమయం(1) లూప్ని ఉపయోగించడం. ప్రత్యామ్నాయంగా, LED బ్లింకింగ్ను నిర్వహించే కొత్త పనిని సృష్టించడానికి మీరు FreeRTOS APIని ఉపయోగించవచ్చు. కొత్త టాస్క్ విజయవంతంగా సృష్టించబడిన తర్వాత, మీరు app_main() ఫంక్షన్ నుండి నిష్క్రమించవచ్చు.
ప్రధాన/CMakeLists.txt యొక్క కంటెంట్ file, ఇది ప్రధాన భాగం కోసం సంకలన ప్రక్రియకు మార్గనిర్దేశం చేస్తుంది:
1. idf_component_register(SRCS “blink.c” INCLUDE_DIRS “.” )
వాటిలో, main/CMakeLists.txt ఒక కంపైలేషన్ సిస్టమ్ ఫంక్షన్ను మాత్రమే పిలుస్తుంది, అది idf_component_register. చాలా ఇతర భాగాల కోసం CMakeLists.txt మాదిరిగానే, blink.c SRCS మరియు మూలానికి జోడించబడింది fileSRCSకు జోడించబడిన లు సంకలనం చేయబడతాయి. అదే సమయంలో, CMakeLists.txt ఉన్న మార్గాన్ని సూచించే “.”, హెడర్ కోసం శోధన డైరెక్టరీలుగా INCLUDE_DIRSకి జోడించబడాలి. fileలు. CMakeLists.txt యొక్క కంటెంట్ క్రింది విధంగా ఉంది:
1. #ప్రస్తుత ప్రాజెక్ట్ మద్దతు ఉన్న పాత CMake వెర్షన్గా v3.5ని పేర్కొనండి 2. సంకలనం కొనసాగడానికి ముందు #v3.5 కంటే తక్కువ సంస్కరణలు తప్పనిసరిగా అప్గ్రేడ్ చేయబడాలి 3. cmake_minimum_required(VERSION 3.5) 4. #ESP యొక్క డిఫాల్ట్ CMake కాన్ఫిగరేషన్ను చేర్చండి -IDF కంపైలేషన్ సిస్టమ్
చాప్టర్ 4. డెవలప్మెంట్ ఎన్విరాన్మెంట్ ఏర్పాటు 55
5. చేర్చండి($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #“బ్లింక్” పేరుతో ఒక ప్రాజెక్ట్ను సృష్టించండి 7. ప్రాజెక్ట్(myProject)
వాటిలో, రూట్ డైరెక్టరీలోని CMakeLists.txt ప్రధానంగా $ENV{IDF_ PATH}/tools/cmake/project.cmakeని కలిగి ఉంటుంది, ఇది ప్రధాన CMake కాన్ఫిగరేషన్. file ESP-IDF అందించింది. ఇది కాన్ కోసం ఉపయోగించబడుతుంది
పత్రాలు / వనరులు
![]() |
ఎస్ప్రెస్సిఫ్ సిస్టమ్స్ ESP32-C3 వైర్లెస్ అడ్వెంచర్ [pdf] యూజర్ గైడ్ ESP32-C3 వైర్లెస్ అడ్వెంచర్, ESP32-C3, వైర్లెస్ అడ్వెంచర్, అడ్వెంచర్ |