ESP32-C3 Wireless Adventure

ESP32-C3 Wireless Adventure

A Comprehensive Guide kuIoT

Espressif Systems Chikumi 12, 2023

Zvinotsanangurwa

  • Chigadzirwa: ESP32-C3 Wireless Adventure
  • Mugadziri: Espressif Systems
  • Zuva: Chikumi 12, 2023

Mirayiridzo Yekushandiswa Kwechigadzirwa

Kugadzirira

Usati washandisa ESP32-C3 Wireless Adventure, ita shuwa kuti uri
kujairana nemafungiro uye dhizaini yeIoT. Izvi zvichabatsira
iwe unonzwisisa kuti mudziyo unopinda sei mune yakakura IoT ecosystem
uye mashandisirwo ayo anogona kuitika mudzimba dzakangwara.

Nhanganyaya uye Kuita kweIoT Projects

Muchikamu chino, iwe uchadzidza nezve akajairwa IoT mapurojekiti,
kusanganisira iwo ekutanga mamodule eakajairwa IoT zvishandiso, basic module
yemashandisirwo evatengi, uye zvakajairika IoT gore mapuratifomu. Izvi zvichaita
kukupa iwe nheyo yekunzwisisa uye kugadzira yako
yako mapurojekiti eIoT.

Dzidzira: Smart Light Project

Muchirongwa ichi chekudzidzira, iwe unozodzidza kugadzira yakangwara
mwenje uchishandisa ESP32-C3 Wireless Adventure. Chimiro cheprojekiti,
mabasa, kugadzirira Hardware, uye nzira yekuvandudza ichave
akatsanangura zvakadzama.

Project Structure

Iyo purojekiti ine zvikamu zvakati wandei, kusanganisira iyo
ESP32-C3 Wireless Adventure, LEDs, sensors, uye gore
backend.

Project Mabasa

Iyo smart light purojekiti inobvumidza iwe kudzora kupenya uye
ruvara rwemaLED kure kuburikidza nenharembozha kana web
interface.

Hardware Kugadzirira

Kuti ugadzirire purojekiti, iwe uchafanirwa kuunganidza
zvinodiwa zvehardware, senge ESP32-C3 Wireless
Adventure board, LEDs, resistors, uye magetsi.

Development Process

Iyo nzira yekuvandudza inosanganisira kumisikidza budiriro
nharaunda, kunyora kodhi kudzora maLED, achibatanidza kune
Cloud backend, uye kuyedza mashandiro evakangwara
chiedza.

Nhanganyaya yeESP RainMaker

ESP RainMaker isimba rine simba rekugadzira IoT
zvishandiso. Muchikamu chino, iwe uchadzidza kuti ESP RainMaker chii uye
zvingaitwa sei mumapurojekiti ako.

Chii chinonzi ESP RainMaker?

ESP RainMaker ipuratifomu-yakavakirwa gore inopa seti ye
zvishandiso uye masevhisi ekuvaka uye kubata IoT zvishandiso.

Kuitwa kweESP RainMaker

Ichi chikamu chinotsanangura zvikamu zvakasiyana zvinobatanidzwa
kushandisa ESP RainMaker, kusanganisira basa rekutsvaga,
RainMaker Agent, gore backend, uye RainMaker Client.

Dzidzira: Mapoinzi Akakosha eKukudziridza neESP RainMaker

Muchikamu chino chekudzidzira, iwe uchadzidza nezve akakosha mapoinzi kune
funga paunenge uchigadzira neESP RainMaker. Izvi zvinosanganisira mudziyo
kudaidza, kuwiriranisa data, uye manejimendi emushandisi.

Zvinoumba ESP RainMaker

ESP RainMaker inopa akasiyana maficha ekutarisira mushandisi, kupera
vashandisi, uye vatariri. Aya maficha anobvumira mudziyo uri nyore
setup, remote control, uye monitoring.

Kugadzira Nzvimbo Yekuvandudza

Ichi chikamu chinopa pamusoroview yeESP-IDF (Espressif IoT
Development Framework), inova ndiyo hurongwa hwekusimudzira
yeESP32-yakavakirwa zvishandiso. Inotsanangura shanduro dzakasiyana dze
ESP-IDF uye nzira yekumisikidza nharaunda yekusimudzira.

Hardware uye Driver Development

Hardware Dhizaini yeSmart Chiedza Zvigadzirwa zvinoenderana neESP32-C3

Ichi chikamu chinotarisa pane hardware dhizaini ye smart light
zvigadzirwa zvakavakirwa paESP32-C3 Wireless Adventure. Inofukidza iyo
maficha uye kuumbwa kweakangwara zvigadzirwa zvemwenje, pamwe neiyo
hardware dhizaini yeESP32-C3 musimboti system.

Zvimiro uye Kuumbwa kweSmart Chiedza Zvigadzirwa

Ichi chikamu chinotsanangura maitiro uye zvikamu zvinogadzira
up smart light products. Inotaura nezvekushanda kwakasiyana
uye magadzirirwo ekufunga kwekugadzira mwenje wakangwara.

Hardware Dhizaini yeESP32-C3 Core System

Iyo hardware dhizaini yeESP32-C3 musimboti system inosanganisira simba
kupa, simba-pakutevedzana, system reset, SPI flash, wachi sosi,
uye RF uye antenna kufunga. Ichi chikamu chinopa
ruzivo rwakadzama pazvinhu izvi.

FAQ

Mubvunzo: Chii chinonzi ESP RainMaker?

A: ESP RainMaker ipuratifomu-yakavakirwa gore inopa zvishandiso
uye masevhisi ekuvaka uye kubata IoT zvishandiso. Inorerutsa
iyo nzira yekuvandudza uye inobvumira kuseta mudziyo nyore, kure
kutonga, nekutarisa.

Mubvunzo: Ndingaite sei kuti ndigadzirire nharaunda yekusimudzira
ESP32-C3?

A: Kumisikidza nharaunda yekusimudzira yeESP32-C3, unoda
kuisa ESP-IDF (Espressif IoT Development Framework) uye
gadzirisa zvinoenderana nemirairo yakapihwa. ESP-IDF ndiyo
hurongwa hwekuvandudza hweESP32-based devices.

Q: Ndeapi maficha eESP RainMaker?

A: ESP RainMaker inopa akasiyana maficha, kusanganisira mushandisi
manejimendi, ekupedzisira mushandisi maficha, uye admin maficha. User manejimendi
inobvumira kunyoreswa kwechishandiso uye kuwiriranisa data. Mushandisi wekupedzisira
maficha anogonesa kure kudzora kwemidziyo kuburikidza nenharembozha kana
web interface. Admin maficha anopa maturusi ekutarisa mudziyo
uye manejimendi.

ESP32-C3 Wireless Adventure
A Comprehensive Guide kuIoT
Espressif Systems Chikumi 12, 2023

Zviri mukati

Ini Kugadzirira

1

1 Nhanganyaya kuIoT

3

1.1 Architecture yeIoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 IoT Kushandisa muSmart Homes. . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Kusuma uye Kudzidzira kweIoT Projects

9

2.1 Nhanganyaya kune Yakajairika IoT Projects. . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Basic Modules for Common IoT Devices . . . . . . . . . . . . . . . . . 9

2.1.2 Basic Modules of Client Applications . . . . . . . . . . . . . . . . . . . 10

2.1.3 Nhanganyaya kune Common IoT Cloud Platforms . . . . . . . . . . . . . . 11

2.2 Dzidzira: Smart Light Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Chimiro cheProjekiti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Mabasa eProjekti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.3 Kugadzirira Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.4 Mafambiro Ebudiriro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Nhanganyaya yeESP RainMaker

19

3.1 Chii chinonzi ESP RainMaker? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Kuitwa kweESP RainMaker. . . . . . . . . . . . . . . . . . . . . . 21

3.2.1 Claiming Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.2 RainMaker Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

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

3.2.4 RainMaker Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3 Dzidzira: Mapoinzi Akakosha eKuvandudza neESP RainMaker. . . . . . . . . . . . 25

3.4 Zvimiro zveESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.1 User Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2 End User Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4.3 Admin Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.5 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Kugadzira Mamiriro Ekusimudzira

31

4.1 ESP-IDF Pamusoroview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 ESP-IDF Shanduro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3

4.1.2 ESP-IDF Git Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Kusarudza Shanduro Yakakodzera . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 Pamusoroview yeESP-IDF SDK Dhairekitori . . . . . . . . . . . . . . . . . . . . 34 4.2 Kugadzira ESP-IDF Mamiriro Ekusimudzira . . . . . . . . . . . . . . . . . 38 4.2.1 Kumisikidza ESP-IDF Development Environment paLinux . . . . . . . . 38 4.2.2 Kumisikidza ESP-IDF Development Environment paWindows. . . . . . 40 4.2.3 Kumisikidza ESP-IDF Development Environment paMac. . . . . . . . . 45 4.2.4 Kuisa VS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Nhanganyaya kune Vechitatu-Bato Rebudiriro Mamiriro ezvinhu . . . . . . . . 46 4.3 ESP-IDF Compilation System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Basic Concepts of Compilation System . . . . . . . . . . . . . . . . . . 47 4.3.2 Chirongwa File Chimiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Default Kuvaka Mitemo yeCompalation System . . . . . . . . . . . . . 50 4.3.4 Nhanganyaya yeKuunganidzwa Gwaro . . . . . . . . . . . . . . . . . . 51 4.3.5 Nhanganyaya yeMirairo Yakafanana . . . . . . . . . . . . . . . . . . . 52 4.4 Dzidzira: Kunyora Exampuye Chirongwa "Blink" . . . . . . . . . . . . . . . . . . 53 4.4.1 Eksample Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Kugadzira Chirongwa cheBlink. . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Kupenya Chirongwa cheBlink. . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Seri Port Log Ongororo yeChirongwa cheBlink. . . . . . . . . . . . . . 60 4.5 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

II Hardware uye Driver Development

65

5 Hardware Dhizaini yeSmart Chiedza Zvigadzirwa zvinoenderana neESP32-C3

67

5.1 Zvimiro uye Kuumbwa kweSmart Chiedza Zvigadzirwa. . . . . . . . . . . . . . . 67

5.2 Hardware Dhizaini yeESP32-C3 Core System . . . . . . . . . . . . . . . . . . . 70

5.2.1 Simba rekupa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2.2 Simba-pakutevedzana uye Kugadziridza System. . . . . . . . . . . . . . . . . . 74

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

5.2.4 Clock Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.5 RF uye Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.6 Mapini ekusunga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2.7 GPIO uye PWM Controller . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 Dzidzira: Kuvaka Smart Light System neESP32-C3. . . . . . . . . . . . . 80

5.3.1 Kusarudza Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.3.2 Kugadzirisa maGPIO ePWM Signals . . . . . . . . . . . . . . . . . . . . 82

5.3.3 Kudhaunirodha Firmware uye Debugging Interface . . . . . . . . . . . . 82

5.3.4 Nhungamiro dzeRF Dhizaini . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 Nhungamiro Yekugadzira Magetsi Ekupa Masimba . . . . . . . . . . . . . . . . . . . 86 5.4 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6 Kuvandudza Mutyairi

87

6.1 Mutyairi Wekuvandudza Maitiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.2 ESP32-C3 Peripheral Applications . . . . . . . . . . . . . . . . . . . . . . . . . 88

6.3 LED Driver Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.1 Nzvimbo dzeMavara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.2 Mutyairi we LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.3 Kudzima kwe LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.4 Nhanganyaya kuPWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.4 LED Dimming Driver Development. . . . . . . . . . . . . . . . . . . . . . . . 96

6.4.1 Kuchengetera Kusingaite (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97

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

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

6.5 Dzidzira: Kuwedzera Vatyairi kuSmart Light Project. . . . . . . . . . . . . . . . . 103

6.5.1 Bhatani Mutyairi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.5.2 LED Dimming Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.6 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

III Wireless Kukurukurirana uye Kudzora

109

7 Wi-Fi Configuration uye Kubatanidza

111

7.1 Nheyo dzeWi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.1 Nhanganyaya kuWi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.2 Evolution yeIEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.3 Wi-Fi Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.1.4 Wi-Fi Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.2 Nheyo dzeBluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.2.1 Nhanganyaya kuBluetooth. . . . . . . . . . . . . . . . . . . . . . . . . 123

7.2.2 Bluetooth Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.2.3 Bluetooth Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

7.3 Wi-Fi Network Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Dzimwe Nzira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7.4 Wi-Fi Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 Wi-Fi Zvikamu muESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 Exercise: Wi-Fi Connection . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 Chiitwa: Smart Wi-Fi Connection . . . . . . . . . . . . . . . . . . . . . 145
7.5 Dzidzira: Wi-Fi Configuration muSmart Light Project. . . . . . . . . . . . . . . 156 7.5.1 Wi-Fi Connection muSmart Light Project. . . . . . . . . . . . . . . . . 156 7.5.2 Smart Wi-Fi Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

8 Kudzora Kwenharaunda

159

8.1 Nhanganyaya yeKudzora Kwenzvimbo. . . . . . . . . . . . . . . . . . . . . . . . . . . 159

8.1.1 Kushandiswa kweKudzora Kwenzvimbo . . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.2 Advantages of Local Control. . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.3 Kutsvaga Zvishandiso Zvinodzorwa kuburikidza neMafoni Mafoni. . . . . . . . . . 161

8.1.4 Data Kukurukurirana Pakati PemaSmartphones Nemidziyo . . . . . . . . 162

8.2 Nzira Dzakafanana dzeKuwanikwa Kwenzvimbo . . . . . . . . . . . . . . . . . . . . . . . . 162

8.2.1 Nhepfenyuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

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

8.2.3 Kuenzanisa Pakati Pekutepfenyura uye Multicast. . . . . . . . . . . . . . 176

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

8.3 Common Communication Protocols for Local Data . . . . . . . . . . . . . . . 179

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

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

8.3.3 Mushandisi Datagram Protocol (UDP) . . . . . . . . . . . . . . . . . . . . . . 189

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

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

8.3.6 Pfupiso yeData Kukurukurirana Protocols . . . . . . . . . . . . . . . 203

8.4 Kuvimbiswa kweData Chengetedzo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

8.4.1 Nhanganyaya yeTransport Layer Security (TLS) . . . . . . . . . . . . . 207

8.4.2 Nhanganyaya yeDataggondohwe Transport Layer Security (DTLS) . . . . . . . 213

8.5 Dzidzira: Kudzora Kwenzvimbo muSmart Light Project. . . . . . . . . . . . . . . . . . 217

8.5.1 Kugadzira Wi-Fi-based Local Control Server . . . . . . . . . . . . . . . 217

8.5.2 Kuongorora Mashandiro Ekutonga Kwenzvimbo uchishandisa Zvinyorwa . . . . . . . . . . . 221

8.5.3 Kugadzira Bluetooth-based Local Control Server . . . . . . . . . . . . 222

8.6 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

9 Cloud Control

225

9.1 Nhanganyaya kune Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . 225

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

9.2.1 MQTT Nhanganyaya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 MQTT Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 MQTT Message Format . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 Protocol Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Kumisikidza MQTT Broker paLinux neWindows. . . . . . . . . . . . 233 9.2.6 Kugadzira MQTT Mutengi Kubva paESP-IDF . . . . . . . . . . . . . . . . 235 9.3 Kuve nechokwadi cheMQTT Data Chengetedzo . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 Zvinorehwa uye Basa reZvitupa . . . . . . . . . . . . . . . . . . . 237 9.3.2 Kugadzira Zvitupa Munharaunda . . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 Kugadzirisa MQTT Broker . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 Kugadzira MQTT Client . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 Dzidzira: Remote Control kuburikidza neESP RainMaker. . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Node uye Cloud Backend Communication Protocol . . . . . . . . . . . 244 9.4.3 Kukurukurirana pakati peClient ne Cloud Backend . . . . . . . . . . . 249 9.4.4 Mabasa emushandisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Basic Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 Smart Light Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 RainMaker App uye Yechitatu-Bato Kubatanidza . . . . . . . . . . . . . . . 262 9.5 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

10 Smartphone App Development

269

10.1 Nhanganyaya kune Smartphone App Development. . . . . . . . . . . . . . . . . . 269

10.1.1 Pamusoroview yeSmartphone App Development. . . . . . . . . . . . . . . 270

10.1.2 Mamisikirwo eiyo Android Project . . . . . . . . . . . . . . . . . . . . . . 270

10.1.3 Mamiriro eIOS Project . . . . . . . . . . . . . . . . . . . . . . . . 271

10.1.4 Hupenyu hweAroid Chiitiko . . . . . . . . . . . . . . . . . . . . . . 272

10.1.5 Hupenyu hweIOS ViewController . . . . . . . . . . . . . . . . . . . . . . 273

10.2 Kugadzira New Smartphone App Project. . . . . . . . . . . . . . . . . . . . . 275

10.2.1 Kugadzirira Android Development . . . . . . . . . . . . . . . . . . . 275

10.2.2 Kugadzira New Android Project . . . . . . . . . . . . . . . . . . . . . . 275

10.2.3 Kuwedzera Zvinoenderana neMyRainmaker . . . . . . . . . . . . . . . . . 276

10.2.4 Chikumbiro cheMvumo mu Android . . . . . . . . . . . . . . . . . . . . . . 277

10.2.5 Kugadzirira iOS Development. . . . . . . . . . . . . . . . . . . . . . 277

10.2.6 Kugadzira New iOS Project. . . . . . . . . . . . . . . . . . . . . . . . 278

10.2.7 Kuwedzera Zvinoenderana neMyRainmaker . . . . . . . . . . . . . . . . . 279

10.2.8 Chikumbiro cheMvumo muIOS. . . . . . . . . . . . . . . . . . . . . . . . . 280

10.3 Ongororo yeApp's Functional Requirements . . . . . . . . . . . . . . . . . . 281

10.3.1 Ongororo yeZvinodiwa Nekushanda kweProjekiti. . . . . . . . . . . . 282

10.3.2 Ongororo yeZvinodiwa Zvekutarisira Mushandisi . . . . . . . . . . . . . . . 282 10.3.3 Ongororo yeKupa Chishandiso uye Kusunga Zvinodiwa . . . . . . . 283 10.3.4 Ongororo yeKure-Kudzora Zvinodiwa . . . . . . . . . . . . . . . . 283 10.3.5 Ongororo Yekuronga Zvinodiwa . . . . . . . . . . . . . . . . . . . 284 10.3.6 Ongororo yeMushandisi Wenzvimbo Inodiwa . . . . . . . . . . . . . . . . . . 285 10.4 Kuvandudzwa kweMushandisi Wekutarisira . . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 Nhanganyaya kuRainMaker MaAPI . . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 Kutanga Kukurukurirana kuburikidza neSmartphone . . . . . . . . . . . . . . . . 286 10.4.3 Kunyoresa Akaundi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 Account Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 Kuvandudzwa kwekupa Mudziyo . . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 Scanning Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 Kubatanidza Midziyo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 Kugadzira Makiyi Akavanzika . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Kuwana Node ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 Provisioning Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 Kuvandudzwa kweDhidhiyo Control. . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 Kusunga Midziyo kuMaakaundi eMakore . . . . . . . . . . . . . . . . . . . . 303 10.6.2 Kuwana Rondedzero Yemidziyo . . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 Kuwana Device Status . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 Changing Device Status . . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 Kuvandudzwa kweKuronga uye Mushandisi Center . . . . . . . . . . . . . . . . . . . 313 10.7.1 Kuita Basa Rokuronga . . . . . . . . . . . . . . . . . . . . 313 10.7.2 Implementing User Center . . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 More Cloud APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

11 Firmware Upgrade uye Version Management

321

11.1 Firmware Upgrade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.1.1 Pamusoroview yePatition Tables . . . . . . . . . . . . . . . . . . . . . . . . 322

11.1.2 Firmware Boot process . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

11.1.3 Pamusoroview yeOTA Mechanism. . . . . . . . . . . . . . . . . . . . . 326

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

11.2.1 Firmware Marking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.2 Rollback uye Anti-Rollback . . . . . . . . . . . . . . . . . . . . . . . . 331

11.3 Dzidzira: Pamusoro-pamhepo (OTA) Example . . . . . . . . . . . . . . . . . . . . . . . 332

11.3.1 Simudzira Firmware Kuburikidza Nemunzvimbo Yekugamuchira . . . . . . . . . . . . . . . . . 332

11.3.2 Simudzira Firmware Kuburikidza neESP RainMaker. . . . . . . . . . . . . . . 335

11.4 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

IV Optimization uye Mass Production

343

12 Power Management uye Low-Power Optimization

345

12.1 ESP32-C3 Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

12.1.1 Dynamic Frequency Scaling . . . . . . . . . . . . . . . . . . . . . . . . 346

12.1.2 Magadzirirwo Ekugadzirisa Simba . . . . . . . . . . . . . . . . . . . . 348

12.2 ESP32-C3 Yakaderera-Simba Modhi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

12.2.1 Modem-kurara maitiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

12.2.2 Chiedza-kurara Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

12.2.3 Deep-sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

12.2.4 Ikozvino Kushandiswa MuMagetsi Akasiyana-siyana . . . . . . . . . . . . . 358

12.3 Power Management uye Low-Power Debugging . . . . . . . . . . . . . . . . . 359

12.3.1 Log Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

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

12.4 Kudzidzira: Kutungamira kweSimba muSmart Light Project. . . . . . . . . . . . . . . 363

12.4.1 Kugadzirisa Simba reMagadzirirwo . . . . . . . . . . . . . . . . 364

12.4.2 Shandisa Power Management Locks. . . . . . . . . . . . . . . . . . . . . . 365

12.4.3 Kuona Mashandisirwo Emagetsi . . . . . . . . . . . . . . . . . . . . . . . 366

12.5 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

13 Yakagadziridzwa Yekuchengetedza Dhivha Zvimiro

369

13.1 Pamusoroview yeIoT Device Data Security. . . . . . . . . . . . . . . . . . . . . . . 369

13.1.1 Sei Kuchengetedza IoT Chishandiso Dhata? . . . . . . . . . . . . . . . . . . . . . . 370

13.1.2 Zvinodiwa Zvinokosha zveIoT Device Data Security . . . . . . . . . . . . 371

13.2 Data Kutendeseka Dziviriro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

13.2.1 Nhanganyaya yeKunyatsoongorora Nzira . . . . . . . . . . . . . . 372

13.2.2 Kutendeseka Verification yeFirmware Data . . . . . . . . . . . . . . . . . . 373

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

13.3 Data Confidentiality Dziviriro. . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3.1 Nhanganyaya kuData Encryption . . . . . . . . . . . . . . . . . . . . . . 374

13.3.2 Nhanganyaya kuFlash Encryption Scheme . . . . . . . . . . . . . . . . . 376

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

13.3.4 Working Mode yeFlash Encryption . . . . . . . . . . . . . . . . . . . . 380

13.3.5 Flash Encryption process . . . . . . . . . . . . . . . . . . . . . . . . . . 381

13.3.6 Nhanganyaya kuNVS Encryption . . . . . . . . . . . . . . . . . . . . . . 383

13.3.7 Eksampzvinyorwa zveFlash Encryption uye NVS Encryption. . . . . . . . . . . 384

13.4 Data Legitimacy Dziviriro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

13.4.1 Nhanganyaya yeDigital Siginicha . . . . . . . . . . . . . . . . . . . . . 386

13.4.2 Pamusoroview yeSecure Boot Scheme. . . . . . . . . . . . . . . . . . . . . 388

13.4.3 Nhanganyaya kuSoftware Yakachengeteka Boot . . . . . . . . . . . . . . . . . . . 388 13.4.4 Nhanganyaya kune Hardware Chengetedza Boot . . . . . . . . . . . . . . . . . . 390 13.4.5 Eksamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 Dzidzira: Chengetedzo Mamiriro Mukugadzira Misa . . . . . . . . . . . . . . . . . . 396 13.5.1 Flash Encryption uye Chengetedza Boot . . . . . . . . . . . . . . . . . . . . . 396 13.5.2 Kugonesa Flash Encryption uye Chengetedza Boot neBatch Flash Tools. . 397 13.5.3 Kugonesa Flash Encryption uye Chengetedza Boot muSmart Light Project. . . 398 13.6 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

14 Firmware Kupisa uye Kuedzwa kweMisa Kugadzirwa

399

14.1 Kupisa kweFirmware muKugadzira Misa. . . . . . . . . . . . . . . . . . . . . . 399

14.1.1 Kutsanangura Zvikamu zveData. . . . . . . . . . . . . . . . . . . . . . . . . . 399

14.1.2 Kutsva kweFirmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

14.2 Kuedzwa Kwekugadzira Misa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

14.3 Dzidzira: Misa Yekugadzira Data muSmart Light Project. . . . . . . . . . . . . 404

14.4 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

15 ESP Insights: Remote Monitoring Platform

405

15.1 Nhanganyaya kuESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

15.2 Kutanga neESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . 409

15.2.1 Kutanga neESP Insights mu esp-insights Project . . . . . . 409

15.2.2 Kumhanya Eksampuye mune esp-insights Project. . . . . . . . . . . . . . . 411

15.2.3 Kuzivisa Coredump Ruzivo . . . . . . . . . . . . . . . . . . . . . 411

15.2.4 Customizing Logs of Interest . . . . . . . . . . . . . . . . . . . . . . . . 412

15.2.5 Kuzivisa Reboot Chikonzero . . . . . . . . . . . . . . . . . . . . . . . . . 413

15.2.6 Kuzivisa Maitiro Echivanhu . . . . . . . . . . . . . . . . . . . . . . . . . 413

15.3 Dzidzira: Kushandisa ESP Insights muSmart Light Project. . . . . . . . . . . . . . . 416

15.4 Pfupiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

Nhanganyaya
ESP32-C3 ndeye-musimboti Wi-Fi uye Bluetooth 5 (LE) microcontroller SoC, zvichibva pane yakavhurika-sosi RISC-V yekuvaka. Inorova chiyero chakakodzera chesimba, I/O kugona, uye chengetedzo, nekudaro ichipa iyo yakakwana inodhura-inoshanda mhinduro yemidziyo yakabatana. Kuratidza mashandisirwo akasiyana-siyana emhuri yeESP32-C3, bhuku rino neEspressif richakutora parwendo runonakidza kuburikidza neAIoT, kutanga kubva kune izvo zvekutanga zveIoT purojekiti yekuvandudza uye kumisikidzwa kwezvakatipoteredza kune inoshanda ex.amples. Zvitsauko zvina zvekutanga zvinotaura nezveIoT, ESP RainMaker uye ESP-IDF. Chitsauko 5 uye 6 muchidimbu pane Hardware dhizaini uye kusimudzira mutyairi. Sezvaunofambira mberi, iwe uchaona maitiro ekugadzirisa chirongwa chako kuburikidza neWi-Fi network uye nharembozha. Chekupedzisira, iwe unozodzidza kukwirisa purojekiti yako uye nekuiisa mukugadzirwa kwakawanda.
Kana iwe uri injinjiniya mundima dzine hukama, mugadziri wesoftware, mudzidzisi, mudzidzi, kana chero munhu anofarira IoT, bhuku rino nderenyu.
Unogona kudhawunirodha kodhi example yakashandiswa mubhuku rino kubva saiti yeEspressif paGitHub. Kuti uwane ruzivo rwazvino nezve IoT budiriro, ndapota tevera yedu yepamutemo account.

Nhanganyaya
Nyika Inozivisa
Kutasva mafungu eInternet, Internet yeZvinhu (IoT) yakaita debut yayo yakakura kuti ive rudzi rutsva rwezvivakwa muhupfumi hwedhijitari. Kuunza tekinoroji padhuze neruzhinji, Espressif Systems inoshanda kune chiono icho vanogadzira kubva kumativi ese ehupenyu vanogona kushandisa IoT kugadzirisa mamwe ematambudziko akanyanya kudzvinyirira enguva yedu. Nyika ye "Intelligent Network of All Things" ndiyo yatiri kutarisira kubva mune ramangwana.
Kugadzira yedu machipisi kunoita chinhu chakakosha chechiratidzo ichocho. Inofanira kunge iri marathon, inoda nguva dzose kubudirira kunopesana nemiganhu yetekinoroji. Kubva ku "Game Changer" ESP8266 kusvika kuESP32 yakatevedzana inobatanidza Wi-Fi neBluetoothr (LE) yekubatanidza, ichiteverwa neESP32-S3 yakashongedzerwa neAI kukwidziridza, Espressif haimbomira kutsvaga nekugadzira zvigadzirwa zveAIoT mhinduro. Neyedu yakavhurika-sosi software, yakadai seIoT Development Framework ESP-IDF, Mesh Development Framework ESP-MDF, uye Chishandiso Chekubatanidza Platform ESP RainMaker, isu takagadzira yakazvimiririra chimiro chekuvaka AIoT maapplication.
Kubva muna Chikunguru 2022, kuunganidzwa kwekutakura kweEspressif's IoT chipsets kwapfuura mazana masere emamiriyoni, zvichitungamira mumusika weWi-Fi MCU uye kusimbisa huwandu hukuru hwemidziyo yakabatana pasi rese. Kutsvaga kuita zvakanaka kunoita kuti chigadzirwa chese cheEspressif chive nekurova kukuru kune yakakwira mwero wekubatanidza uye mutengo unoshanda. Kuburitswa kweESP800-C32 kunoratidza chiitiko chakakosha cheEspressif yekuzvigadzira tekinoroji. Iyo imwechete-musimboti, 3-bit, RISC-V-yakavakirwa MCU ine 32KB yeSRAM, inogona kumhanya pa400MHz. Yakabatanidza 160 GHz Wi-Fi uye Bluetooth 2.4 (LE) nerutsigiro rwekureba. Inorova chiyero chakanaka chesimba, I/O hunyanzvi, uye chengetedzo, nekudaro ichipa iyo yakakwana inodhura-inoshanda mhinduro yemidziyo yakabatana. Kubva pane yakasimba kudaro ESP5-C32, bhuku rino rakagadzirirwa kubatsira vaverengi kunzwisisa ruzivo rwakabatana neIoT nemifananidzo yakadzama uye inoshanda ex.amples.
Sei takanyora bhuku iri?
Espressif Systems inopfuura semiconductor kambani. Iyo zvakare IoT papuratifomu kambani, iyo inogara ichivavarira kubudirira uye hunyanzvi mumunda wetekinoroji. Panguva imwecheteyo, Espressif yakavhurika-yakavhurika uye yakagovana yayo-yakagadziridza sisitimu yekushandisa uye software system nenharaunda, ichigadzira yakasarudzika ecosystem. Mainjiniya, vagadziri, uye vanofarira tekinoroji vanoshingairira kugadzira maapplication matsva anobva pane zvigadzirwa zveEspressif, kutaurirana vakasununguka, uye kugovera ruzivo rwavo. Iwe unogona kuona mazano evagadziri anonakidza pamapuratifomu akasiyana nguva dzese, seYouTube uye GitHub. Kukurumbira kwezvigadzirwa zveEspressif kwakurudzira kuwanda kwenhamba yevanyori vakagadzira anopfuura zana mabhuku akavakirwa paEspressif chipsets, mumitauro inopfuura gumi, kusanganisira Chirungu, Chinese, Germany, French, and Japanese.

Iko kutsigirwa uye kuvimba kwevabatsiri venharaunda inokurudzira Espressif inoenderera mberi innovation. "Tinoyedza kugadzira machipisi edu, masisitimu anoshanda, masisitimu, zvigadziriso, Cloud, bhizinesi maitiro, maturusi, zvinyorwa, zvinyorwa, mazano, nezvimwewo, kuti zvirambe zvakakoshera mhinduro dzinodiwa nevanhu mumatambudziko ehupenyu hwazvino. Ichi ndicho chishuvo cheEspressif chepamusoro uye kambasi yetsika. akadaro Mr. Teo Swee Ann, Muvambi uye CEO weEspressif.
Espressif inokoshesa kuverenga uye mazano. Sezvo kuenderera mberi kukwidziridzwa kweIoT tekinoroji kuchiunza zvinodikanwa zvepamusoro pamainjiniya, tingabatsira sei vanhu vazhinji kukurumidza kugona maIoT machipi, masisitimu anoshanda, masisitimu esoftware, zvirongwa zvekushandisa uye zvigadzirwa zvesevhisi gore? Sekutaura kunoita chirevo, zviri nani kudzidzisa munhu kubata hove pane kumupa hove. Muchikamu chepfungwa, zvakaitika kwatiri kuti taigona kunyora bhuku kuti tigadzirise zvakarongeka ruzivo rwakakosha rwekusimudzira IoT. Takazvibata, takakurumidza kuunganidza boka revainjiniya vepamusoro, uye takabatanidza ruzivo rwechikwata chehunyanzvi mukumisikidzwa hurongwa, IoT hardware uye kuvandudza software, zvese zvichibatsira mukutsikiswa kwebhuku rino. Mukuita kunyora, takaedza nepatinogona napo kuve nechinangwa uye nekururamisira, kubvisirwa cocoon, uye kushandisa mazwi mapfupi kutaura kuoma uye kunaka kweInternet yezvinhu. Isu takanyatso kupfupikisa mibvunzo yakajairika, inonongedzwa kune mhinduro uye mazano enharaunda, kuitira kuti tipindure zvakajeka mibvunzo yakasangana nayo mukuvandudza maitiro, uye nekupa inoshanda IoT nhungamiro yekuvandudza kune akakodzera matekinoroji uye vanoita sarudzo.
Book Structure
Iri bhuku rinotora maonero einjiniya uye rinotsanangura ruzivo rwunodiwa rweIoT chirongwa chekuvandudza nhanho nhanho. Inoumbwa nezvikamu zvina, sezvinotevera:
Kugadzirira (Chitsauko 1): Ichi chikamu chinosuma mavakirwo eIoT, yakajairika IoT purojekiti, iyo ESP RainMakerr gore chikuva, uye nharaunda yekusimudzira ESP-IDF, kuitira kuisa hwaro hwakasimba hwekuvandudza chirongwa cheIoT.
· Hardware uye Driver Development (Chitsauko 5): Zvichienderana neESP6-C32 chipset, chikamu ichi chinotsanangudza nezvehushoma Hardware system uye kuvandudza mutyairi, uye inoshandisa kutonga kwekudzima, kugadzika kwemavara, uye kutaurirana pasina waya.
Wireless Kukurukurirana uye Kudzora (Chitsauko 7): Ichi chikamu chinotsanangura yakangwara yeWi-Fi yekumisikidza scheme yakavakirwa paESP11-C32 chip, yemuno & yegore kutonga mapuroteni, uye yemuno & kure kudzora kwemidziyo. Inopawo zvirongwa zvekugadzira smartphone apps, firmware upgrade, uye version management.
· Optimization and Mass Production (Chitsauko 12-15): Ichi chikamu chakagadzirirwa maapplication epamberi eIoT, akatarisana nekugadzirisa zvigadzirwa mukutonga kwemagetsi, kuderera-simba optimization, uye kuchengetedzwa kwakawedzera. Inosumawo kutsva kwefirmware uye kuyedzwa mukugadzirwa kwakawanda, uye maitiro ekuongorora mamiriro ekumhanya uye matanda emudziyo firmware kuburikidza neyekure yekutarisa chikuva ESP Insights.

Nezve Source Code
Vaverengi vanogona kumhanya example mapurogiramu ari mubhuku rino, kungave nekuisa kodhi nemaoko kana nekushandisa iyo kodhi kodhi inoperekedza bhuku. Isu tinosimbisa kusanganiswa kwedzidziso uye kudzidzira, uye nekudaro toseta Chikamu cheKudzidzira chakavakirwa paSmart Light chirongwa munenge chitsauko chega chega. Ese macode akavhurika-sourced. Vaverengi vanogamuchirwa kudhawunirodha kodhi kodhi uye kuikurukura muzvikamu zvine chekuita nebhuku rino paGitHub uye yedu yepamutemo foramu esp32.com. Iyo yakavhurika-sourced kodhi yebhuku rino iri pasi pemitemo yeApache License 2.0.
Chinyorwa cheMunyori
Iri bhuku rakagadzirwa zviri pamutemo neEspressif Systems uye rakanyorwa nemainjiniya makuru ekambani. Yakakodzera mamaneja nevashandi veR&D mumaindasitiri ane hukama neIoT, vadzidzisi uye vadzidzi veakabatana majors, uye vanofarira mumunda weInternet weZvinhu. Tinovimba kuti bhuku rino rinogona kushanda sebhuku rekushandisa, renongedzo, uye bhuku riri parutivi pemubhedha, kuti rive semuperekedzi akanaka uye shamwari.
Tichinyora bhuku rino, takataura nezvemimwe tsvakiridzo yakakodzera yenyanzvi, nyanzvi, uye nyanzvi dzepamba nekunze, uye takaita zvese zvataigona kuti titaure maererano netsika dzedzidzo. Zvakadaro, hazvidzivirirwe kuti pave nekusiiwa, saka pano tinoda kuratidza ruremekedzo rwedu rukuru nekutenda kune vese vanyori vakakodzera. Mukuwedzera, takatora mashoko kubva paInternet, saka tinoda kutenda vanyori vepakutanga nevatsikisi uye tinokumbira ruregerero kuti hatigoni kuratidza kunobva ruzivo rwese.
Kuti tigadzire bhuku remhando yepamusoro, takaronga nhaurirano dzemukati, uye takadzidza kubva kumazano nemhinduro dzevaverengi vekuyedza uye vapepeti vezvinyorwa. Pano, tinoda kukutendai zvakare nerubatsiro rwenyu rwakaita kuti basa iri ribudirire.
Chekupedzisira, asi chinonyanya kukosha, kuvonga kumunhu wese paEspressif akashanda nesimba pakuzvarwa nekuzivikanwa kwezvigadzirwa zvedu.
Kuvandudzwa kwemapurojekiti eIoT kunosanganisira ruzivo rwakasiyana. Yakaganhurirwa pakureba kwebhuku, pamwe chete nenhanho uye ruzivo rwemunyori, kusiiwa hakudzivisiki. Naizvozvo, tinokumbira nemutsa kuti nyanzvi nevaverengi vashore uye vagadzirise kukanganisa kwedu. Kana uine chero mazano ebhuku rino, tapota taura nesu pa book@espressif.com. Tinotarisira mhinduro yako.

Bhuku rino ringashandiswa sei?
Kodhi yemapurojekiti ari mubhuku rino yakavhurwa pachena. Unogona kuidhawunirodha kubva kune yedu GitHub repository uye kugovera pfungwa dzako nemibvunzo pane yedu yepamutemo foramu. GitHub: https://github.com/espressif/book-esp32c3-iot-projects Forum: https://www.esp32.com/bookc3 Mubhuku rose, pachava nezvikamu zvakasimbiswa sezvakaratidzwa pasi apa.
Kwakabva kodhi Mubhuku rino, tinosimbisa kusanganiswa kwedzidziso uye kudzidzira, uye nekudaro toseta Chikamu cheKudzidzira nezve Smart Chiedza chirongwa munenge chitsauko chega chega. Matanho anowirirana uye peji rekutanga rinozomakwa pakati pemitsetse miviri inotanga ne tag Source code.
CHERECHEDZA/MATIP Apa ndipo paungawana ruzivo rwakakomba uye chiyeuchidzo chekubudirira kugadzirisa chirongwa chako. Iwo achaiswa chiratidzo pakati pemitsetse miviri mikobvu inotanga ne tag CHERECHEDZA kana MAZANO.
Mizhinji yemirairo iri mubhuku rino inoitwa pasi peLinux, inokurudzirwa nemunhu "$". Kana murairo uchida ropafadzo dzepamusoro-soro kuti dziite, kukurumidza kunotsiviwa ne "#". Murairo wekukurumidza pamasisitimu eMac ndi“%”, sekushandiswa muChikamu 4.2.3 Kuisa ESP-IDF paMac.
Zvinyorwa zvemuviri mubhuku rino zvichadhindwa muChata, nepo kodhi examples, components, mabasa, variables, code file mazita, madhairekitori ekodhi, uye tambo zvichange zviri muCourier New.
Mirairo kana zvinyorwa zvinoda kuiswa nemushandisi, uye mirairo inogona kuiswa nekudzvanya "Enter" kiyi ichadhindwa muCourier New bold. Marogi uye mabhuroko ekodhi achaiswa mumabhokisi ebhuruu akareruka.
Example:
Chechipiri, shandisa esp-idf/components/nvs flash/nvs partition jenareta/nvs partition gen.py kugadzira iyo NVS partition binary file padevelopment host nemurairo unotevera:
$ python $IDF PATH/zvinhu/nvs flash/nvs partition jenareta/nvs partition gen.py -input mass prod.csv -output mass prod.bin -size NVS CHIKAMU CHIKAMU

Chitsauko 1

Nhanganyaya

ku

IoT

Pakupera kwezana ramakore rechi20, nekuwedzera kwemakombuta network uye matekinoroji ekutaurirana, Internet yakakurumidza kubatanidzwa muhupenyu hwevanhu. Sezvo tekinoroji yeInternet ichiramba ichikura, pfungwa yeInternet yezvinhu (IoT) yakazvarwa. Chaizvoizvo, IoT inoreva Internet uko zvinhu zvakabatana. Kunyange zvazvo Internet yepakutanga ichiputsa miganhu yenzvimbo uye nguva uye ichideredza chinhambwe pakati pe "munhu nemunhu", IoT inoita kuti "zvinhu" zvive zvakakosha, zvichiunza "vanhu" uye "zvinhu" pedyo. Mune ramangwana rinoonekwa, IoT yakagadzirirwa kuve simba rekufambisa reindasitiri yeruzivo.
Saka, chii chinonzi Internet yezvinhu?
Zvakaoma kunyatso tsanangura iyo Internet yeZvinhu, sezvo zvazvinoreva uye chiyero chiri kuramba chichibuda. Muna 1995, Bill Gates akatanga kuunza pfungwa yeIoT mubhuku rake The Road Ahead. Zvichitaurwa zviri nyore, IoT inogonesa zvinhu kuchinjana ruzivo nemumwe kuburikidza neInternet. Chinangwa chayo chikuru ndechekugadzira "Internet Yezvese". Uku kududzira kwekutanga kweIoT, pamwe nefungidziro yeramangwana tekinoroji. Makore makumi matatu gare gare, nekukurumidza kukura kwehupfumi uye tekinoroji, fungidziro iri kuuya muchokwadi. Kubva kumidziyo yakangwara, dzimba dzakangwara, maguta akangwara, Internet yeMotokari uye zvinopfekwa, kusvika kune "metaverse" inotsigirwa neIoT tekinoroji, pfungwa nyowani dzinogara dzichibuda. Muchitsauko chino, tichatanga netsananguro yezvivakwa zveInternet Yezvinhu, tobva tasuma yakajairika IoT application, iyo smart imba, kuitira kuti ikubatsire iwe kuwana kunzwisisa kwakajeka kweIoT.
1.1 Architecture yeIoT
Internet yeZvinhu inosanganisira akawanda matekinoroji ane akasiyana maapplication anodiwa uye mafomu mumaindasitiri akasiyana. Kuti ugadzirise chimiro, akakosha matekinoroji uye maitiro ekushandisa eIoT, zvinodikanwa kumisikidza yakabatana yekuvaka uye yakajairwa tekinoroji system. Mubhuku rino, dhizaini yeIoT inongopatsanurwa kuita zvidimbu zvina: maonero & control layer, network layer, platform layer, uye application layer.
Perception & Control Layer Sechinhu chakanyanya kukosha cheiyo IoT architecture, maonero & control layer ndiyo musimboti wekuona kuzere kunzwa kweIoT. Basa rayo guru nderekuunganidza, kuziva uye kutonga ruzivo. Inoumbwa nemhando dzakasiyana dzemidziyo ine kugona kwekuona,
3

kuzivikanwa, kutonga uye kuita, uye ine basa rekudzoreredza nekuongorora data senge zvinhu zvenyama, maitiro ekuita, uye chimiro chemudziyo. Nenzira iyi, IoT inosvika pakuziva nyika chaiyo yenyama. Kunze kwezvo, iyo layer inokwanisawo kudzora mamiriro emudziyo.
Midziyo inonyanyozivikanwa yeiyi dhizaini masensor akasiyana, ayo anoita basa rakakosha mukuunganidza ruzivo uye kuzivikanwa. Masensa akafanana nenhengo dzekunzwa dzevanhu, dzakadai semasensor ephotosensitive akaenzana nekuona, acoustic sensors kusvika pakunzwa, masensa egasi kusvika pakunhuhwidza, uye kudzvanywa- uye tembiricha-inonzwa sensitive pakubata. Nezvose izvi "mitezo yekunzwa", zvinhu zvinova "zvipenyu" uye zvinokwanisa kuona zvine hungwaru, kucherechedzwa uye kushandura nyika yenyama.
Network Layer Basa guru retiweki layer ndere kuendesa ruzivo, kusanganisira data rinowanikwa kubva pakuona & control layer kune yakatarwa chinangwa, pamwe nemirairo yakapihwa kubva kune application layer kudzokera kune maonero & control layer. Inoshanda sebhiriji rakakosha rekutaurirana rinobatanidza zvikamu zvakasiyana zveIoT system. Kumisikidza yekutanga modhi yeInternet yezvinhu, inosanganisira matanho maviri ekubatanidza zvinhu kune network: kuwana Internet uye kutapurirana kuburikidza neInternet.
Kuwana Internet Internet kunogonesa kudyidzana pakati pemunhu nemunhu, asi kunotadza kusanganisa zvinhu mumhuri huru. Pamberi pekuuya kweIoT, zvinhu zvizhinji zvaive zvisiri "network-inokwanisa". Nekuda kwekuenderera mberi kwekuvandudza tekinoroji, IoT inokwanisa kubatanidza zvinhu kuInternet, nekudaro ichiona kubatana pakati pe "vanhu nezvinhu", uye "zvinhu nezvinhu". Pane nzira mbiri dzakajairika dzekushandisa Internet yekubatanidza: wired network yekuwana uye isina waya network yekuwana.
Wired network yekuwana nzira dzinosanganisira Ethernet, serial kutaurirana (semuenzaniso, RS-232, RS-485) uye USB, nepo wireless network kuwana kunoenderana newaya kutaurirana, iyo inogona kukamurwazve kuita pfupi-renji isina waya yekutaurirana uye yakareba-rengere isina waya.
Kukurukurirana kusina waya-kwenguva pfupi kunosanganisira ZigBee, Bluetoothr, Wi-Fi, Near-Field Communication (NFC), uye Radio Frequency Identification (RFID). Kukurukurirana kusina waya kwenguva refu kunosanganisira Enhanced Machine Type Communication (eMTC), LoRa, Narrow Band Internet yezvinhu (NB-IoT), 2G, 3G, 4G, 5G, nezvimwewo.
Kuendesa kuburikidza neInternet Nzira dzakasiyana dzekuwana Internet dzinotungamira kune inowirirana yekufambisa yekubatanidza yedata. Chinhu chinotevera ndechokusarudza kuti ndeipi protocol yekutaura yekushandisa kutumira iyo data. Kuenzaniswa neInternet terminals, mazhinji eIoT materminal parizvino ane mashoma
4 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

zviripo, senge kugadzirisa kuita, kuchengetedza, chiyero chetiweki, nezvimwe, saka zvinodikanwa kuti usarudze nzira yekutaurirana iyo inotora zviwanikwa zvishoma muIoT application. Pane maprotocol maviri ekutaurirana ari kushandiswa zvakanyanya nhasi: Mharidzo Queuing Telemetry Transport (MQTT) uye Constrained Application Protocol (CoAP).
Platform Layer Iyo yepuratifomu layer inonyanya kureva IoT makore mapuratifomu. Kana zvese zviteshi zveIoT zvabatanidzwa, data ravo rinoda kuunganidzwa paIoT gore chikuva kuti chiverengerwe nekuchengetwa. Iyo papuratifomu layer inonyanya kutsigira maIoT maapplication mukufambisa kuwana uye manejimendi emidziyo mikuru. Inobatanidza zviteshi zveIoT kupuratifomu yegore, inounganidza data rekupedzisira, uye inopa mirairo kune zviteshi, kuitira kuti ishandise kure kure. Sesevhisi yepakati yekugovera zvishandiso kumaindasitiri maapplication, chikuva chepuratifomu chinotora chikamu chekubatanidza mune yese IoT architecture, yakatakura abstract bhizinesi logic uye yakajairwa musimboti data modhi, iyo isingangoone nekukurumidza kuwana kwemidziyo, asiwo inopa simba modular kugona. kusangana nezvinodiwa zvakasiyana mumaindasitiri ekushandisa mamiriro. Iyo yepuratifomu layer inonyanya kusanganisira anoshanda mamodule akadai sekuwana mudziyo, manejimendi echishandiso, chengetedzo manejimendi, kutaurirana meseji, kutarisa kushanda uye kugadzirisa, uye data application.
· Kupinda kwechishandiso, kuona kubatana uye kutaurirana pakati pematerminals uye IoT makore mapuratifomu.
· manejimendi emudziyo, kusanganisira mabasa akadai sekugadzira mudziyo, kugadzirisa mudziyo, kushandura data, kuwiriranisa data, uye kugovera mudziyo.
· Chengetedzo manejimendi, kuve nechokwadi chekuchengetedza kweIoT data kutapurirana kubva pamaonero ekuchengetedzwa kwechokwadi uye kuchengetedzeka kwekutaurirana.
· Mharidzo yekukurukurirana, kusanganisira matatu ekufambisa, kureva, iyo terminal inotumira data kuIoT gore papuratifomu, iyo IoT gore chikuva inotumira data kudivi reseva kana mamwe mapuratifomu eIoT makore, uye sevhavha inodzora iri kure midziyo yeIoT.
Kutarisisa O&M, inosanganisira yekutarisa uye kuongororwa, firmware upgrade, online debugging, log services, nezvimwe.
* Mashandisirwo edata, anosanganisira kuchengetedza, kuongorora uye kushandiswa kwedata.
Chishandiso Layer Iyo application layer inoshandisa iyo data kubva papuratifomu layer kubata iyo application, kusefa uye kuigadzirisa nemidziyo yakadai sedhatabhesi uye yekuongorora software. Iyo data inoguma inogona kushandiswa kune chaiyo-yepasirese IoT maapplication akadai seyakangwara hutano hwehutano, huchenjeri hwekurima, dzimba dzakangwara, uye maguta akangwara.
Ehe, dhizaini yeIoT inogona kupatsanurwa kuita mamwe zvidimbu, asi zvisinei kuti mangani akaumbwa, iyo musimboti wepasi unoramba wakafanana. Kudzidza
Chitsauko 1. Nhanganyaya kuIoT 5

nezve dhizaini yeIoT inobatsira kudzamisa kunzwisisa kwedu kweIoT matekinoroji uye kuvaka inoshanda zvizere maIoT mapurojekiti.
1.2 IoT Kushandisa muSmart Homes
IoT yakapinda mumatanho ese ehupenyu, uye yakanyanya hukama IoT application kwatiri ndiyo imba yakangwara. Midziyo mizhinji yechinyakare yave nemudziyo mumwe kana anopfuura eIoT, uye dzimba zhinji dzichangovakwa dzakagadzirwa nehunyanzvi hweIoT kubva pakutanga. Mufananidzo 1.1 unoratidza zvimwe zvakajairika smart kumba zvishandiso.
Mufananidzo 1.1. Zvishandiso zvakajairika zvekumba Kuvandudza imba yakangwara kunogona kungokamurwa kuita smart chigadzirwa stage, kusangana kwechiitiko stage uye akangwara stage, sezvinoratidzwa mumufananidzo 1.2.
Mufananidzo 1.2. Budiriro stage yeimba yakangwara 6 ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT

Wokutanga stage ndeye smart zvigadzirwa. Yakasiyana nedzimba dzechinyakare, mudzimba dzakangwara, IoT zvishandiso zvinogashira zvikwangwani zvine masensa, uye zvine network kuburikidza neasina waya yekutaurirana matekinoroji akadai seWi-Fi, Bluetooth LE, uye ZigBee. Vashandisi vanogona kudzora zvigadzirwa zvakangwara nenzira dzakasiyana siyana, senge smartphone apps, vabatsiri vezwi, smart speaker control, etc. Yechipiri s.tage inotarisa pakubatana kwechiitiko. Mustage, Vagadziri havasisiri kufunga kudzora chigadzirwa chimwe chete chakangwara, asi kubatanidza maviri kana anopfuura zvigadzirwa zvakangwara, otomatiki kune imwe nhanho, uye pakupedzisira kugadzira tsika yechiitiko modhi. For example, kana mushandisi akadzvanya chero bhatani remamiriro echiitiko, marambi, maketeni, uye maair conditioner anozogadziriswa otomatiki kune presets. Ehe, pane chinodiwa kuti iyo yekubatanidza logic inogadzikwa nyore, kusanganisira trigger mamiriro uye kuuraya zviito. Fungidzira kuti air conditioning heat mode inotangwa kana kutonhora kwemukati kunodonha pasi pe10 ° C; kuti na7 o'clock mangwanani, mimhanzi inoridzwa kumutsa mushandisi, maketeni akangwara anovhurwa, uye mupunga wokubikira kana chingwa toaster inotanga kuburikidza nesokisi rakangwara; mushandisi paanomuka opedza kugeza, kudya kwemangwanani anenge atopiwa, kuitira kuti pasazononoke kuenda kubasa. Upenyu hwedu hwava nyore sei! Yechitatu ptaganoenda kuhungwaru stage. Sezvo mamwe maturusi epamba anowanikwa, ndizvo zvichaitawo marudzi e data anogadzirwa. Nerubatsiro rwe cloud computing, data hombe uye hungwaru hwekugadzira, zvakaita se "smarter brain" yakasimwa mudzimba dzakangwara, dzisingachadi mirairo yenguva dzose kubva kumushandisi. Ivo vanounganidza data kubva mukudyidzana kwakapfuura uye kudzidza maitiro emushandisi maitiro uye zvaanoda, kuitira kuti zviitwe otomatiki, kusanganisira kupa kurudziro pakuita sarudzo. Parizvino, dzimba zhinji dzakangwara dziri panzvimbo yekubatanidza stage. Sezvo mwero wekupinda uye hungwaru hwezvigadzirwa zvakangwara zvichiwedzera, zvipingaidzo pakati pezvibvumirano zvekutaurirana zviri kubviswa. Mune ramangwana, dzimba dzakangwara dzinosungirwa kuve "dzakangwara", sezvakangoita AI system Jarvis muIron Man, iyo isingangobatsiri mushandisi kudzora zvishandiso zvakasiyana, kubata zvinhu zvezuva nezuva, asiwo ine super computing simba uye kugona kufunga. Mune vakangwara stage, vanhu vachawana masevhisi ari nani zvese muhuwandu uye hunhu.
Chitsauko 1. Nhanganyaya kuIoT 7

8 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

Chitsauko Kusuma uye Kudzidzira kwe2 IoT Projects
MuChitsauko 1, takaunza dhizaini yeIoT, uye mabasa uye hukama hwemaonero & control layer, network layer, platform layer, uye application layer, pamwe nekusimudzira imba yakangwara. Nekudaro, sekunge patinodzidza kupenda, kuziva ruzivo rwedzidziso kure nekuringana. Isu tinofanirwa "kusvibisa maoko edu" kuisa mapurojekiti eIoT mukuita kuti tinyatsogona tekinoroji. Mukuwedzera, kana chirongwa chichienda kune kugadzirwa kwehuwandu stage, zvinodikanwa kuti utarise zvimwe zvinhu senge network yekubatanidza, kumisikidzwa, IoT gore papuratifomu kupindirana, firmware manejimendi uye zvigadziriso, hukuru hwekugadzira manejimendi, uye chengetedzo kumisikidzwa. Saka, chii chatinofanira kutarisisa kana tichigadzira yakazara IoT chirongwa? MuChitsauko 1, takataura kuti imba yakangwara ndeimwe yeanowanzo shandiswa IoT mamiriro ekushandisa, uye mwenje wakangwara ndeimwe yemidziyo yakakosha uye inoshanda, inogona kushandiswa mudzimba, mahotera, magyms, zvipatara, nezvimwewo. bhuku rino, tichatora kuvakwa kwechirongwa chechiedza chakangwara senzvimbo yekutanga, kutsanangura zvikamu zvaro uye maficha, uye nekupa nhungamiro pakuvandudzwa kweprojekiti. Isu tinovimba kuti iwe unogona kudhirowa inferences kubva munyaya iyi kugadzira mamwe maIoT maapplication.
2.1 Nhanganyaya kune Typical IoT Projects
Panyaya yekusimudzira, mamodule anoshanda eIoT mapurojekiti anogona kuiswa musoftware uye kuvandudza kwehardware yeIoT zvishandiso, kuvandudza kwevatengi application, uye IoT cloud platform development. Zvakakosha kujekesa zvakakosha zvinoshanda modules, izvo zvichazotsanangurwa zvakare muchikamu chino.
2.1.1 Basic Modules for Common IoT Devices
Software uye hardware kuvandudza kweIoT zvishandiso zvinosanganisira anotevera ekutanga mamodule: Kuunganidza data
Seyakadzika pasi peiyo IoT architecture, iyo IoT zvishandiso zvekuona & control layer inobatanidza masensa nemidziyo kuburikidza nemachipi avo uye maperipherals kuti vawane kuunganidza data uye kutonga kwekuita.
9

Kusungirirwa kweakaundi uye yekutanga kumisikidzwa Kwezvizhinji zveIoT zvishandiso, kusungirirwa kweakaunti uye yekutanga kumisikidzwa kunopedzwa mune imwe mashandiro maitiro, ekare.ample, kubatanidza zvishandiso nevashandisi nekugadzirisa Wi-Fi network.
Kudyidzana neIoT makore mapuratifomu Kutarisa uye kutonga maIoT zvishandiso, zvinodikanwa zvakare kuvabatanidza neIoT makore mapuratifomu, kuitira kupa mirairo uye kushuma mamiriro kuburikidza nekudyidzana pakati peumwe neumwe.
Device control Kana yakabatana neIoT Cloud mapuratifomu, zvishandiso zvinogona kutaurirana negore uye kunyoreswa, kusungwa, kana kudzorwa. Vashandisi vanogona kubvunza chimiro chechigadzirwa uye kuita mamwe mashandiro pane iyo smartphone app kuburikidza neIoT makore mapuratifomu kana mapuroteni ekutaurirana emuno.
Firmware kusimudzira IoT zvishandiso zvinogona zvakare kuwana firmware kukwidziridzwa zvichienderana nezvinodiwa nevagadziri. Nekugamuchira mirairo inotumirwa negore, firmware upgrade uye version management inozoitika. Iine iyi firmware yekusimudzira chimiro, unogona kuenderera mberi nekusimudzira mabasa eIoT zvishandiso, kugadzirisa hurema, uye kugadzirisa mushandisi ruzivo.
2.1.2 Basic Modules yeClient Applications
Mashandisirwo evatengi (semuenzaniso, maapplication e-smartphone) anonyanya kusanganisira anotevera mamodule ekutanga:
Account system uye mvumo Inotsigira account uye mvumo yekushandisa.
Mudziyo wekudzora Smartphone maapplication anowanzo akashongedzerwa nekudzora mabasa. Vashandisi vanogona kubatana zviri nyore kumidziyo yeIoT, uye vozvibata chero nguva, chero kupi kuburikidza ne-smartphone apps. Mumusha wakangwara wepasirese, zvishandiso zvinonyanya kudzorwa kuburikidza ne-smartphone apps, izvo zvisingangogonese kutonga kwakangwara kwemidziyo, asi zvakare inochengetedza mutengo wevashandi. Naizvozvo, kutonga kwemudziyo kunofanirwa kune mashandisirwo emutengi, senge mudziyo wekuita hunhu kudzora, kudzora nzvimbo, kuronga, kure kure, kubatanidza mudziyo, nezvimwe. , nezvimwewo, kuita kuti hupenyu hwepamba huve nyore uye huve nyore. Vanokwanisa kudzima air conditioning, voidzima vari kure, vogadzika mwenje wepamukoto otomatiki kana gonhi ravhurwa, kana kushandura ku "theatre" modhi nebhatani rimwechete.
Yekuzivisa Mutengi maapplication anogadziridza chaiyo-nguva mamiriro eIoT zvishandiso, uye tumira yambiro kana zvishandiso zvaenda zvisirizvo.
10 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

Mushure mekutengesa vatengi sevhisi Smartphone maapplication anogona kupa mushure mekutengesa masevhisi ezvigadzirwa, kugadzirisa matambudziko ane chekuita nekutadza kweIoT mudziyo uye mashandiro ehunyanzvi nenguva.
Featured features Kuti isangane nezvinodiwa zvevashandisi vakasiyana, mamwe mabasa anogona kuwedzerwa, akadai saShake, NFC, GPS, etc. GPS inogona kubatsira kuseta iko kurongeka kwekuita kwechiitiko zvichienderana nenzvimbo uye chinhambwe, nepo Shake basa rinobvumira vashandisi kuseta iyo inorayira kuurayiwa kune chaiyo mudziyo kana chiitiko nekuzunza.
2.1.3 Nhanganyaya kune Yakajairwa IoT Cloud Platform
IoT gore chikuva chikuva chese-mu-chimwe chikuva chinosanganisa mabasa akadai sekutonga kwechishandiso, kuchengetedzwa kwedata kutaurirana, uye manejimendi ekuzivisa. Zvinoenderana neboka ravanovavarira uye kuwanikwa, IoT gore mapuratifomu anogona kukamurwa kuita yeruzhinji IoT gore mapuratifomu (achazonzi "gore reruzhinji") uye akavanzika IoT gore mapuratifomu (achazonzi "gore rakavanzika").
Gore reruzhinji rinowanzoratidza akagovaniswa IoT gore mapuratifomu emabhizinesi kana vanhu, anoshanda uye anochengetwa nevapeji vepuratifomu, uye akagovaniswa kuburikidza neInternet. Inogona kuve yemahara kana yakaderera-mutengo, uye inopa masevhisi mukati meyavhurika network network, seAlibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT, etc. Sepuratifomu inotsigira, gore reruzhinji rinogona kubatanidza vanopa masevhisi kumusoro vashandisi vekupedzisira vepasi kuti vagadzire kukosha kweketani uye ecosystem.
Yakavanzika gore yakavakirwa kushandiswa kwebhizinesi chete, nekudaro ichivimbisa kutonga kwakanyanya pamusoro pe data, chengetedzo, uye mhando yebasa. Masevhisi ayo uye zvivakwa zvinochengetwa zvakasiyana nemabhizinesi, uye iyo inotsigira Hardware uye software yakatsaurirwa kune chaivo vashandisi. Mabhizinesi anogona kugadzirisa makore masevhisi kuti asangane nezvinodiwa zvebhizinesi ravo. Parizvino, vamwe vagadziri vemba vakangwara vatove neakavanzika IoT gore mapuratifomu uye vakagadzira akangwara epamba maapplication akavakirwa pazviri.
Gore reruzhinji uye gore rakazvimiririra vane yavo advantages, izvo zvichatsanangurwa gare gare.
Kuti uwane kubatana kwekutaurirana, zvinodikanwa kuti upedze kusimudzira kwakamisikidzwa padivi remudziyo, pamwe chete nemaseva ebhizinesi, IoT makore mapuratifomu, uye smartphone apps. Kutarisana nepurojekiti yakakura kudaro, gore reruzhinji rinowanzopa kits yekuvandudza software yemudziyo-padivi uye smartphone maapplication kuti akurumidze kuita. Yese yeruzhinji uye yakavanzika gore inopa masevhisi anosanganisira kuwana mudziyo, manejimendi emudziyo, mumvuri wemudziyo, uye kushanda nekugadzirisa.
Mudziyo wekuwana IoT gore mapuratifomu anoda kupa kwete chete maficha ekuwana mudziyo uchishandisa mapuroteni
Chitsauko 2. Nhanganyaya uye Dzidzira yeIoT Projects 11

seMQTT, CoAP, HTTPS, uye WebSocket, asi zvakare basa rekuchengetedza mudziyo simbisiro yekuvhara zvigadzirwa zvekunyepedzera uye zvisiri pamutemo, zvinobudirira kuderedza njodzi yekukanganiswa. Huchokwadi hwakadaro hunowanzo tsigira nzira dzakasiyana, saka kana zvishandiso zvagadzirwa-zhinji, zvinofanirwa kufanopa chitupa chemudziyo zvinoenderana nechakasarudzwa chechokwadi mashini uye nekuchipisa mumidziyo.
Kutonga kwechishandiso Basa rekushandisa rinopihwa neIoT gore mapuratifomu haringobatsire vagadziri kutarisa mamiriro ekuita uye mamiriro epamhepo emidziyo yavo munguva chaiyo, asi zvakare inobvumira sarudzo dzakadai sekuwedzera / kubvisa zvishandiso, kudzoreredza, kuwedzera / kudzima mapoka, firmware kusimudzira. , uye vhezheni manejimendi.
Mumvuri wemudziyo IoT gore mapuratifomu anogona kugadzira inopfuurira vhezheni (mumvuri wemudziyo) kune yega yega mudziyo, uye chimiro chemumvuri wemudziyo unogona kuwiriraniswa uye kuwanikwa neiyo smartphone app kana zvimwe zvishandiso kuburikidza neInternet transmission protocol. Mumvuri wemudziyo unochengeta ichangoburwa chimiro uye chinotarisirwa chimiro chemudziyo wega wega, uye kunyangwe mudziyo usiri pamhepo, unogona kuwana chimiro nekufonera maAPI. Mumvuri wemudziyo unopa nguva dzose-pamaAPI, izvo zvinoita kuti zvive nyore kuvaka ma-smartphone apps anodyidzana nemidziyo.
Kushanda nekugadzirisa Basa reO&M rinosanganisira zvinhu zvitatu: · Kuratidza ruzivo rwehuwandu nezveIoT zvishandiso uye zviziviso. · Log manejimendi inobvumira kudzoreredza ruzivo nezve maitiro echishandiso, kumusoro / pasi meseji kuyerera, uye meseji yemukati. · Debugging yemudziyo inotsigira kutumirwa kwemirairo, kugadzirisa kugadzirisa, uye kutarisa kupindirana pakati peIoT Cloud mapuratifomu uye mameseji emudziyo.
2.2 Dzidzira: Smart Light Project
Mushure meiyo theoretical sumo muchitsauko chega chega, iwe unowana chikamu chekudzidzira chine chekuita neiyo Smart Light purojekiti kuti ikubatsire kuwana maoko-pane ruzivo. Iyo purojekiti yakavakirwa paEspressif's ESP32-C3 chip uye ESP RainMaker IoT Cloud Platform, uye inovhara isina waya module Hardware mune yakangwara zvigadzirwa zvemwenje, yakamisikidzwa software yezvishandiso zvakangwara zvichibva paESP32C3, smartphone apps, uye ESP RainMaker kupindirana.
Mabviro kodhi Kuti udzidze zvirinani nekuvandudza ruzivo, chirongwa chiri mubhuku rino chakavhurwa. Unogona kudhawunirodha sosi kodhi kubva yedu GitHub repository pa https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

2.2.1 Chimiro cheProjekiti
Iyo Smart Light purojekiti ine zvikamu zvitatu: i. Smart mwenje maturusi akavakirwa paESP32-C3, ane basa rekudyidzana neIoT makore mapuratifomu, uye kutonga switch, kupenya uye tembiricha yemavara eiyo LED l.amp beads. ii. Smartphone apps (kusanganisira mapiritsi emapiritsi ari kushanda paAroid uye iOS), ane mutoro wekugadziriswa kwetiweki yezvigadzirwa zvemwenje, pamwe nekubvunza nekudzora chimiro chavo.
iii. Iyo IoT gore chikuva chakavakirwa paESP RainMaker. Kuti tirerutsa, isu tinofunga IoT gore chikuva uye bhizinesi sevha yakazara mubhuku rino. Tsanangudzo nezve ESP RainMaker ichapihwa muChitsauko 3.
Iko kunyorerana pakati peSmart Light purojekiti chimiro uye dhizaini yeIoT inoratidzwa muMufananidzo 2.1.
Mufananidzo 2.1. Chimiro che smart light project
2.2.2 Mabasa eProjekti
Yakakamurwa maererano nechimiro, mabasa echikamu chimwe nechimwe ndeaya anotevera. Smart mwenje zvishandiso
· Network kumisikidza uye kubatana. · LED PWM kutonga, senge switch, kupenya, tembiricha yemavara, nezvimwe. · Encryption uye yakachengeteka boot yeFlash. · Firmware kukwidziridzwa uye vhezheni manejimendi.
Chitsauko 2. Nhanganyaya uye Dzidzira yeIoT Projects 13

Smartphone apps · Network kumisikidzwa uye mudziyo unosunga. · Smart light product control, senge switch, kupenya, tembiricha yeruvara, nezvimwe. · Local/remote control. · Kunyoreswa kwemushandisi, login, nezvimwe.
ESP RainMaker IoT gore chikuva · Inogonesa IoT mudziyo kuwana. · Kupa API yekushandisa yekushandisa inowanikwa kune smartphone apps. · Firmware kukwidziridzwa uye vhezheni manejimendi.
2.2.3 Kugadzirira Hardware
Kana uchida kuisa purojekiti mukuita, iwe unozodawo zvinotevera hardware: magetsi emagetsi, mafoni, Wi-Fi routers, uye komputa inosangana nezvinodiwa zvekuisa zvenzvimbo yebudiriro. Smart lights
Mwenje dzakangwara imhando nyowani yema bulbs, ane chimiro chakafanana neyakajairwa incandescent bulb. Chiedza chakangwara chinoumbwa ne capacitor nhanho-pasi yakadzorwa magetsi ekupa, isina waya module (ine yakavakirwa-mukati ESP32-C3), LED controller uye RGB LED matrix. Kana yakabatana nesimba, iyo 15 V DC voltage yakabuda mushure me capacitor nhanho-pasi, diode kugadzirisa, uye mutemo unopa simba kune iyo LED controller uye LED matrix. Iyo LED controller inogona kutumira yakakwira uye yakaderera mazinga pane dzimwe nguva, ichichinja iyo RGB LED matrix pakati yakavharwa (mwenje yakabatidzwa) uye yakavhurika (mwenje yakadzimwa), kuitira kuti ibudise cyan, yero, girini, yepepuru, yebhuruu, tsvuku, uye chiedza chichena. Iyo isina waya module ine basa rekubatanidza kune iyo Wi-Fi router, kugamuchira uye kuzivisa mamiriro emwenje magetsi, uye kutumira mirairo kudzora iyo LED.
Mufananidzo 2.2. Chiedza chakafananidzwa chakangwara
Mukutanga kukura stage, unogona kutevedzera mwenje wakangwara uchishandisa ESP32-C3DevKitM-1 bhodhi rakabatana neRGB LED l.amp mabhesi (ona Mufananidzo 2.2). Asi unofanira
14 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

cherechedza kuti iyi haisiyo chete nzira yekuunganidza mwenje wakangwara. Iyo hardware dhizaini yepurojekiti iri mubhuku rino inongova newireless module (ine yakavakirwa-mukati ESP32-C3), asi kwete yakazara smart light hardware dhizaini. Pamusoro pezvo, Espressif inogadzirawo ESP32-C3-based audio development board ESP32C3-Lyra yekudzora mwenje ine odhiyo. Bhodhi rine mainterfaces emakrofoni nevatauri uye rinogona kudzora ma LED mitsetse. Inogona kushandiswa kugadzira nhepfenyuro-yakaderera-inodhura, yepamusoro-soro yekutepfenyura uye rhythm light strips. Mufananidzo 2.3 inoratidza ESP32-C3Lyra bhodhi rakabatana netambo yemakumi mana emarambi e LED.
Mufananidzo 2.3. ESP32-C3-Lyra yakabatana netambo ye40 LED mwenje
MaSmartphones (Android/iOS) Iyo Smart Light purojekiti inosanganisira kugadzirwa kwe smartphone app yekumisikidza nekudzora zvigadzirwa zvemwenje zvakangwara.
Wi-Fi routers Wi-Fi routers inoshandura mawired network signals uye mobile network signals kuita wireless network signals, yemakomputa, mafoni, mahwendefa, uye mamwe mawaya madivayiri kuti abatanidze kunetiweki. For exampuye, Broadband mumba inongoda chete kubatana kune Wi-Fi router kuti uwane isina waya network yeWi-Fi zvishandiso. Iyo mainstream protocol standard inotsigirwa neWi-Fi routers iIEEE 802.11n, ine avhareji TxRate ye300 Mbps, kana 600 Mbps pakunyanyisa. Iwo ari kumashure anoenderana neIEEE 802.11b uye IEEE 802.11g. Iyo ESP32-C3 chip neEspressif inotsigira IEEE 802.11b/g/n, saka unogona kusarudza imwe-bhendi (2.4 GHz) kana mbiri-bhendi (2.4 GHz uye 5 GHz) Wi-Fi router.
Kombiyuta (Linux/macOS/Windows) Mamiriro ebudiriro achaiswa muChitsauko 4. Chitsauko 2. Nhanganyaya uye Kuita kweIoT Projects 15.

2.2.4 Mafambiro Ebudiriro
Mufananidzo 2.4. Matanho ekugadzira iyo Smart Light chirongwa
Hardware dhizaini Hardware dhizaini yeIoT zvishandiso yakakosha kuIoT purojekiti. Iyo yakazara smart light purojekiti inoitirwa kuburitsa alamp kushanda pasi pema mains supply. Vagadziri vakasiyana vanogadzira lamps emhando dzakasiyana uye mhando dzemutyairi, asi mamodules avo asina waya anowanzo ebasa rimwe chete. Kurerutsa maitiro ekuvandudza kweSmart Ligh purojekiti, bhuku rino rinongovhara dhizaini yehardware uye kuvandudzwa kwesoftware yemamodule asina waya.
IoT gore chikuva kumisikidzwa Kuti ushandise IoT gore mapuratifomu, unofanirwa kugadzirisa mapurojekiti kumashure, sekugadzira zvigadzirwa, kugadzira zvishandiso, kuseta mudziyo zvivakwa, nezvimwe.
Yakamisikidzwa software yekuvandudza yeIoT zvishandiso Ita mabasa anotarisirwa neESP-IDF, Espressif's mudziyo-parutivi SDK, kusanganisira kubatana neIoT makore mapuratifomu, kugadzira madhiraivha eLED, uye kusimudzira firmware.
Smartphone app kuvandudza Gadzira maapps eApple uye iOS masisitimu kuti uone kunyoreswa kwemushandisi uye kupinda, kutonga kwemudziyo uye mamwe mabasa.
IoT mudziyo optimization Kana iyo yekutanga kusimudzira yeIoT mudziyo mabasa yapera, unogona kutendeukira kune optimization mabasa, akadai semagetsi optimization.
Misa kugadzirwa kuyedzwa Ita bvunzo dzekugadzira yakawanda zvinoenderana neyakajairwa zviyero, senge mudziyo basa bvunzo, kuchembera bvunzo, RF bvunzo, nezvimwe.
Zvisinei nematanho akanyorwa pamusoro, Smart Light purojekiti haingove iri pasi pemaitiro akadaro sezvo akasiyana mabasa anogona zvakare kuitwa panguva imwe chete. For example, yakadzamirirwa software uye smartphone apps zvinogona kuvandudzwa zvakafanana. Mamwe matanho angangoda kudzokororwa, senge IoT mudziyo optimization uye misa yekugadzira bvunzo.
16 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

2.3 Pfupiso
Muchitsauko chino, takatanga kutsanangura pamusoro pezvinhu zvakakosha uye mamodule anoshanda epurojekiti yeIoT, tobva taunza Smart Light kesi yekudzidzira, tichitaura nezvechimiro chayo, mabasa, gadziriro yehardware, uye maitiro ekusimudzira. Vaverengi vanogona kutora zvirevo kubva pakuita uye kuve nechivimbo chekuita mapurojekiti eIoT nezvikanganiso zvishoma mune ramangwana.
Chitsauko 2. Nhanganyaya uye Dzidzira yeIoT Projects 17

18 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

Chitsauko 3

Nhanganyaya

ku

ESP

RainMaker

Iyo Internet yezvinhu (IoT) inopa isingaperi mikana yekuchinja mararamiro evanhu, asi kuvandudzwa kweIoT engineering kuzere nematambudziko. Nemakore eruzhinji, vagadziri vekupedzisira vanogona kuita mashandiro echigadzirwa kuburikidza neanotevera mhinduro:
Zvichienderana nemhinduro dzevanopa 'cloud mapuratifomu Nenzira iyi, vagadziri vekupedzisira vanongoda kugadzira chigadzirwa che Hardware, vobva vabatanidza Hardware kune gore vachishandisa yakapihwa yekutaurirana module, uye gadzirisa mabasa echigadzirwa achitevera nhungamiro. Iyi inzira inoshanda sezvo ichibvisa kudiwa kweserver-side uye application-side kusimudzira uye mashandiro uye kugadzirisa (O&M). Iyo inobvumira vanogadzira terminal kuti vatarise pane dhizaini dhizaini pasina kufunga nezvekuita kwegore. Nekudaro, mhinduro dzakadai (semuenzaniso, mudziyo firmware uye App) kazhinji hadzisi yakavhurika sosi, saka mabasa echigadzirwa anozoganhurirwa nepuratifomu yemupi wegore iyo isingagone kugadziridzwa. Zvichakadaro, mushandisi uye data mudziyo zvakare ndeyeyefu papuratifomu.
Kubva pane zvigadzirwa zvegore Mumhinduro iyi, mushure mekupedza dhizaini yehardware, vagadziri vekupedzisira havangofanire kuita mabasa egore vachishandisa imwe kana kupfuura zvigadzirwa zvegore zvinopihwa negore reruzhinji, asi zvakare vanofanirwa kubatanidza Hardware negore. For example, kubatanidza kuAmazon Web Masevhisi (AWS), vanogadzira materminal vanofanirwa kushandisa zvigadzirwa zveAWS seAmazon API Gateway, AWS IoT Core, uye AWS Lambda kugonesa kuwana mudziyo, kudzora kure, kuchengetedza data, mushandisi manejimendi, uye mamwe mabasa akakosha. Izvo hazvingokumbire vanogadzira terminal kuti vashandise zviri nyore uye kugadzirisa zvigadzirwa zvegore nekunzwisisa kwakadzama uye ruzivo rwakapfuma, asi zvakare zvinoda kuti vafunge nezve kuvaka uye kugadzirisa mutengo wekutanga uye gare gare s.tages Izvi zvinounza matambudziko makuru kusimba rekambani nezviwanikwa.
Kuenzaniswa nemakore eruzhinji, makore ega anowanzo kuvakwa kune chaiwo mapurojekiti uye zvigadzirwa. Vagadziri vegore vakazvimiririra vanopihwa yakanyanya mwero yerusununguko muprotocol dhizaini uye bhizinesi logic kuita. Vagadziri veterminal vanogona kugadzira zvigadzirwa uye dhizaini zvirongwa pamadiro, uye nyore kubatanidza uye kupa simba remushandisi data. Kubatanidza kuchengetedzwa kwepamusoro, scalability uye kuvimbika kwegore reruzhinji neadvantages yegore rakavanzika, Espressif yakatanga ESP
19

RainMaker, yakadzama yakabatanidzwa yakavanzika gore mhinduro yakavakirwa paAmazon gore. Vashandisi vanogona kuendesa ESP RainMaker uye kuvaka yakavanzika gore neAWS account.
3.1 Chii chinonzi ESP RainMaker?
ESP RainMaker ipuratifomu yakakwana yeAIoT yakavakwa neakawanda mature AWS zvigadzirwa. Inopa masevhisi akasiyana-siyana anodiwa pakugadzirwa kwakawanda senge mudziyo wegore kuwana, kukwidziridzwa kwemudziyo, backend manejimendi, yechitatu-bato kupinda, kubatanidzwa kwezwi, uye mushandisi manejimendi. Nekushandisa iyo Serverless Application Repository (SAR) yakapihwa neAWS, vagadziri vekupedzisira vanogona kukurumidza kutumira ESP RainMaker kumaakaundi avo eAWS, iyo inoshanda-nguva uye iri nyore kushandisa. Inotungamirirwa uye inochengetwa neEspressif, iyo SAR inoshandiswa neESP RainMaker inobatsira vanogadzira kuderedza mari yekuchengetedza gore uye nekukurumidzira kuvandudzwa kwezvigadzirwa zveAIoT, nokudaro kuvaka zvakachengeteka, zvakagadzikana, uye zvinogadziriswa AIoT mhinduro. Mufananidzo 3.1 inoratidza mavakirwo eESP RainMaker.
Mufananidzo 3.1. Architecture yeESP RainMaker
Iyo ESP RainMaker yeruzhinji server neEspressif ndeyemahara kune vese vanofarira ESP, vagadziri, uye vadzidzisi kuti vaongorore mhinduro. Vagadziri vanogona kupinda neApple, Google, kana GitHub account, uye nekukurumidza kuvaka yavo IoT application prototypes. Sevha yeruzhinji inobatanidza Alexa neGoogle Home, uye inopa masevhisi ekudzora izwi, ayo anotsigirwa ne Alexa Skill uye Google Actions. Basa rayo rekucherechedza semantic rinoshandiswawo nevechitatu mapato. RainMaker IoT zvishandiso zvinongopindura kune chaiwo zviito. Kuti uwane runyoro rwakakwana rwemirairo yezwi inotsigirwa, ndapota tarisa mapuratifomu ebato. Uye zvakare, Espressif inopa yeruzhinji RainMaker App yevashandisi kudzora zvigadzirwa kuburikidza nemafoni. 20 ESP32-C3 Wireless Adventure: Iyo Yakakwana Nhungamiro yeIoT

3.2 Kuitwa kweESP RainMaker
Sezvinoratidzwa paMufananidzo 3.2, ESP RainMaker ine zvikamu zvina: · Claiming Service, inogonesa RainMaker zvishandiso kuwana zvitupa zvine simba. · RainMaker Cloud (inozivikanwawo segore backend), inopa masevhisi akadai sekusefa meseji, manejimendi yemushandisi, kuchengetedza data, uye yechitatu-bato kubatanidzwa. · RainMaker Agent, inogonesa RainMaker zvishandiso kubatana neRainMaker Cloud. · RainMaker Client (RainMaker App kana CLI zvinyorwa), zvekupa, kugadzira mushandisi, kubatanidza mudziyo uye kutonga, nezvimwe.
Mufananidzo 3.2. Chimiro cheESP RainMaker
ESP RainMaker inopa yakakwana seti yezvishandiso zvekuvandudza chigadzirwa uye kugadzirwa kwakawanda, kusanganisira: RainMaker SDK.
RainMaker SDK yakavakirwa paESP-IDF uye inopa kodhi kodhi yemudziyo-parutivi mumiririri uye ane hukama maC APIs ekuvandudza firmware. Vagadziri vanongoda kunyora iyo logic yekushandisa uye vosiya zvimwe kune iyo RainMaker chimiro. Kuti uwane rumwe ruzivo nezve C APIs, ndapota shanya https://bookc3.espressif.com/rm/c-api-reference. RainMaker App Iyo yeruzhinji vhezheni yeRainMaker App inobvumira vanogadzira kuti vapedze kupa mudziyo, uye kudzora uye kubvunza mamiriro emidziyo (semuenzaniso, zvigadzirwa zvemagetsi zvakangwara). Inowanikwa pane ese ari maviri iOS uye Android app zvitoro. Kuti uwane rumwe ruzivo, ndapota tarisa kuChitsauko 10. REST APIs REST APIs inobatsira vashandisi kuvaka maapplication avo akafanana neRainMaker App. Kuti uwane rumwe ruzivo, ndapota shanya https://swaggerapis.rainmaker.espressif.com/.
Chitsauko 3. Nhanganyaya kuESP RainMaker 21

Python APIs A Python-based CLI, iyo inouya neRainMaker SDK, inopihwa kuti iite mabasa ese akafanana nemaficha e-smartphone. Kuti uwane rumwe ruzivo nezve Python APIs, ndapota shanya https://bookc3.espressif.com/rm/python-api-reference.
Admin CLI Admin CLI, ine nhanho yepamusoro yekuwana, inopihwa ESP RainMaker yakavanzika kutumirwa kugadzira zvitupa zvemudziyo muhuwandu.
3.2.1 Claiming Service
Kwese kutaurirana pakati peRainMaker zvishandiso uye gore backend kunoitwa kuburikidza neMQTT + TLS. Muchirevo cheESP RainMaker, "Kuti" ndiwo maitiro ekuti michina itore zvitupa kubva kuClaiming Service kuti ibatanidze kune gore backend. Ziva kuti Claiming Service inongoshanda kuruzhinji rweRainMaker sevhisi, nepo pakutumirwa kwakavanzika, zvitupa zvemudziyo zvinoda kugadzirwa zvakawanda kuburikidza neAdmin CLI. ESP RainMaker inotsigira mhando nhatu dzeClaiming Service: Kuzvitsvakira
Iyo mudziyo pachayo inotora zvitupa kuburikidza nekiyi yakavanzika pre-yakarongwa muFuse mushure mekubatanidza kuInternet. Host Inotyairwa Kureva Iwo zvitupa anowanikwa kubva kumugadziri wekuvandudza neiyo RainMaker account. Kunobatsirwa Kukumbira Iwo zvitupa anowanikwa kuburikidza ne smartphone application panguva yekugovera.
3.2.2 RainMaker Agent
Mufananidzo 3.3. Mamiriro eRainMaker SDK Basa rekutanga reRainMaker Agent ndere kupa chinongedzo uye kubatsira iyo application layer kugadzirisa uplink/downlink Cloud data. Iyo inovakwa kuburikidza neRainMaker SDK 22 ESP32-C3 Wireless Adventure: A Comprehensive Guide kuIoT.

uye yakagadziridzwa zvichibva pane yakasimbiswa ESP-IDF chimiro, ichishandisa ESP-IDF zvikamu zvakaita seRTOS, NVS, uye MQTT. Mufananidzo 3.3 inoratidza chimiro cheRainMaker SDK.
Iyo RainMaker SDK inosanganisira maviri makuru maficha.
Connection
i. Kudyidzana neClaiming Service kuti uwane zvitupa zvemudziyo.
ii. Kubatanidza kune gore backend uchishandisa yakachengeteka MQTT protocol kupa kure kure kubatana uye kushandisa kure kure, meseji kuburitsa, mushandisi manejimendi, mudziyo manejimendi, etc. Inoshandisa iyo MQTT chikamu muESP-IDF nekukasira uye inopa abstraction layer kuti iwirirane nezvimwe. protocol stacks.
iii. Kupa wifi yekugovera chikamu cheWi-Fi yekubatanidza uye kupa, esp https ota chikamu cheOTA kusimudzira, uye esp yemunharaunda ctrl chikamu chekuwanikwa kwechishandiso chemuno nekubatanidza. Zvose izvi zvinangwa zvinogona kuwanikwa kuburikidza nekugadzirisa nyore.
Data processing
i. Kuchengeta zvitupa zvemudziyo zvakapihwa neClaiming Service uye data rinodiwa paunenge uchimhanyisa RainMaker, nekusarudzika uchishandisa chinongedzo chinopihwa nenvs flash chikamu, uye nekupa maAPIs evagadziri kuti vashandise zvakananga.
ii. Uchishandisa iyo yekufona kumashure kugadzirisa uplink/downlink Cloud data uye kuvhura otomatiki data kune iyo application layer kuti igadziriswe nyore nevagadziri. For exampuye, iyo RainMaker SDK inopa akapfuma maficha ekumisikidza TSL (Chinhu Chinotsanangurwa Mutauro) data, iyo inodiwa kutsanangura TSL modhi kutsanangura maIoT zvishandiso uye kuita mabasa akadai senguva, kuverenga pasi, uye kutonga kwezwi. Kune ekutanga anodyidzana maficha akadai senguva, RainMaker SDK inopa kusimudzira-yemahara mhinduro inogona kungogoneswa kana ichidikanwa. Zvadaro, RainMaker Mumiririri anozogadzirisa data racho zvakananga, rotumira kune gore kuburikidza neiyo yakabatana MQTT musoro, uye kudzoreredza shanduko yedata iri mugore backend kuburikidza necallback michina.
3.2.3 Cloud Backend
Iyo gore backend yakavakirwa paAWS Serverless Computing uye inowanikwa kuburikidza neAWS Cognito (identity management system), Amazon API Gateway, AWS Lambda (serverless komputa sevhisi), Amazon DynamoDB (NoSQL dhatabhesi), AWS IoT Core (IoT yekupinda musimboti inopa MQTT kuwana. uye kutonga kusefa), Amazon Nyore Email Service (SES nyore mail sevhisi), Amazon CloudFront (nekukurumidza kutumira network), Amazon Nyore Mutsara Sevhisi (SQS meseji queuing), uye Amazon S3 (bucket kuchengetedza sevhisi). Inotarisirwa kukwidziridza scalability uye kuchengetedzeka. NeESP RainMaker, vagadziri vanogona kubata zvishandiso pasina kunyora kodhi mugore. Mharidzo dzinotaurwa nemidziyo dzinofambiswa zviri pachena kune
Chitsauko 3. Nhanganyaya kuESP RainMaker 23

kunyorera vatengi kana mamwe masevhisi echitatu. Tafura 3.1 inoratidza AWS makore zvigadzirwa uye mabasa anoshandiswa mune gore backend, aine zvimwe zvigadzirwa uye maficha ari kugadziridzwa.
Tafura 3.1. AWS cloud zvigadzirwa uye mabasa anoshandiswa negore backend

AWS Cloud Chigadzirwa Chinoshandiswa naRainMaker

Function

AWS Cognito

Kugadzirisa zvitupa zvemushandisi uye kutsigira wechitatu-bato logins

AWS Lambda

Kuita iyo yakakosha bhizinesi logic yegore backend

Amazon Timestream Kuchengeta nguva yakatevedzana data

Amazon DynamoDB Kuchengeta vatengi 'yakavanzika ruzivo

AWS IoT Core

Kutsigira MQTT kutaurirana

Amazon SES

Kupa email kutumira masevhisi

Amazon CloudFront Inomhanyisa manejimendi yebackend webkuwana nzvimbo

Amazon SQS

Kutumira meseji kubva kuAWS IoT Core

3.2.4 RainMaker Client
Vatengi veRainMaker, seApp neCLI, vanotaurirana neyegore backend kuburikidza neREST APIs. Ruzivo rwakadzama uye mirairo nezve REST APIs inogona kuwanikwa muSwagger zvinyorwa zvinopihwa neEspressif. RainMaker's mobile application client inowanikwa kune ese ari maviri iOS uye Android masisitimu. Inobvumira kupa mudziyo, kutonga, uye kugovera, pamwe nekugadzira uye kugonesa countdown mabasa uye kubatanidza kune wechitatu-bato mapuratifomu. Inogona kurodha UI uye zvidhori zvinoenderana nekumisikidzwa kwakataurwa nemidziyo uye kuratidza zvizere TSL mudziyo.
For example, kana mwenje wakangwara wakavakirwa paRainMaker SDK-yakapihwa exampLes, iyo icon uye UI yegirobhu mwenje inotakurwa otomatiki kana kupa kwapera. Vashandisi vanogona kushandura ruvara uye kupenya kwechiedza kuburikidza neiyo interface uye kuwana yechitatu-bato kutonga nekubatanidza Alexa Smart Home Skill kana Google Smart Home Actions kune avo ESP RainMaker account. Mufananidzo 3.4 inoratidza icon uye UI exampmwenje wegirobhu zvichiteerana pa Alexa, Google Home, uye ESP RainMaker App.

24 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

(a) Eksampuye - Alexa

(b) Eksample -Kumba kweGoogle

(c) Eksampuye – ESP RainMaker
Mufananidzo 3.4. ExampLes of icon uye UI yegirobhu mwenje pa Alexa, Google Home, uye ESP RainMaker App
3.3 Dzidzira: Mapoinzi Akakosha eKuvandudza neESP RainMaker
Kana dhiraivha yemudziyo yapedzwa, vanogadzira vanogona kutanga kugadzira TSL modhi uye kugadzirisa downlink data vachishandisa maAPI akapihwa neRainMaker SDK, uye kugonesa ESP RainMaker masevhisi akakosha zvichienderana netsanangudzo yechigadzirwa uye zvinodiwa.
Chitsauko 3. Nhanganyaya kuESP RainMaker 25

Chikamu 9.4 chebhuku rino chinotsanangura kuitwa kweiyo LED smart mwenje muRainMaker. Panguva yekugadzirisa, vagadziri vanogona kushandisa maturusi eCLI muRainMaker SDK kutaurirana nechiedza chakangwara (kana kufonera REST APIs kubva kuSwagger).
Chitsauko 10 chinotsanangura mashandisirwo eREST API mukugadzira maapplication e-smartphone. Kukwidziridzwa kweOTA kwemwenje we LED kuchavharwa muChitsauko 11. Kana vanogadzira vakagonesa ESP Insights kutarisisa kure, ESP RainMaker management backend icharatidza data reESP Insights. Tsanangudzo ichapihwa muChitsauko 15.
ESP RainMaker inotsigira kuendesa kwakavanzika, iyo inosiyana neruzhinji RainMaker server nenzira dzinotevera:
Claiming Service Kuti ugadzire zvitupa munzvimbo dzakavanzika, zvinodikanwa kushandisa iyo RainMaker Admin CLI pachinzvimbo cheKumba. Iine server yeruzhinji, vanogadzira vanofanirwa kupihwa kodzero dze admin kuti vashandise firmware kukwidziridzwa, asi hazvidiwe mune zvekutengesa deployments. Naizvozvo, kana sevhisi yakapatsanurwa yechokwadi inogona kupihwa yekuzviti, kana kodzero dzeadmin kune anotyairwa anotyairwa kana kubatsirwa kukumbira.
Maapplication efoni Mukutumira kwakavanzika, maapplication anofanirwa kugadzirwa uye kuunganidzwa zvakasiyana kuti ive nechokwadi chekuti maaccount system haashande.
3rd bato logins uye izwi kubatanidzwa Vagadziri vanofanirwa kugadzirisa zvakasiyana kuburikidza neGoogle neApple Developer maakaundi kuti vagonese yechitatu bato logins, pamwe neiyo Alexa Skill uye Google Voice Mubatsiri kubatanidzwa.
TIPS Kuti uwane ruzivo nezve kuendesa makore, ndapota shanya https://customer.rainmaker.espressif. com. Panyaya ye firmware, kutama kubva kune yeruzhinji server kune yakavanzika server kunongoda kutsiva zvitupa zvechishandiso, izvo zvinovandudza zvakanyanya kushanda kwekufambisa uye kuderedza mutengo wekutama uye yechipiri debugging.
3.4 Zvimiro zveESP RainMaker
ESP RainMaker maficha anonyanya kunangwa pazvinhu zvitatu - mushandisi manejimendi, vashandisi vekupedzisira, uye admins. Ese maficha anotsigirwa mune ese eruzhinji uye akavanzika maseva kunze kwekunge zvataurwa neimwe nzira.
3.4.1 Mushandisi manejimendi
Iwo emushandisi manejimendi maficha anobvumira vashandisi vekupedzisira kunyoresa, kupinda mukati, shandura mapassword, tora mapassword, nezvimwe.
26 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

Bhalisa uye pinda Nzira dzekunyoresa uye dzekupinda dzinotsigirwa neRainMaker dzinosanganisira: · Email id + Password · Nhamba yefoni + Password · Google account · Apple account · GitHub account (public server chete) · Amazon account (private server chete)
CHERECHEDZA Nyorera uchishandisa Google/Amazon inogovera email kero yemushandisi neRainMaker. Saina uchishandisa Apple inogovera dummy kero iyo Apple inopa kune mushandisi zvakananga kune iyo RainMaker sevhisi. A RainMaker account ichagadzirwa otomatiki kune vashandisi vanosaina neGoogle, Apple, kana Amazon account kekutanga.
Shandura password Inoshanda chete kune Email id/Nhamba yefoni yakavakirwa logins. Mamwe ese anoshanda masesheni anozoburitswa kunze mushure mekuchinja password. Sekuzvibata kweAWS Cognito, zvikamu zvakabuda zvinogona kuramba zvichishanda kusvika paawa imwe.
Dzora pasiwedhi Inoshanda chete kune Email id/Nhamba yerunhare yakavakirwa logins.
3.4.2 End User Features
Zvimiro zvakavhurika kupedzisa vashandisi zvinosanganisira yemuno uye kure kudzora uye kutarisa, kuronga, kuunganidza mudziyo, kugovera mudziyo, zviziviso zvepush, uye yechitatu-bato kubatanidzwa.
Remote control uye yekutarisa · Kugadziriswa kwemubvunzo, parameter kukosha, uye chimiro chekubatanidza kune chimwe chete kana zvese zvishandiso. · Seta paramita kune imwe chete kana akawanda madivayiri.
Local kudzora uye kuongorora Nharembozha uye mudziyo zvinoda kubatana kune imwechete network yekutonga kwenzvimbo.
Kuronga · Vashandisi pre-seta zvimwe zviito panguva yakatarwa. · Hapana Internet yekubatanidza inodiwa kune mudziyo paunenge uchiita hurongwa. · Imwe nguva kana kudzokorora (nekutsanangura mazuva) kune imwe chete kana yakawanda michina.
Kuronga kwemidziyo Inotsigira akawanda-level abstract grouping Group metadata inogona kushandiswa kugadzira Chimiro cheMumba Yemba.
Chitsauko 3. Nhanganyaya kuESP RainMaker 27

Kugovera mudziyo Mumwechete kana kupfuura unogona kugovaniswa nemushandisi mumwechete kana vanopfuura.
Push zviziviso Vashandisi vanogashira zviziviso zvezviitiko zvakaita se · Mudziyo mutsva (s) wakawedzerwa/kubviswa · Mudziyo wakabatana negore · Mudziyo wakabviswa kubva mugore · Mudziyo wekugovanisa zvikumbiro zvakagadzirwa/ zvakagamuchirwa/ zvakarambwa · Mameseji echenjedzo anoshumwa nemidziyo
Wechitatu bato kubatanidzwa Alexa uye Google Voice Mubatsiri anotsigirwa kudzora RainMaker zvishandiso, zvinosanganisira mwenje, switch, sockets, mafeni, uye tembiricha sensors.
3.4.3 Admin Features
Madhizaini anotendera vatariri kuti vashandise kunyoreswa kwechishandiso, kuronga kwemidziyo, uye kukwidziridzwa kweOTA, uye view nhamba uye ESP Insights data.
Kunyoreswa kwemudziyo Gadzira zvitupa zvemudziyo uye kunyoresa neAdmin CLI (yakavanzika server chete).
Kuronga kwemidziyo Gadzira mapoka asina kujeka kana akarongwa maererano neruzivo rwechishandiso (sevha yega yega).
Over-the-Air (OTA) inokwidziridza Isa zvigadziriso zvinoenderana neshanduro uye modhi, kune imwe kana kupfuura mudziyo kana boka Monitor, kanzura, kana kuchengeta mabasa eOTA.
View statistics Viewzviverengero zvinokwanisa zvinosanganisira: · Kunyoreswa kwemudziyo (zvitupa zvakanyoreswa na admin) · Mashandisirwo emudziyo (mudziyo wakabatana kekutanga) · Maakaundi emushandisi · Mushandisi-mudziyo kubatana
View ESP Insights data Viewinokwanisa ESP Insights data inosanganisira: · Mhosho, yambiro, uye matanda etsika · Mishumo yekuparara nekuongorora · Tangazve zvikonzero · Metrics sekushandiswa kwendangariro, RSSI, nezvimwe. · Tsika metrics uye zvinosiyana
28 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

3.5 Pfupiso
Muchitsauko chino, takaunza mimwe misiyano yakakosha pakati peruzhinji RainMaker deployment uye yakavanzika deployment. Iyo yakavanzika ESP RainMaker mhinduro yakatangwa neEspressif inovimbika zvakanyanya uye inowedzera. Ese ESP32 akatevedzana machipisi akabatanidzwa uye akachinjirwa kuAWS, izvo zvinoderedza zvakanyanya mutengo. Vagadziri vanogona kutarisa pane prototype verification pasina kudzidza nezve AWS cloud zvigadzirwa. Isu takatsanangurawo mashandisirwo uye maficha eESP RainMaker, uye mamwe mapoinzi akakosha ekusimudzira uchishandisa chikuva.
Skena kudhawunirodha ESP RainMaker ye Android Scan kudhawunirodha ESP RainMaker ye iOS
Chitsauko 3. Nhanganyaya kuESP RainMaker 29

30 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

Chitsauko Kumisikidza 4 Development Environment
Ichi chitsauko chinotarisa paESP-IDF, iyo yepamutemo software yekuvandudza hurongwa hweESP32-C3. Isu tichatsanangura maitiro ekumisikidza nharaunda pane akasiyana masisitimu anoshanda, uye tosuma chimiro chepurojekiti uye kuvaka sisitimu yeESP-IDF, pamwe nekushandiswa kwezvishandiso zvine chekuita nekusimudzira. Zvadaro ticharatidza kuunganidza uye kushanda maitiro e example project, uku uchipa tsananguro yakadzama yegiyo rekubuda pane imwe neimwe stage.
4.1 ESP-IDF Pamusoroview
ESP-IDF (Espressif IoT Development Framework) ndeye-yekumira IoT yekuvandudza chimiro chakapihwa neEspressif Technology. Inoshandisa C/C++ semutauro mukuru wekusimudzira uye inotsigira muchinjika-kuunganidzwa pasi pemasystem anoshanda seLinux, Mac, uye Windows. The exampmapurogiramu akabatanidzwa mubhuku rino anogadzirwa achishandisa ESP-IDF, iyo inopa zvinotevera: · SoC system-level drivers. ESP-IDF inosanganisira vatyairi veESP32, ESP32-S2, ESP32-C3,
nemamwe machipisi. Aya madhiraivha anosanganisira peripheral low level (LL) raibhurari, hardware abstraction layer (HAL) raibhurari, RTOS rutsigiro uye yepamusoro-layer driver software, nezvimwe. · Zvinokosha zvikamu. ESP-IDF inosanganisira zvakakosha zvinhu zvinodiwa pakuvandudza IoT. Izvi zvinosanganisira akawanda network protocol stacks akadai seHTTP neMQTT, simba rekutonga gadziriro ine dynamic frequency modulation, uye zvinhu zvakaita seFlash Encryption uye Secure Boot, zvichingodaro. · Maturusi ekuvandudza nekugadzira. ESP-IDF inopa maturusi anowanzo shandiswa pakuvaka, kupenya, uye kugadzirisa panguva yekusimudzira nekugadzirwa kwakawanda (ona Mufananidzo 4.1), senge sisitimu yekuvaka yakavakirwa paCMake, cheni yekubatanidza-yekusanganisa yakavakirwa paGCC, uye J.TAG Debugging tool yakavakirwa paOpenOCD, nezvimwe. Zvakakosha kucherechedza kuti ESP-IDF kodhi inonyanya kuomerera kune iyo Apache 2.0 open-source rezinesi. Vashandisi vanogona kugadzira yega kana yekutengesa software pasina zvirambidzo uku vachitevedzera zvirevo zveyakavhurika-sosi rezenisi. Pamusoro pezvo, vashandisi vanopihwa marezinesi echigarire patent mahara, pasina chisungo chekuvhura-sosi chero shanduko dzakaitwa kune kodhi kodhi.
31

Mufananidzo 4.1.

Kuvaka, kupenya, uye kugadzirisa-

ging maturusi ekusimudzira uye kugadzirwa kwakawanda

4.1.1 ESP-IDF Shanduro
Iyo ESP-IDF kodhi inotambirwa paGitHub seyakavhurika-sosi purojekiti. Parizvino, kune matatu makuru mavhezheni aripo: v3, v4, uye v5. Imwe neimwe vhezheni huru inowanzo sanganisira kushandura kwakasiyana-siyana, senge v4.2, v4.3, zvichingodaro. Espressif Systems inovimbisa 30-mwedzi rutsigiro rwekugadzirisa bug uye kuchengetedza zvigamba kune yega yega yakaburitswa sub-version. Naizvozvo, kudzokororwa kwekuputsiridza kunoburitswawo nguva nenguva, senge v4.3.1, v4.2.2, etc. Tafura 4.1 inoratidza tsigiro yemhando dzakasiyana dzeESP-IDF dzeEspressif chips, zvichiratidza kana dziri mupre.view stage (kupa rutsigiro rwe preview mavhezheni, ayo anogona kushaya mamwe maficha kana zvinyorwa) kana anotsigirwa zviri pamutemo.

Tafura 4.1. Tsigiro chimiro cheakasiyana ESP-IDF shanduro dzeEspressif machipi

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

v4.1 inotsigirwa

v4.2 inotsigirwa

v4.3 inotsigirwa inotsigirwa

v4.4 inotsigirwa inotsigirwa inotsigirwa
preview

v5.0 inotsigirwa inotsigirwa inotsigirwa preview

32 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

Kudzokororwa kweshanduro huru kazhinji kunosanganisira kugadziridzwa kwechimiro chechimiro uye zvigadziriso kune yekuunganidza system. For example, shanduko huru kubva kuv3.* kuenda kuv4.* kwaive kutama zvishoma nezvishoma kwegadziriro yekuvaka kubva kuMake kuenda kuCMake. Kune rimwe divi, kudzokororwa kwemadiki mavhezheni kunowanzo sanganisira kuwedzerwa kwezvinhu zvitsva kana tsigiro yemachipi matsva.
Zvakakosha kusiyanisa uye kunzwisisa hukama pakati peshanduro dzakagadzikana uye matavi eGitHub. Mavhezheni akanyorwa kuti v*.* kana v*.*.* anomiririra shanduro dzakasimba dzakapasa bvunzo dzemukati neEspressif. Kana yangogadziriswa, kodhi, cheni yekushandisa, uye magwaro ekuburitsa eiyo vhezheni imwe chete anoramba asina kuchinjika. Nekudaro, matavi eGitHub (semuenzaniso, kuburitswa/v4.3 bazi) anogaro itwa kodhi, kazhinji zuva nezuva. Naizvozvo, maviri macode snippets pasi pebazi rimwechete anogona kusiyana, zvichizoda vanogadzira kuti vakurumidze kugadzirisa kodhi yavo zvinoenderana.
4.1.2 ESP-IDF Git Workflow
Espressif inotevera yakananga Git workflow yeESP-IDF, yakatsanangurwa seinotevera:
· Shanduko itsva dzinoitwa pabazi guru, iro rinoshanda sebazi guru rebudiriro. Iyo ESP-IDF vhezheni pane master bazi inogara yakatakura -dev tag kuratidza kuti parizvino iri kuvandudzwa, senge v4.3-dev. Shanduko pabazi ratenzi richatanga reviewed uye yakaedzwa muEspressif's repository yemukati, uye ndokusundidzirwa kuGitHub mushure mekuedzwa otomatiki kwapera.
Kana imwe vhezheni yangopedza kuvandudzwa kwechikamu chebazi uye yasangana nemaitiro ekupinda muyedzo yebeta, inoshanduka kuenda kubazi idzva, sekuburitsa/ v4.3. Pamusoro pezvo, bazi idzva iri tagged seshanduro isati yaburitswa, senge v4.3-beta1. Vagadziri vanogona kunongedzera kuGitHub chikuva kuti uwane iyo yakazara runyorwa rwemapazi uye tags yeESP-IDF. Zvakakosha kuziva kuti beta vhezheni (pre-release version) inogona kunge ichine nhamba yakakosha yenyaya dzinozivikanwa. Sezvo iyo beta vhezheni inoramba ichiyedzwa, bug inogadziriswa inowedzerwa kune iyi vhezheni uye master bazi panguva imwe chete. Zvichakadaro, tenzi webazi angave akatotanga kugadzira zvinhu zvitsva zveshanduro inotevera. Kana kuyedzwa kunenge kwapera, zita rekusunungurwa (rc) rinowedzerwa kubazi, zvichiratidza kuti ingangove mumiriri wekuburitswa zviri pamutemo, senge v4.3-rc1. Panguva iyi stage, bazi rinoramba riri pre-release version.
· Kana pasina tsikidzi huru dzakawanikwa kana kushumwa, vhezheni isati yaburitswa inozopedzisira yagamuchira hombe vhezheni (semuenzaniso, v5.0) kana diki vhezheni (semuenzaniso, v4.3) uye inova yepamutemo yekuburitsa vhezheni, iyo inonyorwa zvakanyorwa mune yekuburitsa zvinyorwa peji. Zvadaro, chero mabhugi akaonekwa mune iyi vhezheni anogadziriswa pabazi rekuburitsa. Mushure mekuedzwa kwemaoko kwapera, bazi rinopihwa bug-fix version label (eg, v4.3.2), iyo inoratidzwawo pane inoburitswa peji peji.
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 33

4.1.3 Kusarudza Shanduro Yakakodzera
Sezvo ESP-IDF yakatanga zviri pamutemo kutsigira ESP32-C3 kubva muvhezheni v4.3, uye v4.4 haisati yaburitswa zviri pamutemo panguva yekunyora bhuku rino, shanduro yakashandiswa mubhuku iri iv4.3.2, inova shanduro yakadzokororwa yev4.3. Zvisinei, zvakakosha kuziva kuti panguva yaunoverenga bhuku rino, v4.4 kana shanduro itsva dzinogona kunge dzave kuwanikwa. Pakusarudza shanduro, tinokurudzira zvinotevera:
· Kune vanogadzira-level developers, zvinokurudzirwa kusarudza yakagadzikana v4.3 vhezheni kana iyo yakadzokororwa vhezheni, inoenderana neyekare.ample shanduro yakashandiswa mubhuku rino.
· Nezvinangwa zvekugadzira ruzhinji, zvinokurudzirwa kushandisa yazvino yakagadzikana vhezheni kuti ubatsirwe nerutsigiro rwepamusoro-soro.
· Kana iwe uchida kuyedza machipi matsva kana kuongorora zvigadzirwa zvitsva, ndapota shandisa master bazi. Iyo yazvino vhezheni ine zvese zvazvino maficha, asi ramba uchifunga kuti panogona kuve nekuzivikanwa kana kusazivikanwa tsikidzi dziripo.
· Kana iyo yakagadzikana vhezheni iri kushandiswa isingabatanidze maficha matsva anodiwa uye iwe uchishuvira kuderedza njodzi dzine chekuita nebazi guru, funga kushandisa iro rinoenderana rebazi rekuburitsa, sekuburitsa/v4.4 bazi. Espressif's GitHub repository ichatanga kugadzira kuburitswa/v4.4 bazi uye yozoburitsa yakagadzika v4.4 vhezheni yakavakirwa pane chaiyo nhoroondo snapshot yebazi iri, mushure mekupedza zvese zvekusimudzira uye kuyedzwa.
4.1.4 Pamusoroview yeESP-IDF SDK Dhairekitori
ESP-IDF SDK ine zvinyorwa zviviri zvikuru: esp-idf uye .espressif. Iyo yekutanga ine ESP-IDF repository's source code files uye magwaro ekubatanidza, nepo ekupedzisira achinyanya kuchengetedza kuunganidza maturusi maketani uye imwe software. Kuzivana nemadhairekitori maviri aya kuchabatsira vanogadzira kushandisa zviri nani zviwanikwa zviripo uye nekumhanyisa maitiro ekusimudzira. Iyo dhairekitori chimiro cheESP-IDF inotsanangurwa pazasi:
(1) ESP-IDF repository code directory (/esp/esp-idf), sezvinoratidzwa mumufananidzo 4.2.
a. Chikamu dhairekitori zvikamu
Iri repakati dhairekitori rinobatanidza akawanda akakosha esoftware zvikamu zveESP-IDF. Hapana kodhi yeprojekiti inogona kuunganidzwa pasina kuvimba nezvikamu zviri mukati meiyi dhairekitori. Inosanganisira rutsigiro rwemutyairi kune akasiyana Espressif machipi. Kubva kuLL raibhurari uye HAL raibhurari inopindirana yezvipo kusvika kune yepamusoro-level Mutyairi uye Virtual. File Sistimu (VFS) tsigiro yedhizaini, vanogadzira vanogona kusarudza izvo zvakakodzera zvikamu pamatanho akasiyana kune zvavanoda zvekusimudzira. ESP-IDF inotsigirawo akawanda akajairwa network protocol stacks seTCP/IP, HTTP, MQTT, WebSocket, nezvimwewo Zvikamu zvinopa kunzwisisa-
34 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

Mufananidzo 4.2. ESP-IDF repository kodhi dhairekitori
sive functionality uye inogona kubatanidzwa zviri nyore mumashandisirwo, ichibvumira vanogadzira kuti vatarise chete pane bhizinesi pfungwa. Zvimwe zvinozivikanwa zvinosanganisira: · mutyairi: Ichi chikamu chine peripheral driver zvirongwa zveEspressif dzakasiyana
chip series, dzakadai seGPIO, I2C, SPI, UART, LEDC (PWM), nezvimwewo. Zvirongwa zvemutyairi weperipheral muchikamu ichi zvinopa chip-independent abstract interfaces. Peripheral imwe neimwe ine musoro wakafanana file (senge gpio.h), kubvisa kudiwa kwekutarisana nemibvunzo yakasiyana-siyana yekutsigira chip. esp_wifi: Wi-Fi, seyakakosha peripheral, inobatwa sechikamu chakasiyana. Inosanganisira akawanda maAPI akadai sekutanga kweakasiyana Wi-Fi driver modes, parameter kumisikidza, uye chiitiko kugadzirisa. Mamwe mabasa echikamu ichi anopihwa muchimiro che static link library. ESP-IDF inopawo yakazara zvinyorwa zvemutyairi kuti zvive nyore kushandisa.
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 35

· freertos: Ichi chikamu chine yakazara FreeRTOS kodhi. Kunze kwekupa rutsigiro rwakakwana rweiyi sisitimu yekushandisa, Espressif yakawedzerawo rutsigiro rwayo kune maviri-epakati machipisi. Kune maviri-epakati machipisi senge ESP32 uye ESP32-S3, vashandisi vanogona kugadzira mabasa pane chaiwo macores.
b. Document directory docs
Iri dhairekitori rine ESP-IDF ane hukama magwaro ebudiriro, anosanganisira iyo Gadzirisa Gaidhi, API Reference Manual, Development Guide, nezvimwe.
CHERECHEDZA Mushure mekuumbwa nematurusi otomatiki, zviri mukati meiyi dhairekitori zvinoiswa pa https://docs.espressif.com/projects/esp-idf. Ndokumbirawo muve nechokwadi chekuchinja gwaro rekutarisa kuenda kuESP32-C3 uye sarudza iyo yakataurwa ESP-IDF vhezheni.
c. Zvinyorwa zvekushandisa
Iri dhairekitori rine anowanzo shandiswa kuunganidzwa kumberi-kumagumo maturusi senge idf.py, uye yekutarisa terminal chishandiso idf_monitor.py, nezvimwe. Iyo sub-dhairekitori cmake inewo core script. files yehurongwa hwekuunganidza, hunoshanda sehwaro hwekushandisa ESP-IDF mitemo yekubatanidza. Paunenge uchiwedzera nharaunda dzakasiyana, zviri mukati mezvishandiso dhairekitori zvinowedzerwa kune sisitimu nharaunda inoshanduka, zvichibvumira idf.py kuti iitwe zvakananga pasi penzira yeprojekiti.
d. Example program directory examples
Iri dhairekitori rine muunganidzwa wakakura weESP-IDF example mapurogiramu anoratidza kushandiswa kwechikamu APIs. The exampLes akarongwa muzvikamu zvakasiyana-siyana zvichienderana nemapoka avo:
tanga-kutanga: Iyi sub-dhairekitori inosanganisira yekupinda-level exampsenge "mhoro nyika" uye "kubwaira" kubatsira vashandisi kubata izvo zvakakosha.
· bluetooth: Unogona kuwana Bluetooth inoenderana examples pano, kusanganisira Bluetooth LE Mesh, Bluetooth LE HID, BluFi, nezvimwe.
Wifi: Iyi sub-dhairekitori inotarisa paWi-Fi exampzvinosanganisira zvirongwa zvekutanga seWi-Fi SoftAP, Wi-Fi Station, espnow, pamwe neproprietary communication protocol ex.ampzvishoma kubva kuEspressif. Inosanganisirawo akawanda application layer exampzvishoma zvichibva paWi-Fi, senge Iperf, Sniffer, uye Smart Config.
· peripherals: Iyi sub-dhairekitori yakakura inokamurwazve kuita akawanda maforodha madiki zvichienderana nemazita ekuripira. Iyo inonyanya kuve ne peripheral driver examples yeEspressif chips, neimwe example ine akati wandei ma-examples. Semuenzaniso, iyo gpio sub-dhairekitori inosanganisira maviri exampzvishoma: GPIO uye GPIO matrix keyboard. Zvakakosha kuziva kuti havasi vese exampzvimwe mudhairekitori rino zvinoshanda kuESP32-C3.
36 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

For example, exampLes in usb/host inongoshanda kune peripherals ine USB Host Hardware (yakadai seESP32-S3), uye ESP32-C3 haina iyi peripheral. Iyo yekuunganidza sisitimu inowanzopa kukurumidza kana uchiisa chinangwa. The README file yeumwe neumwe example inonyora machipisi anotsigirwa. · maprotocol: Iyi sub-directory ine examples yeakasiyana siyana ekutaurirana maprotocol, anosanganisira MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP, inovhara huwandu hwakawanda hwekutaurirana protocol ex.ampzvishoma zvinodiwa pakuvandudza IoT. · kupa: Pano, uchawana kupa exampnzira dzakasiyana, dzakadai seWi-Fi kupa uye Bluetooth LE kupa. · system: Iyi sub-dhairekitori inosanganisira system debugging exampLes (semuenzaniso, kuronda matanda, kumhanyisa nguva, kutarisa basa), manejimendi emagetsi examples (semuenzaniso, nzira dzakasiyana dzekurara, co-processors), uye exampinoenderana neyakajairwa sisitimu zvikamu senge console terminal, chiitiko loop, uye system timer. · kuchengetedza: Mukati meiyi sub-dhairekitori, iwe unowana exampzvishoma pane zvose file masisitimu nemagadzirirwo ekuchengetedza anotsigirwa neESP-IDF (sekuverenga nekunyora kweFlash, SD kadhi uye mamwe midhiya ekuchengetedza), pamwe neyekare.ampmashoma ekuchengetedza kusingaite (NVS), FatFS, SPIFFS nezvimwe file maitiro ehurongwa. · chengetedzo: Iri sub-dhairekitori rine exampzvimwe zvine chekuita neflash encryption. (2) ESP-IDF compilation tool chain directory (/.espressif), sezvinoratidzwa mumufananidzo 4.3.
Mufananidzo 4.3. ESP-IDF yekubatanidza chishandiso cheni dhairekitori
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 37

a. Software kugovera dhairekitori dist
Iyo ESP-IDF chishandiso cheni uye imwe software inogovaniswa muchimiro cheakamanikidzwa mapakeji. Munguva yekumisikidza, chishandiso chekuisa chinotanga kurodha pasuru yakamanikidzwa kune dist dhairekitori, uye yozoibvisa kune yakataurwa dhairekitori. Kana kuiswa kwapera, zviri mudhairekitori rino zvinogona kubviswa zvakachengeteka.
b. Python virtual environment directory python env
Mhando dzakasiyana dzeESP-IDF dzinotsamira pane dzakati vhezheni dzePython mapakeji. Kuisa aya mapakeji zvakananga pane imwechete saiti kunogona kukonzera kunetsana pakati pemapakeji emhando. Kuti zvigadzirise izvi, ESP-IDF inoshandisa Python chaiyo nharaunda kupatsanura akasiyana mapakeji shanduro. Nemeshini iyi, vanogadzira vanogona kuisa akawanda mavhezheni eESP-IDF pane imwecheteyo dhizaini uye nyore kushandura pakati pavo nekuunza akasiyana siyana nharaunda.
c. ESP-IDF yekubatanidza chishandiso cheni dhairekitori maturusi
Iri dhairekitori rinonyanya rine maturusi ekubatanidza anodiwa kuunganidza mapurojekiti eESP-IDF, senge CMake maturusi, Ninja kuvaka maturusi, uye gcc chishandiso cheni inogadzira chirongwa chekupedzisira chinoitwa. Pamusoro pezvo, dhairekitori iri rinochengeta raibhurari yakajairwa yemutauro weC/C ++ pamwe chete nemusoro unoenderana files. Kana chirongwa chinoreva musoro wesystem file like #include , cheni yezvishandiso yekubatanidza ichawana iyo stdio.h file mukati mebhuku rino.
4.2 Kumisikidza ESP-IDF Development Environment
Iyo ESP-IDF budiriro nharaunda inotsigira makuru anoshanda masisitimu akadai seWindows, Linux, uye macOS. Ichi chikamu chichasuma nzira yekumisikidza nharaunda yekusimudzira pane yega yega system. Inokurudzirwa kugadzira ESP32-C3 paLinux system, iyo ichaunzwa zvakadzama pano. Mirayiridzo yakawanda inoshanda pamapuratifomu nekuda kwekufanana kwemidziyo yekuvandudza. Naizvozvo, zvinokurudzirwa kunyatsoverenga zviri muchikamu chino.
CHERECHEDZA Unogona kutarisa kumagwaro epamhepo anowanikwa pa https://bookc3.espressif.com/esp32c3, ayo anopa mirairo yataurwa muchikamu chino.
4.2.1 Kumisikidza ESP-IDF Development Environment paLinux
Iyo GNU yekuvandudza uye maturusi ekugadzirisa anodiwa kune ESP-IDF budiriro nharaunda inozvarwa kune Linux system. Pamusoro pezvo, iyo yekuraira-mutsara terminal muLinux ine simba uye mushandisi-inoshamwaridzika, ichiita iyo yakanakira sarudzo yeESP32-C3 kusimudzira. Unogona
38 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

sarudza yako yaunofarira Linux kugovera, asi isu tinokurudzira kushandisa Ubuntu kana mamwe maDebianbased system. Ichi chikamu chinopa nhungamiro yekumisikidza ESP-IDF budiriro nharaunda paUbuntu 20.04.
1. Isa mapeji anodiwa
Vhura terminal nyowani uye ita unotevera kuraira kuti uise ese anodiwa mapakeji. Iwo murairo unozosvetuka otomatiki mapakeji akatoiswa.
$ sudo apt-tora kuisa git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-kuvaka ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
MAZANO Iwe unofanirwa kushandisa iyo administrator account uye password kune murairo uri pamusoro. Nekumisikidza, hapana ruzivo rucharatidzwa paunopinda password. Ingo dzvanya "Enter" kiyi kuti uenderere mberi nemaitiro.
Git chinhu chakakosha chekutonga kodhi chishandiso muESP-IDF. Mushure mekubudirira kumisikidza nharaunda yekusimudzira, unogona kushandisa iyo git log command to view shanduko dzese dzekodhi dzakaitwa kubva pakasikwa ESP-IDF. Mukuwedzera, Git inoshandiswawo muESP-IDF kusimbisa ruzivo rwevhezheni, iyo inodiwa pakumisikidza chaiyo chishandiso cheni inoenderana neshanduro dzakati. Pamwe chete neGit, mamwe akakosha masisitimu maturusi anosanganisira Python. ESP-IDF inosanganisira akawanda otomatiki zvinyorwa zvakanyorwa muPython. Zvishandiso zvakaita seCMake, Ninja-build, uye Ccache zvinoshandiswa zvakanyanya mumapurojekiti eC/C ++ uye zvinoshanda seyekutanga kodhi kodhi yekubatanidza uye maturusi ekuvaka muESP-IDF. libusb-1.0-0 uye dfu-util ndiwo madhiraivha makuru anoshandiswa ku USB serial kutaurirana uye kupisa firmware. Kana iyo software package yaiswa, unogona kushandisa apt show raira kuti uwane tsananguro dzakadzama dzepakeji yega yega. For example, shandisa apt show git kudhinda iyo tsananguro ruzivo rweGit chishandiso.
Mubvunzo: Chii chekuita kana shanduro yePython isingatsigirwi? A: ESP-IDF v4.3 inoda Python shanduro isiri yakaderera pane v3.6. Kune ekare mavhezheni eUbuntu, ndapota dhawunirodha nemaoko uye isa yakakwira vhezheni yePython uye isa Python3 seyakagara Python nharaunda. Iwe unogona kuwana yakadzama mirairo nekutsvaga keyword update-alternatives python.
2. Dhawunirodha ESP-IDF repository kodhi
Vhura terminal uye gadzira folda inonzi esp mune yako dhairekitori repamba uchishandisa iyo mkdir command. Unogona kusarudza zita rakasiyana refolda kana uchida. Shandisa cd kuraira kuti uise folda.
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 39

$ mkdir -p /esp $ cd /esp
Shandisa iyo git clone command kurodha ESP-IDF repository kodhi, sezvakaratidzwa pazasi:
$ git clone -b v4.3.2 -recursive https://github.com/espressif/esp-idf.git
Mumurairo uri pamusoro, parameter -b v4.3.2 inotsanangura shanduro yekudhawunirodha (munyaya iyi, shanduro 4.3.2). Iyo parameter -recursive inovimbisa kuti ese ma sub-repositories eESP-IDF anotorwa achidzokororwa. Ruzivo nezve sub-repositories inogona kuwanikwa mu .gitmodules file.
3. Isa iyo ESP-IDF yekuvandudza chishandiso cheni
Espressif inopa otomatiki script install.sh kudhawunirodha uye kuisa chishandiso cheni. Ichi chinyorwa chinotarisa yazvino ESP-IDF vhezheni uye inoshanda sisitimu nharaunda, uyezve kudhawunirodha uye kuisa yakakodzera vhezheni yePython chishandiso mapakeji uye yekubatanidza maturusi cheni. Iyo yekugadzika yekuisa nzira yecheni yekushandisa ndeye /.espressif. Zvese zvaunoda kuti uite kuenda kune esp-idf dhairekitori uye womhanya install.sh.
$ cd /esp/esp-idf $ ./install.sh
Kana iwe ukaisa iyo ketani yekushandisa zvinobudirira, iyo terminal icharatidza:
Zvese zvaitwa!
Panguva ino, wakabudirira kuseta ESP-IDF budiriro nharaunda.
4.2.2 Kumisikidza ESP-IDF Development Environment paWindows
1. Dhawunirodha ESP-IDF maturusi ekuisa
MAZANO Inokurudzirwa kumisikidza ESP-IDF budiriro nharaunda pa Windows 10 kana pamusoro. Unogona kudhawunirodha iyo yekuisa kubva https://dl.espressif.com/dl/esp-idf/. Iyo yekuisa zvakare yakavhurika-sosi software, uye yayo sosi kodhi inogona kuva viewyakarongwa pa https: //github.com/espressif/idf-installer.
· Online ESP-IDF maturusi ekuisa
Iyi yekuisa idiki, yakatenderedza 4 MB muhukuru, uye mamwe mapakeji uye kodhi ichatorwa panguva yekuisa. The advantage ye online installer ndeyekuti kwete chete software mapakeji uye kodhi inogona kutorwa pazvinenge zvichidiwa panguva yekuisa, asi zvakare inobvumira kuisirwa kwese kuburitswa kuripo kweESP-IDF uye yazvino bazi reGitHub kodhi (senge master bazi) . The disadvantage ndeyekuti inoda network yekubatanidza panguva yekuisa, izvo zvinogona kukonzera kutadza kuisirwa nekuda kwematambudziko etiweki.
40 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

· Offline ESP-IDF maturusi ekuisa Iyi simira yakakura, ingangoita 1 GB muhukuru, uye ine ese software mapakeji uye kodhi inodiwa kune nharaunda kuseta. The main advantage yekuisimira isina mhepo ndeyekuti inogona kushandiswa pamakomputa pasina kuwana Internet, uye kazhinji ine yakakwirira yekuisa budiriro. Zvinofanira kucherechedzwa kuti mugadziri wekunze anogona chete kuisa yakagadzika kuburitswa kweESP-IDF inocherechedzwa nev*.* kana v*.*.*.
2. Mhanya ESP-IDF maturusi installer Mushure mekudhawunirodha yakakodzera vhezheni yechiisimi (tora ESP-IDF Tools Offline 4.3.2 ye ex.ample here), tinya kaviri iyo exe file kuvhura ESP-IDF yekuisa interface. Zvinotevera zvinoratidza nzira yekuisa ESP-IDF yakatsiga vhezheni v4.3.2 uchishandisa yekuisa isina Indaneti.
(1) Muchikamu che "Sarudza mutauro wekuisa" chinoratidzwa mumufananidzo 4.4, sarudza mutauro uchashandiswa kubva pane zvinyorwa zvekudonha.
Mufananidzo 4.4. "Sarudza mutauro wekuisa" interface (2) Mushure mekusarudza mutauro, tinya "OK" kuti ubudise "Chibvumirano cherezinesi" interface.
(ona Mufananidzo 4.5). Mushure mekunyatsoverenga chibvumirano chekuisa rezinesi, sarudza "Ndinobvuma chibvumirano" uye tinya "Next".
Mufananidzo 4.5. "Chibvumirano cherezinesi" interface Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 41

(3) Review iyo gadziriro yekugadzirisa mu "Pre-installation system check" interface (ona Mufananidzo 4.6). Tarisa iyo Windows vhezheni uye yakaiswa antivirus software ruzivo. Dzvanya "Inotevera" kana zvese zvekugadzirisa zvinhu zvakajairika. Zvikasadaro, unogona kudzvanya "Yakazara log" kune mhinduro dzinobva pazvinhu zvakakosha.
Mufananidzo 4.6. "System yekutarisa isati yaiswa" interface MATIP
Unogona kuendesa matanda ku https://github.com/espressif/idf-installer/issues kuti ubatsirwe. (4) Sarudza ESP-IDF yekuisa dhairekitori. Pano, sarudza D:/.espressif, sezvakaratidzwa mu
Mufananidzo 4.7, uye baya "Next". Ndapota cherechedza kuti .espressif heino dhairekitori yakavanzika. Mushure mekugadzwa kwapera, unogona view izvo chaizvo zviri mukati meiyi dhairekitori nekuvhura iyo file maneja uye kuratidza zvinhu zvakavanzika.
Mufananidzo 4.7. Sarudza iyo ESP-IDF yekuisa dhairekitori 42 ESP32-C3 Wireless Adventure: A Comprehensive Guide kuIoT

(5) Tarisai zvikamu zvinoda kuiswa, sezvinoratidzwa mumufananidzo 4.8. Zvinokurudzirwa kushandisa sarudzo yakasarudzika, ndiko kuti, kuisirwa kwakazara, wobva wadzvanya "Next".
Mufananidzo 4.8. Sarudza zvinhu zvekuisa (6) Simbisa zvinhu zvichaiswa uye tinya "Isa" kuti utange otomatiki mu-
stallation maitiro, sezvinoratidzwa mufananidzo 4.9. Iyo yekuisa maitiro inogona kutora makumi emaminetsi uye iyo yekufambira mberi bar yekumisikidza inoratidzwa muMufananidzo 4.10. Ndapota mirira nemoyo murefu.
Mufananidzo 4.9. Kugadzirira kuisirwa (7) Mushure mekuiswa kwapera, zvinokurudzirwa kutarisa "Register iyo ESP-IDF
Zvishandiso zvinogoneka seWindows Defender kusarudzika…” kudzivirira antivirus software kubva pakudzima files. Kuwedzera kusarudzika zvinhu zvinogonawo kusvetuka kakawanda scanner neantivirus
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 43

Mufananidzo 4.10. Kuisirwa kufambira mberi bar software, inovandudza zvakanyanya kodhi yekubatanidza mashandiro eWindows system. Dzvanya "Pedzisa" kuti upedze kuisirwa kwenzvimbo yekusimudzira, sezvakaratidzwa mumufananidzo 4.11. Unogona kusarudza kutarisa "Mhanya ESP-IDF PowerShell nharaunda" kana "Mhanya ESP-IDF command prompt". Mhanya hwindo rekubatanidza zvakananga mushure mekuiswa kuti uve nechokwadi chekuti nharaunda yekusimudzira inoshanda zvakajairwa.
Mufananidzo 4.11. Kuiswa kwapera (8) Vhura iyo yakaiswa budiriro nharaunda muchirongwa chechirongwa (zvichida ESP-IDF 4.3
CMD kana ESP-IDF 4.3 PowerShell terminal, sezvakaratidzwa muFigure 4.12), uye ESP-IDF nharaunda inosiyana inozowedzerwa otomatiki kana ichimhanya muchiteshi. Mushure meizvozvo, unogona kushandisa iyo idf.py kuraira kwemaitiro. Iyo yakavhurwa ESP-IDF 4.3 CMD inoratidzwa muMufananidzo 4.13. 44 ESP32-C3 Wireless Adventure: Iyo Yakakwana Nhungamiro yeIoT

Mufananidzo 4.12. Development environment yakaiswa
Mufananidzo 4.13. ESP-IDF 4.3 CMD
4.2.3 Kumisikidza ESP-IDF Development Environment paMac
Maitiro ekuisa iyo ESP-IDF budiriro nharaunda paMac system yakafanana neiyo pane Linux system. Iyo mirairo yekudhawunirodha repository kodhi uye nekuisa iyo cheni cheni yakangofanana. Iyo chete mirairo yekuisa dependency mapakeji akasiyana zvishoma. 1. Isa kutsamira mapakeji Vhura terminal, uye isa pombi, iyo Python package management chishandiso, nekumhanyisa unotevera kuraira:
% sudo nyore kuisa pip
Isa Homebrew, chishandiso chekutonga chepakeji yeMacOS, nekumhanyisa unotevera kuraira:
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
Isa iyo inodiwa yekutsamira mapakeji nekumhanyisa murairo unotevera:
% brew python3 isa cmake ninja ccache dfu-util
2. Dhaunirodha ESP-IDF repository code Tevedzera mirairo yakapihwa muchikamu 4.2.1 kudhawunirodha ESP-IDF repository kodhi. Matanho acho akafanana neekurodha paLinux system.
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 45

3. Isa iyo ESP-IDF yekuvandudza chishandiso cheni
Tevedzera mirairo yakapihwa muchikamu 4.2.1 kuisa ESP-IDF yekuvandudza chishandiso cheni. Matanho acho akafanana neekuisa paLinux system.
4.2.4 Kuisa VS Code
Nekumisikidza, iyo ESP-IDF SDK haisanganisire kodhi kodhi chishandiso (kunyangwe yazvino ESP-IDF yekumisikidza yeWindows inopa sarudzo yekuisa ESP-IDF Eclipse). Iwe unogona kushandisa chero chinyorwa chekugadzirisa chishandiso chesarudzo yako kugadzirisa iyo kodhi uye wozoiunganidza uchishandisa terminal mirairo.
Imwe yakakurumbira kodhi kodhi chishandiso iVS Code (Visual Studio Code), inova yemahara uye inoratidzira kodhi kodhi mupepeti ine mushandisi-inoshamwaridzika interface. Inopa zvakasiyana-siyana plugins iyo inopa mashandiro akadai sekutenderera kwekodhi, syntax inoratidzira, Git vhezheni control, uye terminal yekubatanidza. Pamusoro pezvo, Espressif yakagadzira plugin yakatsaurirwa inonzi Espressif IDF yeVS Code, iyo inorerutsa magadzirirwo eprojekiti uye kugadzirisa.
Unogona kushandisa kodhi yekuraira mune terminal kukurumidza kuvhura iyo yazvino folda muVS Code. Neimwe nzira, unogona kushandisa nzira yekudimbudzira Ctrl+ kuvhura iyo system's default terminal console mukati meVS Code.
MAZANO Inokurudzirwa kushandisa VS Code yeESP32-C3 kodhi yekuvandudza. Dhawunirodha uye isa yazvino vhezheni yeVS Code pa https://code.visualstudio.com/.
4.2.5 Nhanganyaya kune Wechitatu-Bato Rebudiriro Mamiriro ezvinhu
Pamusoro peiyo yepamutemo ESP-IDF nharaunda yekusimudzira, iyo inonyanya kushandisa mutauro weC, ESP32-C3 inotsigirawo mimwe mitauro yehurongwa hwakanyanya uye huwandu hwakasiyana hwebato rechitatu budiriro nharaunda. Dzimwe sarudzo dzinozivikanwa dzinosanganisira:
Arduino: yakavhurika-sosi chikuva kune ese ari maviri Hardware uye software, inotsigira akasiyana mamicrocontrollers, kusanganisira ESP32-C3.
Inoshandisa mutauro weC ++ uye inopa yakareruka uye yakamisikidzwa API, inowanzonzi mutauro weArduino. Arduino inoshandiswa zvakanyanya mukusimudzira prototype uye mamiriro ezvidzidzo. Iyo inopa yakawedzera software package uye IDE inobvumira kuunganidza nyore uye kupenya.
MicroPython: muturikiri wemutauro wePython 3 wakagadzirirwa kumhanya pamapuratifomu emicrocontroller akaiswa.
Nemutauro wakapfava wekunyora, unogona kuwana zvakananga ESP32-C3's peripheral zviwanikwa (seUART, SPI, uye I2C) nemabasa ekutaurirana (akadai seWi-Fi neBluetooth LE).
46 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

Izvi zvinorerutsa kudyidzana kwehardware. MicroPython, yakasanganiswa nePython's yakakura masvomhu mashandiro raibhurari, inogonesa kuitwa kweakaomesesa algorithms paESP32-C3, kufambisa kuvandudzwa kweAI-inoenderana maapplication. Semutauro wekunyora, hapana chikonzero chekudzokorora kuunganidza; zvigadziriso zvinogona kuitwa uye zvinyorwa zvinogona kuurayiwa zvakananga.
NodeMCU: muturikiri wemutauro weLUA akagadzirirwa ESP akatevedzana machipisi.
Inotsigira dzinenge dzese mabasa eESP machipi uye yakareruka kupfuura MicroPython. Zvakafanana neMicroPython, NodeMCU inoshandisa mutauro wekunyora, kubvisa kudiwa kwekudzokorora kuunganidza.
Uyezve, ESP32-C3 inotsigirawo NuttX uye Zephyr masisitimu anoshanda. NuttX ndeye chaiyo-nguva inoshanda sisitimu inopa POSIX-inoenderana nzvimbo, inosimudzira application kutakurika. Zephyr idiki chaiyo-nguva inoshanda sisitimu yakanyatsogadzirirwa IoT application. Inosanganisira akawanda maraibhurari esoftware anodiwa mukuvandudza kweIoT, zvishoma nezvishoma achishanduka kuita yakazara software ecosystem.
Bhuku rino haripe mirairo yekuisa yakadzama yenzvimbo dzambotaurwa dzebudiriro. Iwe unogona kuisa nharaunda yekusimudzira zvichienderana nezvaunoda nekutevera iwo akateerana zvinyorwa uye mirairo.
4.3 ESP-IDF Compilation System
4.3.1 Basic Concepts of Compilation System
Chirongwa cheESP-IDF muunganidzwa wechirongwa chikuru chine basa rekupinda uye akawanda akazvimirira anoshanda zvikamu. For example, purojekiti inodzora LED switch inonyanya kuve neyekupinda chirongwa chikuru uye chikamu chemutyairi chinodzora GPIO. Kana iwe uchida kuona iyo LED kure kudzora, iwe zvakare unofanirwa kuwedzera Wi-Fi, TCP / IP protocol stack, nezvimwe.
Iyo yekubatanidza sisitimu inogona kuunganidza, kubatanidza, uye kugadzira zvinogoneka files (.bin) yekodhi kuburikidza neseti yemitemo yekuvaka. Iyo yekuunganidza sisitimu yeESP-IDF v4.0 uye pamusoro peshanduro yakavakirwa paCMake nekukasira, uye chinyorwa chekubatanidza CMakeLists.txt chinogona kushandiswa kudzora maitiro ekuunganidza kwekodhi. Pamusoro pekutsigira syntax yekutanga yeCMake, iyo ESP-IDF yekubatanidza sisitimu zvakare inotsanangura seti yeyakagadzika kuunganidza mitemo uye CMake mabasa, uye iwe unogona kunyora script yekubatanidza nemashoko akareruka.
4.3.2 Project File Chimiro
A purojekiti ifolda ine chirongwa chekupinda chikuru, mushandisi-zvinotsanangurwa zvikamu, uye files inodiwa kuvaka zvikumbiro zvinogoneka, senge kuunganidza zvinyorwa, gadziriso
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 47

files, partition tables, etc. Mapurojekiti anogona kukopwa uye kupfuudzwa, uye zvakafanana zvinoitwa. file inogona kuunganidzwa uye kugadzirwa mumakina ane imwecheteyo vhezheni yeESP-IDF budiriro nharaunda. Yakajairika ESP-IDF chirongwa file chimiro chinoratidzwa mumufananidzo 4.14.
Mufananidzo 4.14. Yakajairika ESP-IDF chirongwa file chimiro Sezvo ESP-IDF inotsigira akawanda maIoT machipi kubva kuEspressif, kusanganisira ESP32, ESP32-S akatevedzana, ESP32-C akatevedzana, ESP32-H akatevedzana, nezvimwewo, chinangwa chinoda kutariswa usati wanyora kodhi. Icho chinonangwa chiri ese ari maviri mudziyo wehardware unomhanyisa chirongwa chekushandisa uye chinangwa chekuvaka chegadziriro yekubatanidza. Zvichienderana nezvido zvako, unogona kutsanangura chinangwa chimwe chete kana kupfuura chepurojekiti yako. For example, kuburikidza nekuraira idf.py set-target esp32c3, unogona kuseta chinangwa chekubatanidza kuESP32-C3, panguva iyo iyo default paramita uye nzira yekubatanidza cheni nzira yeESP32C3 ichaiswa. Mushure mekubatanidza, chirongwa chinogoneka chinogona kugadzirwa cheESP32C3. Iwe unogona zvakare kumhanyisa iyo yekuraira set-chinangwa zvakare kuseta imwe chinangwa, uye iyo yekubatanidza sisitimu inozozvichenesa nekugadzirisa zvakare. Zvikamu
Zvikamu muESP-IDF ndeye modular uye yakazvimirira kodhi mayuniti anotungamirwa mukati meiyo yekuunganidza system. Iwo akarongeka semaforodha, aine zita refolda rinomiririra zita rechikamu nekusarudzika. Chimwe nechimwe chikamu chine chinyorwa chayo chekubatanidza icho 48 ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT.

inotsanangura kuunganidza kwayo paramita uye zvinoenderana. Panguva yekuunganidza, zvikamu zvinounganidzwa kuita maraibhurari akapatsanurwa (.a files) uye pakupedzisira zvakasanganiswa nezvimwe zvikamu kugadzira chirongwa chekunyorera.
ESP-IDF inopa mabasa akakosha, senge sisitimu yekushandisa, madhiraivha ekutenderera, uye network protocol stack, muchimiro chezvikamu. Izvi zvikamu zvakachengetwa muzvikamu zvinyorwa zviri mukati meESP-IDF midzi dhairekitori. Vagadziri havafanire kukopa izvi zvikamu kune zvikamu zvinyorwa zvemyProject. Pane kudaro, vanongoda kudoma hukama hwekutsamira pazvikamu izvi muchirongwa che CMakeLists.txt. file uchishandisa REQUIRES kana PRIV_REQUIRES mirairo. Iyo yekuunganidza sisitimu inozowana otomatiki uye kuunganidza izvo zvinodiwa zvikamu.
Naizvozvo, iyo dhairekitori yezvikamu pasi peMyProject haifanirwe. Inongoshandiswa kubatanidza zvimwe zvetsika zvikamu zvepurojekiti, iyo inogona kuva yechitatu-bato raibhurari kana mushandisi-inotsanangurwa kodhi. Pamusoro pezvo, zvikamu zvinogona kutorwa kubva kune chero dhairekitori kunze kweESP-IDF kana purojekiti yazvino, senge kubva kune yakavhurika-sosi purojekiti yakachengetedzwa mune imwe dhairekitori. Muchiitiko ichi, iwe unongoda kuwedzera nzira yechikamu nekugadzirisa EXTRA_COMPONENT_DIRS kushanduka muCMakeLists.txt pasi pemudziyo wezvinyorwa. Iyi dhairekitori inodarika chero chikamu cheESP-IDF chine zita rimwechete, kuve nechokwadi chekuti chikamu chakakodzera chinoshandiswa.
Kupinda chirongwa chikuru Iyo huru dhairekitori mukati meprojekiti inotevera zvakafanana file chimiro sezvimwe zvikamu (semuenzaniso, chikamu1). Nekudaro, ine yakakosha kukosha sezvo chiri chinhu chinosungirwa chinofanira kunge chiripo mupurojekiti yega yega. Iyo huru dhairekitori ine iyo purojekiti kodhi kodhi uye yekupinda purogiramu yemushandisi, inowanzonzi app_main. Nekutadza, kuitiswa kwechirongwa chemushandisi kunotanga kubva pane ino yekupinda. Chikamu chikuru chinosiyanawo pakuti chinongobva pazvikamu zvese mukati menzira yekutsvaga. Naizvozvo, hapana chikonzero chekunyatso ratidza zvinotsamira uchishandisa REQUIRES kana PRIV_REQUIRES mirairo mu CMakeLists.txt file.
Configuration file Midzi yedhairekitori yeprojekiti ine zvigadziriso file inonzi sdkconfig, iyo ine zvigadziriso zvimiro zvezvinhu zvese zviri mukati meprojekiti. Iyo sdkconfig file inogadzirwa otomatiki neiyo compilation system uye inogona kugadziridzwa uye kuvandudzwa nemirairo idf.py menuconfig. Zvisarudzo zvemenuconfig zvinonyanya kubva kuKconfig.projbuild yepurojekiti uye Kconfig yezvikamu. Vagadziri vechikamu vanowanzo wedzera zvigadziriso zvinhu muKconfig kuita kuti chikamu chichinjike uye chigadzirike.
Vaka dhairekitori Nekusagadzika, iyo dhairekitori yekuvaka mukati meprojekiti inochengetera zvepakati files uye fi-
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 49

nal executable zvirongwa zvinogadzirwa neidf.py kuvaka command. Kazhinji, hazvidiwi kuti uwane zvakananga zviri mukati mekuvaka dhairekitori. ESP-IDF inopa mirairo yakafanotsanangurwa yekudyidzana nedhairekitori, sekushandisa idf.py flash command kuti uwane otomatiki iyo yakaunganidzwa bhinari. file woivheneka kukero yakataurwa, kana kushandisa idf.py fullclean command kuchenesa dhairekitori rese rekuvaka.
Partition tafura (partitions.csv) Imwe neimwe purojekiti inoda tafura yekuparadzanisa kuti igovane nzvimbo yemwenje uye tsanangura saizi uye kero yekutanga yechirongwa chinoitwa uye nzvimbo yedata yemushandisi. Raira idf.py flash kana OTA yekusimudzira chirongwa chinopenya iyo firmware kune inoenderana kero zvinoenderana netafura iyi. ESP-IDF inopa akati wandei akasarudzika matafura ezvikamu muzvikamu/ partition_tafura, senge partitions_singleapp.csv uye partitions_two_ ota.csv, inogona kusarudzwa mumenuconfig.
Kana iyo tafura yekugovera yekusarudzika yehurongwa isingakwanisi kusangana nezvinodiwa zvepurojekiti, tsika partitions.csv inogona kuwedzerwa kudhairekitori reprojekiti uye inosarudzwa mumenuconfig.
4.3.3 Default Kuvaka Mitemo yeCompalation System
Mitemo yezvikamu zvakapfuura zvine zita rimwechete Panguva yekutsvaga chikamu chekutsvaga, hurongwa hwekubatanidza hunotevera humwe hurongwa. Inotanga ichitsvaga zvemukati zveESP-IDF, yozotsvaga zvikamu zveprojekiti yemushandisi, yozopedzisira yatsvaga zvikamu muEXTRA_COMPONENT_DIRS. Kana madhairekitori akawanda aine zvikamu zvine zita rimwechete, chikamu chinowanikwa mudhairekitori rekupedzisira chinodarika chero chekare chine zita rimwechete. Mutemo uyu unobvumira kugadziridzwa kwezvikamu zveESP-IDF mukati meprojekti yemushandisi, uku uchichengeta yekutanga ESP-IDF kodhi yakasimba.
Mitemo yekubatanidza zvikamu zvakajairika nekukasira Sezvakataurwa muchikamu 4.3.2, zvikamu zvinoda kunyatso tsanangura zvinoenderana nezvimwe zvikamu mu CMakeLists.txt. Nekudaro, zvinhu zvakajairika senge freertos zvinosanganisirwa otomatiki mukuvaka sisitimu nekukasira, kunyangwe hukama hwavo hwekutsamira husina kutsanangurwa zvakajeka mukunyora script. ESP-IDF zvakajairika zvinosanganisira freertos, Newlib, murwi, log, soc, esp_rom, esp_common, xtensa/riscv, uye cxx. Kushandisa izvi zvakajairika zvinodzivirira basa rekudzokorora paunenge uchinyora CMakeLists.txt uye ita kuti iwedzere kupfupika.
Mitemo yekupfuura zvigadziriso zvinhu Vagadziri vanogona kuwedzera default gadziriso paramita nekuwedzera yekumisikidza gadziriso. file yakanzi sdkconfig.defaults kune purojekiti. For example, tichiwedzera CONFIG_LOG_
50 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

DEFAULT_LEVEL_NONE = y inogona kugadzirisa iyo UART interface kuti isadhinda data regi nekusarudzika. Uyezve, kana yakatarwa parameters inoda kuisirwa chimwe chinangwa, gadziriso file yakanzi sdkconfig.defaults.TARGET_NAME inogona kuwedzerwa, apo TARGET_NAME inogona kuva esp32s2, esp32c3, zvichingodaro. Izvi configuration files inounzwa mukati me sdkconfig panguva yekubatanidza, neyakajairwa default kumisikidzwa file sdkconfig.defaults iri kutengwa kunze kwenyika kutanga, ichiteverwa neinongedzo-chaiyo gadziriso. file, zvakadai sesdkconfig.defaults.esp32c3. Muzviitiko apo pane zvigadziriso zvinhu zvine zita rimwechete, iyo yekupedzisira configuration file ichapfuura yekutanga.
4.3.4 Nhanganyaya kuChinyorwa cheKuunganidza
Paunenge uchigadzira purojekiti uchishandisa ESP-IDF, vanogadzira havangofanire kunyora kodhi kodhi asi vanodawo kunyora CMakeLists.txt yepurojekiti uye zvikamu. CMakeLists.txt chinyorwa file, inozivikanwawo sechinyorwa chekubatanidza, icho chinotsanangura nhevedzano yezvinhu zvekubatanidza, kubatanidza zvigadziriso zvinhu, uye mirairo yekutungamira kuunganidzwa kweiyo kodhi kodhi. The compilation system ye ESP-IDF v4.3.2 inobva pa CMake. Pamusoro pekutsigira zvekuzvarwa CMake mabasa uye mirairo, zvakare inotsanangura akatevedzana etsika mabasa, zvichiita kuti zvive nyore kunyora zvinyorwa zvekuunganidza.
Manyoro ekubatanidza muESP-IDF anonyanya kusanganisira script yekugadzira purojekiti uye chikamu chekubatanidza zvinyorwa. Iyo CMakeLists.txt mumudzi wedhairekitori repurojekiti inonzi script compilation purojekiti, iyo inotungamira kuunganidzwa kwechirongwa chose. Yekutanga purojekiti yekubatanidza script inowanzo sanganisira iyo inotevera mitsara mitatu:
1. cmake_minimum_required(VERSION 3.5) 2. sanganisira($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. project(myProject)
Pakati pavo, iyo cmake_minimum_required (VERSION 3.5) inofanira kuiswa pamutsetse wekutanga, unoshandiswa kuratidza hushoma CMake shanduro nhamba inodiwa neprojekti. Nyowani shanduro dzeCMake dzinowanzo dzokera kumashure dzinoenderana neshanduro dzekare, saka gadzirisa nhamba yevhezheni zvinoenderana kana uchishandisa mitsva CMake mirairo kuti uone kuenderana.
sanganisira($ENV {IDF_PATH}/tools/cmake/project.cmake) inopinza zvinhu zvakafanotsanangurwa zvekumisikidza uye mirairo yeESP-IDF yekubatanidza system, kusanganisira iyo yakasarudzika yekuvaka mitemo yekubatanidza system inotsanangurwa muChikamu 4.3.3. project(myProject) inogadzira iyo purojekiti pachayo uye inotsanangura zita rayo. Iri zita richashandiswa seyekupedzisira kuburitsa mabhinari file zita, kureva, myProject.elf uye myProject.bin.
Purojekiti inogona kuva nezvikamu zvakawanda, kusanganisira chikamu chikuru. Dhairekitori repamusoro-soro rechikamu chimwe nechimwe rine CMakeLists.txt file, iyo inonzi component compilation script. Component compilation scripts anonyanya kushandiswa kutsanangura kutsamira kwechikamu, kumisikidza paramita, source code. files, uye yaisanganisira musoro files zve
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 51

compilation. NeESP-IDF's custom function idf_component_register, iyo shoma inodiwa kodhi yechikamu chekubatanidza script ndeiyi inotevera:

1. idf_component_register(SRCS “src1.c”

2.

INCLUDE_DIRS "inosanganisira"

3.

INODA chikamu1)

Iyo SRCS parameter inopa runyorwa rwekunobva files muchikamu, chakaparadzaniswa nenzvimbo kana paine akawanda files. Iyo INCLUDE_DIRS parameter inopa runyoro rwemusoro weruzhinji file madhairekitori echikamu, ayo achawedzerwa kune anosanganisira nzira yekutsvaga yezvimwe zvikamu zvinoenderana nechikamu chazvino. Iyo REQUIRES parameter inotaridza ruzhinji kutsamira kwechikamu chazvino. Zvinodikanwa kuti zvikamu zvitaure zvakajeka kuti ndezvipi zvikamu zvavanovimba nazvo, sechikamu2 zvichienderana nechikamu1. Zvisinei, nokuda kwechikamu chikuru, icho chinoenderana nezvikamu zvose nekukasira, iyo REQUIRES parameter inogona kusiiwa.

Uye zvakare, yemuno CMake mirairo inogona zvakare kushandiswa mukunyora script. For example, shandisa murairo wakagadzwa kuti uise zvinoshanduka, zvakadai seti (VARIABLE "VALUE").

4.3.5 Nhanganyaya yeMirairo Yakafanana
ESP-IDF inoshandisa CMake (project configuration tool), Ninja (project building tool) uye esptool (flash tool) mukugadzirisa kwekodhi. Chishandiso chega chega chinoita basa rakasiyana mukubatanidza, kuvaka, uye flash process, uye zvakare inotsigira akasiyana ekushandisa mirairo. Kufambisa mashandiro emushandisi, ESP-IDF inowedzera yakabatana kumberi-kumagumo idf.py iyo inobvumira iyo mirairo iri pamusoro kudaidzwa nekukurumidza.
Usati washandisa idf.py, ita shuwa kuti:
· Iyo nharaunda inoshanduka IDF_PATH yeESP-IDF yawedzerwa kune yazvino terminal. · The command execution dhairekitori ndiro dhairekitori reprojekiti, iyo inosanganisira iyo
chirongwa chekubatanidza chinyorwa CMakeLists.txt.
Iwo akajairika mirairo ye idf.py ndeaya anotevera:
idf.py -help: kuratidza rondedzero yemirairo nemirairo yekushandiswa kwayo. · idf.py set-target : kuseta iyo taidf.py yakazaracleanrget, yakadaro
sekutsiva pamwe esp32c3. · idf.py menuconfig: kuvhura menuconfig, terminal graphical kumisikidza
chishandiso, chinogona kusarudza kana kugadzirisa sarudzo dzekugadzirisa, uye zvigadziriso zvinochengetwa mu sdkconfig. file. idf.py kuvaka: kutanga kuunganidza kodhi. Wepakati files uye chirongwa chekupedzisira chinogoneka chinogadzirwa nekuunganidzwa chinozochengetwa mune yekuvaka dhairekitori reprojekiti nekukasira. Iyo yekuunganidza maitiro inowedzera, zvinoreva kuti kana imwe chete sosi file yakagadziridzwa, iyo chete yakagadziridzwa file ichaunganidzwa nguva inotevera.

52 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

· idf.py yakachena: kuchenesa yepakati fileinogadzirwa nekuumbwa kweprojekiti. Iyo purojekiti yese ichamanikidzwa kuunganidza muunganidzwa unotevera. Ziva kuti iyo CMake gadziriso uye zvigadziriso zvinogadziriswa nemenuconfig hazvizodzimwa panguva yekuchenesa.
· idf.py fullclean: kudzima dhairekitori rese rekuvaka, kusanganisira ese CMake gadziriso inobuda files. Kana uchivaka purojekiti zvakare, CMake ichagadzirisa purojekiti kubva pakutanga. Ndokumbira utarise kuti murairo uyu uchadzima zvese files mune dhairekitori rekuvaka, saka shandisa nekuchenjerera, uye gadziriro yeprojekiti file haizodzimwa.
idf.py flash: kupenya chirongwa chinogoneka chebhanari file inogadzirwa nekuvaka kune chinangwa ESP32-C3. Zvisarudzo -p uye -b anoshandiswa kuseta zita remudziyo weiyo serial port uye iyo baud rate yekupenya, zvichiteerana. Kana idzi mbiri sarudzo dzisina kutaurwa, serial port inozoonekwa otomatiki uye iyo default baud rate ichashandiswa.
idf.py yekutarisa: kuratidza serial port kubuda kwechinangwa ESP32-C3. Sarudzo -p inogona kushandiswa kutsanangura zita remudziyo weiyo host-side serial port. Panguva yekudhinda serial port, dzvanya kiyi musanganiswa Ctrl+] kubuda mucherechedzo.
Mirairo iri pamusoro inogonawo kubatanidzwa sezvinodiwa. For example, iwo murairo idf.py kuvaka flash monitor ichaita kodhi kuunganidza, kupenya, uye kuvhura serial port yekutarisa mukutevedzana.
Unogona kushanyira https://bookc3.espressif.com/build-system kuti uzive zvakawanda nezve ESP-IDF compilation system.
4.4 Dzidzira: Kunyora Exampuye Chirongwa "Blink"
4.4.1 Eksample Analysis
Ichi chikamu chichatora chirongwa Blink se example to analyze the file chimiro uye mitemo yekodhi yeprojekti chaiyo zvakadzama. Iyo Blink chirongwa inoshandisa iyo LED blinking maitiro, uye chirongwa chiri mudhairekitori examples/get-start/blink, iyo ine kwainotangira file, kugadzirisa files, uye akati wandei ekubatanidza zvinyorwa.
Iyo smart light project yakaunzwa mubhuku rino yakavakirwa pane iyi example program. Mabasa achawedzerwa zvishoma nezvishoma muzvitsauko zvinotevera kuti apedze.
Source code Kuti uratidze maitiro ese ekusimudzira, chirongwa cheBlink chakakopwa ku esp32c3-iot-projects/device firmware/1 blink.
Iyo dhairekitori chimiro cheiyo blink project files inoratidzwa muMufananidzo 4.15.
Iyo blink purojekiti ine chete huru dhairekitori, inova yakakosha chikamu icho
Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 53

Mufananidzo 4.15. File dhairekitori chimiro cheiyo blink project

inofanira kuiswa sezvinotsanangurwa muchikamu 4.3.2. Iyo huru dhairekitori inonyanya kushandiswa kuchengetedza kushandiswa kweiyo app_main () basa, inova nzvimbo yekupinda kune chirongwa chemushandisi.Iyo blink projekiti haisanganisi dhairekitori yezvikamu, nekuti iyi ex.ample inongoda kushandisa izvo zvinouya neESP-IDF uye hazvidi zvimwe zvikamu. The CMakeLists.txt inosanganisirwa mublink project inoshandiswa kutungamira maitirwo ekugadzira, ukuwo Kconfig.projbuild inoshandiswa kuwedzera zvigadziriso zveiyo ex.ampuye purogiramu mu menuconfig. Zvimwe zvisina basa files hazvizokanganisa kuunganidzwa kwekodhi, saka hazvizokurukurwa pano. Sumo yakadzama yeiyo blink project files iri sezvinotevera.

1. /*blink.c inosanganisira musoro unotevera files*/

2. #include

// Standard C raibhurari musoro file

3. #include "freertos/freeRTOS.h" //FreeRTOS musoro mukuru file

4. #include “freertos/task.h”

//FreeRTOS Task musoro file

5. #include "sdkconfig.h"

//Kugadzirisa musoro file yakagadzirwa ne kconfig

6. #include "driver/gpio.h"

//GPIO mutyairi musoro file

Kwakabva file blink.c ine nhevedzano yemusoro fileinoenderana nebasa declara-

tions. ESP-IDF inowanzo tevera kurongeka kwekusanganisira yakajairwa raibhurari musoro files, FreeR-

TOS musoro files, musoro wemutyairi files, mumwe musoro wechikamu files, uye musoro weprojekiti files.

Kurongeka kwaita musoro files inosanganisirwa inogona kukanganisa yekupedzisira kuunganidza mhedzisiro, saka edza kuzviita

tevera mitemo yakagara. Zvinofanira kucherechedzwa kuti sdkconfig.h inogadzirwa otomatiki

ne kconfig uye inogona kugadzirwa chete kuburikidza nemirairo idf.py menuconfig.

Kugadziridzwa kwakananga kwemusoro uyu file zvichadzikwa.

1. /*Unogona kusarudza GPIO inoenderana neLED mu idf.py menuconfig, uye mhedzisiro yemenuconfig ndeyekuti kukosha kweCONFIG_BLINK

_GPIO ichachinjwa. Iwe unogona zvakare kugadzirisa zvakananga iyo macro tsananguro

pano, uye shandura CONFIG_BLINK_GPIO kuita kukosha kwakatarwa.*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO

3. isina app_main(isina)

4. {

5.

/* Gadzirisa IO seGPIO default basa, gonesa kudhonza-up modhi, uye

6.

dzima nzira dzekupinza uye dzekuburitsa*/

7.

gpio_reset_pin(BLINK_GPIO);

54 ESP32-C3 Wireless Adventure: Yakakwana Nhungamiro yeIoT

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

/* Seta GPIO kune yekubuda modhi*/ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); nguva (1) {
/* Dhinda log*/ printf("Kudzima LEDn"); /* Dzima LED (yakabuda yakaderera level)*/ gpio_set_level(BLINK_GPIO, 0); /*Kunonoka (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf ("Kushandura LEDn"); /*Batidza LED (yakabuda yakakwira level)*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }

Iyo app_main () basa muBlink example chirongwa chinoshanda senzvimbo yekupinda yezvirongwa zvemushandisi. Iri nyore basa risina parameters uye hapana kudzoka kukosha. Iri basa rinodanwa mushure mekunge sisitimu yapedza kutanga, iyo inosanganisira mabasa akadai sekutanga iyo log serial port, kugadzirisa imwechete / mbiri mbiri, uye kugadzirisa iyo watchdog.

Iyo app_main () basa rinomhanya muchirevo chebasa rakanzi main. Iyo stack saizi uye yakakosha yebasa iri inogona kugadziridzwa mumenuconfig Componentconfig Yakajairika ESP-inoenderana.

Kune mabasa akareruka sengekubwaira LED, ese anodiwa kodhi anogona kuitwa zvakananga muapp_main () basa. Izvi zvinowanzo sanganisira kutanga iyo GPIO inoenderana neiyo LED uye kushandisa chinguva (1) loop kushandura iyo LED nekudzima. Neimwe nzira, unogona kushandisa FreeRTOS API kugadzira basa idzva rinobata iyo LED inopenya. Kana iro basa idzva ragadzirwa zvinobudirira, unogona kubuda iyo app_main () basa.

Zviri mukati me main/CMakeLists.txt file, iyo inotungamira nzira yekubatanidza yechikamu chikuru, ndeiyi inotevera:

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

Pakati pazvo, main/CMakeLists.txt inongodaidza one compilation system function, that is idf_component_register. Zvakafanana neCMakeLists.txt kune zvimwe zvakawanda zvikamu, blink.c inowedzerwa kuSRCS, uye kunobva files yakawedzerwa kuSRCS ichaunganidzwa. Panguva imwecheteyo, ".", inomiririra nzira iyo CMakeLists.txt iripo, inofanira kuwedzerwa ku INCLUDE_DIRS semadhairekitori ekutsvaga emusoro. files. Zviri muCMakeLists.txt ndezvizvi:
1 -IDF yekubatanidza system

Chitsauko 4. Kumisikidza Nzvimbo Yebudiriro 55

5. sanganisira($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Gadzira chirongwa chinonzi “blink” 7. project(myProject)
Pakati pazvo, iyo CMakeLists.txt mumudziyo wedhairekitori inonyanya kusanganisira $ENV{IDF_ PATH}/tools/cmake/project.cmake, inova ndiyo huru CMake configuration. file yakapihwa neESP-IDF. Inoshandiswa kubatanidza

Zvinyorwa / Zvishandiso

Espressif Systems ESP32-C3 Wireless Adventure [pdf] Bhuku reMushandisi
ESP32-C3 Wireless Adventure, ESP32-C3, Wireless Adventure, Adventure

References

Siya mhinduro

Yako email kero haizoburitswa. Nzvimbo dzinodiwa dzakamakwa *