ESP32 Dev Kitc विकास बोर्ड
उत्पादन जानकारी
निर्दिष्टीकरणहरू
- उत्पादन: ESP32
- प्रोग्रामिङ गाइड: ESP-IDF
- रिलिज संस्करण: v5.0.9
- निर्माता: Espressif प्रणाली
- रिलीज मिति: मे 16, 2025
उत्पादन उपयोग निर्देशन
1. सुरु गर्नुहोस्
ESP32 सुरु गर्नु अघि, निम्नसँग परिचित हुनुहोस्:
निम्न:
1.1 परिचय
को आधारभूत कार्यक्षमता र क्षमताहरूको बारेमा जान्नुहोस्
ESP32।
1.2 तपाईलाई के चाहिन्छ
आवश्यक हार्डवेयर र सफ्टवेयर छ भनी सुनिश्चित गर्नुहोस्:
- हार्डवेयर: आवश्यक हार्डवेयरको सूची जाँच गर्नुहोस्
अवयवहरू। - सफ्टवेयर: आवश्यक सफ्टवेयर स्थापना गर्नुहोस्
अवयवहरू।
1.3 स्थापना
IDE स्थापना गर्न र सेटअप गर्न यी चरणहरू पालना गर्नुहोस्
वातावरण:
- IDE: सिफारिस गरिएको IDE स्थापना गर्नुहोस्
ESP32 प्रोग्रामिङ गर्दै। - म्यानुअल स्थापना: म्यानुअल रूपमा सेट अप गर्नुहोस्
आवश्यक परेमा वातावरण।
१.४ आफ्नो पहिलो परियोजना बनाउनुहोस्
ESP32 प्रयोग गरेर आफ्नो प्रारम्भिक परियोजना सिर्जना गर्नुहोस् र निर्माण गर्नुहोस्।
१.५ ESP-IDF अनइन्स्टल गर्नुहोस्
आवश्यक परेमा, आफ्नो बाट ESP-IDF कसरी अनइन्स्टल गर्ने सिक्नुहोस्
प्रणाली।
२. API सन्दर्भ
विस्तृत जानकारीको लागि API कागजात हेर्नुहोस्
अनुप्रयोग प्रोटोकल, त्रुटि ह्यान्डलिङ, र कन्फिगरेसन
संरचनाहरू।
बारम्बार सोधिने प्रश्नहरू (FAQ)
प्रश्न: म ESP32 सँग सम्बन्धित सामान्य समस्याहरू कसरी समाधान गर्न सक्छु?
A: प्रोग्रामिङ गाइडमा रहेको समस्या निवारण खण्ड हेर्नुहोस्।
वा निर्माताको भ्रमण गर्नुहोस् webसमर्थन स्रोतहरूको लागि साइट।
प्रश्न: के म अन्य माइक्रोकन्ट्रोलरहरूसँग ESP-IDF प्रयोग गर्न सक्छु?
A: ESP-IDF विशेष गरी ESP32 को लागि डिजाइन गरिएको हो, तर तपाईंले फेला पार्न सक्नुहुन्छ
अन्य एस्प्रेसिफ माइक्रोकन्ट्रोलरहरूसँग अनुकूलता।
ईएसपी 32२XNUMX
ESP-IDF प्रोग्रामिङ गाइड
रिलिज v5.0.9 Espressif Systems मे १६, २०२५
सामग्री तालिका
सामग्री तालिका
i
Get सुरु गर्नुहोस्
3
२.३.१ परिचय ।
१.२ तपाईंलाई के चाहिन्छ .
१.२.१ हार्डवेयर । .
१.२.२ सफ्टवेयर . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १४
१.३ स्थापना । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । १४
1.3.1 IDE । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । १४
१.३.२ म्यानुअल स्थापना । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १४
१.४ आफ्नो पहिलो परियोजना बनाउनुहोस् । .
१.५ ESP-IDF अनइन्स्टल गर्नुहोस् । .
२ API सन्दर्भ
45
२.१ एपीआई कन्भेन्सनहरू । .
२.१.१ त्रुटि ह्यान्डलिङ । .
२.१.२ कन्फिगरेसन संरचनाहरू । .
२.१.३ निजी API हरू । .
२.१.४ पूर्वमा कम्पोनेन्टहरूampले परियोजनाहरू .
२.१.५ API स्थिरता । .
२.२ अनुप्रयोग प्रोटोकलहरू । .
2.2.1 ASIO पोर्ट। । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ४८
२.२.२ ESP-मोडबस । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ४८
२.२.३ ESP-MQTT .
२.२.४ ESP-TLS । .
२.२.५ ESP HTTP क्लाइन्ट । .
२.२.६ ESP स्थानीय नियन्त्रण । .
२.२.७ ESP सिरियल स्लेभ लिङ्क । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १०४
२.२.८ ESP x५०९ प्रमाणपत्र बन्डल । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२१
२.२.९ HTTP सर्भर . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२३
२.२.१० HTTPS सर्भर । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १५०
२.२.११ ICMP इको । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १५४
२.२.१२ mDNS सेवा । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १५९
२.२.१३ एमबेड टीएलएस । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । १५९
२.२.१४ आईपी नेटवर्क तह । .
२.३ ब्लुटुथ एपीआई । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । १६१
२.३.१ ब्लुटुथ® सामान्य । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १६१
२.३.२ ब्लुटुथ® कम ऊर्जा । .
२.३.३ ब्लुटुथ® क्लासिक । .
२.३.४ नियन्त्रक र HCI .
२.३.५ ESP-BLE-MESH .
२.३.६ NimBLE-आधारित होस्ट API हरू । .
२.४ त्रुटि कोड सन्दर्भ । .
२.५ नेटवर्किङ API हरू । .
2.5.1 Wi-Fi। । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ७७६
२.५.२ इथरनेट । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ८९९
२.५.३ थ्रेड । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ९३६
i
२.५.४ ESP-NETIF। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ९४२ २.५.५ आईपी नेटवर्क तह। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ९७४ २.५.६ अनुप्रयोग तह। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ९७६ २.६ पेरिफेरल्स एपीआई। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ९७७ २.६.१ एनालग टु डिजिटल कन्भर्टर (ADC) वनशट मोड ड्राइभर। . . . . . . . . . . . . . . . . ९७७ २.६.२ एनालग टु डिजिटल कन्भर्टर (ADC) कन्टिन्युअस मोड ड्राइभर। . . . . . . . . . . . . . . ९८६ २.६.३ एनालग टु डिजिटल कन्भर्टर (ADC) क्यालिब्रेसन ड्राइभर। . . . . . . . . . . . . . . . . . . ९९३ २.६.४ घडीको रूख । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ९९७ २.६.५ डिजिटल देखि एनालग कन्भर्टर (DAC)। . . . . . . . . . . . . . . . . . . . . . . . . . . . १००४ २.६.६ GPIO र RTC GPIO। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १००८ २.६.७ सामान्य उद्देश्य टाइमर (GPTimer)। . . . . . . . . . . . . . . . . . . . . . . . . . . . . १०२७ २.६.८ अन्तर-एकीकृत सर्किट (I2C)। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १०३९ २.६.९ इन्टर-आईसी ध्वनि (I2S)। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १०५६ २.६.१० एलसीडी। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १०९० २.६.११ एलईडी नियन्त्रण (LEDC)। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ११०७ २.६.१२ मोटर कन्ट्रोल पल्स वाइडथ मोड्युलेटर (MCPWM)। . . . . . . . . . . . . . . . . . . . . ११२६ २.६.१३ पल्स काउन्टर (PCNT)। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ११७८ २.६.१४ रिमोट कन्ट्रोल ट्रान्सीभर (RMT)। . . . . . . . . . . . . . . . . . . . . . . . . . . . ११९३ २.६.१५ SD पुल-अप आवश्यकताहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२२० २.६.१६ SDMMC होस्ट ड्राइभर। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२२३ २.६.१७ SD SPI होस्ट ड्राइभर। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२२९ २.६.१८ SDIO कार्ड स्लेभ ड्राइभर। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२३४ २.६.१९ सिग्मा-डेल्टा मोड्युलेसन (SDM)। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२४४ २.६.२० SPI मास्टर ड्राइभर। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२४९ २.६.२१ SPI दास चालक। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२७४ २.६.२२ ESP32-WROOM-32SE (सुरक्षित तत्व)। . . . . . . . . . . . . . . . . . . . . . . . . १२८१ २.६.२३ टच सेन्सर। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १२८२ २.६.२४ दुई-तार अटोमोटिभ इन्टरफेस (TWAI)। . . . . . . . . . . . . . . . . . . . . . . . . . १२९९ २.६.२५ युनिभर्सल एसिन्क्रोनस रिसीभर/ट्रान्समिटर (UART)। . . . . . . . . . . . . . . . . . १३१७ २.७ परियोजना कन्फिगरेसन। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १५२ ५.१ परिचय। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १३४२ २.७.२ परियोजना कन्फिगरेसन मेनु। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १३४२ २.७.३ sdkconfig.defaults प्रयोग गर्दै। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १३४२ २.७.४ Kconfig ढाँचा नियमहरू । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १३४३ २.७.५ Kconfig विकल्पहरूको पछाडि अनुकूलता। . . . . . . . . . . . . . . . . . . . . . . . १३४३ २.७.६ कन्फिगरेसन विकल्प सन्दर्भ। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १३४३ २.८ प्रोभिजनिङ एपीआई। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १६४७ २.८.१ प्रोटोकल सञ्चार। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १६४७ २.८.२ एकीकृत प्रावधान। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १६६५ २.८.३ वाइफाइ प्रावधान। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १६६९ २.९ भण्डारण API। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fileप्रणाली समर्थन . १७०३ २.९.४ NVS विभाजन जेनेरेटर उपयोगिता । । । । । । । । । । । । । । १७४४ २.९.७ स्पिफ्स Fileप्रणाली । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । १७८० २.९.८ भर्चुअल fileप्रणाली घटक . . . . . . . . . . . . . . १८०३ २.१०.१ एप छवि ढाँचा . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १८०३ २.१०.२ एप्लिकेसन लेभल ट्रेसिङ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १८०८ २.१०.३ बाह्य स्ट्याकको साथ कल प्रकार्य . . . . . . . . . . . . . . . . . . . . १८१३ २.१०.४ चिप संशोधन . १८१७ २.१०.६ eFuse प्रबन्धक । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । १८२६ २.१०.७ त्रुटि कोड र सहयोगी कार्यहरू । । । । । । । । । । । । । । । । । । । । । । । । । । । १८४६
ii
२.१०.८ ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १८४९ २.१०.९ घटना लूप पुस्तकालय . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १८५६ २.१०.१० FreeRTOS (माथिview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १८६९ २.१०.११ फ्रीआरटीओएस (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १८७१ २.१०.१२ फ्रीआरटीओएस (पूरक सुविधाहरू) . . . . . १९८८ २.१०.१३ हिप मेमोरी एलोकेशन . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २००८ २.१०.१४ हिप मेमोरी डिबगिङ . . . . . . . . . . . . . २०३२ २.१०.१६ आन्तरिक र अस्थिर API हरू . . २०५८ २.१०.२१ ओभर द एयर अपडेट्स (OTA) । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २०७३ २.१०.२२ कार्यसम्पादन मनिटर । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २०८४ २.१०.२३ पावर व्यवस्थापन । . . . . . . . . . . . . २०८७ २.१०.२४ POSIX थ्रेड समर्थन . . २१२१ २.१०.२९ हाइम एलोकेशन एपीआई । . . . . . . . . . . . . . २१६१
3 हार्डवेयर सन्दर्भ
2167
३.१ चिप शृङ्खला तुलना । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २१६७
३.१.१ सम्बन्धित कागजातहरू । .
४ API गाइडहरू
2171
४.१ एप्लिकेसन लेभल ट्रेसिङ लाइब्रेरी । .
१.१ ओभरview । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ५
४.१.२ सञ्चालनका मोडहरू । .
४.१.३ कन्फिगरेसन विकल्पहरू र निर्भरताहरू । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २१७२
४.१.४ यो पुस्तकालय कसरी प्रयोग गर्ने । .
४.२ एप्लिकेसन स्टार्टअप फ्लो । .
४.१ पहिलो सेtagई बुटलोडर । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २१८२
२ सेकेन्डtagई बुटलोडर । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २१८२
४.२.३ एप्लिकेसन सुरुवात । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २१८३
४.३ ब्लुटुथ® क्लासिक । .
१.१ ओभरview । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ५
४.४ ब्लुटुथ® कम ऊर्जा । .
१.१ ओभरview । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ५
४.४.२ सुरु गर्नुहोस् । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २१९१
१३ प्रोfile । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २५६
४.५ बुटलोडर । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २२८४
४.५.१ बुटलोडर अनुकूलता । .
४.५.२ लग स्तर । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २२८५
४.५.३ फ्याक्ट्री रिसेट । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २२८६
४.५.४ परीक्षण फर्मवेयरबाट बुट गर्नुहोस्। .
४.५.५ फिर्ता गर्नुहोस् । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २२८७
४.५.६ वाचडग । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २२८७
४.५.७ बुटलोडर साइज । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २२८७
४.५.८ गहिरो निद्राबाट छिटो बुट। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २२८७
४.५.९ अनुकूलन बुटलोडर । .
४.६ निर्माण प्रणाली । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २२८८
१.१ ओभरview । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ५
४.६.२ बिल्ड सिस्टम प्रयोग गर्दै । .
iii
०० पूर्वampले परियोजना . File . Files . २२९५ ४.६.८ घटक आवश्यकताहरू । २३०० ४.६.११ डिबगिङ CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३०० ४.६.१२ उदाहरणample कम्पोनेन्ट CMakeLists . . . . . . २३०५ ४.६.१५ बुटलोडर निर्माण गर्ने . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३०६ ४.६.१७ कम्पोनेन्टहरू सहित तेस्रो-पक्ष CMake परियोजनाहरू प्रयोग गर्ने . २३०६ ४.६.१८ कम्पोनेन्टहरू सहित पूर्वनिर्मित पुस्तकालयहरू प्रयोग गर्दै। . File ग्लोबिङ र इन्क्रिमेन्टल बिल्डहरू . . . २३१३ ४.६.२४ ESP-IDF GNU Make System बाट माइग्रेट गर्दै .view . . . . २३२२ ४.८.४ RTC मेमोरीमा डेटा लोड गर्दै ।ampले .view . . . . . . . २३२४ ४.९.४ ESP_ERROR_CHECK म्याक्रो . . . . . . . . . . . . . . . . . . . . . . . . . . . २३२५ ४.९.५ ESP_ERROR_CHECK_WITHOUT_ABORT म्याक्रो . . . . . . . . . . . . . . . . . . . . २३२५ ४.९.६ ESP_RETURN_ON_ERROR म्याक्रो . . . . . २३२५ ४.९.७ ESP_GOTO_ON_ERROR म्याक्रो . . . . . . . . . . . . . . . . . . . . . . . . . . २३२५ ४.९.८ ESP_RETURN_ON_FALSE म्याक्रो . . . . . . . . . . . . . . . . . . . . . . . . . . . २३२५ ४.९.९ ESP_GOTO_ON_FALSE म्याक्रो . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३२५ ४.९.१० म्याक्रोहरू जाँच गर्नुहोस्ampलेस . . . . . २३२७ ४.१० ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३२७ ४.१०.१ माथिview . . .
iv
४.१०.८ कार्यसम्पादन । . २३४९ ४.११.३ ब्लुटुथ घटनाहरू ।view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५० ४.१२.२ प्यानिक ह्यान्डलर। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५० ४.१२.३ डम्प र ब्याकट्रेस दर्ता गर्नुहोस्। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५१ ४.१२.४ GDB स्टब। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५३ ४.१२.५ RTC वाचडग टाइमआउट। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५४ ४.१२.६ गुरु ध्यान त्रुटिहरू । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५४ ४.१२.७ अन्य घातक त्रुटिहरू । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५६ ४.१३ फ्ल्यास इन्क्रिप्शन। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . १५२ ५.१ परिचय। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५९ ४.१३.२ सान्दर्भिक ईफ्यूजहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३५९ ४.१३.३ फ्ल्यास इन्क्रिप्शन प्रक्रिया। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३६० ४.१३.४ फ्ल्यास इन्क्रिप्शन कन्फिगरेसन। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३६० ४.१३.५ सम्भावित असफलताहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३६६ ४.१३.६ ESP३२ फ्ल्यास इन्क्रिप्शन स्थिति। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३६८ ४.१३.७ इन्क्रिप्टेड फ्ल्यासमा डेटा पढ्ने र लेख्ने। . . . . . . . . . . . . . . . . . . . . . . २३६८ ४.१३.८ इन्क्रिप्टेड फ्ल्यास अद्यावधिक गर्दै। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३६९ ४.१३.९ फ्ल्यास इन्क्रिप्शन असक्षम पार्दै। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३६९ ४.१३.१० फ्ल्यास इन्क्रिप्शनको बारेमा मुख्य बुँदाहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७० ४.१३.११ फ्ल्यास इन्क्रिप्शनका सीमाहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७० ४.१३.१२ फ्ल्यास इन्क्रिप्शन र सुरक्षित बुट। . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७१ ४.१३.१३ उन्नत सुविधाहरू । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७१ ४.१३.१४ प्राविधिक विवरणहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७३ ४.१४ हार्डवेयर एब्स्ट्र्याक्सन। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७३ ४.१४.१ वास्तुकला। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७४ ४.१४.२ LL (निम्न तह) तह। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७५ ४.१४.३ HAL (हार्डवेयर एब्स्ट्र्याक्सन लेयर)। . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७६ ४.१५ उच्च-स्तरीय अवरोधहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७७ ४.१५.१ अवरोध स्तरहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७७ ४.१५.२ नोटहरू । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG डिबगिङ . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३७९ ४.१६.३ J चयन गर्दैTAG एडाप्टर . . . . . . . . २३८० ४.१६.६ डिबगर सुरु गर्दै . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २३८६ ४.१६.७ डिबगिङ एक्सampलेस . . . . . . २३९१ ४.१६.१० सम्बन्धित कागजातहरू .view . . २४३० ४.१८.२ BSD सकेट API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४३१ ४.१८.३ नेटकन API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४३५ ४.१८.४ lwIP FreeRTOS कार्य . .
v
४.१८.७ कार्यसम्पादन अनुकूलन । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २४३९
४.१९.१ DRAM (डेटा र्याम) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४३९ ४.१९.२ IRAM (निर्देशन र्याम) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४४० ४.१९.३ IROM (फ्ल्यासबाट कार्यान्वयन गरिएको कोड) . . . . . . . . . २४४१ ४.१९.४ DROM (फ्ल्यासमा भण्डारण गरिएको डेटा) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४४१ ४.१९.५ RTC ढिलो मेमोरी . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४४१ ४.१९.६ RTC फास्ट मेमोरी . . . २४४३ ४.२०.३ ओपनथ्रेड बोर्डर राउटर । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २४४४ ४.२१ विभाजन तालिकाहरू । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २४४४ ४.२१.१ माथिview . . . . . . . . . . . . २४६८ ४.२३.१ आंशिक क्यालिब्रेसन . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४६८ ४.२३.२ पूर्ण क्यालिब्रेसन . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४६९ ४.२३.३ कुनै क्यालिब्रेसन छैन . . २४६९ ४.२४ सुरक्षित बुट । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २४७२ ४.२४.१ पृष्ठभूमि । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २४७२ ४.२४.२ सुरक्षित बुट प्रक्रिया समाप्तview . . . . . . . . . . . . . २४७५ ४.२४.८ छविहरूको रिमोट साइनिङ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४७५ ४.२४.९ सुरक्षित बुट उत्तम अभ्यासहरू . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४७६ ४.२४.१० प्राविधिक विवरणहरू . . . . . . . . . . . . . २४७८ ४.२५ सुरक्षित बुट V2 .tages . . . २४८१ ४.२५.१० सुरक्षित बुट V2 कसरी सक्षम गर्ने । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २४८१ ४.२५.११ सुरक्षित बुट सक्षम भएपछि प्रतिबन्धहरू । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २४८२ ४.२५.१२ सुरक्षित बुट साइनिङ कुञ्जी उत्पन्न गर्दै । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २४८२
vi
४.२५.१३ छविहरूको रिमोट साइनिङ । . . . . . . . . . . . . २४८४ ४.२५.१६ सुरक्षित बुट र फ्ल्यास इन्क्रिप्शन . . २४८५ ४.२६ बाह्य RAM को लागि समर्थन . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४८५ ४.२६.१ परिचय . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४८५ ४.२६.२ हार्डवेयर . . २४८७ ४.२६.५ सुरु गर्न असफल भयो। . . . . . . . . . . . . . . . . . . . . . . २४८८ ४.२७.१ भन्दा बढीview . . २४८९ ४.२८.१ IDF फ्रन्टएन्ड – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४८९ ४.२८.२ IDF डकर छवि . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २४९३ ४.२८.३ IDF विन्डोज स्थापनाकर्ता . . . . . २५१२ ४.२९.२ बहु-उपकरण परीक्षण केसहरू . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५१३ ४.२९.३ बहु-उपकरणहरूtage परीक्षण केसहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५१४ ४.२९.४ विभिन्न लक्ष्यहरूको लागि परीक्षणहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५१४ ४.२९.५ भवन एकाइ परीक्षण एप। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५१५ ४.२९.६ रनिङ युनिट टेस्टहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५१५ ४.२९.७ क्यास कम्पेन्सेटेड टाइमर सहितको टाइमिङ कोड। . . . . . . . . . . . . . . . . . . . . . . २५१६ ४.२९.८ नक्कली । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५१७ ४.३० लिनक्समा युनिट परीक्षण। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५१९ ४.३०.१ एम्बेडेड सफ्टवेयर परीक्षणहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५१९ ४.३०.२ लिनक्स होस्टमा IDF युनिट परीक्षणहरू। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२० ४.३१ वाइफाइ ड्राइभर। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२१ ४.३१.१ ESP३२ वाइफाइ सुविधा सूची। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२१ ४.३१.२ वाइफाइ आवेदन कसरी लेख्ने । . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२१ ४.३१.३ ESP32 Wi-Fi API त्रुटि कोड। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२२ ४.३१.४ ESP३२ वाइफाइ API प्यारामिटर प्रारम्भिकरण। . . . . . . . . . . . . . . . . . . . . . . . . २५२२ ४.३१.५ ESP३२ वाइफाइ प्रोग्रामिङ मोडेल। . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२२ ४.३१.६ ESP३२ वाइफाइ घटना विवरण। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२३ ४.३१.७ ESP३२ वाइफाइ स्टेशन सामान्य परिदृश्य । . . . . . . . . . . . . . . . . . . . . . . . . . . २५२६ ४.३१.८ ESP३२ वाइफाइ एपी सामान्य परिदृश्य। . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२९ ४.३१.९ ESP३२ वाइफाइ स्क्यान। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५२९ ४.३१.१० ESP३२ वाइफाइ स्टेशन जडान परिदृश्य । . . . . . . . . . . . . . . . . . . . . . . . . २५३६ ४.३१.११ धेरै एपीहरू फेला पर्दा ESP३२ वाइफाइ स्टेशन जडान हुँदै। . . . . . . . . . . . . २५४३ ४.३१.१२ वाइफाइ पुन: जडान गर्नुहोस्। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५४३ ४.३१.१३ वाइफाइ बीकन टाइमआउट। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५४३ ४.३१.१४ ESP३२ वाइफाइ कन्फिगरेसन। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५४३ ४.३१.१५ वाइफाइ इजी कनेक्ट™ (DPP)। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५४९ ४.३१.१६ वायरलेस नेटवर्क व्यवस्थापन। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५४९ ४.३१.१७ रेडियो स्रोत मापन। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५४९ ४.३१.१८ द्रुत BSS संक्रमण। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५५० ४.३१.१९ ESP३२ वाइफाइ पावर बचत मोड। . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५५० ४.३१.२० ESP३२ वाइफाइ थ्रुपुट। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
४.३१.२१ वाइफाइ ८०२११ प्याकेट पठाउनुहोस् । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २५५२ ४.३१.२२ वाइफाइ स्निफर मोड । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २५५४ ४.३१.२३ वाइफाइ बहु एन्टेना । . । । । । । । । । । । । । । । । । । । । । । २५५७ ४.३१.२७ Wi-Fi QoS। । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २५५७ ४.३१.२८ Wi-Fi AMSDU । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । . २५५८ ४.३१.२९ वाइफाइ टुक्रा . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५५८ ४.३१.३० WPS भर्ना हुने . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५५८ ४.३१.३१ वाइफाइ बफर प्रयोग . . . . . . . . . . . . . २५६८ ४.३२.२ संरक्षित व्यवस्थापन फ्रेमहरू (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५७१ ४.३२.३ वाइफाइ इन्टरप्राइज . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५७२ ४.३२.४ WPA3-व्यक्तिगत . .view . २५७४ ४.३३.४ सहअस्तित्व सुविधा कसरी प्रयोग गर्ने । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २५७६ ४.३४ पुनरुत्पादनयोग्य निर्माणहरू । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २५७७ ४.३४.१ परिचय । . . . . . . . . . . . . २५७८ ४.३४.५ पुनरुत्पादनयोग्य निर्माणहरू र डिबगिङ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५७८ ४.३४.६ पुनरुत्पादनयोग्य निर्माणहरूलाई अझै पनि असर गर्ने कारकहरू . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५७८ ४.३५ कम पावर मोड प्रयोगकर्ता गाइड . । । । । । २५७८
५ माइग्रेसन गाइडहरू
2579
५.१ ESP-IDF ५.x माइग्रेसन गाइड । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५७९
५.१.१ ४.४ बाट ५.० मा स्थानान्तरण . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २५७९
६ पुस्तकालय र रूपरेखाहरू
2611
६.१ क्लाउड फ्रेमवर्कहरू । .
६.१.१ ESP रेनमेकर । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६११
६.१.२ AWS IoT । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६११
६.१.३ एजुर आईओटी । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६११
६.१.४ गुगल आईओटी कोर । .
६.१.५ Aliyun IoT । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । 2611
६.१.६ जोयलिङ्क आईओटी । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६११
६.१.७ टेन्सेन्ट आईओटी । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६१२
६.१.८ टेन्सेन्ट्युन आईओटी । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६१२
६.१.९ बैदु आईओटी । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६१२
६.२ एस्प्रेसिफन्स फ्रेमवर्कहरू । .
६.२.१ एस्प्रेसिफ अडियो विकास फ्रेमवर्क । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६१२
६.२.२ ESP-CSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६१२
६.२.३ एस्प्रेसिफ डीएसपी पुस्तकालय । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६१२
६.२.४ ESP-WIFI-MESH विकास रूपरेखा । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६१३
६.२.५ ESP-WHO .
६.१.१ ESP रेनमेकर । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६११
६.२.७ ESP-IoT-समाधान । .
६.२.८ ESP-प्रोटोकलहरू । .
viii
६.२.९ ESP-BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६१४
७ योगदान गाइड
2615
७.१ कसरी योगदान गर्ने । .
७.२ योगदान गर्नु अघि । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६१५
७.३ पुल रिक्वेस्ट प्रक्रिया । .
७.४ कानूनी भाग । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६१६
७.५ सम्बन्धित कागजातहरू । .
७.५.१ एस्प्रेसिफ आईओटी विकास फ्रेमवर्क शैली गाइड । . . . . . . . . . . . . . . . . . . . . . . . . २६१६
७.५.२ ESP-IDF परियोजनाको लागि प्रि-कमिट हुक स्थापना गर्नुहोस्। .
७.५.३ दस्तावेजीकरण कोड । .
७.५.४ Ex सिर्जना गर्दैampलेस । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६२९
७.५.५ API कागजात टेम्प्लेट । .
७.५.६ योगदानकर्ता सम्झौता । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६३२
७.५.७ प्रतिलिपि अधिकार हेडर गाइड । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६३४
७.५.८ पाइटेस्ट गाइड सहितको ESP-IDF परीक्षणहरू । .
8 ESP-IDF संस्करणहरू
2645
८.१ रिलिजहरू । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६४५
८.२ मैले कुन संस्करणबाट सुरु गर्नुपर्छ? .
८.३ संस्करण योजना । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६४५
८.४ समर्थन अवधिहरू । .
८.५ हालको संस्करण जाँच गर्दै। .
८.६ गिट कार्यप्रवाह । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६४८
८.७ ESP-IDF अद्यावधिक गर्दै .
८.७.१ स्थिर रिलिजमा अद्यावधिक गर्दै। .
८.७.२ पूर्व-रिलीज संस्करणमा अद्यावधिक गर्दै। .
८.७.३ मास्टर शाखामा अद्यावधिक गर्दै। .
८.७.४ रिलिज शाखामा अद्यावधिक गर्दै। .
9 स्रोतहरू
2651
९.१ प्लेटफर्मआईओ । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६५१
९.१.१ प्लेटफर्मआईओ भनेको के हो? .
९.१.२ स्थापना । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । २६५१
९.१.३ कन्फिगरेसन । । .
९.१.४ ट्यूटोरियलहरू । .
९.१.५ परियोजना पूर्वampलेस । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । ९
९.१.६ अर्को चरणहरू । .
९.२ उपयोगी लिङ्कहरू । .
१० प्रतिलिपि अधिकार र इजाजतपत्रहरू
2653
१०.१ सफ्टवेयर प्रतिलिपि अधिकार । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६५३
१०.१.१ फर्मवेयर कम्पोनेन्टहरू । .
१०.१.२ दस्तावेजीकरण । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६५४
१०.२ ROM स्रोत कोड प्रतिलिपि अधिकारहरू । .
10.3 Xtensa libhal MIT लाइसेन्स। । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । 2655
10.4 TinyBasic Plus MIT लाइसेन्स। । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । । 2655
१०.५ TJpgDec लाइसेन्स । . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . २६५५
१३.१४ को बारेमा
2657
१२ भाषाहरू बीच स्विच गर्नुहोस्
2659
अनुक्रमणिका
2661
अनुक्रमणिका
2661
ix
x
सामग्री तालिका
यो Espressif IoT विकास फ्रेमवर्क (esp-idf) को लागि कागजात हो। ESP-IDF ESP32, ESP32-S र ESP32-C श्रृंखला SoC हरूको लागि आधिकारिक विकास फ्रेमवर्क हो। यो कागजातले ESP32 SoC सँग ESP-IDF प्रयोग गर्ने वर्णन गर्दछ।
सुरु गर्नुहोस्
API सन्दर्भ
API गाइडहरू
Espressif प्रणाली
1 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
सामग्री तालिका
Espressif प्रणाली
2 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १
सुरु गर्नुहोस्
यो कागजात Espressif द्वारा ESP32 चिपमा आधारित हार्डवेयरको लागि सफ्टवेयर विकास वातावरण सेटअप गर्न मद्दत गर्ने उद्देश्यले हो। त्यसपछि, एक साधारण उदाहरणampले तपाईंलाई मेनु कन्फिगरेसनको लागि ESP-IDF (Espressif IoT विकास फ्रेमवर्क) कसरी प्रयोग गर्ने भनेर देखाउनेछ, त्यसपछि ESP32 बोर्डमा फर्मवेयर निर्माण र फ्ल्यास गर्नको लागि।
नोट: यो ESP-IDF को स्थिर संस्करण v5.0.9 को लागि कागजात हो। अन्य ESP-IDF संस्करणहरू पनि उपलब्ध छन्।
1.1 परिचय
ESP32 एउटा चिपमा आधारित प्रणाली हो जसले निम्न सुविधाहरूलाई एकीकृत गर्दछ: · Wi-Fi (2.4 GHz ब्यान्ड) · ब्लुटुथ · दोहोरो उच्च प्रदर्शन Xtensa® 32-बिट LX6 CPU कोर · अल्ट्रा कम पावर सह-प्रोसेसर · बहु बाह्य उपकरणहरू
४० एनएम प्रविधिद्वारा सञ्चालित, ESP32 ले एक बलियो, उच्च एकीकृत प्लेटफर्म प्रदान गर्दछ, जसले कुशल पावर प्रयोग, कम्प्याक्ट डिजाइन, सुरक्षा, उच्च प्रदर्शन, र विश्वसनीयताको निरन्तर मागहरू पूरा गर्न मद्दत गर्दछ। एस्प्रेसिफले ESP32 श्रृंखला हार्डवेयर प्रयोग गरेर अनुप्रयोग विकासकर्ताहरूलाई आफ्ना विचारहरू साकार पार्न मद्दत गर्न आधारभूत हार्डवेयर र सफ्टवेयर स्रोतहरू प्रदान गर्दछ। एस्प्रेसिफको सफ्टवेयर विकास फ्रेमवर्क वाइफाइ, ब्लुटुथ, पावर व्यवस्थापन र धेरै अन्य प्रणाली सुविधाहरूको साथ इन्टरनेट अफ-थिंग्स (IoT) अनुप्रयोगहरूको विकासको लागि हो।
1.2 तपाईलाई के चाहिन्छ
1.2.1 हार्डवेयर
· ESP32 बोर्ड। · USB केबल - USB A / माइक्रो USB B। · Windows, Linux, वा macOS चल्ने कम्प्युटर।
नोट: हाल, केही विकास बोर्डहरूले USB टाइप C कनेक्टरहरू प्रयोग गरिरहेका छन्। आफ्नो बोर्ड जडान गर्न सही केबल छ भनी सुनिश्चित गर्नुहोस्!
यदि तपाईंसँग तल सूचीबद्ध ESP32 आधिकारिक विकास बोर्डहरू मध्ये एक छ भने, तपाईं हार्डवेयरको बारेमा थप जान्नको लागि लिङ्कमा क्लिक गर्न सक्नुहुन्छ।
3
अध्याय १. सुरु गर्नुहोस्
ESP32-DevKitS(-R) को लागि सोधपुछ गर्नुहोस्।
यो प्रयोगकर्ता गाइडले Esp32-DevKitS(-R) को बारेमा जानकारी प्रदान गर्दछ, जुन Espressif द्वारा उत्पादित ESP32-आधारित फ्ल्यासिङ बोर्ड हो। ESP32-DevKitS(-R) दुई बोर्ड नामहरूको संयोजन हो: ESP32-DevKitS र ESP32-DevKitS-R। S को अर्थ स्प्रिङहरू हुन्, र R को अर्थ WROVER हो।
ESP32-DevKitS का थप वस्तुहरू
ESP32-DevKitS-R को परिचय
कागजातमा निम्न प्रमुख खण्डहरू छन्: · सुरु गर्दै: एक ओभर प्रदान गर्दछview सुरु गर्न ESP32-DevKitS(-R) र हार्डवेयर/सफ्टवेयर सेटअप निर्देशनहरूको। · हार्डवेयर सन्दर्भ: ESP32-DevKitS(-R)ns हार्डवेयरको बारेमा थप विस्तृत जानकारी प्रदान गर्दछ। · सम्बन्धित कागजातहरू: सम्बन्धित कागजातहरूको लिङ्कहरू दिन्छ।
सुरु गर्दै यस खण्डले ESP32-DevKitS(-R) कसरी सुरु गर्ने भनेर वर्णन गर्दछ। यो ESP32-DevKitS(-R) को बारेमा केही परिचयात्मक खण्डहरूबाट सुरु हुन्छ, त्यसपछि बोर्ड कसरी फ्ल्याश गर्ने खण्डले ESP32-DevKitS(-R) मा मोड्युल कसरी माउन्ट गर्ने, यसलाई तयार पार्ने र यसमा फर्मवेयर कसरी फ्ल्याश गर्ने भन्ने बारे निर्देशनहरू प्रदान गर्दछ।
माथिview ESP32-DevKitS(-R) ESP32 को लागि विशेष रूपमा डिजाइन गरिएको Espressifns फ्ल्यासिङ बोर्ड हो। यसलाई पावर सप्लाई र सिग्नल लाइनहरूमा मोड्युल सोल्डर नगरी ESP32 मोड्युल फ्ल्यास गर्न प्रयोग गर्न सकिन्छ। मोड्युल जडान गरिएको भएमा, ESP32-DevKitS(-R) लाई ESP32-DevKitC जस्तै मिनी विकास बोर्डको रूपमा पनि प्रयोग गर्न सकिन्छ।
ESP32-DevKitS र ESP32-DevKitS-R बोर्डहरू निम्न ESP32 मोड्युलहरू फिट गर्न स्प्रिङ पिनको लेआउटमा मात्र भिन्न हुन्छन्।
· ESP32-DevKitS: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R: ESP32-WROVER (PCB र IPEX) ESP32-WROVER-B (PCB र IPEX) ESP32-WROVER-E ESP32-WROVER-IE
माथिका मोड्युलहरूको बारेमा जानकारीको लागि, कृपया ESP32 शृङ्खला मोड्युलहरू हेर्नुहोस्।
घटक को विवरण
Espressif प्रणाली
4 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
चित्र १: ESP32-DevKitS – अगाडि
Espressif प्रणाली
चित्र २: ESP32-DevKitS-R – अगाडि ५
कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
कुञ्जी कम्पोनेन्ट स्प्रिङ पिन २.५४ मिमी महिला हेडरहरू
USB-देखि-UART ब्रिज LDO माइक्रो-USB कनेक्टर/माइक्रो USB पोर्ट EN बटन बुट बटन
एलईडी पावर
विवरण मोड्युलमा क्लिक गर्नुहोस्। पिनहरू मोड्युलहरू क्यास्टेलेटेड प्वालहरूमा फिट हुनेछन्। यी महिला हेडरहरू यस बोर्डमा जडान गरिएका मोड्युलको पिनहरूसँग जोडिएका छन्। महिला हेडरहरूको विवरणको लागि, कृपया हेडर ब्लकहरू हेर्नुहोस्। सिंगल-चिप USB देखि UART ब्रिजले ३ Mbps सम्मको स्थानान्तरण दर प्रदान गर्दछ।
५V-देखि-३.३V कम-ड्रपआउट भोल्युमtagई नियामक (LDO)।
USB इन्टरफेस। बोर्डको लागि पावर सप्लाई साथै कम्प्युटर र बोर्ड बीचको सञ्चार इन्टरफेस।
रिसेट बटन।
डाउनलोड बटन। बुट थिचिराख्दा र त्यसपछि EN थिच्दा सिरियल पोर्ट मार्फत फर्मवेयर डाउनलोड गर्न फर्मवेयर डाउनलोड मोड सुरु हुन्छ।
USB वा पावर सप्लाई बोर्डमा जडान हुँदा सक्रिय हुन्छ।
बोर्ड कसरी फ्ल्याश गर्ने आफ्नो ESP32-DevKitS(-R लाई पावर अप गर्नु अघि, कृपया यो राम्रो अवस्थामा छ र कुनै क्षतिको स्पष्ट संकेत छैन भनी सुनिश्चित गर्नुहोस्।
आवश्यक हार्डवेयर · तपाईंको रोजाइको ESP32 मोड्युल · USB 2.0 केबल (मानक-A देखि माइक्रो-B सम्म) · Windows, Linux, वा macOS चल्ने कम्प्युटर
हार्डवेयर सेटअप कृपया निम्न चरणहरू अनुसार आफ्नो ESP32-DevKitS(-R) मा आफ्नो रोजाइको मोड्युल माउन्ट गर्नुहोस्:
· आफ्नो मोड्युललाई ESP32-DevKitS(-R) बोर्डमा बिस्तारै राख्नुहोस्। तपाईंको मोड्युलमा रहेका क्यास्टेलेटेड प्वालहरू बोर्डमा रहेका स्प्रिङ पिनहरूसँग मिल्दोजुल्दो छन् भनी सुनिश्चित गर्नुहोस्।
· तपाईंको मोड्युललाई बोर्डमा क्लिक नगरेसम्म थिच्नुहोस्। · सबै स्प्रिङ पिनहरू क्यास्टेलेटेड प्वालहरूमा घुसाइएका छन् कि छैनन् जाँच गर्नुहोस्। यदि केही गलत तरिकाले अलाइन गरिएका स्प्रिङ पिनहरू छन् भने,
चिमटीको प्रयोग गरी तिनीहरूलाई कास्टेलेटेड प्वालहरूमा राख्नुहोस्।
सफ्टवेयर सेटअप
रुचाइएको विधि ESP-IDF विकास ढाँचाले ESP32-DevKitS(-R) मा बाइनरीहरू फ्ल्याश गर्ने रुचाइएको तरिका प्रदान गर्दछ। कृपया सुरु गर्नुहोस् मा जानुहोस्, जहाँ खण्ड स्थापनाले तपाईंलाई विकास वातावरण सेट अप गर्न र त्यसपछि अनुप्रयोगलाई फ्ल्याश गर्न द्रुत रूपमा मद्दत गर्नेछ।ampतपाईंको ESP32-DevKitS(-R) मा le।
वैकल्पिक विधि विकल्पको रूपमा, विन्डोज प्रयोगकर्ताहरूले फ्ल्यास डाउनलोड उपकरण प्रयोग गरेर बाइनरीहरू फ्ल्यास गर्न सक्छन्। केवल यसलाई डाउनलोड गर्नुहोस्, अनजिप गर्नुहोस्, र कागजात फोल्डर भित्रका निर्देशनहरू पालना गर्नुहोस्।
नोट: १. बाइनरी फ्ल्यास गर्न files, ESP32 लाई फर्मवेयर डाउनलोड मोडमा सेट गर्नुपर्छ। यो फ्ल्यास उपकरणद्वारा स्वचालित रूपमा गर्न सकिन्छ, वा बुट बटन थिचेर र EN बटन ट्याप गरेर। २. बाइनरी फ्ल्यास गरेपछि files मा, Flash Download Tool ले तपाईंको ESP32 मोड्युल पुन: सुरु गर्छ र Flash गरिएको एप्लिकेसनलाई पूर्वनिर्धारित रूपमा बुट गर्छ।
बोर्ड आयाम सामग्री र प्याकेजिङ
Espressif प्रणाली
6 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस् चित्र ३: ESP32-DevKitS बोर्ड आयामहरू - पछाडि
Espressif प्रणाली
चित्र ४: ESP32-DevKitS-R बोर्ड आयामहरू - पछाडि ७
कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
खुद्रा अर्डरहरू यदि तपाईंले केही अर्डर गर्नुभयो भनेampअन्यथा, प्रत्येक ESP32-DevKitS(-R) एन्टिस्टेटिक झोलामा वा खुद्रा विक्रेताको आधारमा कुनै पनि प्याकेजिङमा व्यक्तिगत प्याकेजमा आउँछ। खुद्रा अर्डरहरूको लागि, कृपया https://www.espressif.com/en/contact-us/get-s मा जानुहोस्।ampलेस।
थोक अर्डरहरू यदि तपाईं थोकमा अर्डर गर्नुहुन्छ भने, बोर्डहरू ठूला कार्डबोर्ड बक्सहरूमा आउँछन्। थोक अर्डरहरूको लागि, कृपया https://www.espressif.com/en/contact-us/sales-questions मा जानुहोस्।
हार्डवेयर सन्दर्भ
ब्लक रेखाचित्र तलको ब्लक रेखाचित्रले ESP32-DevKitS(-R) का कम्पोनेन्टहरू र तिनीहरूको अन्तरसम्बन्धहरू देखाउँछ।
चित्र ५: ESP32-DevKitS(-R) (ठूलो बनाउन क्लिक गर्नुहोस्)
पावर सप्लाई विकल्पहरू बोर्डलाई पावर प्रदान गर्ने तीन पारस्परिक रूपमा विशेष तरिकाहरू छन्: · माइक्रो USB पोर्ट, पूर्वनिर्धारित पावर सप्लाई · 5V र GND हेडर पिनहरू · 3V3 र GND हेडर पिनहरू
पहिलो विकल्प प्रयोग गर्न सल्लाह दिइन्छ: माइक्रो USB पोर्ट।
Espressif प्रणाली
.
लेबल सिग्नल
L1 3V3 VDD 3V3
L2 EN CHIP_PU
L3 VP SENSOR_VP
L4 VN SENSOR_VN
L5 34
GPIO34
L6 35
GPIO35
L7 32
GPIO32
L8 33
GPIO33
अर्को पृष्ठमा जारी छ
8 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
तालिका 1 अघिल्लो पृष्ठबाट जारी छ
.
लेबल सिग्नल
L9 25
GPIO25
L10 26
GPIO26
L11 27
GPIO27
L12 14
GPIO14
L13 12
GPIO12
L14 GND GND
L15 13
GPIO13
L16 D2 SD_DATA2 को परिचय
L17 D3 SD_DATA3 को परिचय
L18 CMD SD_CMD
L19 5V
बाह्य 5V
R1 GND GND
R2 23
GPIO23
R3 22
GPIO22
R4 TX U0TXD
R5 RX U0RXD
R6 21
GPIO21
R7 GND GND
R8 19
GPIO19
R9 18
GPIO18
R10 5
GPIO5
R11 17
GPIO17
R12 16
GPIO16
R13 4
GPIO4
R14 0
GPIO0
R15 2
GPIO2
R16 15
GPIO15
R17 D1 SD_DATA1 को परिचय
R18 D0 SD_DATA0 को परिचय
R19 CLK SD_CLK को कीवर्डहरू
हेडर ब्लकहरू हेडर ब्लकहरूको छविको लागि, कृपया कम्पोनेन्टहरूको विवरण हेर्नुहोस्।
सम्बन्धित कागजातहरू
· ESP32-DevKitS(-R) योजनाहरू (PDF) · ESP32 डाटाशीट (PDF) · ESP32-WROOM-32 डाटाशीट (PDF) · ESP32-WROOM-32D र ESP32-WROOM-32U डाटाशीट (PDF) · ESP32-SOLO-1 डाटाशीट (PDF) · ESP32-WROVER डाटाशीट (PDF) · ESP32-WROVER-B डाटाशीट (PDF) · ESP उत्पादन चयनकर्ता
ESP32-DevKitM-1
यो प्रयोगकर्ता गाइडले तपाईंलाई ESP32-DevKitM-1 सँग सुरु गर्न मद्दत गर्नेछ र थप गहन जानकारी पनि प्रदान गर्नेछ।
ESP32-DevKitM-1 Espressif द्वारा उत्पादित ESP32-MINI-1(1U)-आधारित विकास बोर्ड हो। धेरैजसो I/O पिनहरू सजिलो इन्टरफेसिङको लागि दुवै छेउमा पिन हेडरहरूमा भाँचिएका हुन्छन्। प्रयोगकर्ताहरूले या त जम्पर तारहरूसँग बाह्य उपकरणहरू जडान गर्न सक्छन् वा ब्रेडबोर्डमा ESP32-DevKitM-1 माउन्ट गर्न सक्छन्।
Espressif प्रणाली
9 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
ESP32-DevKitM-1 - अगाडि
ESP32-DevKitM-1 – आइसोमेट्रिक
कागजातमा निम्न प्रमुख खण्डहरू छन्: · सुरु गर्दै: एक ओभर प्रदान गर्दछview सुरु गर्नका लागि ESP32-DevKitM-1 र हार्डवेयर/सफ्टवेयर सेटअप निर्देशनहरू। · हार्डवेयर सन्दर्भ: ESP32-DevKitM-1ns हार्डवेयरको बारेमा थप विस्तृत जानकारी प्रदान गर्दछ। · सम्बन्धित कागजातहरू: सम्बन्धित कागजातहरूको लिङ्कहरू दिन्छ।
सुरु गर्दै यस खण्डले ESP32-DevKitM-1 कसरी सुरु गर्ने भनेर वर्णन गर्दछ। यो ESP32-DevKitM-1 को बारेमा केही परिचयात्मक खण्डहरूबाट सुरु हुन्छ, त्यसपछि खण्ड सुरु अनुप्रयोग विकासले प्रारम्भिक हार्डवेयर सेटअप कसरी गर्ने र त्यसपछि ESP32-DevKitM-1 मा फर्मवेयर कसरी फ्ल्यास गर्ने भन्ने बारे निर्देशनहरू प्रदान गर्दछ।
माथिview यो एउटा सानो र सुविधाजनक विकास बोर्ड हो जुन सुविधाहरू:
· ESP32-MINI-1, वा ESP32-MINI-1U मोड्युल · USB-देखि-सिरियल प्रोग्रामिङ इन्टरफेस जसले बोर्डको लागि पावर सप्लाई पनि प्रदान गर्दछ · पिन हेडरहरू · फर्मवेयर डाउनलोड मोड रिसेट र सक्रिय गर्न पुशबटनहरू · केही अन्य कम्पोनेन्टहरू
सामग्री र प्याकेजिङ
खुद्रा अर्डरहरू यदि तपाईंले केही अर्डर गर्नुभयो भनेampअन्यथा, प्रत्येक ESP32-DevKitM-1 तपाईंको खुद्रा विक्रेताको आधारमा एन्टिस्टेटिक झोला वा कुनै पनि प्याकेजिङमा व्यक्तिगत प्याकेजमा आउँछ।
खुद्रा अर्डरहरूको लागि, कृपया https://www.espressif.com/en/contact-us/get-s मा जानुहोस्।ampलेस।
थोक अर्डरहरू यदि तपाईं थोकमा अर्डर गर्नुहुन्छ भने, बोर्डहरू ठूला कार्डबोर्ड बक्सहरूमा आउँछन्। थोक अर्डरहरूको लागि, कृपया https://www.espressif.com/en/contact-us/sales-questions मा जानुहोस्।
कम्पोनेन्टहरूको विवरण निम्न चित्र र तलको तालिकाले ESP32-DevKitM-1 बोर्डको मुख्य कम्पोनेन्टहरू, इन्टरफेसहरू र नियन्त्रणहरू वर्णन गर्दछ। हामी ESP32-MINI-1 मोड्युल भएको बोर्डलाई पूर्वको रूपमा लिन्छौं।ample निम्न खण्डहरूमा।
Espressif प्रणाली
10 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
चित्र ६: ESP32-DevKitM-1 – अगाडि
कुञ्जी कम्पोनेन्ट अन-बोर्ड मोड्युल
५ V देखि ३.३ V LDO बुट बटन
बटन माइक्रो-USB पोर्ट रिसेट गर्नुहोस्
USB-देखि-UART ब्रिज ३.३ V पावर अन LED
I/O कनेक्टर
विवरण
ESP32-MINI-1 मोड्युल वा ESP32-MINI-1U मोड्युल। ESP32-MINI-1 मा अन-बोर्ड PCB एन्टेना हुन्छ। ESP32-MINI-1U मा बाह्य एन्टेना कनेक्टर हुन्छ। दुवै मोड्युलमा ४ MB फ्ल्यास इन चिप प्याकेज छ। विवरणहरूको लागि, कृपया ESP32-MINI-1 र ESP32-MINI-1U डाटाशीट हेर्नुहोस्।
पावर नियामकले 5 V लाई 3.3 V मा रूपान्तरण गर्दछ।
डाउनलोड बटन। बुट होल्ड गरेर र त्यसपछि रिसेट थिच्दा सिरियल पोर्ट मार्फत फर्मवेयर डाउनलोड गर्न फर्मवेयर डाउनलोड मोड सुरु हुन्छ।
रिसेट बटन
USB इन्टरफेस। बोर्डको लागि बिजुली आपूर्ति साथै कम्प्युटर र ESP32 चिप बीच सञ्चार इन्टरफेस।
एकल USB-UART ब्रिज चिपले 3 Mbps सम्म स्थानान्तरण दरहरू प्रदान गर्दछ।
USB बोर्डमा जडान हुँदा सक्रिय हुन्छ। विवरणहरूको लागि, कृपया सम्बन्धित कागजातहरूमा योजनाहरू हेर्नुहोस्। सबै उपलब्ध GPIO पिनहरू (फ्ल्यासको लागि SPI बस बाहेक) बोर्डमा पिन हेडरहरूमा विभाजित छन्। प्रयोगकर्ताहरूले धेरै प्रकार्यहरू सक्षम गर्न ESP32 चिप प्रोग्राम गर्न सक्छन्।
एप्लिकेसन डेभलपमेन्ट सुरु गर्नुहोस्। आफ्नो ESP32-DevKitM-1 लाई पावर अप गर्नु अघि, कृपया यो राम्रो अवस्थामा छ र कुनै क्षतिको स्पष्ट संकेत छैन भनी सुनिश्चित गर्नुहोस्।
आवश्यक हार्डवेयर · ESP32-DevKitM-1 · USB 2.0 केबल (मानक-A देखि माइक्रो-B सम्म) · विन्डोज, लिनक्स, वा macOS चल्ने कम्प्युटर
सफ्टवेयर सेटअप कृपया सुरु गर्नुहोस् मा जानुहोस्, जहाँ खण्ड स्थापनाले तपाईंलाई विकास वातावरण सेटअप गर्न र त्यसपछि अनुप्रयोगलाई फ्ल्यास गर्न द्रुत रूपमा मद्दत गर्नेछ।ampतपाईंको ESP32-DevKitM-1 मा जानुहोस्।
Espressif प्रणाली
11 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
ध्यान दिनुहोस्: डिसेम्बर २, २०२१ भन्दा पहिले निर्मित ESP32-DevKitM-1 बोर्डहरूमा एकल कोर मोड्युल स्थापना गरिएको छ। तपाईंसँग कुन मोड्युल छ भनेर प्रमाणित गर्न, कृपया PCN-2021-021 मा मोड्युल मार्किङ जानकारी जाँच गर्नुहोस्। यदि तपाईंको बोर्डमा एकल कोर मोड्युल स्थापना गरिएको छ भने, कृपया तपाईंको अनुप्रयोगहरू फ्ल्यास गर्नु अघि मेनु कन्फिगमा एकल कोर मोड (CONFIG_FREERTOS_UNICORE) सक्षम गर्नुहोस्।
हार्डवेयर सन्दर्भ ब्लक रेखाचित्र तलको ब्लक रेखाचित्रले ESP32-DevKitM-1 का कम्पोनेन्टहरू र तिनीहरूको अन्तरसम्बन्धहरू देखाउँछ।
चित्र ७: ESP32-DevKitM-1
पावर स्रोत चयन गर्नुहोस् बोर्डलाई पावर प्रदान गर्ने तीन पारस्परिक रूपमा विशेष तरिकाहरू छन्: · माइक्रो USB पोर्ट, पूर्वनिर्धारित पावर सप्लाई · 5V र GND हेडर पिनहरू · 3V3 र GND हेडर पिनहरू
चेतावनी: · माथिका विकल्पहरू मध्ये एउटा मात्र प्रयोग गरेर बिजुली आपूर्ति प्रदान गर्नुपर्छ, अन्यथा बोर्ड र/वा बिजुली आपूर्ति स्रोत बिग्रन सक्छ। · माइक्रो USB पोर्टबाट बिजुली आपूर्ति गर्न सिफारिस गरिन्छ।
पिन विवरणहरू तलको तालिकाले बोर्डको दुबै छेउमा रहेका पिनहरूको नाम र कार्य प्रदान गर्दछ। परिधीय पिन कन्फिगरेसनको लागि, कृपया ESP32 डाटाशीट हेर्नुहोस्।
छैन।
नाम
टाइप गर्नुहोस्
1
GND
P
2
3V3
P
प्रकार्य ग्राउन्ड ३.३ V पावर सप्लाई
अर्को पृष्ठमा जारी छ
Espressif प्रणाली
12 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
तालिका 2 अघिल्लो पृष्ठबाट जारी छ
छैन।
नाम
टाइप गर्नुहोस्
कार्य
3
I36
I
GPIO36, ADC1_CH0, RTC_GPIO0
4
I37
I
GPIO37, ADC1_CH1, RTC_GPIO1
5
I38
I
GPIO38, ADC1_CH2, RTC_GPIO2
6
I39
I
GPIO39, ADC1_CH3, RTC_GPIO3
7
RST
I
रिसेट; उच्च: सक्षम; कम: पावर बन्द
8
I34
I
GPIO34, ADC1_CH6, RTC_GPIO4
9
I35
I
GPIO35, ADC1_CH7, RTC_GPIO5
10
IO32
I/O
GPIO32, XTAL_32K_P (३२.७६८ kHz क्रिस्टल ओसिलेटर इनपुट),
ADC1_CH4, TOUCH9, RTC_GPIO9
11
IO33
I/O
GPIO33, XTAL_32K_N (32.768 kHz क्रिस्टल ओसिलेटर आउटपुट),
ADC1_CH5, TOUCH8, RTC_GPIO8
12
IO25
I/O
GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
13
IO26
I/O
GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
14
IO27
I/O
GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
15
IO14
I/O
GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,
HS2_CLK, SD_CLK, EMAC_TXD2
16
5V
P
5V बिजुली आपूर्ति
17
IO12
I/O
GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ,
HS2_DATA2, SD_DATA2, EMAC_TXD3
18
IO13
I/O
GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID,
HS2_DATA3, SD_DATA3, EMAC_RX_ER
19
IO15
I/O
GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0,
HS2_CMD, SD_CMD, EMAC_RXD3
20
IO2
I/O
GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,
HS2_DATA0, SD_DATA0
21
IO0
I/O
GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,
EMAC_TX_CLK
22
IO4
I/O
GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,
HS2_DATA1, SD_DATA1, EMAC_TX_ER
23
IO9
I/O
GPIO9, HS1_DATA2, U1RXD, SD_DATA2
24
IO10
I/O
GPIO10, HS1_DATA3, U1TXD, SD_DATA3
25
IO5
I/O
GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK
26
IO18
I/O
GPIO18, HS1_DATA7, VSPICLK
27
IO23
I/O
GPIO23, HS1_STROBE, VSPID
28
IO19
I/O
GPIO19, VSPIQ, U0CTS, EMAC_TXD0
29
IO22
I/O
GPIO22, VSPIWP, U0RTS, EMAC_TXD1
30
IO21
I/O
GPIO21, VSPIHD, EMAC_TX_EN
31
TXD0
I/O
GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
32
RXD0
I/O
GPIO3, U0RXD, CLK_OUT2
हार्डवेयर संशोधन विवरणहरू अघिल्ला संस्करणहरू उपलब्ध छैनन्।
सम्बन्धित कागजातहरू
· ESP32-MINI-1 र ESP32-MINI-1U डाटाशीट (PDF) · ESP32-DevKitM-1 योजनाहरू (PDF) · ESP32-DevKitM-1 PCB लेआउट (PDF) · ESP32-DevKitM-1 लेआउट (DXF) - तपाईं सक्नुहुन्छ view यो Autodesk सँग Viewअनलाइन · ESP32 डाटाशीट (PDF) · ESP उत्पादन चयनकर्ता
बोर्डको लागि अन्य डिजाइन कागजातहरूको लागि, कृपया हामीलाई sales@espressif.com मा सम्पर्क गर्नुहोस्।
Espressif प्रणाली
13 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
1.2.2 सफ्टवेयर
ESP32 मा ESP-IDF प्रयोग गर्न सुरु गर्न, निम्न सफ्टवेयर स्थापना गर्नुहोस्: · ESP32 को लागि कोड कम्पाइल गर्न टूलचेन · उपकरणहरू निर्माण गर्नुहोस् - ESP32 को लागि पूर्ण अनुप्रयोग निर्माण गर्न CMake र Ninja · ESP-IDF जसमा अनिवार्य रूपमा ESP32 को लागि API (सफ्टवेयर पुस्तकालयहरू र स्रोत कोड) र टूलचेन सञ्चालन गर्न स्क्रिप्टहरू समावेश छन्।
1.3 स्थापना
सबै आवश्यक सफ्टवेयर स्थापना गर्न, हामी यो कार्यलाई सहज बनाउन केही फरक तरिकाहरू प्रस्ताव गर्दछौं। उपलब्ध विकल्पहरू मध्ये एक छनौट गर्नुहोस्।
१.३.१ IDE
नोट: हामी तपाईंको मनपर्ने IDE मार्फत ESP-IDF स्थापना गर्न सिफारिस गर्छौं।
· एक्लिप्स प्लगइन · VSCode एक्सटेन्सन
1.3.2 म्यानुअल स्थापना
म्यानुअल प्रक्रियाको लागि, कृपया आफ्नो अपरेटिङ सिस्टम अनुसार चयन गर्नुहोस्।
Espressif प्रणाली
14 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
Windows को लागि Toolchain को मानक सेटअप
परिचय ESP-IDF लाई केही पूर्व-आवश्यक उपकरणहरू स्थापना गर्न आवश्यक पर्दछ ताकि तपाईं समर्थित चिपहरूको लागि फर्मवेयर निर्माण गर्न सक्नुहुनेछ। पूर्व-आवश्यक उपकरणहरूमा Python, Git, क्रस-कम्पाइलरहरू, CMake र Ninja निर्माण उपकरणहरू समावेश छन्। यसको लागि सुरु गर्दै हामी कमाण्ड प्रम्प्ट प्रयोग गर्नेछौं, तर ESP-IDF स्थापना भएपछि तपाईंले CMake समर्थन भएको Eclipse Plugin वा अर्को ग्राफिकल IDE प्रयोग गर्न सक्नुहुन्छ। नोट: सीमाहरू: - ESP-IDF र ESP-IDF उपकरणहरूको स्थापना मार्ग 90 वर्ण भन्दा लामो हुनु हुँदैन। धेरै लामो स्थापना मार्गहरूले असफल निर्माणको परिणाम हुन सक्छ। - Python वा ESP-IDF को स्थापना मार्गमा सेतो ठाउँ वा कोष्ठकहरू हुनु हुँदैन। - Python वा ESP-IDF को स्थापना मार्गमा विशेष वर्णहरू (गैर-ASCII) हुनु हुँदैन जबसम्म अपरेटिङ सिस्टम oUnicode UTF-8psupport सँग कन्फिगर गरिएको छैन। प्रणाली प्रशासकले नियन्त्रण प्यानल मार्फत समर्थन सक्षम गर्न सक्छ - मिति, समय, वा संख्या ढाँचाहरू परिवर्तन गर्नुहोस् - प्रशासनिक ट्याब - प्रणाली लोकेल परिवर्तन गर्नुहोस् - विकल्प जाँच गर्नुहोस् oBeta: विश्वव्यापी भाषा समर्थनको लागि युनिकोड UTF-8 प्रयोग गर्नुहोस्p - ठीक छ र कम्प्युटर रिबुट गर्नुहोस्।
ESP-IDF उपकरण स्थापनाकर्ता ESP-IDFns पूर्वशर्तहरू स्थापना गर्ने सबैभन्दा सजिलो तरिका भनेको ESP-IDF उपकरण स्थापनाकर्ताहरू मध्ये एक डाउनलोड गर्नु हो।
विन्डोज इन्स्टलर डाउनलोड गर्नुहोस्
अनलाइन र अफलाइन स्थापनाकर्ताको लागि प्रयोग केस के हो अनलाइन स्थापनाकर्ता धेरै सानो छ र ESP-IDF को सबै उपलब्ध रिलीजहरूको स्थापनालाई अनुमति दिन्छ। स्थापनाकर्ताले स्थापना प्रक्रियाको क्रममा Git For Windows सहित आवश्यक निर्भरताहरू मात्र डाउनलोड गर्नेछ। स्थापनाकर्ताले डाउनलोड गरिएका भण्डारण गर्दछ। fileक्यास डाइरेक्टरी %userpro मा sfile%. espressif
अफलाइन इन्स्टलरलाई कुनै पनि नेटवर्क जडानको आवश्यकता पर्दैन। इन्स्टलरमा Git For Windows सहित सबै आवश्यक निर्भरताहरू समावेश छन्।
स्थापनाका अवयवहरू स्थापनाकर्ताले निम्न घटकहरू तैनाथ गर्दछ:
· एम्बेडेड पाइथन · क्रस-कम्पाइलरहरू · ओपनओसीडी · सीमेक र निन्जा निर्माण उपकरणहरू · ईएसपी-आईडीएफ
स्थापनाकर्ताले ESP-IDF सँग अवस्थित निर्देशिका पुन: प्रयोग गर्न पनि अनुमति दिन्छ। सिफारिस गरिएको निर्देशिका %userpro हो।file%Desktopesp-idf जहाँ %userprofile% तपाईंको गृह निर्देशिका हो।
Espressif प्रणाली
15 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
ESP-IDF वातावरण सुरु गर्दै स्थापना प्रक्रियाको अन्त्यमा तपाईंले Run ESP-IDF PowerShell वातावरण वा Run ESP-IDF कमाण्ड प्रम्प्ट (cmd.exe) विकल्प जाँच गर्न सक्नुहुन्छ। स्थापनाकर्ताले चयन गरिएको प्रम्प्टमा ESP-IDF वातावरण सुरु गर्नेछ। ESP-IDF PowerShell वातावरण चलाउनुहोस्:
चित्र ८: ESP-IDF PowerShell वातावरण चलाएर ESP-IDF उपकरण सेटअप विजार्ड पूरा गर्ने
ESP-IDF कमाण्ड प्रम्प्ट (cmd.exe) चलाउनुहोस्:
कमाण्ड प्रम्प्ट प्रयोग गर्दै बाँकी सुरु गर्ने चरणहरूको लागि, हामी विन्डोज कमाण्ड प्रम्प्ट प्रयोग गर्नेछौं। ESP-IDF उपकरण स्थापनाकर्ताले ESP-IDF कमाण्ड प्रम्प्ट सुरु गर्न स्टार्ट मेनुमा सर्टकट पनि सिर्जना गर्दछ। यो सर्टकटले कमाण्ड प्रम्प्ट (cmd.exe) सुरु गर्छ र वातावरण चरहरू (PATH, IDF_PATH र अन्य) सेट अप गर्न export.bat स्क्रिप्ट चलाउँछ। यो कमाण्ड प्रम्प्ट भित्र, सबै स्थापित उपकरणहरू उपलब्ध छन्। ध्यान दिनुहोस् कि यो सर्टकट ESP-IDF उपकरण स्थापनाकर्तामा चयन गरिएको ESP-IDF निर्देशिकाको लागि विशिष्ट छ। यदि तपाईंसँग कम्प्युटरमा धेरै ESP-IDF निर्देशिकाहरू छन् (उदाहरणका लागिampले, ESP-IDF का विभिन्न संस्करणहरूसँग काम गर्न), तपाईंसँग तिनीहरूलाई प्रयोग गर्न दुई विकल्पहरू छन्:
१. ESP-IDF Tools Installer द्वारा सिर्जना गरिएको सर्टकटको प्रतिलिपि सिर्जना गर्नुहोस्, र नयाँ सर्टकटको कार्य निर्देशिकालाई तपाईंले प्रयोग गर्न चाहनुभएको ESP-IDF निर्देशिकामा परिवर्तन गर्नुहोस्।
२. वैकल्पिक रूपमा, cmd.exe चलाउनुहोस्, त्यसपछि तपाईंले प्रयोग गर्न चाहनुभएको ESP-IDF डाइरेक्टरीमा परिवर्तन गर्नुहोस्, र export.bat चलाउनुहोस्। ध्यान दिनुहोस् कि अघिल्लो विकल्प जस्तो नभई, यस तरिकाले PATH मा Python र Git उपस्थित हुन आवश्यक छ। यदि तपाईंले Python वा Git फेला नपरेकोसँग सम्बन्धित त्रुटिहरू पाउनुभयो भने, पहिलो विकल्प प्रयोग गर्नुहोस्।
ESP-IDF मा पहिलो चरणहरू अब सबै आवश्यकताहरू पूरा भएको हुनाले, अर्को विषयले तपाईंको पहिलो परियोजना कसरी सुरु गर्ने भन्ने बारे मार्गदर्शन गर्नेछ।
Espressif प्रणाली
16 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस् चित्र ९: ESP-IDF PowerShell
चित्र १०: ESP-IDF कमाण्ड प्रम्प्ट (cmd.exe) चलाएर ESP-IDF उपकरण सेटअप विजार्ड पूरा गर्ने
Espressif प्रणाली
17 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
चित्र ११: ESP-IDF कमाण्ड प्रम्प्ट
Espressif प्रणाली
18 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
यो गाइडले तपाईंलाई ESP-IDF प्रयोग गर्ने पहिलो चरणहरूमा मद्दत गर्नेछ। ESP32 मा नयाँ परियोजना सुरु गर्न र उपकरण आउटपुट निर्माण, फ्ल्यास र निगरानी गर्न यो गाइड पालना गर्नुहोस्। नोट: यदि तपाईंले अहिलेसम्म ESP-IDF स्थापना गर्नुभएको छैन भने, कृपया स्थापनामा जानुहोस् र यो गाइड प्रयोग गर्न आवश्यक सबै सफ्टवेयर प्राप्त गर्न निर्देशनहरू पालना गर्नुहोस्।
परियोजना सुरु गर्नुहोस् अब तपाईं ESP32 को लागि आफ्नो आवेदन तयार गर्न तयार हुनुहुन्छ। तपाईं getstarted/hello_world परियोजनाको साथ पूर्वबाट सुरु गर्न सक्नुहुन्छ।ampESP-IDF मा les निर्देशिका।
महत्त्वपूर्ण: ESP-IDF निर्माण प्रणालीले ESP-IDF वा परियोजनाहरूमा जाने बाटोहरूमा खाली ठाउँहरूलाई समर्थन गर्दैन।
परियोजना get-started/hello_world लाई ~/esp डाइरेक्टरीमा प्रतिलिपि गर्नुहोस्: cd %userprofile%esp xcopy /e /i %IDF_PATH%exampलेसगेट-स्टार्टेडहेलो_विश्वहेलो_विश्व
नोट: त्यहाँ पूर्वको दायरा छampपूर्व मा ले परियोजनाहरुampESP-IDF मा les निर्देशिका। तपाईले कुनै पनि परियोजनालाई माथि प्रस्तुत गरे जस्तै प्रतिलिपि गरेर यसलाई चलाउन सक्नुहुन्छ। पूर्व निर्माण गर्न पनि सम्भव छampपहिले प्रतिलिपि नगरी ठाउँमा राख्नुहोस्।
आफ्नो उपकरण जडान गर्नुहोस् अब आफ्नो ESP32 बोर्डलाई कम्प्युटरमा जडान गर्नुहोस् र कुन सिरियल पोर्ट अन्तर्गत बोर्ड देखिन्छ भनेर जाँच गर्नुहोस्। विन्डोजमा सिरियल पोर्ट नामहरू COM बाट सुरु हुन्छन्। यदि तपाईंलाई सिरियल पोर्ट नाम कसरी जाँच गर्ने भनेर निश्चित छैन भने, कृपया पूर्ण विवरणहरूको लागि ESP32 सँग सिरियल जडान स्थापना गर्नुहोस् हेर्नुहोस्।
नोट: पोर्ट नामलाई काममा राख्नुहोस् किनकि तपाईंलाई अर्को चरणहरूमा यसको आवश्यकता पर्नेछ।
तपाईंको परियोजना कन्फिगर गर्नुहोस् तपाईंको hello_world डाइरेक्टरीमा नेभिगेट गर्नुहोस्, ESP32 लाई लक्ष्यको रूपमा सेट गर्नुहोस्, र परियोजना कन्फिगरेसन उपयोगिता menuconfig चलाउनुहोस्।
विन्डोज सीडी % युजरप्रोfile%esphello_world idf.py सेट-लक्ष्य esp32 idf.py मेनुकन्फिग
नयाँ परियोजना खोलिसकेपछि, तपाईंले पहिले idf.py set-target esp32 को साथ लक्ष्य सेट गर्नुपर्छ। ध्यान दिनुहोस् कि परियोजनामा अवस्थित निर्माणहरू र कन्फिगरेसनहरू, यदि कुनै छन् भने, यस प्रक्रियामा खाली र प्रारम्भ गरिनेछ। यो चरण छोड्नको लागि लक्ष्यलाई वातावरण चरमा बचत गर्न सकिन्छ। थप जानकारीको लागि लक्ष्य चिप चयन गर्नुहोस्: सेट-टार्गेट हेर्नुहोस्। यदि अघिल्ला चरणहरू सही रूपमा गरिएका छन् भने, निम्न मेनु देखा पर्दछ: तपाईं परियोजना विशिष्ट चरहरू सेट अप गर्न यो मेनु प्रयोग गर्दै हुनुहुन्छ, जस्तै, Wi-Fi नेटवर्क नाम र पासवर्ड, प्रोसेसर गति, आदि। menuconfig को साथ परियोजना सेट अप गर्दा ohello_wordp को लागि छोड्न सकिन्छ, किनकि यो पूर्वample पूर्वनिर्धारित कन्फिगरेसनसँग चल्छ।
ध्यान दिनुहोस्: यदि तपाईंले ESP32-SOLO-1 मोड्युल भएको ESP32-DevKitC बोर्ड वा ESP32-MIN1-1(1U) मोड्युल भएको ESP32-DevKitM-1 बोर्ड प्रयोग गर्नुहुन्छ भने, कृपया ex फ्ल्याश गर्नु अघि मेनुकन्फिगमा एकल कोर मोड (CONFIG_FREERTOS_UNICORE) सक्षम गर्नुहोस्।ampलेस।
Espressif प्रणाली
19 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
चित्र १२: परियोजना कन्फिगरेसन – गृह विन्डो
नोट: तपाईंको टर्मिनलमा मेनुको रङ फरक हुन सक्छ। तपाईंले –style विकल्प प्रयोग गरेर उपस्थिति परिवर्तन गर्न सक्नुहुन्छ। थप जानकारीको लागि कृपया idf.py menuconfig –help चलाउनुहोस्।
यदि तपाईं समर्थित विकास बोर्डहरू मध्ये एक प्रयोग गर्दै हुनुहुन्छ भने, तपाईं बोर्ड समर्थन प्याकेज प्रयोग गरेर आफ्नो विकासलाई गति दिन सक्नुहुन्छ। थप जानकारीको लागि थप सुझावहरू हेर्नुहोस्।
परियोजना निर्माण गर्नुहोस्: चलाएर परियोजना निर्माण गर्नुहोस्:
idf.py निर्माण
यो आदेशले अनुप्रयोग र सबै ESP-IDF कम्पोनेन्टहरू कम्पाइल गर्नेछ, त्यसपछि यसले बुटलोडर, विभाजन तालिका, र अनुप्रयोग बाइनरीहरू उत्पन्न गर्नेछ।
$ idf.py build /path/to/hello_world/build डाइरेक्टरीमा cmake चलाउँदै “cmake -G Ninja –warn-uninitialized /path/to/hello_world” कार्यान्वयन गर्दै… सुरु नगरिएका मानहरूको बारेमा चेतावनी दिनुहोस्। — Git फेला पर्यो: /usr/bin/git (संस्करण “2.17.0” फेला पर्यो) — कन्फिगरेसनको कारणले खाली aws_iot कम्पोनेन्ट निर्माण गर्दै — कम्पोनेन्ट नामहरू: … — कम्पोनेन्ट पथहरू: …
... (प्रणाली आउटपुट निर्माणको थप लाइनहरू)
[527/527] hello_world.bin esptool.py v2.3.1 उत्पन्न गर्दै
परियोजना निर्माण पूरा भयो। फ्ल्यास गर्न, यो आदेश चलाउनुहोस्: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world. bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin वा 'idf.py -p PORT flash' चलाउनुहोस्।
यदि कुनै त्रुटिहरू छैनन् भने, फर्मवेयर बाइनरी .bin उत्पन्न गरेर निर्माण समाप्त हुनेछ files.
Espressif प्रणाली
20 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
उपकरणमा फ्ल्यास गर्नुहोस् तपाईंले भर्खरै बनाउनुभएको बाइनरीहरू (bootloader.bin, partition-table.bin र hello_world.bin) लाई तपाईंको ESP32 बोर्डमा idf.py -p PORT [-b BAUD] फ्ल्यास चलाएर फ्ल्यास गर्नुहोस्।
PORT लाई तपाईंको ESP32 boardns सिरियल पोर्ट नामले बदल्नुहोस्। तपाईंले BAUD लाई तपाईंलाई आवश्यक पर्ने बाउड दरले बदलेर फ्ल्याशर बाउड दर पनि परिवर्तन गर्न सक्नुहुन्छ। पूर्वनिर्धारित बाउड दर 460800 हो। idf.py तर्कहरूको बारेमा थप जानकारीको लागि, idf.py हेर्नुहोस्।
नोट: विकल्प flash ले स्वचालित रूपमा परियोजना निर्माण र फ्ल्यास गर्दछ, त्यसैले idf.py build चलाउनु आवश्यक छैन।
फ्ल्यास गर्दा समस्याहरू सामना गर्नुभयो? यदि तपाईंले दिइएको आदेश चलाउनुभयो र oFailed to connectp जस्ता त्रुटिहरू देख्नुभयो भने, यसको धेरै कारणहरू हुन सक्छन्। एउटा कारण esptool.py द्वारा सामना गरिएका समस्याहरू हुन सक्छन्, जुन चिप रिसेट गर्न, ROM बुटलोडरसँग अन्तर्क्रिया गर्न र फ्ल्यास फर्मवेयर गर्न बिल्ड प्रणालीद्वारा बोलाइने उपयोगिता हो। प्रयास गर्नको लागि एउटा सरल समाधान तल वर्णन गरिएको म्यानुअल रिसेट हो, र यदि यसले मद्दत गर्दैन भने तपाईंले समस्या निवारणमा सम्भावित समस्याहरूको बारेमा थप विवरणहरू फेला पार्न सक्नुहुन्छ।
esptool.py ले USB को DTR र RTS नियन्त्रण लाइनहरूलाई सिरियल कन्भर्टर चिप, अर्थात् FTDI वा CP210x मा जोडेर ESP32 स्वचालित रूपमा रिसेट गर्छ (थप जानकारीको लागि, ESP32 सँग सिरियल जडान स्थापना गर्नुहोस् हेर्नुहोस्)। DTR र RTS नियन्त्रण लाइनहरू ESP32 को GPIO0 र CHIP_PU (EN) पिनहरूमा बारीमा जडान हुन्छन्, यसरी भोल्युममा परिवर्तन हुन्छ।tagDTR र RTS को e स्तरहरूले ESP32 लाई फर्मवेयर डाउनलोड मोडमा बुट गर्नेछ। उदाहरणको रूपमाampले, ESP32 DevKitC विकास बोर्डको लागि योजनाबद्ध जाँच गर्नुहोस्।
सामान्यतया, तपाईंलाई आधिकारिक esp-idf विकास बोर्डहरूसँग कुनै समस्या हुनुहुँदैन। यद्यपि, esptool.py ले निम्न अवस्थाहरूमा तपाईंको हार्डवेयर स्वचालित रूपमा रिसेट गर्न सक्षम छैन:
· तपाईंको हार्डवेयरमा GPIO0 र CHIP_PU मा जडान गरिएका DTR र RTS लाइनहरू छैनन् · DTR र RTS लाइनहरू फरक तरिकाले कन्फिगर गरिएका छन् · त्यस्ता कुनै पनि सिरियल नियन्त्रण लाइनहरू छैनन्।
तपाईंसँग भएको हार्डवेयरको प्रकारमा निर्भर गर्दै, तपाईंको ESP32 बोर्डलाई फर्मवेयर डाउनलोड मोड (रिसेट) मा म्यानुअल रूपमा राख्न पनि सम्भव हुन सक्छ।
· एस्प्रेसिफद्वारा उत्पादित विकास बोर्डहरूको लागि, यो जानकारी सम्बन्धित सुरुवात गाइडहरू वा प्रयोगकर्ता गाइडहरूमा फेला पार्न सकिन्छ। उदाहरणका लागिample, ESP-IDF विकास बोर्डलाई म्यानुअली रिसेट गर्न, बुट बटन (GPIO0) थिचिराख्नुहोस् र EN बटन (CHIP_PU) थिच्नुहोस्।
· अन्य प्रकारका हार्डवेयरहरूको लागि, GPIO0 लाई तल तान्ने प्रयास गर्नुहोस्।
सामान्य सञ्चालन फ्ल्यास गर्दा, तपाईंले निम्न जस्तै आउटपुट लग देख्नुहुनेछ:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev सिरियल पोर्ट /dev/ttyUSB0 जडान गर्दै…….._ चिप ESP32D0WDQ6 हो (संशोधन ०) सुविधाहरू: WiFi, BT, डुअल कोर, कोडिङ योजना कुनै पनि छैन क्रिस्टल 40MHz हो MAC: 24:0a:c4:05:b9:14 अपलोड गर्दै स्टब… चलिरहेको स्टब… चलिरहेको स्टब… बाउड दर 460800 मा परिवर्तन गर्दै परिवर्तन गरियो।
(अर्को पृष्ठमा जारी छ)
Espressif प्रणाली
21 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
(अघिल्लो पृष्ठबाट जारी) फ्ल्यास आकार कन्फिगर गर्दै... ३०७२ बाइटलाई १०३ मा संकुचित गरियो... ०x०००८००० मा लेख्दै... (१००%) ०.० सेकेन्डमा ०x०००८००० मा ३०७२ बाइट (१०३ संकुचित) लेखियो (प्रभावी ५९६२.८ kbit/s)... डेटाको ह्यास प्रमाणित गरियो। १५४०८ मा संकुचित गरियो... ०x०००१००० मा लेख्दै... (१००%) ०.४ सेकेन्डमा ०x०००१००० मा २६०९६ बाइट (१५४०८ संकुचित) लेखियो (प्रभावी ५४६.७ kbit/s)... डेटाको ह्यास प्रमाणित गरियो। १४७१०४ बाइट्सलाई ७७३६४ मा संकुचित गरियो… ०x०००१००० मा लेख्दै… (२०%) ०x०००१४००० मा लेख्दै… (४०%) ०x०००१८००० मा लेख्दै… (६०%) ०x०००१c००० मा लेख्दै… (८०%) ०x०००२०००० मा लेख्दै… (१००%) १.९ सेकेन्डमा ०x०००१००० मा १४७१०४ बाइट्स (७७३६४ संकुचित) लेखियो (प्रभावी ६१५.५ kbit/s)… डेटाको ह्यास प्रमाणित गरियो।
छोड्दै... RTS पिन मार्फत हार्ड रिसेट गर्दै... सम्पन्न भयो
यदि फ्ल्यास प्रक्रियाको अन्त्यसम्ममा कुनै समस्या भएन भने, बोर्ड रिबुट हुनेछ र theohello_worldpapplication सुरु हुनेछ। यदि तपाईं idf.py चलाउनुको सट्टा Eclipse वा VS Code IDE प्रयोग गर्न चाहनुहुन्छ भने, Eclipse Plugin, VSCode Extension हेर्नुहोस्।
आउटपुट निगरानी गर्नुहोस्। ohello_worldpis साँच्चै चलिरहेको छ कि छैन भनेर जाँच गर्न, idf.py -p PORT मनिटर टाइप गर्नुहोस् (PORT लाई आफ्नो सिरियल पोर्ट नामले बदल्न नबिर्सनुहोस्)।
यो आदेशले IDF मनिटर अनुप्रयोग सुरु गर्छ:
$ idf.py -p मनिटर डाइरेक्टरीमा idf_monitor चलाउँदै […]/esp/hello_world/build “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor अन गर्दै ११५२०० —– बन्द गर्नुहोस्: Ctrl+] | मेनु: Ctrl+T | मद्दत: Ctrl+T पछि Ctrl+H –ets जुन ८ २०१६ ००:२२:५७
पहिलो: ०x१ (POWERON_RESET), बुट: ०x१३ (SPI_FAST_FLASH_BOOT) ets जुन ८ २०१६ ००:२२:५७ …
स्टार्टअप र डायग्नोस्टिक लगहरू माथि स्क्रोल गरेपछि, तपाईंले oHello world! अनुप्रयोगद्वारा छापिएको देख्नुहुनेछ।
… नमस्ते संसार! १० सेकेन्डमा पुन: सुरु हुँदैछ… यो २ CPU कोर(हरू), WiFi/BT/BLE, सिलिकन संशोधन १, २MB बाह्य फ्ल्यास भएको esp32 चिप हो। न्यूनतम नि:शुल्क हिप साइज: २९८९६८ बाइट्स ९ सेकेन्डमा पुन: सुरु हुँदैछ… ८ सेकेन्डमा पुन: सुरु हुँदैछ… ७ सेकेन्डमा पुन: सुरु हुँदैछ…
IDF मोनिटरबाट बाहिर निस्कन सर्टकट Ctrl+] प्रयोग गर्नुहोस्।
Espressif प्रणाली
22 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
यदि अपलोड भएको केही समय पछि IDF मनिटर असफल भयो भने, वा, माथिका सन्देशहरूको सट्टा, तपाईंले तल दिइएको जस्तै अनियमित फोहोर देख्नुभयो भने, तपाईंको बोर्डले सम्भवतः २६ MHz क्रिस्टल प्रयोग गरिरहेको छ। धेरैजसो विकास बोर्ड डिजाइनहरूले ४० MHz प्रयोग गर्छन्, त्यसैले ESP-IDF ले यो फ्रिक्वेन्सीलाई पूर्वनिर्धारित मानको रूपमा प्रयोग गर्दछ।
यदि तपाईंलाई यस्तो समस्या छ भने, निम्न गर्नुहोस्: १. मनिटरबाट बाहिर निस्कनुहोस्। २. मेनुकन्फिगमा फर्कनुहोस्। ३. कम्पोनेन्ट कन्फिग > हार्डवेयर सेटिङ्स > मेन XTAL कन्फिग > मेन XTAL फ्रिक्वेन्सीमा जानुहोस्, त्यसपछि CONFIG_XTAL_FREQ_SEL लाई २६ MHz मा परिवर्तन गर्नुहोस्। ४. त्यसपछि, एप्लिकेसन फेरि बनाउनुहोस् र फ्ल्यास गर्नुहोस्।
ESP-IDF को हालको संस्करणमा, ESP32 द्वारा समर्थित मुख्य XTAL फ्रिक्वेन्सीहरू निम्नानुसार छन्:
· २६ मेगाहर्ज · ४० मेगाहर्ज
नोट: तपाईंले idf.py -p PORT फ्ल्यास मनिटर चलाएर एउटै चरणमा निर्माण, फ्ल्यासिङ र अनुगमन संयोजन गर्न सक्नुहुन्छ।
यो पनि हेर्नुहोस्: · उपयोगी सर्टकटहरू र IDF मनिटर प्रयोग गर्ने बारे थप विवरणहरूको लागि IDF मनिटर। · idf.py आदेशहरू र विकल्पहरूको पूर्ण सन्दर्भको लागि idf.py।
ESP32 सुरु गर्न यति मात्र चाहिन्छ! अब तपाईं अर्को एक्स प्रयास गर्न तयार हुनुहुन्छampकम, वा सिधै आफ्नै अनुप्रयोगहरू विकास गर्न जानुहोस्।
महत्त्वपूर्ण: केही पूर्वampESP32 मा आवश्यक हार्डवेयर समावेश नभएकोले ले ESP32 लाई समर्थन गर्दैन त्यसैले यसलाई समर्थन गर्न सकिँदैन। यदि ex बनाउँदै हुनुहुन्छ भनेampल, कृपया README जाँच गर्नुहोस् file समर्थित लक्ष्य तालिकाको लागि। यदि यो ESP32 लक्ष्य सहित उपस्थित छ, वा तालिका नै अवस्थित छैन भने, पूर्वampले ESP32 मा काम गर्नेछ।
अतिरिक्त सुझावहरू
अनुमति समस्याहरू /dev/ttyUSB0 केही Linux वितरणहरूमा, ESP32 फ्ल्यास गर्दा तपाईंले Failed to open port /dev/ttyUSB0 त्रुटि सन्देश प्राप्त गर्न सक्नुहुन्छ। हालको प्रयोगकर्तालाई डायलआउट समूहमा थपेर यो समाधान गर्न सकिन्छ।
पाइथन अनुकूलता ESP-IDF ले पाइथन ३.७ वा नयाँलाई समर्थन गर्दछ। यो आवश्यकता पूरा गर्ने तपाईंको अपरेटिङ सिस्टमलाई हालैको संस्करणमा स्तरोन्नति गर्न सिफारिस गरिन्छ। अन्य विकल्पहरूमा स्रोतहरूबाट पाइथनको स्थापना वा पाइथन संस्करण व्यवस्थापन प्रणाली जस्तै pyenv को प्रयोग समावेश छ।
बोर्ड सपोर्ट प्याकेजबाट सुरु गर्नुहोस् केही विकास बोर्डहरूमा प्रोटोटाइपिङको गति बढाउन, तपाईंले बोर्ड सपोर्ट प्याकेजहरू (BSPs) प्रयोग गर्न सक्नुहुन्छ, जसले कुनै विशेष बोर्डको प्रारम्भिकरणलाई केही फंक्शन कलहरू जत्तिकै सजिलो बनाउँछ।
Espressif प्रणाली
23 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
BSP ले सामान्यतया विकास बोर्डमा प्रदान गरिएका सबै हार्डवेयर कम्पोनेन्टहरूलाई समर्थन गर्दछ। पिनआउट परिभाषा र प्रारम्भिक कार्यहरू बाहेक, BSP ले सेन्सर, डिस्प्ले, अडियो कोडेक आदि जस्ता बाह्य कम्पोनेन्टहरूका लागि ड्राइभरहरू प्रदान गर्दछ। BSP हरू IDF कम्पोनेन्ट प्रबन्धक मार्फत वितरण गरिन्छ, त्यसैले तिनीहरू IDF कम्पोनेन्ट रजिस्ट्रीमा फेला पार्न सकिन्छ। यहाँ एक उदाहरण छampतपाईंको परियोजनामा ESP-WROVER-KIT BSP कसरी थप्ने भन्ने बारे जानकारी: idf.py add-dependency esp_wrover_kit
थप पूर्वampBSP प्रयोगको जानकारी BSP ex मा पाउन सकिन्छamples फोल्डर।
सम्बन्धित कागजातहरू स्थापना प्रक्रिया अनुकूलित गर्न चाहने उन्नत प्रयोगकर्ताहरूका लागि: · विन्डोजमा ESP-IDF उपकरणहरू अद्यावधिक गर्दै · ESP32 सँग सिरियल जडान स्थापना गर्नुहोस् · Eclipse Plugin · VSCode विस्तार · IDF मनिटर
विन्डोजमा ESP-IDF उपकरणहरू अपडेट गर्दै
स्क्रिप्ट प्रयोग गरेर ESP-IDF उपकरणहरू स्थापना गर्नुहोस्। विन्डोज कमाण्ड प्रम्प्टबाट, ESPIDF स्थापना भएको डाइरेक्टरीमा जानुहोस्। त्यसपछि चलाउनुहोस्:
install.bat
पावरशेलको लागि, ESP-IDF स्थापना भएको डाइरेक्टरीमा परिवर्तन गर्नुहोस्। त्यसपछि चलाउनुहोस्:
स्थापना गर्नुहोस्.ps1
यसले ESP-IDF प्रयोग गर्न आवश्यक उपकरणहरू डाउनलोड र स्थापना गर्नेछ। यदि उपकरणको विशिष्ट संस्करण पहिले नै स्थापित छ भने, कुनै पनि कार्य गरिने छैन। उपकरणहरू ESP-IDF उपकरण स्थापनाकर्ता प्रक्रियाको क्रममा निर्दिष्ट गरिएको निर्देशिकामा डाउनलोड र स्थापना गरिन्छ। पूर्वनिर्धारित रूपमा, यो C:Usersusername.espressif हो।
निर्यात स्क्रिप्ट प्रयोग गरेर PATH मा ESP-IDF उपकरणहरू थप्नुहोस् ESP-IDF उपकरणहरू स्थापनाकर्ताले oESP-IDF कमाण्ड प्रम्प्टको लागि स्टार्ट मेनु सर्टकट सिर्जना गर्दछ। यो सर्टकटले कमाण्ड प्रम्प्ट विन्डो खोल्छ जहाँ सबै उपकरणहरू पहिले नै छन्।
उपलब्ध छ। केही अवस्थामा, तपाईंले ESP-IDF सँग कमाण्ड प्रम्प्ट विन्डोमा काम गर्न चाहन सक्नुहुन्छ जुन त्यो सर्टकट प्रयोग गरेर सुरु गरिएको थिएन। यदि यो मामला हो भने, PATH मा ESP-IDF उपकरणहरू थप्न तलका निर्देशनहरू पालना गर्नुहोस्। कमाण्ड प्रम्प्टमा जहाँ तपाईंले ESP-IDF प्रयोग गर्न आवश्यक छ, ESP-IDF स्थापना भएको डाइरेक्टरीमा परिवर्तन गर्नुहोस्, त्यसपछि export.bat कार्यान्वयन गर्नुहोस्:
cd % userprofile%espesp-idf निर्यात.ब्याट
वैकल्पिक रूपमा, तपाईंले ESP-IDF प्रयोग गर्न चाहनुहुने Powershell मा, ESP-IDF स्थापना भएको डाइरेक्टरीमा परिवर्तन गर्नुहोस्, त्यसपछि export.ps1 कार्यान्वयन गर्नुहोस्:
सीडी ~/esp/esp-idf निर्यात.ps1
यो काम सकिएपछि, उपकरणहरू यस कमाण्ड प्रम्प्टमा उपलब्ध हुनेछन्।
ESP32 सँग सिरियल जडान स्थापना गर्नुहोस् यस खण्डले ESP32 र PC बीच सिरियल जडान कसरी स्थापना गर्ने भनेर मार्गदर्शन प्रदान गर्दछ।
Espressif प्रणाली
24 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
ESP32 लाई PC मा जडान गर्नुहोस्। USB केबल प्रयोग गरेर ESP32 बोर्डलाई PC मा जडान गर्नुहोस्। यदि उपकरण ड्राइभर स्वचालित रूपमा स्थापना भएन भने, तपाईंको ESP32 बोर्ड (वा बाह्य कन्भर्टर डोंगल) मा USB देखि सिरियल कन्भर्टर चिप पहिचान गर्नुहोस्, इन्टरनेटमा ड्राइभरहरू खोज्नुहोस् र तिनीहरूलाई स्थापना गर्नुहोस्। Espressif द्वारा उत्पादित धेरैजसो ESP32 बोर्डहरूमा स्थापित USB देखि सिरियल कन्भर्टर चिपहरूको सूची तल दिइएको छ, साथै ड्राइभरहरूको लिङ्कहरू पनि छन्:
· CP210x: CP210x USB देखि UART ब्रिज VCP ड्राइभरहरू · FTDI: FTDI भर्चुअल COM पोर्ट ड्राइभरहरू कृपया प्रयोग गरिएको विशिष्ट USB देखि सिरियल कन्भर्टर चिपको लागि बोर्ड प्रयोगकर्ता गाइड जाँच गर्नुहोस्। माथिका ड्राइभरहरू मुख्यतया सन्दर्भको लागि हुन्। सामान्य परिस्थितिमा, ड्राइभरहरू अपरेटिङ सिस्टमसँग बन्डल हुनुपर्छ र बोर्डलाई PC मा जडान गर्दा स्वचालित रूपमा स्थापना हुनुपर्छ।
विन्डोजमा पोर्ट जाँच गर्नुहोस् विन्डोज डिभाइस म्यानेजरमा पहिचान गरिएका COM पोर्टहरूको सूची जाँच गर्नुहोस्। कुन पोर्ट सूचीबाट गायब हुन्छ र फेरि देखा पर्दछ भनेर प्रमाणित गर्न ESP32 लाई विच्छेद गर्नुहोस् र फेरि जडान गर्नुहोस्। तलका चित्रहरूले ESP32 DevKitC र ESP32 WROVER KIT को लागि सिरियल पोर्ट देखाउँछन्।
चित्र १३: विन्डोज डिभाइस म्यानेजरमा ESP32-DevKitC को USB देखि UART ब्रिज
Linux र macOS मा पोर्ट जाँच गर्नुहोस् तपाईंको ESP32 बोर्ड (वा बाह्य कन्भर्टर डोंगल) को सिरियल पोर्टको लागि उपकरणको नाम जाँच गर्न, यो आदेश दुई पटक चलाउनुहोस्, पहिले बोर्ड / डोंगल अनप्लग गरेर, त्यसपछि प्लग इन गरेर। दोस्रो पटक देखा पर्ने पोर्ट तपाईंलाई आवश्यक पर्ने पोर्ट हो: Linux
ls /dev/tty*
macOS
Espressif प्रणाली
25 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
चित्र १४: विन्डोज डिभाइस म्यानेजरमा ESP-WROVER-KIT का दुई USB सिरियल पोर्टहरू
Espressif प्रणाली
26 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
ls /dev/cu.* नोट: macOS प्रयोगकर्ताहरू: यदि तपाईंले सिरियल पोर्ट देख्नुभएन भने USB/सिरियल ड्राइभरहरू स्थापना गरिएको छ कि छैन जाँच गर्नुहोस्। ड्राइभरहरूको लिङ्कहरूको लागि ESP32 लाई PC मा जडान गर्नुहोस् खण्ड हेर्नुहोस्। macOS High Sierra (10.13) को लागि, तपाईंले ड्राइभरहरूलाई लोड गर्न स्पष्ट रूपमा अनुमति दिनुपर्ने हुन सक्छ। प्रणाली प्राथमिकताहरू -> सुरक्षा र गोपनीयता -> सामान्य खोल्नुहोस् र विकासकर्ता lp बाट oSystem Software को बारेमा यहाँ देखाइएको सन्देश छ कि छैन जाँच गर्नुहोस् जहाँ विकासकर्ताको नाम सिलिकन ल्याब्स वा FTDI हो।
Linux मा डायलआउटमा प्रयोगकर्ता थप्दै हाल लग इन गरिएको प्रयोगकर्ताले USB मार्फत सिरियल पोर्ट पढ्ने र लेख्ने पहुँच राखेको हुनुपर्छ। धेरैजसो Linux वितरणहरूमा, यो निम्न आदेश प्रयोग गरेर प्रयोगकर्तालाई डायलआउट समूहमा थपेर गरिन्छ:
sudo usermod -a -G डायलआउट $USER
आर्क लिनक्समा यो निम्न आदेशको साथ uucp समूहमा प्रयोगकर्ता थपेर गरिन्छ:
sudo usermod -a -G uucp $USER
सिरियल पोर्टका लागि पढ्न र लेख्ने अनुमतिहरू सक्षम गर्न तपाईंले पुन: लगइन गर्नुभएको सुनिश्चित गर्नुहोस्।
सिरियल जडान प्रमाणित गर्नुहोस् अब सिरियल जडान सञ्चालनमा छ कि छैन भनेर प्रमाणित गर्नुहोस्। ESP32 रिसेट गरेपछि टर्मिनलमा कुनै आउटपुट प्राप्त भयो कि भनेर जाँच गरेर तपाईंले सिरियल टर्मिनल प्रोग्राम प्रयोग गरेर यो गर्न सक्नुहुन्छ। ESP32 मा पूर्वनिर्धारित कन्सोल बाउड दर ११५२०० हो।
यस उदाहरणमा विन्डोज र लिनक्सampहामी विन्डोज र लिनक्स दुवैको लागि उपलब्ध PuTTY SSH क्लाइन्ट प्रयोग गर्नेछौं। तपाईं अन्य सिरियल प्रोग्रामहरू प्रयोग गर्न सक्नुहुन्छ र तल जस्तै सञ्चार प्यारामिटरहरू सेट गर्न सक्नुहुन्छ। टर्मिनल चलाउनुहोस् र पहिचान गरिएको सिरियल पोर्ट सेट गर्नुहोस्। बाउड दर = ११५२०० (यदि आवश्यक भएमा, यसलाई प्रयोगमा रहेको चिपको पूर्वनिर्धारित बाउड दरमा परिवर्तन गर्नुहोस्), डेटा बिट = ८, स्टप बिट = १, र प्यारिटी = N। तल उदाहरणहरू छन्।ampविन्डोज र लिनक्समा पोर्ट र त्यस्ता ट्रान्समिशन प्यारामिटरहरू (छोटकरीमा ११५२००-८-१-एन भनेर वर्णन गरिएको) सेट गर्ने स्क्रिनसटहरू। माथिका चरणहरूमा तपाईंले पहिचान गर्नुभएको सिरियल पोर्ट ठ्याक्कै चयन गर्न नबिर्सनुहोस्। त्यसपछि टर्मिनलमा सिरियल पोर्ट खोल्नुहोस् र ESP32 द्वारा छापिएको कुनै लग देख्नुहुन्छ कि भनेर जाँच गर्नुहोस्। लग सामग्रीहरू ESP32 मा लोड गरिएको अनुप्रयोगमा निर्भर हुनेछ, Ex हेर्नुहोस्।ample आउटपुट।
नोट: सञ्चार काम गरिरहेको छ भनी प्रमाणित गरेपछि सिरियल टर्मिनल बन्द गर्नुहोस्। यदि तपाईंले टर्मिनल सत्र खुला राख्नुभयो भने, सिरियल पोर्ट पछि फर्मवेयर अपलोड गर्न पहुँचयोग्य हुनेछैन।
macOS सिरियल टर्मिनल प्रोग्राम स्थापना गर्ने झन्झटबाट बच्नको लागि, macOS ले स्क्रिन कमाण्ड प्रदान गर्दछ। · Linux र macOS मा Check port मा छलफल गरिए अनुसार, चलाउनुहोस्:
ls /dev/cu.* · तपाईंले यस्तै आउटपुट देख्नु पर्छ:
/dev/cu.ब्लुटुथ-इनकमिङ-पोर्ट /dev/cu.SLAB_USBtoUART USBtoUART7
/dev/cu.SLAB_
· आउटपुट तपाईंको पीसीमा जडान गरिएका बोर्डहरूको प्रकार र संख्यामा निर्भर गर्दछ। त्यसपछि तपाईंको बोर्डको उपकरणको नाम छान्नुहोस् र चलाउनुहोस् (यदि आवश्यक भएमा, प्रयोगमा रहेको चिपको पूर्वनिर्धारित बड दरमा o115200p परिवर्तन गर्नुहोस्):
स्क्रिन /dev/cu.device_name ११५२०० device_name लाई ls /dev/cu.* चलिरहेको भेटिएको नामले बदल्नुहोस्।
Espressif प्रणाली
27 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
चित्र १५: विन्डोजमा PuTTY मा सिरियल कम्युनिकेसन सेट गर्दै
Espressif प्रणाली
28 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
चित्र १६: लिनक्समा PuTTY मा सिरियल कम्युनिकेसन सेट गर्दै
Espressif प्रणाली
29 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
· तपाईंले खोजिरहनुभएको कुरा स्क्रिनमा प्रदर्शित केही लग हो। लग सामग्रीहरू ESP32 मा लोड गरिएको अनुप्रयोगमा निर्भर हुनेछ, Ex हेर्नुहोस्।ample आउटपुट। स्क्रिन सत्रबाट बाहिर निस्कन Ctrl-A + टाइप गर्नुहोस्।
नोट: सञ्चारले काम गरिरहेको छ भनी प्रमाणित गरेपछि स्क्रिन सत्रबाट बाहिर निस्कन नबिर्सनुहोस्। यदि तपाईंले यो गर्न असफल हुनुभयो र टर्मिनल विन्डो बन्द गर्नुभयो भने, सिरियल पोर्ट पछि फर्मवेयर अपलोड गर्नको लागि पहुँचयोग्य हुनेछैन।
Example आउटपुट एक पूर्वample लग तल देखाइएको छ। यदि तपाईंले केहि देख्नुभएन भने बोर्ड रिसेट गर्नुहोस्। ets जुन ८ २०१६ ००:२२:५७
पहिलो: ०x५ (DEEPSLEEP_RESET), बुट: ०x१३ (SPI_FAST_FLASH_BOOT) ets जुन ८ २०१६ ००:२२:५७
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3464 load:0x40078000,len:7828 load:0x40080000,len:252 entry 0x40080034 I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage बुटलोडर I (४५) बुट: संकलन समय १८:४८:१०
...
यदि तपाईंले पढ्न सकिने लग आउटपुट देख्न सक्नुहुन्छ भने, यसको अर्थ सिरियल जडान काम गरिरहेको छ र तपाईं स्थापनाको साथ अगाडि बढ्न र अन्ततः ESP32 मा अनुप्रयोग अपलोड गर्न तयार हुनुहुन्छ।
नोट: केही सिरियल पोर्ट वायरिङ कन्फिगरेसनहरूको लागि, ESP32 बुट हुनु र सिरियल आउटपुट उत्पादन गर्नु अघि टर्मिनल प्रोग्राममा सिरियल RTS र DTR पिनहरू असक्षम पार्नु आवश्यक छ। यो हार्डवेयरमा निर्भर गर्दछ, धेरैजसो विकास बोर्डहरू (सबै Espressif बोर्डहरू सहित) मा यो समस्या हुँदैन। यदि RTS र DTR सिधै EN र GPIO0 पिनहरूमा तार गरिएको छ भने यो समस्या उपस्थित हुन्छ। थप विवरणहरूको लागि esptool कागजात हेर्नुहोस्।
यदि तपाईं यहाँ चरण ५ बाट आउनुभएको छ भने। ESP32 विकासको लागि s/w स्थापना गर्दा ESP-IDF मा पहिलो चरणहरू, त्यसपछि तपाईं चरण ५ बाट जारी राख्न सक्नुहुन्छ। ESP-IDF मा पहिलो चरणहरू।
IDF मनिटर IDF मनिटर मुख्यतया एक सिरियल टर्मिनल प्रोग्राम हो जसले लक्षित उपकरणहरूको सिरियल पोर्टमा र त्यहाँबाट सिरियल डेटा रिले गर्दछ। यसले केही IDF-विशिष्ट सुविधाहरू पनि प्रदान गर्दछ। IDF मनिटर idf.py मनिटर चलाएर IDF परियोजनाबाट सुरु गर्न सकिन्छ।
किबोर्ड सर्टकटहरू IDF मनिटरसँग सजिलो अन्तरक्रियाको लागि, तालिकामा दिइएको किबोर्ड सर्टकटहरू प्रयोग गर्नुहोस्।
Espressif प्रणाली
30 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
किबोर्ड सर्टकट Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (वा A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (वा I)
· Ctrl+H (वा H)
· Ctrl+X (वा X)
Ctrl+C
कार्य
विवरण
कार्यक्रमबाट बाहिर निस्कनुहोस् मेनु एस्केप कुञ्जी मेनु क्यारेक्टरलाई नै रिमोटमा पठाउनुहोस्
निकास क्यारेक्टरलाई रिमोटमा पठाउनुहोस्
RTS लाइन मार्फत एप पज गर्न लक्ष्यलाई बुटलोडरमा रिसेट गर्नुहोस्।
RTS मार्फत लक्ष्य बोर्ड रिसेट गर्नुहोस्
परियोजना बनाउनुहोस् र फ्ल्यास गर्नुहोस्
एप मात्र बनाउनुहोस् र फ्ल्यास गर्नुहोस्
स्क्रिनमा लग आउटपुट प्रिन्टिङ रोक्नुहोस्/पुनः सुरु गर्नुहोस्
रोक्नुहोस्/पुन: सुरु गर्नुहोस् लग आउटपुट बचत गरियो file
रोक्नुहोस्/सुरु गर्नुहोस् समयतालिकाamps
मुद्रण
सबै किबोर्ड सर्टकटहरू प्रदर्शन गर्नुहोस्
तल दिइएको कुनै एक कुञ्जी थिच्नुहोस् र त्यसलाई पछ्याउनुहोस्।
RTS लाइन (यदि जडान गरिएको छ भने) मार्फत बुटलोडरमा लक्ष्य रिसेट गर्दछ, ताकि बोर्डले केही पनि चलाउँदैन। अर्को उपकरण सुरु हुनको लागि पर्खनु पर्दा उपयोगी। लक्ष्य बोर्ड रिसेट गर्दछ र RTS लाइन (यदि जडान गरिएको छ भने) मार्फत अनुप्रयोग पुन: सुरु गर्दछ।
परियोजना फ्ल्यास लक्ष्य चलाउन idf_monitor लाई रोक्छ, त्यसपछि idf_monitor लाई पुनः सुरु गर्छ। कुनै पनि परिवर्तन गरिएको स्रोत files पुन: कम्पाइल गरिन्छ र त्यसपछि पुन: फ्ल्याश गरिन्छ। यदि idf_monitor आर्गुमेन्ट -E बाट सुरु गरिएको थियो भने Target encrypted-flash चलाइन्छ। एप-फ्ल्याश टार्गेट चलाउन idf_monitor लाई रोक्छ, त्यसपछि idf_monitor लाई पुनः सुरु गर्छ। फ्ल्यास टार्गेट जस्तै, तर केवल मुख्य एप बनाइन्छ र पुन: फ्ल्याश गरिन्छ। यदि idf_monitor आर्गुमेन्ट -E बाट सुरु गरिएको थियो भने Target encrypted-app-flash चलाइन्छ। सक्रिय हुँदा सबै आगमन सिरियल डेटा खारेज गर्दछ। मनिटर छोडेर लग आउटपुटलाई द्रुत रूपमा पज गर्न र जाँच गर्न अनुमति दिन्छ। सिर्जना गर्दछ file प्रोजेक्ट डाइरेक्टरीमा र आउटपुट त्यसमा लेखिएको छ file जबसम्म यो उही किबोर्ड सर्टकट (वा IDF मनिटर बाहिर निस्कन्छ) द्वारा असक्षम पारिएको हुँदैन। IDF मनिटरले टाइमस्ट प्रिन्ट गर्न सक्छamp प्रत्येक पङ्क्तिको सुरुमा। समयamp ढाँचा -टाइमेस्ट द्वारा परिवर्तन गर्न सकिन्छamp-format कमाण्ड लाइन तर्क।
कार्यक्रमबाट बाहिर निस्कनुहोस्
चलिरहेको अनुप्रयोगलाई अवरुद्ध गर्नुहोस्
रनटाइममा एप्लिकेसन डिबग गर्न IDF मनिटरलाई रोक्छ र GDB प्रोजेक्ट डिबगर चलाउँछ। यसको लागि :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME विकल्प सक्षम पार्नु आवश्यक छ।
Ctrl-] र Ctrl-T बाहेक अन्य कुनै पनि कुञ्जीहरू थिचिएको भए, सिरियल पोर्ट मार्फत पठाइनेछ।
IDF-विशिष्ट सुविधाहरू
स्वचालित ठेगाना डिकोडिङ जब ESP-IDF ले ०x४_______ फारमको हेक्साडेसिमल कोड ठेगाना आउटपुट गर्छ, IDF मनिटरले स्रोत कोडमा स्थान हेर्न र प्रकार्य नाम फेला पार्न addr2line_ प्रयोग गर्दछ।
यदि ESP-IDF एप क्र्यास हुन्छ र आतंकित हुन्छ भने, एउटा दर्ता डम्प र ब्याकट्रेस उत्पादन हुन्छ, जस्तै निम्न:
Espressif प्रणाली
31 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
गुरु ध्यान त्रुटि StoreProhibited प्रकारको कोर ० मा भयो। अपवाद थियो
ह्यान्डल नगरिएको।
दर्ता डम्प:
PC
: ०x४००f३६०d पीएस
: ०x००६०३३० A०
: ०x८००dbf५६ A१
:
०x३ffb७e००
A2
: ०x३ffb१३६c A३
: ०x००६०३३० A०
: ०x००६०३३० A०
:
८x४०
A6
: ०x००६०३३० A०
: ०x००६०३३० A०
: ०x००६०३३० A०
:
०x३ffb७dd०
A10
: ०x००६०३३० A०
: ०x००६०f२३ ए१२
: ०x००६०f२३ ए१२
:
०x३ffba६d०
A14
: ०x००६०३३० A०
: ०x००००००००f रियाल
: ०x०००००१९ बहाना:
0x0000001d
EXCVADDR: 0x00000000 LBEG : 0x4000c46c लेन्ड : 0x4000c477 LCOUNT :
८x४०
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90
IDF मनिटरले डम्पमा थप विवरणहरू थप्छ:
गुरु ध्यान त्रुटि StoreProhibited प्रकारको कोर ० मा भयो। अपवाद थियो
ह्यान्डल नगरिएको।
दर्ता डम्प:
PC
: ०x४००f३६०d पीएस
: ०x००६०३३० A०
: ०x८००dbf५६ A१
:
०x३ffb७e००
०x४००f३६०d: /home/gus/esp/32/idf/ex मा दुर्घटनामा पर्न केहि गर्नुहोस्ampसुरु/सुरुवात/
नमस्ते_विश्व/मुख्य/./नमस्ते_विश्व_मुख्य.c:57
(इनलाइन गरिएको) /home/gus/esp/32/idf/ex मा inner_dont_crashampसुरु गरौं/नमस्ते_
संसार/मुख्य/./नमस्ते_विश्व_माइन.c:52
A2
: ०x३ffb१३६c A३
: ०x००६०३३० A०
: ०x००६०३३० A०
:
८x४०
A6
: ०x००६०३३० A०
: ०x००६०३३० A०
: ०x००६०३३० A०
:
०x३ffb७dd०
A10
: ०x००६०३३० A०
: ०x००६०f२३ ए१२
: ०x००६०f२३ ए१२
:
०x३ffba६d०
A14
: ०x००६०३३० A०
: ०x००००००००f रियाल
: ०x०००००१९ बहाना:
0x0000001d
EXCVADDR: 0x00000000 LBEG : 0x4000c46c लेन्ड : 0x4000c477 LCOUNT :
८x४०
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/ hello_world/main/./hello_world_main.c:57 (इनलाइन गरिएको) /home/gus/esp/32/idf/ex मा inner_dont_crashamples/get-started/hello_ world/main/./hello_world_main.c:52 0x400dbf56: /home/gus/esp/32/idf/ex मा still_dont_crashamples/get-started/hello_ world/main/./hello_world_main.c:47 0x400dbf5e: /home/gus/esp/32/idf/ex मा क्र्यास नगर्नुहोस्amples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: /home/gus/esp/32/idf/ex मा app_mainamples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254 मा main_task
प्रत्येक ठेगाना डिकोड गर्न, IDF मनिटरले पृष्ठभूमिमा निम्न आदेश चलाउँछ: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS
नोट: वातावरण चर ESP_MONITOR_DECODE लाई ० मा सेट गर्नुहोस् वा विशिष्ट कमाण्ड लाइनको साथ idf_monitor.py मा कल गर्नुहोस्।
Espressif प्रणाली
32 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
विकल्प: idf_monitor.py –disable-address-decoding ठेगाना डिकोडिङ असक्षम पार्न।
जडानमा लक्ष्य रिसेट पूर्वनिर्धारित रूपमा, IDF मनिटरले जडान गर्दा लक्ष्यलाई रिसेट गर्नेछ। लक्ष्य चिपको रिसेट DTR र RTS सिरियल लाइनहरू प्रयोग गरेर गरिन्छ। IDF मनिटरलाई जडानमा लक्ष्यलाई स्वचालित रूपमा रिसेट गर्नबाट रोक्नको लागि, –no-reset विकल्प (जस्तै, idf_monitor.py –no-reset) प्रयोग गरेर IDF मनिटरलाई कल गर्नुहोस्।
नोट: –no-reset विकल्पले IDF मनिटरलाई कुनै विशेष पोर्टमा जडान गर्दा पनि उही व्यवहार लागू गर्छ (जस्तै, idf.py मनिटर –no-reset -p [PORT])।
GDBStub मार्फत GDB सुरु गर्दै GDBStub एउटा उपयोगी रनटाइम डिबगिङ सुविधा हो जुन लक्ष्यमा चल्छ र डिबगिङ आदेशहरू प्राप्त गर्न सिरियल पोर्टमा होस्टसँग जडान हुन्छ। GDBStub ले मेमोरी र चरहरू पढ्ने, कल स्ट्याक फ्रेमहरू जाँच गर्ने आदि जस्ता आदेशहरूलाई समर्थन गर्दछ। यद्यपि GDBStub J भन्दा कम बहुमुखी छ।TAG डिबगिङ गर्दा, यसलाई कुनै विशेष हार्डवेयर आवश्यक पर्दैन (जस्तै JTAG USB ब्रिजमा) किनकि सञ्चार पूर्ण रूपमा सिरियल पोर्ट मार्फत गरिन्छ। CONFIG_ESP_SYSTEM_PANIC लाई रनटाइममा GDBStub मा सेट गरेर पृष्ठभूमिमा GDBStub चलाउन लक्ष्य कन्फिगर गर्न सकिन्छ। सिरियल पोर्टमा Ctrl+C सन्देश नपठाएसम्म GDBStub पृष्ठभूमिमा चल्नेछ र GDBStub लाई कार्यक्रम बिच्छेदन (अर्थात्, कार्यान्वयन रोक्न) गराउँछ, जसले गर्दा GDBStub लाई डिबगिङ आदेशहरू ह्यान्डल गर्न अनुमति दिन्छ। यसबाहेक, प्यानिक ह्यान्डलरलाई CONFIG_ESP_SYSTEM_PANIC लाई प्यानिकमा GDBStub मा सेट गरेर क्र्यासमा GDBStub चलाउन कन्फिगर गर्न सकिन्छ। जब क्र्यास हुन्छ, GDBStub ले सिरियल पोर्टमा यो चलिरहेको छ भनेर संकेत गर्न एक विशेष स्ट्रिङ ढाँचा आउटपुट गर्नेछ। दुबै अवस्थामा (अर्थात्, Ctrl+C सन्देश पठाउने, वा विशेष स्ट्रिङ ढाँचा प्राप्त गर्ने), IDF मनिटरले प्रयोगकर्तालाई डिबगिङ आदेशहरू पठाउन अनुमति दिन स्वचालित रूपमा GDB सुरु गर्नेछ। GDB बाहिर निस्केपछि, लक्ष्य RTS सिरियल लाइन मार्फत रिसेट हुन्छ। यदि यो लाइन जडान गरिएको छैन भने, प्रयोगकर्ताहरूले आफ्नो लक्ष्य रिसेट गर्न सक्छन् (बोर्डन्स रिसेट बटन थिचेर)।
नोट: पृष्ठभूमिमा, IDF मनिटरले GDB सुरु गर्न निम्न आदेश चलाउँछ:
xtensa-esp32-elf-gdb -ex “सिरियल बाउड सेट गर्नुहोस् BAUD” -ex “टार्गेट रिमोट पोर्ट” -ex इन्टरप्ट बिल्ड/PROJECT.elf :idf_target:`हेलो नाम चिप`
आउटपुट फिल्टरिङ IDF मनिटरलाई idf.py मनिटर –print-filter=”xyz” को रूपमा बोलाउन सकिन्छ, जहाँ –print-filter आउटपुट फिल्टरिङको लागि प्यारामिटर हो। पूर्वनिर्धारित मान खाली स्ट्रिङ हो, जसको अर्थ सबै कुरा छापिएको छ।
के छाप्ने भन्ने बारे प्रतिबन्धहरूलाई श्रृंखलाको रूपमा निर्दिष्ट गर्न सकिन्छtag>: वस्तुहरू जहाँtag> हो tag स्ट्रिङ र लगिङको लागि स्तरलाई जनाउने सेट {N, E, W, I, D, V, *} बाट एउटा वर्ण हो।
पूर्वका लागिampले, PRINT_FILTER=”tag1:W” ले ESP_LOGW(“) सँग लेखिएका आउटपुटहरू मात्र मिलाउँछ र प्रिन्ट गर्छ।tag१”, …) वा कम शब्दावलम्बन स्तरमा, अर्थात् ESP_LOGE(“tag१″, …)। निर्दिष्ट नगरिएको वा Verbose स्तरमा * पूर्वनिर्धारितहरू प्रयोग गर्दै।
नोट: लगिङ लाइब्रेरी मार्फत तपाईंलाई आवश्यक नभएका आउटपुटहरू संकलन गर्दा असक्षम पार्न प्राथमिक लगिङ प्रयोग गर्नुहोस्। IDF मनिटरको साथ आउटपुट फिल्टरिङ एक माध्यमिक समाधान हो जुन अनुप्रयोग पुन: कम्पाइल नगरी फिल्टरिङ विकल्पहरू समायोजन गर्न उपयोगी हुन सक्छ।
तपाईंको एप tags आउटपुट फिल्टरिङ सुविधासँग मिल्दो हुनको लागि खाली ठाउँ, तारा चिन्ह *, वा कोलोन : हुनु हुँदैन।
यदि तपाईंको एपमा आउटपुटको अन्तिम लाइन क्यारिज रिटर्न पछि परेन भने, आउटपुट फिल्टरिङ भ्रमित हुन सक्छ, अर्थात्, मनिटरले लाइन प्रिन्ट गर्न थाल्छ र पछि पत्ता लगाउँछ कि लाइन लेख्नु हुँदैनथ्यो। यो एक ज्ञात समस्या हो र सधैं क्यारिज रिटर्न थपेर बच्न सकिन्छ (विशेष गरी जब कुनै आउटपुट तुरुन्तै पछि आउँदैन)।
Espressif प्रणाली
33 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
Exampफिल्टरिङ नियमका केही बुँदाहरू:
· * कुनै पनि मिलाउन प्रयोग गर्न सकिन्छ tags। यद्यपि, स्ट्रिङ PRINT_FILTER=”*:I tag१:E” को सम्बन्धमा tag१ ले त्रुटिहरू मात्र छाप्छ, किनभने नियमको लागि tag१ को प्राथमिकता * को नियम भन्दा बढी छ।
· पूर्वनिर्धारित (खाली) नियम *:V सँग बराबर छ किनभने प्रत्येकसँग मेल खान्छ tag शब्दावली स्तर वा तल्लोमा भनेको सबै कुरा मिलाउनु हो।
· “*:N” ले लगिङ प्रकार्यहरूबाट प्राप्त हुने आउटपुटहरू मात्र होइन, तर printf, आदि द्वारा बनाइएका प्रिन्टहरूलाई पनि दबाउँछ। यसबाट बच्नको लागि, *:E वा उच्च शब्दावलम्बन स्तर प्रयोग गर्नुहोस्।
· नियमहरू “tag१:V", "tag१:v", "tag१:", "tag१:*", र "tag१” बराबर छन्। · नियम “tag२: डब्लु tag१:E” भनेको “tag१:E” किनभने उस्तै कुनै पनि परिणामस्वरूप हुने घटना tag
नामले अघिल्लोलाई अधिलेखन गर्छ। · नियम “tag०.०: म tag२:W” मात्र छाप्छ tag१ मा जानकारी शब्दावली स्तर वा कम र tagचेतावनीमा २
शब्दावली स्तर वा कम। · नियम “tag०.०: म tag२: डब्लु tag३:N” अनिवार्य रूपमा अघिल्लोसँग बराबर छ किनभने tag३:N ले निर्दिष्ट गर्दछ
त्यो tag३ छाप्नु हुँदैन। · tag३:N नियममा “tag०.०: म tag२: डब्लु tag3:N *:V” बढी अर्थपूर्ण छ किनभने बिना tag३:N द
tag३ सन्देशहरू छाप्न सकिन्थ्यो; त्रुटिहरू tag१ र tag२ निर्दिष्ट (वा कम) शब्दावली स्तरमा छापिनेछ र बाँकी सबै कुरा पूर्वनिर्धारित रूपमा छापिनेछ।
अझ जटिल फिल्टरिङ उदाहरणample निम्न लग स्निपेट कुनै पनि फिल्टरिङ विकल्प बिना प्राप्त गरिएको थियो:
load:0x40078000,len:13564 प्रविष्टि 0x40078d4c E (31) esp_image: 0x30000 मा रहेको छविमा अवैध जादुई बाइट छ W (31) esp_image: 0x30000 मा रहेको छविमा अवैध SPI मोड छ 255 E (39) बुट: फ्याक्ट्री एप विभाजन बुट गर्न मिल्दैन I (568) cpu_start: Pro cpu up। I (569) heap_init: सुरु गर्दै। गतिशील आवंटनको लागि RAM उपलब्ध छ: I (603) cpu_start: Pro cpu स्टार्ट प्रयोगकर्ता कोड D (309) light_driver: [light_init, 74]: स्थिति: 1, मोड: 2 D (318) vfs: esp_vfs_register_fd_range दायराको लागि सफल छ <54; ६४) र VFS ID १ I (३२८) वाइफाइ: वाइफाइ ड्राइभर टास्क: ३ffdbf८४, प्रियो:२३, स्ट्याक:४०९६, कोर=०
फिल्टरिङ विकल्पहरूको लागि क्याप्चर गरिएको आउटपुट PRINT_FILTER=”wifi esp_image:E light_driver:I” तल दिइएको छ:
E (३१) esp_image: ०x३००० मा रहेको छविमा अवैध जादुई बाइट छ I (३२८) वाइफाइ: वाइफाइ ड्राइभर कार्य: ३ffdbf८४, प्रियो:२३, स्ट्याक: ४०९६, कोर=०
“PRINT_FILTER=”light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V” विकल्पहरूले निम्न आउटपुट देखाउँछन्:
load:0x40078000,len:13564 प्रविष्टि 0x40078d4c I (569) heap_init: सुरु हुँदैछ। गतिशील आवंटनको लागि RAM उपलब्ध छ: D (309) light_driver: [light_init, 74]: स्थिति: 1, मोड: 2
IDF मनिटरसँग ज्ञात समस्याहरू
विन्डोजमा देखिएका समस्याहरू
· विन्डोज कन्सोल सीमितताका कारणले गर्दा तीर कुञ्जीहरू, साथै केही अन्य कुञ्जीहरू GDB मा काम गर्दैनन्। · कहिलेकाहीं, जब oidf.pypexits, यो IDF मनिटर पुन: सुरु हुनुभन्दा ३० सेकेन्डसम्म रोकिन सक्छ। · जब ogdbpis चल्छ, यो GDBStub सँग सञ्चार सुरु गर्नुभन्दा केही समय अघि रोकिन सक्छ।
Espressif प्रणाली
34 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. Linux र macOS को लागि मानक टूलचेन सेटअप सुरु गर्नुहोस्
चरणबद्ध स्थापना यो तपाईंलाई स्थापना प्रक्रियामा लैजानको लागि विस्तृत रोडम्याप हो।
विकास वातावरण सेटअप गर्दै तपाईंको ESP32 को लागि ESP-IDF सेटअप गर्ने चरणहरू यी हुन्। · चरण १. पूर्व-आवश्यकताहरू स्थापना गर्नुहोस् · चरण २. ESP-IDF प्राप्त गर्नुहोस् · चरण ३. उपकरणहरू सेटअप गर्नुहोस् · चरण ४. वातावरण चरहरू सेटअप गर्नुहोस् · चरण ५. ESP-IDF मा पहिलो चरणहरू
चरण १. पूर्व आवश्यकताहरू स्थापना गर्नुहोस् ESP32 सँग ESP-IDF प्रयोग गर्नको लागि, तपाईंले आफ्नो अपरेटिङ सिस्टममा आधारित केही सफ्टवेयर प्याकेजहरू स्थापना गर्न आवश्यक छ। यो सेटअप गाइडले तपाईंलाई Linux र macOS आधारित प्रणालीहरूमा सबै कुरा स्थापना गर्न मद्दत गर्नेछ।
लिनक्स प्रयोगकर्ताहरूका लागि ESP-IDF प्रयोग गरेर कम्पाइल गर्न तपाईंले निम्न प्याकेजहरू प्राप्त गर्नुपर्नेछ। चलाउने आदेश तपाईंले प्रयोग गरिरहनुभएको लिनक्सको कुन वितरणमा निर्भर गर्दछ:
· उबुन्टु र डेबियन: sudo apt-get install git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· CentOS ७ र ८: sudo yum -y अपडेट && sudo yum स्थापना git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 अझै पनि समर्थित छ तर राम्रो प्रयोगकर्ता अनुभवको लागि CentOS संस्करण 8 सिफारिस गरिएको छ। · आर्क: sudo pacman -S –needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
नोट: · ESP-IDF सँग प्रयोगको लागि CMake संस्करण ३.१६ वा नयाँ आवश्यक छ। यदि तपाईंको OS संस्करणहरूमा उपयुक्त संस्करण छैन भने उपयुक्त संस्करण स्थापना गर्न otools/idf_tools.py install cmakep चलाउनुहोस्। · यदि तपाईंले माथिको सूचीमा आफ्नो Linux वितरण देख्नुभएन भने प्याकेज स्थापनाको लागि कुन आदेश प्रयोग गर्ने भनेर पत्ता लगाउन कृपया यसको कागजातहरू जाँच गर्नुहोस्।
macOS प्रयोगकर्ताहरूका लागि ESP-IDF ले macOS मा पूर्वनिर्धारित रूपमा स्थापित Python को संस्करण प्रयोग गर्नेछ। · CMake & Ninja बिल्ड स्थापना गर्नुहोस्: यदि तपाईंसँग HomeBrew छ भने, तपाईं चलाउन सक्नुहुन्छ: brew install cmake ninja dfu-util यदि तपाईंसँग MacPorts छ भने, तपाईं चलाउन सक्नुहुन्छ: sudo port install cmake ninja dfu-util अन्यथा, macOS स्थापना डाउनलोडहरूको लागि CMake र Ninja गृह पृष्ठहरू हेर्नुहोस्।
Espressif प्रणाली
35 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
· छिटो निर्माणको लागि ccache पनि स्थापना गर्न दृढतापूर्वक सिफारिस गरिन्छ। यदि तपाईंसँग HomeBrew छ भने, यो MacPorts मा brew install ccache वा sudo port install ccache मार्फत गर्न सकिन्छ।
नोट: यदि कुनै पनि चरणको क्रममा यस्तो त्रुटि देखियो भने: xcrun: त्रुटि: अवैध सक्रिय विकासकर्ता मार्ग (/Library/Developer/CommandLineTools), /Library/Developer/CommandLineTools/usr/bin/xcrun मा xcrun छुटेको छ।
त्यसपछि जारी राख्नको लागि तपाईंले XCode कमाण्ड लाइन उपकरणहरू स्थापना गर्नुपर्नेछ। तपाईं xcode-select –install चलाएर यी स्थापना गर्न सक्नुहुन्छ।
एप्पल M1 प्रयोगकर्ताहरू यदि तपाईंले एप्पल M1 प्लेटफर्म प्रयोग गर्नुहुन्छ र यस्तो त्रुटि देख्नुहुन्छ भने: चेतावनी: उपकरण xtensa-esp32-elf संस्करण esp-2021r2-patch3-8.4.0 को लागि निर्देशिका उपस्थित छ, तर उपकरण फेला परेन त्रुटि: उपकरण xtensa-esp32-elf मा कुनै स्थापित संस्करणहरू छैनन्। कृपया यसलाई स्थापना गर्न 'install.sh' चलाउनुहोस्।
वा: zsh: कार्यान्वयनयोग्यमा खराब CPU प्रकार: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
त्यसपछि तपाईंले /usr/sbin/softwareupdate –install-rosetta –agree-to-license चलाएर Apple Rosetta 2 स्थापना गर्नुपर्नेछ।
पाइथन ३ स्थापना गर्दै macOS Catalina १०.१५ रिलिज नोटहरूमा आधारित, पाइथन २.७ को प्रयोग सिफारिस गरिएको छैन र पाइथन २.७ लाई macOS को भविष्यका संस्करणहरूमा पूर्वनिर्धारित रूपमा समावेश गरिने छैन। तपाईंसँग हाल के पाइथन छ भनेर जाँच गर्नुहोस्: पाइथन –संस्करण
यदि आउटपुट पाइथन २.७.१७ जस्तै छ भने, तपाईंको पूर्वनिर्धारित इन्टरप्रेटर पाइथन २.७ हो। यदि त्यसो हो भने, तपाईंको कम्प्युटरमा पाइथन ३ पहिले नै स्थापना गरिएको छैन कि छैन भनेर पनि जाँच गर्नुहोस्: पाइथन३ –संस्करण
यदि माथिको आदेशले त्रुटि फर्काउँछ भने, यसको अर्थ पाइथन ३ स्थापना भएको छैन। तल एउटा ओभर छview पाइथन ३ स्थापना गर्ने चरणहरू।
· HomeBrew सँग स्थापना गर्न निम्नानुसार गर्न सकिन्छ: brew install python3
· यदि तपाईंसँग म्याकपोर्टहरू छन् भने, तपाईं चलाउन सक्नुहुन्छ: sudo port install python38
चरण २. ESP-IDF प्राप्त गर्नुहोस् ESP32 का लागि एप्लिकेसनहरू निर्माण गर्न, तपाईंलाई ESP-IDF भण्डारमा Espressif द्वारा प्रदान गरिएको सफ्टवेयर लाइब्रेरीहरू आवश्यक पर्दछ। ESP-IDF प्राप्त गर्न, तपाईंको स्थापना निर्देशिकामा नेभिगेट गर्नुहोस् र git clone प्रयोग गरेर भण्डार क्लोन गर्नुहोस्, तल दिइएको निर्देशनहरू पालना गर्नुहोस्, तपाईंको अपरेटिङ सिस्टमको लागि निर्दिष्ट। टर्मिनल खोल्नुहोस्, र निम्न आदेशहरू चलाउनुहोस्:
Espressif प्रणाली
36 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
mkdir -p ~/esp cd ~/esp git क्लोन -b v5.0.9 –पुनरावृत्ति https://github.com/espressif/esp-idf.git
ESP-IDF ~/esp/esp-idf मा डाउनलोड हुनेछ। दिइएको अवस्थामा कुन ESP-IDF संस्करण प्रयोग गर्ने बारे जानकारीको लागि ESP-IDF संस्करणहरू परामर्श गर्नुहोस्।
चरण ३. उपकरणहरू सेटअप गर्नुहोस् ESP-IDF बाहेक, तपाईंले ESP32 लाई समर्थन गर्ने परियोजनाहरूको लागि ESP-IDF द्वारा प्रयोग गरिएका उपकरणहरू जस्तै कम्पाइलर, डिबगर, पाइथन प्याकेजहरू, आदि पनि स्थापना गर्न आवश्यक छ। cd ~/esp/esp-idf ./install.sh esp32
वा फिश शेल सीडी ~/esp/esp-idf ./install.fish esp32 सँग
माथिका आदेशहरूले ESP32 को लागि मात्र उपकरणहरू स्थापना गर्छन्। यदि तपाईं थप चिप लक्ष्यहरूको लागि परियोजनाहरू विकास गर्न चाहनुहुन्छ भने तपाईंले ती सबैलाई सूचीबद्ध गर्नुपर्छ र पूर्वको लागि चलाउनु पर्छ।ampले: सीडी ~/esp/esp-idf ./install.sh esp32,esp32s2
वा फिश शेल सीडीको साथ ~/esp/esp-idf ./install.fish esp32,esp32s2
सबै समर्थित लक्ष्यहरूको लागि उपकरणहरू स्थापना गर्न कृपया निम्न आदेश चलाउनुहोस्: cd ~/esp/esp-idf ./install.sh all
वा फिश शेल सीडी ~/esp/esp-idf ./install.fish सबैसँग
नोट: macOS प्रयोगकर्ताहरूका लागि, यदि कुनै पनि चरणको क्रममा यस्तो त्रुटि देखियो भने:urlखुला त्रुटि [SSL: CERTIFICATE_VERIFY_FAILED] प्रमाणपत्र प्रमाणीकरण असफल भयो: स्थानीय जारीकर्ता प्रमाणपत्र प्राप्त गर्न असमर्थ (_ssl.c:xxx)
प्रमाणपत्रहरू स्थापना गर्न तपाईंले आफ्नो कम्प्युटरको पाइथन फोल्डरमा Install Certificates.command चलाउन सक्नुहुन्छ। विवरणहरूको लागि, ESP-IDF उपकरणहरू स्थापना गर्दा डाउनलोड त्रुटि हेर्नुहोस्।
वैकल्पिक File डाउनलोडहरू उपकरण स्थापनाकर्ताले धेरै डाउनलोड गर्दछ files GitHub रिलिजहरूमा संलग्न छन्। यदि GitHub पहुँच ढिलो छ भने GitHub सम्पत्ति डाउनलोडहरूको लागि Espressifns डाउनलोड सर्भरलाई प्राथमिकता दिन वातावरण चर सेट गर्न सम्भव छ।
नोट: यो सेटिङले GitHub रिलिजहरूबाट डाउनलोड गरिएका व्यक्तिगत उपकरणहरूलाई मात्र नियन्त्रण गर्छ, यसले परिवर्तन गर्दैन URLकुनै पनि Git भण्डारहरू पहुँच गर्न प्रयोग गरिन्छ।
उपकरणहरू स्थापना गर्दा Espressif डाउनलोड सर्भरलाई प्राथमिकता दिन, install.sh चलाउँदा निम्न आदेशहरूको अनुक्रम प्रयोग गर्नुहोस्:
Espressif प्रणाली
37 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
cd ~/esp/esp-idf निर्यात IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
उपकरण स्थापना मार्ग अनुकूलन गर्दै यस चरणमा प्रस्तुत गरिएका स्क्रिप्टहरूले प्रयोगकर्ता गृह निर्देशिका भित्र ESP-IDF द्वारा आवश्यक संकलन उपकरणहरू स्थापना गर्दछ: $HOME/.espressif Linux मा। यदि तपाईं उपकरणहरूलाई फरक निर्देशिकामा स्थापना गर्न चाहनुहुन्छ भने, स्थापना स्क्रिप्टहरू चलाउनु अघि वातावरण चर IDF_TOOLS_PATH सेट गर्नुहोस्। यो मार्ग पढ्न र लेख्नको लागि तपाईंको प्रयोगकर्ता खातामा पर्याप्त अनुमतिहरू छन् भनी सुनिश्चित गर्नुहोस्। यदि IDF_TOOLS_PATH परिवर्तन गर्दै हुनुहुन्छ भने, स्थापना स्क्रिप्ट (install.bat, install.ps1 वा install.sh) र निर्यात स्क्रिप्ट (export.bat, export.ps1 वा export.sh) कार्यान्वयन गर्दा प्रत्येक पटक यो समान मानमा सेट गरिएको छ भनी सुनिश्चित गर्नुहोस्।
चरण ४। वातावरण चरहरू सेट अप गर्नुहोस् स्थापित उपकरणहरू अझै PATH वातावरण चरमा थपिएका छैनन्। कमाण्ड लाइनबाट उपकरणहरू प्रयोगयोग्य बनाउन, केही वातावरण चरहरू सेट गर्नुपर्छ। ESP-IDF ले अर्को स्क्रिप्ट प्रदान गर्दछ जसले त्यो गर्छ। टर्मिनलमा जहाँ तपाईं ESP-IDF प्रयोग गर्न जाँदै हुनुहुन्छ, चलाउनुहोस्:
। $HOME/esp/esp-idf/export.sh
वा माछाको लागि (माछा संस्करण ३.०.० देखि मात्र समर्थित):
. $HOME/esp/esp-idf/export.fish
अग्रणी डट र मार्ग बीचको खाली ठाउँलाई ध्यान दिनुहोस्! यदि तपाईं esp-idf बारम्बार प्रयोग गर्ने योजनामा हुनुहुन्छ भने, तपाईं export.sh कार्यान्वयन गर्नको लागि उपनाम सिर्जना गर्न सक्नुहुन्छ:
१. निम्न आदेशलाई प्रतिलिपि गरेर आफ्नो shellns pro मा टाँस्नुहोस्।file (.प्रोfile, .bashrc, .zprofile, आदि)
उपनाम get_idf='. $HOME/esp/esp-idf/export.sh' २. टर्मिनल सत्र पुन: सुरु गरेर वा स्रोत चलाएर कन्फिगरेसन रिफ्रेस गर्नुहोस् [pro को बाटोfile],
पूर्वका लागिample, source ~/.bashrc. अब तपाईं कुनै पनि टर्मिनल सत्रमा esp-idf वातावरण सेटअप वा रिफ्रेस गर्न get_idf चलाउन सक्नुहुन्छ। प्राविधिक रूपमा, तपाईं आफ्नो shellns प्रोमा export.sh थप्न सक्नुहुन्छ।file प्रत्यक्ष रूपमा; यद्यपि, यो सिफारिस गरिएको छैन। त्यसो गर्नाले प्रत्येक टर्मिनल सत्रमा IDF भर्चुअल वातावरण सक्रिय हुन्छ (IDF आवश्यक नभएकाहरू सहित), भर्चुअल वातावरणको उद्देश्यलाई पराजित गर्दछ र सम्भवतः अन्य सफ्टवेयरलाई असर गर्छ।
चरण ५. ESP-IDF मा पहिलो चरणहरू अब सबै आवश्यकताहरू पूरा भएको हुनाले, अर्को विषयले तपाईंको पहिलो परियोजना कसरी सुरु गर्ने भन्ने बारे मार्गदर्शन गर्नेछ। यो गाइडले तपाईंलाई ESP-IDF प्रयोग गर्ने पहिलो चरणहरूमा मद्दत गर्नेछ। ESP32 मा नयाँ परियोजना सुरु गर्न र उपकरण आउटपुट निर्माण, फ्ल्यास र निगरानी गर्न यो गाइड पालना गर्नुहोस्।
नोट: यदि तपाईंले अहिलेसम्म ESP-IDF स्थापना गर्नुभएको छैन भने, कृपया स्थापनामा जानुहोस् र यो गाइड प्रयोग गर्न आवश्यक सबै सफ्टवेयर प्राप्त गर्न निर्देशनहरू पालना गर्नुहोस्।
परियोजना सुरु गर्नुहोस् अब तपाईं ESP32 को लागि आफ्नो आवेदन तयार गर्न तयार हुनुहुन्छ। तपाईं getstarted/hello_world परियोजनाको साथ पूर्वबाट सुरु गर्न सक्नुहुन्छ।ampESP-IDF मा les निर्देशिका।
महत्त्वपूर्ण: ESP-IDF निर्माण प्रणालीले ESP-IDF वा परियोजनाहरूमा जाने बाटोहरूमा खाली ठाउँहरूलाई समर्थन गर्दैन।
प्रोजेक्ट get-started/hello_world लाई ~/esp डाइरेक्टरीमा प्रतिलिपि गर्नुहोस्:
Espressif प्रणाली
38 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world।
नोट: त्यहाँ पूर्वको दायरा छampपूर्व मा ले परियोजनाहरुampESP-IDF मा les निर्देशिका। तपाईले कुनै पनि परियोजनालाई माथि प्रस्तुत गरे जस्तै प्रतिलिपि गरेर यसलाई चलाउन सक्नुहुन्छ। पूर्व निर्माण गर्न पनि सम्भव छampपहिले प्रतिलिपि नगरी ठाउँमा राख्नुहोस्।
आफ्नो उपकरण जडान गर्नुहोस् अब आफ्नो ESP32 बोर्डलाई कम्प्युटरमा जडान गर्नुहोस् र कुन सिरियल पोर्ट अन्तर्गत बोर्ड देखिन्छ भनेर जाँच गर्नुहोस्। सिरियल पोर्टहरूमा निम्न नामकरण ढाँचाहरू हुन्छन्:
· Linux: /dev/tty बाट सुरु हुँदै · macOS: /dev/cu बाट सुरु हुँदै। यदि तपाईंलाई सिरियल पोर्ट नाम कसरी जाँच गर्ने भनेर निश्चित छैन भने, कृपया पूर्ण विवरणहरूको लागि ESP32 सँग सिरियल जडान स्थापना गर्नुहोस् हेर्नुहोस्।
नोट: पोर्ट नामलाई काममा राख्नुहोस् किनकि तपाईंलाई अर्को चरणहरूमा यसको आवश्यकता पर्नेछ।
तपाईंको परियोजना कन्फिगर गर्नुहोस् तपाईंको hello_world डाइरेक्टरीमा नेभिगेट गर्नुहोस्, ESP32 लाई लक्ष्यको रूपमा सेट गर्नुहोस्, र परियोजना कन्फिगरेसन उपयोगिता menuconfig चलाउनुहोस्। cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
नयाँ परियोजना खोलिसकेपछि, तपाईंले पहिले idf.py set-target esp32 को साथ लक्ष्य सेट गर्नुपर्छ। ध्यान दिनुहोस् कि परियोजनामा अवस्थित निर्माणहरू र कन्फिगरेसनहरू, यदि कुनै छन् भने, यस प्रक्रियामा खाली र प्रारम्भ गरिनेछ। यो चरण छोड्नको लागि लक्ष्यलाई वातावरण चरमा बचत गर्न सकिन्छ। थप जानकारीको लागि लक्ष्य चिप चयन गर्नुहोस्: सेट-टार्गेट हेर्नुहोस्। यदि अघिल्ला चरणहरू सही रूपमा गरिएका छन् भने, निम्न मेनु देखा पर्दछ:
चित्र १७: परियोजना कन्फिगरेसन - गृह विन्डो तपाईं यो मेनु प्रयोग गर्दै हुनुहुन्छ परियोजना विशिष्ट चरहरू सेट अप गर्न, जस्तै, Wi-Fi नेटवर्क नाम र पासवर्ड, प्रोसेसर गति, आदि। menuconfig सँग परियोजना सेट अप गर्न छोड्न सकिन्छ forohello_worldp, किनकि यो उदाहरणampले दौडन्छ
Espressif प्रणाली
39 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
पूर्वनिर्धारित कन्फिगरेसन।
ध्यान दिनुहोस्: यदि तपाईंले ESP32-SOLO-1 मोड्युल भएको ESP32-DevKitC बोर्ड वा ESP32-MIN1-1(1U) मोड्युल भएको ESP32-DevKitM-1 बोर्ड प्रयोग गर्नुहुन्छ भने, कृपया ex फ्ल्याश गर्नु अघि मेनुकन्फिगमा एकल कोर मोड (CONFIG_FREERTOS_UNICORE) सक्षम गर्नुहोस्।ampलेस।
नोट: तपाईंको टर्मिनलमा मेनुको रङ फरक हुन सक्छ। तपाईंले –style विकल्प प्रयोग गरेर उपस्थिति परिवर्तन गर्न सक्नुहुन्छ। थप जानकारीको लागि कृपया idf.py menuconfig –help चलाउनुहोस्।
यदि तपाईं समर्थित विकास बोर्डहरू मध्ये एक प्रयोग गर्दै हुनुहुन्छ भने, तपाईं बोर्ड समर्थन प्याकेज प्रयोग गरेर आफ्नो विकासलाई गति दिन सक्नुहुन्छ। थप जानकारीको लागि थप सुझावहरू हेर्नुहोस्।
परियोजना निर्माण गर्नुहोस्: चलाएर परियोजना निर्माण गर्नुहोस्:
idf.py निर्माण
यो आदेशले अनुप्रयोग र सबै ESP-IDF कम्पोनेन्टहरू कम्पाइल गर्नेछ, त्यसपछि यसले बुटलोडर, विभाजन तालिका, र अनुप्रयोग बाइनरीहरू उत्पन्न गर्नेछ।
$ idf.py build /path/to/hello_world/build डाइरेक्टरीमा cmake चलाउँदै “cmake -G Ninja –warn-uninitialized /path/to/hello_world” कार्यान्वयन गर्दै… सुरु नगरिएका मानहरूको बारेमा चेतावनी दिनुहोस्। — Git फेला पर्यो: /usr/bin/git (संस्करण “2.17.0” फेला पर्यो) — कन्फिगरेसनको कारणले खाली aws_iot कम्पोनेन्ट निर्माण गर्दै — कम्पोनेन्ट नामहरू: … — कम्पोनेन्ट पथहरू: …
... (प्रणाली आउटपुट निर्माणको थप लाइनहरू)
[527/527] hello_world.bin esptool.py v2.3.1 उत्पन्न गर्दै
परियोजना निर्माण पूरा भयो। फ्ल्यास गर्न, यो आदेश चलाउनुहोस्: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world. bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin वा 'idf.py -p PORT flash' चलाउनुहोस्।
यदि कुनै त्रुटिहरू छैनन् भने, फर्मवेयर बाइनरी .bin उत्पन्न गरेर निर्माण समाप्त हुनेछ files.
उपकरणमा फ्ल्यास गर्नुहोस् तपाईंले भर्खरै बनाउनुभएको बाइनरीहरू (bootloader.bin, partition-table.bin र hello_world.bin) लाई तपाईंको ESP32 बोर्डमा चलाएर फ्ल्यास गर्नुहोस्:
idf.py -p पोर्ट [-b BAUD] फ्लैश
PORT लाई तपाईंको ESP32 boardns सिरियल पोर्ट नामले बदल्नुहोस्। तपाईंले BAUD लाई तपाईंलाई आवश्यक पर्ने बाउड दरले बदलेर फ्ल्याशर बाउड दर पनि परिवर्तन गर्न सक्नुहुन्छ। पूर्वनिर्धारित बाउड दर 460800 हो। idf.py तर्कहरूको बारेमा थप जानकारीको लागि, idf.py हेर्नुहोस्।
नोट: विकल्प flash ले स्वचालित रूपमा परियोजना निर्माण र फ्ल्यास गर्दछ, त्यसैले idf.py build चलाउनु आवश्यक छैन।
Espressif प्रणाली
40 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
फ्ल्यास गर्दा समस्याहरू सामना गर्नुभयो? यदि तपाईंले दिइएको आदेश चलाउनुभयो र oFailed to connectp जस्ता त्रुटिहरू देख्नुभयो भने, यसको धेरै कारणहरू हुन सक्छन्। एउटा कारण esptool.py द्वारा सामना गरिएका समस्याहरू हुन सक्छन्, जुन चिप रिसेट गर्न, ROM बुटलोडरसँग अन्तर्क्रिया गर्न र फ्ल्यास फर्मवेयर गर्न बिल्ड प्रणालीद्वारा बोलाइने उपयोगिता हो। प्रयास गर्नको लागि एउटा सरल समाधान तल वर्णन गरिएको म्यानुअल रिसेट हो, र यदि यसले मद्दत गर्दैन भने तपाईंले समस्या निवारणमा सम्भावित समस्याहरूको बारेमा थप विवरणहरू फेला पार्न सक्नुहुन्छ।
esptool.py ले USB को DTR र RTS नियन्त्रण लाइनहरूलाई सिरियल कन्भर्टर चिप, अर्थात् FTDI वा CP210x मा जोडेर ESP32 स्वचालित रूपमा रिसेट गर्छ (थप जानकारीको लागि, ESP32 सँग सिरियल जडान स्थापना गर्नुहोस् हेर्नुहोस्)। DTR र RTS नियन्त्रण लाइनहरू ESP32 को GPIO0 र CHIP_PU (EN) पिनहरूमा बारीमा जडान हुन्छन्, यसरी भोल्युममा परिवर्तन हुन्छ।tagDTR र RTS को e स्तरहरूले ESP32 लाई फर्मवेयर डाउनलोड मोडमा बुट गर्नेछ। उदाहरणको रूपमाampले, ESP32 DevKitC विकास बोर्डको लागि योजनाबद्ध जाँच गर्नुहोस्।
सामान्यतया, तपाईंलाई आधिकारिक esp-idf विकास बोर्डहरूसँग कुनै समस्या हुनुहुँदैन। यद्यपि, esptool.py ले निम्न अवस्थाहरूमा तपाईंको हार्डवेयर स्वचालित रूपमा रिसेट गर्न सक्षम छैन:
· तपाईंको हार्डवेयरमा GPIO0 र CHIP_PU मा जडान गरिएका DTR र RTS लाइनहरू छैनन् · DTR र RTS लाइनहरू फरक तरिकाले कन्फिगर गरिएका छन् · त्यस्ता कुनै पनि सिरियल नियन्त्रण लाइनहरू छैनन्।
तपाईंसँग भएको हार्डवेयरको प्रकारमा निर्भर गर्दै, तपाईंको ESP32 बोर्डलाई फर्मवेयर डाउनलोड मोड (रिसेट) मा म्यानुअल रूपमा राख्न पनि सम्भव हुन सक्छ।
· एस्प्रेसिफद्वारा उत्पादित विकास बोर्डहरूको लागि, यो जानकारी सम्बन्धित सुरुवात गाइडहरू वा प्रयोगकर्ता गाइडहरूमा फेला पार्न सकिन्छ। उदाहरणका लागिample, ESP-IDF विकास बोर्डलाई म्यानुअली रिसेट गर्न, बुट बटन (GPIO0) थिचिराख्नुहोस् र EN बटन (CHIP_PU) थिच्नुहोस्।
· अन्य प्रकारका हार्डवेयरहरूको लागि, GPIO0 लाई तल तान्ने प्रयास गर्नुहोस्।
सामान्य सञ्चालन फ्ल्यास गर्दा, तपाईंले निम्न जस्तै आउटपुट लग देख्नुहुनेछ:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev सिरियल पोर्ट /dev/ttyUSB0 जडान गर्दै…….._ चिप ESP32D0WDQ6 हो (संशोधन ०) सुविधाहरू: WiFi, BT, डुअल कोर, कोडिङ योजना कुनै पनि छैन क्रिस्टल 40MHz हो MAC: 24:0a:c4:05:b9:14 अपलोड गर्दै स्टब… चलिरहेको स्टब… चलिरहेको स्टब… बाउड दर 460800 मा परिवर्तन गर्दै परिवर्तन गरियो। फ्ल्यास साइज कन्फिगर गर्दै... ३०७२ बाइटलाई १०३ मा संकुचित गरियो... ०x०००८००० मा लेख्दै... (१००%) ०.० सेकेन्डमा ०x०००८००० मा ३०७२ बाइट (१०३ संकुचित) लेखियो (प्रभावी ५९६२.८ kbit/s)... डेटाको ह्यास प्रमाणित गरियो। १५४०८ मा संकुचित गरियो... ०x०००१००० मा लेख्दै... (१००%) ०.४ सेकेन्डमा ०x०००१००० मा २६०९६ बाइट (१५४०८ संकुचित) लेखियो (प्रभावी ५४६.७ kbit/s)... डेटाको ह्यास प्रमाणित गरियो। १४७१०४ बाइटलाई ७७३६४ मा संकुचित गरियो… ०x०००१०००० मा लेख्दै… (२०%) ०x०००१४००० मा लेख्दै… (४०%) ०x०००१८००० मा लेख्दै… (६०%) ०x०००१c००० मा लेख्दै… (८०%)
(अर्को पृष्ठमा जारी छ)
Espressif प्रणाली
41 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
(अघिल्लो पृष्ठबाट जारी) ०x०००२०००० मा लेख्दै… (१००%) १.९ सेकेन्डमा ०x०००१०००० मा १४७१०४ बाइट (७७३६४ कम्प्रेस गरिएको) लेखियो (प्रभावी ६१५.५ kbit/s)… डेटाको ह्यास प्रमाणित भयो।
छोड्दै... RTS पिन मार्फत हार्ड रिसेट गर्दै... सम्पन्न भयो
यदि फ्ल्यास प्रक्रियाको अन्त्यसम्ममा कुनै समस्या भएन भने, बोर्ड रिबुट हुनेछ र theohello_worldpapplication सुरु हुनेछ। यदि तपाईं idf.py चलाउनुको सट्टा Eclipse वा VS Code IDE प्रयोग गर्न चाहनुहुन्छ भने, Eclipse Plugin, VSCode Extension हेर्नुहोस्।
आउटपुट निगरानी गर्नुहोस्। ohello_worldpis साँच्चै चलिरहेको छ कि छैन भनेर जाँच गर्न, idf.py -p PORT मनिटर टाइप गर्नुहोस् (PORT लाई आफ्नो सिरियल पोर्ट नामले बदल्न नबिर्सनुहोस्)। यो आदेशले IDF मनिटर अनुप्रयोग सुरु गर्छ:
$ idf.py -p मनिटर डाइरेक्टरीमा idf_monitor चलाउँदै […]/esp/hello_world/build “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor अन गर्दै ११५२०० —– बन्द गर्नुहोस्: Ctrl+] | मेनु: Ctrl+T | मद्दत: Ctrl+T पछि Ctrl+H –ets जुन ८ २०१६ ००:२२:५७
पहिलो: ०x१ (POWERON_RESET), बुट: ०x१३ (SPI_FAST_FLASH_BOOT) ets जुन ८ २०१६ ००:२२:५७ …
स्टार्टअप र डायग्नोस्टिक लगहरू माथि स्क्रोल गरेपछि, तपाईंले oHello world! अनुप्रयोगद्वारा छापिएको देख्नुहुनेछ।
… नमस्ते संसार! १० सेकेन्डमा पुन: सुरु हुँदैछ… यो २ CPU कोर(हरू), WiFi/BT/BLE, सिलिकन संशोधन १, २MB बाह्य फ्ल्यास भएको esp32 चिप हो। न्यूनतम नि:शुल्क हिप साइज: २९८९६८ बाइट्स ९ सेकेन्डमा पुन: सुरु हुँदैछ… ८ सेकेन्डमा पुन: सुरु हुँदैछ… ७ सेकेन्डमा पुन: सुरु हुँदैछ…
IDF मनिटरबाट बाहिर निस्कन सर्टकट Ctrl+] प्रयोग गर्नुहोस्। यदि IDF मनिटर अपलोड भएको केही समय पछि असफल भयो भने, वा, माथिका सन्देशहरूको सट्टा, तपाईंले तल दिइएको जस्तै अनियमित फोहोर देख्नुभयो भने, तपाईंको बोर्डले सम्भवतः २६ MHz क्रिस्टल प्रयोग गरिरहेको छ। धेरैजसो विकास बोर्ड डिजाइनहरूले ४० MHz प्रयोग गर्छन्, त्यसैले ESP-IDF ले यो फ्रिक्वेन्सीलाई पूर्वनिर्धारित मानको रूपमा प्रयोग गर्दछ।
यदि तपाईंलाई यस्तो समस्या छ भने, निम्न गर्नुहोस्:
१. मनिटरबाट बाहिर निस्कनुहोस्। २. मेनुकन्फिगमा फर्कनुहोस्। ३. कम्पोनेन्ट कन्फिग > हार्डवेयर सेटिङ्स > मेन एक्सटीएएल कन्फिग > मेन एक्सटीएएलमा जानुहोस्।
फ्रिक्वेन्सी, त्यसपछि CONFIG_XTAL_FREQ_SEL लाई २६ MHz मा परिवर्तन गर्नुहोस्। ४. त्यसपछि, एप्लिकेसन फेरि बनाउनुहोस् र फ्ल्यास गर्नुहोस्।
Espressif प्रणाली
42 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
ESP-IDF को हालको संस्करणमा, ESP32 द्वारा समर्थित मुख्य XTAL फ्रिक्वेन्सीहरू निम्नानुसार छन्:
· २६ मेगाहर्ज · ४० मेगाहर्ज
नोट: तपाईंले idf.py -p PORT फ्ल्यास मनिटर चलाएर एउटै चरणमा निर्माण, फ्ल्यासिङ र अनुगमन संयोजन गर्न सक्नुहुन्छ।
यो पनि हेर्नुहोस्: · उपयोगी सर्टकटहरू र IDF मनिटर प्रयोग गर्ने बारे थप विवरणहरूको लागि IDF मनिटर। · idf.py आदेशहरू र विकल्पहरूको पूर्ण सन्दर्भको लागि idf.py।
ESP32 सुरु गर्न यति मात्र चाहिन्छ! अब तपाईं अर्को एक्स प्रयास गर्न तयार हुनुहुन्छampकम, वा सिधै आफ्नै अनुप्रयोगहरू विकास गर्न जानुहोस्।
महत्त्वपूर्ण: केही पूर्वampESP32 मा आवश्यक हार्डवेयर समावेश नभएकोले ले ESP32 लाई समर्थन गर्दैन त्यसैले यसलाई समर्थन गर्न सकिँदैन। यदि ex बनाउँदै हुनुहुन्छ भनेampल, कृपया README जाँच गर्नुहोस् file समर्थित लक्ष्य तालिकाको लागि। यदि यो ESP32 लक्ष्य सहित उपस्थित छ, वा तालिका नै अवस्थित छैन भने, पूर्वampले ESP32 मा काम गर्नेछ।
अतिरिक्त सुझावहरू
अनुमति समस्याहरू /dev/ttyUSB0 केही Linux वितरणहरूमा, ESP32 फ्ल्यास गर्दा तपाईंले Failed to open port /dev/ttyUSB0 त्रुटि सन्देश प्राप्त गर्न सक्नुहुन्छ। हालको प्रयोगकर्तालाई डायलआउट समूहमा थपेर यो समाधान गर्न सकिन्छ।
पाइथन अनुकूलता ESP-IDF ले पाइथन ३.७ वा नयाँलाई समर्थन गर्दछ। यो आवश्यकता पूरा गर्ने तपाईंको अपरेटिङ सिस्टमलाई हालैको संस्करणमा स्तरोन्नति गर्न सिफारिस गरिन्छ। अन्य विकल्पहरूमा स्रोतहरूबाट पाइथनको स्थापना वा पाइथन संस्करण व्यवस्थापन प्रणाली जस्तै pyenv को प्रयोग समावेश छ।
बोर्ड समर्थन प्याकेजबाट सुरु गर्नुहोस् केही विकास बोर्डहरूमा प्रोटोटाइपिङलाई गति दिन, तपाईंले बोर्ड समर्थन प्याकेजहरू (BSPs) प्रयोग गर्न सक्नुहुन्छ, जसले केही प्रकार्य कलहरू जत्तिकै विशेष बोर्डको प्रारम्भिकरणलाई सजिलो बनाउँछ। BSP ले सामान्यतया विकास बोर्डमा प्रदान गरिएका सबै हार्डवेयर कम्पोनेन्टहरूलाई समर्थन गर्दछ। पिनआउट परिभाषा र प्रारम्भिकरण प्रकार्यहरू बाहेक, BSP ले सेन्सरहरू, डिस्प्लेहरू, अडियो कोडेकहरू आदि जस्ता बाह्य कम्पोनेन्टहरूका लागि ड्राइभरहरू सहित पठाउँछ। BSP हरू IDF कम्पोनेन्ट प्रबन्धक मार्फत वितरण गरिन्छ, त्यसैले तिनीहरू IDF कम्पोनेन्ट रजिस्ट्रीमा फेला पार्न सकिन्छ। यहाँ एक उदाहरण छampतपाईंको परियोजनामा ESP-WROVER-KIT BSP कसरी थप्ने भन्ने बारे जानकारी: idf.py add-dependency esp_wrover_kit
थप पूर्वampBSP प्रयोगको जानकारी BSP ex मा पाउन सकिन्छamples फोल्डर।
सुझाव: ESP-IDF अद्यावधिक गर्दै नयाँ संस्करणहरूले बगहरू समाधान गर्ने र/वा नयाँ सुविधाहरू प्रदान गर्ने भएकोले समय-समयमा ESP-IDF अद्यावधिक गर्न सिफारिस गरिन्छ। कृपया ध्यान दिनुहोस् कि प्रत्येक ESP-IDF प्रमुख र माइनर रिलीज संस्करणसँग सम्बन्धित समर्थन अवधि हुन्छ, र जब एउटा रिलीज शाखा जीवनको अन्त्य (EOL) नजिकिँदैछ, सबै प्रयोगकर्ताहरूलाई आफ्ना परियोजनाहरूलाई हालसालैका ESP-IDF रिलीजहरूमा स्तरवृद्धि गर्न प्रोत्साहित गरिन्छ, समर्थन अवधिहरूको बारेमा थप जान्नको लागि, ESP-IDF संस्करणहरू हेर्नुहोस्।
Espressif प्रणाली
43 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १. सुरु गर्नुहोस्
अपडेट गर्ने सबैभन्दा सरल तरिका भनेको अवस्थित esp-idf फोल्डर मेटाउनु र यसलाई फेरि क्लोन गर्नु हो, मानौं चरण २ मा वर्णन गरिएको प्रारम्भिक स्थापना गर्दै। ESP-IDF प्राप्त गर्नुहोस्। अर्को समाधान भनेको परिवर्तन भएको कुरा मात्र अपडेट गर्नु हो। अपडेट प्रक्रिया तपाईंले प्रयोग गरिरहनुभएको ESP-IDF को संस्करणमा निर्भर गर्दछ। ESP-IDF अद्यावधिक गरेपछि, नयाँ ESP-IDF संस्करणलाई उपकरणहरूको फरक संस्करणहरू आवश्यक परेमा, स्थापना स्क्रिप्ट फेरि कार्यान्वयन गर्नुहोस्। चरण ३ मा निर्देशनहरू हेर्नुहोस्। उपकरणहरू सेट अप गर्नुहोस्। नयाँ उपकरणहरू स्थापना भएपछि, निर्यात स्क्रिप्ट प्रयोग गरेर वातावरण अपडेट गर्नुहोस्। चरण ४ मा निर्देशनहरू हेर्नुहोस्। वातावरण चरहरू सेट अप गर्नुहोस्।
सम्बन्धित कागजातहरू · ESP32 सँग सिरियल जडान स्थापना गर्नुहोस् · Eclipse Plugin · VSCode एक्सटेन्सन · IDF मनिटर
१.४ आफ्नो पहिलो परियोजना बनाउनुहोस्
यदि तपाईंले पहिले नै ESP-IDF स्थापना गर्नुभएको छ र IDE प्रयोग गरिरहनुभएको छैन भने, तपाईंले Windows मा परियोजना सुरु गर्नुहोस् वा Linux र macOS मा परियोजना सुरु गर्नुहोस् पछि कमाण्ड लाइनबाट आफ्नो पहिलो परियोजना निर्माण गर्न सक्नुहुन्छ।
१.५ ESP-IDF अनइन्स्टल गर्नुहोस्
यदि तपाईं ESP-IDF हटाउन चाहनुहुन्छ भने, कृपया ESP-IDF अनइन्स्टल गर्नुहोस्।
Espressif प्रणाली
44 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय १
API सन्दर्भ
२.१ एपीआई कन्भेन्सनहरू
यो कागजातले ESP-IDF एप्लिकेसन प्रोग्रामिङ इन्टरफेस (API) मा सामान्य मान्यताहरू र मान्यताहरूको वर्णन गर्दछ। ESP-IDF ले धेरै प्रकारका प्रोग्रामिङ इन्टरफेसहरू प्रदान गर्दछ:
· सार्वजनिक हेडरमा घोषित C प्रकार्यहरू, संरचनाहरू, enums, प्रकार परिभाषाहरू र प्रिप्रोसेसर म्याक्रोहरू fileESPIDF कम्पोनेन्टहरूको विवरण। प्रोग्रामिङ गाइडको API सन्दर्भ खण्डका विभिन्न पृष्ठहरूमा यी प्रकार्यहरू, संरचनाहरू र प्रकारहरूको विवरणहरू छन्।
· प्रणाली प्रकार्यहरू, पूर्वनिर्धारित चरहरू र विकल्पहरू निर्माण गर्नुहोस्। यी निर्माण प्रणाली गाइडमा दस्तावेज गरिएका छन्। · Kconfig विकल्पहरू कोड र निर्माण प्रणालीमा प्रयोग गर्न सकिन्छ (CMakeLists.txt) files. · होस्ट उपकरणहरू र तिनीहरूको कमाण्ड लाइन प्यारामिटरहरू पनि ESP-IDF इन्टरफेसको भाग हुन्। ESP-IDF मा विशेष गरी ESP-IDF साथै तेस्रो-पक्ष पुस्तकालयहरूको लागि लेखिएका कम्पोनेन्टहरू हुन्छन्। केही अवस्थामा, ESP-IDF-विशिष्ट र्यापर तेस्रो-पक्ष पुस्तकालयमा थपिन्छ, जसले गर्दा बाँकी ESP-IDF सुविधाहरूसँग सरल वा राम्रोसँग एकीकृत इन्टरफेस प्रदान गरिन्छ। अन्य अवस्थामा, तेस्रो-पक्ष पुस्तकालयको मूल API अनुप्रयोग विकासकर्ताहरूलाई प्रस्तुत गरिन्छ। निम्न खण्डहरूले ESP-IDF API हरू र तिनीहरूको प्रयोगका केही पक्षहरू व्याख्या गर्छन्।
१ Error त्रुटि ह्यान्डलिंग
धेरैजसो ESP-IDF API हरूले esp_err_t प्रकारसँग परिभाषित त्रुटि कोडहरू फर्काउँछन्। त्रुटि ह्यान्डलिङ दृष्टिकोणहरूको बारेमा थप जानकारीको लागि त्रुटि ह्यान्डलिङ खण्ड हेर्नुहोस्। त्रुटि कोड सन्दर्भमा ESP-IDF घटकहरू द्वारा फिर्ता गरिएका त्रुटि कोडहरूको सूची समावेश छ।
२.१.२ कन्फिगरेसन संरचनाहरू
महत्त्वपूर्ण: ESP-IDF को भविष्यका संस्करणहरूसँग अनुप्रयोगलाई उपयुक्त बनाउन कन्फिगरेसन संरचनाहरूको सही सुरुवात एक महत्त्वपूर्ण भाग हो।
ESP-IDF मा धेरैजसो प्रारम्भिक वा कन्फिगरेसन प्रकार्यहरूले कन्फिगरेसन संरचनाको लागि तर्कको रूपमा सूचक लिन्छन्। उदाहरणका लागिampLe:
45
अध्याय २. API सन्दर्भ
const esp_timer_create_args_t मेरो_टाइमर_आर्ग्स = { .कलब्याक = र मेरो_टाइमर_कलब्याक, .आर्ग = कलब्याक_आर्ग, .नाम = "मेरो_टाइमर"
}; esp_timer_handle_t मेरो_टाइमर; esp_err_t त्रुटि = esp_timer_create(&मेरो_टाइमर_आर्ग्स, &मेरो_टाइमर);
प्रारम्भिक कार्यहरूले कहिल्यै पनि पोइन्टरलाई कन्फिगरेसन संरचनामा भण्डारण गर्दैनन्, त्यसैले स्ट्याकमा संरचना आवंटित गर्न सुरक्षित हुन्छ।
अनुप्रयोगले संरचनाको सबै क्षेत्रहरू सुरु गर्नुपर्छ। निम्न गलत छ:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* गलत! .arg र .name फिल्डहरू सुरु गरिएका छैनन् */ esp_timer_create(&my_timer_args, &my_timer);
धेरैजसो ESP-IDF पूर्वampसंरचना प्रारम्भिकरणको लागि C99 तोकिएको प्रारम्भिककर्ताहरू प्रयोग गर्दछ, किनकि तिनीहरूले क्षेत्रहरूको उपसमूह सेट गर्ने र बाँकी क्षेत्रहरूलाई शून्य-प्रारम्भिकरण गर्ने संक्षिप्त तरिका प्रदान गर्दछन्:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* सही छ, .arg र .name फिल्डहरू शून्य-प्रारम्भिक छन् */
};
C++ भाषाले C++२० सम्म तोकिएको इनिसियलाइजर सिन्ट्याक्सलाई समर्थन गर्दैन, यद्यपि GCC कम्पाइलरले यसलाई आंशिक रूपमा एक्सटेन्सनको रूपमा समर्थन गर्दछ। C++ कोडमा ESP-IDF API हरू प्रयोग गर्दा, तपाईंले निम्न ढाँचा प्रयोग गर्ने विचार गर्न सक्नुहुन्छ:
esp_timer_create_args_t my_timer_args = {}; /* सबै फिल्डहरू शून्य-प्रारम्भिक छन् */ my_timer_args.callback = &my_timer_callback;
पूर्वनिर्धारित सुरुवातकर्ताहरू
केही कन्फिगरेसन संरचनाहरूको लागि, ESP-IDF ले क्षेत्रहरूको पूर्वनिर्धारित मानहरू सेट गर्न म्याक्रोहरू प्रदान गर्दछ:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG ले तोकिएको प्रारम्भिककर्तामा विस्तार गर्छ।
अब सबै फिल्डहरू पूर्वनिर्धारित मानहरूमा सेट गरिएका छन्। कुनै पनि फिल्ड अझै पनि परिमार्जन गर्न सकिन्छ: */ config.server_port = 8081; httpd_handle_t server; esp_err_t err = httpd_start(&server, &config);
कुनै विशेष कन्फिगरेसन संरचनाको लागि प्रदान गरिएको बेलामा पूर्वनिर्धारित इनिसियलाइजर म्याक्रोहरू प्रयोग गर्न सिफारिस गरिन्छ।
२.१.३ निजी API हरू
निश्चित हेडर fileESP-IDF मा भएका हरू मा ESP-IDF स्रोत कोडमा मात्र प्रयोग गर्ने उद्देश्यले API हरू हुन्छन्, र अनुप्रयोगहरूद्वारा होइन। यस्तो हेडर files मा प्रायः आफ्नो नाम वा मार्गमा private वा esp_private हुन्छ। केही कम्पोनेन्टहरू, जस्तै hal मा केवल private API हरू हुन्छन्। निजी API हरू माइनर वा प्याच रिलिजहरू बीच असंगत तरिकाले हटाउन वा परिवर्तन गर्न सकिन्छ।
२.१.४ पूर्वमा कम्पोनेन्टहरूampले परियोजनाहरू
ESP-IDF पूर्वampलेसमा ESP-IDF API को प्रयोग प्रदर्शन गर्ने विभिन्न परियोजनाहरू छन्। पूर्वमा कोड डुप्लिकेशन कम गर्नको लागिampअन्यथा, धेरै पूर्व द्वारा प्रयोग गरिने कम्पोनेन्टहरू भित्र केही सामान्य सहयोगीहरू परिभाषित गरिएका छन्।ampलेस।
Espressif प्रणाली
46 कागजात प्रतिक्रिया पेश गर्नुहोस्
रिलिज संस्करण १.१३.४९
अध्याय २. API सन्दर्भ
यसमा अवस्थित घटकहरू समावेश छन्
कागजातहरू / स्रोतहरू
![]() |
एस्प्रेसिफ सिस्टम्स ESP32 डेभ किटक विकास बोर्ड [pdf] प्रयोगकर्ता गाइड ESP32 देव किटक विकास बोर्ड, ESP32, देव किटक विकास बोर्ड, किटक विकास बोर्ड, विकास बोर्ड, बोर्ड |
