ESP32-C3 Wireless Adventure

ESP32-C3 Wireless Adventure

Upangiri Wathunthu wa IoT

Espressif Systems June 12, 2023

Zofotokozera

  • Zogulitsa: ESP32-C3 Wireless Adventure
  • Wopanga: Espressif Systems
  • Tsiku: Juni 12, 2023

Malangizo Ogwiritsira Ntchito Zogulitsa

Kukonzekera

Musanagwiritse ntchito ESP32-C3 Wireless Adventure, onetsetsani kuti muli
wodziwa bwino malingaliro ndi kamangidwe ka IoT. Izi zidzathandiza
mumamvetsetsa momwe chipangizocho chikulowera mu chilengedwe chachikulu cha IoT
ndi zomwe zingagwiritsidwe ntchito m'nyumba zanzeru.

Kuyambitsa ndi Kuchita kwa IoT Projects

Mugawoli, muphunzira zama projekiti wamba a IoT,
kuphatikiza ma module oyambira pazida wamba za IoT, ma module oyambira
ya mapulogalamu a kasitomala, ndi nsanja zamtambo za IoT. Izi zidzatero
kukupatsirani maziko omvetsetsa ndikupanga anu
ma projekiti anu a IoT.

Kuchita: Smart Light Project

Mu ntchito yoyeserera iyi, muphunzira kupanga anzeru
kuwala pogwiritsa ntchito ESP32-C3 Wireless Adventure. Kapangidwe ka polojekiti,
ntchito, kukonzekera hardware, ndi chitukuko ndondomeko adzakhala
anafotokoza mwatsatanetsatane.

Kapangidwe ka Ntchito

Ntchitoyi imakhala ndi zigawo zingapo, kuphatikizapo
ESP32-C3 Wireless Adventure, ma LED, masensa, ndi mtambo
kumbuyo.

Ntchito za Project

Pulojekiti yanzeru yowunikira imakupatsani mwayi wowongolera kuwala ndi
mtundu wa ma LED patali kudzera pa pulogalamu yam'manja kapena web
mawonekedwe.

Kukonzekera kwa Hardware

Kuti mukonzekere polojekitiyi, muyenera kusonkhanitsa ma
zofunikira za hardware, monga ESP32-C3 Wireless
Gulu la Adventure, ma LED, resistors, ndi magetsi.

Njira Yachitukuko

Njira yachitukuko imaphatikizapo kukhazikitsa chitukuko
chilengedwe, kulemba kachidindo kuwongolera ma LED, kulumikiza ku
cloud backend, ndikuyesa magwiridwe antchito anzeru
kuwala.

Chiyambi cha ESP RainMaker

ESP RainMaker ndi chimango champhamvu chopangira IoT
zipangizo. Mu gawoli, muphunzira zomwe ESP RainMaker ndi
momwe angakwaniritsire ntchito zanu.

Kodi ESP RainMaker ndi chiyani?

ESP RainMaker ndi nsanja yozikidwa pamtambo yomwe imapereka seti ya
zida ndi ntchito zomanga ndi kuyang'anira zida za IoT.

Kukhazikitsidwa kwa ESP RainMaker

Chigawochi chikufotokozera zigawo zosiyanasiyana zomwe zikukhudzidwa
kukhazikitsa ESP RainMaker, kuphatikiza ntchito yodzinenera,
RainMaker Agent, cloud backend, ndi RainMaker Client.

Yesani: Mfundo Zofunikira Kuti Mukulitse ndi ESP RainMaker

Mu gawo ili mchitidwe, muphunzira za mfundo zofunika
ganizirani mukamapanga ndi ESP RainMaker. Izi zikuphatikizapo chipangizo
kufuna, kulunzanitsa deta, ndi kasamalidwe ka ogwiritsa ntchito.

Mawonekedwe a ESP RainMaker

ESP RainMaker imapereka mawonekedwe osiyanasiyana pakuwongolera ogwiritsa ntchito, kumapeto
ogwiritsa, ndi oyang'anira. Izi zimathandiza kuti chipangizo chikhale chosavuta
kukhazikitsa, kuyang'anira kutali, ndi kuyang'anira.

Kukhazikitsa Development Development

Chigawo ichi chimapereka chowonjezeraview ESP-IDF (Espressif IoT
Development Framework), yomwe ndi dongosolo lachitukuko lovomerezeka
pazida za ESP32. Imafotokoza mitundu yosiyanasiyana ya
ESP-IDF ndi momwe mungakhazikitsire malo achitukuko.

Kukula kwa Hardware ndi Driver

Mapangidwe a Hardware a Smart Light Products kutengera ESP32-C3

Chigawochi chimayang'ana kwambiri za kapangidwe ka hardware ka kuwala kwanzeru
zopangidwa kuchokera ku ESP32-C3 Wireless Adventure. Zimakwirira
mawonekedwe ndi kapangidwe kazinthu zamagetsi zamagetsi, komanso ma
kapangidwe ka hardware ka ESP32-C3 core system.

Mawonekedwe ndi Mapangidwe a Smart Light Products

Ndime iyi ikufotokoza zinthu ndi zigawo zomwe zimapanga
onjezerani zinthu zanzeru zowunikira. Imakambirana magwiridwe antchito osiyanasiyana
ndi malingaliro opanga kupanga magetsi anzeru.

Mapangidwe a Hardware a ESP32-C3 Core System

Mapangidwe a hardware a ESP32-C3 core system amaphatikiza mphamvu
kupereka, kutsata mphamvu, kukonzanso dongosolo, kung'anima kwa SPI, gwero la wotchi,
ndi kulingalira kwa RF ndi mlongoti. Ndime iyi imapereka
zambiri pa mbali izi.

FAQ

Q: Kodi ESP RainMaker ndi chiyani?

A: ESP RainMaker ndi nsanja yochokera pamtambo yomwe imapereka zida
ndi ntchito zomanga ndi kuyang'anira zida za IoT. Zimakhala zosavuta
njira yachitukuko ndikuloleza kukhazikitsidwa kosavuta kwa chipangizo, kutali
kuwongolera, ndi kuyang'anira.

Q: Ndingakhazikitse bwanji malo otukuka
ESP32-C3?

A: Kuti mukhazikitse malo otukuka a ESP32-C3, muyenera
kukhazikitsa ESP-IDF (Espressif IoT Development Framework) ndi
sinthani molingana ndi malangizo omwe aperekedwa. ESP-IDF ndiye
dongosolo lachitukuko lazida za ESP32.

Q: Kodi mawonekedwe a ESP RainMaker ndi ati?

A: ESP RainMaker imapereka zinthu zosiyanasiyana, kuphatikiza wogwiritsa ntchito
kasamalidwe, mawonekedwe a ogwiritsa ntchito kumapeto, ndi mawonekedwe a admin. Kasamalidwe ka ogwiritsa ntchito
imalola kudandaula kosavuta kwa chipangizo ndi kulunzanitsa deta. Wogwiritsa ntchito
zida zimathandizira kuwongolera kutali kwa zida kudzera pa pulogalamu yam'manja kapena
web mawonekedwe. Zoyang'anira zida zimapereka zida zowunikira zida
ndi kasamalidwe.

ESP32-C3 Wireless Adventure
Upangiri Wathunthu wa IoT
Espressif Systems June 12, 2023

Zamkatimu

Ine Kukonzekera

1

1 Chiyambi cha IoT

3

1.1 Zomangamanga za IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Kugwiritsa ntchito kwa IoT mu Smart Homes. . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Kuyambitsa ndi Kuchita kwa IoT Projects

9

2.1 Chidziwitso cha Ma projekiti Odziwika a IoT. . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Ma module Ofunikira a Zida Zamakono za IoT . . . . . . . . . . . . . . . . . 9

2.1.2 Ma modules Ofunika Kwambiri Ogwiritsa Ntchito Makasitomala . . . . . . . . . . . . . . . . . . . 10

2.1.3 Chiyambi cha Common IoT Cloud Platforms . . . . . . . . . . . . . . 11

2.2 Yesetsani: Pulojekiti Yowala Kwambiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Kapangidwe ka Ntchito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Ntchito za Pulojekiti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.3 Kukonzekera kwa Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.4 Ndondomeko Yachitukuko . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Mau oyamba a ESP RainMaker

19

3.1 Kodi ESP RainMaker ndi chiyani? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Kukhazikitsidwa kwa ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . 21

3.2.1 Kufunsira Kufunsira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.2 Wopanga Mvula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

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

3.2.4 Wopanga RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3 Yesani: Mfundo Zofunika Kwambiri Kukulitsa ndi ESP RainMaker . . . . . . . . . . . . 25

3.4 Mawonekedwe a ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.1 Kasamalidwe ka Ogwiritsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2 Mawonekedwe Ogwiritsa Ntchito Mapeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4.3 Mawonekedwe Oyang'anira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.5 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Kukhazikitsa Malo Achitukuko

31

4.1 ESP-IDF Yathaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 Mabaibulo a ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3

4.1.2 ESP-IDF Git Mayendedwe Antchito . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Kusankha Baibulo Loyenera . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 Kupitiliraview ya ESP-IDF SDK Directory . . . . . . . . . . . . . . . . . . . . 34 4.2 Kukhazikitsa Malo Achitukuko a ESP-IDF. . . . . . . . . . . . . . . . . 38 4.2.1 Kukhazikitsa ESP-IDF Development Environment pa Linux. . . . . . . . 38 4.2.2 Kukhazikitsa ESP-IDF Development Environment pa Windows. . . . . . 40 4.2.3 Kukhazikitsa ESP-IDF Development Environment pa Mac. . . . . . . . . 45 4.2.4 Kuyika VS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Chidziwitso cha Zachitukuko za Gulu Lachitatu . . . . . . . . 46 4.3 ESP-IDF Commilation System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Mfundo Zazikulu za Njira Yophatikizira. . . . . . . . . . . . . . . . . . 47 4.3.2 Ntchito File Kapangidwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Malamulo Osasinthika Omanga a Dongosolo Lophatikiza. . . . . . . . . . . . . 50 4.3.4 Mawu Oyamba pa Zolemba Zophatikiza . . . . . . . . . . . . . . . . . . 51 4.3.5 Chiyambi cha Malamulo Ofanana . . . . . . . . . . . . . . . . . . . 52 4.4 Yesani: Kulemba Eksampndi Pulogalamu "Blink". . . . . . . . . . . . . . . . . . 53 4.4.1 Eksampndi Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Kupanga Pulogalamu ya Blink. . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Kuwunikira Pulogalamu Yoyang'anira . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Seri Port Log Analysis of the Blink Program . . . . . . . . . . . . . . 60 4.5 Mwachidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

II Hardware and Driver Development

65

5 Mapangidwe a Hardware a Smart Light Products kutengera ESP32-C3

67

5.1 Mawonekedwe ndi Mapangidwe a Smart Light Products. . . . . . . . . . . . . . . 67

5.2 Mapangidwe a Hardware a ESP32-C3 Core System . . . . . . . . . . . . . . . . . . . 70

5.2.1 Kupereka Mphamvu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2.2 Mayendedwe a Mphamvu ndi Kukonzanso Kwadongosolo . . . . . . . . . . . . . . . . . . 74

5.2.3 SPI Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.4 Gwero la Wotchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.5 RF ndi Mlongoti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.6 Zikhomo Zomangira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2.7 GPIO ndi PWM Controller . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 Yesetsani: Kumanga Smart Light System ndi ESP32-C3 . . . . . . . . . . . . . 80

5.3.1 Kusankha Ma modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.3.2 Kukonza ma GPIO a Zizindikiro za PWM . . . . . . . . . . . . . . . . . . . . 82

5.3.3 Kutsitsa Firmware ndi Debugging Interface . . . . . . . . . . . . 82

5.3.4 Malangizo a RF Design . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 Malangizo pa Mapangidwe Opangira Magetsi. . . . . . . . . . . . . . . . . . . 86 5.4 Mwachidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6 Kupititsa patsogolo Madalaivala

87

6.1 Njira Yopangira Madalaivala . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.2 ESP32-C3 Zogwiritsa Ntchito Zozungulira . . . . . . . . . . . . . . . . . . . . . . . . . 88

6.3 Zoyambira Zoyendetsa Dalaivala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.1 Malo Amitundu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.2 Woyendetsa wa LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.3 Kuwala kwa LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.4 Chiyambi cha PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.4 Kukula kwa Dimming Driver Development. . . . . . . . . . . . . . . . . . . . . . . . 96

6.4.1 Kusungirako Kosawonongeka (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97

6.4.2 LED PWM Controller (LEDC) . . . . . . . . . . . . . . . . . . . . . . . 98

6.4.3 LED PWM Programming . . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.5 Yesetsani: Kuwonjezera Madalaivala ku Smart Light Project. . . . . . . . . . . . . . . . . 103

6.5.1 Mabatani Oyendetsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.5.2 Woyendetsa Dimming wa LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.6 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

III Kuyankhulana Kwawaya ndi Kuwongolera

109

7 Kusintha kwa Wi-Fi ndi kulumikizana

111

7.1 Zoyambira za Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.1 Chiyambi cha Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.2 Kusintha kwa IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.3 Malingaliro a Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.1.4 Kulumikizana kwa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.2 Zoyambira za Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.2.1 Chiyambi cha Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . 123

7.2.2 Malingaliro a Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.2.3 Kulumikizana kwa Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . 127

7.3 Kusintha kwa Netiweki ya Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . 131

7.3.1 Wi-Fi Network Configuration Guide . . . . . . . . . . . . . . . . . . . . 131

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

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

7.3.4 Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

7.3.5 Njira Zina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7.4 Wi-Fi Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 Zida za Wi-Fi mu ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 Zolimbitsa thupi: Kulumikizana ndi Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 Ntchito Yolimbitsa Thupi: Kulumikizana ndi Wi-Fi Wanzeru . . . . . . . . . . . . . . . . . . . . . 145
7.5 Yesani: Kusintha kwa Wi-Fi mu Smart Light Project. . . . . . . . . . . . . . . 156 7.5.1 Kulumikiza kwa Wi-Fi mu Project Smart Light. . . . . . . . . . . . . . . . . 156 7.5.2 Kusintha kwa Wi-Fi Wanzeru. . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

8 Kulamulira Kwapafupi

159

8.1 Mau oyamba a Local Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

8.1.1 Kugwiritsa Ntchito Ulamuliro Wachigawo . . . . . . . . . . . . . . . . . . . . . . . . 161

Mtengo wa 8.1.2tagndi Local Control. . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.3 Kupeza Zida Zoyendetsedwa ndi Mafoni Amakono. . . . . . . . . . 161

8.1.4 Kuyankhulana kwa Data Pakati pa Mafoni Amakono ndi Zida . . . . . . . . 162

8.2 Njira Zodziwikiratu Zam'deralo . . . . . . . . . . . . . . . . . . . . . . . . 162

8.2.1 Kuwulutsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

8.2.2 Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

8.2.3 Kuyerekeza Pakati pa Broadcast ndi Multicast. . . . . . . . . . . . . . 176

8.2.4 Multicast Application Protocol mDNS for Local Discovery . . . . . . . . 176

8.3 Njira Zolumikizirana Zofanana za Deta Yapafupi . . . . . . . . . . . . . . . 179

8.3.1 Transmission Control Protocol (TCP) . . . . . . . . . . . . . . . . . . . 179

8.3.2 HyperText Transfer Protocol (HTTP) . . . . . . . . . . . . . . . . . . . 185

8.3.3 Wogwiritsa DatagRam Protocol (UDP) . . . . . . . . . . . . . . . . . . . . . . 189

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

8.3.5 Bluetooth Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

8.3.6 Chidule cha Njira Zolumikizirana ndi Data . . . . . . . . . . . . . . . 203

8.4 Chitsimikizo cha Chitetezo cha Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

8.4.1 Mau oyamba a Transport Layer Security (TLS) . . . . . . . . . . . . . 207

8.4.2 Chiyambi cha Datagram Transport Layer Security (DTLS) . . . . . . . 213

8.5 Zochita: Kulamulira Kwaderalo mu Smart Light Project. . . . . . . . . . . . . . . . . . 217

8.5.1 Kupanga Seva Yoyang'anira Malo yochokera pa Wi-Fi . . . . . . . . . . . . . . . 217

8.5.2 Kutsimikizira Kayendetsedwe ka Ulamuliro Wam'deralo pogwiritsa ntchito Scripts. . . . . . . . . . . 221

8.5.3 Kupanga Seva Yoyang'anira Malo yochokera ku Bluetooth . . . . . . . . . . . . 222

8.6 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

9 Cloud Control

225

9.1 Chiyambi cha Kuwongolera Kwakutali . . . . . . . . . . . . . . . . . . . . . . . . . . 225

9.2 Cloud Data Communication Protocols . . . . . . . . . . . . . . . . . . . . . . 226

9.2.1 MQTT Chiyambi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 Mfundo za MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 Mtundu wa Uthenga wa MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 Kuyerekeza kwa Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Kukhazikitsa MQTT Broker pa Linux ndi Windows. . . . . . . . . . . . 233 9.2.6 Kukhazikitsa Makasitomala a MQTT Kutengera ESP-IDF . . . . . . . . . . . . . . . . 235 9.3 Kuonetsetsa MQTT Data Security. . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 Tanthauzo ndi Ntchito ya Ziphaso. . . . . . . . . . . . . . . . . . . 237 9.3.2 Kutulutsa Ziphaso Kwawoko. . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 Kukonza MQTT Broker . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 Kukonza Makasitomala a MQTT . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 Yesani: Kuwongolera Kutali kudzera pa ESP RainMaker . . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Node ndi Cloud Backend Communication Protocol . . . . . . . . . . . 244 9.4.3 Kulankhulana pakati pa Client ndi Cloud Backend . . . . . . . . . . . 249 9.4.4 Maudindo Ogwiritsa Ntchito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Ntchito Zoyambira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 Kuwala Kwanzeru Eksample . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 RainMaker App ndi Gulu Lachitatu Kuphatikiza . . . . . . . . . . . . . . . 262 9.5 Mwachidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

10 Kukula kwa Mapulogalamu a Smartphone

269

10.1 Chiyambi cha Kukula kwa Mapulogalamu a Smartphone. . . . . . . . . . . . . . . . . . 269

10.1.1 Paview ya Smartphone App Development. . . . . . . . . . . . . . . 270

10.1.2 Kapangidwe ka Ntchito ya Android . . . . . . . . . . . . . . . . . . . . . . 270

10.1.3 Kapangidwe ka iOS Project . . . . . . . . . . . . . . . . . . . . . . . . 271

10.1.4 Moyo wa Ntchito ya Android . . . . . . . . . . . . . . . . . . . . . . 272

10.1.5 Moyo wa iOS ViewWolamulira . . . . . . . . . . . . . . . . . . . . . . 273

10.2 Kupanga Pulojekiti Yatsopano ya Smartphone App. . . . . . . . . . . . . . . . . . . . . 275

10.2.1 Kukonzekera Chitukuko cha Android . . . . . . . . . . . . . . . . . . . 275

10.2.2 Kupanga Pulojekiti Yatsopano ya Android . . . . . . . . . . . . . . . . . . . . . . 275

10.2.3 Kuwonjezera Zodalira pa MyRainmaker . . . . . . . . . . . . . . . . . 276

10.2.4 Pempho la Chilolezo mu Android . . . . . . . . . . . . . . . . . . . . . . 277

10.2.5 Kukonzekera iOS Development . . . . . . . . . . . . . . . . . . . . . . 277

10.2.6 Kupanga Pulojekiti Yatsopano ya iOS. . . . . . . . . . . . . . . . . . . . . . . . 278

10.2.7 Kuwonjezera Zodalira pa MyRainmaker . . . . . . . . . . . . . . . . . 279

10.2.8 Pempho la Chilolezo mu iOS . . . . . . . . . . . . . . . . . . . . . . . . . 280

10.3 Kuwunika Zofunikira Zogwirira Ntchito za App. . . . . . . . . . . . . . . . . . 281

10.3.1 Kuwunika Zofunikira Pantchito ya Pulojekitiyi. . . . . . . . . . . . 282

10.3.2 Kuwunika Zofunikira Zoyang'anira Ogwiritsa Ntchito . . . . . . . . . . . . . . . 282 10.3.3 Kuwunika kwa Kupereka Zida ndi Zofunikira Zomangamanga. . . . . . . 283 10.3.4 Kusanthula Zofunikira Zowongolera Pakutali . . . . . . . . . . . . . . . . 283 10.3.5 Kusanthula Zofunikira Zokonzekera. . . . . . . . . . . . . . . . . . . 284 10.3.6 Kusanthula Zofunikira za Malo Ogwiritsa Ntchito. . . . . . . . . . . . . . . . . . 285 10.4 Kupititsa patsogolo kasamalidwe ka ogwiritsa ntchito. . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 Mau oyamba a RainMaker API . . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 Kuyambitsa Kuyankhulana kudzera pa Smartphone . . . . . . . . . . . . . . . . 286 10.4.3 Kulembetsa Akaunti. . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 Kulowa mu Akaunti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 Kupanga Kupanga Zida. . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 Kusanthula Zipangizo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 Kulumikiza Zipangizo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 Kupanga Mafungulo Achinsinsi . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Kupeza ID ya Node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 Zida Zopangira . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 Kupititsa patsogolo Kuwongolera Zida. . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 Kumanga Zipangizo ku Maakaunti Amtambo . . . . . . . . . . . . . . . . . . . . 303 10.6.2 Kupeza Mndandanda wa Zida . . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 Kupeza Mkhalidwe wa Chipangizo . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 Kusintha Makhalidwe a Chipangizo . . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 Kupanga Ndondomeko ndi Malo Ogwiritsa Ntchito . . . . . . . . . . . . . . . . . . . 313 10.7.1 Kukhazikitsa Ntchito Yokonzekera. . . . . . . . . . . . . . . . . . . . 313 10.7.2 Kukhazikitsa Malo Ogwiritsa Ntchito . . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 Ma API Enanso Amtambo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 Mwachidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

11 Firmware Upgrade and Version Management

321

11.1 Kusintha kwa Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.1.1 Paview Matebulo Ogawa . . . . . . . . . . . . . . . . . . . . . . . . 322

11.1.2 Njira Yoyambira Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . 324

11.1.3 Paview za OTA Mechanism. . . . . . . . . . . . . . . . . . . . . 326

11.2 Firmware Version Management . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.1 Chizindikiro cha Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.2 Rollback ndi Anti-Rollback . . . . . . . . . . . . . . . . . . . . . . . . 331

11.3 Kuchita: Pamwamba pamlengalenga (OTA) Eksample . . . . . . . . . . . . . . . . . . . . . . . 332

11.3.1 Sinthani Firmware Kupyolera M'gulu Lanu . . . . . . . . . . . . . . . . . 332

11.3.2 Sinthani Firmware Kudzera mu ESP RainMaker. . . . . . . . . . . . . . . 335

11.4 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

IV Kukhathamiritsa ndi Mass Production

343

12 Kuwongolera Mphamvu ndi Kukhathamiritsa kwa Mphamvu Zochepa

345

12.1 ESP32-C3 Kuwongolera Mphamvu . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

12.1.1 Kuchulukitsa Kwamafupipafupi . . . . . . . . . . . . . . . . . . . . . . . . 346

12.1.2 Kukonzekera Kuwongolera Mphamvu. . . . . . . . . . . . . . . . . . . . 348

12.2 ESP32-C3 Njira Yochepa Mphamvu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

12.2.1 Modem-kugona mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

12.2.2 Kuwala-kugona Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

12.2.3 Njira yakugona kwambiri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

12.2.4 Kugwiritsa Ntchito Panopa M'njira Zosiyanasiyana za Mphamvu . . . . . . . . . . . . . 358

12.3 Kuwongolera Mphamvu ndi Kuchepetsa Mphamvu Zochepa. . . . . . . . . . . . . . . . . 359

12.3.1 Kusintha kwa Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

12.3.2 GPIO Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

12.4 Yesetsani: Kuwongolera Mphamvu mu Smart Light Project. . . . . . . . . . . . . . . 363

12.4.1 Kukonza Mbali Yoyang'anira Mphamvu . . . . . . . . . . . . . . . . . 364

12.4.2 Gwiritsani Ntchito Maloko Owongolera Mphamvu. . . . . . . . . . . . . . . . . . . . . . 365

12.4.3 Kutsimikizira Kugwiritsa Ntchito Mphamvu. . . . . . . . . . . . . . . . . . . . . . . 366

12.5 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

13 Zowonjezera Chitetezo cha Chipangizo

369

13.1 Paview ya IoT Device Data Security. . . . . . . . . . . . . . . . . . . . . . . 369

13.1.1 Chifukwa Chiyani Mukuteteza Chida cha IoT? . . . . . . . . . . . . . . . . . . . . . . 370

13.1.2 Zofunikira Zoyambira pa IoT Device Data Security . . . . . . . . . . . . 371

13.2 Kuteteza Umphumphu wa Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

13.2.1 Chiyambi cha Njira Yotsimikizira Umphumphu. . . . . . . . . . . . . . 372

13.2.2 Kutsimikizira Umphumphu wa Firmware Data. . . . . . . . . . . . . . . . . . 373

13.2.3 Eksample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3 Kutetezedwa Kwachinsinsi cha Data. . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3.1 Chiyambi cha Kubisa kwa Data. . . . . . . . . . . . . . . . . . . . . . 374

13.3.2 Chiyambi cha Flash Encryption Scheme . . . . . . . . . . . . . . . . . 376

13.3.3 Flash Encryption Key Storage. . . . . . . . . . . . . . . . . . . . . . . 379

13.3.4 Njira Yogwirira Ntchito ya Flash Encryption. . . . . . . . . . . . . . . . . . . . 380

13.3.5 Njira ya Kubisa kwa Flash. . . . . . . . . . . . . . . . . . . . . . . . . . 381

13.3.6 Chiyambi cha NVS Encryption . . . . . . . . . . . . . . . . . . . . . . 383

13.3.7 EksampZolemba za Flash Encryption ndi NVS Encryption. . . . . . . . . . . 384

13.4 Chitetezo Chovomerezeka cha Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

13.4.1 Chiyambi cha Siginecha Yapa digito . . . . . . . . . . . . . . . . . . . . . 386

13.4.2 Paview ya Secure Boot Scheme. . . . . . . . . . . . . . . . . . . . . 388

13.4.3 Mau oyamba a Software Secure Boot . . . . . . . . . . . . . . . . . . . 388 13.4.4 Chiyambi cha Hardware Secure Boot . . . . . . . . . . . . . . . . . . 390 13.4.5 Eksamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 Chitani: Zochita Zachitetezo Mu Kupanga Kwakukulu . . . . . . . . . . . . . . . . . . 396 13.5.1 Flash Encryption ndi Boot Yotetezedwa. . . . . . . . . . . . . . . . . . . . . 396 13.5.2 Kuthandizira Kubisa kwa Flash ndi Chitetezo Chotetezedwa ndi Zida Zamtundu wa Batch. . 397 13.5.3 Kuthandizira Kubisa Kung'anima ndi Chitetezo Chotetezedwa mu Project Smart Light. . . 398 13.6 Mwachidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

14 Kuwotcha kwa Firmware ndikuyesa Kupanga Misa

399

14.1 Kuwotcha kwa Firmware mu Kupanga Kwamisa . . . . . . . . . . . . . . . . . . . . . . 399

14.1.1 Kufotokozera Magawo a Data. . . . . . . . . . . . . . . . . . . . . . . . . . 399

14.1.2 Kuwotcha kwa Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

14.2 Kuyesa Kupanga Kwakukulu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

14.3 Zochita: Zambiri Zopanga Zambiri mu Smart Light Project. . . . . . . . . . . . . 404

14.4 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

15 ESP Insights: Remote Monitoring Platform

405

15.1 Chiyambi cha ESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

15.2 Kuyamba ndi ESP Insights. . . . . . . . . . . . . . . . . . . . . . . . . 409

15.2.1 Kuyamba ndi ESP Insights mu esp-insights Project . . . . . . 409

15.2.2 Kuthamanga Eksample mu esp-insights Project. . . . . . . . . . . . . . . 411

15.2.3 Kupereka Mauthenga a Coredump. . . . . . . . . . . . . . . . . . . . . 411

15.2.4 Kusintha Malemba Okonda Mwamakonda Anu . . . . . . . . . . . . . . . . . . . . . . . . 412

15.2.5 Kufotokozera Chifukwa Choyambitsanso. . . . . . . . . . . . . . . . . . . . . . . . . 413

15.2.6 Kupereka malipoti a Custom Metrics . . . . . . . . . . . . . . . . . . . . . . . . . 413

15.3 Yesetsani: Kugwiritsa Ntchito ESP Insights mu Smart Light Project. . . . . . . . . . . . . . . 416

15.4 Chidule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

Mawu Oyamba
ESP32-C3 ndi single-core Wi-Fi ndi Bluetooth 5 (LE) microcontroller SoC, kutengera magwero otseguka a RISC-V. Imakhudza mphamvu yoyenerera ya mphamvu, mphamvu za I/O, ndi chitetezo, motero zimapereka njira yabwino kwambiri yopangira zida zolumikizidwa. Kuti muwonetse ntchito zosiyanasiyana za banja la ESP32-C3, buku ili lolembedwa ndi Espressif lidzakutengerani paulendo wosangalatsa kudzera pa AIoT, kuyambira pazoyambira za chitukuko cha projekiti ya IoT ndi kukhazikitsidwa kwa chilengedwe kupita ku ex.amples. Mitu inayi yoyamba ikukamba za IoT, ESP RainMaker ndi ESP-IDF. Chaputala 5 ndi 6 mwachidule za kapangidwe ka hardware ndi chitukuko cha oyendetsa. Pamene mukupita patsogolo, mupeza momwe mungasinthire pulojekiti yanu kudzera pamanetiweki a Wi-Fi ndi Mapulogalamu am'manja. Pomaliza, muphunzira kukhathamiritsa pulojekiti yanu ndikuyiyika pakupanga kwakukulu.
Ngati ndinu mainjiniya pazinthu zofananira, wopanga mapulogalamu, mphunzitsi, wophunzira, kapena aliyense amene ali ndi chidwi ndi IoT, bukuli ndi lanu.
Mukhoza kukopera code exampomwe amagwiritsidwa ntchito m'bukuli kuchokera patsamba la Espressif pa GitHub. Kuti mudziwe zaposachedwa pakukula kwa IoT, chonde tsatirani akaunti yathu yovomerezeka.

Mawu Oyamba
Dziko Lodziwitsa
Kuthamanga kwa intaneti, Internet of Things (IoT) idapanga kuwonekera kwake kwakukulu kukhala mtundu watsopano wa zomangamanga pazachuma cha digito. Kuti abweretse teknoloji pafupi ndi anthu, Espressif Systems imagwira ntchito masomphenya omwe omanga ochokera m'madera onse a moyo angagwiritse ntchito IoT kuthetsa mavuto omwe akukumana nawo masiku ano. Dziko la “Intelligent Network of All Things” ndi limene tikuyembekezera m’tsogolo.
Kupanga tchipisi tathu kumapanga gawo lofunikira la masomphenyawo. Ayenera kukhala mpikisano wothamanga, wofuna kupambana kosalekeza motsutsana ndi malire aukadaulo. Kuchokera pa "Game Changer" ESP8266 mpaka mndandanda wa ESP32 wophatikizira kulumikizana kwa Wi-Fi ndi Bluetoothr (LE), kutsatiridwa ndi ESP32-S3 yokhala ndi mathamangitsidwe a AI, Espressif sasiya kufufuza ndikupanga zinthu zopangira mayankho a AIoT. Ndi mapulogalamu athu otseguka, monga IoT Development Framework ESP-IDF, Mesh Development Framework ESP-MDF, ndi Device Connectivity Platform ESP RainMaker, tapanga chimango chodziyimira pawokha chomangira mapulogalamu a AIoT.
Pofika Julayi 2022, kuchuluka kwa ma chipsets a Espressif a IoT kudapitilira 800 miliyoni, kutsogola pamsika wa Wi-Fi MCU ndikuwonjezera zida zambiri zolumikizidwa padziko lonse lapansi. Kufunafuna kuchita bwino kumapangitsa chinthu chilichonse cha Espressif kukhala chogunda kwambiri chifukwa cha kuphatikiza kwake komanso kugwiritsa ntchito bwino ndalama. Kutulutsidwa kwa ESP32-C3 ndi chizindikiro chofunikira kwambiri paukadaulo wodzipangira okha wa Espressif. Ndi single-core, 32-bit, RISC-V-based MCU yokhala ndi 400KB ya SRAM, yomwe imatha kuthamanga pa 160MHz. Ili ndi 2.4 GHz Wi-Fi ndi Bluetooth 5 (LE) yokhala ndi chithandizo chautali. Imakhala ndi mphamvu zokwanira bwino, kuthekera kwa I/O, ndi chitetezo, motero imapereka yankho lotsika mtengo lazida zolumikizidwa. Kutengera ndi ESP32-C3 yamphamvu yotere, bukuli cholinga chake chinali kuthandiza owerenga kumvetsetsa zokhudzana ndi IoT ndi mafanizo atsatanetsatane komanso zochitika zakale.amples.
N’chifukwa chiyani tinalemba bukuli?
Espressif Systems ndi yoposa kampani ya semiconductor. Ndi kampani ya nsanja ya IoT, yomwe nthawi zonse imayesetsa kuchita bwino komanso zatsopano pazaukadaulo. Panthawi imodzimodziyo, Espressif yatsegula ndikugawana machitidwe ake odzipangira okha komanso mapulogalamu a mapulogalamu ndi anthu ammudzi, kupanga chilengedwe chapadera. Mainjiniya, opanga, ndi okonda ukadaulo amapanga mwachangu mapulogalamu atsopano otengera zinthu za Espressif, amalumikizana momasuka, ndikugawana zomwe akumana nazo. Mutha kuwona malingaliro osangalatsa a opanga pamapulatifomu osiyanasiyana nthawi zonse, monga YouTube ndi GitHub. Kutchuka kwa zinthu zopangidwa ndi Espressif kwalimbikitsa olemba omwe apanga mabuku opitilira 100 motengera Espressif chipsets, m'zilankhulo zopitilira khumi, kuphatikiza Chingerezi, Chitchaina, Chijeremani, Chifalansa, ndi Chijapani.

Ndi chithandizo ndi kukhulupilira kwa othandizana nawo ammudzi zomwe zimalimbikitsa Espressif kuti apitirize kusinthika. "Timayesetsa kupanga tchipisi chathu, makina ogwiritsira ntchito, zomangira, mayankho, Mtambo, machitidwe abizinesi, zida, zolemba, zolemba, malingaliro, ndi zina zambiri, kukhala zogwirizana ndi mayankho omwe anthu amafunikira pamavuto amasiku ano ovuta kwambiri. Ichi ndiye chikhumbo chachikulu cha Espressif komanso kampasi yamakhalidwe abwino. adatero Bambo Teo Swee Ann, Woyambitsa ndi CEO wa Espressif.
Espressif amayamikira kuwerenga ndi malingaliro. Pamene kukweza mosalekeza kwaukadaulo wa IoT kumabweretsa zofunika kwambiri kwa mainjiniya, tingathandize bwanji anthu ambiri kudziwa tchipisi ta IoT mwachangu, makina ogwiritsira ntchito, mawonekedwe apulogalamu, madongosolo ogwiritsira ntchito ndi zinthu zamtambo? Mwambiwu umati, ndi bwino kuphunzitsa munthu kusodza kuposa kumpatsa nsomba. Pamsonkhano wokambirana, zidatifikira kuti titha kulemba buku kuti tipeze chidziwitso chofunikira pakukula kwa IoT. Tidachitapo kanthu, tidasonkhanitsa mwachangu gulu la mainjiniya akuluakulu, ndikuphatikiza zokumana nazo za gulu laukadaulo pamapulogalamu ophatikizidwa, zida za IoT ndi chitukuko cha mapulogalamu, zonse zomwe zidathandizira kusindikiza bukuli. Polemba, tidayesetsa momwe tingathere kukhala ndi cholinga komanso chilungamo, kuvula chikwa, ndikugwiritsa ntchito mawu achidule kunena zovuta komanso kukongola kwa intaneti ya Zinthu. Tinafotokozera mwachidule mafunso omwe anthu ambiri amawafunsa, omwe amawafotokozeranso malingaliro ndi malingaliro a anthu ammudzi, kuti tiyankhe momveka bwino mafunso omwe akukumana nawo pa chitukuko, ndikupereka malangizo othandiza a chitukuko cha IoT kwa akatswiri oyenerera ndi ochita zisankho.
Kapangidwe ka Buku
Bukhuli limatenga malingaliro okhudzana ndi mainjiniya ndikulongosola chidziwitso chofunikira pakukula kwa projekiti ya IoT pang'onopang'ono. Wapangidwa ndi magawo anayi motere:
Kukonzekera (Chaputala 1): Gawoli likuwonetsa kamangidwe ka IoT, chimango cha projekiti ya IoT, nsanja yamtambo ya ESP RainMakerr, ndi malo otukuka ESP-IDF, kuti akhazikitse maziko olimba a chitukuko cha polojekiti ya IoT.
· Kukula kwa Hardware ndi Driver (Chaputala 5): Kutengera chipset cha ESP6-C32, gawoli limafotokoza za kachitidwe kakang'ono ka hardware ndi kakulidwe ka madalaivala, ndikugwiritsa ntchito kuwongolera kwa dimming, kuyika mitundu, ndi kulumikizana opanda zingwe.
· Kulankhulana ndi Kuwongolera Opanda Mawaya (Chaputala 7): Gawoli likufotokoza zanzeru zakusintha kwa Wi-Fi kutengera chip ESP11-C32, ma protocol amderalo & mtambo, komanso kuwongolera kwakutali ndi zida. Imaperekanso njira zopangira mapulogalamu a smartphone, kukweza firmware, ndi kasamalidwe kamitundu.
· Optimization and Mass Production (Chapter 12-15): Gawoli lapangidwira ntchito zapamwamba za IoT, zomwe zimayang'ana kwambiri kukhathamiritsa kwazinthu pakuwongolera mphamvu, kukhathamiritsa kwamphamvu pang'ono, komanso chitetezo chokwanira. Imayambitsanso kuwotcha kwa firmware ndi kuyesa pakupanga kwakukulu, komanso momwe mungadziwire momwe zinthu ziliri komanso zolemba za firmware ya chipangizocho kudzera papulatifomu yowunikira yakutali ya ESP Insights.

Za Code Source
Owerenga amatha kuyendetsa zakaleample mapulogalamu m'bukuli, mwina polemba pamanja kapena pogwiritsa ntchito code code yomwe ili limodzi ndi bukhuli. Timagogomezera kuphatikizika kwa chiphunzitso ndi machitidwe, motero timakhazikitsa gawo la Zoyeserera potengera projekiti ya Smart Light pafupifupi mutu uliwonse. Ma code onse ndi otsegula. Owerenga ndiwolandiridwa kutsitsa gwero lachidziwitso ndikukambirana m'magawo okhudzana ndi bukuli pa GitHub ndi forum yathu yovomerezeka esp32.com. Khodi yotseguka ya bukhuli imadalira pa Apache License 2.0.
Zolemba za Wolemba
Bukuli limapangidwa mwalamulo ndi Espressif Systems ndipo lalembedwa ndi mainjiniya akulu akampani. Ndiwoyenera kwa oyang'anira ndi ogwira ntchito ku R&D m'mafakitale okhudzana ndi IoT, aphunzitsi ndi ophunzira ofananira nawo, komanso okonda pa intaneti ya Zinthu. Tikukhulupirira kuti bukhuli litha kukhala ngati buku lantchito, lothandizira, komanso buku lokhala pambali pa bedi, kuti likhale ngati namkungwi wabwino komanso bwenzi.
Pamene tikulemba bukhuli, tidatchula zotsatira za kafukufuku wofunikira wa akatswiri, akatswiri, ndi akatswiri apanyumba ndi akunja, ndipo tinayesetsa kuwatchula molingana ndi maphunziro. Komabe, nkosapeŵeka kuti payenera kukhala zosiyidwa, kotero apa tikufuna kusonyeza ulemu wathu waukulu ndi kuthokoza kwa olemba onse oyenerera. Kuonjezera apo, tatchula zambiri kuchokera pa intaneti, choncho tikufuna kuthokoza olemba oyambirira ndi osindikiza ndi kupepesa kuti sitingathe kusonyeza gwero la chidziwitso chilichonse.
Kuti tipange buku lapamwamba kwambiri, takonza zokambirana zamkati, ndikuphunzira kuchokera kumalingaliro ndi mayankho a owerenga oyeserera ndi osindikiza osindikiza. Pano, tikufuna kukuthokozaninso chifukwa cha thandizo lanu lomwe nonse mwathandizira kuti ntchitoyi ikhale yopambana.
Pomaliza, koma chofunikira kwambiri, zikomo kwa aliyense ku Espressif yemwe wagwira ntchito molimbika pakubadwa komanso kutchuka kwazinthu zathu.
Kupanga ma projekiti a IoT kumaphatikizapo chidziwitso chambiri. Zochepa mpaka kutalika kwa bukhuli, komanso mlingo ndi zochitika za wolemba, zosiya sizingalephereke. Choncho, tikukupemphani kuti akatswiri ndi owerenga azidzudzula ndi kukonza zolakwika zathu. Ngati muli ndi malingaliro pa bukuli, chonde titumizireni ku book@espressif.com. Tikuyembekezera mayankho anu.

Momwe mungagwiritsire ntchito bukuli?
Khodi ya mapulojekiti omwe ali m'bukuli yatsegulidwa. Mutha kutsitsa kuchokera kunkhokwe yathu ya GitHub ndikugawana malingaliro anu ndi mafunso patsamba lathu lovomerezeka. GitHub: https://github.com/espressif/book-esp32c3-iot-projects Forum: https://www.esp32.com/bookc3 M'buku lonseli, padzakhala mbali zomwe zikuwonetsedwa pansipa.
Khodi yochokera M'bukuli, tikugogomezera kuphatikiza kwa malingaliro ndi machitidwe, motero timakhazikitsa gawo la Zoyeserera za projekiti ya Smart Light pafupifupi mutu uliwonse. Masitepe ofananirako ndi tsamba loyambira lizilemba pakati pa mizere iwiri kuyambira ndi the tag Gwero kodi.
ZINDIKIRANI/MFUNDO Apa ndipamene mungapeze mfundo zofunika kwambiri ndikukumbutsani kuti muthetse bwino pulogalamu yanu. Adzakhala chizindikiro pakati pa mizere iwiri yokhuthala kuyambira ndi tag ZINDIKIRANI kapena MALANGIZO.
Malamulo ambiri omwe ali m'bukuli amachitidwa pansi pa Linux, motsogoleredwa ndi "$". Ngati lamuloli likufuna mwayi wa superuser kuti achite, mwachangu adzasinthidwa ndi "#". Lamulo mwamsanga pa Mac machitidwe ndi “%”, monga ntchito mu Gawo 4.2.3 Kuika ESP-IDF pa Mac.
Zomwe zili m'bukuli zidzasindikizidwa mu Charter, pomwe code examples, zigawo, ntchito, zosintha, code file mayina, zolemba zamakhodi, ndi zingwe zidzakhala mu Courier New.
Malamulo kapena malemba omwe akuyenera kulowetsedwa ndi wogwiritsa ntchito, ndipo malamulo omwe angalowetsedwe posindikiza batani la "Enter" adzasindikizidwa mu Courier New bold. Logos ndi midadada code adzaperekedwa m'mabokosi kuwala buluu.
ExampLe:
Chachiwiri, gwiritsani ntchito esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py kuti mupange NVS partition binary file pa gulu lachitukuko ndi lamulo ili:
$ python $IDF PATH/zigawo/nvs flash/nvs partition jenereta/nvs partition gen.py -input mass prod.csv -output mass prod.bin -size NVS PARTITION SIZE

Mutu 1

Mawu Oyamba

ku

IoT

Kumapeto kwa zaka za zana la 20, ndi kukwera kwa maukonde apakompyuta ndi matekinoloje olankhulirana, intaneti idaphatikizidwa mwachangu m'miyoyo ya anthu. Pamene ukadaulo wa pa intaneti ukukula, lingaliro la Internet of Things (IoT) lidabadwa. Kwenikweni, IoT imatanthawuza intaneti komwe zinthu zimalumikizidwa. Ngakhale intaneti yoyambirira imaphwanya malire a malo ndi nthawi ndikuchepetsa mtunda pakati pa "munthu ndi munthu", IoT imapangitsa "zinthu" kukhala wofunika kutenga nawo mbali, kubweretsa "anthu" ndi "zinthu" pafupi. M'tsogolomu, IoT yakhazikitsidwa kukhala mphamvu yamakampani azidziwitso.
Ndiye, intaneti ya Zinthu ndi chiyani?
Ndizovuta kutanthauzira molondola intaneti ya Zinthu, chifukwa tanthauzo lake ndi kuchuluka kwake zikusintha nthawi zonse. Mu 1995, Bill Gates adabweretsa lingaliro la IoT m'buku lake The Road Ahead. Mwachidule, IoT imathandizira zinthu kusinthanitsa zidziwitso wina ndi mnzake kudzera pa intaneti. Cholinga chake chachikulu ndikukhazikitsa "Intaneti ya Chilichonse". Uku ndikutanthauzira koyambirira kwa IoT, komanso zongopeka zaukadaulo wamtsogolo. Zaka makumi atatu pambuyo pake, ndi chitukuko chofulumira cha chuma ndi luso lamakono, zongopeka zikufika zenizeni. Kuchokera pazida zanzeru, nyumba zanzeru, mizinda yanzeru, intaneti ya Magalimoto ndi zida zovala, kupita ku "metaverse" yothandizidwa ndi ukadaulo wa IoT, malingaliro atsopano akutuluka nthawi zonse. Mumutu uno, tiyamba ndi kufotokozera za kamangidwe ka intaneti ya Zinthu, kenako ndikuyambitsa pulogalamu yodziwika bwino ya IoT, nyumba yanzeru, kuti ikuthandizeni kumvetsetsa bwino za IoT.
1.1 Zomangamanga za IoT
Intaneti ya Zinthu imaphatikizapo matekinoloje angapo omwe ali ndi zosowa zosiyanasiyana zogwiritsira ntchito komanso mawonekedwe m'mafakitale osiyanasiyana. Kuti muthane ndi kapangidwe kake, matekinoloje ofunikira komanso mawonekedwe ogwiritsira ntchito a IoT, ndikofunikira kukhazikitsa zomanga zolumikizana komanso dongosolo laukadaulo lokhazikika. M'bukuli, mamangidwe a IoT amangogawidwa m'magawo anayi: kuzindikira & kusanjikiza, kusanjika kwa netiweki, nsanja ya nsanja, ndi gawo la ntchito.
Perception & Control Layer Monga chinthu chofunikira kwambiri pakumanga kwa IoT, kuzindikira & kusanja kowongolera ndiye maziko ozindikira kumveka kwa IoT. Ntchito yake yayikulu ndikusonkhanitsa, kuzindikira ndi kuwongolera zambiri. Zimakhala ndi zida zosiyanasiyana zokhala ndi luso lozindikira,
3

kuzindikira, kuyang'anira ndi kachitidwe, ndipo ali ndi udindo wopeza ndi kusanthula deta monga katundu, machitidwe, ndi chikhalidwe cha chipangizo. Mwanjira iyi, IoT imazindikira dziko lenileni. Kupatula apo, wosanjikiza amathanso kuwongolera mawonekedwe a chipangizocho.
Zida zodziwika bwino zamtunduwu ndi masensa osiyanasiyana, omwe amagwira ntchito yofunika kwambiri pakusonkhanitsa ndi kuzindikira. Zomverera zili ngati ziwalo zomva za munthu, monga zomverera za photosensitive zomwe zimafanana ndi masomphenya, masensa acoustic kuti amve, masensa a mpweya kuti amve kununkhiza, ndi zomverera zomwe zimamva kupsinjika ndi kutentha kukhudza. Ndi "ziwalo zomveka" zonsezi, zinthu zimakhala "zamoyo" ndipo zimatha kuzindikira mwanzeru, kuzindikira ndi kusokoneza dziko lapansi.
Network Layer Ntchito yayikulu ya netiweki wosanjikiza ndikutumiza zidziwitso, kuphatikiza zomwe zapezedwa kuchokera pamalingaliro & gawo lowongolera kupita ku chandamale chodziwika, komanso malamulo omwe amaperekedwa kuchokera pagawo la ntchito kubwerera ku malingaliro & kuwongolera. Imagwira ntchito ngati mlatho wofunikira wolumikizirana wolumikiza magawo osiyanasiyana a dongosolo la IoT. Kukhazikitsa chitsanzo choyambirira cha intaneti ya Zinthu, kumaphatikizapo njira ziwiri zophatikizira zinthu mu netiweki: kupeza intaneti komanso kutumiza kudzera pa intaneti.
Kupeza intaneti pa intaneti kumathandizira kulumikizana pakati pa munthu ndi munthu, koma kumalephera kuphatikiza zinthu m'banja lalikulu. IoT isanadze, zinthu zambiri sizinali "zogwiritsa ntchito intaneti". Chifukwa cha chitukuko chosalekeza chaukadaulo, IoT imatha kulumikiza zinthu pa intaneti, ndikuzindikira kulumikizana pakati pa "anthu ndi zinthu", ndi "zinthu ndi zinthu". Pali njira ziwiri zomwe zimagwiritsidwira ntchito kulumikiza intaneti: kupeza mawayilesi a waya ndi ma netiweki opanda zingwe.
Njira zolumikizirana ndi mawayilesi ndi Efaneti, kulumikizana kosalekeza (mwachitsanzo, RS-232, RS-485) ndi USB, pomwe mwayi wama netiweki opanda zingwe umadalira kulumikizana kopanda zingwe, komwe kumatha kugawidwa m'magulu ang'onoang'ono opanda zingwe komanso kulumikizana kwanthawi yayitali opanda zingwe.
Kulumikizana opanda zingwe kwakanthawi kochepa kumaphatikizapo ZigBee, Bluetoothr, Wi-Fi, Near-Field Communication (NFC), ndi Radio Frequency Identification (RFID). Kulankhulana kwakutali kopanda zingwe kumaphatikizapo Kuyankhulana Kwamtundu Wamakina (eMTC), LoRa, Narrow Band Internet of Things (NB-IoT), 2G, 3G, 4G, 5G, etc.
Kutumiza kudzera pa intaneti Njira zosiyanasiyana zopezera intaneti zimatsogolera ku ulalo wofananira wa data. Chotsatira ndikusankha njira yolumikizirana yomwe mungagwiritse ntchito potumiza deta. Poyerekeza ndi ma terminals a intaneti, ma terminals ambiri a IoT pakadali pano ali ndi ochepa
4 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

zomwe zilipo, monga kukonza, kusungirako, kuchuluka kwa maukonde, ndi zina zotero, kotero ndikofunikira kusankha njira yolumikizirana yomwe imakhala ndi zinthu zochepa pamapulogalamu a IoT. Pali njira ziwiri zoyankhulirana zomwe zimagwiritsidwa ntchito kwambiri masiku ano: Message Queuing Telemetry Transport (MQTT) ndi Constrained Application Protocol (CoAP).
Platform Layer Gawo la nsanja makamaka limatanthawuza nsanja zamtambo za IoT. Ma terminal onse a IoT akalumikizidwa ndi netiweki, deta yawo iyenera kuphatikizidwa papulatifomu yamtambo ya IoT kuti iwerengedwe ndikusungidwa. Pulatifomuyi imathandizira makamaka ntchito za IoT pothandizira kupeza ndi kuyang'anira zida zazikulu. Imagwirizanitsa ma terminals a IoT ku nsanja yamtambo, imasonkhanitsa deta yomaliza, ndikupereka malamulo ku ma terminals, kuti agwiritse ntchito kuwongolera kwakutali. Monga ntchito yapakatikati yogawa zida zogwirira ntchito zamakampani, nsanja ya nsanja imagwira ntchito yolumikizana muzomanga zonse za IoT, zokhala ndi malingaliro abizinesi osamveka komanso mtundu wokhazikika wa data, womwe sungathe kuzindikira mwachangu zida, komanso umapereka mphamvu zama modular zamphamvu. kukwaniritsa zosowa zosiyanasiyana muzochitika zamakampani. Chigawo cha nsanja chimaphatikizapo ma modules ogwira ntchito monga kupeza zipangizo, kasamalidwe ka chipangizo, kasamalidwe ka chitetezo, mauthenga a mauthenga, kuyang'anira ntchito ndi kukonza, ndi kugwiritsa ntchito deta.
· Kufikira pazida, kuzindikira kulumikizana ndi kulumikizana pakati pa ma terminals ndi nsanja zamtambo za IoT.
· Kuwongolera zida, kuphatikiza magwiridwe antchito monga kupanga zida, kukonza zida, kusintha data, kulunzanitsa deta, ndi kugawa zida.
· Kasamalidwe kachitetezo, kuwonetsetsa chitetezo cha kufalitsa kwa data kwa IoT kuchokera pamalingaliro otsimikizika achitetezo ndi chitetezo cholumikizirana.
· Kuyankhulana kwa mauthenga, kuphatikizapo maulendo atatu otumizira, ndiko kuti, terminal imatumiza deta ku IoT cloud platform, IoT cloud platform imatumiza deta ku mbali ya seva kapena nsanja zina zamtambo za IoT, ndipo mbali ya seva imayendetsa kutali zipangizo za IoT.
· Kuyang'anira O&M, kuphatikizira kuyang'anira ndi kuzindikira, kukweza firmware, kukonza zolakwika pa intaneti, ntchito zamalogi, ndi zina zambiri.
· Kugwiritsa ntchito deta, kusungidwa, kusanthula ndi kugwiritsa ntchito deta.
Chigawo cha Ntchito Chigawo chogwiritsira ntchito chimagwiritsa ntchito deta yochokera papulatifomu kuti isamalire pulogalamuyo, kusefa ndikuyikonza ndi zida monga nkhokwe ndi pulogalamu yowunikira. Zotsatirazi zitha kugwiritsidwa ntchito pazinthu zenizeni za IoT zapadziko lonse lapansi monga chisamaliro chaumoyo, ulimi wanzeru, nyumba zanzeru, ndi mizinda yanzeru.
Zachidziwikire, mamangidwe a IoT amatha kugawidwa m'magawo enanso, koma ngakhale ali ndi zigawo zingati, mfundo yayikulu imakhalabe yofanana. Kuphunzira
Mutu 1. Chiyambi cha IoT 5

za kamangidwe ka IoT kumathandizira kumvetsetsa kwathu ukadaulo wa IoT ndikupanga ma projekiti a IoT ogwira ntchito bwino.
1.2 Kugwiritsa ntchito kwa IoT mu Smart Homes
IoT yalowa m'mbali zonse za moyo, ndipo ntchito yogwirizana kwambiri ya IoT kwa ife ndi nyumba yanzeru. Zida zambiri zachikhalidwe tsopano zili ndi chipangizo chimodzi kapena zingapo za IoT, ndipo nyumba zambiri zomangidwa kumene zidapangidwa ndi ukadaulo wa IoT kuyambira pachiyambi. Chithunzi 1.1 chikuwonetsa zida zina zodziwika bwino zapanyumba.
Chithunzi 1.1. Zida zodziwika bwino zapanyumba Kukula kwa nyumba yanzeru kumatha kugawidwa m'magulu anzeru stage, chiwonetsero cholumikizira stage ndi wanzeru stage, monga momwe chithunzi 1.2.
Chithunzi 1.2. Chitukuko stage of smart home 6 ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT

Yoyamba stage ndi za zinthu zanzeru. Mosiyana ndi nyumba zachikhalidwe, m'nyumba zanzeru, zida za IoT zimalandira ma siginecha okhala ndi masensa, ndipo zimalumikizidwa kudzera paukadaulo wolumikizirana opanda zingwe monga Wi-Fi, Bluetooth LE, ndi ZigBee. Ogwiritsa ntchito amatha kuwongolera zinthu zanzeru m'njira zosiyanasiyana, monga mapulogalamu a foni yam'manja, othandizira mawu, owongolera olankhula anzeru, ndi zina zambiri.tage imayang'ana pa kulumikizana kwa zochitika. Mu stage, Madivelopa sakuganiziranso kuwongolera chinthu chimodzi chanzeru, koma kulumikiza zinthu ziwiri kapena zingapo zanzeru, kudzipangira pamlingo wina, ndipo pomaliza pake kupanga mawonekedwe owonekera. Za exampndipo, wogwiritsa ntchito akasindikiza batani la mawonekedwe aliwonse, magetsi, makatani, ndi zoziziritsa mpweya zidzasinthidwa kuti zigwirizane ndi zomwe zakhazikitsidwa kale. Zachidziwikire, pali chofunikira kuti malingaliro olumikizana akhazikitsidwe mosavuta, kuphatikiza mikhalidwe yoyambitsa ndi zochita. Tangoganizani kuti kutentha kwa mpweya kumayambika pamene kutentha kwa mkati kumatsika pansi pa 10 ° C; kuti nthawi ya 7 koloko m'mawa, nyimbo zimayimbidwa kuti zidzutse wogwiritsa ntchito, makatani anzeru amatsegulidwa, ndipo chophika mpunga kapena chowotcha mkate chimayamba kudzera pa socket yanzeru; pamene wogwiritsa ntchito amadzuka ndikumaliza kusamba, chakudya cham'mawa chaperekedwa kale, kuti pasachedwe kupita kuntchito. Moyo wathu wakhala wosavuta chotani nanga! Chachitatu stagndikupita ku intelligence stage. Pomwe zida zanzeru zakunyumba zimafikira, momwemonso mitundu yama data yopangidwa. Mothandizidwa ndi cloud computing, deta yaikulu ndi luntha lochita kupanga, zili ngati "ubongo wanzeru" wabzalidwa m'nyumba zanzeru, zomwe sizikufunanso malamulo afupipafupi kuchokera kwa wogwiritsa ntchito. Amasonkhanitsa deta kuchokera muzochita zam'mbuyomu ndikuphunzira machitidwe a wogwiritsa ntchito ndi zomwe amakonda, kuti athe kusintha zochitika, kuphatikizapo kupereka malingaliro opangira zisankho. Pakadali pano, nyumba zambiri zanzeru zili pamalo olumikizirana stage. Pamene kuchuluka kwa malowedwe ndi luntha lazinthu zanzeru zikuchulukirachulukira, zotchinga pakati pa njira zolumikizirana zikuchotsedwa. M'tsogolomu, nyumba zanzeru ziyenera kukhala "zanzeru" kwenikweni, monga AI system Jarvis in Iron Man, yomwe siingathandize wogwiritsa ntchito kulamulira zipangizo zosiyanasiyana, kusamalira zochitika za tsiku ndi tsiku, komanso kukhala ndi mphamvu zamakompyuta apamwamba ndi luso loganiza. Mu anzeru stage, anthu adzalandira mautumiki abwinoko mochuluka komanso mwaubwino.
Mutu 1. Chiyambi cha IoT 7

8 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Kuyambitsa Mutu ndi Kuchita kwa 2 IoT Projects
Mu Chaputala 1, tidayambitsa kamangidwe ka IoT, ndi maudindo ndi kulumikizana kwa kawonedwe & kuwongolera, kusanja kwa netiweki, nsanja, ndi mawonekedwe ogwiritsira ntchito, komanso chitukuko cha nyumba yanzeru. Komabe, monga momwe timaphunzirira kujambula, kudziwa chidziwitso chabodza sikukwanira. Tiyenera "kudetsa manja athu" kuti tigwiritse ntchito ma projekiti a IoT kuti tidziwe bwino ukadaulo. Kuonjezera apo, pamene polojekiti ikupita kukupanga kwakukulu stage, ndikofunikira kulingalira zinthu zambiri monga kulumikizidwa kwa netiweki, kasinthidwe, kuyanjana kwa nsanja ya IoT yamtambo, kasamalidwe ka firmware ndi zosintha, kasamalidwe ka kupanga misa, ndi kasinthidwe kachitetezo. Ndiye, tifunika kusamala chiyani tikamapanga projekiti yathunthu ya IoT? Mu Chaputala 1, tidanena kuti nyumba yanzeru ndi imodzi mwazomwe zimagwiritsidwa ntchito kwambiri ndi IoT, ndipo magetsi anzeru ndi amodzi mwa zida zoyambira komanso zothandiza, zomwe zitha kugwiritsidwa ntchito mnyumba, mahotela, malo ochitira masewera olimbitsa thupi, zipatala, ndi zina zambiri. bukhuli, tidzatenga ntchito yomanga pulojekiti yowunikira mwanzeru ngati poyambira, kufotokoza zigawo zake ndi mawonekedwe ake, ndikupereka chitsogozo pa chitukuko cha polojekiti. Tikukhulupirira kuti mutha kutengera malingaliro pankhaniyi kuti mupange ma IoT ambiri.
2.1 Chidziwitso cha Ntchito Zofananira za IoT
Pankhani ya chitukuko, ma modules oyambira ntchito za IoT amatha kugawidwa kukhala mapulogalamu ndi chitukuko cha zida za IoT, chitukuko cha kasitomala, ndi chitukuko cha nsanja ya IoT. Ndikofunikira kufotokozera ma modules oyambira, omwe adzafotokozedwenso m'gawo lino.
2.1.1 Basic Modules for Common IoT Devices
Kukula kwa mapulogalamu ndi zida za zida za IoT kumaphatikizapo magawo otsatirawa: Kusonkhanitsa deta
Monga gawo lapansi la zomangamanga za IoT, zida za IoT zowonera & zowongolera zimalumikiza masensa ndi zida kudzera mu tchipisi tawo ndi zotumphukira kuti akwaniritse kusonkhanitsa deta ndikuwongolera magwiridwe antchito.
9

Kumanga akaunti ndi kasinthidwe koyambirira Pazida zambiri za IoT, kumanga maakaunti ndi kasinthidwe koyambirira zimamalizidwa munjira imodzi yogwirira ntchito, monga kale.ample, kulumikiza zida ndi ogwiritsa ntchito pokonza netiweki ya Wi-Fi.
Kuyanjana ndi nsanja zamtambo za IoT Kuti muyang'anire ndikuwongolera zida za IoT, ndikofunikiranso kuzilumikiza ku nsanja zamtambo za IoT, kuti mupereke malamulo ndikuwonetsa momwe mumakhalira polumikizana wina ndi mnzake.
Kuwongolera kwa chipangizo Mukalumikizidwa ndi nsanja zamtambo za IoT, zida zimatha kulumikizana ndi mtambo ndikulembetsedwa, kumangidwa, kapena kuwongolera. Ogwiritsa ntchito amatha kufunsa momwe zinthu ziliri ndikuchita zina pa pulogalamu ya smartphone kudzera pamapulatifomu amtambo a IoT kapena ma protocol am'deralo.
Kukweza kwa Firmware IoT zida zithanso kukwaniritsa kukweza kwa firmware kutengera zosowa za opanga. Polandira malamulo otumizidwa ndi mtambo, kukweza kwa firmware ndi kasamalidwe ka mtundu kudzachitika. Ndi mawonekedwe a firmware awa, mutha kupititsa patsogolo magwiridwe antchito a zida za IoT, kukonza zolakwika, ndikuwongolera ogwiritsa ntchito.
2.1.2 Magawo Ofunikira a Ma Client Application
Mapulogalamu amakasitomala (mwachitsanzo, mapulogalamu a foni yam'manja) makamaka amakhala ndi magawo otsatirawa:
Dongosolo la akaunti ndi chilolezo Imathandizira kuvomereza akaunti ndi chipangizo.
Kuwongolera zida Mapulogalamu a Smartphone nthawi zambiri amakhala ndi ntchito zowongolera. Ogwiritsa ntchito amatha kulumikizana mosavuta ndi zida za IoT, ndikuziwongolera nthawi iliyonse, kulikonse kudzera pa mapulogalamu a smartphone. M'nyumba yeniyeni yeniyeni, zipangizo zimayendetsedwa makamaka kudzera mu mapulogalamu a foni yamakono, zomwe sizimangothandiza kasamalidwe kanzeru ka zipangizo, komanso zimapulumutsa mtengo wa ogwira ntchito. Chifukwa chake, kuwongolera zida ndikofunikira pamapulogalamu amakasitomala, monga kuwongolera mawonekedwe a chipangizo, kuwongolera mawonekedwe, kukonza, kuwongolera kutali, kulumikizana ndi zida, ndi zina. Ogwiritsa ntchito kunyumba anzeru amathanso kusintha mawonekedwe malinga ndi zosowa zawo, kuyatsa kuwongolera, zida zapanyumba, polowera. , ndi zina, kuti moyo wapakhomo ukhale womasuka komanso wosavuta. Amatha nthawi yoziziritsira mpweya, kuzimitsa chapatali, kuyatsa nyali yapanjira yokhayokha chitseko chikatsegulidwa, kapena kusinthana ndi "tiyetse" ndi batani limodzi.
Mapulogalamu a Notification Client amasintha nthawi yeniyeni ya zida za IoT, ndikutumiza zidziwitso zida zikavuta.
10 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Mapulogalamu amakasitomala akamagulitsa ma Smartphone atha kupereka ntchito zogulitsa pambuyo pogulitsa, kuthetsa mavuto okhudzana ndi kulephera kwa zida za IoT komanso magwiridwe antchito munthawi yake.
Ntchito zowonetsedwa Kuti zikwaniritse zosowa za ogwiritsa ntchito osiyanasiyana, ntchito zina zitha kuwonjezeredwa, monga Shake, NFC, GPS, ndi zina zambiri. GPS ingathandize kukhazikitsa kulondola kwa zochitika zomwe zikuchitika molingana ndi malo ndi mtunda, pomwe ntchito ya Shake imalola ogwiritsa ntchito kukhazikitsa amalamula kuti aphedwe pa chipangizo china kapena powonekera pogwedeza.
2.1.3 Chiyambi cha Common IoT Cloud Platforms
IoT mtambo nsanja ndi nsanja-in-one yomwe imaphatikiza ntchito monga kasamalidwe ka zida, kulumikizana kwachitetezo cha data, ndi kasamalidwe ka zidziwitso. Malinga ndi gulu lawo komanso kupezeka kwawo, nsanja zamtambo za IoT zitha kugawidwa m'mapulatifomu amtundu wa IoT (omwe amatchedwa "mtambo wapagulu") ndi nsanja zamtambo za IoT (zomwe zimatchedwa "mtambo wachinsinsi").
Mitambo yapagulu nthawi zambiri imawonetsa nsanja zogawana za IoT zamabizinesi kapena anthu, zoyendetsedwa ndikusamalidwa ndi opereka nsanja, ndikugawidwa pa intaneti. Itha kukhala yaulere kapena yotsika mtengo, ndipo imapereka ntchito pamaneti onse otseguka, monga Alibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT, ndi zina zotero. ogwiritsa ntchito kumapeto kuti apange unyolo watsopano wamtengo wapatali ndi chilengedwe.
Mtambo wachinsinsi umapangidwa kuti ugwiritse ntchito mabizinesi okha, motero umatsimikizira kuwongolera bwino kwa data, chitetezo, ndi mtundu wautumiki. Ntchito zake ndi zomangamanga zimasungidwa mosiyana ndi mabizinesi, ndipo zida zothandizira ndi mapulogalamu zimaperekedwanso kwa ogwiritsa ntchito ena. Mabizinesi amatha kusintha mautumiki amtambo kuti akwaniritse zosowa zamabizinesi awo. Pakadali pano, ena opanga nyumba anzeru ali kale ndi nsanja zamtambo za IoT zachinsinsi ndipo apanga mapulogalamu anzeru akunyumba kutengera iwo.
Mtambo wapagulu ndi mtambo wachinsinsi uli ndi advan yawotages, zomwe zidzafotokozedwa pambuyo pake.
Kuti mukwaniritse kulumikizana, ndikofunikira kumaliza chitukuko chokhazikika pambali ya chipangizocho, pamodzi ndi ma seva abizinesi, nsanja zamtambo za IoT, ndi mapulogalamu a smartphone. Poyang'anizana ndi projekiti yayikulu chonchi, mtambo wapagulu nthawi zambiri umapereka zida zopangira mapulogalamu am'mbali mwa zida ndi ma smartphone kuti afulumizitse ntchitoyi. Mitambo yapagulu ndi yachinsinsi imapereka ntchito kuphatikiza mwayi wofikira pazida, kasamalidwe ka zida, mawonekedwe a chipangizocho, kugwiritsa ntchito ndi kukonza.
Kufikira pazida za IoT mtambo kuyenera kupereka osati zolumikizirana ndi zida pogwiritsa ntchito ma protocol
Mutu 2. Chiyambi ndi Kachitidwe ka IoT Projects 11

monga MQTT, CoAP, HTTPS, ndi WebSocket, komanso ntchito yotsimikizira chitetezo cha chipangizocho kuti atseke zida zabodza komanso zosaloledwa, zomwe zimachepetsa chiopsezo chokhala pachiwopsezo. Kutsimikizika kotereku kumathandizira njira zosiyanasiyana, chifukwa chake zida zikapangidwa mochuluka, ndikofunikira kugawa chiphaso cha chipangizocho molingana ndi njira yotsimikizika yosankhidwa ndikuwotcha mu zida.
Kasamalidwe ka zida Ntchito yoyang'anira zida yoperekedwa ndi nsanja zamtambo za IoT sizingathandize opanga kuwunika momwe zida zawo zilili komanso momwe zida zawo ziliri pa intaneti munthawi yeniyeni, komanso zimalola zosankha monga kuwonjezera / kuchotsa zida, kubweza, kuwonjezera / kufufuta magulu, kukweza kwa firmware. , ndi kasamalidwe ka mtundu.
Mapulatifomu amtambo amtundu wa IoT amatha kupanga mtundu wokhazikika (mthunzi wa chipangizo) pachida chilichonse, ndipo mawonekedwe amtundu wa chipangizocho amatha kulumikizidwa ndikupezedwa ndi pulogalamu ya smartphone kapena zida zina kudzera pama protocol otumizira pa intaneti. Mthunzi wa chipangizocho umasunga mbiri yaposachedwa komanso momwe chipangizocho chikuyembekezeredwa pa chipangizo chilichonse, ndipo ngakhale chidacho chilibe intaneti, chikhoza kupezabe poyimba ma API. Mthunzi wa chipangizo umapereka ma API omwe amakhalapo nthawi zonse, zomwe zimapangitsa kukhala kosavuta kupanga mapulogalamu a smartphone omwe amalumikizana ndi zida.
Kagwiritsidwe ntchito ndi kukonza Ntchito ya O&M ili ndi zinthu zitatu: · Kuwonetsa zidziwitso za zida za IoT ndi zidziwitso. · Kuwongolera logi kumalola kuti zidziwitso zizipezeka pazida, kutsika / kutsika kwa uthenga, ndi zomwe zili muuthenga. · Kukonza zolakwika pazida kumathandizira kuperekedwa kwa malamulo, kusinthidwa kwa kasinthidwe, ndikuwona kuyanjana pakati pa nsanja zamtambo za IoT ndi mauthenga a chipangizocho.
2.2 Yesani: Smart Light Project
Pambuyo poyambitsa zongopeka pamutu uliwonse, mupeza gawo loyeserera lokhudzana ndi projekiti ya Smart Light kuti ikuthandizeni kudziwa zambiri. Pulojekitiyi idakhazikitsidwa ndi Espressif's ESP32-C3 chip ndi ESP RainMaker IoT Cloud Platform, ndipo imakwirira ma module opanda zingwe muzinthu zamagetsi zamagetsi, mapulogalamu ophatikizidwa a zida zanzeru zochokera ku ESP32C3, mapulogalamu a smartphone, ndi kulumikizana kwa ESP RainMaker.
Khodi yochokera Kuti muphunzire bwino ndikukulitsa chidziwitso, pulojekiti yomwe ili m'bukuli yatsegulidwa. Mutha kutsitsa kachidindo kuchokera kumalo athu a GitHub https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

2.2.1 Kapangidwe ka Ntchito
Pulojekiti ya Smart Light ili ndi magawo atatu: i. Zida zowunikira zanzeru zochokera pa ESP32-C3, zomwe zimayang'anira kulumikizana ndi nsanja zamtambo za IoT, ndikuwongolera kusintha, kuwala ndi kutentha kwamtundu wa LED l.amp mikanda. ii. Mapulogalamu a foni yam'manja (kuphatikiza mapulogalamu a piritsi omwe akuyenda pa Android ndi iOS), omwe ali ndi udindo wokonza ma netiweki azinthu zamagetsi zamagetsi, komanso kufunsa ndi kuwongolera momwe zinthu ziliri.
iii. Pulatifomu yamtambo ya IoT yozikidwa pa ESP RainMaker. Kuti muchepetse, timaganizira za nsanja ya IoT yamtambo ndi seva yabizinesi yonse m'bukuli. Zambiri za ESP RainMaker zidzaperekedwa mu Mutu 3.
Kulumikizana pakati pa kapangidwe ka polojekiti ya Smart Light ndi kamangidwe ka IoT kukuwonetsedwa pazithunzi 2.1.
Chithunzi 2.1. Kapangidwe ka projekiti yanzeru yowunikira
2.2.2 Ntchito za Project
Zogawidwa molingana ndi kapangidwe kake, ntchito za gawo lililonse ndi izi. Zida zamagetsi zamagetsi
· Kusintha kwa netiweki ndi kulumikizana. · Kuwongolera kwa LED PWM, monga kusintha, kuwala, kutentha kwamtundu, ndi zina zambiri. * Kubisa ndi kusungitsa kotetezedwa kwa Flash. · Kusintha kwa firmware ndikuwongolera mtundu.
Mutu 2. Chiyambi ndi Kachitidwe ka IoT Projects 13

Mapulogalamu a foni yam'manja · Kukonzekera kwa netiweki ndi kumanga zida. · Kuwongolera zinthu zanzeru, monga switch, kuwala, kutentha kwamitundu, ndi zina zambiri. · Kuwongolera kwanuko/kutali. · Kulembetsa kwa ogwiritsa ntchito, kulowa, ndi zina.
ESP RainMaker IoT mtambo nsanja · Kuthandizira kugwiritsa ntchito zida za IoT. * Kupereka ma API ogwiritsira ntchito zida zopezeka ndi mapulogalamu a smartphone. · Kusintha kwa firmware ndikuwongolera mtundu.
2.2.3 Kukonzekera kwa Hardware
Ngati mukufuna kugwiritsa ntchito ntchitoyi, mudzafunikanso zida zotsatirazi: magetsi anzeru, mafoni a m'manja, ma routers a Wi-Fi, ndi kompyuta yomwe ikukwaniritsa zofunikira za chitukuko. Magetsi anzeru
Magetsi anzeru ndi mtundu watsopano wa mababu, omwe mawonekedwe ake ndi ofanana ndi babu onse a incandescent. Kuwala kwanzeru kumapangidwa ndi magetsi oyendetsedwa ndi capacitor potsika pansi, module yopanda zingwe (yokhala ndi ESP32-C3 yomangidwa), wowongolera wa LED ndi matrix a RGB LED. Mukalumikizidwa ndi mphamvu, 15 V DC voltage zotuluka pambuyo potsika capacitor, kukonzanso diode, ndi kuwongolera kumapereka mphamvu kwa wowongolera wa LED ndi matrix a LED. Wowongolera wa LED amatha kutumiza milingo yayikulu komanso yotsika pakanthawi kochepa, ndikusinthira matrix a RGB LED pakati pa kutsekedwa (kuyatsa) ndi kutseguka (kuyatsa), kuti athe kutulutsa cyan, chikasu, chobiriwira, chofiirira, chabuluu, chofiira, ndi kuwala koyera. Module yopanda zingwe imayang'anira kulumikizana ndi rauta ya Wi-Fi, kulandira ndi kuwonetsa momwe magetsi anzeru alili, ndikutumiza malamulo kuti aziwongolera ma LED.
Chithunzi 2.2. Kuwala kofananira kwanzeru
Mu chitukuko choyambirira stage, mutha kutengera kuwala kwanzeru pogwiritsa ntchito bolodi la ESP32-C3DevKitM-1 lolumikizidwa ndi RGB LED lamp mikanda (onani Chithunzi 2.2). Koma muyenera
14 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

dziwani kuti iyi si njira yokhayo yolumikizira kuwala kwanzeru. Mapangidwe a Hardware a polojekitiyi m'bukuli ali ndi gawo lopanda zingwe (lokhala ndi ESP32-C3) koma osati mawonekedwe athunthu anzeru. Kuphatikiza apo, Espressif imapanganso ESP32-C3-based audio development board ESP32C3-Lyra yowongolera magetsi okhala ndi ma audio. Bolodi ili ndi zolumikizira maikolofoni ndi okamba ndipo imatha kuwongolera mizere ya LED. Itha kugwiritsidwa ntchito popanga zowulutsa zotsika mtengo kwambiri, zowoneka bwino kwambiri komanso zowunikira zowunikira. Chithunzi 2.3 chikuwonetsa bolodi la ESP32-C3Lyra lolumikizidwa ndi mzere wa nyali 40 za LED.
Chithunzi 2.3. ESP32-C3-Lyra yolumikizidwa ndi mzere wa 40 nyali za LED
Mafoni a m'manja (Android/iOS) Pulojekiti ya Smart Light ikuphatikizapo kupanga pulogalamu ya foni yamakono yokhazikitsira ndi kuyang'anira magetsi anzeru.
Ma routers a Wi-Fi Ma routers a Wi-Fi amasintha ma siginecha a netiweki ndi ma siginecha am'manja kukhala ma netiweki opanda zingwe, kuti makompyuta, mafoni am'manja, mapiritsi, ndi zida zina zopanda zingwe zilumikizidwe ku netiweki. Za exampKomanso, burodibandi m'nyumba imangofunika kulumikizidwa ndi rauta ya Wi-Fi kuti ikwaniritse maukonde opanda zingwe a zida za Wi-Fi. Muyezo waukulu wa protocol wothandizidwa ndi ma routers a Wi-Fi ndi IEEE 802.11n, yokhala ndi TxRate ya 300 Mbps, kapena 600 Mbps pamlingo wapamwamba. Iwo ali kumbuyo n'zogwirizana ndi IEEE 802.11b ndi IEEE 802.11g. Chip ESP32-C3 yolembedwa ndi Espressif imathandizira IEEE 802.11b/g/n, kotero mutha kusankha gulu limodzi (2.4 GHz) kapena gulu lapawiri (2.4 GHz ndi 5 GHz) Wi-Fi rauta.
Chitukuko cha kompyuta (Linux/macOS/Windows) Chitukuko chidzayambitsidwa mu Mutu 4. Mutu 2. Chiyambi ndi Kuchita kwa IoT Projects 15

2.2.4 Ndondomeko Yachitukuko
Chithunzi 2.4. Njira zopangira projekiti ya Smart Light
Kupanga kwa Hardware Kupanga kwa zida za IoT ndikofunikira pantchito ya IoT. Pulojekiti yathunthu yowunikira yanzeru idapangidwa kuti ipange alamp kugwira ntchito pansi pa mains supply. Opanga osiyanasiyana amapanga lamps a masitaelo osiyanasiyana ndi mitundu yoyendetsa, koma ma module awo opanda zingwe nthawi zambiri amakhala ndi ntchito yomweyo. Kuti muchepetse chitukuko cha pulojekiti ya Smart Ligh, bukhuli limangokhudza mapangidwe a hardware ndi chitukuko cha mapulogalamu a ma module opanda zingwe.
Kukonzekera kwa nsanja ya IoT Kuti mugwiritse ntchito nsanja zamtambo za IoT, muyenera kukonza mapulojekiti kumbuyo, monga kupanga zinthu, kupanga zida, kukhazikitsa zida, ndi zina zambiri.
Kupanga mapulogalamu ophatikizidwa a zida za IoT Kukhazikitsa ntchito zomwe zikuyembekezeka ndi ESP-IDF, SDK ya mbali ya Espressif, kuphatikiza kulumikizana ndi nsanja zamtambo za IoT, kupanga madalaivala a LED, ndikukweza firmware.
Kupanga mapulogalamu a foni yam'manja Pangani mapulogalamu a foni yam'manja a machitidwe a Android ndi iOS kuti azindikire kulembetsa kwa ogwiritsa ntchito ndi kulowa, kuwongolera zida ndi ntchito zina.
Kukhathamiritsa kwa zida za IoT Mukamaliza kukonza zida za IoT, mutha kutembenukira ku ntchito zokhathamiritsa, monga kukhathamiritsa mphamvu.
Kuyesa kupanga misa Chitani zoyesa zopanga zambiri molingana ndi miyezo yofananira, monga kuyesa kwa zida, kuyesa kukalamba, kuyesa kwa RF, ndi zina zambiri.
Ngakhale masitepe omwe atchulidwa pamwambapa, projekiti ya Smart Light sikuti ili ndi njira zotere chifukwa ntchito zosiyanasiyana zimathanso kuchitika nthawi imodzi. Za example, mapulogalamu ophatikizidwa ndi mapulogalamu a smartphone akhoza kupangidwa mofanana. Njira zina zingafunikire kubwerezedwanso, monga kukhathamiritsa kwa chipangizo cha IoT komanso kuyesa kupanga kwakukulu.
16 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

2.3 Mwachidule
M'mutu uno, tidafotokoza kaye za magawo oyambira ndi ma module ogwirira ntchito a projekiti ya IoT, kenaka tinayambitsa nkhani ya Smart Light kuti tigwiritse ntchito, ponena za kapangidwe kake, ntchito zake, kukonzekera kwa zida, ndi njira yopangira chitukuko. Owerenga amatha kutengera zomwe adachitazo ndikukhala ndi chidaliro chochita ma projekiti a IoT osalakwitsa pang'ono mtsogolo.
Mutu 2. Chiyambi ndi Kachitidwe ka IoT Projects 17

18 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Mutu 3

Mawu Oyamba

ku

ESP

RainMaker

Intaneti ya Zinthu (IoT) imapereka mwayi wambiri wosintha momwe anthu amakhalira, komabe chitukuko chaukadaulo wa IoT chili ndi zovuta zambiri. Ndi mitambo yapagulu, opanga ma terminal amatha kugwiritsa ntchito magwiridwe antchito kudzera munjira zotsatirazi:
Kutengera mapulatifomu amtambo opereka mayankho Mwanjira imeneyi, opanga ma terminal amangofunika kupanga zida zopangira, kenako kulumikiza zida zamtambo kumtambo pogwiritsa ntchito gawo lolumikizana lomwe laperekedwa, ndikukonzekera ntchito zogulitsa potsatira malangizowo. Iyi ndi njira yabwino chifukwa imathetsa kufunika kwa seva-mbali ndi ntchito-mbali chitukuko ndi ntchito ndi kukonza (O&M). Imalola opanga ma terminal kuti azingoyang'ana pakupanga kwa hardware popanda kuganizira kukhazikitsa mtambo. Komabe, mayankho otere (mwachitsanzo, firmware ya chipangizo ndi App) nthawi zambiri sakhala gwero lotseguka, chifukwa chake magwiridwe antchito amachepetsedwa ndi nsanja yamtambo yomwe singasinthidwe makonda. Pakadali pano, data ya wogwiritsa ntchito ndi chipangizocho imakhalanso papulatifomu yamtambo.
Kuchokera kuzinthu zamtambo Mu yankho ili, atatha kumaliza mapangidwe a hardware, opanga ma terminal samangofunika kukhazikitsa ntchito zamtambo pogwiritsa ntchito chimodzi kapena zingapo zamtambo zomwe zimaperekedwa ndi mtambo wa anthu, komanso zimafunikanso kugwirizanitsa hardware ndi mtambo. Za example, kulumikiza ku Amazon Web Services (AWS), opanga ma terminal ayenera kugwiritsa ntchito zinthu za AWS monga Amazon API Gateway, AWS IoT Core, ndi AWS Lambda kuti athe kupeza zida, kuwongolera kutali, kusungirako deta, kasamalidwe ka ogwiritsa ntchito, ndi ntchito zina zofunika. Sichimangopempha opanga ma terminal kuti agwiritse ntchito mosinthika ndikusintha zinthu zamtambo ndikumvetsetsa mozama komanso luso lambiri, komanso zimafunikira kuti aganizire za mtengo womanga ndi kukonza zoyambira komanso pambuyo pake.tages Izi zimabweretsa zovuta zazikulu ku mphamvu ndi chuma cha kampani.
Poyerekeza ndi mitambo ya anthu, mitambo yachinsinsi nthawi zambiri imapangidwira mapulojekiti ndi zinthu zina. Opanga mtambo wachinsinsi amapatsidwa ufulu wapamwamba kwambiri pakupanga ma protocol ndi kukhazikitsa malingaliro abizinesi. Opanga ma terminal amatha kupanga zinthu ndi mapulani apangidwe mwakufuna kwawo, ndikuphatikiza mosavuta ndikupatsa mphamvu zambiri za ogwiritsa ntchito. Kuphatikiza chitetezo chapamwamba, scalability ndi kudalirika kwamtambo wapagulu ndi advantagpamtambo wachinsinsi, Espressif idakhazikitsa ESP
19

RainMaker, njira yolumikizira yachinsinsi yamtambo yochokera pamtambo wa Amazon. Ogwiritsa ntchito amatha kutumiza ESP RainMaker ndikupanga mtambo wachinsinsi ndi akaunti ya AWS.
3.1 Kodi ESP RainMaker ndi chiyani?
ESP RainMaker ndi nsanja yathunthu ya AIoT yomangidwa ndi zinthu zambiri zokhwima za AWS. Amapereka mautumiki osiyanasiyana ofunikira kuti apange zinthu zambiri monga kupeza mtambo wa chipangizo, kukweza zipangizo, kasamalidwe ka backend, malowedwe a chipani chachitatu, kuphatikiza mawu, ndi kasamalidwe ka ogwiritsa ntchito. Pogwiritsa ntchito Serverless Application Repository (SAR) yoperekedwa ndi AWS, opanga ma terminal amatha kutumiza ESP RainMaker mwachangu kumaakaunti awo a AWS, yomwe imakhala yogwira ntchito komanso yosavuta kugwiritsa ntchito. Yoyendetsedwa ndi kusungidwa ndi Espressif, SAR yogwiritsidwa ntchito ndi ESP RainMaker imathandiza omanga kuchepetsa mtengo wokonza mitambo ndikufulumizitsa chitukuko cha zinthu za AIoT, motero kumanga njira zotetezeka, zokhazikika, komanso zosinthika za AIoT. Chithunzi 3.1 chikuwonetsa kamangidwe ka ESP RainMaker.
Chithunzi 3.1. Zomangamanga za ESP RainMaker
Seva yapagulu ya ESP RainMaker yolembedwa ndi Espressif ndi yaulere kwa onse okonda ESP, opanga, ndi aphunzitsi kuti athe kuunika mayankho. Madivelopa amatha kulowa ndi akaunti za Apple, Google, kapena GitHub, ndikupanga mwachangu ma prototypes awo a IoT. Seva yapagulu imaphatikiza Alexa ndi Google Home, ndipo imapereka mautumiki owongolera mawu, omwe amathandizidwa ndi Alexa Skill ndi Google Actions. Ntchito yake yozindikiritsa semantic imayendetsedwanso ndi anthu ena. Zida za RainMaker IoT zimangoyankha pazochita zinazake. Kuti mumve zambiri zamawu omwe amathandizidwa, chonde onani nsanja za anthu ena. Kuphatikiza apo, Espressif imapereka pulogalamu yapagulu ya RainMaker kwa ogwiritsa ntchito kuti aziwongolera malonda kudzera pa mafoni. 20 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

3.2 Kukhazikitsa kwa ESP RainMaker
Monga momwe zasonyezedwera pa Chithunzi 3.2, ESP RainMaker ili ndi magawo anayi: · Claiming Service, yomwe imathandiza zipangizo za RainMaker kuti zipeze ziphaso. · RainMaker Cloud (yomwe imadziwikanso kuti cloud backend), yopereka ntchito monga kusefa mauthenga, kasamalidwe ka ogwiritsa ntchito, kusungirako deta, ndi kuphatikiza kwa gulu lachitatu. · RainMaker Agent, yopangitsa zida za RainMaker kuti zilumikizidwe ndi RainMaker Cloud. · RainMaker Client (RainMaker App kapena CLI scripts), popereka, kupanga ogwiritsa ntchito, kulumikizana ndi zida ndi kuwongolera, ndi zina zambiri.
Chithunzi 3.2. Kapangidwe ka ESP RainMaker
ESP RainMaker imapereka zida zonse zopangira zopangira ndi kupanga zochuluka, kuphatikiza: RainMaker SDK
RainMaker SDK idakhazikitsidwa pa ESP-IDF ndipo imapereka khodi yochokera pa chipangizocho ndi ma C API okhudzana ndi chitukuko cha fimuweya. Madivelopa amangofunika kulemba malingaliro ogwiritsira ntchito ndikusiya zina zonse ku RainMaker chimango. Kuti mudziwe zambiri za C APIs, chonde pitani ku https://bookc3.espressif.com/rm/c-api-reference. RainMaker App Mtundu wapoyera wa RainMaker App umalola opanga madivelopa kumaliza kupereka zida, ndikuwongolera ndikufunsa momwe zida ziliri (monga zinthu zowunikira mwanzeru). Imapezeka pamasitolo onse a iOS ndi Android. Kuti mudziwe zambiri, chonde onani Mutu 10. REST APIs REST APIs amathandiza ogwiritsa ntchito kupanga mapulogalamu awo ofanana ndi RainMaker App. Kuti mudziwe zambiri, chonde pitani ku https://swaggerapis.rainmaker.espressif.com/.
Mutu 3. Mau oyamba a ESP RainMaker 21

Python APIs CLI yochokera ku Python, yomwe imabwera ndi RainMaker SDK, imaperekedwa kuti ikwaniritse ntchito zonse zofanana ndi mawonekedwe a smartphone. Kuti mumve zambiri za Python APIs, chonde pitani https://bookc3.espressif.com/rm/python-api-reference.
Admin CLI Admin CLI, yokhala ndi mwayi wapamwamba, imaperekedwa kuti ESP RainMaker atumizidwe mwachinsinsi kuti apange masatifiketi a chipangizocho mochulukira.
3.2.1 Kufunsira Ntchito
Kulankhulana konse pakati pa zida za RainMaker ndi mtambo backend kumachitika kudzera pa MQTT + TLS. Pankhani ya ESP RainMaker, "Kunena" ndi njira yomwe zida zimapezera ziphaso kuchokera ku Claiming Service kuti zilumikizane ndi mtambo backend. Dziwani kuti Claiming Service imagwira ntchito ku RainMaker ya anthu onse, pomwe pakutumizidwa kwachinsinsi, ziphaso za chipangizocho ziyenera kupangidwa mochuluka kudzera mu Admin CLI. ESP RainMaker imathandizira mitundu itatu ya Utumiki Wofuna: Kudzinenera Mwini
Chipangizocho chokha chimatenga satifiketi kudzera pa kiyi yachinsinsi yomwe idakonzedweratu mu eFuse mutalumikizidwa pa intaneti. Kudzinenera Koyendetsedwa ndi Host Ma satifiketi amapezedwa kuchokera kwa woyambitsa ndi akaunti ya RainMaker. Kufuna Kuthandizidwa Ma satifiketi amapezedwa kudzera pa mapulogalamu a smartphone panthawi yopereka.
3.2.2 Wopanga Mvula
Chithunzi 3.3. Kapangidwe ka RainMaker SDK Ntchito yayikulu ya RainMaker Agent ndikupereka kulumikizana ndikuthandizira gulu la pulogalamuyo kukonza data yamtambo ya uplink/downlink. Imapangidwa kudzera mu RainMaker SDK 22 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

ndi kupangidwa kutengera dongosolo lotsimikiziridwa la ESP-IDF, pogwiritsa ntchito zigawo za ESP-IDF monga RTOS, NVS, ndi MQTT. Chithunzi 3.3 chikuwonetsa mawonekedwe a RainMaker SDK.
RainMaker SDK imaphatikizapo zinthu ziwiri zazikulu.
Kulumikizana
ndi. Kugwirizana ndi Claiming Service kuti mupeze ziphaso za chipangizocho.
ii. Kulumikiza ku backend yamtambo pogwiritsa ntchito protocol ya MQTT yotetezedwa kuti ipereke kulumikizana kwakutali ndikukhazikitsa kuwongolera kwakutali, kulengeza uthenga, kasamalidwe ka ogwiritsa ntchito, kasamalidwe ka zida, ndi zina. Imagwiritsa ntchito gawo la MQTT mu ESP-IDF mwachisawawa ndipo imapereka wosanjikiza wosanjikiza kuti agwirizane ndi zina. ma protocol.
iii. Kupereka gawo la wifi yolumikizira ndi kupereka ma Wi-Fi, esp https ota chigawo chokweza OTA, ndi esp ctrl chigawo chapafupi kuti apeze zida zam'deralo ndi kulumikizana. Zolinga zonsezi zitha kukwaniritsidwa kudzera mukusintha kosavuta.
Kukonza deta
ndi. Kusunga masatifiketi a chipangizo choperekedwa ndi Claiming Service ndi data yomwe imafunika mukamagwiritsa ntchito RainMaker, mwachisawawa pogwiritsa ntchito mawonekedwe operekedwa ndi gawo la nvs flash, ndikupereka ma API kwa opanga kuti agwiritse ntchito mwachindunji.
ii. Kugwiritsa ntchito njira yoyimbira foni pokonza data yamtambo ya uplink/downlink ndikutsegula zokha zomwe zili mugawo la pulogalamuyo kuti zitheke mosavuta ndi opanga. Za example, RainMaker SDK imapereka njira zambiri zopezera data ya TSL (Thing Specification Language), yomwe imayenera kutanthauzira mitundu ya TSL pofotokoza zida za IoT ndikugwiritsa ntchito ntchito monga nthawi, kuwerengera, ndi kuwongolera mawu. Pazinthu zoyambira zolumikizirana monga kuwerengera nthawi, RainMaker SDK imapereka yankho lopanda chitukuko lomwe limatha kuthandizidwa pakafunika. Kenako, Wothandizira wa RainMaker adzakonza detayo mwachindunji, kuitumiza kumtambo kudzera pamutu wa MQTT wogwirizana, ndikubwezeretsanso kusintha kwa data mumtambo wakumbuyo kudzera pamakina obwereza.
3.2.3 Cloud Backend
Cloud backend imamangidwa pa AWS Serverless Computing ndipo imatheka kudzera mu AWS Cognito (identity management system), Amazon API Gateway, AWS Lambda (serverless computing service), Amazon DynamoDB (NoSQL database), AWS IoT Core (IoT access core yomwe imapereka mwayi kwa MQTT. ndi kusefa malamulo), Amazon Simple Email Service (SES simple mail service), Amazon CloudFront (fast delivery network), Amazon Simple Queue Service (SQS message queuing), ndi Amazon S3 (bucket storage service). Cholinga chake ndi kukulitsa scalability ndi chitetezo. Ndi ESP RainMaker, Madivelopa amatha kuyendetsa zida popanda kulemba ma code pamtambo. Mauthenga onenedwa ndi zida amatumizidwa momveka bwino
Mutu 3. Mau oyamba a ESP RainMaker 23

makasitomala ofunsira kapena ntchito zina za chipani chachitatu. Gulu 3.1 likuwonetsa zinthu zamtambo za AWS ndi ntchito zomwe zimagwiritsidwa ntchito mumtambo backend, zokhala ndi zinthu zambiri zomwe zikupangidwa.
Gulu 3.1. Zida zamtambo za AWS ndi ntchito zomwe zimagwiritsidwa ntchito ndi mtambo backend

AWS Cloud Product Yogwiritsidwa Ntchito ndi RainMaker

Ntchito

AWS Cognito

Kuwongolera zidziwitso za ogwiritsa ntchito ndikuthandizira malowedwe a chipani chachitatu

AWS Lambda

Kukhazikitsa mfundo zazikuluzikulu zabizinesi ya cloud backend

Amazon Timestream Kusunga nthawi mndandanda wa data

Amazon DynamoDB Kusunga zinsinsi zamakasitomala

AWS IoT Core

Kuthandizira kulumikizana kwa MQTT

Amazon SES

Kupereka ntchito zotumizira imelo

Amazon CloudFront Kupititsa patsogolo kasamalidwe ka backend webkupeza malo

Amazon SQS

Kutumiza mauthenga kuchokera ku AWS IoT Core

3.2.4 Makasitomala a RainMaker
Makasitomala a RainMaker, monga App ndi CLI, amalumikizana ndi mtambo wakumbuyo kudzera pa REST API. Zambiri ndi malangizo okhudza REST API atha kupezeka muzolemba za Swagger zoperekedwa ndi Espressif. RainMaker's mobile application kasitomala ikupezeka pa iOS ndi Android machitidwe. Imalola kuperekedwa kwa zida, kuwongolera, ndi kugawana, komanso kupanga ndikuthandizira ntchito zowerengera ndikulumikizana ndi nsanja za chipani chachitatu. Itha kungoyika UI ndi zithunzi molingana ndi kasinthidwe komwe zidanenedwa ndi zida ndikuwonetsa kwathunthu chipangizocho TSL.
Za example, ngati kuwala kwanzeru kumangidwa pa RainMaker SDK-yoperekedwa kaleampLes, chithunzi ndi UI ya nyali ya babu idzakwezedwa yokha pamene kupereka kumalizidwa. Ogwiritsa ntchito amatha kusintha mtundu ndi kuwala kwa kuwala kudzera mu mawonekedwe ndi kukwaniritsa ulamuliro wa chipani chachitatu mwa kugwirizanitsa Alexa Smart Home Skill kapena Google Smart Home Actions ku akaunti zawo za ESP RainMaker. Chithunzi 3.4 chikuwonetsa chithunzi ndi UI wakaleampKuwala kwa babu motsatana pa Alexa, Google Home, ndi ESP RainMaker App.

24 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

(a) Eksampndi Alexa

(b) Eksampndi - Google Home

(c) Eksampndi - ESP RainMaker
Chithunzi 3.4. Exampzithunzi ndi UI wa nyali ya babu pa Alexa, Google Home, ndi ESP RainMaker App
3.3 Yesani: Mfundo Zofunikira Pakukula ndi ESP RainMaker
Chigawo cha oyendetsa chipangizocho chikamalizidwa, opanga mapulogalamu akhoza kuyamba kupanga mitundu ya TSL ndi kukonza data yotsika mtengo pogwiritsa ntchito ma API operekedwa ndi RainMaker SDK, ndikuthandizira ntchito zoyambira za ESP RainMaker potengera tanthauzo la malonda ndi zofunikira.
Mutu 3. Mau oyamba a ESP RainMaker 25

Gawo 9.4 la bukhuli lifotokoza kukhazikitsidwa kwa nyali yanzeru ya LED mu RainMaker. Pakukonza zolakwika, opanga amatha kugwiritsa ntchito zida za CLI mu RainMaker SDK kuti alankhule ndi kuwala kwanzeru (kapena kuyimbira REST APIs kuchokera ku Swagger).
Chaputala 10 chifotokoza za kagwiritsidwe ntchito ka REST APIs popanga mapulogalamu a smartphone. Kukweza kwa OTA kwa nyali zanzeru za LED kudzafotokozedwa mu Mutu 11. Ngati opanga athandizira kuwunika kwakutali kwa ESP Insights, ESP RainMaker management backend idzawonetsa deta ya ESP Insights. Tsatanetsatane idzafotokozedwa mu Mutu 15.
ESP RainMaker imathandizira kutumizidwa kwachinsinsi, komwe kumasiyana ndi seva yapagulu ya RainMaker m'njira izi:
Kufuna Ntchito Kuti mupange ziphaso m'malo mwachinsinsi, pamafunika kugwiritsa ntchito RainMaker Admin CLI m'malo monena. Ndi seva yapagulu, opanga mapulogalamu ayenera kupatsidwa ufulu wa admin kuti akhazikitse kukweza kwa firmware, koma sizofunikira pakuyika malonda. Chifukwa chake, palibe ntchito yodziyimira yosiyana yomwe ingapatsidwe kuti mudzinenere nokha, kapena maufulu a admin pakufuna koyendetsedwa kapena mothandizidwa.
Mapulogalamu amafoni Pakutumizidwa kwachinsinsi, mapulogalamu amayenera kukonzedwa ndi kupangidwa padera kuti zitsimikize kuti ma akaunti sakugwirizanirana.
Kulowa kwa chipani chachitatu ndi kuphatikiza mawu Madivelopa amayenera kukonza padera kudzera muakaunti ya Google ndi Apple Developer kuti athe kulowetsa chipani chachitatu, komanso kuphatikiza kwa Alexa Skill ndi Google Voice Assistant.
MFUNDO Kuti mumve zambiri za kutumiza kwamtambo, chonde pitani ku https://customer.rainmaker.espressif. com. Pankhani ya firmware, kusamuka kuchokera ku seva yapagulu kupita ku seva yachinsinsi kumangofuna kusintha ziphaso za chipangizocho, zomwe zimathandizira kwambiri kusamuka komanso kumachepetsa mtengo wakusamuka ndikusintha kwachiwiri.
3.4 Mawonekedwe a ESP RainMaker
Mawonekedwe a ESP RainMaker amayang'aniridwa kwambiri pazinthu zitatu - kasamalidwe ka ogwiritsa ntchito, ogwiritsa ntchito kumapeto, ndi ma admins. Zinthu zonse zimathandizidwa ndi ma seva agulu ndi achinsinsi pokhapokha atanenedwa mwanjira ina.
3.4.1 Kuwongolera Ogwiritsa Ntchito
Zowongolera za ogwiritsa ntchito zimalola ogwiritsa ntchito kulembetsa, kulowa, kusintha mawu achinsinsi, kupeza mawu achinsinsi, ndi zina.
26 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Kulembetsa ndi kulowa Njira zolembetsera ndi zolowera zothandizidwa ndi RainMaker ndi monga: · Imelo id + Achinsinsi · Nambala yafoni + Achinsinsi · Akaunti ya Google · Akaunti ya Apple · Akaunti ya GitHub (seva yapagulu yokha) · Akaunti ya Amazon (seva yachinsinsi yokha)
ZINDIKIRANI Lowani pogwiritsa ntchito Google/Amazon imagawana imelo ya ogwiritsa ntchito ndi RainMaker. Lowani pogwiritsa ntchito Apple imagawana adilesi yomwe Apple imapatsa wogwiritsa ntchito makamaka pa ntchito ya RainMaker. Akaunti ya RainMaker ipangidwa yokha kwa ogwiritsa ntchito omwe amalowa ndi akaunti ya Google, Apple, kapena Amazon koyamba.
Sinthani mawu achinsinsi Ndiwovomerezeka pa imelo id/Nambala yafoni potengera malowedwe olowera. Magawo ena onse omwe akugwira ntchito adzatulutsidwa pambuyo poti mawu achinsinsi asinthidwa. Malinga ndi machitidwe a AWS Cognito, magawo otuluka amatha kukhala achangu mpaka ola limodzi.
Fukulani mawu achinsinsi Ogwira ntchito pa imelo id/Nambala yafoni potengera malowedwe olowera.
3.4.2 Mawonekedwe Ogwiritsa Ntchito Mapeto
Zomwe zimatsegulidwa kwa ogwiritsa ntchito omaliza zimaphatikizapo kuyang'anira ndi kuyang'anira kwanuko ndi kutali, kukonza, kupanga zida, kugawana zida, zidziwitso zokankhira, ndi kuphatikizika kwa gulu lachitatu.
Kuyang'anira kutali ndi kuyang'anira · Kukonzekera kwamafunso, makonda a parameter, ndi mawonekedwe a kulumikizana kwa chipangizo chimodzi kapena zonse. · Khazikitsani magawo a chipangizo chimodzi kapena zingapo.
Kuwongolera ndi kuyang'anira kwanuko Foni yam'manja ndi chipangizocho ziyenera kulumikizidwa ndi netiweki yomweyo kuti ziziwongolera.
Kukonzekera · Ogwiritsa ntchito akhazikitsetu zochita zina panthawi inayake. · Palibe intaneti yofunikira pa chipangizochi pochita ndandanda. · Nthawi imodzi kapena kubwereza (potchula masiku) pazida chimodzi kapena zingapo.
Gulu la zida Imathandizira magulu angapo ang'onoang'ono metadata yamagulu itha kugwiritsidwa ntchito kupanga Chipinda Chanyumba.
Mutu 3. Mau oyamba a ESP RainMaker 27

Kugawana Chida Chida chimodzi kapena zingapo zitha kugawidwa ndi munthu m'modzi kapena angapo.
Zidziwitso Zokankhira Ogwiritsa ntchito alandila zidziwitso zokankhira pazochitika monga · Chipangizo chatsopano chowonjezedwa/chochotsedwa · Chipangizo cholumikizidwa ndi mtambo · Chipangizo cholumikizidwa pamtambo · Zopempha zogawana zida zopangidwa/zovomerezedwa/zakana · Mauthenga azidziwitso onenedwa ndi zida
Kuphatikiza kwa chipani chachitatu Alexa ndi Google Voice Assistant amathandizidwa kuti aziwongolera zida za RainMaker, kuphatikiza magetsi, masiwichi, soketi, mafani, ndi masensa a kutentha.
3.4.3 Mawonekedwe Oyang'anira
Zoyang'anira zimalola oyang'anira kuti agwiritse ntchito kalembera wa zida, kupanga magulu a zida, ndi kukweza kwa OTA, ndi ku view ziwerengero ndi data ya ESP Insights.
Kulembetsa kwa chipangizo Pangani ziphaso za chipangizo ndikulembetsa ndi Admin CLI (seva yachinsinsi yokha).
Kuyika m'magulu pazida Pangani magulu osamveka kapena osanjidwa motengera chidziwitso cha chipangizocho (ma seva achinsinsi okha).
Kupititsa patsogolo kwa Over-the-Air (OTA) Kwezani firmware kutengera mtundu ndi mtundu, ku chipangizo chimodzi kapena zingapo kapena gulu Monitor, kuletsa, kapena kusungitsa ntchito za OTA.
View ziwerengero Viewziwerengero zomwe zingathe kuphatikizirapo: · Kulembetsa kwa zida (ziphaso zolembetsedwa ndi woyang'anira) · Kutsegula kwa chipangizo (chida cholumikizidwa koyamba) · Maakaunti a ogwiritsa ntchito · Mgwirizano wazipangizo
View Zambiri za ESP Insights Viewdata ya ESP Insights yomwe ingathe kuphatikizirapo: · Zolakwa, machenjezo, ndi zolemba zakale · Malipoti osokonekera ndi kusanthula · Yambitsaninso zifukwa · Miyezo monga kugwiritsa ntchito kukumbukira, RSSI, ndi zina zambiri. · Ma metrics ndi zosinthika
28 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

3.5 Mwachidule
Mu mutu uno, tawonetsa kusiyana kwakukulu pakati pa kutumizidwa kwa anthu a RainMaker ndi kutumizidwa kwachinsinsi. Yankho lachinsinsi la ESP RainMaker lomwe linayambitsidwa ndi Espressif ndilodalirika komanso lowonjezereka. Tchipisi zonse za ESP32 zidalumikizidwa ndikusinthidwa kukhala AWS, zomwe zimachepetsa kwambiri mtengo. Madivelopa amatha kuyang'ana kwambiri kutsimikizira kwachitsanzo popanda kuphunzira zamtundu wamtambo wa AWS. Tidafotokozanso za kukhazikitsidwa ndi mawonekedwe a ESP RainMaker, ndi mfundo zina zazikulu zachitukuko pogwiritsa ntchito nsanja.
Jambulani kuti mutsitse ESP RainMaker ya Android Scan kuti mutsitse ESP RainMaker ya iOS
Mutu 3. Mau oyamba a ESP RainMaker 29

30 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Mutu Kukhazikitsa 4 Malo Achitukuko
Mutuwu ukukamba za ESP-IDF, ndondomeko yovomerezeka ya mapulogalamu a ESP32-C3. Tidzafotokozera momwe tingakhazikitsire chilengedwe pamakina osiyanasiyana ogwiritsira ntchito, ndikuwonetsa momwe polojekitiyi imapangidwira ndikumanga kachitidwe ka ESP-IDF, komanso kugwiritsa ntchito zida zachitukuko zogwirizana. Kenako tikuwonetsa njira yophatikizira ndikuyendetsa ya example project, pamene akupereka tsatanetsatane wa chipika chotuluka pa stage.
4.1 ESP-IDF Yathaview
ESP-IDF (Espressif IoT Development Framework) ndi njira imodzi yopangira chitukuko cha IoT yoperekedwa ndi Espressif Technology. Imagwiritsa ntchito C/C++ monga chilankhulo chachikulu chachitukuko ndipo imathandizira kuphatikizira m'machitidwe amtundu wamba monga Linux, Mac, ndi Windows. Exampmapulogalamu omwe ali m'bukuli amapangidwa pogwiritsa ntchito ESP-IDF, yomwe ili ndi izi: · Madalaivala amtundu wa dongosolo la SoC. ESP-IDF imaphatikizapo madalaivala a ESP32, ESP32-S2, ESP32-C3,
ndi chips ena. Madalaivalawa akuphatikizapo laibulale ya peripheral low level (LL), laibulale ya hardware abstraction layer (HAL), chithandizo cha RTOS ndi mapulogalamu apamwamba oyendetsa galimoto, ndi zina zotero. · Zida zofunika. ESP-IDF imaphatikiza zinthu zofunika kwambiri pakukula kwa IoT. Izi zikuphatikiza milu ya ma protocol ambiri a netiweki monga HTTP ndi MQTT, dongosolo loyang'anira mphamvu zosinthira pafupipafupi, komanso mawonekedwe ngati Flash Encryption ndi Safe Boot, ndi zina zambiri. · Zida zopangira ndi kupanga. ESP-IDF imapereka zida zomwe zimagwiritsidwa ntchito nthawi zambiri pomanga, kung'anima, ndi kukonza zolakwika panthawi yachitukuko ndi kupanga zinthu zambiri (onani Chithunzi 4.1), monga zomangira zozikidwa pa CMake, unyolo wa zida zophatikizira pogwiritsa ntchito GCC, ndi J.TAG chida chochotsera zolakwika zochokera ku OpenOCD, ndi zina zotero. Ndizofunikira kudziwa kuti kachidindo ka ESP-IDF kumatsatira kwambiri laisensi ya Apache 2.0. Ogwiritsa ntchito amatha kupanga mapulogalamu awo kapena amalonda popanda zoletsa kwinaku akutsatira zomwe zili ndi chilolezo chotsegula. Kuphatikiza apo, ogwiritsa ntchito amapatsidwa ziphaso zokhazikika zapatent kwaulere, popanda kukakamizidwa kutsegula gwero zosintha zilizonse zomwe zasinthidwa ku code code.
31

Chithunzi 4.1.

Kumanga, kung'anima, ndi kukonza-

zida zopangira chitukuko ndi kupanga misa

4.1.1 Mabaibulo a ESP-IDF
Khodi ya ESP-IDF imakhala pa GitHub ngati pulojekiti yotseguka. Pakadali pano, pali mitundu itatu yayikulu yomwe ilipo: v3, v4, ndi v5. Mtundu uliwonse waukulu nthawi zambiri umakhala ndi zosintha zosiyanasiyana, monga v4.2, v4.3, ndi zina zotero. Espressif Systems imatsimikizira kuthandizira kwa miyezi 30 pakukonza zolakwika ndi zigamba zachitetezo pamtundu uliwonse wotulutsidwa. Chifukwa chake, kusinthidwa kwazosintha kumatulutsidwanso pafupipafupi, monga v4.3.1, v4.2.2, ndi zina. Gulu 4.1 likuwonetsa mawonekedwe amitundu yosiyanasiyana ya ESP-IDF ya tchipisi ta Espressif, kuwonetsa ngati ali mu pre.view stage (kupereka chithandizo kwa preview Mabaibulo, omwe angakhale opanda zina kapena zolemba) kapena amathandizidwa mwalamulo.

Gulu 4.1. Kuthandizira kwamitundu yosiyanasiyana ya ESP-IDF ya tchipisi ta Espressif

Series ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2

v4.1 yothandizidwa

v4.2 imathandizidwa

v4.3 yothandizidwa imathandizidwa

v4.4 yothandizidwa imathandizidwa
patsogoloview

v5.0 yothandizidwa imathandizidwa kaleview

32 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Kubwereza kwa matembenuzidwe akuluakulu nthawi zambiri kumaphatikizapo kusintha kwa dongosolo la chimango ndi zosintha za dongosolo lophatikiza. Za example, kusintha kwakukulu kuchokera ku v3.* kupita ku v4.* kunali kusamuka kwapang'onopang'ono kwa makina omanga kuchokera ku Make to CMake. Kumbali ina, kubwereza kwa mitundu yaying'ono nthawi zambiri kumaphatikizapo kuwonjezera zatsopano kapena kuthandizira tchipisi tatsopano.
Ndikofunika kusiyanitsa ndikumvetsetsa ubale pakati pa mitundu yokhazikika ndi nthambi za GitHub. Zomasulira zolembedwa kuti v*.* kapena v*.*.* zikuyimira zokhazikika zomwe zapambana mayeso amkati ndi Espressif. Zikakhazikitsidwa, code, unyolo wa zida, ndi zikalata zotulutsa za mtundu womwewo sizisintha. Komabe, nthambi za GitHub (mwachitsanzo, nthambi yotulutsa/v4.3) imakumana ndi ma code pafupipafupi, nthawi zambiri tsiku lililonse. Chifukwa chake, zidule ziwiri zamakhodi pansi panthambi yomweyo zitha kusiyana, zomwe zimafunikira opanga kuti asinthe ma code awo mwachangu.
4.1.2 ESP-IDF Git Workflow
Espressif imatsatira kayendedwe ka Git ka ESP-IDF, yofotokozedwa motere:
· Kusintha kwatsopano kumapangidwa panthambi yayikulu, yomwe imakhala ngati nthambi yayikulu yachitukuko. Mtundu wa ESP-IDF panthambi yayikulu nthawi zonse umakhala ndi -dev tag kusonyeza kuti panopa ikukonzedwa, monga v4.3-dev. Zosintha pa master nthambi zidzakhala poyamba reviewed ndikuyesedwa m'malo amkati a Espressif, kenako ndikukankhira ku GitHub pambuyo poyeserera zokha.
· Mtundu watsopano ukamaliza kukulitsa gawo la master nthambi ndikukwaniritsa zoyezetsa za beta, umasinthira kunthambi yatsopano, monga kumasula/ v4.3. Kuphatikiza apo, nthambi yatsopanoyi ndi tagged ngati mtundu womwe usanatulutsidwe, monga v4.3-beta1. Madivelopa atha kuloza ku nsanja ya GitHub kuti mupeze mndandanda wathunthu wanthambi ndi tags kwa ESP-IDF. Ndikofunika kuzindikira kuti mtundu wa beta (wotulutsidwa kale) ungakhalebe ndi zovuta zambiri zodziwika. Pamene mtundu wa beta ukuyesedwa mosalekeza, kukonza zolakwika kumawonjezedwa ku mtundu uwu komanso nthambi ya master nthawi imodzi. Pakali pano, nthambi ya mbuyeyo ingakhale yayamba kale kupanga mbali zatsopano za Baibulo lotsatira. Kuyesa kwatsala pang'ono kutha, lebulo lotulutsa (rc) limawonjezedwa kunthambi, kuwonetsa kuti ndi amene angathe kumasulidwa, monga v4.3-rc1. Pa izi stage, nthambiyo imakhalabe mtundu womwe usanatulutsidwe.
· Ngati palibe zolakwika zazikulu zomwe zapezedwa kapena kunenedwa, mtundu womasulidwa usanatulutsidwe pamapeto pake umalandira zilembo zazikulu (monga v5.0) kapena zolemba zazing'ono (monga v4.3) ndikukhala mtundu womasulidwa, womwe udalembedwa. patsamba lomasulira. Pambuyo pake, zolakwika zilizonse zomwe zadziwika mumtunduwu zimakhazikitsidwa panthambi yotulutsidwa. Kuyesa kwapamanja kukamalizidwa, nthambi imapatsidwa chizindikiro cha bug-fix (mwachitsanzo, v4.3.2), chomwe chimawonetsedwanso patsamba la zolemba zotulutsidwa.
Mutu 4. Kukhazikitsa Malo Achitukuko 33

4.1.3 Kusankha Baibulo Loyenera
Popeza kuti ESP-IDF idayamba mwalamulo kuthandizira ESP32-C3 kuchokera ku v4.3, ndipo v4.4 sinatulutsidwebe mwalamulo panthawi yolemba bukhuli, buku lomwe linagwiritsidwa ntchito m'bukuli ndi v4.3.2, lomwe ndi losinthidwanso. pa v4.3. Komabe, ndikofunikira kudziwa kuti pofika nthawi yomwe mukuwerenga bukuli, v4.4 kapena mitundu yatsopano ikhoza kupezeka kale. Posankha mtundu, timalimbikitsa zotsatirazi:
· Kwa omanga masitepe olowera, ndikofunikira kusankha mtundu wokhazikika wa v4.3 kapena mtundu wake wosinthidwa, womwe umagwirizana ndi wakale.ampBaibulo lomwe lagwiritsidwa ntchito m'bukuli.
· Pazopanga zambiri, tikulimbikitsidwa kugwiritsa ntchito mtundu waposachedwa kwambiri kuti mupindule ndi chithandizo chamakono.
· Ngati mukufuna kuyesa tchipisi tatsopano kapena kufufuza zinthu zatsopano, chonde gwiritsani ntchito nthambi ya master. Mtundu waposachedwa uli ndi zonse zaposachedwa, koma dziwani kuti pangakhale nsikidzi zodziwika kapena zosadziwika.
· Ngati chokhazikika chomwe chikugwiritsidwa ntchito sichikuphatikizanso zatsopano zomwe mukufuna ndipo mukufuna kuchepetsa zoopsa zomwe zingagwirizane ndi nthambi ya master, ganizirani kugwiritsa ntchito nthambi yotulutsidwa, monga kumasulidwa/v4.4 nthambi. Malo osungira a Espressif a GitHub adzayamba kupanga nthambi yotulutsidwa/v4.4 kenako ndikutulutsa mtundu wokhazikika wa v4.4 kutengera chithunzi chambiri chanthambi iyi, mukamaliza kukonza zonse ndi kuyesa.
4.1.4 Paview ya ESP-IDF SDK Directory
ESP-IDF SDK ili ndi maulalo akulu akulu awiri: esp-idf ndi .espressif. Zakale zili ndi code ya ESP-IDF repository files ndi zolembedwa zophatikizira, pomwe omaliza amasunga unyolo wa zida zophatikizira ndi mapulogalamu ena. Kudziwa bwino maulalo awiriwa kudzathandiza omanga kugwiritsa ntchito bwino zinthu zomwe zilipo ndikufulumizitsa ntchito yachitukuko. Dongosolo la ESP-IDF lafotokozedwa pansipa:
(1) ESP-IDF repository code directory (/esp/esp-idf), monga momwe tawonetsera pa Chithunzi 4.2.
a. Chigawo chikwatu zigawo
Chikwatu ichi chikuphatikiza zigawo zingapo zofunika za pulogalamu ya ESP-IDF. Palibe code ya polojekiti yomwe ingapangidwe popanda kudalira zigawo zomwe zili mkati mwa bukhuli. Zimaphatikizapo kuthandizira kwa oyendetsa kwa tchipisi ta Espressif zosiyanasiyana. Kuchokera ku laibulale ya LL ndi laibulale ya HAL yolumikizana ndi zotumphukira kupita ku Driver yapamwamba ndi Virtual File Thandizo losanjikiza la System (VFS), okonza amatha kusankha zigawo zoyenera pamagulu osiyanasiyana pazosowa zawo zachitukuko. ESP-IDF imathandiziranso ma protocol angapo amtundu wanthawi zonse monga TCP/IP, HTTP, MQTT, WebSocket, ndi zina zotero. Madivelopa amatha kugwiritsa ntchito zolumikizira zozolowera ngati Socket kupanga ma network. Zigawo zimapereka chidziwitso-
34 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Chithunzi 4.2. ESP-IDF repository code directory
magwiridwe antchito ndipo amatha kuphatikizidwa mosavuta ndi mapulogalamu, kulola opanga kuti azingoyang'ana pamalingaliro abizinesi. Zina zodziwika bwino ndi izi: · driver: Chigawochi chili ndi mapulogalamu oyendetsa ma Espressif osiyanasiyana
Chip mndandanda, monga GPIO, I2C, SPI, UART, LEDC (PWM), ndi zina zotero. Mapulogalamu oyendetsa chigawo ichi amapereka mawonekedwe odziimira okha a chip. Zotumphukira zilizonse zimakhala ndi mutu wamba file (monga gpio.h), kuchotsa kufunikira kothana ndi mafunso osiyanasiyana othandizira chip. · esp_wifi: Wi-Fi, ngati cholumikizira chapadera, imatengedwa ngati gawo lapadera. Zimaphatikizapo ma API angapo monga kuyambitsa mitundu yosiyanasiyana ya oyendetsa Wi-Fi, kasinthidwe ka magawo, ndi kukonza zochitika. Ntchito zina za gawoli zimaperekedwa mu mawonekedwe a static link library. ESP-IDF imaperekanso zolemba zonse zoyendetsa kuti zitheke kugwiritsa ntchito.
Mutu 4. Kukhazikitsa Malo Achitukuko 35

· freertos: Chigawochi chili ndi code yathunthu ya FreeRTOS. Kupatula kupereka chithandizo chokwanira pamakina ogwiritsira ntchitowa, Espressif yawonjezeranso chithandizo chake ku tchipisi tapawiri. Kwa tchipisi tapawiri monga ESP32 ndi ESP32-S3, ogwiritsa ntchito amatha kupanga ntchito pama cores ena.
b. Document directory docs
Chikwatuchi chili ndi zolemba zachitukuko zokhudzana ndi ESP-IDF, kuphatikiza Bukhu la Get Started Guide, API Reference Manual, Development Guide, etc.
ZINDIKIRANI Pambuyo popangidwa ndi zida zokha, zomwe zili mu bukhuli zimayikidwa pa https://docs.espressif.com/projects/esp-idf. Chonde onetsetsani kuti mwasinthira chikalatacho kukhala ESP32-C3 ndikusankha mtundu wa ESP-IDF womwe watchulidwa.
c. Zida za script
Chikwatuchi chili ndi zida zomapeto zomwe zimagwiritsidwa ntchito nthawi zambiri monga idf.py, ndi chida chowunikira cha idf_monitor.py, ndi zina zotero. Cmake sub-directory ilinso ndi core script. fileza dongosolo lophatikizira, lomwe limagwira ntchito ngati maziko oyendetsera malamulo ophatikiza ESP-IDF. Powonjezera zosintha za chilengedwe, zomwe zili mkati mwazolemba za zida zimawonjezedwa ku kusintha kwa chilengedwe, kulola idf.py kuchitidwa mwachindunji pansi pa njira ya polojekiti.
d. Eksample program directory examples
Bukuli lili ndi ESP-IDF exampmapulogalamu omwe akuwonetsa kugwiritsa ntchito zigawo za API. ExampLes amapangidwa m'ma subdirectories osiyanasiyana kutengera magulu awo:
yambitsani: Kalozera kakang'ono kameneka kakuphatikiza kaleampmonga "dziko lapansi moni" ndi "kuphethira" kuthandiza ogwiritsa ntchito kumvetsetsa zoyambira.
· bluetooth: Mutha kupeza zokhudzana ndi Bluetooth zakaleamples apa, kuphatikiza Bluetooth LE Mesh, Bluetooth LE HID, BluFi, ndi zina.
· wifi: Kalozera kakang'ono kameneka kamayang'ana pa Wi-Fi wakaleamples, kuphatikiza mapulogalamu oyambira monga Wi-Fi SoftAP, Wi-Fi Station, espnow, komanso proprietary communication protocol ex.ampkuchokera ku Espressif. Mulinso angapo application layer exampzotengera Wi-Fi, monga Iperf, Sniffer, ndi Smart Config.
· Zotumphukira: Kalozera kakang'ono kameneka kagawidwanso m'mafoda ang'onoang'ono kutengera mayina am'mphepete. Muli makamaka zotumphukira driver examples kwa tchipisi ta Espressif, ndi ex iliyonseample yokhala ndi ma sub-ex angapoamples. Mwachitsanzo, gawo laling'ono la gpio limaphatikizapo ma exampLes: GPIO ndi GPIO matrix kiyibodi. Ndikofunika kuzindikira kuti si onse omwe anali kaleampLes mu bukhuli ndi ntchito ESP32-C3.
36 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Za example, exampLes mu usb/host amangogwira ntchito pazingwe zotumphukira ndi USB Host hardware (monga ESP32-S3), ndipo ESP32-C3 ilibe zotumphukira izi. Dongosolo lophatikizira nthawi zambiri limapereka chidziwitso pakukhazikitsa chandamale. The README file cha example imatchula tchipisi chothandizidwa. · ndondomeko: Kalozera kakang'ono kameneka kali ndi kaleampma protocol osiyanasiyana olankhulirana, kuphatikiza MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP, yokhudzana ndi njira zambiri zoyankhulirana zakale.ampzochepa zofunika pakukula kwa IoT. · Kupereka: Apa, mupeza zoperekera kaleampnjira zosiyanasiyana, monga kupereka Wi-Fi ndi Bluetooth LE kupereka. · Dongosolo: Kalozera kakang'ono kameneka kakuphatikizanso kukonza zolakwika zakaleamples (mwachitsanzo, kufufuza zinthu, kufufuza nthawi yothamanga, kuyang'anira ntchito), kasamalidwe ka mphamvu mwachitsanzoamples (mwachitsanzo, mitundu yosiyanasiyana ya kugona, ma co-processor), ndi mwachitsanzoampZogwirizana ndi zida zamtundu wamba monga console terminal, chochitika loop, ndi system timer. · yosungirako: Mkati mwa subdirectory iyi, mupeza zakaleampkuposa zonse file machitidwe ndi njira zosungiramo zothandizidwa ndi ESP-IDF (monga kuwerenga ndi kulemba kwa Flash, SD khadi ndi media ina yosungirako), komanso zakaleampzosungirako zosasunthika (NVS), FatFS, SPIFFS ndi zina file ntchito za dongosolo. · chitetezo: Gulu laling'onoli lili ndi zakaleampzokhudzana ndi kubisa kwa flash. (2) ESP-IDF yophatikiza chida cholembera cholembera (/.espressif), monga momwe tawonetsera pa Chithunzi 4.3.
Chithunzi 4.3. ESP-IDF compilation tool chain directory
Mutu 4. Kukhazikitsa Malo Achitukuko 37

a. Mapulogalamu ogawa chikwatu dist
Unyolo wa zida za ESP-IDF ndi mapulogalamu ena amagawidwa m'mapaketi oponderezedwa. Pakukhazikitsa, chida choyika choyamba chimatsitsa phukusi lopanikizidwa ku dist directory, kenako ndikuchichotsa ku bukhu lomwe latchulidwa. Kuyikako kukamaliza, zomwe zili mu bukhuli zitha kuchotsedwa bwinobwino.
b. Python virtual environment directory python env
Mitundu yosiyanasiyana ya ESP-IDF imadalira mitundu ina ya mapaketi a Python. Kuyika mapaketiwa mwachindunji pagulu lomwelo kungayambitse mikangano pakati pamitundu yamapaketi. Kuti izi zitheke, ESP-IDF imagwiritsa ntchito malo a Python kuti adzipatula mitundu yosiyanasiyana ya phukusi. Ndi makinawa, opanga amatha kukhazikitsa mitundu ingapo ya ESP-IDF pagulu lomwelo ndikusintha mosavuta pakati pawo potumiza mitundu yosiyanasiyana ya chilengedwe.
c. ESP-IDF kuphatikiza zida zowongolera zida
Chikwatuchi chimakhala ndi zida zophatikizira zomwe zimafunikira kupanga ma projekiti a ESP-IDF, monga zida za CMake, zida zomangira za Ninja, ndi zida za gcc zomwe zimapanga pulogalamu yomaliza. Kuphatikiza apo, bukhuli limakhala ndi laibulale yokhazikika ya chilankhulo cha C/C ++ pamodzi ndi mutu wofananira files. Ngati pulogalamu imatchula mutu wa dongosolo file monga #kuphatikizapo , unyolo wa zida zophatikizira upeza stdio.h file mkati mwa bukhuli.
4.2 Kukhazikitsa ESP-IDF Development Environment
Chitukuko cha ESP-IDF chimathandizira machitidwe odziwika bwino monga Windows, Linux, ndi macOS. Gawoli liwonetsa momwe mungakhazikitsire malo otukuka padongosolo lililonse. Ndikofunikira kupanga ESP32-C3 pa Linux system, yomwe idzayambitsidwe mwatsatanetsatane apa. Malangizo ambiri amagwiritsidwa ntchito pamapulatifomu chifukwa cha kufanana kwa zida zachitukuko. Choncho, akulangizidwa kuti awerenge mosamala zomwe zili mu gawoli.
ZINDIKIRANI Mutha kulozera ku zolemba zapaintaneti zomwe zikupezeka pa https://bookc3.espressif.com/esp32c3, zomwe zimapereka malamulo omwe atchulidwa m'chigawochi.
4.2.1 Kukhazikitsa ESP-IDF Development Environment pa Linux
Zida zachitukuko za GNU ndi zowongolera zomwe zimafunikira pakukula kwa ESP-IDF ndizochokera ku Linux system. Kuphatikiza apo, mzere wamalamulo ku Linux ndi wamphamvu komanso wosavuta kugwiritsa ntchito, ndikupangitsa kukhala chisankho choyenera pakukula kwa ESP32-C3. Mutha
38 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

sankhani kugawa kwanu kwa Linux, koma tikupangira kugwiritsa ntchito Ubuntu kapena machitidwe ena a Debian. Gawoli limapereka chitsogozo pakukhazikitsa chilengedwe chachitukuko cha ESP-IDF pa Ubuntu 20.04.
1. Ikani phukusi lofunikira
Tsegulani terminal yatsopano ndikuchita lamulo ili kuti muyike mapaketi onse ofunikira. Lamulo lidzalumpha zokha phukusi lomwe lakhazikitsidwa kale.
$ 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
MFUNDO Muyenera kugwiritsa ntchito akaunti ya woyang'anira ndi mawu achinsinsi pa lamulo ili pamwambapa. Mwachikhazikitso, palibe chidziwitso chomwe chidzawonetsedwa mukalowa mawu achinsinsi. Ingodinani batani la "Enter" kuti mupitirize ntchitoyi.
Git ndi chida chofunikira chowongolera ma code mu ESP-IDF. Mukakhazikitsa bwino malo otukuka, mutha kugwiritsa ntchito lamulo la git log kuti view zosintha zonse zomwe zidapangidwa kuyambira pomwe ESP-IDF idapangidwa. Kuphatikiza apo, Git imagwiritsidwanso ntchito mu ESP-IDF kutsimikizira zambiri zamtundu, zomwe ndizofunikira pakuyika chida choyenera chogwirizana ndi mitundu ina. Pamodzi ndi Git, zida zina zofunika zamakina zikuphatikiza Python. ESP-IDF imaphatikizanso zolemba zambiri zokha zolembedwa mu Python. Zida monga CMake, Ninja-build, ndi Ccache zimagwiritsidwa ntchito kwambiri m'mapulojekiti a C/C++ ndipo zimakhala ngati ma code osasintha komanso zida zomangira mu ESP-IDF. libusb-1.0-0 ndi dfu-util ndi madalaivala akuluakulu omwe amagwiritsidwa ntchito pa USB serial kuyankhulana ndi kuyatsa fimuweya. Maphukusi a pulogalamuyo akakhazikitsidwa, mutha kugwiritsa ntchito apt show lamula kuti mupeze tsatanetsatane wa phukusi lililonse. Za example, gwiritsani ntchito apt show git kusindikiza zambiri zachida cha Git.
Q: Zoyenera kuchita ngati mtundu wa Python sunathandizidwe? A: ESP-IDF v4.3 imafuna mtundu wa Python womwe si wotsika kuposa v3.6. Kwa mitundu yakale ya Ubuntu, chonde tsitsani pamanja ndikuyika mtundu wapamwamba wa Python ndikuyika Python3 ngati malo osakhazikika a Python. Mutha kupeza malangizo atsatanetsatane pofufuza mawu osakira-alternatives python.
2. Tsitsani kachidindo ka ESP-IDF
Tsegulani terminal ndikupanga chikwatu chotchedwa esp m'ndandanda yanu yakunyumba pogwiritsa ntchito lamulo la mkdir. Mutha kusankha dzina losiyana la chikwatu ngati mukufuna. Gwiritsani ntchito cd command kulowa foda.
Mutu 4. Kukhazikitsa Malo Achitukuko 39

$ mkdir -p /esp $ cd /esp
Gwiritsani ntchito lamulo la git clone kuti mutsitse kachidindo ka ESP-IDF, monga momwe zilili pansipa:
$ git clone -b v4.3.2 -recursive https://github.com/espressif/esp-idf.git
M'malamulo omwe ali pamwambapa, chizindikiro -b v4.3.2 chimatchula mtundu womwe mungatsitse (panthawiyi, mtundu 4.3.2). The parameter -recursive imawonetsetsa kuti ma sub-repositories onse a ESP-IDF amatsitsidwa mobwerezabwereza. Zambiri za sub-repositories zitha kupezeka mu .gitmodules file.
3. Ikani zida zachitukuko za ESP-IDF
Espressif imapereka cholembera chokhazikika install.sh kuti mutsitse ndikuyika unyolo wa zida. Zolemba izi zimayang'ana mtundu wa ESP-IDF wapano ndi malo ogwiritsira ntchito, kenako ndikutsitsa ndikuyika phukusi loyenera la zida za Python ndi unyolo wa zida zophatikizira. Njira yokhazikitsira yosasinthika ya unyolo wa zida ndi /.espressif. Zomwe muyenera kuchita ndikupita ku chikwatu cha esp-idf ndikuyendetsa install.sh.
$ cd /esp/esp-idf $ ./install.sh
Mukayika chidacho bwino, terminal iwonetsa:
Zonse zatheka!
Pakadali pano, mwakhazikitsa bwino chilengedwe cha ESP-IDF.
4.2.2 Kukhazikitsa ESP-IDF Development Environment pa Windows
1. Koperani ESP-IDF zida installer
MFUNDO Ndibwino kuti mukhazikitse malo otukuka a ESP-IDF Windows 10 kapena pamwamba. Mutha kutsitsa okhazikitsa kuchokera ku https://dl.espressif.com/dl/esp-idf/. Choyikiracho ndi pulogalamu yotseguka, ndipo magwero ake akhoza kukhala viewed ku https://github.com/espressif/idf-installer.
· Okhazikitsa zida za ESP-IDF pa intaneti
Choyikirachi ndi chaching'ono, chozungulira 4 MB kukula kwake, ndipo maphukusi ena ndi ma code adzatsitsidwa panthawi yoika. Advantage wa okhazikitsa pa intaneti ndikuti sikuti maphukusi a mapulogalamu ndi ma code angatsitsidwe pakufunika panthawi yoyika, komanso amalola kuyika zonse zomwe zilipo za ESP-IDF ndi nthambi yaposachedwa ya GitHub code (monga master branch) . The disadvantage ndikuti pamafunika kulumikizidwa kwa netiweki panthawi yoyika, zomwe zingayambitse kulephera kwa unsembe chifukwa cha zovuta zamaukonde.
40 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Okhazikitsa zida za Offline ESP-IDF Choyika ichi ndi chachikulu, pafupifupi 1 GB kukula kwake, ndipo chili ndi mapulogalamu onse ndi ma code ofunikira kuti akhazikitse chilengedwe. Advan wamkulutage wa okhazikitsa osagwiritsa ntchito intaneti ndikuti atha kugwiritsidwa ntchito pamakompyuta opanda intaneti, ndipo nthawi zambiri amakhala ndi chiwongola dzanja chokwera kwambiri. Zindikirani kuti oyika osagwiritsa ntchito intaneti amatha kukhazikitsa zokhazikika za ESP-IDF zodziwika ndi v*.* kapena v*.*.*.
2. Yambitsani choyikira zida za ESP-IDF Mukatsitsa mtundu woyenera wa oyika (tengani ESP-IDF Tools Offline 4.3.2 for ex.ample here), dinani kawiri pa exe file kukhazikitsa mawonekedwe a ESP-IDF. Zotsatirazi zikuwonetsa momwe mungayikitsire ESP-IDF stable version v4.3.2 pogwiritsa ntchito installer yapaintaneti.
(1) Pachiwonekedwe cha "Sankhani chinenero choyika" chomwe chikuwonetsedwa pa Chithunzi 4.4, sankhani chinenero chomwe chiyenera kugwiritsidwa ntchito pa mndandanda wotsitsa.
Chithunzi 4.4. "Sankhani chinenero choyika" (2) Mukasankha chinenerocho, dinani "Chabwino" kuti muwone "mgwirizano wa chilolezo"
(onani Chithunzi 4.5). Pambuyo powerenga mosamala mgwirizano wa layisensi yoyika, sankhani "Ndikuvomereza mgwirizano" ndikudina "Kenako".
Chithunzi 4.5. Chigwirizano cha "Licence agreement" Mutu 4. Kukhazikitsa Chitukuko Chachitukuko 41

(3) Review kasinthidwe kachitidwe mu "Pre-installation system check" mawonekedwe (onani Chithunzi 4.6). Chongani Windows Baibulo ndi anaika antivayirasi zambiri mapulogalamu. Dinani "Kenako" ngati zonse kasinthidwe zinthu bwinobwino. Kupanda kutero, mutha kudina "Logi Yathunthu" kuti mupeze mayankho kutengera zinthu zazikulu.
Chithunzi 4.6. "System cheke pamaso unsembe" mawonekedwe MALANGIZO
Mutha kutumiza zipika ku https://github.com/espressif/idf-installer/issues kuti muthandizidwe. (4) Sankhani chikwatu chokhazikitsa ESP-IDF. Apa, sankhani D:/.espressif, monga momwe zasonyezedwera mu
Chithunzi 4.7, ndikudina "Kenako". Chonde dziwani kuti .espressif apa pali chikwatu chobisika. Pambuyo unsembe anamaliza, mukhoza view zomwe zili mu bukhuli potsegula fayilo ya file woyang'anira ndikuwonetsa zinthu zobisika.
Chithunzi 4.7. Sankhani chikwatu choyika cha ESP-IDF 42 ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT

(5) Yang'anani zigawo zomwe ziyenera kuikidwa, monga momwe tawonetsera pa Chithunzi 4.8. Ndikofunikira kugwiritsa ntchito njira yosasinthika, ndiye kuti, kukhazikitsa kwathunthu, ndikudina "Kenako".
Chithunzi 4.8. Sankhani zigawo zomwe muyenera kuziyika (6) Tsimikizirani zomwe zikuyenera kukhazikitsidwa ndikudina "Install" kuti muyambe ku-
njira yoyimitsa, monga momwe tawonetsera pa Chithunzi 4.9. Kuyikako kutha kutha mphindi makumi ambiri ndipo njira yoyendetsera yoyika ikuwonetsedwa pazithunzi 4.10. Chonde dikirani moleza mtima.
Chithunzi 4.9. Kukonzekera kukhazikitsa (7) Kuyikako kukatha, tikulimbikitsidwa kuyang'ana "Lembetsani ESP-IDF
Zida zomwe zimagwira ntchito ngati Windows Defender kuchotsera…” kuti muteteze mapulogalamu a antivayirasi kuti achotse files. Kuyika zinthu zopatula kumatha kulumphanso masikanidwe pafupipafupi ndi antivayirasi
Mutu 4. Kukhazikitsa Malo Achitukuko 43

Chithunzi 4.10. Kuyika patsogolo mapulogalamu a bar, kumathandizira kwambiri kuphatikiza ma code a Windows system. Dinani "Malizani" kuti mutsirize kukhazikitsa malo otukuka, monga momwe tawonetsera pa Chithunzi 4.11. Mutha kusankha kuyang'ana "Thamangani ESP-IDF PowerShell chilengedwe" kapena "Thamangani ESP-IDF command prompt". Yendetsani zenera lophatikizira mwachindunji mukakhazikitsa kuti muwonetsetse kuti malo otukuka akugwira ntchito bwino.
Chithunzi 4.11. Kuyika kwatha (8) Tsegulani malo otukuka omwe adayikidwa pamndandanda wamapulogalamu (mwina ESP-IDF 4.3)
CMD kapena ESP-IDF 4.3 PowerShell terminal, monga momwe zasonyezedwera pa Chithunzi 4.12), ndi kusintha kwa chilengedwe cha ESP-IDF kudzawonjezedwa pamene ikuyenda mu terminal. Pambuyo pake, mutha kugwiritsa ntchito lamulo la idf.py pazochita. ESP-IDF 4.3 CMD yotsegulidwa ikuwonetsedwa pa Chithunzi 4.13. 44 ESP32-C3 Wopanda Waya Wopanda zingwe: Chitsogozo Chokwanira cha IoT

Chithunzi 4.12. Chitukuko chilengedwe anaika
Chithunzi 4.13. ESP-IDF 4.3 CMD
4.2.3 Kukhazikitsa ESP-IDF Development Environment pa Mac
Njira yoyika chilengedwe cha ESP-IDF pa Mac ndi yofanana ndi ya Linux. Malamulo otsitsa khodi yosungira ndikuyika chida chazida ndi chimodzimodzi. Malamulo okha oyika ma phukusi odalira ndi osiyana pang'ono. 1. Ikani ma phukusi odalira Tsegulani terminal, ndikuyika pip, chida choyang'anira phukusi la Python, poyendetsa lamulo ili:
% sudo yosavuta kukhazikitsa pip
Ikani Homebrew, chida chowongolera phukusi la macOS, poyendetsa lamulo ili:
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
Ikani phukusi loyenera lodalira poyendetsa lamulo ili:
% brew python3 kukhazikitsa cmake ninja ccache dfu-util
2. Koperani Khodi yankhokwe ya ESP-IDF Tsatirani malangizo omwe aperekedwa mugawo 4.2.1 kuti mutsitse kachidindo ka ESP-IDF. Masitepewo ndi ofanana ndi kutsitsa pa Linux system.
Mutu 4. Kukhazikitsa Malo Achitukuko 45

3. Ikani zida zachitukuko za ESP-IDF
Tsatirani malangizo omwe aperekedwa mu gawo 4.2.1 kuti muyike zida zachitukuko za ESP-IDF. Masitepewo ndi ofanana ndi kukhazikitsa pa Linux system.
4.2.4 Kuyika VS Code
Mwachikhazikitso, ESP-IDF SDK sichiphatikiza chida chosinthira ma code (ngakhale choyikira chaposachedwa cha ESP-IDF cha Windows chimapereka mwayi woyika ESP-IDF Eclipse). Mutha kugwiritsa ntchito chida chilichonse chosinthira mawu chomwe mwasankha kuti musinthe kachidindoyo kenako ndikuchipanga pogwiritsa ntchito ma terminal.
Chida chimodzi chodziwika bwino chosinthira ma code ndi VS Code (Visual Studio Code), yomwe ndi mkonzi waulere komanso wolemera wokhala ndi mawonekedwe osavuta kugwiritsa ntchito. Iwo amapereka zosiyanasiyana plugins zomwe zimapereka magwiridwe antchito monga kusaka ma code, kuwunikira mawu, kuwongolera mtundu wa Git, ndi kuphatikiza komaliza. Kuphatikiza apo, Espressif yapanga pulogalamu yowonjezera yotchedwa Espressif IDF ya VS Code, yomwe imathandizira kasinthidwe ka pulojekiti ndi kukonza zolakwika.
Mutha kugwiritsa ntchito code code mu terminal kuti mutsegule chikwatu chomwe chilipo mu VS Code. Kapenanso, mutha kugwiritsa ntchito njira yachidule Ctrl+ kuti mutsegule cholumikizira chokhazikika chadongosolo mkati mwa VS Code.
MFUNDO Ndibwino kugwiritsa ntchito VS Code pakupanga ma code ESP32-C3. Tsitsani ndikuyika mtundu waposachedwa wa VS Code pa https://code.visualstudio.com/.
4.2.5 Chidziwitso cha Zachitukuko za Gulu Lachitatu
Kuphatikiza pa malo otukuka a ESP-IDF, omwe makamaka amagwiritsa ntchito chilankhulo cha C, ESP32-C3 imathandiziranso zilankhulo zina zodziwika bwino komanso madera osiyanasiyana achitukuko. Zosankha zina zodziwika ndi izi:
Arduino: nsanja yotseguka ya zida zonse ndi mapulogalamu, zothandizira ma microcontrollers osiyanasiyana, kuphatikiza ESP32-C3.
Imagwiritsa ntchito chilankhulo cha C ++ ndipo imapereka API yosavuta komanso yokhazikika, yomwe imatchedwa chilankhulo cha Arduino. Arduino imagwiritsidwa ntchito kwambiri pakukula kwachitsanzo komanso maphunziro. Imapereka pulogalamu yowonjezera yowonjezera komanso IDE yomwe imalola kuti ikhale yosavuta komanso yowunikira.
MicroPython: wotanthauzira chilankhulo cha Python 3 wopangidwa kuti azigwira ntchito pamapulatifomu ophatikizika a microcontroller.
Ndi chilankhulo chosavuta cholembera, imatha kulumikiza mwachindunji zida za ESP32-C3 (monga UART, SPI, ndi I2C) ndi ntchito zoyankhulirana (monga Wi-Fi ndi Bluetooth LE).
46 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

Izi zimathandizira kulumikizana kwa hardware. MicroPython, yophatikizidwa ndi laibulale yayikulu yamasamu ya Python, imathandizira kukhazikitsidwa kwa ma aligorivimu ovuta pa ESP32-C3, kuthandizira kukhazikitsidwa kwa mapulogalamu okhudzana ndi AI. Monga chinenero cholembera, palibe chifukwa chophatikiza mobwerezabwereza; zosinthidwa zitha kupangidwa ndipo zolemba zitha kuchitidwa mwachindunji.
NodeMCU: womasulira chilankhulo cha LUA adapangidwira tchipisi ta ESP.
Imathandizira pafupifupi zotumphukira zonse za tchipisi ta ESP ndipo ndi yopepuka kuposa MicroPython. Mofanana ndi MicroPython, NodeMCU imagwiritsa ntchito chinenero cholembera, kuchotsa kufunika kophatikiza mobwerezabwereza.
Kuphatikiza apo, ESP32-C3 imathandiziranso makina opangira a NuttX ndi Zephyr. NuttX ndi makina ogwiritsira ntchito nthawi yeniyeni omwe amapereka malo ogwirizana ndi POSIX, kupititsa patsogolo kusuntha kwa ntchito. Zephyr ndi kachitidwe kakang'ono ka nthawi yeniyeni kamene kamapangidwira ntchito za IoT. Zimaphatikizapo malaibulale ambiri apulogalamu omwe amafunikira pakukula kwa IoT, pang'onopang'ono akusintha kukhala pulogalamu yamapulogalamu.
Bukhuli silipereka malangizo atsatanetsatane a kukhazikitsa kwazomwe tatchulazi. Mutha kukhazikitsa malo otukuka potengera zomwe mukufuna potsatira zolembedwa ndi malangizo.
4.3 ESP-IDF Compilation System
4.3.1 Mfundo Zazikulu za Njira Yophatikizira
Pulojekiti ya ESP-IDF ndi gulu la pulogalamu yayikulu yokhala ndi ntchito yolowera komanso zigawo zingapo zodziyimira pawokha. Za example, pulojekiti yomwe imayang'anira masiwichi a LED makamaka imakhala ndi pulogalamu yayikulu yolowera ndi gawo loyendetsa lomwe limayang'anira GPIO. Ngati mukufuna kuzindikira chiwongolero chakutali cha LED, muyeneranso kuwonjezera Wi-Fi, TCP/IP protocol stack, etc.
Dongosolo lophatikizira limatha kuphatikizira, kulumikiza, ndi kupanga zomwe zingatheke files (.bin) kwa code kudzera mumagulu a malamulo omanga. Dongosolo lophatikizira la ESP-IDF v4.0 ndi matembenuzidwe apamwambawa akhazikika pa CMake mwachisawawa, ndipo script yophatikiza CMakeLists.txt ingagwiritsidwe ntchito kuwongolera machitidwe ophatikiza ma code. Kuphatikiza pa kuthandizira mawu oyambira a CMake, makina ophatikizira a ESP-IDF amatanthauziranso malamulo ophatikizira osasinthika ndi ntchito za CMake, ndipo mutha kulemba zolemba zophatikiza ndi mawu osavuta.
4.3.2 Ntchito File Kapangidwe
Pulojekiti ndi chikwatu chomwe chili ndi pulogalamu yayikulu yolowera, zigawo zofotokozedwa ndi ogwiritsa ntchito, ndi files amafunikira kuti apange mapulogalamu otheka, monga zolemba zophatikizira, kasinthidwe
Mutu 4. Kukhazikitsa Malo Achitukuko 47

files, matebulo ogawa, ndi zina zotero. Ntchito zitha kukopera ndikuperekedwa, ndi kukwaniritsidwa komweko. file ikhoza kupangidwa ndikupangidwa m'makina omwe ali ndi mtundu womwewo wa chilengedwe cha chitukuko cha ESP-IDF. Ntchito yodziwika bwino ya ESP-IDF file dongosolo likusonyezedwa pa Chithunzi 4.14.
Chithunzi 4.14. Ntchito yodziwika bwino ya ESP-IDF file kapangidwe Popeza ESP-IDF imathandizira tchipisi tambiri ta IoT kuchokera ku Espressif, kuphatikiza ESP32, ESP32-S series, ESP32-C series, ESP32-H series, etc., chandamale chikuyenera kutsimikiziridwa musanalembe kachidindo. Cholinga chake ndi chida cha hardware chomwe chimagwiritsa ntchito pulogalamu yogwiritsira ntchito komanso cholinga chomanga dongosolo lophatikiza. Kutengera ndi zosowa zanu, mutha kufotokoza cholinga chimodzi kapena zingapo za polojekiti yanu. Za example, kudzera mu lamulo idf.py set-target esp32c3, mutha kukhazikitsa chandamale chophatikiza kukhala ESP32-C3, pomwe magawo osasinthika ndi njira zophatikizira zida za ESP32C3 zidzakwezedwa. Pambuyo pakuphatikiza, pulogalamu yotheka ikhoza kupangidwira ESP32C3. Mukhozanso kuyendetsa lamulo lokhazikitsa-chandamale kachiwiri kuti mukhazikitse chandamale chosiyana, ndipo dongosolo lophatikizira lidzadziyeretsa ndikukonzanso. Zigawo
Magawo mu ESP-IDF ndi ma modular komanso odziyimira pawokha omwe amayendetsedwa mkati mwa dongosolo lophatikiza. Amapangidwa ngati zikwatu, ndi dzina la chikwatu chomwe chimayimira dzina lachigawo mwachisawawa. Chigawo chilichonse chili ndi zolemba zake zomwe 48 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira ku IoT.

imatchula magawo ake ophatikiza ndi zodalira. Panthawi yophatikizira, zigawozo zimaphatikizidwa kukhala malaibulale osiyana osasunthika (.a files) ndipo pamapeto pake adaphatikizidwa ndi zigawo zina kuti apange pulogalamu yofunsira.
ESP-IDF imapereka ntchito zofunika, monga makina ogwiritsira ntchito, madalaivala ozungulira, ndi ma network protocol stack, mwa mawonekedwe a zigawo. Zidazi zimasungidwa m'ndandanda wa zigawo zomwe zili mkati mwa ESP-IDF root directory. Madivelopa safunikira kukopera zigawo izi ku chigawo cha myProject. M'malo mwake, amangofunika kufotokoza maubale odalira zigawozi mu CMakeLists.txt ya pulojekitiyi. file pogwiritsa ntchito REQUIRES kapena PRIV_REQUIRES malangizo. Dongosolo lophatikiza lizipeza zokha ndikuphatikiza zigawo zofunika.
Chifukwa chake, zolemba zamagulu pansi pa myProject sizofunika. Amangogwiritsidwa ntchito kuphatikizira zigawo zina za polojekiti, zomwe zitha kukhala malaibulale a chipani chachitatu kapena code yofotokozedwa ndi ogwiritsa ntchito. Kuphatikiza apo, zida zitha kutengedwa kuchokera ku chikwatu chilichonse kupatula ESP-IDF kapena pulojekiti yomwe ilipo, monga pulojekiti yotseguka yosungidwa mu bukhu lina. Pankhaniyi, muyenera kuwonjezera njira ya chigawocho poika EXTRA_COMPONENT_DIRS kusintha mu CMakeLists.txt pansi pa mizu ya mizu. Bukuli lidzachotsa gawo lililonse la ESP-IDF ndi dzina lomwelo, kuwonetsetsa kuti gawo lolondola likugwiritsidwa ntchito.
Pulogalamu yolowera chachikulu Chikwatu chachikulu mkati mwa polojekiti chimatsatira zomwezo file dongosolo monga zigawo zina (mwachitsanzo, chigawo1). Komabe, ili ndi tanthauzo lapadera chifukwa ndi gawo lofunikira lomwe liyenera kukhalapo muzochita zilizonse. Chikwatu chachikulu chimakhala ndi magwero a polojekiti komanso malo olowera pulogalamu, yomwe nthawi zambiri imatchedwa app_main. Mwachikhazikitso, kuchitidwa kwa pulogalamu ya ogwiritsa ntchito kumayambira pamalo olowera. Chigawo chachikulu chimasiyananso chifukwa chimadalira pazigawo zonse mkati mwa njira yosaka. Chifukwa chake, palibe chifukwa chowonetsera momveka bwino zodalira pogwiritsa ntchito REQUIRES kapena PRIV_REQUIRES malangizo mu CMakeLists.txt file.
Kusintha file Mizu yachikwatu cha polojekitiyi ili ndi kasinthidwe file yotchedwa sdkconfig, yomwe ili ndi magawo osinthika azinthu zonse zomwe zili mkati mwa polojekitiyi. sdkconfig file imapangidwa yokha ndi makina ophatikiza ndipo imatha kusinthidwa ndikusinthidwanso ndi lamulo idf.py menuconfig. Zosankha za menuconfig makamaka zimachokera ku Kconfig.projbuild ya polojekiti ndi Kconfig ya zigawozo. Opanga zigawo nthawi zambiri amawonjezera zosintha mu Kconfig kuti chigawocho chikhale chosinthika komanso chosinthika.
Pangani chikwatu Mwachikhazikitso, chikwatu chomanga mkati mwa projekiti chimasunga apakatikati files ndi fi-
Mutu 4. Kukhazikitsa Malo Achitukuko 49

mapulogalamu otheka opangidwa ndi idf.py build command. Mwambiri, sikofunikira kuti mupeze mwachindunji zomwe zili mubukhu lomanga. ESP-IDF imapereka malamulo omwe adafotokozedweratu kuti azitha kulumikizana ndi bukhuli, monga kugwiritsa ntchito idf.py flash command kuti mupeze zokha zomwe zidapangidwa. file ndikuwunikira ku adilesi yomwe yatchulidwa, kapena kugwiritsa ntchito lamulo la idf.py fullclean kuyeretsa bukhu lonse la zomangamanga.
Gawo la magawo (partitions.csv) Pulojekiti iliyonse imafuna tebulo logawa kuti ligawanitse malo a flash ndikulongosola kukula ndi adilesi yoyambira ya pulogalamu yomwe ingagwiritsidwe ntchito komanso malo a data. Lamulo la idf.py flash kapena pulogalamu yokweza ya OTA idzawunikira firmware ku adilesi yoyenera malinga ndi tebulo ili. ESP-IDF imapereka magawo angapo osasinthika mu zigawo/ partition_table, monga partitions_singleapp.csv ndi partitions_two_ ota.csv, zomwe zitha kusankhidwa mu menuconfig.
Ngati tebulo logawanika ladongosolo silingathe kukwaniritsa zofunikira za polojekitiyi, makonda a partitions.csv akhoza kuwonjezeredwa ku bukhu la polojekiti ndikusankhidwa mu menuconfig.
4.3.3 Kupanga Malamulo Osasinthika a Kachitidwe Kakuphatikiza
Malamulo opondereza zigawo zomwe zili ndi dzina lomwelo Pakafukufuku wagawo, dongosolo lophatikiza limatsata dongosolo linalake. Imafufuza kaye zamkati mwa ESP-IDF, kenako imasaka zida za ogwiritsa ntchito, ndipo pamapeto pake imasaka zida mu EXTRA_COMPONENT_DIRS. Zikadakhala kuti maulalo angapo ali ndi dzina lomwelo, gawo lomwe likupezeka mu bukhu lomaliza lidzachotsa zigawo zilizonse zam'mbuyo zomwe zili ndi dzina lomwelo. Lamuloli limalola kusintha makonda a zigawo za ESP-IDF mkati mwa pulojekiti ya ogwiritsa ntchito, ndikusunga code ya ESP-IDF yoyambirira.
Malamulo ophatikizira zigawo zodziwika mwachisawawa Monga tafotokozera mu gawo 4.3.2, zigawo ziyenera kufotokoza momveka bwino kudalira kwawo pazigawo zina mu CMakeLists.txt. Komabe, zigawo zodziwika bwino monga freertos zimangophatikizidwa muzomangamanga mwachisawawa, ngakhale maubwenzi awo odalira sakufotokozedwa mwatsatanetsatane muzolemba zophatikiza. Zigawo zodziwika bwino za ESP-IDF zikuphatikiza freertos, Newlib, mulu, chipika, soc, esp_rom, esp_common, xtensa/riscv, ndi cxx. Kugwiritsa ntchito zigawo zodziwika izi kumapewa ntchito yobwerezabwereza polemba CMakeLists.txt ndikupangitsa kuti ikhale yachidule.
Malamulo opitilira zinthu zosinthidwa Madivelopa atha kuwonjezera zosintha zosasinthika powonjezera masinthidwe okhazikika. file adatchedwa sdkconfig.defaults ku polojekitiyi. Za example, ndikuwonjezera CONFIG_LOG_
50 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

DEFAULT_LEVEL_NONE = y akhoza kukonza mawonekedwe a UART kuti asasindikize deta ya chipika mwachisawawa. Komanso, ngati magawo enieni akufunika kukhazikitsidwa pa chandamale china, kasinthidwe file yotchedwa sdkconfig.defaults.TARGET_NAME ikhoza kuwonjezeredwa, pomwe TARGET_NAME ikhoza kukhala esp32s2, esp32c3, ndi zina zotero. Izi kasinthidwe files amalowetsedwa mu sdkconfig panthawi yophatikiza, ndi kasinthidwe kosasintha file sdkconfig.defaults akutumizidwa poyamba, ndikutsatiridwa ndi kasinthidwe kamene mukufuna file, monga sdkconfig.defaults.esp32c3. Muzochitika pamene pali zinthu zosinthika ndi dzina lomwelo, kasinthidwe komaliza file adzapitilira woyamba.
4.3.4 Chiyambi cha Script Compilation
Popanga pulojekiti pogwiritsa ntchito ESP-IDF, opanga samangofunika kulemba code code komanso ayenera kulemba CMakeLists.txt ya polojekiti ndi zigawo zake. CMakeLists.txt ndi mawu file, yomwe imadziwikanso kuti compilation script, yomwe imatanthawuza mndandanda wa zinthu zophatikizira, zinthu zokonzekera, ndi malamulo otsogolera ndondomeko ya kachidindo kochokera. Dongosolo lophatikizira la ESP-IDF v4.3.2 lakhazikika pa CMake. Kuphatikiza pakuthandizira magwiridwe antchito a CMake ndi malamulo, imatanthawuzanso ntchito zingapo, zomwe zimapangitsa kuti zikhale zosavuta kulemba zolemba zophatikiza.
Zolemba zophatikizira mu ESP-IDF makamaka zimaphatikizanso zolemba zopanga pulojekiti ndi zolemba zophatikiza. CMakeLists.txt mu chikwatu cha pulojekitiyi imatchedwa script compilation script, yomwe imatsogolera ndondomeko yosonkhanitsa polojekiti yonse. Zolemba zoyambira polojekiti nthawi zambiri zimakhala ndi mizere itatu iyi:
1. cmake_minimum_required(VERSION 3.5) 2. phatikiza($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. project(myProject)
Pakati pawo, cmake_minimum_required (VERSION 3.5) iyenera kuikidwa pamzere woyamba, womwe umagwiritsidwa ntchito kusonyeza chiwerengero chochepa cha CMake version chofunika ndi polojekitiyi. Mitundu yatsopano ya CMake nthawi zambiri imakhala yobwerera m'mbuyo yomwe imagwirizana ndi mitundu yakale, chifukwa chake sinthani nambala yakeyo moyenera mukamagwiritsa ntchito malamulo atsopano a CMake kuti muwonetsetse kuti ikugwirizana.
zikuphatikizapo($ENV {IDF_PATH}/tools/cmake/project.cmake) imalowetsa zinthu zosinthidwa zomwe zidafotokozedwa kale ndi malamulo a dongosolo lophatikizira la ESP-IDF, kuphatikiza malamulo omanga osasinthika a dongosolo lophatikiza lomwe likufotokozedwa mu Gawo 4.3.3. project(myProject) imapanga polojekiti yokha ndikutchula dzina lake. Dzinali lidzagwiritsidwa ntchito ngati binary yomaliza yotulutsa file dzina, mwachitsanzo, myProject.elf ndi myProject.bin.
Pulojekiti ikhoza kukhala ndi zigawo zingapo, kuphatikizapo chigawo chachikulu. Chikwatu chapamwamba cha chigawo chilichonse chili ndi CMakeLists.txt file, yomwe imatchedwa script compilation script. Zolemba zophatikizira zigawo zimagwiritsidwa ntchito makamaka kufotokoza zodalira pazigawo, magawo osinthira, ma source code files, ndikuphatikizanso mutu files kwa
Mutu 4. Kukhazikitsa Malo Achitukuko 51

kuphatikiza. Ndi ESP-IDF's Custom function idf_component_register, nambala yochepa yofunikira pa script yophatikiza zigawo ndi motere:

1. idf_component_register(SRCS “src1.c”

2.

INCLUDE_DIRS "kuphatikizapo"

3.

IKUFUNA chigawo1)

Gawo la SRCS limapereka mndandanda wamagwero files mu gawo, olekanitsidwa ndi mipata ngati pali angapo files. The INCLUDE_DIRS parameter imapereka mndandanda wamutu wapagulu file akalozera pagawo, zomwe zidzawonjezedwa kuphatikizira njira yofufuzira ya zigawo zina zomwe zimadalira gawo lomwe lilipo. Gawo la REQUIRES limazindikiritsa kudalira kwamagulu a anthu pagawo lomwe lilipo. Ndikofunikira kuti zigawo zifotokoze momveka bwino zomwe zimadalira, monga chigawo2 kutengera chigawo1. Komabe, kwa chigawo chachikulu, chomwe chimadalira zigawo zonse mwachisawawa, ZOFUNIKIRA ZOFUNIKA ZOFUNIKIRA zikhoza kuchotsedwa.

Kuphatikiza apo, malamulo achibadwidwe a CMake atha kugwiritsidwanso ntchito pakuphatikiza. Za example, gwiritsani ntchito lamulo lokhazikitsidwa kuti muyike zosinthika, monga set(VARIABLE “VALUE”).

4.3.5 Chiyambi cha Malamulo Ena Onse
ESP-IDF imagwiritsa ntchito CMake (chida chokonzekera polojekiti), Ninja (chida chomangira polojekiti) ndi esptool (chida chowunikira) popanga ma code. Chida chilichonse chimagwira ntchito yosiyana pakuphatikiza, kumanga, ndi kung'anima, komanso kumathandizira malamulo osiyanasiyana ogwiritsira ntchito. Kuti muthandizire ogwiritsa ntchito, ESP-IDF imawonjezera idf.py yolumikizana kutsogolo yomwe imalola kuti malamulo omwe ali pamwambawa atchulidwe mwachangu.
Musanagwiritse ntchito idf.py, onetsetsani kuti:
· Zosintha zachilengedwe za IDF_PATH za ESP-IDF zawonjezedwa ku terminal yomwe ilipo. · Chikwatu chotsatira lamulo ndiye chikwatu cha polojekiti, chomwe chimaphatikizapo
script kuphatikiza projekiti CMakeLists.txt.
Malamulo wamba a idf.py ndi awa:
· idf.py -help: kuwonetsa mndandanda wamalamulo ndi malangizo ake ogwiritsira ntchito. · idf.py set-target : kuyika kuphatikiza taidf.py fullcleanrget, monga
m'malo ndi esp32c3. · idf.py menuconfig: kuyambitsa menuconfig, kusintha kwazithunzi
chida, chomwe chitha kusankha kapena kusintha zosintha, ndipo zosintha zimasungidwa mu sdkconfig. file. · idf.py build: kuyambitsa kupanga ma code. Wapakati files ndi pulogalamu yomaliza yomaliza yopangidwa ndi kuphatikizika idzasungidwa mu bukhu lomanga la polojekitiyo mwachisawawa. Njira yophatikizira ndi yowonjezereka, zomwe zikutanthauza kuti ngati gwero limodzi lokha file ndi kusinthidwa, kokha kusinthidwa file idzakonzedwanso nthawi ina.

52 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

· idf.py clean: kuyeretsa chapakati files yopangidwa ndi kupangidwa kwa polojekiti. Ntchito yonseyo idzakakamizika kuphatikizidwira m'gulu lotsatira. Dziwani kuti kasinthidwe ka CMake ndi masinthidwe osinthidwa opangidwa ndi menuconfig sangachotsedwe pakuyeretsa.
· idf.py fullclean: kuchotsa chikwatu chonse chomanga, kuphatikiza zonse za CMake kasinthidwe files. Mukamanganso polojekitiyi, CMake ikonza pulojekitiyi kuyambira pachiyambi. Chonde dziwani kuti lamuloli lidzachotsa zonse mobwerezabwereza files mu bukhu lomanga, chifukwa chake ligwiritseni ntchito mosamala, ndi kasinthidwe ka polojekiti file sichidzachotsedwa.
· idf.py flash: kuwunikira pulogalamu yoyeserera file opangidwa ndi kumanga ku chandamale cha ESP32-C3. Zosankha -p ndi b amagwiritsidwa ntchito kuyika dzina la chipangizo cha doko la serial ndi kuchuluka kwa baud pakuwunikira, motsatana. Ngati zosankha ziwirizi sizinatchulidwe, doko la serial lidziwikiratu ndipo kuchuluka kwa baud kudzagwiritsidwa ntchito.
· idf.py monitor: kuwonetsa kutulutsa kwa doko kwa chandamale cha ESP32-C3. Chosankha -p chingagwiritsidwe ntchito kutchula dzina la chipangizo cha doko la serial-side port. Pakusindikiza kwa serial port, kanikizani makiyi ophatikizira Ctrl+] kuti mutuluke pakuwunika.
Malamulo omwe ali pamwambawa angathenso kuphatikizidwa ngati pakufunika. Za exampndi, lamulo idf.py build flash monitor lipanga ma code, flash, ndi kutsegula serial port monitor motsatizana.
Mutha kupita ku https://bookc3.espressif.com/build-system kuti mudziwe zambiri za ESP-IDF compilation system.
4.4 Yesani: Kulemba EksampPulogalamu "Blink"
4.4.1 Eksampndi Analysis
Gawoli litenga pulogalamu ya Blink ngati yakaleample kusanthula file kamangidwe ndi malamulo a coding a polojekiti yeniyeni mwatsatanetsatane. Pulogalamu ya Blink imagwiritsa ntchito kuwala kwa LED, ndipo pulojekitiyi ili mu bukhu lakaleamples/get-start/blink, yomwe ili ndi gwero file, kasinthidwe files, ndi zolemba zingapo zophatikiza.
Pulojekiti yowunikira mwanzeru yomwe idayambika m'bukuli idachokera pa iziampndi program. Ntchito zidzawonjezedwa pang'onopang'ono m'mitu yamtsogolo kuti mumalize.
Khodi yochokera Kuti muwonetse ntchito yonse yachitukuko, pulogalamu ya Blink yakoperedwa ku esp32c3-iot-projects/device firmware/1 blink.
Dongosolo lachikwatu cha projekiti ya blink files ikuwonetsedwa pa Chithunzi 4.15.
Pulojekiti ya blink ili ndi chikwatu chimodzi chokha, chomwe ndi gawo lapadera lomwe
Mutu 4. Kukhazikitsa Malo Achitukuko 53

Chithunzi 4.15. File chikwatu cha polojekiti ya blink

ziyenera kuphatikizidwa monga momwe tafotokozera mu gawo 4.3.2. Chikwatu chachikulu chimagwiritsidwa ntchito makamaka kusungira kukhazikitsidwa kwa app_main () ntchito, yomwe ndi malo olowera pulogalamu ya ogwiritsa ntchito.Pulojekiti ya blink siyimaphatikizira chikwatu cha zigawo, chifukwa ichi ex.ample amangofunika kugwiritsa ntchito zigawo zomwe zimabwera ndi ESP-IDF ndipo sizifuna zina zowonjezera. CMakeLists.txt yomwe ili mu pulojekiti ya blink imagwiritsidwa ntchito kutsogolera ndondomeko yophatikizira, pamene Kconfig.projbuild imagwiritsidwa ntchito kuwonjezera zinthu zosinthidwa za ex.ampndi pulogalamu mu menuconfig. Zina zosafunikira files sizingakhudze kuphatikizika kwa code, kotero sizidzakambidwa pano. Chidziwitso chatsatanetsatane cha projekiti ya blink files ndi motere.

1. /*blink.c ili ndi mutu wotsatirawu files*/

2. #kuphatikizapo

//Standard C library library file

3. #kuphatikizapo "freertos/freeRTOS.h" //FreeRTOS mutu waukulu file

4. #kuphatikizapo "freertos/task.h"

//FreeRTOS Task mutu file

5. #include "sdkconfig.h"

//Configuration mutu file yopangidwa ndi kconfig

6. #kuphatikizapo "driver/gpio.h"

//GPIO mutu woyendetsa file

Gwero file blink.c ili ndi mitu yambiri filezikugwirizana ndi ntchito yolengeza-

tions. ESP-IDF nthawi zambiri imatsata dongosolo lophatikizira mutu wamba wa library files, FreeR-

Chithunzi cha TOS files, mutu wa driver files, mutu wagawo lina files, ndi mutu wa polojekiti files.

Ndondomeko yamutu files zikuphatikizidwa zingakhudze zotsatira zomaliza zophatikiza, choncho yesani

tsatirani malamulo okhazikika. Tiyenera kuzindikira kuti sdkconfig.h imapangidwa yokha

ndi kconfig ndipo ikhoza kukonzedwa kudzera mu lamulo idf.py menuconfig.

Kusintha kwachindunji kwa mutuwu file zidzalembedwa.

1. /*Mutha kusankha GPIO yolingana ndi LED mu idf.py menuconfig, ndipo zosintha za menuconfig ndikuti mtengo wa CONFIG_BLINK

_GPIO idzasinthidwa. Mutha kusinthanso mwachindunji tanthauzo la macro

apa, ndi kusintha CONFIG_BLINK_GPIO kukhala mtengo wokhazikika.*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO

3. app_main(zopanda kanthu)

4. {

5.

/* Konzani IO ngati ntchito yokhazikika ya GPIO, yambitsani kukoka, ndi

6.

zimitsani zolowetsa ndi zotulutsa */

7.

gpio_reset_pin(BLINK_GPIO);

54 ESP32-C3 Wireless Adventure: Chitsogozo Chokwanira cha IoT

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

/* Khazikitsani GPIO kuti ituluke */ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); pamene (1) {
/* Sindikizani chipika*/ printf(“Kuzimitsa LEDn”); /*Zimitsani nyali ya LED (yotsika kwambiri)*/ gpio_set_level(BLINK_GPIO, 0); /*Kuchedwa (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf ("Kuyatsa LEDn"); /*Yatsani LED (zotulutsa zapamwamba)*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }

The app_main() ntchito mu Blink example program imagwira ntchito ngati polowera mapulogalamu a ogwiritsa ntchito. Ndi ntchito yosavuta yopanda magawo komanso mtengo wobwerera. Ntchitoyi imatchedwa dongosolo likamaliza kukhazikitsa, lomwe limaphatikizapo ntchito monga kuyambitsa doko lachilogi, kukonza imodzi / yapawiri core, ndikukonzekera woyang'anira.

Ntchito ya app_main () imayenda molingana ndi ntchito yotchedwa main. Kukula kwa stack ndi kufunikira kwa ntchitoyi kungasinthidwe mu menuconfig Componentconfig Common ESP yokhudzana.

Pantchito zosavuta monga kuthwanima kwa LED, ma code onse ofunikira atha kukhazikitsidwa mwachindunji mu app_main() ntchito. Izi zimaphatikizapo kuyambitsa GPIO yogwirizana ndi LED ndikugwiritsa ntchito kamphindi (1) loop kuti mutsegule ndi kuzimitsa LED. Kapenanso, mutha kugwiritsa ntchito FreeRTOS API kuti mupange ntchito yatsopano yomwe imagwira ndi kuthwanima kwa LED. Ntchito yatsopanoyo ikapangidwa bwino, mutha kutuluka app_main() ntchito.

Zomwe zili mu main/CMakeLists.txt file, yomwe imatsogolera kuphatikizika kwa gawo lalikulu, ili motere:

1. idf_component_register(SRCS “blink.c” INCLUDE_DIRS “.” )

Pakati pawo, main/CMakeLists.txt amangoyitanira ntchito imodzi yophatikizira, ndiyo idf_component_register. Zofanana ndi CMakeLists.txt pazinthu zina zambiri, blink.c imawonjezedwa ku SRCS, ndi gwero filezowonjezeredwa ku SRCS zidzapangidwa. Nthawi yomweyo, ".", yomwe ikuyimira njira yomwe CMakeLists.txt ilipo, iyenera kuwonjezeredwa ku INCLUDE_DIRS monga zolembera zofufuzira pamutu. files. Zomwe zili mu CMakeLists.txt zili motere:
1. #Tchulani v3.5 ngati mtundu wakale kwambiri wa CMake wothandizidwa ndi pulojekiti yamakono 2. #Matembenuzidwe otsika kuposa v3.5 akuyenera kukwezedwa kusanjidwa kusanapitirire 3. cmake_minimum_required(VERSION 3.5) 4. #Phatikizani kasinthidwe ka CMake ka ESP -IDF yophatikiza dongosolo

Mutu 4. Kukhazikitsa Malo Achitukuko 55

5. phatikizani($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Pangani ntchito yotchedwa "blink" 7. project(myProject)
Pakati pawo, CMakeLists.txt m'ndandanda wa mizu imaphatikizapo $ENV{IDF_ PATH}/tools/cmake/project.cmake, komwe ndiko kasinthidwe ka CMake file zoperekedwa ndi ESP-IDF. Amagwiritsidwa ntchito con

Zolemba / Zothandizira

Espressif Systems ESP32-C3 Wireless Adventure [pdf] Buku Logwiritsa Ntchito
ESP32-C3 Wireless Adventure, ESP32-C3, Wireless Adventure, Adventure

Maumboni

Siyani ndemanga

Imelo yanu sisindikizidwa. Minda yofunikira yalembedwa *