ESP32-C3 وائرليس ايڊونچر

ESP32-C3 وائرليس ايڊونچر

IoT لاءِ هڪ جامع گائيڊ

ايسپريسف سسٽم جون 12، 2023

وضاحتون

  • پيداوار: ESP32-C3 وائرليس ايڊونچر
  • ٺاھيندڙ: Espressif Systems
  • تاريخ: جون 12، 2023

پيداوار جي استعمال جون هدايتون

تياري

استعمال ڪرڻ کان پهريان ESP32-C3 وائرليس ايڊونچر، پڪ ڪريو ته توهان آهيو
IoT جي تصورات ۽ فن تعمير کان واقف. هي مدد ڪندو
توهان سمجھو ٿا ته ڊوائيس وڏي IoT ايڪو سسٽم ۾ ڪيئن ٺهڪي اچي ٿي
۽ سمارٽ گهرن ۾ ان جي امڪاني ايپليڪيشنون.

IoT منصوبن جو تعارف ۽ مشق

هن حصي ۾، توهان عام IoT منصوبن بابت سکندا،
عام IoT ڊوائيسز لاء بنيادي ماڊلز، بنيادي ماڊل شامل آهن
ڪلائنٽ ايپليڪيشنون، ۽ عام IoT ڪلائوڊ پليٽ فارمز. هي ڪندو
توهان کي سمجهڻ ۽ توهان جي ٺاهڻ لاء هڪ بنياد فراهم ڪريو
پنهنجا IoT منصوبا.

مشق: سمارٽ لائيٽ پروجيڪٽ

هن عملي منصوبي ۾، توهان سکندا ته هڪ سمارٽ ڪيئن ٺاهيو
روشني ESP32-C3 وائرليس ايڊونچر استعمال ڪندي. منصوبي جي جوڙجڪ،
ڪم، هارڊويئر جي تياري، ۽ ترقيءَ جو عمل هوندو
تفصيل سان بيان ڪيو.

منصوبي جي جوڙجڪ

پروجيڪٽ ڪيترن ئي حصن تي مشتمل آهي، بشمول
ESP32-C3 وائرليس ايڊونچر، LEDs، سينسر، ۽ بادل
پس منظر.

پروجيڪٽ جا ڪم

سمارٽ لائٽ پروجيڪٽ توهان کي روشني کي ڪنٽرول ڪرڻ جي اجازت ڏئي ٿو ۽
ايل اي ڊي جو رنگ ريموٽ هڪ موبائل ايپ ذريعي يا web
انٽرفيس.

هارڊويئر جي تياري

منصوبي لاء تيار ڪرڻ لاء، توهان کي گڏ ڪرڻ جي ضرورت پوندي
ضروري هارڊويئر اجزاء، جهڙوڪ ESP32-C3 وائرليس
ساہسک بورڊ، LEDs، مزاحمت، ۽ هڪ پاور سپلائي.

ترقي جي عمل

ترقي جي عمل ۾ ترقي کي ترتيب ڏيڻ شامل آهي
ماحول، LEDs کي ڪنٽرول ڪرڻ لاء ڪوڊ لکڻ، سان ڳنڍڻ
ڪلائوڊ پس منظر، ۽ سمارٽ جي ڪارڪردگي کي جانچڻ
روشني.

ESP RainMaker جو تعارف

ESP RainMaker IoT جي ترقي لاءِ هڪ طاقتور فريم ورڪ آهي
ڊوائيسز. هن حصي ۾، توهان سکندا ته ESP RainMaker ڇا آهي ۽
اهو توهان جي منصوبن ۾ ڪيئن لاڳو ڪري سگهجي ٿو.

ESP RainMaker ڇا آهي؟

ESP RainMaker ھڪڙو بادل تي ٻڌل پليٽ فارم آھي جيڪو ھڪڙو سيٽ مهيا ڪري ٿو
IoT ڊوائيسز جي تعمير ۽ انتظام لاء اوزار ۽ خدمتون.

ESP RainMaker جو نفاذ

هي حصو بيان ڪري ٿو مختلف حصن ۾ شامل
لاڳو ڪرڻ ESP RainMaker، بشمول دعويٰ سروس،
RainMaker ايجنٽ، ڪلائوڊ پس منظر، ۽ RainMaker ڪلائنٽ.

مشق: ESP RainMaker سان ترقي ڪرڻ لاءِ اهم نقطا

هن مشق سيڪشن ۾، توهان اهم نقطن جي باري ۾ سکندا
غور ڪريو جڏهن ESP RainMaker سان ترقي ڪريو. هن ڊوائيس شامل آهي
دعوي، ڊيٽا هم وقت سازي، ۽ صارف جو انتظام.

ESP RainMaker جون خاصيتون

ESP RainMaker پيش ڪري ٿو مختلف خاصيتون صارف جي انتظام لاءِ، آخر
استعمال ڪندڙ، ۽ منتظمين. اهي خاصيتون آسان ڊوائيس جي اجازت ڏين ٿيون
سيٽ اپ، ريموٽ ڪنٽرول، ۽ نگراني.

ترقياتي ماحول کي ترتيب ڏيڻ

هي سيڪشن هڪ اوور مهيا ڪري ٿوview جي ESP-IDF (Espressif IoT
ڊولپمينٽ فريم ورڪ)، جيڪو سرڪاري ترقياتي فريم ورڪ آهي
ESP32-بنياد ڊوائيسز لاء. جي مختلف نسخن جي وضاحت ڪري ٿو
ESP-IDF ۽ ڪيئن ترقي ماحول قائم ڪرڻ.

هارڊويئر ۽ ڊرائيور جي ترقي

ESP32-C3 تي ٻڌل سمارٽ لائيٽ پروڊڪٽس جي هارڊويئر ڊيزائن

هي حصو سمارٽ لائيٽ جي هارڊويئر ڊيزائن تي ڌيان ڏئي ٿو
ESP32-C3 وائرليس ايڊونچر تي ٻڌل مصنوعات. اهو احاطه ڪري ٿو
سمارٽ لائٽ پراڊڪٽس جون خاصيتون ۽ ٺاھڻ، گڏو گڏ
ESP32-C3 ڪور سسٽم جي هارڊويئر ڊيزائن.

سمارٽ لائيٽ پراڊڪٽس جون خاصيتون ۽ ٺاھڻ

هي ذيلي حصو وضاحت ڪري ٿو خاصيتون ۽ اجزاء جيڪي ٺاهيندا آهن
مٿي سمارٽ نور مصنوعات. اهو مختلف ڪارڪردگي تي بحث ڪري ٿو
۽ سمارٽ لائٽون ٺاهڻ لاءِ غور ويچار.

ESP32-C3 ڪور سسٽم جو هارڊويئر ڊيزائن

ESP32-C3 ڪور سسٽم جي هارڊويئر ڊيزائن ۾ طاقت شامل آهي
سپلائي، پاور آن تسلسل، سسٽم ري سيٽ، SPI فليش، ڪلاڪ جو ذريعو،
۽ آر ايف ۽ اينٽينا غور. هي حصو مهيا ڪري ٿو
انهن پهلوئن تي تفصيلي ڄاڻ.

FAQ

عبرت: ESP RainMaker ڇا آهي؟

ج: ESP RainMaker ھڪڙو بادل تي ٻڌل پليٽ فارم آھي جيڪو اوزار مهيا ڪري ٿو
۽ IoT ڊوائيسز جي تعمير ۽ انتظام لاءِ خدمتون. اهو آسان بڻائي ٿو
ترقي وارو عمل ۽ آسان ڊوائيس سيٽ اپ جي اجازت ڏئي ٿو، ريموٽ
ڪنٽرول، ۽ نگراني.

عبرت: آئون ڪيئن ترقي لاء ماحول قائم ڪري سگهان ٿو
ESP32-C3؟

ج: ESP32-C3 لاءِ ترقياتي ماحول قائم ڪرڻ لاءِ، توھان کي ضرورت آھي
انسٽال ڪرڻ لاءِ ESP-IDF (Espressif IoT ڊولپمينٽ فريم ورڪ) ۽
ڏنل هدايتن جي مطابق ترتيب ڏيو. ESP-IDF آهي
ESP32-based ڊوائيسز لاء سرڪاري ترقي فريم ورڪ.

عبرت: ESP RainMaker جون خاصيتون ڇا آهن؟

ج: ESP RainMaker مختلف خاصيتون پيش ڪري ٿو، بشمول صارف
انتظام، آخري صارف خاصيتون، ۽ منتظم خاصيتون. استعمال ڪندڙ جو انتظام
آسان ڊيوائس جي دعويٰ ۽ ڊيٽا هم وقت سازي جي اجازت ڏئي ٿي. آخر استعمال ڪندڙ
خاصيتون موبائل ايپ ذريعي ڊوائيسز جي ريموٽ ڪنٽرول کي فعال ڪن ٿيون يا
web انٽرفيس. انتظامي خاصيتون ڊوائيس جي نگراني لاء اوزار مهيا ڪن ٿيون
۽ انتظام.

ESP32-C3 وائرليس ايڊونچر
IoT لاءِ هڪ جامع گائيڊ
ايسپريسف سسٽم جون 12، 2023

مواد

جي تياري

1

1 IoT جو تعارف

3

1.1 IoT جو فن تعمير. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 IoT ايپليڪيشن سمارٽ هومز ۾. . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 IoT منصوبن جو تعارف ۽ مشق

9

2.1 عام IoT منصوبن جو تعارف. . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 عام IoT ڊوائيسز لاء بنيادي ماڊل. . . . . . . . . . . . . . . . . 9

2.1.2 ڪلائنٽ ايپليڪيشنن جا بنيادي ماڊل. . . . . . . . . . . . . . . . . . . 10

2.1.3 عام IoT Cloud پليٽ فارمن جو تعارف. . . . . . . . . . . . . . 11

2.2 مشق: سمارٽ لائيٽ پروجيڪٽ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 پروجيڪٽ جو ڍانچو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 پروجيڪٽ جا ڪم . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.3 هارڊويئر تيار ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.4 ترقي وارو عمل. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 ESP RainMaker جو تعارف

19

3.1 ESP RainMaker ڇا آهي؟ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 ESP RainMaker جو نفاذ. . . . . . . . . . . . . . . . . . . . . . 21

3.2.1 دعويٰ ڪرڻ جي خدمت. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.2 رين ميڪر ايجنٽ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.3 Cloud Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.4 رين ميڪر ڪلائنٽ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3 مشق: ESP RainMaker سان ترقي ڪرڻ لاءِ اھم نقطا. . . . . . . . . . . . 25

3.4 ESP RainMaker جون خاصيتون. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.1 يوزر مينيجمينٽ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2 آخر استعمال ڪندڙ جون خاصيتون. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4.3 انتظامي خاصيتون. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.5 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 ڊولپمينٽ ماحول کي ترتيب ڏيڻ

31

4.1 ESP-IDF اوورview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 ESP-IDF ورجن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3

4.1.2 ESP-IDF گٽ ورڪ فلو. . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 هڪ مناسب نسخو چونڊڻ. . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 اوورview جي ESP-IDF SDK ڊاريڪٽري. . . . . . . . . . . . . . . . . . . . 34 4.2 ESP-IDF ڊولپمينٽ ماحول قائم ڪرڻ. . . . . . . . . . . . . . . . . 38 4.2.1 لينڪس تي ESP-IDF ڊولپمينٽ ماحول قائم ڪرڻ. . . . . . . . 38 4.2.2 ونڊوز تي ESP-IDF ڊولپمينٽ ماحول قائم ڪرڻ. . . . . . 40 4.2.3 ميڪ تي ESP-IDF ڊولپمينٽ ماحول قائم ڪرڻ. . . . . . . . . 45 4.2.4 نصب ڪرڻ VS ڪوڊ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 ٽئين پارٽي ڊولپمينٽ ماحول جو تعارف. . . . . . . . 46 4.3 ESP-IDF ڪمپليشن سسٽم. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 ڪمپليشن سسٽم جا بنيادي تصور. . . . . . . . . . . . . . . . . . 47 4.3.2 پروجيڪٽ File ساخت. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 ڪمپليشن سسٽم جا ڊفالٽ بلڊ قاعدا. . . . . . . . . . . . . 50 4.3.4 ڪمپليشن اسڪرپٽ جو تعارف. . . . . . . . . . . . . . . . . . 51 4.3.5 عام حڪمن جو تعارف. . . . . . . . . . . . . . . . . . . 52 4.4 مشق: مرتب ڪرڻ Exampلي پروگرام "پلڪ". . . . . . . . . . . . . . . . . . 53 4.4.1 Exampتجزيو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 بلڪ پروگرام کي گڏ ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 چمڪندڙ پروگرام . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 بلڪ پروگرام جو سيريل پورٽ لاگ تجزيو. . . . . . . . . . . . . . 60 4.5 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

II هارڊويئر ۽ ڊرائيور جي ترقي

65

ESP5-C32 تي ٻڌل سمارٽ لائيٽ پروڊڪٽس جو 3 هارڊويئر ڊيزائن

67

5.1 سمارٽ لائيٽ پروڊڪٽس جون خاصيتون ۽ ٺاھڻ. . . . . . . . . . . . . . . 67

5.2 ESP32-C3 ڪور سسٽم جو هارڊويئر ڊيزائن. . . . . . . . . . . . . . . . . . . 70

5.2.1 پاور سپلائي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2.2 پاور آن تسلسل ۽ سسٽم ري سيٽ. . . . . . . . . . . . . . . . . . 74

5.2.3 SPI فليش. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.4 ڪلاڪ جو ذريعو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.5 آر ايف ۽ اينٽينا. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.6 اسٽريپنگ پن . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2.7 GPIO ۽ PWM ڪنٽرولر. . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 مشق: ESP32-C3 سان سمارٽ لائيٽ سسٽم جي تعمير. . . . . . . . . . . . . 80

5.3.1 ماڊلز جي چونڊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.3.2 PWM سگنلز جي GPIOs کي ترتيب ڏيڻ. . . . . . . . . . . . . . . . . . . . 82

5.3.3 ڊائون لوڊ ڪرڻ فرم ویئر ۽ ڊيبگنگ انٽرفيس. . . . . . . . . . . . 82

5.3.4 آر ايف ڊيزائن لاءِ ھدايتون. . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 پاور سپلائي ڊيزائن لاءِ ھدايتون. . . . . . . . . . . . . . . . . . . 86 5.4 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6 ڊرائيور جي ترقي

87

6.1 ڊرائيور ڊولپمينٽ پروسيس. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.2 ESP32-C3 پردي واري ايپليڪيشنون. . . . . . . . . . . . . . . . . . . . . . . . . 88

6.3 LED ڊرائيور بنياديات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.1 رنگ جون جڳھون . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.2 LED ڊرائيور. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.3 ايل اي ڊي ڊمنگ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.4 PWM جو تعارف. . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.4 LED Dimming ڊرائيور ڊولپمينٽ. . . . . . . . . . . . . . . . . . . . . . . . 96

6.4.1 غير وولٽائل اسٽوريج (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97

6.4.2 LED PWM ڪنٽرولر (LEDC). . . . . . . . . . . . . . . . . . . . . . . 98

6.4.3 LED PWM پروگرامنگ. . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.5 مشق: سمارٽ لائيٽ پروجيڪٽ ۾ ڊرائيور شامل ڪرڻ. . . . . . . . . . . . . . . . . 103

6.5.1 بٽڻ ڊرائيور. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.5.2 ايل اي ڊي ڊمنگ ڊرائيور. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.6 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

III وائرليس ڪميونيڪيشن ۽ ڪنٽرول

109

7 وائي فائي ڪنيڪشن ۽ ڪنيڪشن

111

7.1 وائي فائي جا بنيادي. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.1 وائي فائي جو تعارف. . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.2 IEEE 802.11 جو ارتقا. . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.3 وائي فائي تصورات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.1.4 وائي فائي ڪنيڪشن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.2 بلوٽوت جا بنيادي. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.2.1 بلوٽوت جو تعارف. . . . . . . . . . . . . . . . . . . . . . . . . 123

7.2.2 بلوٽوٿ تصور. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.2.3 بلوٽوٿ ڪنيڪشن. . . . . . . . . . . . . . . . . . . . . . . . . . . 127

7.3 وائي فائي نيٽ ورڪ جي ٺاھ جوڙ. . . . . . . . . . . . . . . . . . . . . . . . . . . 131

7.3.1 وائي فائي نيٽ ورڪ ڪنفيگريشن گائيڊ. . . . . . . . . . . . . . . . . . . . 131

7.3.2 SoftAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

7.3.3 SmartConfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

7.3.4 بلوٽوٿ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

7.3.5 ٻيا طريقا. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7.4 وائي فائي پروگرامنگ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 وائي فائي اجزاء ESP-IDF ۾. . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 مشق: وائي فائي ڪنيڪشن . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 مشق: اسمارٽ وائي فائي ڪنيڪشن. . . . . . . . . . . . . . . . . . . . . 145
7.5 مشق: اسمارٽ لائيٽ پروجيڪٽ ۾ وائي فائي ترتيب. . . . . . . . . . . . . . . 156 7.5.1 اسمارٽ لائيٽ پروجيڪٽ ۾ وائي فائي ڪنيڪشن. . . . . . . . . . . . . . . . . 156 7.5.2 سمارٽ وائي فائي ڪنفيگريشن. . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

8 مقامي ڪنٽرول

159

8.1 لوڪل ڪنٽرول جو تعارف. . . . . . . . . . . . . . . . . . . . . . . . . . . 159

8.1.1 مقامي ڪنٽرول جي درخواست. . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.2 ايڊوانtagمقامي ڪنٽرول جي es. . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.3 اسمارٽ فونز ذريعي ڪنٽرول ٿيل ڊوائيسز کي دريافت ڪرڻ. . . . . . . . . . 161

8.1.4 اسمارٽ فونز ۽ ڊوائيسز جي وچ ۾ ڊيٽا ڪميونيڪيشن. . . . . . . . 162

8.2 عام مقامي دريافت جا طريقا. . . . . . . . . . . . . . . . . . . . . . . . 162

8.2.1 نشر. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

8.2.2 ملٽي ڪاسٽ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

8.2.3 براڊ ڪاسٽ ۽ ملٽي ڪاسٽ جي وچ ۾ مقابلو. . . . . . . . . . . . . . 176

8.2.4 مقامي دريافت لاءِ ملٽي ڪاسٽ ايپليڪيشن پروٽوڪول mDNS. . . . . . . . 176

8.3 مقامي ڊيٽا لاءِ عام ڪميونيڪيشن پروٽوڪول. . . . . . . . . . . . . . . 179

8.3.1 ٽرانسميشن ڪنٽرول پروٽوڪول (TCP) . . . . . . . . . . . . . . . . . . 179

8.3.2 هائپر ٽيڪسٽ ٽرانسفر پروٽوڪول (HTTP) . . . . . . . . . . . . . . . . . . 185

8.3.3 يوزر ڊيtagرام پروٽوڪول (UDP). . . . . . . . . . . . . . . . . . . . . . 189

8.3.4 Constrained Application Protocol (CoAP) . . . . . . . . . . . . . . . 192

8.3.5 بلوٽوت پروٽوڪول. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

8.3.6 ڊيٽا ڪميونيڪيشن پروٽوڪولن جو خلاصو. . . . . . . . . . . . . . . 203

8.4 ڊيٽا سيڪيورٽي جي گارنٽي. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

8.4.1 ٽرانسپورٽ ليئر سيڪيورٽي (TLS) جو تعارف. . . . . . . . . . . . . 207

8.4.2 دا جو تعارفtagرام ٽرانسپورٽ پرت سيڪيورٽي (DTLS). . . . . . . 213

8.5 مشق: اسمارٽ لائيٽ پروجيڪٽ ۾ مقامي ڪنٽرول. . . . . . . . . . . . . . . . . . 217

8.5.1 وائي فائي جي بنياد تي مقامي ڪنٽرول سرور ٺاهڻ. . . . . . . . . . . . . . . 217

8.5.2 اسڪرپٽ استعمال ڪندي مقامي ڪنٽرول ڪارڪردگي جي تصديق ڪرڻ. . . . . . . . . . . 221

8.5.3 بلوٽوت تي ٻڌل مقامي ڪنٽرول سرور ٺاهڻ. . . . . . . . . . . . 222

8.6 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

9 ڪلائوڊ ڪنٽرول

225

9.1 ريموٽ ڪنٽرول جو تعارف. . . . . . . . . . . . . . . . . . . . . . . . . . 225

9.2 ڪلائوڊ ڊيٽا ڪميونيڪيشن پروٽوڪول. . . . . . . . . . . . . . . . . . . . . . 226

9.2.1 MQTT تعارف. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 MQTT اصول . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 MQTT ميسيج فارميٽ . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 پروٽوڪول جو مقابلو. . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 سيٽنگ اپ MQTT بروکر لينڪس ۽ ونڊوز تي. . . . . . . . . . . . 233 9.2.6 ESP-IDF جي بنياد تي MQTT ڪلائنٽ سيٽ ڪرڻ. . . . . . . . . . . . . . . . 235 9.3 MQTT ڊيٽا سيڪيورٽي کي يقيني بڻائڻ. . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 سرٽيفڪيٽن جو مطلب ۽ ڪم. . . . . . . . . . . . . . . . . . . 237 9.3.2 مقامي طور تي سرٽيفڪيٽ ٺاهڻ. . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 MQTT بروکر کي ترتيب ڏيڻ. . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 MQTT ڪلائنٽ ترتيب ڏيڻ. . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 مشق: ريموٽ ڪنٽرول ESP RainMaker ذريعي. . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Node and Cloud Backend Communication Protocol . . . . . . . . . . . 244 9.4.3 ڪلائنٽ ۽ ڪلائوڊ پس منظر جي وچ ۾ ڪميونيڪيشن. . . . . . . . . . . 249 9.4.4 استعمال ڪندڙ جا ڪردار. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 بنيادي خدمتون. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 اسمارٽ لائيٽ Exampلي . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 RainMaker ايپ ۽ ٽئين پارٽي انٽيگريشنز. . . . . . . . . . . . . . . 262 9.5 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

10 اسمارٽ فون ايپ ڊولپمينٽ

269

10.1 اسمارٽ فون ايپ ڊولپمينٽ جو تعارف. . . . . . . . . . . . . . . . . . 269

10.1.1 اوورview سمارٽ فون ايپ ڊولپمينٽ جو. . . . . . . . . . . . . . . 270

10.1.2 Android پروجيڪٽ جو ڍانچو. . . . . . . . . . . . . . . . . . . . . . 270

10.1.3 iOS پروجيڪٽ جو ڍانچو. . . . . . . . . . . . . . . . . . . . . . . . 271

10.1.4 هڪ Android سرگرمي جي زندگي. . . . . . . . . . . . . . . . . . . . . . 272

10.1.5 iOS جي زندگي Viewڪنٽرولر. . . . . . . . . . . . . . . . . . . . . . 273

10.2 نئين اسمارٽ فون ايپ پروجيڪٽ ٺاهڻ. . . . . . . . . . . . . . . . . . . . . 275

10.2.1 Android ڊولپمينٽ لاءِ تياري. . . . . . . . . . . . . . . . . . . 275

10.2.2 نئون Android پروجيڪٽ ٺاهڻ. . . . . . . . . . . . . . . . . . . . . . 275

10.2.3 MyRainmaker لاءِ انحصار شامل ڪرڻ. . . . . . . . . . . . . . . . . 276

10.2.4 Android ۾ اجازت جي درخواست. . . . . . . . . . . . . . . . . . . . . . 277

10.2.5 iOS ڊولپمينٽ لاءِ تياري. . . . . . . . . . . . . . . . . . . . . . 277

10.2.6 نئون iOS پروجيڪٽ ٺاهڻ. . . . . . . . . . . . . . . . . . . . . . . . 278

10.2.7 MyRainmaker لاءِ انحصار شامل ڪرڻ. . . . . . . . . . . . . . . . . 279

10.2.8 iOS ۾ اجازت جي درخواست. . . . . . . . . . . . . . . . . . . . . . . . . 280

10.3 ايپ جي فنڪشنل ضرورتن جو تجزيو. . . . . . . . . . . . . . . . . . 281

10.3.1 پروجيڪٽ جي فنڪشنل ضرورتن جو تجزيو. . . . . . . . . . . . 282

10.3.2 استعمال ڪندڙ جي انتظام جي ضرورتن جو تجزيو. . . . . . . . . . . . . . . 282 10.3.3 ڊوائيس جي فراهمي ۽ پابند گهرجن جو تجزيو. . . . . . . 283 10.3.4 ريموٽ ڪنٽرول جي ضرورتن جو تجزيو. . . . . . . . . . . . . . . . 283 10.3.5 شيڊول جي ضرورتن جو تجزيو. . . . . . . . . . . . . . . . . . . 284 10.3.6 يوزر سينٽر جي ضرورتن جو تجزيو. . . . . . . . . . . . . . . . . . 285 10.4 يوزر مئنيجمينٽ جي ترقي. . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 RainMaker APIs جو تعارف. . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 اسمارٽ فون ذريعي ڪميونيڪيشن شروع ڪرڻ. . . . . . . . . . . . . . . . 286 10.4.3 اڪائونٽ رجسٽريشن. . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 اڪائونٽ لاگ ان. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 ڊيوائس جي فراهمي جي ترقي. . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 اسڪيننگ ڊوائيسز. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 ڳنڍڻ وارا آلات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 ڳجهي چاٻيون پيدا ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Node ID حاصل ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 مهيا ڪرڻ جا آلات. . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 ڊيوائس ڪنٽرول جي ترقي. . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 ڪلائوڊ اڪائونٽس لاءِ ڊيوائسز کي پابند ڪرڻ. . . . . . . . . . . . . . . . . . . . 303 10.6.2 ڊوائيسز جي لسٽ حاصل ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 ڊوائيس اسٽيٽس حاصل ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 ڊوائيس جي حالت تبديل ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 شيڊولنگ ۽ يوزر سينٽر جي ترقي. . . . . . . . . . . . . . . . . . . 313 10.7.1 شيڊولنگ فنڪشن کي لاڳو ڪرڻ. . . . . . . . . . . . . . . . . . . . 313 10.7.2 لاڳو ڪندڙ يوزر سينٽر. . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 وڌيڪ Cloud APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

11 فرم ويئر اپ گريڊ ۽ ورزن مئنيجمينٽ

321

11.1 فرم ويئر اپ گريڊ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.1.1 اوورview ورهاڱي جي جدولن جو. . . . . . . . . . . . . . . . . . . . . . . . 322

11.1.2 فرم ویئر بوٽ پروسيس. . . . . . . . . . . . . . . . . . . . . . . . . . . 324

11.1.3 اوورview OTA ميڪانيزم جو. . . . . . . . . . . . . . . . . . . . . 326

11.2 فرم ويئر ورزن مئنيجمينٽ . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.1 فرم ویئر مارڪنگ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.2 رول بيڪ ۽ اينٽي رول بيڪ. . . . . . . . . . . . . . . . . . . . . . . . 331

11.3 مشق: اوور دي ايئر (OTA) Exampلي . . . . . . . . . . . . . . . . . . . . . . . 332

11.3.1 مقامي ميزبان جي ذريعي Firmware کي اپڊيٽ ڪريو. . . . . . . . . . . . . . . . . 332

11.3.2 ESP RainMaker ذريعي فرم ویئر کي اپڊيٽ ڪريو. . . . . . . . . . . . . . . 335

11.4 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

IV اصلاح ۽ ماس پيداوار

343

12 پاور مئنيجمينٽ ۽ گھٽ-پاور اصلاح

345

12.1 ESP32-C3 پاور مئنيجمينٽ. . . . . . . . . . . . . . . . . . . . . . . . . . . 345

12.1.1 متحرڪ فريڪوئنسي اسڪيلنگ. . . . . . . . . . . . . . . . . . . . . . . . 346

12.1.2 پاور مئنيجمينٽ ڪنفيگريشن. . . . . . . . . . . . . . . . . . . . 348

12.2 ESP32-C3 گھٽ پاور موڊ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

12.2.1 موڊيم-سليپ موڊ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

12.2.2 هلڪو سمهڻ وارو موڊ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

12.2.3 ڊيپ-نينڊ موڊ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

12.2.4 مختلف پاور موڊس ۾ موجوده واپرائڻ. . . . . . . . . . . . . 358

12.3 پاور مئنيجمينٽ ۽ گھٽ-پاور ڊيبگنگ. . . . . . . . . . . . . . . . . 359

12.3.1 لاگ ڊيبگنگ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

12.3.2 GPIO ڊيبگنگ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

12.4 مشق: اسمارٽ لائيٽ پروجيڪٽ ۾ پاور مئنيجمينٽ. . . . . . . . . . . . . . . 363

12.4.1 پاور مينيجمينٽ فيچر کي ترتيب ڏيڻ. . . . . . . . . . . . . . . . . 364

12.4.2 پاور مئنيجمينٽ لاڪ استعمال ڪريو. . . . . . . . . . . . . . . . . . . . . . 365

12.4.3 بجلي جي استعمال جي تصديق ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . 366

12.5 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

13 وڌايل ڊوائيس سيڪيورٽي خاصيتون

369

13.1 اوورview IoT ڊوائيس ڊيٽا سيڪيورٽي جو. . . . . . . . . . . . . . . . . . . . . . . 369

13.1.1 IoT ڊوائيس ڊيٽا کي ڇو محفوظ ڪيو؟ . . . . . . . . . . . . . . . . . . . . . . 370

13.1.2 IoT ڊوائيس ڊيٽا سيڪيورٽي لاءِ بنيادي گهربل. . . . . . . . . . . . 371

13.2 ڊيٽا جي سالميت جو تحفظ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

13.2.1 سالميت جي تصديق واري طريقي جو تعارف. . . . . . . . . . . . . . 372

13.2.2 فرم ویئر ڊيٽا جي سالميت جي تصديق. . . . . . . . . . . . . . . . . . 373

13.2.3 سابقampلي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3 ڊيٽا جي رازداري جو تحفظ. . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3.1 ڊيٽا انڪريپشن جو تعارف. . . . . . . . . . . . . . . . . . . . . . 374

13.3.2 فليش انڪريپشن اسڪيم جو تعارف. . . . . . . . . . . . . . . . . 376

13.3.3 فليش انڪريپشن ڪي اسٽوريج. . . . . . . . . . . . . . . . . . . . . . . 379

13.3.4 فليش انڪريپشن جو ڪم ڪندڙ موڊ. . . . . . . . . . . . . . . . . . . . 380

13.3.5 فليش انڪرپشن جو عمل. . . . . . . . . . . . . . . . . . . . . . . . . . 381

13.3.6 NVS انڪريپشن جو تعارف. . . . . . . . . . . . . . . . . . . . . . 383

13.3.7 سابقampFlash Encryption ۽ NVS Encryption جا حصا. . . . . . . . . . . 384

13.4 ڊيٽا جي قانوني تحفظ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

13.4.1 ڊجيٽل دستخط جو تعارف. . . . . . . . . . . . . . . . . . . . . 386

13.4.2 اوورview محفوظ بوٽ اسڪيم جو. . . . . . . . . . . . . . . . . . . . . 388

13.4.3 سافٽ ويئر سيڪيور بوٽ جو تعارف. . . . . . . . . . . . . . . . . . . 388 13.4.4 هارڊويئر سيڪيور بوٽ جو تعارف. . . . . . . . . . . . . . . . . . 390 13.4.5 Exampليس . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 مشق: حفاظتي خاصيتون ماس پيداوار ۾. . . . . . . . . . . . . . . . . . 396 13.5.1 فليش انڪرپشن ۽ سيڪيور بوٽ. . . . . . . . . . . . . . . . . . . . . 396 13.5.2 فليش انڪريپشن کي فعال ڪرڻ ۽ بيچ فليش ٽولز سان محفوظ بوٽ. . 397 13.5.3 اسمارٽ لائيٽ پروجيڪٽ ۾ فليش انڪرپشن ۽ سيڪيور بوٽ کي فعال ڪرڻ. . . 398 13.6 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

14 فرم ویئر برننگ ۽ ماس پيداوار لاءِ جاچ

399

14.1 ماس پيداوار ۾ فرم ویئر برننگ. . . . . . . . . . . . . . . . . . . . . . 399

14.1.1 ڊيٽا ورهاڱي جي وضاحت ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . . . . 399

14.1.2 فرم ویئر برننگ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

14.2 ماس پيداوار جي جاچ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

14.3 مشق: اسمارٽ لائيٽ پروجيڪٽ ۾ ماس پروڊڪشن ڊيٽا. . . . . . . . . . . . . 404

14.4 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

15 ESP Insights: ريموٽ مانيٽرنگ پليٽ فارم

405

15.1 ESP بصيرت جو تعارف. . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

15.2 ESP بصيرت سان شروع ڪرڻ. . . . . . . . . . . . . . . . . . . . . . . . . 409

15.2.1 esp-insights پروجيڪٽ ۾ ESP Insights سان شروعات ڪرڻ. . . . . . 409

15.2.2 رننگ Exampesp-insights پروجيڪٽ ۾. . . . . . . . . . . . . . . 411

15.2.3 رپورٽنگ Coredump ڄاڻ. . . . . . . . . . . . . . . . . . . . . 411

15.2.4 دلچسپي جي لاگز کي ترتيب ڏيڻ. . . . . . . . . . . . . . . . . . . . . . . . 412

15.2.5 رپورٽنگ ريبوٽ سبب. . . . . . . . . . . . . . . . . . . . . . . . . 413

15.2.6 رپورٽنگ ڪسٽم ميٽرڪس. . . . . . . . . . . . . . . . . . . . . . . . . 413

15.3 مشق: اسمارٽ لائيٽ پروجيڪٽ ۾ ESP بصيرت استعمال ڪندي. . . . . . . . . . . . . . . 416

15.4 خلاصو. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

تعارف
ESP32-C3 هڪ واحد-ڪور وائي فائي ۽ بلوٽوت 5 (LE) مائڪرو ڪنٽرولر SoC آهي، اوپن سورس RISC-V فن تعمير تي ٻڌل آهي. اهو طاقت، I/O صلاحيتن، ۽ سيڪيورٽي جي صحيح توازن تي حملو ڪري ٿو، اهڙيء طرح ڳنڍيل ڊوائيسز لاء بهترين قيمت-مؤثر حل پيش ڪري ٿو. ESP32-C3 خاندان جي مختلف ايپليڪيشنن کي ڏيکارڻ لاءِ، Espressif جو هي ڪتاب توهان کي AIoT ذريعي هڪ دلچسپ سفر تي وٺي ويندو، IoT پروجيڪٽ ڊولپمينٽ ۽ ماحوليات جي سيٽ اپ جي بنيادي ڳالهين کان وٺي عملي اڳڀرائي تائين.amples. پهرين چار باب IoT، ESP RainMaker ۽ ESP-IDF بابت ڳالهائيندا آهن. باب 5 ۽ 6 مختصر هارڊويئر ڊيزائن ۽ ڊرائيور ڊولپمينٽ تي. جيئن توهان ترقي ڪندا، توهان ڳوليندا ته توهان جي پروجيڪٽ کي وائي فائي نيٽ ورڪ ۽ موبائل ايپس ذريعي ڪيئن ترتيب ڏيو. آخرڪار، توهان سکندا پنهنجي منصوبي کي بهتر ڪرڻ ۽ ان کي وڏي پئماني تي پيداوار ۾ وجهي.
جيڪڏهن توهان لاڳاپيل شعبن ۾ انجنيئر آهيو، هڪ سافٽ ويئر آرڪيٽيڪٽ، هڪ استاد، هڪ شاگرد، يا ڪو به جيڪو IoT ۾ دلچسپي رکي ٿو، هي ڪتاب توهان لاء آهي.
توھان ڊائون لوڊ ڪري سگھو ٿا ڪوڊ exampهن ڪتاب ۾ استعمال ڪيو ويو ايسپريسف جي سائيٽ مان GitHub تي. IoT ترقي تي تازه ترين معلومات لاء، مهرباني ڪري اسان جي سرڪاري اڪائونٽ تي عمل ڪريو.

اڳڪٿي
هڪ معلوماتي دنيا
انٽرنيٽ جي موج تي سوار ٿي، انٽرنيٽ آف ٿنگس (IoT) ڊجيٽل معيشت ۾ هڪ نئين قسم جي انفراسٽرڪچر بنجڻ لاءِ پنهنجي وڏي شروعات ڪئي. ٽيڪنالاجي کي عوام جي ويجهو آڻڻ لاءِ، Espressif Systems ڪم ڪري ٿو ان وژن لاءِ ته زندگي جي سڀني شعبن مان ڊولپرز IoT استعمال ڪري سگهن ٿا اسان جي دور جي ڪجهه اهم مسئلن کي حل ڪرڻ لاءِ. "سڀني شين جو ذھني نيٽ ورڪ" جي دنيا اھو آھي جيڪو اسان مستقبل کان توقع ڪري رھيا آھيون.
اسان جي پنهنجي چپس کي ڊزائين ڪرڻ انهي خواب جو هڪ نازڪ حصو بڻائي ٿو. اهو هڪ ميراٿون هجڻ آهي، ٽيڪنالاجي حدن جي خلاف مسلسل ڪاميابين جي ضرورت آهي. ”گيم چينجر“ ESP8266 کان وٺي ESP32 سيريز تائين وائي فائي ۽ بلوٽوٿر (LE) ڪنيڪشن کي ضم ڪري ٿو، جنهن جي پٺيان ESP32-S3 AI ايڪسلريشن سان ليس آهي، Espressif ڪڏهن به AIoT حلن لاءِ پراڊڪٽس جي تحقيق ۽ ترقي ڪرڻ بند نه ڪندو آهي. اسان جي اوپن سورس سافٽ ويئر سان، جهڙوڪ IoT ڊولپمينٽ فريم ورڪ ESP-IDF، Mesh Development Framework ESP-MDF، ۽ Device Connectivity Platform ESP RainMaker، اسان AIoT ايپليڪيشنن جي تعمير لاءِ هڪ آزاد فريم ورڪ ٺاهيو آهي.
جولاءِ 2022 تائين، Espressif جي IoT چپ سيٽن جي مجموعي ترسيل 800 ملين کان وڌي چڪي آهي، وائي فائي MCU مارڪيٽ ۾ اڳڀرائي ۽ پوري دنيا ۾ ڳنڍيل ڊوائيسز جي وڏي تعداد کي طاقت ڏئي رهي آهي. عمدگيءَ لاءِ جستجو هر Espressif پراڊڪٽ کي ان جي اعليٰ سطحي انضمام ۽ لاڳت جي ڪارڪردگيءَ لاءِ وڏو ڌڪ ڏئي ٿو. ESP32-C3 جو ڇڏڻ Espressif جي خود ترقي يافته ٽيڪنالاجي جو هڪ اهم سنگ ميل آهي. اهو هڪ سنگل-ڪور، 32-bit، RISC-V-based MCU آهي 400KB SRAM سان، جيڪو 160MHz تي هلائي سگهي ٿو. اهو 2.4 GHz وائي فائي ۽ بلوٽوت 5 (LE) کي ڊگھي رينج جي سپورٽ سان ضم ڪيو ويو آهي. اهو طاقت، I/O صلاحيتن، ۽ سيڪيورٽي جي هڪ سٺي توازن تي حملو ڪري ٿو، اهڙيء طرح ڳنڍيل ڊوائيسز لاء بهترين قيمت-مؤثر حل پيش ڪري ٿو. اهڙي طاقتور ESP32-C3 جي بنياد تي، هن ڪتاب جو مقصد پڙهندڙن کي IoT سان لاڳاپيل علم کي تفصيلي مثال ۽ عملي مثال سان سمجهڻ ۾ مدد ڏيڻ آهي.amples.
اسان هي ڪتاب ڇو لکيو؟
Espressif Systems هڪ سيمڪوڊڪٽر ڪمپني کان وڌيڪ آهي. اهو پڻ هڪ IoT پليٽ فارم ڪمپني آهي، جيڪا هميشه ٽيڪنالاجي جي ميدان ۾ ڪاميابين ۽ جدت لاءِ ڪوشش ڪري ٿي. ساڳئي وقت، Espressif اوپن سورس ڪيو آهي ۽ پنهنجي خود ترقي يافته آپريٽنگ سسٽم ۽ سافٽ ويئر فريم ورڪ کي ڪميونٽي سان حصيداري ڪيو آهي، هڪ منفرد ماحولياتي نظام ٺاهيندي. انجنيئر، ٺاهيندڙ، ۽ ٽيڪنالاجي اتساھ رکندڙ فعال طور تي نئين سافٽ ويئر ايپليڪيشنن کي ترقي ڪن ٿا ايسپريسف جي شين جي بنياد تي، آزاديء سان ڳالھ ٻولھ، ۽ پنھنجي تجربي کي حصيداري ڪريو. توھان ڏسي سگھو ٿا ڊولپرز جا دلچسپ خيال مختلف پليٽ فارمن تي ھر وقت، جھڙوڪ يوٽيوب ۽ گيٽ ھب. ايسپريسف جي پروڊڪٽس جي مقبوليت ليکڪن جي وڌندڙ تعداد کي متحرڪ ڪيو آهي جن ايسپريسف چپسيٽ جي بنياد تي 100 کان وڌيڪ ڪتاب تيار ڪيا آهن، جن ۾ انگريزي، چيني، جرمن، فرينچ ۽ جاپاني شامل آهن، ڏهن کان وڌيڪ ٻولين ۾.

اهو ڪميونٽي ڀائيوارن جي حمايت ۽ اعتماد آهي جيڪو ايسپريسف جي مسلسل جدت کي حوصلا افزائي ڪري ٿو. "اسان ڪوشش ڪريون ٿا ته اسان جي چپس، آپريٽنگ سسٽم، فريم ورڪ، حل، ڪلائوڊ، ڪاروباري طريقا، اوزار، دستاويز، لکڻيون، خيالات، وغيره، انهن جوابن لاءِ ڪڏهن به وڌيڪ لاڳاپيل آهن جيڪي ماڻهن کي جديد زندگي جي سڀ کان وڌيڪ دٻاءُ واري مسئلن ۾ گهربل آهن. هي ايسپريسف جي اعليٰ ترين تمنا ۽ اخلاقي مرڪب آهي. مسٽر ٽيو سوي اين، ايسپريسف جي باني ۽ سي اي او چيو.
Espressif پڙهڻ ۽ خيالن جو قدر ڪري ٿو. جيئن ته IoT ٽيڪنالاجي جي مسلسل اپ گريڊنگ انجنيئرن تي اعليٰ گهرجون پوريون ڪري ٿي، اسان ڪيئن وڌيڪ ماڻهن کي IoT چپس، آپريٽنگ سسٽم، سافٽ ويئر فريم ورڪ، ايپليڪيشن اسڪيمن ۽ ڪلائوڊ سروس پراڊڪٽس کي تيزيءَ سان ماسٽر ڪرڻ ۾ مدد ڪري سگهون ٿا؟ جيئن چوڻي آهي ته، انسان کي مڇي ڏيڻ کان بهتر آهي ته مڇيءَ کي ڪيئن سکيو وڃي. دماغي طوفان جي سيشن ۾، اسان کي اهو محسوس ٿيو ته اسان IoT ترقي جي اهم ڄاڻ کي منظم طور تي ترتيب ڏيڻ لاء هڪ ڪتاب لکي سگهون ٿا. اسان ان کي ختم ڪيو، جلدي سينيئر انجنيئرن جو هڪ گروپ گڏ ڪيو، ۽ ايمبيڊڊ پروگرامنگ، IoT هارڊويئر ۽ سافٽ ويئر ڊولپمينٽ ۾ ٽيڪنيڪل ٽيم جي تجربي کي گڏ ڪيو، سڀني هن ڪتاب جي اشاعت ۾ حصو ورتو. لکڻ جي عمل ۾، اسان پنهنجي پوري ڪوشش ڪئي مقصد ۽ منصفانه هجڻ جي، ڪوڪون کي هٽائي ڇڏيو، ۽ انٽرنيٽ جي شين جي پيچيدگي ۽ دلڪشي کي ٻڌائڻ لاءِ جامع اظهار استعمال ڪيو. اسان عام سوالن کي احتياط سان اختصار ڪيو، ڪميونٽي جي راءِ ۽ تجويزن جو حوالو ڏنو، ترقي جي عمل ۾ سامهون ايندڙ سوالن جا واضح جواب ڏيڻ لاءِ، ۽ لاڳاپيل ٽيڪنيشين ۽ فيصلي سازن لاءِ عملي IoT ڊولپمينٽ ھدايتون مهيا ڪرڻ لاءِ.
ڪتاب جي جوڙجڪ
هي ڪتاب هڪ انجنيئر-مرڪز نقطه نظر وٺي ٿو ۽ IoT پروجيڪٽ جي ترقي لاءِ ضروري علم بيان ڪري ٿو. اهو چئن حصن تي مشتمل آهي، جيئن ته:
· تياري (باب 1): هي حصو IoT جي آرڪيٽيڪچر، عام IoT پروجيڪٽ فريم ورڪ، ESP RainMakerr ڪلائوڊ پليٽ فارم، ۽ ترقياتي ماحول ESP-IDF متعارف ڪرايو آهي، ته جيئن IoT پروجيڪٽ جي ترقي لاءِ مضبوط بنياد رکي سگهجي.
هارڊويئر ۽ ڊرائيور ڊولپمينٽ (باب 5): ESP6-C32 chipset جي بنياد تي، هي حصو گهٽ ۾ گهٽ هارڊويئر سسٽم ۽ ڊرائيور جي ترقي تي وضاحت ڪري ٿو، ۽ ڊمنگ، رنگ جي درجه بندي، ۽ وائرليس ڪميونيڪيشن جي ڪنٽرول کي لاڳو ڪري ٿو.
· وائرليس ڪميونيڪيشن ۽ ڪنٽرول (باب 7): هي حصو ESP11-C32 چپ، لوڪل ۽ ڪلائوڊ ڪنٽرول پروٽوڪول، ۽ ڊوائيسز جي مقامي ۽ ريموٽ ڪنٽرول تي ٻڌل انٽيليجنٽ وائي فائي ڪنفيگريشن اسڪيم جي وضاحت ڪري ٿو. اهو اسمارٽ فون ايپس کي ترقي ڪرڻ، فرم ويئر اپ گريڊ، ۽ ورزن مينيجمينٽ لاءِ اسڪيمون پڻ فراهم ڪري ٿو.
· اصلاح ۽ وڏي پيداوار (باب 12-15): هي حصو ترقي يافته IoT ايپليڪيشنن لاءِ آهي، پاور مئنيجمينٽ ۾ مصنوعات جي بهتري تي ڌيان ڏيڻ، گهٽ-پاور جي اصلاح، ۽ بهتر سيڪيورٽي. اهو پڻ متعارف ڪرايو فرم ویئر جلائڻ ۽ وڏي پيداوار ۾ ٽيسٽنگ، ۽ ريموٽ مانيٽرنگ پليٽ فارم ESP Insights ذريعي ڊوائيس فرم ویئر جي هلندڙ حيثيت ۽ لاگ جي تشخيص ڪيئن ڪجي.

ماخذ ڪوڊ بابت
پڙهندڙ اڳواٽ هلائي سگهن ٿاampلي پروگرامز هن ڪتاب ۾، يا ته دستي طور ڪوڊ داخل ڪندي يا ڪتاب سان گڏ سورس ڪوڊ استعمال ڪندي. اسان نظريي ۽ عمل جي ميلاپ تي زور ڏيون ٿا، ۽ اهڙيءَ طرح تقريباً هر باب ۾ سمارٽ لائيٽ پروجيڪٽ جي بنياد تي هڪ عملي سيڪشن قائم ڪيو. سڀئي ڪوڊ اوپن سورس آهن. پڙهندڙن کي ڀليڪار آهي ته ماخذ ڪوڊ ڊائون لوڊ ڪريو ۽ ان تي بحث ڪريو هن ڪتاب سان لاڳاپيل حصن ۾ GitHub ۽ اسان جي سرڪاري فورم esp32.com. هن ڪتاب جو اوپن سورس ڪوڊ Apache License 2.0 جي شرطن سان مشروط آهي.
ليکڪ جو نوٽ
هي ڪتاب سرڪاري طور تي Espressif Systems پاران تيار ڪيو ويو آهي ۽ ڪمپني جي سينئر انجنيئرن طرفان لکيل آهي. اهو IoT سان لاڳاپيل صنعتن ۾ مينيجرز ۽ آر اينڊ ڊي اهلڪارن، استادن ۽ لاڳاپيل ميجرن جي شاگردن، ۽ شين جي انٽرنيٽ جي شعبي ۾ شوقينن لاءِ موزون آهي. اسان اميد ٿا ڪريون ته هي ڪتاب هڪ ڪم مينوئل، هڪ حوالو ۽ هڪ پلنگ وارو ڪتاب بڻجي، هڪ سٺو استاد ۽ دوست بڻجي سگهي ٿو.
هن ڪتاب کي مرتب ڪرڻ وقت، اسان ملڪي توڙي ٻاهرين ملڪن جي ماهرن، اسڪالرن ۽ ٽيڪنيشين جي ڪجهه لاڳاپيل تحقيقي نتيجن جو حوالو ڏنو ۽ انهن کي علمي معيارن مطابق نقل ڪرڻ جي ڀرپور ڪوشش ڪئي. تنهن هوندي به، اهو ناگزير آهي ته ان ۾ ڪجهه ڪوتاهيون هجڻ گهرجي، تنهنڪري هتي اسان سڀني لاڳاپيل ليکڪن کي پنهنجي دل جي احترام ۽ شڪرگذاري جو اظهار ڪرڻ چاهيندا آهيون. ان کان علاوه، اسان انٽرنيٽ تان معلومات جو حوالو ڏنو آهي، تنهنڪري اسان اصل ليکڪن ۽ پبلشرن جو شڪرگذار ڪرڻ چاهيون ٿا ۽ معافي گهرون ٿا ته اسان ڄاڻ جي هر ٽڪڙي جو ماخذ ظاهر نه ٿا ڪري سگهون.
اعليٰ معيار جو ڪتاب تيار ڪرڻ لاءِ، اسان اندروني بحثن جا دور منظم ڪيا آهن، ۽ آزمائشي پڙهندڙن ۽ پبلشر ايڊيٽرن جي تجويزن ۽ راءِ کان سکيو آهي. هتي، اسان توهان جي مدد لاء ٻيهر مهرباني ڪرڻ چاهيون ٿا، جنهن هن ڪامياب ڪم ۾ سڀني مدد ڪئي.
آخري، پر سڀ کان اهم ڳالهه، Espressif تي هر ڪنهن جي مهرباني جنهن اسان جي پروڊڪٽس جي پيدائش ۽ مقبوليت لاءِ تمام گهڻي محنت ڪئي.
IoT منصوبن جي ترقي ۾ علم جي وسيع رينج شامل آهي. ڪتاب جي ڊيگهه تائين محدود، گڏوگڏ ليکڪ جي سطح ۽ تجربو، غلطيون ناگزير آهن. تنهن ڪري، اسان جي مهرباني، ماهرن ۽ پڙهندڙن کي گذارش آهي ته تنقيد ۽ اسان جي غلطين کي درست ڪن. جيڪڏھن توھان وٽ ھن ڪتاب لاءِ ڪي تجويزون آھن، مھرباني ڪري اسان سان رابطو ڪريو book@espressif.com. اسان توهان جي راءِ جو منتظر آهيون.

هي ڪتاب ڪيئن استعمال ڪجي؟
هن ڪتاب ۾ پروجيڪٽ جو ڪوڊ اوپن سورس ڪيو ويو آهي. توھان ان کي ڊائون لوڊ ڪري سگھو ٿا اسان جي GitHub مخزن مان ۽ پنھنجي سوچن ۽ سوالن کي اسان جي سرڪاري فورم تي حصيداري ڪريو. GitHub: https://github.com/espressif/book-esp32c3-iot-projects فورم: https://www.esp32.com/bookc3 سڄي ڪتاب ۾، ھيٺ ڏنل ڏيکاريل حصن کي نمايان ڪيو ويندو.
ماخذ ڪوڊ هن ڪتاب ۾، اسان نظريي ۽ عمل جي ميلاپ تي زور ڏنو آهي، ۽ اهڙيءَ طرح تقريباً هر باب ۾ سمارٽ لائيٽ پروجيڪٽ جي باري ۾ هڪ مشق سيڪشن مقرر ڪيو آهي. لاڳاپيل مرحلا ۽ ماخذ واري صفحي کي ٻن لائينن جي وچ ۾ نشان لڳايو ويندو tag سورس ڪوڊ.
نوٽ/ ٽِپس ھي آھي جتي توھان ڪجھ نازڪ معلومات ڳولي سگھو ٿا ۽ توھان جي پروگرام کي ڪاميابيءَ سان ڊيبگ ڪرڻ لاءِ ياد ڏياريندڙ. انهن کي ٻن ٿلهن لائينن جي وچ ۾ نشان لڳل هوندو tag نوٽ يا ٽپس.
ھن ڪتاب ۾ گھڻا حڪم لينڪس تحت جاري ڪيا ويا آھن، ڪردار "$" پاران اشارو ڪيو ويو آھي. جيڪڏهن حڪم کي عمل ڪرڻ لاء سپر يوزر جي استحقاق جي ضرورت آهي، پرامپٽ کي "#" سان تبديل ڪيو ويندو. ميڪ سسٽم تي ڪمانڊ پرامپٽ ”%“ آهي، جيئن سيڪشن 4.2.3 ۾ استعمال ڪيو ويو آهي Mac تي ESP-IDF انسٽال ڪرڻ.
هن ڪتاب ۾ جسماني متن چارٽر ۾ ڇپبو، جڏهن ته ڪوڊ examples, components, functions, variables, code file نالا، ڪوڊ ڊاريڪٽريون، ۽ تارون ڪوريئر نيو ۾ هونديون.
حڪم يا نصوص جيڪي صارف پاران داخل ٿيڻ گهرجن، ۽ حڪم جيڪي داخل ٿي سگھن ٿا "Enter" کي دٻائڻ سان، ڪوريئر نيو بولڊ ۾ پرنٽ ڪيو ويندو. لاگز ۽ ڪوڊ بلاڪ ھلڪي نيري باڪس ۾ پيش ڪيا ويندا.
Exampاليزي:
ٻيو، استعمال ڪريو esp-idf/components/nvs flash/nvs partition Generator/nvs partition gen.py NVS ورهاڱي بائنري ٺاهڻ لاءِ file هيٺ ڏنل حڪم سان ترقي ميزبان تي:
$ python $IDF PATH/components/nvs Flash/nvs ورهاڱي جنريٽر/nvs ورهاڱي gen.py -input mass prod.csv -output mass prod.bin -size NVS PARTITION SIZE

باب 1

تعارف

جي طرف

آئي او ٽي

20 صدي جي آخر ۾، ڪمپيوٽر نيٽ ورڪ ۽ ڪميونيڪيشن ٽيڪنالاجيز جي اڀار سان، انٽرنيٽ تيزي سان ماڻهن جي زندگين ۾ ضم ٿي ويو. جيئن ته انٽرنيٽ ٽيڪنالاجي پختو ٿيڻ جاري آهي، انٽرنيٽ جو خيال (IoT) پيدا ٿيو. لفظي طور تي، IoT جو مطلب آهي هڪ انٽرنيٽ جتي شيون ڳنڍيل آهن. جڏهن ته اصل انٽرنيٽ خلا ۽ وقت جي حدن کي ٽوڙي ٿو ۽ "ماڻهو ۽ ماڻهو" جي وچ ۾ فاصلو تنگ ڪري ٿو، IoT "شيون" کي هڪ اهم حصو وٺندڙ بڻائي ٿو، "ماڻهن" ۽ "شيون" کي ويجهي آڻيندي. ويجهي مستقبل ۾، IoT معلومات جي صنعت جي ڊرائيونگ قوت بڻجي وئي آهي.
سو، انٽرنيٽ جو ڇا آهي؟
انٽرنيٽ جي شين کي صحيح طور تي بيان ڪرڻ ڏکيو آهي، ڇاڪاڻ ته ان جي معني ۽ گنجائش مسلسل ترقي ڪري رهيا آهن. 1995ع ۾ بل گيٽس پهريون ڀيرو IoT جو خيال پنهنجي ڪتاب The Road Ahead ۾ پيش ڪيو. آسان لفظ ۾، IoT شين کي انٽرنيٽ ذريعي هڪ ٻئي سان معلومات مٽائڻ جي قابل بڻائي ٿو. ان جو حتمي مقصد ”انٽرنيٽ آف هر شي“ قائم ڪرڻ آهي. هي IoT جي شروعاتي تشريح آهي، انهي سان گڏ مستقبل جي ٽيڪنالاجي جو هڪ تصور. ٽيهه سالن کان پوء، معيشت ۽ ٽيڪنالاجي جي تيز ترقي سان، تصور حقيقت ۾ اچي رهيو آهي. سمارٽ ڊوائيسز، سمارٽ گهر، سمارٽ شهرن، گاڏين جي انٽرنيٽ ۽ wearable ڊوائيسز، IoT ٽيڪنالاجيز جي سهڪار سان "ميٽاورس" تائين، نوان تصورات مسلسل اڀري رهيا آهن. هن باب ۾، اسان انٽرنيٽ جي شين جي فن تعمير جي وضاحت سان شروع ڪنداسين، ۽ پوء سڀ کان وڌيڪ عام IoT ايپليڪيشن، سمارٽ هوم متعارف ڪرايو، توهان کي IoT جي واضح سمجھ حاصل ڪرڻ ۾ مدد ڏيڻ لاء.
1.1 IoT جو فن تعمير
شين جي انٽرنيٽ ۾ ڪيترن ئي ٽيڪنالاجيون شامل آهن جيڪي مختلف صنعتن ۾ مختلف ايپليڪيشن گهرجن ۽ فارم آهن. IoT جي جوڙجڪ، اهم ٽيڪنالاجيز ۽ ايپليڪيشن خاصيتن کي ترتيب ڏيڻ لاء، هڪ متحد فن تعمير ۽ معياري ٽيڪنيڪل سسٽم قائم ڪرڻ ضروري آهي. هن ڪتاب ۾، IoT جي فن تعمير کي صرف چار تہه ۾ ورهايو ويو آهي: تصور ۽ ڪنٽرول پرت، نيٽورڪ پرت، پليٽ فارم پرت، ۽ ايپليڪيشن پرت.
تصور ۽ ڪنٽرول پرت IoT فن تعمير جي بنيادي عنصر جي طور تي، تصور ۽ ڪنٽرول پرت IoT جي جامع سينسنگ کي محسوس ڪرڻ لاءِ بنيادي آهي. ان جو بنيادي ڪم معلومات گڏ ڪرڻ، سڃاڻڻ ۽ ڪنٽرول ڪرڻ آهي. اهو مختلف قسم جي ڊوائيسز تي مشتمل آهي، تصور جي صلاحيت سان،
3

سڃاڻپ، ڪنٽرول ۽ عملدرآمد، ۽ ڊيٽا کي ٻيهر حاصل ڪرڻ ۽ تجزيو ڪرڻ لاء ذميوار آهي جهڙوڪ مادي ملڪيت، رويي جي رجحانات، ۽ ڊوائيس جي صورتحال. هن طريقي سان، IoT حقيقي جسماني دنيا کي سڃاڻي ٿو. ان کان سواء، پرت پڻ ڊوائيس جي حيثيت کي ڪنٽرول ڪرڻ جي قابل آهي.
هن پرت جا سڀ کان عام ڊوائيس مختلف سينسرز آهن، جيڪي معلومات گڏ ڪرڻ ۽ سڃاڻپ ۾ اهم ڪردار ادا ڪن ٿا. سينسرز انساني حسي عضون وانگر آھن، جھڙوڪ ڦوٽو حساس سينسرز ڏسڻ لاءِ برابر آھن، صوتي سينسرز ٻڌڻ لاءِ، گيس سينسرز کي سونگھڻ لاءِ، ۽ دٻاءَ ۽ گرمي پد حساس سينسرز کي ڇڪڻ لاءِ. انهن سڀني "حسيسي اعضن" سان، شيون "زنده" بڻجي وڃن ٿيون ۽ جسماني دنيا جي ذهين تصور، سڃاڻڻ ۽ هٿ ڪرڻ جي قابل آهن.
نيٽ ورڪ پرت جو بنيادي ڪم معلومات کي منتقل ڪرڻ آهي، جنهن ۾ ڊيٽا شامل آهي پرسيپشن ۽ ڪنٽرول پرت مان حاصل ڪيل مخصوص ٽارگيٽ ڏانهن، ۽ انهي سان گڏ ايپليڪيشن ليئر مان جاري ڪيل حڪمن کي واپس تصور ۽ ڪنٽرول پرت ڏانهن. اهو IoT سسٽم جي مختلف تہن کي ڳنڍيندڙ هڪ اهم مواصلاتي پل جي طور تي ڪم ڪري ٿو. شين جي انٽرنيٽ جو بنيادي ماڊل قائم ڪرڻ لاءِ، ان ۾ شيون شامل ڪرڻ لاءِ ٻه قدم شامل آهن نيٽ ورڪ ۾: انٽرنيٽ تائين رسائي ۽ انٽرنيٽ ذريعي ٽرانسميشن.
انٽرنيٽ انٽرنيٽ تائين رسائي فرد ۽ فرد جي وچ ۾ رابطي کي قابل بنائي ٿو، پر وڏي خاندان ۾ شيون شامل ڪرڻ ۾ ناڪام ٿي. IoT جي اچڻ کان اڳ، اڪثر شيون "نيٽورڪ قابل" نه هيون. ٽيڪنالاجي جي مسلسل ترقي جي مهرباني، IoT شين کي انٽرنيٽ سان ڳنڍڻ جو انتظام ڪري ٿو، اهڙيء طرح "ماڻهن ۽ شين"، ۽ "شيون ۽ شيون" جي وچ ۾ رابطي جو احساس. انٽرنيٽ ڪنيڪشن کي لاڳو ڪرڻ جا ٻه عام طريقا آهن: وائرڊ نيٽ ورڪ رسائي ۽ وائرليس نيٽ ورڪ رسائي.
وائرڊ نيٽ ورڪ جي رسائي جي طريقن ۾ شامل آهن Ethernet، سيريل ڪميونيڪيشن (مثال طور، RS-232، RS-485) ۽ USB، جڏهن ته وائرليس نيٽ ورڪ جي رسائي جو دارومدار وائرليس ڪميونيڪيشن تي هوندو آهي، جنهن کي وڌيڪ ورهائي سگهجي ٿو مختصر-رينج وائرليس ڪميونيڪيشن ۽ ڊگھي رينج وائرليس ڪميونيڪيشن ۾.
شارٽ رينج وائرليس ڪميونيڪيشن ۾ ZigBee، بلوٽوٿر، وائي فائي، Near-Feld Communication (NFC)، ۽ ريڊيو فريڪوئنسي Identification (RFID) شامل آهن. ڊگھي رينج جي وائرليس ڪميونيڪيشن ۾ شامل آھن Enhanced Machine Type Communication (eMTC)، LoRa، Narrow Band Internet of Things (NB-IoT)، 2G، 3G، 4G، 5G، وغيره.
انٽرنيٽ ذريعي ٽرانسميشن انٽرنيٽ جي رسائي جا مختلف طريقا ڊيٽا جي لاڳاپيل جسماني ٽرانسميشن لنڪ کي ڏسندا آهن. ايندڙ شيء اهو فيصلو ڪرڻ آهي ته ڪهڙي مواصلاتي پروٽوڪول کي ڊيٽا منتقل ڪرڻ لاء استعمال ڪيو وڃي. انٽرنيٽ ٽرمينلز جي مقابلي ۾، گھڻا IoT ٽرمينل في الحال گھٽ آھن
4 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

دستياب وسيلن، جهڙوڪ پروسيسنگ ڪارڪردگي، اسٽوريج جي صلاحيت، نيٽ ورڪ جي شرح، وغيره، تنهنڪري اهو ضروري آهي ته هڪ مواصلاتي پروٽوڪول چونڊيو جيڪو IoT ايپليڪيشنن ۾ گهٽ وسيلن تي قبضو ڪري ٿو. هتي ٻه مواصلاتي پروٽوڪول آهن جيڪي اڄ وڏي پيماني تي استعمال ڪيا ويا آهن: پيغام قطار ٽيليميٽري ٽرانسپورٽ (MQTT) ۽ محدود ايپليڪيشن پروٽوڪول (CoAP).
پليٽ فارم پرت پليٽ فارم پرت بنيادي طور تي IoT ڪلائوڊ پليٽ فارمز ڏانهن اشارو ڪري ٿو. جڏهن سڀ IoT ٽرمينل نيٽ ورڪ آهن، انهن جي ڊيٽا کي IoT ڪلائوڊ پليٽ فارم تي گڏ ڪرڻ جي ضرورت آهي حساب ۽ ذخيرو ڪرڻ لاء. پليٽ فارم پرت بنيادي طور تي IoT ايپليڪيشنن کي سپورٽ ڪري ٿي وڏين ڊوائيسز جي رسائي ۽ انتظام کي آسان ڪرڻ ۾. اهو IoT ٽرمينلز کي ڪلائوڊ پليٽ فارم سان ڳنڍي ٿو، ٽرمينل ڊيٽا گڏ ڪري ٿو، ۽ ٽرمينلز کي حڪم جاري ڪري ٿو، جيئن ريموٽ ڪنٽرول کي لاڳو ڪرڻ لاءِ. صنعت جي ايپليڪيشنن کي سامان تفويض ڪرڻ لاءِ هڪ وچولي خدمت جي طور تي، پليٽ فارم پرت سڄي IoT فن تعمير ۾ ڳنڍيندڙ ڪردار ادا ڪري ٿي، تجريدي ڪاروباري منطق ۽ معياري بنيادي ڊيٽا ماڊل کڻندي آهي، جيڪا نه رڳو ڊوائيسز جي تيز رسائي کي محسوس ڪري سگهي ٿي، پر طاقتور ماڊلر صلاحيتون پڻ مهيا ڪري ٿي. صنعت جي درخواست جي منظرنامي ۾ مختلف ضرورتن کي پورا ڪرڻ لاء. پليٽ فارم جي پرت ۾ بنيادي طور تي فنڪشنل ماڊل شامل آهن جهڙوڪ ڊوائيس رسائي، ڊوائيس مينيجمينٽ، سيڪيورٽي انتظام، پيغام مواصلات، نگراني آپريشن ۽ سار سنڀال، ۽ ڊيٽا ايپليڪيشنون.
· ڊوائيس تائين رسائي، ٽرمينلز ۽ IoT ڪلائوڊ پليٽ فارمن جي وچ ۾ رابطي ۽ رابطي کي محسوس ڪرڻ.
· ڊيوائس مينيجمينٽ، جنهن ۾ ڪم شامل آهن جهڙوڪ ڊوائيس ٺاهڻ، ڊوائيس جي سار سنڀال، ڊيٽا جي تبديلي، ڊيٽا جي هم وقت سازي، ۽ ڊوائيس جي تقسيم.
· سيڪيورٽي انتظام، حفاظتي تصديق ۽ مواصلاتي سيڪيورٽي جي نقطه نظر کان IoT ڊيٽا جي منتقلي جي سيڪيورٽي کي يقيني بڻائي.
· ميسيج ڪميونيڪيشن، جنهن ۾ ٽي ٽرانسميشن هدايتون شامل آهن، يعني ٽرمينل ڊيٽا موڪلي ٿو IoT ڪلائوڊ پليٽ فارم ڏانهن، IoT ڪلائوڊ پليٽ فارم ڊيٽا موڪلي ٿو سرور طرف يا ٻين IoT ڪلائوڊ پليٽ فارمن تي، ۽ سرور سائڊ ريموٽ IoT ڊوائيسز کي ڪنٽرول ڪري ٿو.
· مانيٽرنگ O&M، مانيٽرنگ ۽ تشخيص، فرم ويئر اپ گريڊ، آن لائن ڊيبگنگ، لاگ سروسز وغيره.
· ڊيٽا ايپليڪيشنون، جن ۾ ڊيٽا جي اسٽوريج، تجزيو ۽ ايپليڪيشن شامل آهن.
ايپليڪيشن ليئر ايپليڪيشن ليئر پليٽ فارم جي ڊيٽا کي استعمال ڪندي ايپليڪيشن کي منظم ڪرڻ، فلٽر ڪرڻ ۽ پروسيسنگ ڪرڻ لاءِ اوزارن جهڙوڪ ڊيٽابيسس ۽ تجزياتي سافٽ ويئر. نتيجو ڊيٽا حقيقي دنيا جي IoT ايپليڪيشنن لاءِ استعمال ٿي سگهي ٿو جهڙوڪ سمارٽ هيلٿ ڪيئر، سمارٽ زراعت، سمارٽ گهر، ۽ سمارٽ شهر.
يقينن، IoT جي فن تعمير کي ذيلي تقسيم ڪري سگهجي ٿو وڌيڪ تہن ۾، پر ڪابه ڳالهه اها ڪيترين ئي تہن تي مشتمل آهي، بنيادي اصول بنيادي طور تي ساڳيو رهي ٿو. سکيا
باب 1. IoT 5 جو تعارف

IoT جي فن تعمير بابت اسان جي IoT ٽيڪنالاجي جي سمجھ کي وڌيڪ مضبوط ڪرڻ ۽ مڪمل طور تي فعال IoT پروجيڪٽ ٺاهڻ ۾ مدد ڪري ٿي.
1.2 IoT ايپليڪيشن سمارٽ هومز ۾
IoT زندگي جي سڀني شعبن ۾ داخل ٿي چڪو آهي، ۽ اسان لاءِ سڀ کان وڌيڪ ويجهي سان لاڳاپيل IoT ايپليڪيشن سمارٽ گهر آهي. ڪيتريون ئي روايتي آلات هاڻي هڪ يا وڌيڪ IoT ڊوائيسز سان ليس آهن، ۽ ڪيترائي نوان ٺهيل گهر شروع کان IoT ٽيڪنالاجي سان ٺهيل آهن. شڪل 1.1 ڏيکاري ٿو ڪجهه عام سمارٽ گهر ڊوائيسز.
شڪل 1.1. عام سمارٽ گهر ڊوائيسز سمارٽ گهر جي ترقي کي آسان طور تي سمارٽ پراڊڪٽ ۾ ورهائي سگهجي ٿو.tage، منظر جي وچ ۾ ڪنيڪشن stage ۽ ذهين ايسtage، جيئن تصوير 1.2 ۾ ڏيکاريل آهي.
شڪل 1.2. ترقي ايسtage of smart home 6 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

پهريون نالو ايسtage سمارٽ شين جي باري ۾ آهي. روايتي گهرن کان مختلف، سمارٽ گهرن ۾، IoT ڊوائيس سينسرز سان سگنل وصول ڪن ٿا، ۽ وائرليس ڪميونيڪيشن ٽيڪنالاجيز جهڙوڪ وائي فائي، بلوٽوٿ LE، ۽ ZigBee ذريعي نيٽ ورڪ ٿيل آهن. صارفين سمارٽ پروڊڪٽس کي مختلف طريقن سان ڪنٽرول ڪري سگھن ٿا، جهڙوڪ اسمارٽ فون ايپس، وائس اسسٽنٽ، سمارٽ اسپيڪر ڪنٽرول وغيره.tagاي منظر جي وچ ۾ رابطي تي ڌيان ڏئي ٿو. ان ۾ ايسtage، ڊولپرز هاڻي اڪيلو سمارٽ پراڊڪٽ کي ڪنٽرول ڪرڻ تي غور نه ڪري رهيا آهن، پر ٻه يا وڌيڪ سمارٽ پراڊڪٽس کي پاڻ ۾ ڳنڍڻ، هڪ خاص حد تائين خودڪار ڪرڻ، ۽ آخرڪار هڪ ڪسٽم منظر موڊ ٺاهي رهيا آهن. مثال طورampلي، جڏهن صارف ڪنهن به منظر واري موڊ جي بٽڻ کي دٻائي ٿو، بتيون، پردا، ۽ ايئر ڪنڊيشنرز خودڪار طريقي سان ترتيب ڏني ويندي. يقينا، اتي شرط آهي ته ڳنڍيل منطق آساني سان ترتيب ڏني وئي آهي، بشمول ٽرگر شرطن ۽ عمل جي عملن سميت. تصور ڪريو ته ايئر ڪنڊيشن حرارتي موڊ شروع ٿئي ٿو جڏهن اندروني درجه حرارت 10 ° C کان گهٽجي وڃي. ته صبح جو 7 وڳي، صارف کي جاڳائڻ لاءِ موسيقي وڄائي ويندي آهي، سمارٽ پردا کوليا ويندا آهن، ۽ چانورن جو ڪڪر يا روٽي ٽوسٽر سمارٽ ساڪٽ ذريعي شروع ٿيندو آهي؛ جيئن ئي صارف اٿندو ۽ ڌوئڻ ختم ڪري، ناشتو اڳ ۾ ئي ڏنو ويو آهي، تنهنڪري ڪم تي وڃڻ ۾ دير نه ٿيندي. اسان جي زندگي ڪيتري آسان ٿي وئي آهي! ٽيون ايسtage انٽيليجنس s ڏانهن وڃي ٿوtage. جيئن وڌيڪ سمارٽ گهر ڊوائيسز تائين پهچندا آهن، تيئن ڊيٽا جا قسم ٺاهيا ويندا. ڪلائوڊ ڪمپيوٽنگ، بگ ڊيٽا ۽ آرٽيفيشل انٽيليجنس جي مدد سان، اهو ائين آهي جيئن سمارٽ هومز ۾ ”سمارٽر دماغ“ لڳايو ويو آهي، جنهن کي هاڻي صارف جي بار بار حڪمن جي ضرورت ناهي. اهي ڊيٽا گڏ ڪن ٿا اڳوڻن ڳالهين مان ۽ سکندا آهن صارف جي رويي جي نمونن ۽ ترجيحن کي، جيئن سرگرمين کي خودڪار ڪرڻ، بشمول فيصلو ڪرڻ لاءِ سفارشون مهيا ڪرڻ. في الحال، اڪثر سمارٽ گهر منظر عام تي آهنtage. جيئن ته سمارٽ شين جي دخول جي شرح ۽ ذهانت وڌندي آهي، رابطي جي پروٽوڪول جي وچ ۾ رڪاوٽون ختم ٿي وينديون آهن. مستقبل ۾، سمارٽ هومز واقعي ”سمارٽ“ ٿيڻ جا پابند آهن، جيئن آئرن مين ۾ اي آءِ سسٽم جارويس، جيڪو نه رڳو صارف کي مختلف ڊوائيسن تي ڪنٽرول ڪرڻ، روزاني معاملن کي سنڀالڻ ۾ مدد ڪري سگهي ٿو پر ان ۾ سپر ڪمپيوٽنگ پاور ۽ سوچڻ جي صلاحيت پڻ آهي. عقلمندن ۾ ايسtagاي، انسانن کي مقدار ۽ معيار ٻنهي ۾ بهتر خدمتون ملنديون.
باب 1. IoT 7 جو تعارف

8 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

باب 2 IoT منصوبن جو تعارف ۽ مشق
باب 1 ۾، اسان متعارف ڪرايو IoT جو فن تعمير، ۽ تصور ۽ ڪنٽرول پرت جا ڪردار ۽ لاڳاپا، نيٽ ورڪ پرت، پليٽ فارم پرت، ۽ ايپليڪيشن پرت، ۽ گڏوگڏ سمارٽ گهر جي ترقي. تنهن هوندي، جيئن اسان کي رنگ ڏيڻ سکندا آهيون، نظرياتي ڄاڻ ڄاڻڻ ڪافي کان پري آهي. اسان کي ”پنهنجا هٿ گندا“ ڪرڻا پون ٿا IoT منصوبن کي عملي طور تي ٽيڪنالاجي ۾ مهارت حاصل ڪرڻ لاءِ. ان کان علاوه، جڏهن هڪ پروجيڪٽ ڪاميٽي جي پيداوار ڏانهن هلندو آهيtage، اهو ضروري آهي ته وڌيڪ عنصر تي غور ڪيو وڃي جهڙوڪ نيٽ ورڪ ڪنيڪشن، ترتيب، IoT ڪلائوڊ پليٽ فارم جي رابطي، فرم ویئر مينيجمينٽ ۽ تازه ڪاريون، ڪاميٽي پيداوار جي انتظام، ۽ سيڪيورٽي ترتيب. تنهن ڪري، مڪمل IoT منصوبي کي ترقي ڪرڻ وقت اسان کي ڇا ڌيان ڏيڻ جي ضرورت آهي؟ باب 1 ۾، اسان ذڪر ڪيو آهي ته سمارٽ گهر تمام عام IoT ايپليڪيشن جي منظرنامي مان هڪ آهي، ۽ سمارٽ لائيٽ هڪ بنيادي ۽ عملي سامان آهي، جيڪي گهر، هوٽل، جم، اسپتال وغيره ۾ استعمال ڪري سگهجن ٿيون. هي ڪتاب، اسان هڪ سمارٽ لائٽ پروجيڪٽ جي تعمير کي شروعاتي نقطي طور وٺنداسين، ان جي اجزاء ۽ خاصيتن جي وضاحت ڪنداسين، ۽ پروجيڪٽ جي ترقي تي رهنمائي فراهم ڪنداسين. اسان کي اميد آهي ته توهان وڌيڪ IoT ايپليڪيشن ٺاهڻ لاءِ هن ڪيس مان انفرنس ڪڍي سگهو ٿا.
2.1 عام IoT منصوبن جو تعارف
ترقي جي لحاظ کان، IoT منصوبن جي بنيادي فنڪشنل ماڊلز کي IoT ڊوائيسز جي سافٽ ويئر ۽ هارڊويئر ڊولپمينٽ، ڪلائنٽ ايپليڪيشن ڊولپمينٽ، ۽ IoT ڪلائوڊ پليٽ فارم ڊولپمينٽ ۾ ورهائي سگھجي ٿو. بنيادي فنڪشنل ماڊلز کي واضح ڪرڻ ضروري آهي، جن کي هن حصي ۾ وڌيڪ بيان ڪيو ويندو.
2.1.1 عام IoT ڊوائيسز لاء بنيادي ماڊل
IoT ڊوائيسز جي سافٽ ويئر ۽ هارڊويئر ڊولپمينٽ ۾ هيٺيان بنيادي ماڊل شامل آهن: ڊيٽا گڏ ڪرڻ
IoT فن تعمير جي هيٺئين پرت جي طور تي، تصور ۽ ڪنٽرول پرت جي IoT ڊوائيسز سينسر ۽ ڊوائيسز کي انهن جي چپس ۽ پرديئرز ذريعي ڳنڍيندا آهن ڊيٽا گڏ ڪرڻ ۽ آپريشن ڪنٽرول حاصل ڪرڻ لاء.
9

اڪائونٽ بائنڊنگ ۽ ابتدائي ڪنفيگريشن اڪثر IoT ڊوائيسز لاءِ، اڪائونٽ بائنڊنگ ۽ ابتدائي ڪنفيگريشن هڪ آپريشنل عمل ۾ مڪمل ٿي ويا آهن، اڳ لاءِampلي، وائي فائي نيٽ ورڪ کي ترتيب ڏيڻ سان صارفين سان ڊوائيسز کي ڳنڍڻ.
IoT ڪلائوڊ پليٽ فارمن سان تعامل IoT ڊوائيسز جي نگراني ۽ ڪنٽرول ڪرڻ لاءِ، اهو پڻ ضروري آهي ته انهن کي IoT ڪلائوڊ پليٽ فارمن سان ڳنڍڻ، حڪم ڏيڻ ۽ هڪ ٻئي جي وچ ۾ رابطي ذريعي اسٽيٽس جي رپورٽ ڪرڻ لاءِ.
ڊوائيس ڪنٽرول جڏهن IoT ڪلائوڊ پليٽ فارمن سان ڳنڍيل هجي، ڊوائيس ڪلائوڊ سان رابطو ڪري سگھن ٿيون ۽ رجسٽرڊ، پابند، يا ڪنٽرول ٿي سگهن ٿيون. استعمال ڪندڙ پراڊڪٽ اسٽيٽس جو سوال ڪري سگھن ٿا ۽ IoT ڪلائوڊ پليٽ فارمز يا مقامي ڪميونيڪيشن پروٽوڪول ذريعي سمارٽ فون ايپ تي ٻيا عمل ڪري سگھن ٿا.
فرم ويئر اپ گريڊ IoT ڊوائيسز پڻ حاصل ڪري سگھن ٿيون فرم ويئر اپ گريڊ ٺاهيندڙن جي ضرورتن جي بنياد تي. بادل پاران موڪليل حڪمن کي حاصل ڪرڻ سان، فرم ويئر اپ گريڊ ۽ ورزن جي انتظام کي محسوس ڪيو ويندو. هن فرم ويئر اپ گريڊ جي خاصيت سان، توهان مسلسل IoT ڊوائيسز جي ڪم کي وڌائي سگهو ٿا، خرابين کي درست ڪري، ۽ صارف جي تجربي کي بهتر بڻائي سگهو ٿا.
2.1.2 ڪلائنٽ ايپليڪيشنن جا بنيادي ماڊل
ڪلائنٽ ايپليڪيشنون (مثال طور، اسمارٽ فون ايپس) ۾ بنيادي طور تي هيٺيان بنيادي ماڊل شامل آهن:
اڪائونٽ سسٽم ۽ اختيار ڏيڻ اهو اڪائونٽ ۽ ڊوائيس جي اجازت جي حمايت ڪري ٿو.
ڊوائيس ڪنٽرول اسمارٽ فون ايپس عام طور تي ڪنٽرولنگ افعال سان ليس هوندا آهن. صارف آساني سان IoT ڊوائيسز سان ڳنڍي سگهن ٿا، ۽ انهن کي ڪنهن به وقت، ڪٿي به سمارٽ فون ايپس ذريعي منظم ڪري سگهن ٿا. حقيقي دنيا جي سمارٽ گهر ۾، ڊوائيس گهڻو ڪري سمارٽ فون ايپس ذريعي ڪنٽرول ڪيا ويندا آهن، جيڪي نه رڳو ڊوائيسز جي ذهين انتظام کي قابل بنائي ٿو، پر افرادي قوت جي قيمت پڻ بچائيندو آهي. تنهن ڪري، ڪلائنٽ ايپليڪيشنن لاءِ ڊيوائس ڪنٽرول لازمي آهي، جهڙوڪ ڊيوائس فنڪشن انتساب ڪنٽرول، منظر ڪنٽرول، شيڊيولنگ، ريموٽ ڪنٽرول، ڊيوائس لنڪيج، وغيره. سمارٽ گهر استعمال ڪندڙ پڻ منظرن کي ذاتي ضرورتن مطابق ترتيب ڏئي سگهن ٿا، ڪنٽرولنگ لائٽنگ، گهر جو سامان، داخلا وغيره، گهر جي زندگي کي وڌيڪ آرامده ۽ آسان بڻائڻ لاءِ. اهي ايئر ڪنڊيشننگ کي ٽائيم ڪري سگهن ٿا، ان کي دور کان بند ڪري، دالان جي روشني کي خودڪار طور تي سيٽ ڪري سگھن ٿا جڏهن دروازو کوليو ويندو آهي، يا هڪ واحد بٽڻ سان "ٿيٽر" موڊ تي سوئچ ڪري سگھن ٿا.
نوٽيفڪيشن ڪلائنٽ ايپليڪيشنون IoT ڊوائيسز جي حقيقي وقت واري صورتحال کي اپڊيٽ ڪن ٿيون، ۽ ڊيوائسز غير معمولي ٿيڻ تي الرٽ موڪليو.
10 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

سيلز کان پوءِ ڪسٽمر سروس اسمارٽ فون ايپس پروڊڪٽس لاءِ سيلز کان پوءِ جون خدمتون مهيا ڪري سگھن ٿيون، IoT ڊوائيس جي ناڪامين ۽ ٽيڪنيڪل آپريشنز سان لاڳاپيل مسئلن کي بروقت حل ڪرڻ لاءِ.
مختلف استعمال ڪندڙن جي ضرورتن کي پورو ڪرڻ لاءِ، ٻيا افعال شامل ڪري سگھجن ٿا، جھڙوڪ شيڪ، اين ايف سي، جي پي ايس، وغيره. GPS جڳھ ۽ فاصلي جي مطابق منظر جي عملن جي درستگي کي سيٽ ڪرڻ ۾ مدد ڪري سگھن ٿا، جڏھن ته شيڪ فنڪشن صارفين کي سيٽ ڪرڻ جي اجازت ڏئي ٿو. خاص ڊوائيس يا منظر لاءِ ڪم ڪرڻ جو حڪم.
2.1.3 عام IoT Cloud پليٽ فارمن جو تعارف
IoT ڪلائوڊ پليٽ فارم هڪ آل-ان-ون پليٽ فارم آهي جيڪو ڪمن کي ضم ڪري ٿو جهڙوڪ ڊوائيس مينيجمينٽ، ڊيٽا سيڪيورٽي ڪميونيڪيشن، ۽ نوٽيفڪيشن مينيجمينٽ. انهن جي ٽارگيٽ گروپ ۽ رسائي جي مطابق، IoT ڪلائوڊ پليٽ فارمن کي عوامي IoT ڪلائوڊ پليٽ فارمن ۾ ورهائي سگهجي ٿو (هتان کان پوء "عوامي ڪلائوڊ" جي طور تي حوالو ڏنو ويو آهي) ۽ نجي IoT ڪلائوڊ پليٽ فارمز (هاڻي بعد ۾ "نجي بادل" طور حوالو ڏنو ويو آهي).
پبلڪ ڪلائوڊ عام طور تي اشارو ڪري ٿو حصيداري IoT ڪلائوڊ پليٽ فارمز لاءِ ادارن يا فردن لاءِ، پليٽ فارم فراهم ڪندڙن پاران هلائيندڙ ۽ سنڀاليندڙ، ۽ انٽرنيٽ ذريعي شيئر ڪيو ويو آهي. اهو مفت يا گهٽ قيمت تي ٿي سگهي ٿو، ۽ پوري کليل عوامي نيٽ ورڪ ۾ خدمتون مهيا ڪري ٿو، جهڙوڪ علي بابا ڪلائوڊ، ٽينسنٽ ڪلائوڊ، بيدو ڪلائوڊ، AWS IoT، Google IoT، وغيره. هڪ سپورٽ پليٽ فارم جي طور تي، پبلڪ ڪلائوڊ اپ اسٽريم سروس فراهم ڪندڙن کي ضم ڪري سگهي ٿو ۽ هيٺيون وهڪرو آخر صارفين کي هڪ نئين قدر زنجير ۽ ماحولياتي نظام ٺاهڻ لاء.
پرائيويٽ ڪلائوڊ صرف انٽرپرائز استعمال لاءِ ٺهيل آهي، اهڙيءَ طرح ڊيٽا، سيڪيورٽي، ۽ سروس جي معيار تي بهترين ڪنٽرول جي ضمانت ڏئي ٿي. ان جون خدمتون ۽ انفراسٽرڪچر الڳ الڳ ادارن پاران رکيل آهن، ۽ سپورٽ هارڊويئر ۽ سافٽ ويئر پڻ مخصوص صارفين لاءِ وقف آهن. ڪمپنيون پنهنجي ڪاروبار جي ضرورتن کي پورو ڪرڻ لاءِ ڪلائوڊ سروسز کي ترتيب ڏئي سگهن ٿيون. هن وقت، ڪجهه سمارٽ گهر ٺاهيندڙن وٽ اڳ ۾ ئي پرائيويٽ IoT ڪلائوڊ پليٽ فارم آهن ۽ انهن جي بنياد تي سمارٽ گهر ايپليڪيشنون ٺاهيا آهن.
پبلڪ ڪلائوڊ ۽ پرائيويٽ ڪلائوڊ پنهنجو پنهنجو ايڊوان آهيtages، جنهن جي وضاحت بعد ۾ ڪئي ويندي.
ڪميونيڪيشن ڪنيڪشن حاصل ڪرڻ لاءِ، ضروري آھي ته گھٽ ۾ گھٽ ايمبيڊڊ ڊولپمينٽ ڊيوائس پاسي، ڪاروباري سرورز، IoT ڪلائوڊ پليٽ فارمز، ۽ سمارٽ فون ايپس سان گڏ. اهڙي وڏي منصوبي کي منهن ڏيڻ، عوامي ڪلائوڊ عام طور تي پروسيس کي تيز ڪرڻ لاءِ ڊيوائس پاسي ۽ اسمارٽ فون ايپس لاءِ سافٽ ويئر ڊولپمينٽ ڪِٽ فراهم ڪري ٿو. ٻئي پبلڪ ۽ پرائيويٽ ڪلائوڊ خدمتون مهيا ڪن ٿيون جن ۾ ڊيوائس جي رسائي، ڊيوائس مينيجمينٽ، ڊيوائس شيڊ، ۽ آپريشن ۽ سار سنڀال.
ڊيوائس جي رسائي IoT ڪلائوڊ پليٽ فارمز کي ضرورت آهي ته پروٽوڪول استعمال ڪندي ڊيوائس جي رسائي لاءِ نه رڳو انٽرفيس مهيا ڪن
باب 2. IoT منصوبن جو تعارف ۽ مشق 11

جهڙوڪ MQTT، CoAP، HTTPS، ۽ Webساکٽ، پر جعلي ۽ غير قانوني ڊوائيسز کي بلاڪ ڪرڻ لاء ڊوائيس سيڪيورٽي جي تصديق جو ڪم، مؤثر طور تي سمجھوتي ٿيڻ جي خطري کي گھٽائڻ. اهڙي تصديق عام طور تي مختلف ميکانيزم کي سپورٽ ڪري ٿي، تنهنڪري جڏهن ڊوائيس وڏي پيماني تي پيدا ڪيا ويندا آهن، اهو ضروري آهي ته ڊوائيس سرٽيفڪيٽ کي منتخب ٿيل تصديق واري ميڪانيزم جي مطابق اڳ ۾ تفويض ڪرڻ ۽ ان کي ڊوائيس ۾ ساڙيو وڃي.
ڊيوائس مينيجمينٽ IoT ڪلائوڊ پليٽ فارمز پاران مهيا ڪيل ڊيوائس مئنيجمينٽ فنڪشن نه رڳو ٺاهيندڙن کي حقيقي وقت ۾ انهن جي ڊوائيس جي ايڪٽيويشن اسٽيٽس ۽ آن لائن اسٽيٽس مانيٽر ڪرڻ ۾ مدد ڪري سگهي ٿي، پر اختيارن کي پڻ اجازت ڏئي ٿي جهڙوڪ ڊوائيسز شامل ڪرڻ / هٽائڻ، ٻيهر حاصل ڪرڻ، گروپن کي شامل ڪرڻ / حذف ڪرڻ، فرم ويئر اپ گريڊ. ، ۽ ورجن جو انتظام.
ڊيوائس شيڊ IoT ڪلائوڊ پليٽ فارم هر ڊيوائس لاءِ مستقل ورچوئل ورزن (ڊيوائس شيڊ) ٺاهي سگھي ٿو، ۽ ڊوائيس شيڊ جي اسٽيٽس کي هم وقت سازي ڪري سگهجي ٿي ۽ سمارٽ فون ايپ يا ٻين ڊوائيسز ذريعي انٽرنيٽ ٽرانسميشن پروٽوڪول ذريعي حاصل ڪري سگهجي ٿي. ڊيوائس شيڊ هر ڊيوائس جي تازي رپورٽ ڪيل اسٽيٽس ۽ متوقع اسٽيٽس کي اسٽور ڪري ٿو، ۽ جيتوڻيڪ ڊوائيس آف لائن آهي، اهو اڃا تائين APIs کي ڪال ڪندي اسٽيٽس حاصل ڪري سگهي ٿو. ڊيوائس شيڊ هميشه تي APIs مهيا ڪري ٿي، جيڪا ان کي آسان بڻائي ٿي سمارٽ فون ايپس ٺاهڻ جيڪي ڊوائيسز سان لهه وچڙ ۾ اچن ٿيون.
آپريشن ۽ سار سنڀال O&M فنڪشن ۾ ٽي پهلو شامل آهن: · IoT ڊوائيسز ۽ اطلاعن بابت شمارياتي معلومات جو مظاهرو ڪرڻ. · لاگ مينيجمينٽ ڊيوائس جي رويي، مٿي / ھيٺ پيغام جي وهڪري، ۽ پيغام جي مواد بابت معلومات حاصل ڪرڻ جي اجازت ڏئي ٿي. · ڊوائيس ڊيبگنگ ڪمانڊ پهچائڻ، ترتيب ڏيڻ جي تازه ڪاري، ۽ IoT ڪلائوڊ پليٽ فارم ۽ ڊوائيس پيغامن جي وچ ۾ رابطي کي جانچڻ جي حمايت ڪري ٿي.
2.2 مشق: سمارٽ لائيٽ پروجيڪٽ
هر باب ۾ نظرياتي تعارف کان پوءِ، توهان کي هڪ مشق سيڪشن ملندو جيڪو سمارٽ لائيٽ پروجيڪٽ سان لاڳاپيل آهي توهان کي هٿ سان تجربو حاصل ڪرڻ ۾ مدد لاءِ. پروجيڪٽ Espressif جي ESP32-C3 چپ ۽ ESP RainMaker IoT Cloud پليٽ فارم تي ٻڌل آهي، ۽ سمارٽ لائيٽ پروڊڪٽس ۾ وائرليس ماڊل هارڊويئر، ESP32C3 تي ٻڌل سمارٽ ڊوائيسز لاءِ ايمبيڊڊ سافٽ ويئر، اسمارٽ فون ايپس، ۽ ESP RainMaker رابطي تي ٻڌل آهي.
ماخذ ڪوڊ بهتر سکيا ۽ ترقي جي تجربي لاءِ، هن ڪتاب ۾ پروجيڪٽ اوپن سورس ڪيو ويو آهي. توھان ڊائون لوڊ ڪري سگھو ٿا ماخذ ڪوڊ اسان جي GitHub مخزن مان https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

2.2.1 پروجيڪٽ جو ڍانچو
سمارٽ لائيٽ پروجيڪٽ ٽن حصن تي مشتمل آهي: i. ESP32-C3 تي ٻڌل سمارٽ لائيٽ ڊيوائسز، IoT ڪلائوڊ پليٽ فارمز سان رابطي لاءِ ذميوار، ۽ LED جي سوئچ، چمڪ ۽ رنگ جي درجه حرارت کي ڪنٽرول ڪرڻamp موتي ii. سمارٽ فون ايپس (بشمول Android ۽ iOS تي هلندڙ ٽيبليٽ ايپس)، سمارٽ لائٽ پراڊڪٽس جي نيٽ ورڪ ترتيب ڏيڻ لاءِ ذميوار آهن، انهي سان گڏ انهن جي صورتحال بابت پڇا ڳاڇا ۽ ڪنٽرول ڪرڻ.
iii. ESP RainMaker تي ٻڌل هڪ IoT ڪلائوڊ پليٽ فارم. آسانيءَ لاءِ، اسان غور ڪريون ٿا IoT ڪلائوڊ پليٽ فارم ۽ ڪاروباري سرور مجموعي طور هن ڪتاب ۾. ESP RainMaker بابت تفصيل باب 3 ۾ مهيا ڪيا ويندا.
سمارٽ لائيٽ پروجيڪٽ جي جوڙجڪ ۽ IoT جي فن تعمير جي وچ ۾ خط و ڪتابت تصوير 2.1 ۾ ڏيکاريل آهي.
شڪل 2.1. سمارٽ لائيٽ پروجيڪٽ جي جوڙجڪ
2.2.2 پروجيڪٽ جا ڪم
ساخت جي مطابق ورهايل، هر حصي جا ڪم هن ريت آهن. سمارٽ لائيٽ ڊوائيسز
· نيٽ ورڪ ترتيب ۽ ڪنيڪشن. · LED PWM ڪنٽرول، جهڙوڪ سوئچ، چمڪ، رنگ جي گرمي، وغيره. · خودڪار يا منظر ڪنٽرول، مثال طور، وقت جي سوئچ. · انڪريپشن ۽ فليش جو محفوظ بوٽ. · فرم ويئر اپ گريڊ ۽ ورزن جو انتظام.
باب 2. IoT منصوبن جو تعارف ۽ مشق 13

اسمارٽ فون ايپس · نيٽ ورڪ ترتيب ۽ ڊيوائس بائنڊنگ. · سمارٽ لائٽ پراڊڪٽ ڪنٽرول، جھڙوڪ سوئچ، چمڪ، رنگ جي درجه حرارت، وغيره. · آٽوميشن يا منظر سيٽنگون، مثال طور، ٽائيم سوئچ. · مقامي / ريموٽ ڪنٽرول. · استعمال ڪندڙ جي رجسٽريشن، لاگ ان، وغيره.
ESP RainMaker IoT ڪلائوڊ پليٽ فارم · IoT ڊوائيس تائين رسائي کي فعال ڪرڻ. · سمارٽ فون ايپس تائين رسائي لائق ڊوائيس آپريشن APIs مهيا ڪرڻ. · فرم ويئر اپ گريڊ ۽ ورزن جو انتظام.
2.2.3 هارڊويئر تيار ڪرڻ
جيڪڏهن پروجيڪٽ کي عملي جامو پهرائڻ ۾ دلچسپي رکو ٿا، ته توهان کي هيٺين هارڊويئر جي به ضرورت پوندي: سمارٽ لائٽون، اسمارٽ فونز، وائي فائي روٽرز، ۽ هڪ ڪمپيوٽر جيڪو ڊولپمينٽ ماحول جي انسٽاليشن گهرجن کي پورو ڪري ٿو. سمارٽ بتيون
سمارٽ لائٽون هڪ نئين قسم جا بلب آهن، جن جي شڪل عام تاپديپت بلب جهڙي آهي. هڪ سمارٽ لائٽ ٺهيل آهي ڪئپسيٽر اسٽيپ-ڊائون ريگيوليڊ پاور سپلائي، وائرليس ماڊل (بٽٽ-ان ESP32-C3 سان)، LED ڪنٽرولر ۽ RGB LED ميٽرڪس. جڏهن پاور سان ڳنڍيل آهي، 15 V DC voltagڪيپيسيٽر اسٽيپ-ڊائون کان پوءِ اي آئوٽ، ڊيوڊ ريڪٽيشن، ۽ ريگيوليشن LED ڪنٽرولر ۽ LED ميٽرڪس کي توانائي فراهم ڪري ٿي. ايل اي ڊي ڪنٽرولر پاڻمرادو ڪجهه وقفن تي اعليٰ ۽ هيٺين سطحن کي موڪلي سگهي ٿو، بند (لائيٽون آن) ۽ کليل (لائيٽ آف) جي وچ ۾ آر جي بي ايل اي ڊي ميٽرڪس کي مٽائي، ته جيئن اهو سائي، پيلو، سائو، جامني، نيرو، ڳاڙهو، ۽ سفيد روشني. وائرليس ماڊل وائي فائي روٽر سان ڳنڍڻ، سمارٽ لائٽون حاصل ڪرڻ ۽ رپورٽ ڪرڻ، ۽ LED کي ڪنٽرول ڪرڻ لاءِ حڪم موڪلڻ جو ذميوار آهي.
شڪل 2.2. هڪ ٺهيل سمارٽ لائيٽ
شروعاتي ترقي ۾ ايسtagاي، توهان RGB LED l سان ڳنڍيل ESP32-C3DevKitM-1 بورڊ استعمال ڪندي هڪ سمارٽ روشني ٺاهي سگهو ٿا.amp موتي (ڏسو شڪل 2.2). پر توهان کي گهرجي
14 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

ياد رهي ته سمارٽ لائيٽ گڏ ڪرڻ جو هي واحد طريقو ناهي. هن ڪتاب ۾ پروجيڪٽ جي هارڊويئر ڊيزائن ۾ صرف هڪ وائرليس ماڊل شامل آهي (بدليل ESP32-C3 سان)، پر مڪمل سمارٽ لائيٽ هارڊويئر ڊيزائن ناهي. ان کان علاوه، Espressif پڻ پيدا ڪري ٿو ESP32-C3-بنياد آڊيو ڊولپمينٽ بورڊ ESP32C3-Lyra آڊيو سان روشنين کي ڪنٽرول ڪرڻ لاءِ. بورڊ ۾ مائڪروفونز ۽ اسپيڪر لاءِ انٽرفيس آهن ۽ ايل اي ڊي سٽون ڪنٽرول ڪري سگهن ٿا. اهو الٽرا گھٽ قيمت، اعلي ڪارڪردگي آڊيو براڊڪاسٽرز ۽ تال لائيٽ پٽي ٺاهڻ لاء استعمال ٿي سگهي ٿو. شڪل 2.3 ڏيکاري ٿو ESP32-C3Lyra بورڊ جيڪو 40 LED لائٽس جي پٽي سان ڳنڍيل آهي.
شڪل 2.3. ESP32-C3-Lyra 40 LED لائٽون جي پٽي سان ڳنڍيل آهي
اسمارٽ فونز (Android/iOS) سمارٽ لائيٽ پروجيڪٽ ۾ سمارٽ لائيٽ پروڊڪٽس کي ترتيب ڏيڻ ۽ ڪنٽرول ڪرڻ لاءِ سمارٽ فون ايپ جي ترقي شامل آهي.
وائي فائي روٽرز وائي فائي روٽرز وائرڊ نيٽ ورڪ سگنلز ۽ موبائل نيٽ ورڪ سگنلز کي وائرليس نيٽ ورڪ سگنلز ۾ تبديل ڪندا آهن، ڪمپيوٽرن، اسمارٽ فونز، ٽيبليٽز ۽ ٻين وائرليس ڊوائيسز لاءِ نيٽ ورڪ سان ڳنڍڻ لاءِ. مثال طورampلي، گهر ۾ براڊ بينڊ صرف وائي فائي روٽر سان ڳنڍڻ جي ضرورت آهي وائي فائي ڊوائيسز جي وائرليس نيٽ ورڪنگ حاصل ڪرڻ لاء. مکيه اسٽريم پروٽوڪول معياري وائي فائي راؤٽرز جي مدد سان IEEE 802.11n آهي، 300 Mbps جي سراسري TxRate سان، يا وڌ ۾ وڌ 600 Mbps. اهي IEEE 802.11b ۽ IEEE 802.11g سان پسمانده هم آهنگ آهن. Espressif پاران ESP32-C3 چپ IEEE 802.11b/g/n کي سپورٽ ڪري ٿي، تنهنڪري توهان هڪ سنگل بينڊ (2.4 GHz) يا ڊبل بينڊ (2.4 GHz ۽ 5 GHz) وائي فائي روٽر چونڊي سگهو ٿا.
هڪ ڪمپيوٽر (Linux/macOS/Windows) ڊولپمينٽ ماحول کي باب 4 ۾ متعارف ڪرايو ويندو. باب 2. IoT منصوبن جو تعارف ۽ مشق 15

2.2.4 ترقي جو عمل
شڪل 2.4. سمارٽ لائيٽ پروجيڪٽ کي ترقي ڪرڻ جا مرحلا
هارڊويئر ڊيزائن IoT ڊوائيسز جي هارڊويئر ڊيزائن هڪ IoT پروجيڪٽ لاءِ ضروري آهي. هڪ مڪمل سمارٽ لائٽ پروجيڪٽ جو مقصد آهي ال پيدا ڪرڻamp مين سپلائي تحت ڪم. مختلف ٺاهيندڙن جي پيداوار ايلamps مختلف اندازن ۽ ڊرائيور جي قسمن جا آهن، پر انهن جا وائرليس ماڊل عام طور تي ساڳي فنڪشن جا آهن. سمارٽ لائي پروجيڪٽ جي ترقي جي عمل کي آسان ڪرڻ لاءِ، هي ڪتاب صرف هارڊويئر ڊيزائن ۽ وائرليس ماڊلز جي سافٽ ويئر ڊولپمينٽ کي ڍڪي ٿو.
IoT ڪلائوڊ پليٽ فارم جي ترتيب IoT ڪلائوڊ پليٽ فارم استعمال ڪرڻ لاءِ، توهان کي پس منظر تي پروجيڪٽ ترتيب ڏيڻ جي ضرورت آهي، جهڙوڪ پراڊڪٽس ٺاهڻ، ڊيوائسز ٺاهڻ، ڊيوائس پراپرٽيز سيٽنگ ڪرڻ وغيره.
IoT ڊوائيسز لاء ايمبيڊڊ سافٽ ويئر ڊولپمينٽ ESP-IDF، Espressif جي ڊيوائس-سائيڊ SDK سان متوقع ڪمن کي لاڳو ڪرڻ، بشمول IoT ڪلائوڊ پليٽ فارمز سان ڳنڍڻ، LED ڊرائيورز کي ترقي ڪرڻ، ۽ فرم ويئر کي اپ گريڊ ڪرڻ.
اسمارٽ فون ايپ ڊولپمينٽ اسمارٽ فون ايپس ڊولپ ڪريو Android ۽ iOS سسٽم لاءِ صارف جي رجسٽريشن ۽ لاگ ان، ڊوائيس ڪنٽرول ۽ ٻين ڪمن کي محسوس ڪرڻ لاءِ.
IoT ڊوائيس جي اصلاح هڪ ڀيرو IoT ڊوائيس جي ڪمن جي بنيادي ترقي مڪمل ٿي وڃي ٿي، توهان کي بهتر ڪرڻ جي ڪمن ڏانهن رخ ڪري سگهو ٿا، جهڙوڪ پاور اصلاح.
ماس پروڊڪشن ٽيسٽنگ سان لاڳاپيل معيارن جي مطابق وڏي پئماني تي پيداوار جا امتحان وٺو، جهڙوڪ سامان جي فنڪشن ٽيسٽ، ايجنگ ٽيسٽ، آر ايف ٽيسٽ وغيره.
مٿي ڏنل قدمن جي باوجود، سمارٽ لائيٽ پروجيڪٽ لازمي طور تي اهڙي طريقي سان مشروط نه آهي جيئن مختلف ڪم پڻ هڪ ئي وقت ۾ ڪري سگهجن ٿيون. مثال طورampلي، ايمبيڊڊ سافٽ ويئر ۽ اسمارٽ فون ايپس متوازي ۾ ترقي ڪري سگھجن ٿيون. ڪجھ قدمن کي پڻ بار بار ڪرڻ جي ضرورت پوندي، جھڙوڪ IoT ڊوائيس جي اصلاح ۽ ڪاميٽي پيداوار جي جاچ.
16 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

2.3 خلاصو
هن باب ۾، اسان پهريون ڀيرو IoT پروجيڪٽ جي بنيادي حصن ۽ فنڪشنل ماڊلز تي وضاحت ڪئي، پوءِ مشق لاءِ سمارٽ لائيٽ ڪيس متعارف ڪرايو، ان جي جوڙجڪ، افعال، هارڊويئر تيار ڪرڻ، ۽ ترقي جي عمل جو حوالو ڏنو. پڙهندڙ مشق مان نتيجا ڪڍي سگهن ٿا ۽ مستقبل ۾ گهٽ ۾ گهٽ غلطين سان IoT منصوبن کي انجام ڏيڻ لاءِ پراعتماد ٿي سگهن ٿا.
باب 2. IoT منصوبن جو تعارف ۽ مشق 17

18 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

باب 3

تعارف

جي طرف

اي ايس پي

مينهن ٺاهيندڙ

شين جو انٽرنيٽ (IoT) ماڻهن جي زندگي گذارڻ جي طريقي کي تبديل ڪرڻ لاءِ لامحدود امڪان پيش ڪري ٿو، پر IoT انجنيئرنگ جي ترقي چئلينجن سان ڀريل آهي. عوامي بادل سان، ٽرمينل ٺاهيندڙن هيٺ ڏنل حلن ذريعي پيداوار جي ڪارڪردگي کي لاڳو ڪري سگهن ٿا:
حل فراهم ڪرڻ وارن جي ڪلائوڊ پليٽ فارمن جي بنياد تي هن طريقي سان، ٽرمينل ٺاهيندڙن کي صرف پراڊڪٽ هارڊويئر کي ڊزائين ڪرڻ جي ضرورت آهي، پوء مهيا ڪيل ڪميونيڪيشن ماڊل استعمال ڪندي هارڊويئر کي ڪلائوڊ سان ڳنڍڻ، ۽ هدايتن تي عمل ڪندي پراڊڪٽ جي ڪمن کي ترتيب ڏيو. هي هڪ موثر طريقو آهي ڇاڪاڻ ته اهو سرور-سائڊ ۽ ايپليڪيشن-سائيڊ ڊولپمينٽ ۽ آپريشن ۽ سار سنڀال (O&M) جي ضرورت کي ختم ڪري ٿو. اهو ٽرمينل ٺاهيندڙن کي هارڊويئر ڊيزائن تي ڌيان ڏيڻ جي اجازت ڏئي ٿو بغير بادل تي عمل ڪرڻ تي غور ڪرڻ جي. بهرحال، اهڙا حل (مثال طور، ڊيوائس فرم ویئر ۽ ايپ) عام طور تي اوپن سورس نه هوندا آهن، تنهن ڪري پراڊڪٽ جا ڪم محدود ڪيا ويندا فراهم ڪندڙ جي ڪلائوڊ پليٽ فارم طرفان جيڪي ڪسٽمائيز نه ٿي سگهن. ان کان علاوه، صارف ۽ ڊوائيس ڊيٽا پڻ بادل پليٽ فارم سان تعلق رکي ٿو.
بادل جي پروڊڪٽس جي بنياد تي هن حل ۾، هارڊويئر ڊيزائن کي مڪمل ڪرڻ کان پوء، ٽرمينل ٺاهيندڙن کي نه رڳو ڪلائوڊ افعال کي لاڳو ڪرڻ جي ضرورت آهي پبلڪ ڪلائوڊ پاران مهيا ڪيل هڪ يا وڌيڪ ڪلائوڊ پروڊڪٽس استعمال ڪندي، پر هارڊويئر کي بادل سان ڳنڍڻ جي ضرورت پڻ آهي. مثال طورample، Amazon سان ڳنڍڻ لاء Web خدمتون (AWS)، ٽرمينل ٺاهيندڙن کي AWS پروڊڪٽس استعمال ڪرڻ جي ضرورت آهي جهڙوڪ Amazon API Gateway، AWS IoT Core، ۽ AWS Lambda ڊوائيس جي رسائي، ريموٽ ڪنٽرول، ڊيٽا اسٽوريج، صارف جي انتظام، ۽ ٻين بنيادي ڪمن کي فعال ڪرڻ لاء. اهو نه صرف ٽرمينل ٺاهيندڙن کان پڇي ٿو لچڪدار طريقي سان استعمال ڪرڻ ۽ ترتيب ڏيڻ لاءِ ڪلائوڊ پراڊڪٽس کي گہرائي سمجھڻ ۽ ڀرپور تجربي سان ، پر انهن کي اهو به گهرائي ٿو ته اهي ابتدائي ۽ بعد ۾ تعميراتي ۽ سار سنڀال جي قيمت تي غور ڪن.tages هي ڪمپني جي توانائي ۽ وسيلن ڏانهن وڏيون چئلينج پيش ڪري ٿو.
عوامي بادل جي مقابلي ۾، نجي بادل عام طور تي مخصوص منصوبن ۽ شين لاء ٺهيل آهن. پرائيويٽ ڪلائوڊ ڊولپرز کي پروٽوڪول ڊيزائن ۽ ڪاروباري منطق تي عمل ڪرڻ ۾ اعليٰ ترين آزادي ڏني ويندي آهي. ٽرمينل ٺاهيندڙ پنهنجي مرضي سان پروڊڪٽس ۽ ڊزائين اسڪيمون ٺاهي سگهن ٿا، ۽ آساني سان صارف ڊيٽا کي ضم ۽ بااختيار بڻائي سگهن ٿا. ايڊون سان گڏ عوامي بادل جي اعلي سيڪيورٽي، اسڪيليبلٽي ۽ اعتبار کي گڏ ڪرڻtagپرائيويٽ ڪلائوڊ جو es، Espressif ESP شروع ڪيو
19

RainMaker، Amazon ڪلائوڊ تي ٻڌل هڪ تمام گهڻي ضم ٿيل خانگي ڪلائوڊ حل. صارفين کي ترتيب ڏئي سگھن ٿا ESP RainMaker ۽ تعمير ڪري سگھن ٿا پرائيويٽ بادل صرف AWS اڪائونٽ سان.
3.1 ESP RainMaker ڇا آهي؟
ESP RainMaker هڪ مڪمل AIoT پليٽ فارم آهي جيڪو ڪيترن ئي بالغ AWS شين سان ٺهيل آهي. اهو وڏي پئماني تي پيداوار لاءِ گهربل مختلف خدمتون مهيا ڪري ٿو جهڙوڪ ڊيوائس ڪلائوڊ رسائي، ڊيوائس اپ گريڊ، پس منظر مينيجمينٽ، ٽئين پارٽي لاگ ان، وائس انٽيگريشن، ۽ يوزر مئنيجمينٽ. AWS پاران مهيا ڪيل سرور لیس ايپليڪيشن ريپوزٽري (SAR) استعمال ڪندي، ٽرمينل ٺاهيندڙن کي جلدي ESP RainMaker کي سندن AWS اڪائونٽن تي لڳايو وڃي ٿو، جيڪو وقت جي ڪارائتو ۽ هلائڻ ۾ آسان آهي. Espressif پاران منظم ۽ سنڀاليل، ESP RainMaker پاران استعمال ڪيل SAR ڊولپرز کي بادل جي سار سنڀال جي خرچن کي گھٽائڻ ۽ AIoT پروڊڪٽس جي ترقي کي تيز ڪرڻ ۾ مدد ڪري ٿو، اھڙي طرح محفوظ، مستحڪم، ۽ حسب ضرورت AIoT حلن جي تعمير. شڪل 3.1 ESP RainMaker جي فن تعمير کي ڏيکاري ٿو.
شڪل 3.1. ESP RainMaker جو فن تعمير
Espressif پاران ESP RainMaker پبلڪ سرور تمام ESP شوقين، ٺاهيندڙن ۽ تعليم ڏيندڙن لاءِ حل جي تشخيص لاءِ مفت آهي. ڊولپرز ايپل، گوگل، يا گيٽ هب اڪائونٽن سان لاگ ان ڪري سگهن ٿا، ۽ جلدي پنهنجو IoT ايپليڪيشن پروٽوٽائپ ٺاهي سگهن ٿا. پبلڪ سرور Alexa ۽ گوگل هوم کي ضم ڪري ٿو، ۽ وائيس ڪنٽرول سروسز مهيا ڪري ٿو، جيڪي Alexa Skill ۽ گوگل ايڪشنز جي سهڪار سان آهن. ان جي معنوي سڃاڻپ فنڪشن پڻ ٽئين پارٽين طرفان طاقتور آهي. RainMaker IoT ڊوائيسز صرف مخصوص عملن جو جواب ڏين ٿا. سپورٽ ڪيل آواز جي حڪمن جي مڪمل فهرست لاءِ، مھرباني ڪري چيڪ ڪريو ٽئين پارٽي پليٽ فارم. ان کان علاوه، Espressif هڪ عوامي RainMaker ايپ پيش ڪري ٿو صارفين لاءِ سمارٽ فونز ذريعي پروڊڪٽس کي ڪنٽرول ڪرڻ لاءِ. 20 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

3.2 ESP RainMaker جو نفاذ
جيئن تصوير 3.2 ۾ ڏيکاريل آهي، ESP RainMaker چئن حصن تي مشتمل آهي: · خدمت جي دعويٰ ڪرڻ، RainMaker ڊوائيسز کي متحرڪ طور سرٽيفڪيٽ حاصل ڪرڻ لاءِ فعال ڪرڻ. · RainMaker Cloud (جنهن کي ڪلائوڊ پس منظر پڻ سڏيو ويندو آهي)، خدمتون مهيا ڪرڻ جهڙوڪ پيغام فلٽرنگ، صارف جي انتظام، ڊيٽا اسٽوريج، ۽ ٽئين پارٽي انضمام. · RainMaker ايجنٽ، RainMaker ڊوائيسز کي RainMaker Cloud سان ڳنڍڻ جي قابل بڻائي ٿو. · RainMaker ڪلائنٽ (RainMaker ايپ يا CLI اسڪرپٽ)، روزي ڏيڻ، صارف جي تخليق، ڊيوائس ايسوسيئيشن ۽ ڪنٽرول وغيره لاءِ.
شڪل 3.2. ESP RainMaker جي جوڙجڪ
ESP RainMaker پراڊڪٽ ڊولپمينٽ ۽ وڏي پئماني تي پيداوار لاءِ اوزارن جو هڪ مڪمل سيٽ مهيا ڪري ٿو، جنهن ۾ شامل آهن: RainMaker SDK
RainMaker SDK ESP-IDF تي ٻڌل آهي ۽ فرم ويئر ڊولپمينٽ لاءِ ڊيوائس سائڊ ايجنٽ ۽ لاڳاپيل C APIs جو سورس ڪوڊ مهيا ڪري ٿو. ڊولپرز کي صرف ايپليڪيشن منطق لکڻ جي ضرورت آهي ۽ باقي ڇڏي ڏيو RainMaker فريم ورڪ ڏانهن. C APIs بابت وڌيڪ معلومات لاءِ، مهرباني ڪري دورو ڪريو https://bookc3.espressif.com/rm/c-api-reference. RainMaker ايپ RainMaker ايپ جو عوامي ورزن ڊولپرز کي ڊوائيس جي فراهمي کي مڪمل ڪرڻ جي اجازت ڏئي ٿو، ۽ ڊوائيسز جي صورتحال کي ڪنٽرول ڪرڻ ۽ سوال ڪرڻ جي اجازت ڏئي ٿو (مثال طور، سمارٽ لائٽنگ پراڊڪٽس). اهو ٻنهي iOS ۽ Android ايپ اسٽورن تي دستياب آهي. وڌيڪ تفصيلن لاءِ، مھرباني ڪري ڏسو باب 10. REST APIs REST APIs مدد ڪن ٿا صارفين کي پنھنجيون ايپليڪيشنون ٺاھيو جيئن RainMaker ايپ. وڌيڪ معلومات لاء، مهرباني ڪري دورو ڪريو https://swaggerapis.rainmaker.espressif.com/.
باب 3. ESP RainMaker 21 جو تعارف

Python APIs A Python-based CLI، جيڪو RainMaker SDK سان گڏ اچي ٿو، سڀني ڪمن کي لاڳو ڪرڻ لاءِ مهيا ڪيو ويو آهي سمارٽ فون فيچرز سان ملندڙ جلندڙ. Python APIs بابت وڌيڪ معلومات لاءِ، مهرباني ڪري دورو ڪريو https://bookc3.espressif.com/rm/python-api-reference.
Admin CLI Admin CLI، اعليٰ سطح جي پهچ سان، مهيا ڪئي وئي آهي ESP RainMaker پرائيويٽ ڊيپلائيمينٽ لاءِ ته جيئن بلڪ ۾ ڊيوائس سرٽيفڪيٽ ٺاهي.
3.2.1 دعويٰ ڪرڻ جي خدمت
RainMaker ڊوائيسز ۽ ڪلائوڊ پس منظر جي وچ ۾ سمورو ڪميونيڪيشن MQTT+TLS ذريعي ڪيو ويندو آهي. ESP RainMaker جي حوالي سان، "دعوي" اهو عمل آهي جنهن ۾ ڊوائيس ڪلائوڊ پس منظر سان ڳنڍڻ لاءِ دعويٰ سروس کان سرٽيفڪيٽ حاصل ڪندا آهن. نوٽ ڪريو ته دعويٰ ڪرڻ واري سروس صرف پبلڪ رين ميڪر سروس تي لاڳو ٿئي ٿي، جڏهن ته پرائيويٽ ڊيپلائيمينٽ لاءِ، ڊيوائس سرٽيفڪيٽن کي وڏي پئماني تي ايڊمن CLI ذريعي تيار ڪرڻ جي ضرورت آهي. ESP RainMaker سپورٽ ڪري ٿو ٽن قسمن جي دعويٰ جي خدمت: خود دعويٰ
ڊوائيس پاڻ کي انٽرنيٽ سان ڳنڍڻ کان پوء eFuse ۾ اڳ-پروگرام ٿيل رازداري چيڪ ذريعي سرٽيفڪيٽ حاصل ڪري ٿو. Host Driven Claiming سرٽيفڪيٽ حاصل ڪيا ويا آهن ڊولپمينٽ ميزبان کان RainMaker اڪائونٽ سان. امدادي دعويٰ سرٽيفڪيٽ حاصل ڪيا ويندا آهن اسمارٽ فون ايپليڪيشنن ذريعي روزي جي دوران.
3.2.2 مينهن ٺاهيندڙ ايجنٽ
شڪل 3.3. RainMaker SDK جو ڍانچو RainMaker ايجنٽ جو بنيادي ڪم ڪنيڪشن مهيا ڪرڻ ۽ اپلِڪ/ڊائون لنڪ ڪلائوڊ ڊيٽا کي پروسيس ڪرڻ لاءِ ايپليڪيشن ليئر کي مدد ڏيڻ آهي. اهو RainMaker SDK 22 ESP32-C3 وائرليس ايڊونچر ذريعي ٺاهيو ويو آهي: IoT لاءِ هڪ جامع گائيڊ

۽ ترقي يافته ESP-IDF فريم ورڪ جي بنياد تي، ESP-IDF اجزاء جهڙوڪ RTOS، NVS، ۽ MQTT استعمال ڪندي. شڪل 3.3 ڏيکاري ٿو RainMaker SDK جي ساخت.
RainMaker SDK ۾ ٻه اهم خاصيتون شامل آهن.
ڪنيڪشن
i. ڊوائيس سرٽيفڪيٽ حاصل ڪرڻ لاء دعوي سروس سان تعاون.
ii. محفوظ MQTT پروٽوڪول استعمال ڪندي ڪلائوڊ پس منظر سان ڳنڍڻ، ريموٽ ڪنيڪشن مهيا ڪرڻ ۽ ريموٽ ڪنٽرول، پيغام جي رپورٽنگ، يوزر مئنيجمينٽ، ڊيوائس مينيجمينٽ، وغيره کي لاڳو ڪرڻ لاءِ. پروٽوڪول اسٽيڪ.
iii. وائي فائي ڪنيڪشن ۽ فراهمي لاءِ وائي فائي جي فراهمي جو جزو مهيا ڪرڻ، esp https ota جزو OTA اپگريڊن لاءِ، ۽ esp مقامي ctrl جزو لاءِ مقامي ڊوائيس دريافت ۽ ڪنيڪشن. اهي سڀ مقصد حاصل ڪري سگھجن ٿا سادي ترتيب جي ذريعي.
ڊيٽا پروسيسنگ
i. دعويٰ سروس پاران جاري ڪيل ڊيوائس سرٽيفڪيٽن کي محفوظ ڪرڻ ۽ RainMaker کي هلائڻ دوران گهربل ڊيٽا، ڊفالٽ طور استعمال ڪندي nvs فليش جزو پاران مهيا ڪيل انٽرفيس، ۽ ڊولپرز لاءِ سڌو استعمال لاءِ APIs مهيا ڪرڻ.
ii. ڪال بڪ ميڪانيزم کي استعمال ڪرڻ لاءِ اپ لنڪ/ڊائون لنڪ ڪلائوڊ ڊيٽا کي پروسيس ڪرڻ ۽ ڊولپرز پاران آسان پروسيسنگ لاءِ ايپليڪيشن پرت تي ڊيٽا کي خودڪار طريقي سان بلاڪ ڪرڻ. مثال طورample، RainMaker SDK TSL (Thing Specification Language) ڊيٽا کي قائم ڪرڻ لاءِ ڀرپور انٽرفيس مهيا ڪري ٿو، جيڪي IoT ڊوائيسز کي بيان ڪرڻ لاءِ TSL ماڊلز جي وضاحت ڪرڻ ۽ وقت، ڳڻپ، ۽ وائس ڪنٽرول جهڙن ڪمن کي لاڳو ڪرڻ لاءِ گهربل آهن. بنيادي انٽرايڪٽو خاصيتن لاءِ جيئن ته وقت، RainMaker SDK هڪ ترقي کان آزاد حل فراهم ڪري ٿو جنهن کي آسان بڻائي سگهجي ٿو جڏهن ضرورت هجي. ان کان پوء، RainMaker ايجنٽ سڌو سنئون ڊيٽا کي پروسيس ڪندو، ان کي ڪلائوڊ ڏانهن موڪليندو لاڳاپيل MQTT موضوع ذريعي، ۽ واپس موٽندو ڊيٽا تبديلين کي ڪلائوڊ بيڪ اينڊ ۾ ڪال بڪ ميڪانيزم ذريعي.
3.2.3 Cloud Backend
ڪلائوڊ پس منظر AWS سرور لیس ڪمپيوٽنگ تي ٺهيل آهي ۽ AWS Cognito (سڃاڻپ جي انتظام جو نظام) ذريعي حاصل ڪيو ويو آهي، Amazon API Gateway، AWS Lambda (serverless ڪمپيوٽنگ سروس)، Amazon DynamoDB (NoSQL ڊيٽابيس)، AWS IoT ڪور (IoT رسائي ڪور جيڪو MQTT رسائي فراهم ڪري ٿو. ۽ قاعدي فلٽرنگ)، Amazon Simple Email Service (SES simple mail service)، Amazon CloudFront (تيز ترسيل نيٽ ورڪ)، Amazon Simple Queue Service (SQS ميسيج queuing)، ۽ Amazon S3 (بالٽ اسٽوريج سروس). اهو مقصد آهي ته اسڪاليبلٽي ۽ سيڪيورٽي کي بهتر ڪرڻ. ESP RainMaker سان، ڊولپرز ڪلائوڊ ۾ ڪوڊ لکڻ جي بغير ڊوائيسز کي منظم ڪري سگھن ٿا. ڊوائيسز پاران رپورٽ ڪيل پيغام شفاف طور تي منتقل ڪيا ويا آهن
باب 3. ESP RainMaker 23 جو تعارف

ايپليڪيشن ڪلائنٽ يا ٻيون ٽئين پارٽي خدمتون. جدول 3.1 ڏيکاري ٿو AWS ڪلائوڊ پراڊڪٽس ۽ افعال ڪلائوڊ پس منظر ۾ استعمال ٿيل، وڌيڪ پروڊڪٽس ۽ خاصيتن سان گڏ ترقي هيٺ.
جدول 3.1. AWS ڪلائوڊ پراڊڪٽس ۽ افعال ڪلائوڊ پس منظر پاران استعمال ڪيا ويا

AWS Cloud پراڊڪٽ RainMaker پاران استعمال ٿيل

فنڪشن

AWS ڪاگنيٽو

صارف جي سند کي منظم ڪرڻ ۽ ٽئين پارٽي جي لاگ ان کي سپورٽ ڪرڻ

AWS ليمبڊا

بادل جي پس منظر جي بنيادي ڪاروباري منطق کي لاڳو ڪرڻ

Amazon Timestream اسٽوريج ٽائيم سيريز ڊيٽا

Amazon DynamoDB گراهڪن جي ذاتي معلومات کي محفوظ ڪرڻ

AWS IoT ڪور

MQTT رابطي جي حمايت

ايميزون ايس اي ايس

اي ميل موڪلڻ جون خدمتون مهيا ڪرڻ

Amazon CloudFront پس منظر جي انتظام کي تيز ڪرڻ webسائيٽ تائين رسائي

ايميزون ايس ڪيو ايس

AWS IoT Core کان پيغامن کي اڳتي وڌائڻ

3.2.4 RainMaker ڪلائنٽ
RainMaker ڪلائنٽ، جهڙوڪ ايپ ۽ CLI، REST APIs ذريعي ڪلائوڊ پس منظر سان رابطو ڪن ٿا. REST APIs بابت تفصيلي ڄاڻ ۽ ھدايتون ملي سگھن ٿيون Swagger دستاويزن ۾ مهيا ڪيل Espressif. RainMaker جي موبائل ايپليڪيشن ڪلائنٽ ٻنهي iOS ۽ Android سسٽم لاءِ دستياب آهي. اهو ڊوائيس جي فراهمي، ڪنٽرول، ۽ شيئرنگ جي اجازت ڏئي ٿو، انهي سان گڏ ڳڻپ جي ڪم کي ٺاهڻ ۽ چالو ڪرڻ ۽ ٽئين پارٽي پليٽ فارمن سان ڳنڍڻ. اهو خودڪار طريقي سان لوڊ ڪري سگھي ٿو UI ۽ آئڪن کي ڊوائيسز جي رپورٽ ڪيل ترتيب جي مطابق ۽ ڊوائيس TSL کي مڪمل طور تي ڏيکاري ٿو.
مثال طورampلي، جيڪڏهن هڪ سمارٽ لائيٽ RainMaker SDK تي ٺهيل آهي اڳوڻي مهيا ڪيلamples، بلب جي روشني جو آئڪن ۽ UI خودڪار طور تي لوڊ ڪيو ويندو جڏهن رزق مڪمل ڪيو ويندو. صارف انٽرفيس ذريعي روشني جو رنگ ۽ چمڪ تبديل ڪري سگھن ٿا ۽ ٽئين پارٽي ڪنٽرول حاصل ڪري سگھن ٿا Alexa Smart Home Skill يا Google Smart Home Actions سان ڳنڍڻ سان سندن ESP RainMaker اڪائونٽس. شڪل 3.4 ڏيکاري ٿو آئڪن ۽ UI exampAlexa، گوگل هوم، ۽ ESP RainMaker ايپ تي ترتيب وار بلب جي روشني.

24 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

(a) Example - Alexa

(b) Example - گوگل هوم

(c) Example - ESP RainMaker
شڪل 3.4. سابقampAlexa، Google Home، ۽ ESP RainMaker ايپ تي بلب جي روشنيءَ جا آئڪن ۽ UI
3.3 مشق: ESP RainMaker سان ترقي ڪرڻ لاءِ اھم نقطا
هڪ دفعو ڊوائيس ڊرائيور پرت مڪمل ٿي وئي آهي، ڊولپرز شايد TSL ماڊل ٺاهڻ شروع ڪري سگھن ٿا ۽ RainMaker SDK پاران مهيا ڪيل APIs استعمال ڪندي ڊائون لنڪ ڊيٽا کي پروسيس ڪري سگھن ٿا، ۽ ESP RainMaker بنيادي خدمتن کي پروڊڪٽ جي تعريف ۽ ضرورتن جي بنياد تي فعال ڪري سگھن ٿا.
باب 3. ESP RainMaker 25 جو تعارف

هن ڪتاب جو سيڪشن 9.4 رين ميڪر ۾ LED سمارٽ لائيٽ جي نفاذ جي وضاحت ڪندو. ڊيبگنگ دوران، ڊولپر استعمال ڪري سگھن ٿا CLI اوزار RainMaker SDK ۾ سمارٽ لائٽ سان رابطو ڪرڻ لاءِ (يا ڪال ڪريو REST APIs from Swagger).
باب 10 سمارٽ فون ايپليڪيشنن کي ترقي ڪرڻ ۾ REST APIs جي استعمال جي وضاحت ڪندو. LED سمارٽ لائيٽن جي OTA اپ گريڊ کي باب 11 ۾ شامل ڪيو ويندو. جيڪڏھن ڊولپرز ESP Insights ريموٽ مانيٽرنگ کي فعال ڪيو آھي، ESP RainMaker مئنيجمينٽ پس منظر ESP Insights ڊيٽا ڏيکاريندو. تفصيلات باب 15 ۾ پيش ڪيا ويندا.
ESP RainMaker پرائيويٽ ڊيپلائيمينٽ کي سپورٽ ڪري ٿو، جيڪو هيٺين طريقن سان عوامي RainMaker سرور کان مختلف آهي:
دعويٰ ڪرڻ جي خدمت پرائيويٽ ڊيپلائيمينٽس ۾ سرٽيفڪيٽ ٺاهڻ لاءِ، ان کي استعمال ڪرڻ جي ضرورت آهي RainMaker Admin CLI کي دعويٰ ڪرڻ بدران. پبلڪ سرور سان، ڊولپرز کي لازمي طور تي انتظامي حق ڏنا وڃن ته فرم ویئر اپ گريڊ کي لاڳو ڪرڻ لاءِ، پر اهو تجارتي ترتيبن ۾ ناپسنديده آهي. تنهن ڪري، نه ته خود دعويٰ ڪرڻ لاءِ الڳ تصديق واري خدمت مهيا ڪري سگهجي ٿي، ۽ نه ئي ميزباني ڪيل يا مدد ڪيل دعويٰ لاءِ منتظم جا حق.
فون ايپس پرائيويٽ ڊيپلائيمينٽن ۾، ايپليڪيشنن کي الڳ الڳ ترتيب ڏيڻ ۽ مرتب ڪرڻ جي ضرورت آهي انهي کي يقيني بڻائڻ لاءِ ته اڪائونٽ سسٽم هڪ ٻئي سان ڪم ڪرڻ جي قابل نه آهن.
ٽئين پارٽي لاگ ان ۽ وائس انٽيگريشن ڊولپرز کي الڳ الڳ ترتيب ڏيڻا پوندا گوگل ۽ ايپل ڊولپر اڪائونٽس ذريعي 3rd پارٽي لاگ ان کي فعال ڪرڻ لاءِ، انهي سان گڏ Alexa Skill ۽ گوگل وائس اسسٽنٽ انٽيگريشن.
TIPS ڪلائوڊ ڊيپلائيمينٽ بابت تفصيلن لاءِ، مھرباني ڪري دورو ڪريو https://customer.rainmaker.espressif. com. فرم ویئر جي لحاظ کان، عوامي سرور کان نجي سرور ڏانهن لڏپلاڻ صرف ڊوائيس سرٽيفڪيٽ کي تبديل ڪرڻ جي ضرورت آهي، جيڪا لڏپلاڻ جي ڪارڪردگي کي بهتر بڻائي ٿي ۽ لڏپلاڻ ۽ ثانوي ڊيبگنگ جي قيمت گھٽائي ٿي.
3.4 خاصيتون ESP RainMaker
ESP RainMaker خاصيتون خاص طور تي ٽن پاسن تي ھدف آھن - يوزر مينيجمينٽ، آخري استعمال ڪندڙ، ۽ منتظم. سڀ خصوصيتون عوامي ۽ نجي سرورن ۾ سپورٽ آهن جيستائين ٻي صورت ۾ بيان نه ڪيو وڃي.
3.4.1 يوزر مينيجمينٽ
يوزر مينيجمينٽ جون خاصيتون آخري صارفين کي رجسٽر ڪرڻ، لاگ ان ڪرڻ، پاسورڊ تبديل ڪرڻ، پاسورڊ ٻيهر حاصل ڪرڻ وغيره جي اجازت ڏين ٿيون.
26 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

رجسٽر ۽ لاگ ان ڪريو RainMaker پاران سپورٽ ڪيل رجسٽريشن ۽ لاگ ان طريقن ۾ شامل آھن: · اي ميل id + پاسورڊ · فون نمبر + پاسورڊ · گوگل کاتو · ايپل کاتو · GitHub اڪائونٽ (صرف عوامي سرور) · Amazon اڪائونٽ (صرف پرائيويٽ سرور)
نوٽ گوگل/ايمازون استعمال ڪندي سائن اپ ڪريو استعمال ڪندڙ جي اي ميل ايڊريس RainMaker سان شيئر ڪري ٿو. ايپل استعمال ڪندي سائن اپ ڪريو هڪ ڊمي ايڊريس شيئر ڪري ٿو جيڪو ايپل صارف لاءِ خاص طور تي RainMaker سروس لاءِ تفويض ڪري ٿو. هڪ RainMaker اڪائونٽ پاڻمرادو ٺاهي ويندي صارفين لاءِ سائن ان ڪندڙ گوگل، ايپل، يا ايمازون اڪائونٽ سان پهريون ڀيرو.
پاسورڊ تبديل ڪريو صحيح صرف اي ميل id/فون نمبر تي ٻڌل لاگ ان لاءِ. پاسورڊ تبديل ٿيڻ کان پوءِ ٻيا سڀئي فعال سيشن لاگ آئوٽ ٿي ويندا. AWS Cognito رويي جي مطابق، لاگ آئوٽ ٿيل سيشن 1 ڪلاڪ تائين سرگرم رهي سگهن ٿا.
پاسورڊ ٻيهر حاصل ڪريو صحيح صرف اي ميل آئي ڊي / فون نمبر تي ٻڌل لاگ ان لاءِ.
3.4.2 آخر استعمال ڪندڙ جون خاصيتون
آخري صارفين لاءِ کليل خاصيتون شامل آهن مقامي ۽ ريموٽ ڪنٽرول ۽ مانيٽرنگ، شيڊيولنگ، ڊيوائس گروپنگ، ڊيوائس شيئرنگ، پش نوٽيفڪيشن، ۽ ٽئين پارٽي انضمام.
ريموٽ ڪنٽرول ۽ مانيٽرنگ · هڪ يا سڀني ڊوائيسن لاءِ پڇا ڳاڇا ترتيب، پيٽرولر جي قيمت، ۽ ڪنيڪشن جي صورتحال. · ھڪڙي يا گھڻن ڊوائيسز لاء پيٽرولر مقرر ڪريو.
مقامي ڪنٽرول ۽ نگراني موبائل فون ۽ ڊيوائس کي مقامي ڪنٽرول لاءِ ساڳئي نيٽ ورڪ سان ڳنڍڻ جي ضرورت آهي.
شيڊيولنگ ​​· استعمال ڪندڙ اڳ ۾ مقرر ڪيل ڪمن کي مخصوص وقت تي. · شيڊول تي عمل ڪرڻ دوران ڊوائيس لاءِ انٽرنيٽ ڪنيڪشن جي ضرورت ناهي. · ھڪڙي يا گھڻن ڊوائيسز لاء ھڪڙو وقت يا ورجائي (ڏينھن جي وضاحت ڪندي).
ڊوائيس گروپنگ کي سپورٽ ڪري ٿو گھڻ سطحي خلاصو گروپنگ گروپ ميٽا ڊيٽا گھر جي ڪمري جي جوڙجڪ ٺاهڻ لاء استعمال ڪري سگھجي ٿو.
باب 3. ESP RainMaker 27 جو تعارف

ڊوائيس شيئرنگ هڪ يا وڌيڪ ڊوائيسز هڪ يا وڌيڪ استعمال ڪندڙن سان شيئر ڪري سگھجن ٿيون.
پش نوٽيفڪيشنز آخر صارفين کي پش نوٽيفڪيشنز ملندا واقعن لاءِ جيئن · نئون ڊيوائس شامل/هٽايو ويو · ڊيوائس ڪلائوڊ سان ڳنڍيو ويو · ڊيوائس ڪلائوڊ کان ڌار ٿي وئي · ڊيوائس شيئرنگ جون درخواستون ٺاهيل/قبول ٿيل/ رد ڪيون ويون · ڊيوائسز پاران اطلاع ڪيل خبرداري پيغام
ٽئين پارٽي جي انضمام Alexa ۽ گوگل وائس اسسٽنٽ کي سپورٽ ڪيو ويو آهي RainMaker ڊوائيسز کي ڪنٽرول ڪرڻ لاءِ، جن ۾ لائٽون، سوئچز، ساڪيٽ، مداح، ۽ درجه حرارت جا سينسر شامل آهن.
3.4.3 انتظامي خاصيتون
انتظامي خاصيتون منتظمين کي ڊيوائس رجسٽريشن، ڊيوائس گروپنگ، ۽ OTA اپ گريڊ کي لاڳو ڪرڻ جي اجازت ڏين ٿيون، ۽ view انگ اکر ۽ ESP بصيرت ڊيٽا.
ڊوائيس رجسٽريشن ڊيوائس سرٽيفڪيٽ ٺاھيو ۽ رجسٽر ڪريو منتظم CLI سان (صرف پرائيويٽ سرور).
ڊوائيس گروپنگ ڊوائيس جي معلومات جي بنياد تي خلاصو يا منظم گروپ ٺاهيو (صرف پرائيويٽ سرور).
اوور-دي-ايئر (OTA) اپڊيٽ اپ لوڊ ڪريو فرم ويئر ورزن ۽ ماڊل جي بنياد تي، هڪ يا وڌيڪ ڊوائيسز تي يا هڪ گروپ مانيٽر، منسوخ، يا آرڪائيو OTA نوڪريون.
View شماريات Viewقابل انگ اکر شامل آهن: · ڊيوائس جي رجسٽريشن (منتظم طرفان رجسٽر ٿيل سرٽيفڪيٽ) · ڊوائيس فعال ٿيڻ (ڊوائيس پهريون ڀيرو ڳنڍيل) · صارف اڪائونٽس · صارف-ڊوائيس ايسوسيئيشن
View ESP بصيرت ڊيٽا Viewقابل ESP بصيرت ڊيٽا ۾ شامل آهن: · غلطيون، ڊيڄاريندڙ، ۽ ڪسٽم لاگز · حادثي جي رپورٽون ۽ تجزيو · ريبوٽ سبب · ميٽرڪس جهڙوڪ ميموري استعمال، RSSI وغيره. · ڪسٽم ميٽرڪس ۽ متغير
28 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

3.5 خلاصو
هن باب ۾، اسان متعارف ڪرايو ڪجهه اهم فرقن جي وچ ۾ عوامي رين ميڪر جي مقرري ۽ نجي ڊيپلائيمينٽ جي وچ ۾. Espressif پاران شروع ڪيل خانگي ESP RainMaker حل انتهائي قابل اعتماد ۽ وسعت وارو آهي. سڀئي ESP32 سيريز چپس ڳنڍيا ويا آهن ۽ AWS سان ٺهڪندڙ آهن، جيڪي قيمت گھٽائي ٿي. ڊولپرز AWS ڪلائوڊ پروڊڪٽس جي باري ۾ سکڻ جي بغير پروٽوٽائپ جي تصديق تي ڌيان ڏئي سگهن ٿا. اسان ESP RainMaker جي نفاذ ۽ خاصيتن جي پڻ وضاحت ڪئي، ۽ پليٽ فارم استعمال ڪندي ترقي لاءِ ڪجهه اهم نقطا.
Android لاءِ ESP RainMaker ڊائون لوڊ ڪرڻ لاءِ اسڪين ڪريو iOS لاءِ ESP RainMaker ڊائون لوڊ ڪرڻ لاءِ اسڪين
باب 3. ESP RainMaker 29 جو تعارف

30 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

باب 4 ترقياتي ماحول جي ترتيب
هي باب ESP-IDF تي ڌيان ڏئي ٿو، ESP32-C3 لاءِ سرڪاري سافٽ ويئر ڊولپمينٽ فريم ورڪ. اسان وضاحت ڪنداسين ته مختلف آپريٽنگ سسٽم تي ماحول ڪيئن قائم ڪجي، ۽ پروجيڪٽ جي جوڙجڪ ۽ ESP-IDF جي تعميراتي نظام کي متعارف ڪرايو، انهي سان گڏ لاڳاپيل ترقياتي اوزار جي استعمال. ان کان پوء اسان هڪ اڳوڻي جي گڏ ڪرڻ ۽ هلائڻ واري عمل کي پيش ڪنداسينample پروجيڪٽ، جڏهن ته هر s تي آئوٽ لاگ جي تفصيلي وضاحت پيش ڪنديtage.
4.1 ESP-IDF اوورview
ESP-IDF (Espressif IoT ڊولپمينٽ فريم ورڪ) ھڪڙو اسٽاپ IoT ڊولپمينٽ فريم ورڪ آھي جيڪو Espressif ٽيڪنالاجي پاران مهيا ڪيل آھي. اهو استعمال ڪري ٿو C/C++ بنيادي ترقيءَ واري ٻولي طور ۽ سپورٽ ڪري ٿو ڪراس-ڪمپيليشن کي مين اسٽريم آپريٽنگ سسٽم تحت جيئن لينڪس، ميڪ ۽ ونڊوز. سابقampهن ڪتاب ۾ شامل لي پروگرام ESP-IDF استعمال ڪندي ٺاهيا ويا آهن، جيڪي هيٺيون خاصيتون پيش ڪن ٿا: · SoC سسٽم-سطح ڊرائيور. ESP-IDF ۾ ESP32، ESP32-S2، ESP32-C3 لاءِ ڊرائيور شامل آهن،
۽ ٻيا چپس. اهي ڊرائيور شامل آهن پردي جي گھٽ سطح (LL) لائبريري، هارڊويئر ايبسٽرڪشن پرت (HAL) لائبريري، RTOS سپورٽ ۽ اپر-ليئر ڊرائيور سافٽ ويئر وغيره. · ضروري اجزاء. ESP-IDF IoT ترقي لاءِ گهربل بنيادي جزا شامل ڪري ٿو. ھن ۾ گھڻن نيٽ ورڪ پروٽوڪول اسٽيڪ شامل آھن جھڙوڪ HTTP ۽ MQTT، ھڪ پاور مئنيجمينٽ فريم ورڪ سان گڏ متحرڪ فريڪوئنسي ماڊل، ۽ خاصيتون جھڙوڪ Flash Encryption ۽ Secure Boot وغيره. · ترقي ۽ پيداوار جا اوزار. ESP-IDF ڊولپمينٽ ۽ وڏي پئماني تي پيداوار دوران بلڊنگ، فليش، ۽ ڊيبگنگ لاءِ عام طور تي استعمال ٿيل اوزار مهيا ڪري ٿو (ڏسو شڪل 4.1)، جيئن ته بلڊنگ سسٽم جو بنياد CMake، ڪراس ڪمپليشن ٽول چين جي بنياد تي GCC، ۽ J.TAG ڊيبگنگ ٽول جي بنياد تي OpenOCD وغيره. اهو قابل ذڪر آهي ته ESP-IDF ڪوڊ بنيادي طور تي Apache 2.0 اوپن سورس لائسنس تي عمل ڪري ٿو. اوپن سورس لائسنس جي شرطن تي عمل ڪندي صارف بغير ڪنهن پابندين جي ذاتي يا تجارتي سافٽ ويئر ٺاهي سگھن ٿا. اضافي طور تي، صارفين کي مفت ۾ مستقل پيٽنٽ لائسنس ڏنيون وينديون آهن، بغير ڪنهن ذميداري جي اوپن سورس جي ذميداري کان سواءِ سورس ڪوڊ ۾ ڪيل ڪنهن به ترميمن جي.
31

شڪل 4.1.

بلڊنگ، چمڪائڻ، ۽ ڊيبگ-

ترقي ۽ وڏي پيداوار لاء ging اوزار

4.1.1 ESP-IDF ورجن
ESP-IDF ڪوڊ GitHub تي هڪ اوپن سورس پروجيڪٽ جي طور تي ميزباني ڪيو ويو آهي. في الحال، ٽي وڏا نسخا موجود آهن: v3، v4، ۽ v5. هر وڏي نسخي ۾ عام طور تي مختلف تبصرا شامل آهن، جهڙوڪ v4.2، v4.3، وغيره. Espressif Systems 30 مھينن جي مدد کي يقيني بڻائي ٿو بگ فڪسس ۽ سيڪيورٽي پيچز لاءِ ھر جاري ڪيل ذيلي ورزن لاءِ. تنهن ڪري، ذيلي ورزن جي ترميمن کي پڻ باقاعده طور تي جاري ڪيو ويو آهي، جهڙوڪ v4.3.1، v4.2.2، وغيره. ٽيبل 4.1 ايسپريسف چپس لاء مختلف ESP-IDF نسخن جي حمايت واري صورتحال کي ظاهر ڪري ٿو، ظاهر ڪري ٿو ته ڇا اهي اڳ ۾ آهن.view stage (اڳوڻي لاءِ سپورٽ پيش ڪري ٿوview ورجن، جن ۾ ڪجھ خصوصيتون يا دستاويزن جي کوٽ ٿي سگھي ٿي) يا سرڪاري طور تي سپورٽ ٿيل آھن.

جدول 4.1. ايسپريسف چپس لاءِ مختلف ESP-IDF ورزن جي سپورٽ اسٽيٽس

سيريز ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2

v4.1 سپورٽ

v4.2 جي حمايت ڪئي وئي

v4.3 سپورٽ جي حمايت ڪئي وئي

v4.4 جي حمايت ڪئي وئي سپورٽ جي حمايت ڪئي وئي
اڳview

v5.0 جي حمايت ڪئي وئي حمايت ڪئي وئي حمايت ڪئي وئي حمايت ٿيل اڳview

32 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

وڏن نسخن جي ورهاڱي ۾ اڪثر ڪري فريم ورڪ جي جوڙجڪ ۾ ترميمون ۽ تاليف سسٽم کي اپڊيٽ شامل آهن. مثال طورampلي، v3.* کان v4.* تائين وڏي تبديلي ميڪ کان CMake تائين تعميراتي نظام جي تدريجي لڏپلاڻ هئي. ٻئي طرف، معمولي نسخن جي ورهاڱي کي عام طور تي نئين خاصيتن جي اضافي يا نئين چپس جي حمايت شامل آهي.
اهو ضروري آهي ته مستحڪم نسخن ۽ GitHub شاخن جي وچ ۾ تعلق کي فرق ۽ سمجهڻ. v*.* يا v*# طور ليبل ٿيل نسخا مستحڪم ورجن جي نمائندگي ڪن ٿا جيڪي Espressif پاران مڪمل اندروني جاچ پاس ڪري چڪا آهن. هڪ دفعو مقرر ڪيو ويو، ڪوڊ، ٽول زنجير، ۽ ساڳئي نسخي لاء دستاويز جاري نه ٿينديون. جڏهن ته، GitHub شاخون (مثال طور، ڇڏڻ/v4.3 برانچ) بار بار ڪوڊ ڪمٽس، اڪثر روزاني بنيادن تي. تنهن ڪري، هڪ ئي شاخ هيٺ ٻه ڪوڊ اسپيٽس مختلف ٿي سگهن ٿا، ڊولپرز کي ضرورت آهي ته فوري طور تي انهن جي ڪوڊ مطابق مطابق تازه ڪاري ڪن.
4.1.2 ESP-IDF گٽ ورڪ فلو
Espressif ESP-IDF لاءِ مخصوص Git ورڪ فلو جي پيروي ڪري ٿو، هيٺ ڏنل بيان ڪيل:
· ماسٽر برانچ تي نيون تبديليون ڪيون ويون آهن، جيڪي مکيه ترقياتي شاخ طور ڪم ڪن ٿيون. ماسٽر برانچ تي ESP-IDF نسخو هميشه هڪ -dev رکي ٿو tag ظاهر ڪرڻ لاءِ ته اهو هن وقت ترقي هيٺ آهي، جهڙوڪ v4.3-dev. ماسٽر برانچ تي تبديليون پهريون ڀيرو ٻيهر ٿينديونviewed ۽ ٽيسٽ ڪيو ويو Espressif جي اندروني مخزن ۾، ۽ پوء خودڪار ٽيسٽ مڪمل ٿيڻ کان پوء GitHub ڏانهن ڌڪيو ويو.
· هڪ دفعو نئون ورجن ماسٽر برانچ تي فيچر ڊولپمينٽ مڪمل ڪري چڪو آهي ۽ بيٽا ٽيسٽنگ ۾ داخل ٿيڻ جا معيار پورا ڪري ٿو، اهو نئين برانچ ڏانهن منتقل ٿئي ٿو، جهڙوڪ release/ v4.3. ان کان علاوه، هي نئون برانچ آهي tagged هڪ پري رليز ورزن وانگر، جهڙوڪ v4.3-beta1. ڊولپرز GitHub پليٽ فارم ڏانهن اشارو ڪري سگھن ٿا شاخن جي مڪمل فهرست تائين رسائي ۽ tags ESP-IDF لاءِ. اهو نوٽ ڪرڻ ضروري آهي ته بيٽا ورزن (پري رليز ورزن) اڃا تائين معلوم مسئلن جو هڪ اهم تعداد آهي. جيئن ته بيٽا ورزن جي مسلسل جاچ ٿي رهي آهي، بگ فيڪس هن ورزن ۽ ماسٽر برانچ ٻنهي ۾ هڪ ئي وقت شامل ڪيا ويا آهن. ان کان علاوه، ماسٽر برانچ اڳ ۾ ئي ايندڙ ورزن لاء نئين خاصيتن کي ترقي ڪرڻ شروع ڪري چڪو آهي. جڏهن جاچ لڳ ڀڳ مڪمل ٿئي ٿي، هڪ رليز اميدوار (rc) ليبل برانچ ۾ شامل ڪيو ويو آهي، اهو ظاهر ڪري ٿو ته اهو سرڪاري رليز لاءِ امڪاني اميدوار آهي، جهڙوڪ v4.3-rc1. ان موقعي تي ايسtagاي، شاخ هڪ پري رليز ورزن رهي ٿي.
· جيڪڏهن ڪو به وڏو بگ دريافت يا اطلاع نه ڪيو ويو آهي ته، اڳ-آزاد ورزن آخرڪار هڪ اهم ورجن ليبل (مثال طور، v5.0) يا هڪ معمولي ورزن ليبل (مثال طور، v4.3) حاصل ڪري ٿو ۽ هڪ سرڪاري رليز ورزن بڻجي ٿو، جيڪو دستاويز ٿيل آهي. رليز نوٽس صفحي ۾. تنهن کان پوء، هن نسخي ۾ سڃاڻپ ڪيل ڪي ڪيڙا رليز برانچ تي مقرر ڪيا ويا آهن. دستي جاچ مڪمل ٿيڻ کان پوءِ، برانچ کي بگ-فڪس ورزن ليبل لڳايو ويو آهي (مثال طور، v4.3.2)، جيڪو پڻ رليز نوٽس واري صفحي تي ظاهر ٿئي ٿو.
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 33

4.1.3 هڪ مناسب نسخو چونڊڻ
جڏهن کان ESP-IDF سرڪاري طور تي ESP32-C3 جي ورزن v4.3 کان سپورٽ ڪرڻ شروع ڪيو آهي، ۽ v4.4 اڃا تائين سرڪاري طور تي جاري نه ڪيو ويو آهي هن ڪتاب لکڻ وقت، هن ڪتاب ۾ استعمال ٿيل نسخو v4.3.2 آهي، جيڪو هڪ نظر ثاني ٿيل نسخو آهي. v4.3 جو. بهرحال، اهو نوٽ ڪرڻ ضروري آهي ته جڏهن توهان هن ڪتاب کي پڙهندا آهيو، v4.4 يا نوان ورزن اڳ ۾ ئي موجود هوندا. جڏهن هڪ نسخو چونڊيو، اسان هيٺ ڏنل صلاح ڏيو ٿا:
· داخلا-سطح جي ڊولپرز لاءِ، اھو مشورو ڏنو ويندو آھي ته مستحڪم v4.3 ورجن يا ان جي نظرثاني ٿيل ورجن کي چونڊيو، جيڪو اڳئين سان ترتيب ڏئي ٿو.ampهن ڪتاب ۾ استعمال ٿيل نسخو.
· وڏي پئماني تي پيداوار جي مقصدن لاءِ، سڀ کان جديد ٽيڪنيڪل سپورٽ مان فائدو حاصل ڪرڻ لاءِ جديد مستحڪم ورزن استعمال ڪرڻ جي سفارش ڪئي وئي آهي.
· جيڪڏهن توهان نئين چپس سان تجربو ڪرڻ يا نئين پراڊڪٽ جي خاصيتن کي ڳولڻ جو ارادو رکو ٿا، مهرباني ڪري ماسٽر برانچ استعمال ڪريو. جديد ورزن ۾ تمام جديد خصوصيتون شامل آهن، پر ياد رکو ته اتي شايد معلوم يا اڻڄاتل ڪيڙا موجود هجن.
· جيڪڏهن مستحڪم ورزن استعمال ڪيو پيو وڃي ان ۾ گهربل نيون خصوصيتون شامل نه آهن ۽ توهان ماسٽر برانچ سان لاڳاپيل خطرن کي گهٽائڻ چاهيو ٿا، لاڳاپيل رليز برانچ استعمال ڪرڻ تي غور ڪريو، جهڙوڪ رليز/v4.4 برانچ. Espressif جي GitHub مخزن پهريون ڀيرو رليز/v4.4 برانچ ٺاهيندو ۽ بعد ۾ سڀني خصوصيتن جي ترقي ۽ جانچ مڪمل ڪرڻ کان پوءِ، هن برانچ جي مخصوص تاريخي سنيپ شاٽ جي بنياد تي مستحڪم v4.4 ورزن جاري ڪندو.
4.1.4 اوورview جي ESP-IDF SDK ڊاريڪٽري
ESP-IDF SDK ٻن مکيه ڊائريڪٽرن تي مشتمل آهي: esp-idf ۽ .espressif. اڳئين ۾ ESP-IDF مخزن جو سورس ڪوڊ شامل آهي files ۽ تاليف اسڪرپٽ، جڏهن ته بعد ۾ بنيادي طور تي گڏ ڪرڻ واري اوزار جي زنجير ۽ ٻين سافٽ ويئر کي ذخيرو ڪري ٿو. انهن ٻن ڊائريڪٽرن سان واقفيت ڊولپرز کي دستياب وسيلن جو بهتر استعمال ڪرڻ ۽ ترقي جي عمل کي تيز ڪرڻ ۾ مدد ڪندي. ESP-IDF جي ڊاريڪٽري جي جوڙجڪ هيٺ بيان ڪئي وئي آهي:
(1) ESP-IDF مخزن ڪوڊ ڊاريڪٽري (/esp/esp-idf)، جيئن تصوير 4.2 ۾ ڏيکاريل آهي.
هڪ اجزاء ڊاريڪٽري اجزاء
هي بنيادي ڊاريڪٽري ESP-IDF جي ڪيترن ئي ضروري سافٽ ويئر اجزاء کي ضم ڪري ٿي. هن ڊاريڪٽري ۾ اجزاء تي ڀروسو ڪرڻ کان سواء ڪو به پروجيڪٽ ڪوڊ مرتب نه ٿو ڪري سگھجي. ان ۾ مختلف ايسپريسف چپس لاءِ ڊرائيور سپورٽ شامل آهي. LL لائبريري ۽ HAL لائبريري انٽرفيس کان پردي لاءِ اپر ليول ڊرائيور ۽ ورچوئل تائين File سسٽم (VFS) پرت سپورٽ، ڊولپرز انهن جي ترقي جي ضرورتن لاء مختلف سطحن تي مناسب اجزاء چونڊي سگهن ٿا. ESP-IDF ڪيترن ئي معياري نيٽ ورڪ پروٽوڪول اسٽيڪ کي سپورٽ ڪري ٿو جهڙوڪ TCP/IP، HTTP، MQTT، Webساکٽ، وغيره. ڊولپر استعمال ڪري سگھن ٿا واقف انٽرفيس جهڙوڪ ساڪٽ نيٽ ورڪ ايپليڪيشن ٺاهڻ لاءِ. اجزاء مهيا ڪن ٿا سمجھڻ
34 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

شڪل 4.2. ESP-IDF مخزن ڪوڊ ڊاريڪٽري
sive ڪارڪردگي ۽ آساني سان ايپليڪيشنن ۾ ضم ٿي سگھي ٿو، ڊولپرز کي صرف ڪاروباري منطق تي ڌيان ڏيڻ جي اجازت ڏئي ٿو. ڪجھ عام جزا شامل آھن: · ڊرائيور: ھي جزو مختلف ايسپريسف لاءِ پردي ڊرائيور پروگرامن تي مشتمل آھي
چپ سيريز، جهڙوڪ GPIO، I2C، SPI، UART، LEDC (PWM) وغيره. هن جزو ۾ پردي ڊرائيور پروگرام پيش ڪن ٿا چپ-آزاد خلاصي انٽرفيس. هر پردي ۾ هڪ عام هيڊر آهي file (جهڙوڪ gpio.h)، مختلف چپ مخصوص سپورٽ سوالن سان معاملو ڪرڻ جي ضرورت کي ختم ڪرڻ. · esp_wifi: وائي فائي، هڪ خاص پردي جي طور تي، هڪ الڳ جزو طور علاج ڪيو ويندو آهي. ان ۾ گھڻا APIs شامل آھن جھڙوڪ مختلف وائي فائي ڊرائيور موڊس جي شروعات، پيٽرول جي ٺاھ جوڙ، ۽ ايونٽ پروسيسنگ. ھن جزو جا ڪجھ افعال جامد لنڪ لائبريري جي صورت ۾ مهيا ڪيا ويا آھن. ESP-IDF استعمال جي آسانيءَ لاءِ جامع ڊرائيور دستاويز پڻ مهيا ڪري ٿي.
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 35

· freertos: هي جزو مڪمل FreeRTOS ڪوڊ تي مشتمل آهي. هن آپريٽنگ سسٽم لاءِ جامع مدد فراهم ڪرڻ کان علاوه، ايسپريسف پڻ ڊبل-ڪور چپس لاءِ پنهنجي مدد کي وڌايو آهي. ESP32 ۽ ESP32-S3 وانگر ڊبل-ڪور چپس لاءِ، صارف مخصوص ڪور تي ڪم ٺاهي سگھن ٿا.
ب. دستاويز ڊاريڪٽري دستاويز
ھن ڊاريڪٽري ۾ ESP-IDF لاڳاپيل ڊولپمينٽ ڊاڪيومينٽس شامل آھن، جن ۾ ھدايت حاصل ڪريو، API ريفرنس مينوئل، ڊولپمينٽ گائيڊ وغيره.
نوٽ خودڪار اوزارن سان گڏ ٿيڻ کان پوءِ، ھن ڊاريڪٽري جو مواد https://docs.espressif.com/projects/esp-idf تي لڳايو ويو آھي. مھرباني ڪري دستاويز جي ھدف کي ESP32-C3 ڏانھن تبديل ڪرڻ جي پڪ ڪريو ۽ مخصوص ESP-IDF ورجن چونڊيو.
ج. اسڪرپٽ جا اوزار
ھن ڊاريڪٽري ۾ عام طور تي استعمال ٿيل ڪمپيليشن فرنٽ-اينڊ ٽولز جھڙوڪ idf.py، ۽ مانيٽر ٽرمينل ٽول idf_monitor.py وغيره شامل آھن. ذيلي ڊاريڪٽري cmake پڻ ڪور اسڪرپٽ تي مشتمل آھي files تاليف واري نظام جو، ESP-IDF تاليف جي ضابطن کي لاڳو ڪرڻ لاء بنياد طور ڪم ڪري رهيو آهي. جڏهن ماحولياتي متغير شامل ڪيو وڃي، اوزار ڊاريڪٽري اندر مواد شامل ڪيا ويندا آهن سسٽم ماحول جي متغير ۾، idf.py کي سڌو سنئون منصوبي جي رستي جي تحت عمل ڪرڻ جي اجازت ڏئي ٿي.
ڊي. مثالample پروگرام ڊاريڪٽري examples
هن ڊاريڪٽري ۾ ESP-IDF جو هڪ وسيع مجموعو شامل آهيample پروگرام جيڪي ڏيکارين ٿا جزو APIs جي استعمال کي. سابقamples انهن جي زمرے جي بنياد تي مختلف ذيلي ڊائريڪٽرن ۾ منظم ڪيا ويا آهن:
· شروعات شروع ڪريو: ھن ذيلي ڊاريڪٽري ۾ شامل آھي داخلا-سطح اڳamples وانگر "هيلو ورلڊ" ۽ "blink" صارفين کي بنيادي ڳالهين کي سمجهڻ ۾ مدد ڏيڻ لاء.
· بلوٽوت: توهان ڳولي سگهو ٿا بلوٽوٿ سان لاڳاپيل مثالamples هتي، بلوٽوت LE Mesh، بلوٽوت LE HID، BluFi، ۽ وڌيڪ شامل آهن.
· وائي فائي: هي ذيلي ڊاريڪٽري وائي فائي تي ڌيان ڏئي ٿيamples، بشمول بنيادي پروگرامن جهڙوڪ وائي فائي SoftAP، وائي فائي اسٽيشن، espnow، گڏوگڏ ملڪيت واري ڪميونيڪيشن پروٽوڪولampEspressif کان. اهو پڻ شامل آهي ڪيترن ئي ايپليڪيشن پرت examples تي ٻڌل وائي فائي، جهڙوڪ Iperf، Sniffer، ۽ Smart Config.
· پريفيرل: هي وسيع ذيلي ڊاريڪٽري پردي جي نالن جي بنياد تي ڪيترن ئي ذيلي فولڊرن ۾ ورهايل آهي. اهو بنيادي طور تي شامل آهي پردي ڊرائيور exampايسپريسف چپس لاءِ، هر هڪ سانample جي خصوصيت ڪيترن ئي ذيلي examples. مثال طور، gpio ذيلي ڊاريڪٽري ۾ ٻه اڳوڻي شامل آهنamples: GPIO ۽ GPIO ميٽرڪس ڪيبورڊ. اهو نوٽ ڪرڻ ضروري آهي ته سڀئي اڳوڻي نه آهنampهن ڊاريڪٽري ۾ les ESP32-C3 تي لاڳو آهن.
36 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

مثال طورample، the examples in usb/host صرف USB هوسٽ هارڊويئر سان پردي تي لاڳو ٿين ٿا (جهڙوڪ ESP32-S3)، ۽ ESP32-C3 وٽ اهو پردي نه آهي. تاليف جو نظام عام طور تي اشارو ڏئي ٿو جڏهن ٽارگيٽ سيٽنگ. README file هر هڪ جي اڳوڻيample سپورٽ ٿيل چپس جي لسٽ ڪري ٿو. · پروٽوڪول: ھن ذيلي ڊاريڪٽري ۾ شامل آھي exampمختلف ڪميونيڪيشن پروٽوڪولن لاءِ، بشمول MQTT، HTTP، HTTP سرور، PPPoS، Modbus، mDNS، SNTP، ڪميونيڪيشن پروٽوڪول جي وسيع رينج کي ڍڪينديampIoT جي ترقي لاءِ گهربل. · روزي ڏيڻ: هتي، توهان ڳوليندا provisioning examples مختلف طريقن لاءِ، جهڙوڪ وائي فائي جي فراهمي ۽ بلوٽوٿ LE فراهم ڪرڻ. · سسٽم: هن ذيلي ڊاريڪٽري ۾ شامل آهي سسٽم ڊيبگنگ examples (مثال طور، اسٽيڪ ٽريڪنگ، رن ٽائم ٽريڪنگ، ٽاسڪ مانيٽرنگ)، پاور مئنيجمينٽ مثالamples (مثال طور، مختلف ننڊ جا طريقا، ڪو پروسيسر)، ۽ اڳوڻيampعام سسٽم جي اجزاء سان لاڳاپيل آهي جهڙوڪ ڪنسول ٽرمينل، ايونٽ لوپ، ۽ سسٽم ٽائمر. · اسٽوريج: هن ذيلي ڊاريڪٽري اندر، توهان کي دريافت ڪنداسين exampسڀ کان وڌيڪ file سسٽم ۽ اسٽوريج ميڪانيزم جيڪي ESP-IDF جي حمايت ڪن ٿا (جهڙوڪ فليش، ايس ڊي ڪارڊ ۽ ٻين اسٽوريج ميڊيا جي پڙهڻ ۽ لکڻ)، انهي سان گڏ اڳوڻيampغير مستحڪم اسٽوريج (NVS)، FatFS، SPIFFS ۽ ٻيا file سسٽم آپريشن. · سيڪيورٽي: هي ذيلي ڊاريڪٽري شامل آهي exampفليش انڪرپشن سان لاڳاپيل. (2) ESP-IDF ڪمپليشن ٽول چين ڊاريڪٽري (/.espressif)، جيئن تصوير 4.3 ۾ ڏيکاريل آهي.
شڪل 4.3. ESP-IDF تاليف جو اوزار زنجير ڊاريڪٽري
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 37

هڪ سافٽ ويئر ڊويزن ڊاريڪٽري dist
ESP-IDF ٽول زنجير ۽ ٻيا سافٽ ويئر ڪمپريس ٿيل پيڪيجز جي صورت ۾ ورهايل آهن. انسٽاليشن جي عمل جي دوران، انسٽاليشن ٽول پهريون ڀيرو ڊسٽ ڊاريڪٽري ۾ ڪمپريس ٿيل پيڪيج کي ڊائون لوڊ ڪري ٿو، ۽ پوء ان کي مخصوص ڊاريڪٽري ۾ ڪڍي ٿو. انسٽاليشن مڪمل ٿيڻ کان پوء، هن ڊاريڪٽري ۾ مواد محفوظ طور تي هٽائي سگهجي ٿو.
ب. پٿون ورچوئل ماحوليات ڊاريڪٽري python env
ESP-IDF جا مختلف نسخا پائٿون پيڪيجز جي مخصوص ورزن تي ڀروسو ڪن ٿا. انهن پيڪيجز کي انسٽال ڪرڻ سڌو سنئون هڪ ئي ميزبان تي پيڪيج ورزن جي وچ ۾ تڪرار پيدا ڪري سگهي ٿي. ھن کي پتو ڏيڻ لاءِ، ESP-IDF مختلف پيڪيج ورزن کي الڳ ڪرڻ لاءِ پٿون ورچوئل ماحول کي استعمال ڪري ٿو. ھن ميکانيزم سان، ڊولپرز ESP-IDF جا گھڻا ورجن انسٽال ڪري سگھن ٿا ھڪڙي ھوسٽ تي ۽ آساني سان انھن جي وچ ۾ مٽائي سگھن ٿا مختلف ماحوليات کي درآمد ڪندي.
ج. ESP-IDF تاليف جو اوزار زنجير ڊاريڪٽري اوزار
هن ڊاريڪٽري ۾ بنيادي طور تي ESP-IDF پروجيڪٽس کي گڏ ڪرڻ لاءِ گهربل ڪراس-ڪپليشن ٽولز شامل آهن، جهڙوڪ سي ايمڪ ٽولز، ننجا بلڊ ٽولز، ۽ جي سي سي ٽول چين جيڪو فائنل ايگزيڪيوٽو پروگرام ٺاهي ٿو. اضافي طور تي، هي ڊاريڪٽري C/C++ ٻوليءَ جي معياري لائبريري سان لاڳاپيل هيڊر سان گڏ رکي ٿي. fileايس. جيڪڏهن هڪ پروگرام هڪ سسٽم هيڊر جو حوالو ڏئي ٿو file جيئن #شامل ، گڏ ڪرڻ وارو اوزار زنجير stdio.h کي ڳوليندو file هن ڊاريڪٽري ۾.
4.2 ESP-IDF ڊولپمينٽ ماحول کي ترتيب ڏيڻ
ESP-IDF ڊولپمينٽ ماحول مکيه اسٽريم آپريٽنگ سسٽم کي سپورٽ ڪري ٿو جهڙوڪ ونڊوز، لينڪس، ۽ macOS. هي سيڪشن متعارف ڪرايو ويندو ته هر سسٽم تي ترقياتي ماحول ڪيئن قائم ڪجي. اهو لينڪس سسٽم تي ESP32-C3 کي ترقي ڪرڻ جي صلاح ڏني وئي آهي، جنهن کي هتي تفصيل سان متعارف ڪرايو ويندو. ڊولپمينٽ ٽولز جي هڪجهڙائي جي ڪري ڪيتريون ئي هدايتون پليٽ فارمن تي لاڳو ٿين ٿيون. تنهن ڪري، هن حصي جي مواد کي احتياط سان پڙهڻ جي صلاح ڏني آهي.
نوٽ توهان https://bookc3.espressif.com/esp32c3 تي موجود آن لائين دستاويزن جو حوالو ڏئي سگهو ٿا، جيڪي هن حصي ۾ ڏنل حڪمن کي مهيا ڪن ٿا.
4.2.1 لينڪس تي ESP-IDF ڊولپمينٽ ماحول قائم ڪرڻ
GNU ڊولپمينٽ ۽ ڊيبگنگ ٽولز ESP-IDF ڊولپمينٽ ماحول لاءِ گھربل آھن لينڪس سسٽم جا. اضافي طور تي، لينڪس ۾ ڪمانڊ لائن ٽرمينل طاقتور ۽ صارف دوست آهي، اهو ESP32-C3 ترقي لاء هڪ مثالي انتخاب آهي. توهان ڪري سگهو ٿا
38 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

پنھنجي پسند جي لينڪس ڊويزن کي چونڊيو، پر اسان Ubuntu يا ٻين Debianbased سسٽم کي استعمال ڪرڻ جي صلاح ڏيو ٿا. هي سيڪشن Ubuntu 20.04 تي ESP-IDF ڊولپمينٽ ماحول قائم ڪرڻ تي هدايت فراهم ڪري ٿو.
1. گهربل پيڪيجز انسٽال ڪريو
ھڪڙو نئون ٽرمينل کوليو ۽ ھيٺ ڏنل حڪم تي عمل ڪريو سڀني ضروري پيڪيجز کي نصب ڪرڻ لاء. حڪم خودڪار طريقي سان پيڪيجز کي ڇڏي ڏيندو جيڪي اڳ ۾ ئي نصب ٿيل آھن.
$ sudo apt-get install git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
TIPS توھان کي استعمال ڪرڻ جي ضرورت آھي ايڊمنسٽريٽر اڪائونٽ ۽ پاسورڊ مٿي ڏنل حڪم لاءِ. ڊفالٽ طور، پاسورڊ داخل ڪرڻ وقت ڪا به معلومات ظاهر نه ٿيندي. عمل جاري رکڻ لاءِ بس "Enter" کي دٻايو.
Git ESP-IDF ۾ هڪ اهم ڪوڊ مينيجمينٽ جو اوزار آهي. ڪاميابيءَ سان ترقيءَ واري ماحول کي ترتيب ڏيڻ کان پوءِ، توھان استعمال ڪري سگھو ٿا گٽ لاگ ڪمانڊ کي view ESP-IDF جي ٺهڻ کان وٺي سڀ ڪوڊ تبديليون ڪيون ويون آهن. ان کان علاوه، Git پڻ ESP-IDF ۾ استعمال ڪيو ويو آهي نسخي جي معلومات جي تصديق ڪرڻ لاء، جيڪو مخصوص نسخن سان لاڳاپيل صحيح ٽول چين کي نصب ڪرڻ لاء ضروري آهي. Git سان گڏ، ٻيا اهم سسٽم اوزار شامل آهن پٿون. ESP-IDF پٿون ۾ لکيل ڪيترن ئي آٽوميشن اسڪرپٽ شامل ڪري ٿو. اوزار جهڙوڪ CMake، Ninja-build، ۽ Ccache وڏي پيماني تي C/C++ منصوبن ۾ استعمال ٿيندا آهن ۽ ESP-IDF ۾ ڊفالٽ ڪوڊ گڏ ڪرڻ ۽ بلڊنگ ٽولز طور ڪم ڪندا آهن. libusb-1.0-0 ۽ dfu-util مکيه ڊرائيور آهن جيڪي USB سيريل ڪميونيڪيشن ۽ فرم ویئر برننگ لاءِ استعمال ڪيا ويندا آهن. هڪ دفعو سافٽ ويئر پيڪيجز انسٽال ٿيل آهن، توهان استعمال ڪري سگهو ٿا apt شو هر پيڪيج جي تفصيلي وضاحت حاصل ڪرڻ لاء حڪم. مثال طورampلي، گٽ ٽول لاءِ تفصيل جي معلومات کي پرنٽ ڪرڻ لاءِ apt show git استعمال ڪريو.
سوال: جيڪڏهن پٿون ورجن سپورٽ نه ڪري ته ڇا ڪجي؟ ج: ESP-IDF v4.3 کي پائٿون ورزن جي ضرورت آهي جيڪا v3.6 کان گهٽ نه هجي. Ubuntu جي پراڻن ورزن لاءِ، مھرباني ڪري دستي طور پائٿون جو اعليٰ ورجن ڊائون لوڊ ۽ انسٽال ڪريو ۽ Python3 کي ڊفالٽ پٿون ماحول مقرر ڪريو. توھان ڳولي سگھوٿا تفصيلي ھدايتون ڳولھڻ سان لفظ اپڊيٽ-متبادل پٿون.
2. ڊائون لوڊ ڪريو ESP-IDF مخزن ڪوڊ
ٽرمينل کوليو ۽ mkdir ڪمانڊ استعمال ڪندي پنهنجي گهر ڊاريڪٽري ۾ esp نالي فولڊر ٺاهيو. جيڪڏھن توھان چاھيو ته توھان فولڊر لاءِ مختلف نالو چونڊي سگھوٿا. فولڊر ۾ داخل ڪرڻ لاء سي ڊي حڪم استعمال ڪريو.
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 39

$ mkdir -p /esp $ cd /esp
استعمال ڪريو git clone ڪمانڊ ڊائون لوڊ ڪرڻ لاءِ ESP-IDF مخزن ڪوڊ، جيئن هيٺ ڏيکاريل آهي:
$ git clone -b v4.3.2 -recursive https://github.com/espressif/esp-idf.git
مٿي ڏنل حڪم ۾، پيٽرولر -b v4.3.2 ڊائون لوڊ ڪرڻ لاء نسخو بيان ڪري ٿو (هن صورت ۾، نسخو 4.3.2). پيراميٽر -recursive يقيني بڻائي ٿو ته ESP-IDF جا سڀ ذيلي ذخيرا بار بار ڊائون لوڊ ڪيا ويا آهن. ذيلي ذخيرن بابت معلومات .gitmodules ۾ ملي سگهي ٿي file.
3. انسٽال ڪريو ESP-IDF ڊولپمينٽ ٽول چين
Espressif هڪ خودڪار اسڪرپٽ مهيا ڪري ٿو install.sh ٽول چين کي ڊائون لوڊ ۽ انسٽال ڪرڻ لاءِ. هي اسڪرپٽ موجوده ESP-IDF ورزن ۽ آپريٽنگ سسٽم جي ماحول کي چيڪ ڪري ٿو، ۽ پوءِ پائٿون ٽول پيڪيجز ۽ ڪمپليشن ٽول زنجيرن جو مناسب ورزن ڊائون لوڊ ۽ انسٽال ڪري ٿو. ٽول زنجير لاءِ ڊفالٽ تنصيب جو رستو آهي /.espressif. توھان کي بس ڪرڻ جي ضرورت آھي esp-idf ڊاريڪٽري ڏانھن وڃو ۽ install.sh کي هلائڻو آھي.
$ cd /esp/esp-idf $ ./install.sh
جيڪڏهن توهان ٽول زنجير کي ڪاميابي سان انسٽال ڪيو، ٽرمينل ڏيکاريندو:
سڀ ٿي ويو!
هن نقطي تي، توهان ڪاميابيء سان ESP-IDF ترقي ماحول قائم ڪيو آهي.
4.2.2 ونڊوز تي ESP-IDF ڊولپمينٽ ماحول قائم ڪرڻ
1. ڊائون لوڊ ڪريو ESP-IDF اوزار انسٽالر
TIPS ESP-IDF ڊولپمينٽ ماحول کي سيٽ ڪرڻ جي صلاح ڏني وئي آهي Windows 10 يا مٿي. توھان ڊائون لوڊ ڪري سگھوٿا انسٽالر https://dl.espressif.com/dl/esp-idf/ تان. انسٽالر پڻ هڪ اوپن سورس سافٽ ويئر آهي، ۽ ان جو سورس ڪوڊ ٿي سگهي ٿو viewايڊ تي https://github.com/espressif/idf-installer.
· آن لائين ESP-IDF اوزار انسٽالر
هي انسٽالر نسبتا ننڍو آهي، سائيز ۾ تقريبا 4 MB، ۽ ٻيا پيڪيجز ۽ ڪوڊ انسٽاليشن جي عمل دوران ڊائون لوڊ ڪيا ويندا. صلاحtagآن لائن انسٽالر جو e اهو آهي ته نه صرف سافٽ ويئر پيڪيجز ۽ ڪوڊ ڊائون لوڊ ڪري سگھجن ٿا تنصيب جي عمل دوران مطالبن تي، پر پڻ اجازت ڏئي ٿو انسٽاليشن جي سڀني دستياب رليز جي ESP-IDF ۽ GitHub ڪوڊ جي جديد شاخ (جهڙوڪ ماسٽر برانچ) . نااهلtage اھو آھي ته ان کي انسٽاليشن جي عمل دوران ھڪڙي نيٽ ورڪ ڪنيڪشن جي ضرورت آھي، جيڪا نيٽ ورڪ جي مسئلن جي ڪري تنصيب ناڪامي ٿي سگھي ٿي.
40 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

· آف لائن ESP-IDF ٽولز انسٽالر ھي انسٽالر وڏو آھي، اٽڪل 1 GB سائيز ۾، ۽ ان ۾ ماحول جي سيٽ اپ لاءِ گھربل سافٽ ويئر پيڪيجز ۽ ڪوڊ شامل آھن. مکيه صلاحtagاي آف لائن انسٽالر جو اهو آهي ته اهو ڪمپيوٽرن تي انٽرنيٽ جي رسائي کان سواء استعمال ڪري سگهجي ٿو، ۽ عام طور تي اعلي تنصيب ڪاميابي جي شرح آهي. اهو ياد رکڻ گهرجي ته آف لائن انسٽالر صرف ESP-IDF جي مستحڪم رليز کي انسٽال ڪري سگهي ٿو جنهن جي سڃاڻپ v*.* يا v*×.
2. ESP-IDF ٽولز انسٽالر کي ھلايو انسٽالر جو مناسب ورزن ڊائون لوڊ ڪرڻ کان پوءِ (وڃو ESP-IDF ٽولز آف لائن 4.3.2 اڳ لاءِample هتي)، ڊبل ڪلڪ ڪريو exe file ESP-IDF انسٽاليشن انٽرفيس شروع ڪرڻ لاءِ. هيٺ ڏنل ڏيکاري ٿو ته ڪيئن انسٽال ڪجي ESP-IDF مستحڪم ورزن v4.3.2 آف لائن انسٽالر استعمال ڪندي.
(1) شڪل 4.4 ۾ ڏيکاريل ”تنصيب جي ٻولي چونڊيو“ انٽرفيس ۾، ڊراپ-ڊائون لسٽ مان استعمال ڪرڻ لاءِ ٻولي چونڊيو.
شڪل 4.4. "انٽرفيس چونڊيو انسٽاليشن ٻولي" (2) ٻولي چونڊڻ کان پوء، "OK" تي ڪلڪ ڪريو "لائسنس معاهدي" انٽرفيس کي پاپ ڪرڻ لاء.
(ڏسو شڪل 4.5). انسٽاليشن لائسنس جي معاهدي کي احتياط سان پڙهڻ کان پوء، "مان معاهدي کي قبول ڪريان ٿو" چونڊيو ۽ "اڳيون" تي ڪلڪ ڪريو.
شڪل 4.5. "لائسنس جو معاهدو" انٽرفيس باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 41

(3) ريview سسٽم جي ٺاھ جوڙ "پري-انسٽاليشن سسٽم چيڪ" انٽرفيس ۾ (ڏسو شڪل 4.6). چيڪ ڪريو ونڊوز ورزن ۽ انسٽال ٿيل اينٽي وائرس سافٽ ويئر جي معلومات. "اڳيون" تي ڪلڪ ڪريو جيڪڏھن سڀ ٺاھ جوڙ شيون عام آھن. ٻي صورت ۾، توهان ڪلڪ ڪري سگهو ٿا "مڪمل لاگ" حل لاءِ اهم شيون جي بنياد تي.
شڪل 4.6. "تنصيب کان پهريان سسٽم چيڪ ڪريو" انٽرفيس TIPS
توھان لاگ جمع ڪري سگھو ٿا https://github.com/espressif/idf-installer/issues مدد لاءِ. (4) چونڊيو ESP-IDF انسٽاليشن ڊاريڪٽري. هتي، چونڊيو D:/.espressif، جيئن ڏيکاريل آهي
شڪل 4.7، ۽ ڪلڪ ڪريو "اڳيون". مهرباني ڪري نوٽ ڪريو ته .espressif هتي هڪ لڪيل ڊاريڪٽري آهي. انسٽاليشن مڪمل ٿيڻ کان پوء، توهان ڪري سگهو ٿا view هن ڊاريڪٽري جي مخصوص مواد کي کولڻ سان file مينيجر ۽ لڪيل شيون ڏيکاريندي.
شڪل 4.7. چونڊيو ESP-IDF انسٽاليشن ڊاريڪٽري 42 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

(5) انهن حصن کي چيڪ ڪريو جيڪي انسٽال ٿيڻ گهرجن، جيئن تصوير 4.8 ۾ ڏيکاريل آهي. اهو ڊفالٽ اختيار کي استعمال ڪرڻ جي صلاح ڏني وئي آهي، اهو آهي، مڪمل تنصيب، ۽ پوء "اڳيون" تي ڪلڪ ڪريو.
شڪل 4.8. انسٽال ڪرڻ لاءِ اجزاء چونڊيو (6) انسٽال ٿيڻ لاءِ اجزاء جي تصديق ڪريو ۽ خودڪار شروع ڪرڻ لاءِ "انسٽال" تي ڪلڪ ڪريو-
اسٽيل لڳائڻ جو عمل، جيئن تصوير 4.9 ۾ ڏيکاريل آهي. انسٽاليشن وارو عمل ڏهن منٽن تائين هلي سگهي ٿو ۽ انسٽاليشن جي عمل جو پروگريس بار تصوير 4.10 ۾ ڏيکاريل آهي. مهرباني ڪري صبر سان انتظار ڪريو.
شڪل 4.9. انسٽاليشن جي تياري (7) انسٽاليشن مڪمل ٿيڻ کان پوء، ان کي چيڪ ڪرڻ جي سفارش ڪئي وئي آهي "ESP-IDF رجسٽر ڪريو
اوزار executables جيئن Windows Defender exclusions…” اينٽي وائرس سافٽ ويئر کي حذف ٿيڻ کان روڪڻ لاءِ fileايس. خارج ڪرڻ واريون شيون شامل ڪرڻ پڻ اينٽي وائرس پاران بار بار اسڪين کي ڇڏي سگھي ٿو
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 43

شڪل 4.10. انسٽاليشن پروگريس بار سافٽ ويئر، ونڊوز سسٽم جي ڪوڊ گڏ ڪرڻ جي ڪارڪردگي کي تمام گهڻو بهتر بڻائي ٿو. ڊولپمينٽ ماحول جي انسٽاليشن کي مڪمل ڪرڻ لاءِ ”ختم“ تي ڪلڪ ڪريو، جيئن تصوير 4.11 ۾ ڏيکاريل آهي. توھان چيڪ ڪرڻ لاءِ چونڊي سگھو ٿا ”ESP-IDF PowerShell ماحول کي ھلايو“ يا ”ESP-IDF ڪمانڊ پرامٽ ھلايو“. انسٽاليشن ونڊو کي ھلايو سڌو سنئون انسٽال ڪرڻ کان پوءِ ان کي يقيني بڻائڻ لاءِ ته ڊولپمينٽ ماحول عام طور تي ڪم ڪري ٿو.
شڪل 4.11. انسٽاليشن مڪمل ٿي وئي (8) پروگرام لسٽ ۾ نصب ٿيل ترقياتي ماحول کوليو (يا ته ESP-IDF 4.3
CMD يا ESP-IDF 4.3 PowerShell ٽرمينل، جيئن تصوير 4.12 ۾ ڏيکاريل آهي) ۽ ESP-IDF ماحوليات متغير پاڻمرادو شامل ڪيو ويندو جڏهن ٽرمينل ۾ هلندي. ان کان پوء، توھان استعمال ڪري سگھو ٿا idf.py ڪمن لاءِ ڪمانڊ. کليل ESP-IDF 4.3 CMD شڪل 4.13 ۾ ڏيکاريل آهي. 44 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

شڪل 4.12. ترقي ماحول نصب
شڪل 4.13. ESP-IDF 4.3 CMD
4.2.3 ميڪ تي ESP-IDF ڊولپمينٽ ماحول قائم ڪرڻ
ميڪ سسٽم تي ESP-IDF ڊولپمينٽ ماحول کي انسٽال ڪرڻ جو عمل لينڪس سسٽم تي ساڳيو آهي. مخزن جي ڪوڊ کي ڊائون لوڊ ڪرڻ ۽ ٽول زنجير کي انسٽال ڪرڻ جا حڪم بلڪل ساڳيا آهن. انحصار پيڪيجز کي نصب ڪرڻ لاء صرف حڪم ٿورو مختلف آهن. 1. انحصار پيڪيجز انسٽال ڪريو ٽرمينل کوليو، ۽ پائپ انسٽال ڪريو، پائٿون پيڪيج مئنيجمينٽ ٽول، ھيٺ ڏنل ڪمانڊ هلائڻ سان.
% sudo آسان انسٽال پائپ
Homebrew انسٽال ڪريو، macOS لاءِ پيڪيج مينيجمينٽ جو اوزار، ھيٺ ڏنل حڪم هلائڻ سان:
%/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
ھيٺ ڏنل حڪم هلائڻ سان گھربل انحصار پيڪيجز کي انسٽال ڪريو:
% brew python3 انسٽال ڪريو cmake ninja ccache dfu-util
2. ڊائون لوڊ ڪريو ESP-IDF مخزن ڪوڊ ڊائون لوڊ ڪرڻ لاءِ سيڪشن 4.2.1 ۾ ڏنل هدايتن تي عمل ڪريو ESP-IDF ريپوزٽري ڪوڊ ڊائون لوڊ ڪرڻ لاءِ. لينڪس سسٽم تي ڊائون لوڊ ڪرڻ لاء قدم ساڳيا آهن.
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 45

3. انسٽال ڪريو ESP-IDF ڊولپمينٽ ٽول چين
سيڪشن 4.2.1 ۾ ڏنل هدايتن تي عمل ڪريو ESP-IDF ڊولپمينٽ ٽول چين کي انسٽال ڪرڻ لاءِ. لينڪس سسٽم تي تنصيب لاءِ قدم ساڳيا آهن.
4.2.4 نصب ڪرڻ VS ڪوڊ
ڊفالٽ طور، ESP-IDF SDK ۾ ڪوڊ ايڊيٽنگ ٽول شامل نه آهي (جيتوڻيڪ Windows لاءِ جديد ESP-IDF انسٽالر ESP-IDF Eclipse انسٽال ڪرڻ جو اختيار پيش ڪري ٿو). توهان ڪوڊ کي ايڊٽ ڪرڻ لاءِ پنهنجي پسند جو ڪو به ٽيڪسٽ ايڊيٽنگ ٽول استعمال ڪري سگهو ٿا ۽ پوءِ ان کي ٽرمينل ڪمانڊ استعمال ڪندي گڏ ڪري سگهو ٿا.
هڪ مشهور ڪوڊ ايڊيٽنگ جو اوزار آهي VS ڪوڊ (Visual Studio Code)، جيڪو هڪ مفت ۽ خصوصيت وارو ڪوڊ ايڊيٽر آهي جيڪو صارف دوست انٽرفيس سان آهي. اهو مختلف پيش ڪري ٿو plugins جيڪي ڪارڪردگي مهيا ڪن ٿيون جهڙوڪ ڪوڊ نيويگيشن، نحو نمايان ڪرڻ، گٽ ورزن ڪنٽرول، ۽ ٽرمينل انٽيگريشن. اضافي طور تي، Espressif ترقي ڪئي آهي هڪ وقف پلگ ان سڏيو ويندو آهي Espressif IDF VS ڪوڊ لاءِ، جيڪو پروجيڪٽ جي ترتيب ۽ ڊيبگنگ کي آسان بڻائي ٿو.
توھان استعمال ڪري سگھوٿا ڪوڊ ڪمانڊ ٽرمينل ۾ جلدي کولڻ لاءِ موجوده فولڊر کي VS ڪوڊ ۾. متبادل طور تي، توھان استعمال ڪري سگھو ٿا شارٽ ڪٽ Ctrl+ سسٽم جي ڊفالٽ ٽرمينل ڪنسول کي کولڻ لاءِ VS ڪوڊ اندر.
TIPS ESP32-C3 ڪوڊ ڊولپمينٽ لاءِ VS ڪوڊ استعمال ڪرڻ جي صلاح ڏني وئي آهي. ڊائون لوڊ ۽ انسٽال ڪريو VS ڪوڊ جو جديد نسخو https://code.visualstudio.com/ تي.
4.2.5 ٽئين پارٽي ڊولپمينٽ ماحول جو تعارف
سرڪاري ESP-IDF ڊولپمينٽ ماحول کان علاوه، جيڪو بنيادي طور تي C ٻولي استعمال ڪري ٿو، ESP32-C3 ٻين مکيه اسٽريم پروگرامنگ ٻولين ۽ ٽئين پارٽي ڊولپمينٽ ماحول جي وسيع رينج کي پڻ سپورٽ ڪري ٿو. ڪجھ قابل ذڪر اختيارن ۾ شامل آھن:
Arduino: هارڊويئر ۽ سافٽ ويئر ٻنهي لاءِ هڪ اوپن سورس پليٽ فارم، ESP32-C3 سميت مختلف مائڪرو ڪنٽرولرز کي سپورٽ ڪري ٿو.
اهو استعمال ڪري ٿو C ++ ٻولي ۽ پيش ڪري ٿو هڪ آسان ۽ معياري API، عام طور تي حوالو ڏنو ويو آهي Arduino ٻولي. Arduino وڏي پيماني تي prototype ترقي ۽ تعليمي مقصدن ۾ استعمال ڪيو ويندو آهي. اهو هڪ وسيع سافٽ ويئر پيڪيج ۽ هڪ IDE مهيا ڪري ٿو جيڪو آسان تاليف ۽ چمڪائڻ جي اجازت ڏئي ٿو.
MicroPython: هڪ Python 3 ٻولي مترجم ٺهيل مائڪرو ڪنٽرولر پليٽ فارمن تي هلائڻ لاءِ ٺهيل آهي.
هڪ سادي اسڪرپٽ ٻولي سان، اهو سڌو سنئون ESP32-C3 جي پردي جي وسيلن تائين رسائي ڪري سگهي ٿو (جهڙوڪ UART، SPI، ۽ I2C) ۽ ڪميونيڪيشن افعال (جهڙوڪ وائي فائي ۽ بلوٽوت LE).
46 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

هي هارڊويئر رابطي کي آسان بڻائي ٿو. MicroPython، Python جي وسيع رياضياتي آپريشن لائبريري سان گڏ، ESP32-C3 تي پيچيده الگورتھم کي لاڳو ڪرڻ جي قابل بنائي ٿو، AI سان لاڳاپيل ايپليڪيشنن جي ترقي کي آسان بڻائي ٿو. رسم الخط جي ٻولي جي طور تي، بار بار تاليف جي ڪا ضرورت ناهي؛ تبديليون ڪري سگھجن ٿيون ۽ اسڪرپٽ سڌو سنئون عمل ڪري سگھجن ٿيون.
NodeMCU: هڪ LUA ٻولي مترجم ESP سيريز چپس لاءِ تيار ڪيو ويو آهي.
اهو ESP چپس جي لڳ ڀڳ سڀني پردي جي ڪمن کي سپورٽ ڪري ٿو ۽ مائڪرو پيٿون کان وڌيڪ روشن آهي. MicroPython سان ملندڙ جلندڙ، NodeMCU هڪ اسڪرپٽ ٻولي استعمال ڪري ٿو، بار بار تاليف جي ضرورت کي ختم ڪندي.
ان کان علاوه، ESP32-C3 پڻ سپورٽ ڪري ٿو NuttX ۽ Zephyr آپريٽنگ سسٽم. NuttX هڪ حقيقي وقت جو آپريٽنگ سسٽم آهي جيڪو POSIX-مطابقت رکندڙ انٽرفيس مهيا ڪري ٿو، ايپليڪيشن پورٽيبلٽي کي وڌائڻ. Zephyr ھڪڙو ننڍڙو حقيقي وقت جو آپريٽنگ سسٽم آھي خاص طور تي IoT ايپليڪيشنن لاءِ ٺاھيو ويو آھي. ان ۾ IoT ڊولپمينٽ ۾ گهربل ڪيتريون ئي سافٽ ويئر لائبريريون شامل آهن، تدريجي طور تي هڪ جامع سافٽ ويئر ايڪو سسٽم ۾ ترقي ڪندي.
هي ڪتاب مٿي بيان ڪيل ترقياتي ماحول لاءِ تفصيلي تنصيب جون هدايتون مهيا نٿو ڪري. توھان پنھنجي ضرورتن جي بنياد تي لاڳاپيل دستاويزن ۽ ھدايتن تي عمل ڪندي ڊولپمينٽ ماحول کي انسٽال ڪري سگھو ٿا.
4.3 ESP-IDF ڪمپليشن سسٽم
4.3.1 تاليف سسٽم جا بنيادي تصور
هڪ ESP-IDF پروجيڪٽ هڪ مکيه پروگرام جو هڪ مجموعو آهي جنهن ۾ داخلا فنڪشن ۽ ڪيترن ئي آزاد فنڪشنل اجزاء شامل آهن. مثال طورampلي، هڪ پروجيڪٽ جيڪو ڪنٽرول ڪري ٿو LED سوئچز بنيادي طور تي هڪ داخلا پروگرام مين ۽ هڪ ڊرائيور جزو آهي جيڪو GPIO کي ڪنٽرول ڪري ٿو. جيڪڏهن توهان LED ريموٽ ڪنٽرول کي محسوس ڪرڻ چاهيو ٿا، توهان کي وائي فائي، TCP/IP پروٽوڪول اسٽيڪ وغيره شامل ڪرڻ جي ضرورت آهي.
تاليف جو نظام گڏ ڪري سگھي ٿو، ڳنڍڻ، ۽ ٺاھڻ واري قابل عمل ٺاھيو files (.bin) ڪوڊ لاءِ بلڊنگ قاعدن جي هڪ سيٽ ذريعي. ESP-IDF v4.0 ۽ مٿين نسخن جو تاليف جو نظام ڊفالٽ طور CMake تي ٻڌل آھي، ۽ تاليف اسڪرپٽ CMakeLists.txt استعمال ڪري سگھجي ٿو ڪوڊ جي تاليف واري رويي کي ڪنٽرول ڪرڻ لاءِ. CMake جي بنيادي نحو کي سپورٽ ڪرڻ کان علاوه، ESP-IDF تاليف جو نظام پڻ ڊفالٽ ڪمپليشن ضابطن ۽ CMake افعال جو هڪ سيٽ بيان ڪري ٿو، ۽ توهان آسان بيانن سان گڏ ڪرڻ واري رسم الخط لکي سگهو ٿا.
4.3.2 پروجيڪٽ File ساخت
پروجيڪٽ هڪ فولڊر آهي جنهن ۾ هڪ داخلا پروگرام مکيه، صارف جي وضاحت ڪيل اجزاء، ۽ fileقابل عمل ايپليڪيشنون ٺاهڻ جي ضرورت آهي، جهڙوڪ تاليف اسڪرپٽ، ترتيب
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 47

files، ورهاڱي جي جدولن، وغيره. پروجيڪٽس کي نقل ڪري سگھجي ٿو ۽ منظور ڪري سگھجي ٿو، ۽ ساڳيا قابل عمل file ESP-IDF ڊولپمينٽ ماحول جي ساڳي ورزن سان مشينن ۾ مرتب ۽ ٺاهي سگھجن ٿيون. هڪ عام ESP-IDF پروجيڪٽ file ساخت تصوير 4.14 ۾ ڏيکاريل آهي.
شڪل 4.14. عام ESP-IDF پروجيڪٽ file ساخت کان وٺي ESP-IDF Espressif کان ڪيترن ئي IoT چپس کي سپورٽ ڪري ٿو، بشمول ESP32، ESP32-S سيريز، ESP32-C سيريز، ESP32-H سيريز، وغيره، ڪوڊ گڏ ڪرڻ کان پهريان هڪ ٽارگيٽ کي طئي ڪرڻ جي ضرورت آهي. ھدف ٻئي هارڊويئر ڊيوائس آھي جيڪو ھلائي ٿو ايپليڪيشن پروگرام ۽ ٺاھڻ واري نظام جو ھدف. توهان جي ضرورتن تي مدار رکندي، توهان پنهنجي منصوبي لاء هڪ يا وڌيڪ هدفن جي وضاحت ڪري سگهو ٿا. مثال طورample، حڪم ذريعي idf.py set-target esp32c3، توھان سيٽ ڪري سگھوٿا تاليف جو ھدف ESP32-C3 تي، جنھن دوران ESP32C3 لاءِ ڊفالٽ پيٽرول ۽ ڪمپليشن ٽول چين جو رستو لوڊ ڪيو ويندو. تاليف کان پوء، ESP32C3 لاء هڪ قابل عمل پروگرام ٺاهي سگهجي ٿو. توھان پڻ ھلائي سگھوٿا ڪمانڊ سيٽ-ٽارگٽ وري ھڪ مختلف ھدف مقرر ڪرڻ لاءِ، ۽ تاليف وارو نظام پاڻمرادو صاف ۽ ترتيب ڏيندو. اجزاء
ESP-IDF ۾ اجزاء ماڊلر ۽ آزاد ڪوڊ يونٽ آهن جيڪي تاليف سسٽم جي اندر منظم ڪيا ويا آهن. اهي فولڊر جي طور تي منظم ڪيا ويا آهن، فولڊر جو نالو ڊفالٽ طرفان جزو جي نالي جي نمائندگي ڪري ٿو. هر جزو کي پنهنجي مرتب ڪيل اسڪرپٽ آهي جيڪا 48 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

ان جي تاليف جي ماپ ۽ انحصار کي بيان ڪري ٿو. تاليف جي عمل دوران، اجزاء الڳ جامد لائبريرين ۾ مرتب ڪيا ويا آهن (.a files) ۽ آخرڪار ٻين اجزاء سان گڏ ايپليڪيشن پروگرام ٺاهڻ لاء.
ESP-IDF ضروري ڪم مهيا ڪري ٿو، جهڙوڪ آپريٽنگ سسٽم، پردي ڊرائيور، ۽ نيٽ ورڪ پروٽوڪول اسٽيڪ، اجزاء جي صورت ۾. اهي اجزاء ESP-IDF روٽ ڊاريڪٽري اندر واقع اجزاء ڊاريڪٽري ۾ محفوظ ٿيل آهن. ڊولپرز کي انهن حصن کي نقل ڪرڻ جي ضرورت ناهي myProject جي اجزاء ڊاريڪٽري ۾. ان جي بدران، انهن کي صرف پروجيڪٽ جي CMakeLists.txt ۾ انهن حصن جي انحصار رشتي کي بيان ڪرڻ جي ضرورت آهي. file REQUIRES يا PRIV_REQUIRES هدايتون استعمال ڪندي. تاليف جو نظام خودڪار طريقي سان ڳوليندو ۽ گهربل اجزاء کي گڏ ڪندو.
تنهن ڪري، myProject تحت اجزاء ڊاريڪٽري ضروري نه آهي. اهو صرف پراجيڪٽ جا ڪجهه ڪسٽم اجزاء شامل ڪرڻ لاءِ استعمال ڪيو ويندو آهي، جيڪي ٿي سگهن ٿيون ٽئين پارٽي لائبريريون يا صارف جو بيان ڪيل ڪوڊ. اضافي طور تي، اجزاء ESP-IDF يا موجوده پروجيڪٽ کان سواء ڪنهن به ڊاريڪٽري مان حاصل ڪري سگھجن ٿيون، جهڙوڪ هڪ اوپن سورس پروجيڪٽ کان ٻي ڊاريڪٽري ۾ محفوظ ٿيل. انهي صورت ۾، توهان کي صرف روٽ ڊاريڪٽري جي تحت CMakeLists.txt ۾ EXTRA_COMPONENT_DIRS متغير ترتيب ڏيندي جزو جو رستو شامل ڪرڻ جي ضرورت آهي. هي ڊاريڪٽري ساڳئي نالي سان ڪنهن به ESP-IDF جزو کي مٿانهون ڪندي، انهي کي يقيني بڻائي ته صحيح جزو استعمال ڪيو ويو آهي.
داخلا پروگرام مکيه مکيه ڊاريڪٽري اندر اندر پروجيڪٽ ساڳيو آهي file ڍانچي ٻين اجزاء وانگر (مثال طور، جزو 1). بهرحال، اهو هڪ خاص اهميت رکي ٿو ڇو ته اهو هڪ لازمي جزو آهي جيڪو هر منصوبي ۾ موجود هجڻ گهرجي. مکيه ڊاريڪٽري ۾ شامل آهي پروجيڪٽ جو سورس ڪوڊ ۽ صارف پروگرام جي داخلا پوائنٽ، عام طور تي نالو app_main. ڊفالٽ طور، صارف پروگرام جي عمل کي هن داخلا پوائنٽ کان شروع ٿئي ٿو. مکيه جزو پڻ مختلف آهي ته اهو خودڪار طريقي سان سڀني اجزاء تي منحصر آهي ڳولا جي رستي ۾. تنهن ڪري، CMakeLists.txt ۾ REQUIRES يا PRIV_REQUIRES هدايتون استعمال ڪندي انحصار کي واضح طور تي ظاهر ڪرڻ جي ڪا ضرورت ناهي. file.
ٺاھ جوڙ file پروجيڪٽ جي روٽ ڊاريڪٽري ۾ هڪ ترتيب شامل آهي file سڏيو ويندو آهي sdkconfig، جنهن ۾ منصوبي جي اندر سڀني اجزاء لاء ترتيب جي ماپ شامل آهن. sdkconfig file خود بخود ٺاھڻ واري نظام پاران ٺاھيو ويو آھي ۽ ڪمانڊ idf.py menuconfig ذريعي تبديل ۽ ٻيهر پيدا ڪري سگھجي ٿو. Menuconfig جا اختيار خاص طور تي پروجيڪٽ جي Kconfig.projbuild ۽ اجزاء جي Kconfig مان نڪرندا آهن. اجزاء ڊولپرز عام طور تي ڪنفيگريشن شيون شامل ڪندا آھن ڪنفيگريشن ۾ جزو کي لچڪدار ۽ ترتيب ڏيڻ لاءِ.
ٺاھيو ڊاريڪٽري ڊفالٽ طور، تعمير ڊاريڪٽري اندر پروجيڪٽ اسٽورن وچ ۾ fileايس ۽ فائي-
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 49

nal ايگزيڪيوٽو پروگرام idf.py تعمير ڪمانڊ پاران ٺاهيل. عام طور تي، اهو ضروري ناهي ته سڌو سنئون ڊاريڪٽري جي مواد تائين رسائي. ESP-IDF ڊاريڪٽري سان رابطو ڪرڻ لاءِ اڳواٽ بيان ڪيل ڪمانڊ مهيا ڪري ٿو، جيئن ته idf.py فليش ڪمانڊ استعمال ڪندي پاڻمرادو ترتيب ڏنل بائنري کي ڳولڻ لاءِ file ۽ ان کي مخصوص فليش ايڊريس تي فليش ڪريو، يا idf.py fullclean ڪمانڊ استعمال ڪندي پوري بلڊ ڊاريڪٽري کي صاف ڪرڻ لاءِ.
ورهاڱي واري ٽيبل (partitions.csv) هر پروجيڪٽ کي فليش جي اسپيس کي ورهائڻ لاءِ هڪ ورهاڱي واري ٽيبل جي ضرورت هوندي آهي ۽ ايگزيڪيوٽو پروگرام جي سائيز ۽ شروعاتي ايڊريس ۽ يوزر ڊيٽا اسپيس جي وضاحت ڪرڻ لاءِ. ڪمانڊ idf.py فليش يا OTA اپڊيٽ پروگرام هن ٽيبل جي مطابق لاڳاپيل ايڊريس تي فرم ویئر کي چمڪيندو. ESP-IDF ڪيترن ئي ڊفالٽ ورهاڱي واري ٽيبل مهيا ڪري ٿو components/ partition_table ۾، جهڙوڪ partitions_singleapp.csv ۽ partitions_two_ ota.csv، جن کي مينيو ترتيب ۾ چونڊيو وڃي ٿو.
جيڪڏهن سسٽم جي ڊفالٽ ورهاڱي واري ٽيبل پروجيڪٽ جي گهرجن کي پورو نه ڪري سگهي، هڪ ڪسٽم partitions.csv پروجيڪٽ ڊاريڪٽري ۾ شامل ڪري سگھجي ٿو ۽ مينيو ترتيب ۾ چونڊيو وڃي.
4.3.3 ترتيب ڏيڻ واري نظام جا ڊفالٽ بلڊ قاعدا
ساڳئي نالي سان اجزاء کي ختم ڪرڻ لاء ضابطا اجزاء جي ڳولا جي عمل دوران، تاليف سسٽم هڪ مخصوص حڪم جي پيروي ڪري ٿو. اهو پهريون ڀيرو ESP-IDF جي اندروني حصن کي ڳولي ٿو، پوء صارف پروجيڪٽ جي اجزاء کي ڳولي ٿو، ۽ آخرڪار EXTRA_COMPONENT_DIRS ۾ اجزاء جي ڳولا ڪري ٿو. صورتن ۾ جتي ڪيترن ئي ڊائريڪٽرن ۾ ساڳي نالي سان اجزاء شامل آهن، آخري ڊاريڪٽري ۾ مليل جزو ساڳئي نالي سان ڪنهن به اڳوڻي اجزاء کي ختم ڪري ڇڏيندو. هي قاعدو صارف پروجيڪٽ جي اندر ESP-IDF اجزاء جي ڪسٽمائيزيشن جي اجازت ڏئي ٿو، جڏهن ته اصل ESP-IDF ڪوڊ برقرار رکندي.
عام حصن کي ڊفالٽ طور شامل ڪرڻ لاءِ ضابطا جيئن سيڪشن 4.3.2 ۾ بيان ڪيو ويو آهي، اجزاء کي واضح طور تي CMakeLists.txt ۾ ٻين اجزاء تي انهن جي انحصار کي واضح ڪرڻ جي ضرورت آهي. بهرحال، عام جزا جهڙوڪ فريٽروس پاڻمرادو ٺاهيل سسٽم ۾ ڊفالٽ طور شامل ڪيا ويندا آهن، جيتوڻيڪ انهن جي انحصار جي رشتن کي تاليف اسڪرپٽ ۾ واضح طور تي بيان نه ڪيو ويو آهي. ESP-IDF عام حصن ۾ شامل آهن freertos، Newlib، heap، log، soc، esp_rom، esp_common، xtensa/riscv، ۽ cxx. انهن عام اجزاء کي استعمال ڪندي بار بار ڪم کان بچي ٿو جڏهن لکڻ CMakeLists.txt ۽ ان کي وڌيڪ جامع ٺاهيو.
ڪنفيگريشن آئٽمز کي اوور رائيڊ ڪرڻ لاءِ ضابطا ڊولپرز ڊفالٽ ڪنفيگريشن شامل ڪندي ڊفالٽ ڪنفيگريشن پيٽرولر شامل ڪري سگھن ٿا file نالو sdkconfig.defaults منصوبي کي. مثال طورample، CONFIG_LOG_ شامل ڪرڻ
50 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

DEFAULT_LEVEL_NONE = y ترتيب ڏئي سگھي ٿو UART انٽرفيس کي ڊفالٽ طور لاگ ڊيٽا پرنٽ نه ڪرڻ لاءِ. ان کان علاوه، جيڪڏهن مخصوص پيٽرولر کي مقرر ڪرڻ جي ضرورت آهي هڪ خاص حدف لاء، هڪ ترتيب file نالو sdkconfig.defaults.TARGET_NAME شامل ڪري سگھجي ٿو، جتي TARGET_NAME ٿي سگھي ٿو esp32s2، esp32c3، وغيره. اهي ترتيب files تاليف دوران sdkconfig ۾ درآمد ڪيا ويا آھن، عام ڊفالٽ ترتيب سان file sdkconfig.defaults پهرين درآمد ڪئي پئي وڃي، بعد ۾ ٽارگيٽ مخصوص تشڪيل file، جهڙوڪ sdkconfig.defaults.esp32c3. ڪيسن ۾ جتي ساڳي نالي سان ترتيب ڏيڻ واريون شيون آهن، بعد ۾ ترتيب ڏنل file اڳوڻي کي ختم ڪندو.
4.3.4 تاليف واري اسڪرپٽ جو تعارف
جڏهن ESP-IDF استعمال ڪندي هڪ پروجيڪٽ ٺاهيندي، ڊولپرز کي نه رڳو ماخذ ڪوڊ لکڻ جي ضرورت آهي پر پروجيڪٽ ۽ اجزاء لاءِ CMakeLists.txt پڻ لکڻ جي ضرورت آهي. CMakeLists.txt هڪ متن آهي file، پڻ هڪ تاليف اسڪرپٽ جي طور تي سڃاتو وڃي ٿو، جيڪو ترتيب ڏيڻ واري شين جو هڪ سلسلو بيان ڪري ٿو، تاليف جي ترتيب واري شيون، ۽ ماخذ ڪوڊ جي تاليف جي عمل جي رهنمائي ڪرڻ لاء حڪم. ESP-IDF v4.3.2 جو تاليف سسٽم CMake تي ٻڌل آهي. اصلي CMake افعال ۽ حڪمن کي سپورٽ ڪرڻ کان علاوه، اهو پڻ ڪسٽم افعال جو هڪ سلسلو بيان ڪري ٿو، ان کي ترتيب ڏيڻ واري اسڪرپٽ لکڻ ۾ تمام آسان بڻائي ٿو.
ESP-IDF ۾ تاليف اسڪرپٽ بنيادي طور تي شامل آهن پروجيڪٽ جي تاليف اسڪرپٽ ۽ جزو جي تاليف لکت. پروجيڪٽ جي روٽ ڊاريڪٽري ۾ CMakeLists.txt کي سڏيو ويندو آهي پروجيڪٽ جي تاليف اسڪرپٽ، جيڪو سڄي منصوبي جي تاليف جي عمل کي هدايت ڪري ٿو. هڪ بنيادي پروجيڪٽ جي تاليف اسڪرپٽ ۾ عام طور تي هيٺيان ٽي لائين شامل آهن:
1. cmake_minimum_required(VERSION 3.5) 2. شامل ڪريو($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. پروجيڪٽ(myProject)
انھن مان، cmake_minimum_required (VERSION 3.5) کي پھرين لڪير تي رکڻ گھرجي، جيڪو پروجيڪٽ جي گھربل گھٽ ۾ گھٽ CMake ورجن نمبر کي ظاھر ڪرڻ لاءِ استعمال ڪيو ويندو آھي. CMake جا نوان ورجن عام طور تي پراڻن ورزن سان پسمانده مطابقت رکن ٿا، تنھنڪري مطابقت کي يقيني بڻائڻ لاءِ نوان CMake ڪمانڊ استعمال ڪرڻ وقت ورجن نمبر مطابق ترتيب ڏيو.
شامل ڪريو ($ENV {IDF_PATH}/tools/cmake/project.cmake) ESP-IDF ڪمپيليشن سسٽم جا اڳ ۾ بيان ڪيل ترتيب وار شيون ۽ ڪمانڊ درآمد ڪري ٿو، بشمول سيڪشن 4.3.3 ۾ بيان ڪيل ڪمپليشن سسٽم جا ڊفالٽ بلڊ قاعدا. پروجيڪٽ (myProject) پروجيڪٽ پاڻ ٺاهي ٿو ۽ ان جو نالو بيان ڪري ٿو. هي نالو فائنل آئوٽ بائنري طور استعمال ڪيو ويندو file نالو، يعني، myProject.elf ۽ myProject.bin.
ھڪڙي منصوبي جا ڪيترائي حصا ٿي سگھن ٿا، جن ۾ مکيه جزو شامل آھي. هر جزو جي اعلي سطحي ڊاريڪٽري ۾ هڪ CMakeLists.txt شامل آهي file، جنهن کي اجزاء جي تاليف اسڪرپٽ سڏيو ويندو آهي. اجزاء جي تاليف اسڪرپٽ خاص طور تي استعمال ڪيا ويا آھن اجزاء جي انحصار کي بيان ڪرڻ لاء، ترتيب جي ماپ، ماخذ ڪوڊ files، ۽ شامل هيڊر fileجي لاءِ
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 51

تاليف. ESP-IDF جي ڪسٽم فنڪشن idf_component_register سان، جزوي ترتيب ڏيڻ واري اسڪرپٽ لاءِ گهٽ ۾ گهٽ گهربل ڪوڊ هن ريت آهي:

1. idf_component_register(SRCS “src1.c”

2.

INCLUDE_DIRS "شامل"

3.

اجزاء جي ضرورت آهي 1)

SRCS پيٽرولر مهيا ڪري ٿو ذريعن جي هڪ فهرست files جزو ۾، خالن سان الڳ ٿيل جيڪڏھن گھڻا آھن fileايس. INCLUDE_DIRS پيٽرولر مهيا ڪري ٿو عوامي هيڊر جي هڪ فهرست file جزو لاءِ ڊائريڪٽريون، جن کي شامل ڪيو ويندو شامل ڪيل ڳولا جي رستي ٻين اجزاء لاءِ جيڪي موجوده جزو تي ڀاڙين ٿا. REQUIRES پيٽرولر موجوده جزو لاءِ عوامي جزو جي انحصار کي سڃاڻي ٿو. اجزاء لاءِ ضروري آھي ته واضح طور تي بيان ڪن ته اھي ڪھڙين جزن تي ڀاڙين ٿا، جھڙوڪ component2 component1 تي منحصر آھي. جڏهن ته، مکيه جزو لاء، جيڪو ڊفالٽ جي سڀني حصن تي منحصر هوندو آهي، گهربل پيٽرولر کي ختم ڪري سگهجي ٿو.

ان کان علاوه، اصلي CMake ڪمانڊ پڻ استعمال ڪري سگھجن ٿيون تاليف اسڪرپٽ ۾. مثال طورample، متغيرن کي سيٽ ڪرڻ لاءِ ڪمانڊ سيٽ استعمال ڪريو، جھڙوڪ set(VARIABLE “VALUE”).

4.3.5 عام حڪمن جو تعارف
ESP-IDF ڪوڊ گڏ ڪرڻ جي عمل ۾ CMake (پروجيڪٽ ڪنفيگريشن ٽول)، ننجا (پروجيڪٽ بلڊنگ ٽول) ۽ esptool (فليش ٽول) استعمال ڪري ٿو. هر اوزار تاليف، تعمير، ۽ فليش عمل ۾ مختلف ڪردار ادا ڪري ٿو، ۽ مختلف آپريٽنگ حڪمن کي پڻ سپورٽ ڪري ٿو. صارف جي آپريشن کي آسان ڪرڻ لاء، ESP-IDF هڪ متحد فرنٽ-آخر idf.py شامل ڪري ٿو جيڪا مٿين حڪمن کي جلدي سڏڻ جي اجازت ڏئي ٿي.
idf.py استعمال ڪرڻ کان اڳ، پڪ ڪريو ته:
· ESP-IDF جو ماحولي تبديلي IDF_PATH موجوده ٽرمينل ۾ شامل ڪيو ويو آهي. · ڪمانڊ ايگزيڪيوشن ڊاريڪٽري پروجيڪٽ جي روٽ ڊاريڪٽري آهي، جنهن ۾ شامل آهي
پروجيڪٽ جي تاليف اسڪرپٽ CMakeLists.txt.
idf.py جا عام حڪم هن ريت آهن:
· idf.py -help: حڪمن جي فهرست ۽ انهن جي استعمال جون هدايتون ڏيکاريندي. · idf.py سيٽ ٽارگيٽ : ترتيب ڏيڻ taidf.py fullcleanrget، جيئن
متبادل طور تي esp32c3 سان. · idf.py menuconfig: شروع ڪرڻ menuconfig، هڪ ٽرمينل گرافڪ ترتيب
اوزار، جيڪو ترتيب ڏيڻ جي اختيارن کي منتخب يا تبديل ڪري سگھي ٿو، ۽ ترتيبن جا نتيجا sdkconfig ۾ محفوظ ڪيا ويا آھن. file. · idf.py تعمير: ڪوڊ گڏ ڪرڻ جي شروعات. وچڙندڙ files ۽ تاليف پاران تيار ڪيل حتمي قابل عمل پروگرام ڊفالٽ طور منصوبي جي بلڊ ڊاريڪٽري ۾ محفوظ ڪيو ويندو. تاليف جو عمل وڌندڙ آهي، جنهن جو مطلب آهي ته جيڪڏهن صرف هڪ ذريعو file تبديل ٿيل آهي، صرف تبديل ٿيل file ايندڙ وقت مرتب ڪيو ويندو.

52 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

· idf.py صاف: وچولي کي صاف ڪرڻ files پروجيڪٽ جي تاليف جي ذريعي ٺاهي وئي. سڄي منصوبي کي ايندڙ تاليف ۾ گڏ ڪرڻ تي مجبور ڪيو ويندو. نوٽ ڪريو ته CMake ٺاھ جوڙ ۽ مينيو ڪنفگريشن پاران ڪيل ترتيبن جي ترميمن کي صاف ڪرڻ دوران ختم نه ڪيو ويندو.
· idf.py fullclean: مڪمل بلڊ ڊاريڪٽري کي حذف ڪرڻ، بشمول سڀ CMake ترتيب جي پيداوار fileايس. جڏهن منصوبي کي ٻيهر تعمير ڪندي، سي ايمڪ منصوبي کي شروع کان ترتيب ڏيندو. مهرباني ڪري نوٽ ڪريو ته هي حڪم recursively سڀ ختم ڪندو files تعمير ڊاريڪٽري ۾، تنهنڪري ان کي احتياط سان استعمال ڪريو، ۽ پروجيڪٽ جي ترتيب سان file حذف نه ڪيو ويندو.
· idf.py فليش: ايگزيڪيوٽو پروگرام بائنري کي چمڪائڻ file ھدف ESP32-C3 تي تعمير ذريعي ٺاھيو ويو. اختيارن - پي ۽ -ب سيريل پورٽ جي ڊيوائس جو نالو مقرر ڪرڻ لاءِ استعمال ڪيو ويندو آهي ۽ بالترتيب چمڪائڻ لاءِ بيڊ ريٽ. جيڪڏهن اهي ٻه اختيار بيان نه ڪيا ويا آهن، سيريل پورٽ خودڪار طريقي سان ڳولي ويندي ۽ ڊفالٽ بڊ جي شرح استعمال ڪئي ويندي.
· idf.py مانيٽر: ٽارگيٽ ESP32-C3 جي سيريل پورٽ آئوٽ کي ڏيکاريندي. آپشن -p استعمال ڪري سگھجي ٿو ھوسٽ سائڊ سيريل پورٽ جي ڊوائيس جو نالو بيان ڪرڻ لاءِ. سيريل پورٽ پرنٽنگ دوران، مانيٽر مان نڪرڻ لاءِ ڪيئي ميلاپ Ctrl+] کي دٻايو.
مٿي ڏنل حڪمن کي به ضرورت مطابق گڏ ڪري سگھجي ٿو. مثال طورample، ڪمانڊ idf.py تعمير فليش مانيٽر ڪوڊ گڏ ڪرڻ، فليش ڪندو، ۽ سيريل پورٽ مانيٽر کي ترتيب ۾ کوليو.
توھان دورو ڪري سگھو ٿا https://bookc3.espressif.com/build-system ESP-IDF تاليف سسٽم بابت وڌيڪ ڄاڻڻ لاء.
4.4 مشق: مرتب ڪرڻ Exampلي پروگرام "پلڪ"
4.4.1 سابقampتجزيو
هي سيڪشن پروگرام Blink کي اڳ ۾ وٺي ويندوampجو تجزيو ڪرڻ لاءِ file تفصيل سان حقيقي منصوبي جي جوڙجڪ ۽ ڪوڊنگ ضابطن. بلڪ پروگرام ايل اي ڊي بلڪنگ اثر کي لاڳو ڪري ٿو، ۽ پروجيڪٽ ڊاريڪٽري ۾ واقع آهي اڳوڻيamples/get-started/blink، جنهن ۾ هڪ ذريعو آهي file، تشڪيل files، ۽ ڪيترائي تاليف اسڪرپٽ.
هن ڪتاب ۾ متعارف ٿيل سمارٽ لائٽ پروجيڪٽ هن اڳوڻي تي ٻڌل آهيampلي پروگرام. آخر ۾ مڪمل ڪرڻ لاءِ ڪم ايندڙ بابن ۾ بتدريج شامل ڪيا ويندا.
ماخذ ڪوڊ سڄي ترقي جي عمل کي ظاهر ڪرڻ لاء، بلڪ پروگرام کي نقل ڪيو ويو آهي esp32c3-iot-projects/device firmware/1 blink.
بلڪ پروجيڪٽ جي ڊاريڪٽري جي جوڙجڪ files شڪل 4.15 ۾ ڏيکاريل آھي.
بلڪ پروجيڪٽ صرف هڪ مکيه ڊاريڪٽري تي مشتمل آهي، جيڪو هڪ خاص جزو آهي
باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 53

شڪل 4.15. File بلڪ پروجيڪٽ جي ڊاريڪٽري جي جوڙجڪ

شامل ڪيو وڃي جيئن سيڪشن 4.3.2 ۾ بيان ڪيو ويو آهي. مکيه ڊاريڪٽري خاص طور تي app_main() فنڪشن کي لاڳو ڪرڻ لاء استعمال ڪيو ويندو آهي، جيڪو صارف پروگرام ۾ داخل ٿيڻ جو نقطو آهي. بلڪ پروجيڪٽ ۾ اجزاء ڊاريڪٽري شامل نه آهي، ڇاڪاڻ ته هي اڳوڻيample صرف انهن اجزاء کي استعمال ڪرڻ جي ضرورت آهي جيڪي ESP-IDF سان ايندا آهن ۽ اضافي اجزاء جي ضرورت ناهي. Blink پروجيڪٽ ۾ شامل ڪيل CMakeLists.txt استعمال ڪيو ويندو آهي تاليف جي عمل جي رهنمائي ڪرڻ لاء، جڏهن ته Kconfig.projbuild استعمال ڪيو ويندو آهي ترتيب واري شيون شامل ڪرڻ لاء هن اڳوڻيample پروگرام menuconfig ۾. ٻيا غير ضروري files ڪوڊ جي تاليف تي اثر انداز نه ڪندو، تنهنڪري انهن تي هتي بحث نه ڪيو ويندو. بلڪ پروجيڪٽ جو تفصيلي تعارف files هن ريت آهي.

1. /*blink.c ۾ هيٺيون هيڊر شامل آهي fileس*/

2. #شامل

// معياري سي لائبريري هيڊر file

3. # "freertos/freeRTOS.h" //FreeRTOS مکيه هيڊر شامل ڪريو file

4. # "freertos/task.h" شامل ڪريو

// FreeRTOS ٽاسڪ هيڊر file

5. # "sdkconfig.h" شامل ڪريو

// ڪنفيگريشن هيڊر file kconfig پاران ٺاهيل

6. #شامل "ڊرائيور/gpio.h"

// GPIO ڊرائيور هيڊر file

ذريعو file blink.c هيڊر جي هڪ سيريز تي مشتمل آهي fileفنڪشن جي اعلان سان لاڳاپيل آهي-

شيون. ESP-IDF عام طور تي معياري لائبريري هيڊر شامل ڪرڻ جي حڪم جي پيروي ڪري ٿو fileايس، فري آر-

TOS هيڊر files، ڊرائيور هيڊر files، ٻيو حصو هيڊر files، ۽ پروجيڪٽ هيڊر files.

ترتيب جنهن ۾ هيڊر files شامل آهن حتمي تاليف جي نتيجن کي متاثر ڪري سگھي ٿو، تنهنڪري ڪوشش ڪريو

ڊفالٽ ضابطن جي تابعداري ڪريو. اهو نوٽ ڪيو وڃي ٿو ته sdkconfig.h خودڪار طريقي سان ٺاهي وئي آهي

kconfig ذريعي ۽ صرف ترتيب ڏئي سگھجي ٿو idf.py menuconfig حڪم ذريعي.

هن هيڊر جي سڌي تبديلي file اوور رائٽ ڪيو ويندو.

1. /*توهان idf.py menuconfig ۾ LED سان لاڳاپيل GPIO چونڊي سگهو ٿا، ۽ menuconfig جي تبديلي جو نتيجو اهو آهي ته CONFIG_BLINK جي قدر

_GPIO تبديل ڪيو ويندو. توھان پڻ سڌو ڪري سگھوٿا ميڪرو تعريف کي تبديل ڪريو

هتي، ۽ CONFIG_BLINK_GPIO کي هڪ مقرر ڪيل قدر ۾ تبديل ڪريو.*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO

3. void app_main (void)

4. {

5.

/* IO کي GPIO ڊفالٽ فنڪشن جي طور تي ترتيب ڏيو، پل اپ موڊ کي فعال ڪريو، ۽

6.

ان پٽ ۽ آئوٽ پٽ موڊس کي بند ڪريو*/

7.

gpio_reset_pin(BLINK_GPIO)؛

54 ESP32-C3 وائرليس ايڊونچر: IoT لاءِ هڪ جامع گائيڊ

8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. }

/*GPIO کي آئوٽ پُٽ موڊ تي سيٽ ڪريو*/ GPIO_set_direction(BLINK_GPIO، GPIO_MODE_OUTPUT)؛ جڏهن ته (1) {
/*پرنٽ لاگ*/ printf ("LEDn کي بند ڪرڻ")؛ /*ايل اي ڊي بند ڪريو (آئوٽ پُٽ گھٽ سطح)*/ gpio_set_level(BLINK_GPIO, 0)؛ /*تاخير (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS)؛ printf ("LEDn کي چالو ڪرڻ")؛ /* LED آن ڪريو (آئوٽ پُٽ اعليٰ سطح)*/ gpio_set_level(BLINK_GPIO، 1)؛ vTaskDelay(1000 / portTICK_PERIOD_MS)؛ }

app_main() فنڪشن Blink exampلي پروگرام صارف پروگرامن لاءِ داخلا پوائنٽ طور ڪم ڪري ٿو. اهو هڪ سادي فنڪشن آهي جنهن ۾ ڪو به پيٽرول ۽ واپسي جي قيمت ناهي. سسٽم جي شروعات مڪمل ٿيڻ کان پوءِ هن فنڪشن کي سڏيو ويندو آهي، جنهن ۾ ڪم شامل آهن جهڙوڪ لاگ سيريل پورٽ کي شروع ڪرڻ، سنگل/ڊبل ڪور کي ترتيب ڏيڻ، ۽ واچ ڊاگ کي ترتيب ڏيڻ.

app_main() فنڪشن هڪ ڪم جي حوالي سان هلندو آهي main نالي. هن ڪم جي اسٽيڪ سائيز ۽ ترجيح کي ترتيب ڏئي سگھجي ٿو menuconfig Componentconfig Common ESP سان لاڳاپيل.

سادي ڪمن لاءِ جيئن ايل اي ڊي کي چمڪائڻ، سڀ ضروري ڪوڊ لاڳو ڪري سگھجن ٿا سڌو app_main() فنڪشن ۾. اهو عام طور تي LED سان لاڳاپيل GPIO کي شروع ڪرڻ ۽ LED کي آن ۽ آف ڪرڻ لاءِ ڪجهه دير (1) لوپ استعمال ڪرڻ شامل آهي. متبادل طور تي، توھان استعمال ڪري سگھو ٿا FreeRTOS API ھڪڙو نئون ڪم ٺاھڻ لاءِ جيڪو ھٿ ڪري ٿو LED چمڪندڙ. هڪ دفعو نئون ڪم ڪاميابي سان ٺاهيو ويو آهي، توهان ٻاهر نڪري سگهو ٿا app_main() فنڪشن.

main/CMakeLists.txt جو مواد file، جيڪو بنيادي جزو لاءِ تاليف جي عمل کي ھدايت ڪري ٿو، ھيٺ ڏنل آھي:

1. idf_component_register (SRCS "blink.c" شامل ڪريو_DIRS "." )

انهن مان، main/CMakeLists.txt صرف هڪ تاليف سسٽم فنڪشن کي سڏيندو آهي، اهو آهي idf_component_register. ٻين حصن لاءِ CMakeLists.txt وانگر، blink.c SRCS ۾ شامل ڪيو ويو آهي، ۽ ذريعو fileSRCS ۾ شامل ڪيو ويندو مرتب ڪيو ويندو. ساڳئي وقت، "."، جيڪو رستو ڏيکاري ٿو جتي CMakeLists.txt واقع آهي، کي INCLUDE_DIRS ۾ شامل ڪيو وڃي جيئن هيڊر لاءِ ڳولا ڊائريڪٽري fileايس. CMakeLists.txt جو مواد هن ريت آهي:
1. #Specify v3.5 کي موجوده پراجيڪٽ پاران سپورٽ ڪيل پراڻو CMake ورجن 2. #V3.5 کان گھٽ ورزن کي اپ گريڊ ڪرڻ لازمي آھي ان کان اڳ جو ڪمپليشن جاري رھي 3. cmake_minimum_required(VERSION 3.5) 4. #ESP جي ڊفالٽ CMake ترتيب شامل ڪريو -IDF تاليف جو نظام

باب 4. ڊولپمينٽ ماحول کي ترتيب ڏيڻ 55

شامل ڪريو
انهن ۾، CMakeLists.txt روٽ ڊاريڪٽري ۾ شامل آهي بنيادي طور تي $ENV{IDF_ PATH}/tools/cmake/project.cmake، جيڪو مکيه CMake ترتيب آهي file ESP-IDF پاران مهيا ڪيل. اهو استعمال ڪيو ويندو آهي conf

دستاويز / وسيلا

ايسپريسف سسٽم ESP32-C3 وائرليس ايڊونچر [pdf] استعمال ڪندڙ ھدايت
ESP32-C3 وائرليس ايڊونچر, ESP32-C3, وائرليس ايڊونچر, ايڊونچر

حوالو

تبصرو ڇڏي ڏيو

توهان جو اي ميل پتو شايع نه ڪيو ويندو. گهربل فيلڊ نشان لڳل آهن *