ESP32-C3 Fa'asalalauga uaealesi

ESP32-C3 Fa'asalalauga uaealesi

Ose Ta'iala Atoa ile IoT

Espressif Systems Iuni 12, 2023

Fa'amatalaga

  • Oloa: ESP32-C3 Wireless Adventure
  • Tufuga: Espressif Systems
  • Aso: Iuni 12, 2023

Fa'atonuga o le Fa'aaogaina o Mea

Sauniuniga

A'o le'i fa'aogaina le ESP32-C3 Wireless Adventure, ia mautinoa o oe
masani i manatu ma fausaga o IoT. O le a fesoasoani lea
e te malamalama pe faʻafefea ona fetaui le masini i totonu o le faʻalapotopotoga tele o le IoT
ma ona fa'aoga talafeagai i fale atamai.

Folasaga ma Fa'ata'ita'iga o Poloketi IoT

I lenei vaega, o le a e aʻoaʻoina e uiga i galuega masani a IoT,
e aofia ai faʻavae faʻavae mo masini IoT masani, faʻavae autu
o talosaga a tagata o tausia, ma tulaga masani o ao IoT. O le a
tuuina atu ia te oe se faavae mo le malamalama ma le fatuina o lau
ia lava poloketi IoT.

Faataitai: Poloketi Malamalama Atamai

I lenei galuega faʻataʻitaʻiga, o le a e aʻoaʻo ai pe faʻapefea ona fatuina se atamai
moli e faʻaaoga ai le ESP32-C3 Wireless Adventure. Le fausaga o le poloketi,
galuega tauave, sauniuniga meafaigaluega, ma le faagasologa o atinae o le a
faʻamatala auiliili.

Fa'atulagaina o Poloketi

O le poloketi e aofia ai le tele o vaega, e aofia ai le
ESP32-C3 Wireless Adventure, LEDs, sensors, ma se ao
pito i tua.

Galuega Fa'atino

O le poloketi malamalama atamai e mafai ai ona e pulea le susulu ma
lanu o le LEDs mamao e ala i se telefoni feaveai po o web
feso'ota'iga.

Sauniuniga Meafaigaluega

Ina ia saunia mo le poloketi, e tatau ona e aoina mai le
vaega o meafaigaluega talafeagai, e pei ole ESP32-C3 Wireless
laupapa Adventure, LEDs, tetee, ma se sapalai eletise.

Atina'e Fa'agasologa

O le faagasologa o le atinae e aofia ai le faatuina o le atinae
siosiomaga, tusitusi code e pulea le LEDs, fesootai i le
backend ao, ma suʻesuʻeina le faʻatinoga o le atamai
malamalama.

Folasaga ile ESP RainMaker

ESP RainMaker ose fa'avae malosi mo le atina'eina o IoT
masini. I lenei vaega, o le a e aʻoaʻoina ai le ESP RainMaker ma
pe fa'apefea ona fa'atino i au galuega fa'atino.

O le a le ESP RainMaker?

ESP RainMaker o se fa'avae fa'avae ao e maua ai se seti o
meafaigaluega ma auaunaga mo le fausiaina ma le puleaina o masini IoT.

Le Fa'atinoga ole ESP RainMaker

O lenei vaega o loʻo faʻamatalaina vaega eseese o loʻo aofia ai
le fa'atinoina o le ESP RainMaker, e aofia ai le tautua o le tagi,
RainMaker Agent, cloud backend, ma RainMaker Client.

Faataitai: Manatu Autu mo le Atinae ma le ESP RainMaker

I lenei vaega faʻataʻitaʻiga, o le a e aʻoaʻoina e uiga i manatu autu i
mafaufau pe a atiaʻe ma le ESP RainMaker. E aofia ai masini
tagi, fa'amaopoopo fa'amaumauga, ma pulega fa'aoga.

Vaega o le ESP RainMaker

ESP RainMaker ofo atu vaega eseese mo le faʻaaogaina o tagata, faʻaiʻuga
tagata fa'aoga, ma pule. O nei vaega e mafai ai ona faigofie le masini
seti, pulea mamao, ma le mataituina.

Faatuina Atina'e Siosiomaga

O lenei vaega o loʻo tuʻuina atu se faʻaopoopogaview o le ESP-IDF (Espressif IoT
Ta'iala Atina'e), o le fa'avae aloa'ia o le atina'e
mo masini fa'avae ESP32. O lo'o fa'amatalaina ai fa'aliliuga eseese o
ESP-IDF ma pe fa'afefea ona fa'atūina le si'osi'omaga tau atina'e.

Atinae o Meafaigaluega ma Avetaavale

Fuafuaga Meafaigaluega o oloa Malamalama Matagofie e faavae ile ESP32-C3

O lenei vaega e taulaʻi i le faʻatulagaina o meafaigaluega o le malamalama atamai
oloa fa'avae ile ESP32-C3 Wireless Adventure. E aofia ai le
foliga ma le tuufaatasiga o oloa malamalama malamalama, faapea foi ma le
mamanu meafaigaluega o le faiga autu ESP32-C3.

Fa'aaliga ma Fa'atulagaina o Oloa Malamalama Atamai

O lenei vaega o lo'o fa'amatalaina uiga ma vaega e fai
luga oloa moli atamai. O lo'o talanoaina ai galuega eseese
ma fuafuaga fuafuaina mo le faia o moli atamai.

Fuafuaga Meafaigaluega o le ESP32-C3 Core System

O le faʻaogaina o meafaigaluega ole ESP32-C3 faʻaoga autu e aofia ai le mana
sapalai, fa'asologa o le eletise, toe setiina o le faiga, moli SPI, puna o le uati,
ma RF ma antenna iloiloga. O lenei faafuaiupu ua tuuina atu
fa'amatalaga auiliili i nei vaega.

FAQ

F: O le a le ESP RainMaker?

A: ESP RainMaker o se fa'avae fa'avae ao e maua ai meafaigaluega
ma auaunaga mo le fausiaina ma le puleaina o masini IoT. E faafaigofieina
le faʻagasologa o le atinaʻe ma faʻatagaina mo le faʻatulagaina o masini faigofie, mamao
pulea, ma mataituina.

Q: E mafai faapefea ona ou setiina le siosiomaga atinae mo
ESP32-C3?

A: Ina ia faʻatulagaina le siosiomaga atinaʻe mo ESP32-C3, e te manaʻomia
e faʻapipiʻi le ESP-IDF (Espressif IoT Development Framework) ma
fetuutuunai e tusa ai ma faatonuga ua tuuina mai. ESP-IDF o le
ta'iala tau atina'e aloa'ia mo masini fa'avae ESP32.

Q: O a foliga o le ESP RainMaker?

A: ESP RainMaker e ofoina atu vaega eseese, e aofia ai le tagata faʻaoga
pulega, vaega fa'au'uga fa'aoga, ma fa'auiga fa'atonu. Pulega a tagata fa'aoga
fa'ataga mo le fa'agofieina o masini ma fa'asoa fa'amaumauga. Tagata fa'ai'uga
foliga e mafai ai ona pulea mamao o masini e ala i se telefoni feaveai po o
web feso'ota'iga. Fa'atonu vaega e maua ai meafaigaluega mo le mata'ituina o masini
ma pulega.

ESP32-C3 Fa'asalalauga uaealesi
Ose Ta'iala Atoa ile IoT
Espressif Systems Iuni 12, 2023

Mataupu

I Sauniuniga

1

1 Folasaga ile IoT

3

1.1 Fausiaina o IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Talosaga IoT i Fale Atamai . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Folasaga ma Fa'ata'ita'iga o Poloketi IoT

9

2.1 Folasaga i Poloketi masani IoT . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Fa'avae Fa'avae mo Meafaigaluega masani IoT . . . . . . . . . . . . . . . . . 9

2.1.2 Modules Autu o Talosaga Client . . . . . . . . . . . . . . . . . . . 10

2.1.3 Fa'atomuaga ile IoT Cloud Platforms masani . . . . . . . . . . . . . . 11

2.2 Faataitai: Poloketi Malamalama Atamai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Fa'atulagaina o Poloketi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Galuega Faatino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.3 Sauniuniga Meafaigaluega . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.4 Fa'agasologa o Atina'e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Folasaga ile ESP RainMaker

19

3.1 O le a le ESP RainMaker? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Le Fa'atinoina o le ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . 21

3.2.1 Talosaga Auaunaga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.2 Sui Usuaga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.3 Ao i tua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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

3.3 Faataitai: Manatu Autu mo le Atinae ma le ESP RainMaker . . . . . . . . . . . . 25

3.4 Vaega o le ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.1 Pulega o Tagata Fa'aoga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2 Fa'amatalaga Fa'ai'uga Fa'aaogā . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4.3 Vaega Pule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.5 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Fa'atulagaina o Atina'e Si'osi'omaga

31

4.1 ESP-IDF Ovaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 ESP-IDF Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3

4.1.2 ESP-IDF Git Galue Galuega . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Filifilia o se Lomiga Talafeagai . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 Ovaview o le ESP-IDF SDK Directory . . . . . . . . . . . . . . . . . . . . 34 4.2 Fa'atulagaina le Siosiomaga o Atina'e ESP-IDF . . . . . . . . . . . . . . . . . 38 4.2.1 Fa'atulagaina le Siosiomaga o Atina'e ESP-IDF i Linux . . . . . . . . 38 4.2.2 Fa'atulagaina le Siosiomaga o Atina'e ESP-IDF i luga ole Windows . . . . . . 40 4.2.3 Fa'atulagaina le Siosiomaga o Atina'e ESP-IDF i le Mac. . . . . . . . . 45 4.2.4 Fa'apipi'i VS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Folasaga i Siosiomaga Atina'e Vaega Tolu . . . . . . . . 46 4.3 ESP-IDF Compilation System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Manatu Autu o Faiga Faaopoopo . . . . . . . . . . . . . . . . . . 47 4.3.2 Poloketi File Fauga . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Tulafono Fausia Faufautua o le Faiga Faaopoopo . . . . . . . . . . . . . 50 4.3.4 Folasaga i le Mau Tuufaatasi . . . . . . . . . . . . . . . . . . 51 4.3.5 Folasaga i Poloaiga masani . . . . . . . . . . . . . . . . . . . 52 4.4 Faataitai: Tuufaatasia Eample Polokalama “Emo” . . . . . . . . . . . . . . . . . . 53 4.4.1 Esoample Iloiloga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Tuufaatasia o le Polokalama Emo . . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Emo le Polokalama Emo . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Su'esu'ega Fa'amaumauga o Fa'amaumauga Fa'asologa o le Polokalama Emo . . . . . . . . . . . . . . 60 4.5 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

II Meafaigaluega ma Avetaavale Atinae

65

5 Fuafuaga Meafaigaluega o oloa Malamalama atamai e faʻavae ile ESP32-C3

67

5.1 Fa'aaliga ma Fa'aputuga o Oloa Malamalama Atamai . . . . . . . . . . . . . . . 67

5.2 Fuafuaga Meafaigaluega o le ESP32-C3 Core System . . . . . . . . . . . . . . . . . . . 70

5.2.1 Sapalai Malosiaga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2.2 Fa'asologa o Malosiaga ma Toe Fa'atonu Faiga . . . . . . . . . . . . . . . . . . 74

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

5.2.4 Punavai o le Uati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.5 RF ma Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.6 Fa'amau Fa'amau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2.7 GPIO ma le PWM Pule . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 Faʻataʻitaʻiga: Fausiaina o se Faʻatonuga Malamalama Faʻatasi ma le ESP32-C3 . . . . . . . . . . . . . 80

5.3.1 Filifilia o Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.3.2 Fa'atulagaina o GPIO o Fa'ailoga PWM . . . . . . . . . . . . . . . . . . . . 82

5.3.3 La'uina o Firmware ma Debugging Interface . . . . . . . . . . . . 82

5.3.4 Taiala mo le RF Design. . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 Taiala mo le Fuafuaga o le Malosiaga . . . . . . . . . . . . . . . . . . . 86 5.4 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6 Atinae Avetaavale

87

6.1 Fa'asologa o Atina'e Aveta'avale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.2 ESP32-C3 Talosaga Fa'apitoa . . . . . . . . . . . . . . . . . . . . . . . . . 88

6.3 Fa'avae Aveta'avale LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.1 Avanoa Lanu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.2 Avetaavale LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.3 Fa'apupula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.4 Folasaga ile PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.4 Fa'atupuina Aveta'avale Fa'amumu fa'amumuni . . . . . . . . . . . . . . . . . . . . . . . . 96

6.4.1 Teuina e le-Volatile (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97

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

6.4.3 Polokalama PWM LED . . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.5 Faʻataʻitaʻiga: Faʻaopoopoina Avetaʻavale ile Poloketi Malamalama Matagofie . . . . . . . . . . . . . . . . . 103

6.5.1 Fa'amau Aveta'avale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.5.2 Aveta'avale Fa'amumu fa'apouliuli . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.6 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

III Fesootaiga uaealesi ma le Pulea

109

7 Wi-Fi Fa'atulagaina ma So'oga

111

7.1 Fa'avae ole Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.1 Folasaga ile Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.2 Evolution of IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.3 Manatu Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.1.4 So'oga Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.2 Fa'avae ole Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.2.1 Folasaga ile Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . 123

7.2.2 Manatu Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.2.3 Feso'ota'iga Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

7.3 Fesootaiga Wi-Fi Fesootaiga . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

7.3.1 Taiala o Fesootaiga Wi-Fi . . . . . . . . . . . . . . . . . . . . 131

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

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

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

7.3.5 Isi Metotia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7.4 Polokalama Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 Vaega Wi-Fi i le ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 Fa'amalositino: So'oga Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 Fa'amalositino: So'oga Wi-Fi atamai . . . . . . . . . . . . . . . . . . . . . 145
7.5 Fa'ata'ita'i: Fa'atonu Wi-Fi i le Poloketi Malamalama Matagofie . . . . . . . . . . . . . . . 156 7.5.1 Feso'ota'iga Wi-Fi ile Poloketi Malamalama Matagofie . . . . . . . . . . . . . . . . . 156 7.5.2 Fa'atonuga Wi-Fi atamai . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

8 Pulea Lotoifale

159

8.1 Folasaga ile Pulea Fa'alotoifale . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

8.1.1 Fa'aaogaina o le Pulea Fa'alotoifale . . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.2 Avanetage o le Pulea Fa'alotoifale . . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.3 Su'eina o Masini Puleaina e ala i Smartphones . . . . . . . . . . 161

8.1.4 Feso'ota'iga Fa'amatalaga i le Va o Telefoni Tele ma Masini . . . . . . . . 162

8.2 Metotia Fa'alotoifale Masani Su'esu'e . . . . . . . . . . . . . . . . . . . . . . . . 162

8.2.1 Faasalalauga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

8.2.2 Telecast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

8.2.3 Faatusatusaga i le Va o Faasalalauga ma Telecast. . . . . . . . . . . . . . 176

8.2.4 Multicast Application Protocol mDNS mo Su'esu'ega Fa'alotoifale . . . . . . . . 176

8.3 Fesootaiga masani Fesootaiga mo Fa'amatalaga Fa'alotoifale . . . . . . . . . . . . . . . 179

8.3.1 Feso'ota'iga Pulea Fa'atonu (TCP) . . . . . . . . . . . . . . . . . . . 179

8.3.2 Lafoa'iga Fa'aliliuga Fa'asolo (HTTP) . . . . . . . . . . . . . . . . . . . 185

8.3.3 Tagata Fa'aoga Datagram Protocol (UDP) . . . . . . . . . . . . . . . . . . . . . . 189

8.3.4 Polokalama Talosaga Fa'asalaina (CoAP) . . . . . . . . . . . . . . . . 192

8.3.5 Polokalama Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

8.3.6 Aotelega o Fa'amaumauga Feso'ota'iga Fa'amaumauga . . . . . . . . . . . . . . . 203

8.4 Faʻamautinoaga o le Puipuiga o Faʻamatalaga . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

8.4.1 Folasaga ile Saogalemu Laiti Felauaiga (TLS) . . . . . . . . . . . . . 207

8.4.2 Folasaga i Datagram Transport Layer Security (DTLS) . . . . . . . 213

8.5 Faʻataʻitaʻiga: Pulea Faʻalotoifale ile Poloketi Malamalama Matagofie . . . . . . . . . . . . . . . . . . 217

8.5.1 Fausiaina o le Wi-Fi e fa'atatau i le Pulea Fa'apitonu'u. . . . . . . . . . . . . . . 217

8.5.2 Fa'amaonia le Pulea Fa'alotoifale e fa'aaoga ai Fa'amatalaga . . . . . . . . . . . 221

8.5.3 Fausiaina o se Sa'oga Pulea Fa'alotoifale fa'avae Bluetooth . . . . . . . . . . . . 222

8.6 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

9 Pulea ao

225

9.1 Folasaga ile Pulea Mamao . . . . . . . . . . . . . . . . . . . . . . . . . . 225

9.2 Feso'ota'iga Fa'amaumauga o Ao . . . . . . . . . . . . . . . . . . . . . . 226

9.2.1 MQTT Folasaga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 Mataupu Faavae MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 MQTT Message Form . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 Fa'atusatusaga Fa'akomepiuta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Seti MQTT Broker i Linux ma Pupuni . . . . . . . . . . . . 233 9.2.6 Fa'atulagaina le MQTT Client Fa'avae ile ESP-IDF . . . . . . . . . . . . . . . . 235 9.3 Faʻamautinoaina le Puipuiga o Faʻamatalaga MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 Uiga ma Galuega o Tusipasi . . . . . . . . . . . . . . . . . . . 237 9.3.2 Fausiaina o Tusi Faamaonia i le Atunuu . . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 Fa'atulaga le MQTT Broker . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 Fa'atulagaina o le MQTT Client . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 Faataitai: Pulea Mamao e ala i le ESP RainMaker . . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Node ma Cloud Backend Feso'otaiga Protocol . . . . . . . . . . . . . . . . . . . . . . 244 9.4.3 Matafaioi a Tagata Faaaoga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 9.4.4 Auaunaga Autu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Malamalama Atamai Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 RainMaker App ma Fa'atasiga Vaega Tolu . . . . . . . . . . . . . . . 262 9.5 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

10 Atinae o le telefoni feaveai

269

10.1 Fa'atomuaga i le Atina'eina o le telefoni feavea'i . . . . . . . . . . . . . . . . . . 269

10.1.1 Ovaview o le Atina'eina o le telefoni feavea'i . . . . . . . . . . . . . . . 270

10.1.2 Fa'atulagaina o le Poloketi Android . . . . . . . . . . . . . . . . . . . . . . 270

10.1.3 Fa'atulagaina o le Poloketi iOS . . . . . . . . . . . . . . . . . . . . . . . . 271

10.1.4 Taamilosaga Olaga o se Gaoioiga Android . . . . . . . . . . . . . . . . . . . . . . 272

10.1.5 Taamilosaga o le olaga o iOS ViewPule . . . . . . . . . . . . . . . . . . . . . . 273

10.2 Fausiaina o se Poloketi Poloketi Talosaga Telefoni Fou . . . . . . . . . . . . . . . . . . . . . 275

10.2.1 Saunia mo Atinae Android . . . . . . . . . . . . . . . . . . . 275

10.2.2 Fausiaina o se Poloketi Fou Android . . . . . . . . . . . . . . . . . . . . . . 275

10.2.3 Fa'aopoopoina o Fa'alagolago mo MyRainmaker . . . . . . . . . . . . . . . . . 276

10.2.4 Talosaga Fa'atagaga ile Android . . . . . . . . . . . . . . . . . . . . . . 277

10.2.5 Saunia mo le Atinae o iOS . . . . . . . . . . . . . . . . . . . . . . 277

10.2.6 Fausiaina o se Poloketi Fou iOS . . . . . . . . . . . . . . . . . . . . . . . . 278

10.2.7 Fa'aopoopoina o Fa'alagolago mo MyRainmaker . . . . . . . . . . . . . . . . . 279

10.2.8 Talosaga Faatagaga i iOS . . . . . . . . . . . . . . . . . . . . . . . . . 280

10.3 Iloiloga o Manaoga Fa'atino a le App. . . . . . . . . . . . . . . . . . 281

10.3.1 Iloiloga o Manaoga Fa'atino a le Poloketi . . . . . . . . . . . . 282

10.3.2 Iloiloga o Manaoga o le Pulega o Tagata Fa'aaoga . . . . . . . . . . . . . . . 282 10.3.3 Iloiloga o le Tuuina atu o Masini ma Tulaga Manaoga . . . . . . . 283 10.3.4 Iloiloga o Manaoga Pule-mamao . . . . . . . . . . . . . . . . 283 10.3.5 Iloiloga o Tulaga Manaomia . . . . . . . . . . . . . . . . . . . 284 10.3.6 Iloiloga o Manaoga Nofoaga Autu mo Tagata Faaaoga . . . . . . . . . . . . . . . . . . 285 10.4 Atinae o le Pulega o Tagata Faaaoga . . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 Folasaga i RainMaker APIs . . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 Amataina Fesootaiga e ala i le Telefoni Tele . . . . . . . . . . . . . . . . 286 10.4.3 Faamauina o Teugatupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 Fa'amatalaga Fa'amatalaga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 Atinae o le Tuuina atu o Masini . . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 Va'aiga Meafaigaluega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 Masini Feso'ota'i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 Fausiaina o Ki Lilo . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Mauaina Node ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 Tuuina atu o Meafaigaluega . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 Atina'e o le Puleaina o Masini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 Mauaina o se Lisi o Meafaigaluega . . . . . . . . . . . . . . . . . . . . . . . . . . 303 10.6.2 Mauaina o le Tulaga o Masini . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 Suia le Tulaga o le Masini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 Fa'atinoina o Galuega Fa'atulagaina . . . . . . . . . . . . . . . . . . . . 310 10.7 Fa'atinoina o Tagata Nofoaga Autu . . . . . . . . . . . . . . . . . . . . . . . . . 313 10.7.1 Sili Ao APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 10.7.2 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

11 Fa'afou le Firmware ma le Pulea Fa'aliliuga

321

11.1 Fa'aleleia atili o Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.1.1 Ovaview o Laupapa Vaevaega . . . . . . . . . . . . . . . . . . . . . . . . 322

11.1.2 Fa'agasologa o le Fa'aosoina o Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

11.1.3 Ovaview o le OTA Mechanism . . . . . . . . . . . . . . . . . . . . . 326

11.2 Pulea Faiga Fa'aumuumu . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.1 Faailoga Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.2 Toe faafoi i tua ma Anti-Taua i tua . . . . . . . . . . . . . . . . . . . . . . . . 331

11.3 Faataitai: I luga o le ea (OTA) Example . . . . . . . . . . . . . . . . . . . . . . . 332

11.3.1 Fa'aleleia le Firmware E ala i se Fa'alapotopotoga Fa'apitonu'u . . . . . . . . . . . . . . . . . 332

11.3.2 Fa'aleleia le Firmware E ala i le ESP RainMaker . . . . . . . . . . . . . . . 335

11.4 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

IV Optimization ma Mass Production

343

12 Puleaina o le Malosiaga ma le Fa'asa'olotoga Maualalo

345

12.1 ESP32-C3 Pulea Malosiaga . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

. . . . . . . . . . . . . . . . . . . . . . . . 12.1.1

12.1.2 Fa'atonuga Pulea Malosiaga . . . . . . . . . . . . . . . . . . . . 348

12.2 ESP32-C3 Faiga Maualalo Malosi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

12.2.1 Modem-moe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

12.2.2 Faiga mama-moe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

12.2.3 Faiga moe loloto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

12.2.4 Fa'aaogāina o lo'o iai i Tulaga Malosi Eseese . . . . . . . . . . . . . 358

12.3 Puleaina o le Malosiaga ma le Debugging Maualalo . . . . . . . . . . . . . . . . . 359

12.3.1 Debugging o ogalaau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

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

12.4 Faʻataʻitaʻiga: Puleaina o le Malosi i le Poloketi Malamalama Matagofie . . . . . . . . . . . . . . . 363

12.4.1 Fa'atulagaina o le Fa'atonuga o le Malosiaga . . . . . . . . . . . . . . . . . 364

12.4.2 Fa'aoga Loka Pulea Malosiaga . . . . . . . . . . . . . . . . . . . . . . 365

12.4.3 Fa'amaonia le Fa'aaogaina o le Malosiaga . . . . . . . . . . . . . . . . . . . . . . . 366

12.5 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

13 Fa'aleleia Faiga Puipuiga o Meafaigaluega

369

13.1 Ovaview ole IoT Device Data Security . . . . . . . . . . . . . . . . . . . . . . . 369

13.1.1 Aisea e Puipuia ai Fa'amatalaga Mea Fa'atonu IoT? . . . . . . . . . . . . . . . . . . . . . . 370

13.1.2 Manaoga Autu mo IoT Device Data Security . . . . . . . . . . . . 371

13.2 Puipuiga o le Amiotonu o Faamatalaga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

13.2.1 Folasaga i Metotia Faamaonia le Amiotonu . . . . . . . . . . . . . . 372

13.2.2 Fa'amaoni Fa'amaonia o Fa'amaumauga Fa'atonu . . . . . . . . . . . . . . . . . . 373

13.2.3 Esoample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3 Puipuiga Fa'alilolilo Fa'amaumauga . . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3.1 Fa'atomuaga i Fa'ailoga Fa'amatalaga . . . . . . . . . . . . . . . . . . . . . . 374

13.3.2 Fa'atomuaga ile Flash Encryption Scheme . . . . . . . . . . . . . . . . . 376

13.3.3 Flash Encryption Teuina Ki . . . . . . . . . . . . . . . . . . . . . . . 379

13.3.4 Faiga Fa'atino ole Fa'ailoga Flash . . . . . . . . . . . . . . . . . . . . 380

13.3.5 Fa'agasologa o le Fa'ailoga o le Flash . . . . . . . . . . . . . . . . . . . . . . . . . . 381

13.3.6 Folasaga ile NVS Encryption . . . . . . . . . . . . . . . . . . . . . . 383

13.3.7 Esoampfa'ailoga o le Flash Encryption ma le NVS Encryption . . . . . . . . . . . 384

13.4 Puipuiga Fa'atulafonoina o Fa'amaumauga . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

13.4.1 Folasaga i Saini Fa'atekinolosi . . . . . . . . . . . . . . . . . . . . . 386

13.4.2 Ovaview o Secure Boot Scheme . . . . . . . . . . . . . . . . . . . . . 388

13.4.3 Folasaga i Polokalama Saogalemu Boot . . . . . . . . . . . . . . . . . . . 388 13.4.4 Folasaga i Meafaigaluega Secure Boot . . . . . . . . . . . . . . . . . . 390 13.4.5 Esoamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 Flash Encryption ma Secure Boot . . . . . . . . . . . . . . . . . . . . . . . . . . 396 13.5.1 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

14 Fufulu Firmware ma Su'ega mo Gaosiga Tele

399

14.1 Fufulu Firmware i Gaosiga Tele . . . . . . . . . . . . . . . . . . . . . . 399

14.1.1 Fa'amatalaina Vaevaega Fa'amatalaga . . . . . . . . . . . . . . . . . . . . . . . . . . 399

14.1.2 Fufulu Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

14.2 Fa'ata'ita'iga o Gaosia Tele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

14.3 Faʻataʻitaʻiga: Faʻamatalaga Faʻasalalau Faʻasalalau i le Poloketi Malamalama Smart. . . . . . . . . . . . . 404

14.4 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

15 ESP Insights: Va'aiga Mata'ituina Tulaga

405

15.1 Folasaga ile ESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

15.2 Amata i le ESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . 409

15.2.1 Amata i le ESP Insights i le esp-insights Project . . . . . . 409

15.2.2 Tamomoe Example i le esp-insights Project . . . . . . . . . . . . . . . 411

15.2.3 Lipoti o Faamatalaga Coredump . . . . . . . . . . . . . . . . . . . . . 411

15.2.4 Fa'avasegaina o ogalaau o Tului . . . . . . . . . . . . . . . . . . . . . . . . 412

15.2.5 Lipoti Mafuaaga Toe Toe Toe . . . . . . . . . . . . . . . . . . . . . . . . . 413

15.2.6 Lipoti Fuafuaga Fa'ale-aganu'u . . . . . . . . . . . . . . . . . . . . . . . . . 413

15.3 Fa'ata'ita'i: Fa'aaogaina o le ESP Insights i le Poloketi Malamalama Matagofie . . . . . . . . . . . . . . . 416

15.4 Aotelega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

Folasaga
O le ESP32-C3 o le Wi-Fi e tasi ma le Bluetooth 5 (LE) microcontroller SoC, faʻavae i luga o le faʻaogaina o le RISC-V architecture. E taia le paleni saʻo o le mana, I / O gafatia, ma le saogalemu, ma faʻapea ona ofoina atu le fofo sili ona lelei tau mo masini fesoʻotaʻi. Ina ia faʻaalia le tele o faʻaoga a le ESP32-C3 aiga, o lenei tusi a Espressif o le a ave oe i se malaga manaia e ala i AIoT, amata mai i faʻavae o le atinaʻeina o poloketi a le IoT ma le faʻatulagaina o le siosiomaga i le faʻatinoga masani.amples. O mataupu muamua e fa e talanoa e uiga i le IoT, ESP RainMaker ma ESP-IDF. Mataupu 5 ma le 6 fa'apuupuuga i le mamanu o meafaigaluega ma le atina'eina o aveta'avale. A'o e aga'i i luma, o le a e iloa pe fa'afefea ona fa'atulaga lau poloketi e ala i feso'otaiga Wi-Fi ma telefoni feavea'i. Ma le mea mulimuli, o le ae aʻoaʻo e faʻamalieina lau poloketi ma tuʻu i le gaosiga tele.
Afai o oe o se enisinia i matā'upu fa'afeso'ota'i, se tufuga faakomepiuta, se faia'oga, se tamaititi, po'o so'o se tasi e fiafia i le IoT, o lenei tusi e mo oe.
E mafai ona e sii maia le code exampLe faʻaaogaina i lenei tusi mai le upega tafaʻilagi a Espressif i GitHub. Mo faʻamatalaga lata mai i le atinaʻeina o IoT, faʻamolemole mulimuli i la matou tala aloaia.

Upu Tomua
Se Lalolagi Fa'amatalaga
O le tietie i luga ole galu ole Initaneti, Initaneti o Mea (IoT) na faia lona amataga sili e avea ma ituaiga fou o atinaʻe i le tamaoaiga numera. Ina ia faʻalatalata atu tekinolosi i tagata lautele, Espressif Systems e galue mo le faʻaaliga e mafai e tagata atiaʻe mai soʻo se ituaiga olaga ona faʻaogaina le IoT e foia ai nisi o faʻafitauli sili ona faigata o tatou taimi. O se lalolagi o le "Intelligent Network of All Things" o le mea lea o loʻo tatou faʻamoemoeina mai le lumanaʻi.
O le mamanuina o a tatou lava tupe meataalo e avea ma vaega taua o lena vaʻaiga. E tatau ona avea ma se malafoni, e manaʻomia ai le alualu i luma faifaipea e faasaga i tuaoi faatekinolosi. Mai le "Game Changer" ESP8266 i le ESP32 faʻasologa faʻapipiʻi Wi-Fi ma Bluetoothr (LE) fesoʻotaʻiga, sosoo ai ma le ESP32-S3 faʻapipiʻiina e AI faʻavavevave, Espressif e le taofia le suʻesuʻeina ma le atinaʻeina o oloa mo fofo AIoT. Faatasi ai ma a matou polokalama faʻapipiʻi, e pei o le IoT Development Framework ESP-IDF, Mesh Development Framework ESP-MDF, ma le Device Connectivity Platform ESP RainMaker, ua matou fatuina se taʻiala tutoatasi mo le fausiaina o talosaga AIoT.
E oʻo mai ia Iulai 2022, o le aofaʻi o uta a le Espressif's IoT chipsets ua sili atu i le 800 miliona, e taʻitaʻia ai le Wi-Fi MCU maketi ma faʻamalosia le tele o masini fesoʻotaʻi i le lalolagi atoa. O le tulituliloaina o le tulaga lelei ua avea ai oloa uma o Espressif ma se lave tele mo lona tulaga maualuga o le tuufaatasia ma le lelei tau. O le tatalaina o le ESP32-C3 o loʻo faʻailogaina ai se faʻailoga taua o le tekinolosi faʻavae a le Espressif. O se tasi-autu, 32-bit, RISC-V-faʻavae MCU ma 400KB o le SRAM, lea e mafai ona tamoe i le 160MHz. Ua tu'ufa'atasia le 2.4 GHz Wi-Fi ma le Bluetooth 5 (LE) fa'atasi ai ma se lagolago umi. E maua ai se paleni lelei o le malosi, I / O gafatia, ma le saogalemu, ma faʻapea ona ofoina atu le tali sili ona taugofie mo masini fesoʻotaʻi. Faʻavae i luga ole ESP32-C3 mamana, o lenei tusi ua faʻamoemoe e fesoasoani i le au faitau ia malamalama i le IoT faʻamatalaga faʻatasi ma faʻamatalaga auiliili ma faʻataʻitaʻiga masani.amples.
Aiseā na matou tusia ai lenei tusi?
Espressif Systems e sili atu nai lo se kamupani semiconductor. O se kamupani fa'avae IoT, lea e taumafai i taimi uma mo fa'alavelave ma fa'afouga i le matata o tekonolosi. I le taimi lava e tasi, o loʻo faʻaalia e Espressif ma faʻasoa lana faiga faʻaogaina ma le faʻaogaina o polokalama faʻapipiʻi ma le alalafaga, ma fausia ai se faʻalapotopotoga tulaga ese. Inisinia, tagata fai mea, ma tagata fa'atekonolosi e fa'atupuina ma le fa'agaoioia ni polokalama faakomepiuta fou e fa'avae i luga o oloa a Espressif, fa'afeso'ota'i saoloto, ma fa'asoa atu o latou poto masani. E mafai ona e vaʻaia manatu faʻafiafia a le au atinaʻe i luga o faʻasalalauga eseese i taimi uma, pei o YouTube ma GitHub. O le taʻutaʻua o oloa a Espressif ua faʻaosofia ai le faʻateleina o le aofaʻi o tusitala oe na gaosia tusi sili atu i le 100 e faʻavae i luga o kaseti Espressif, i le sili atu ma le sefulu gagana, e aofia ai le Igilisi, Saina, Siamani, Farani, ma Iapani.

O le lagolago ma le faʻatuatuaina o paaga a le nuʻu e faʻamalosia ai le faʻaauau pea o le faʻafouga a Espressif. "Matou te taumafai e fai a matou tupe meataalo, faiga faʻaogaina, faʻavae, fofo, Ao, faiga faʻapisinisi, meafaigaluega, faʻamaumauga, tusitusiga, manatu, ma isi, ia sili atu ona talafeagai i tali e manaʻomia e tagata i faʻafitauli sili ona faigata o le olaga nei. O le naunautaiga sili lea ma le tapasa o amioga lelei a Espressif. o le tala lea a Mr. Teo Swee Ann, Founder ma Pule Sili o Espressif.
E fa'atauaina e Espressif le faitau ma manatu. A'o fa'aauauina pea le fa'aleleia o tekinolosi a IoT e fa'atupuina ai mana'oga maualuga i inisinia, e fa'apefea ona tatou fesoasoani i le to'atele o tagata ina ia vave fa'ata'ita'iina tupe meataalo a le IoT, faiga fa'aogaina, faiga fa'akomepiuta, polokalame fa'aoga ma oloa tautua ao? Fai mai le upu, e sili le aoaoina o le tagata i le fagota nai lo le avatu ia te ia o i’a. I se sauniga palepalealuga, na oʻo mai ia i matou e mafai ona matou tusia se tusi e faʻavasega lelei ai le malamalama autu o le atinaʻeina o IoT. Na matou lavea, vave faʻapotopotoina se vaega o inisinia sinia, ma tuʻufaʻatasia le poto masani o le vaega faʻapitoa i polokalame faʻapipiʻi, IoT hardware ma le atinaʻeina o polokalama, o loʻo saofagā uma i le lolomiina o lenei tusi. I le faagasologa o le tusitusi, sa matou taumafai i le mea sili matou te mafaia ina ia saʻo ma saʻo, aveese le popo, ma faʻaoga faʻamatalaga pupuu e taʻu atu ai le lavelave ma le matagofie o le Initaneti o Mea. Na matou aoteleina ma le faaeteete fesili masani, faasino i manatu faaalia ma fautuaga a le nuu, ina ia mafai ona tali manino i fesili o loʻo feagai ma le faʻagasologa o le atinaʻe, ma tuʻuina atu taʻiala mo le atinaʻeina o IoT talafeagai mo tekinisia talafeagai ma fai filifiliga.
Fauga Tusi
O lenei tusi e ave se vaaiga faʻainisinia ma faʻamatalaina le malamalama talafeagai mo le atinaʻeina o poloketi a le IoT i lea laasaga ma lea laasaga. E fa vaega, e pei ona taua i lalo:
· Sauniuniga (Mataupu 1): O lenei vaega o loʻo faʻaalia ai le fausaga o le IoT, faʻataʻitaʻiga masani o le IoT project, le ESP RainMakerr cloud platform, ma le siosiomaga atinaʻe ESP-IDF, ina ia faʻavaeina se faavae mautu mo le atinaʻeina o poloketi a IoT.
· Atinaʻeina Meafaigaluega ma Avetaʻavale (Mataupu 5): Faʻavae i luga o le ESP6-C32 chipset, o lenei vaega o loʻo faʻamatalaina i luga o le faʻaogaina o masini komepiuta ma le atinaʻeina o avetaʻavale, ma faʻatinoina le faʻatonutonuina o le faanenefu, lanu lanu, ma fesoʻotaʻiga uaealesi.
· Fa'afeso'ota'i ma Fa'atonu (Mataupu 7): O lenei vaega o lo'o fa'amatalaina ai le fa'atulagaina o le Wi-Fi atamai e fa'avae i luga o le ESP11-C32 chip, fa'alotoifale & ao fa'atonu fa'atonuga, ma le fa'apitonu'u & mamao o masini. O lo'o tu'uina atu ai fo'i polokalame mo le atina'eina o polokalama telefoni, fa'aleleia o le firmware, ma le fa'atonutonuina o fa'amatalaga.
· Faʻatonuina ma le Mass Production (Mataupu 12-15): O lenei vaega e faʻamoemoe mo le faʻaogaina o le IoT faʻaoga, e taulaʻi i le faʻaleleia atili o oloa i le puleaina o le eletise, faʻamalosia le maualalo o le mana, ma le faʻaleleia atili o le saogalemu. O lo'o fa'ailoa mai ai fo'i le fa'amumuina o le firmware ma le su'ega i le tele o gaosiga, ma pe fa'apefea ona iloa le tulaga o lo'o fa'agaoioia ma ogalaau o masini firmware e ala i le va'aiga mata'ituina mamao ESP Insights.

E uiga i le Source Code
E mafai e le au faitau ona faʻatautaia le exampo polokalame i totonu o lenei tusi, a le o le tuʻuina atu o le code ma le lima poʻo le faʻaaogaina o le source code o loʻo faʻatasi ma le tusi. Matou te faʻamamafaina le tuʻufaʻatasia o aʻoaʻoga ma faʻataʻitaʻiga, ma faʻatutuina ai se vaega Faʻataʻitaʻi e faʻavae i luga o le Poloketi Smart Light i toetoe lava o mataupu uma. O fa'ailoga uma e tatala-sourced. E fa'afeiloa'i le aufaitau e la'u mai le code source ma talanoaina i vaega e feso'ota'i ma lenei tusi ile GitHub ma le matou fa'asalalauga aloaia esp32.com. O le fa'asinomaga tatala o lenei tusi e fa'atatau i aiaiga a Apache License 2.0.
Tusitala a le Tusitala
O lenei tusi o loʻo gaosia aloaia e Espressif Systems ma o loʻo tusia e inisinia sinia a le kamupani. E fetaui lelei mo pule ma tagata faigaluega R&D i pisinisi e fesoʻotaʻi ma IoT, faiaʻoga ma tamaiti aʻoga faʻapitoa e fesoʻotaʻi, ma tagata fiafia i le Initaneti o Mea. Matou te faʻamoemoe e mafai ona avea lenei tusi o se tusi lesona, o se faʻamatalaga, ma se tusi i tafatafa o le moega, e pei o se faiaoga lelei ma se uo.
A o tuʻufaʻatasia lenei tusi, matou te faʻatatau i nisi o suʻesuʻega talafeagai o tagata atamamai, tagata atamamai, ma tekinisia i le fale ma fafo, ma sa matou faia le mea sili matou te mafaia e taʻua ai e tusa ai ma tulaga faʻaleaʻoaʻoga. Ae ui i lea, e le maalofia le tatau ona i ai ni mea e le o faia, o lea e momoli atu ai le faʻaaloalo loloto ma le faʻafetai i tusitala talafeagai uma. E le gata i lea, ua matou sii maia faʻamatalaga mai le Initaneti, o lea matou te fia faʻafetai atu ai i uluai tusitala ma tagata faʻasalalau ma faʻamalie atu e le mafai ona matou faʻaalia le puna o faʻamatalaga uma.
Ina ia mafai ona maua se tusi e sili ona lelei, ua matou faʻatulagaina taʻamilosaga o talanoaga i totonu, ma aʻoaʻoina mai fautuaga ma faʻamatalaga a le au faitau faʻataʻitaʻiga ma le au faʻasalalau faʻasalalau. O iinei, matou te toe faafetai atu ai mo la outou fesoasoani na fesoasoani uma i lenei galuega manuia.
Mulimuli, ae sili ona taua, faafetai i tagata uma i Espressif oe na galue malosi mo le fanau mai ma le faʻalauiloaina oa tatou oloa.
O le atinaʻeina o poloketi IoT e aofia ai le tele o le malamalama. Fa'atapula'a i le umi o le tusi, fa'apea fo'i ma le maualuga ma le poto masani o le tusitala, e le mafai ona alofia le fa'aogaina. O le mea lea, matou te talosagaina ma le agalelei le au atamamai ma le au faitau e faitio ma faasaʻo a matou mea sese. Afai ei ai ni au fautuaga mo lenei tusi, faʻamolemole faʻafesoʻotaʻi matou i book@espressif.com. Matou te tulimatai atu i lau faʻamatalaga.

E fa'apefea ona fa'aoga lenei tusi?
O le fa'ailoga o galuega o lo'o i totonu o lenei tusi ua tatala fa'apogai. E mafai ona e sii maia mai le matou GitHub repository ma faʻasoa ou manatu ma fesili ile matou faʻasalalauga aloaia. GitHub: https://github.com/espressif/book-esp32c3-iot-projects Forum: https://www.esp32.com/bookc3 I le tusi atoa, o le ai ai ni vaega e faʻamaonia e pei ona faʻaalia i lalo.
Source code I totonu o lenei tusi, matou te faʻamamafaina le tuʻufaʻatasia o aʻoaʻoga ma faʻataʻitaʻiga, ma faʻapenaina ai se vaega Faʻataʻitaʻi e uiga i le Poloketi Smart Light i toetoe lava o mataupu uma. Laasaga tutusa ma itulau puna o le a makaina i le va o laina e lua e amata i le tag Source code.
FAAMANATU/FAUTUAGA O i'inei e te maua ai ni fa'amatalaga taua ma fa'amanatu mo le sologa lelei o lau polokalame. O le a faailogaina i le va o laina mafiafia e lua e amata i le tag FAAMANATU poʻo FAʻAALIGA.
O le tele o poloaiga i totonu o lenei tusi o loʻo faʻatinoina i lalo o Linux, faʻaosofia e le amio "$". Afai e manaʻomia e le faʻatonuga faʻapitoa faʻapitoa e faʻatino, o le a suia le vave i le "#". O le fa'atonuga fa'atonu i faiga Mac o le "%", e pei ona fa'aogaina i le Vaega 4.2.3 Fa'apipi'i ESP-IDF i le Mac.
O le tino tusitusiga i lenei tusi o le a lolomi i le Charter, ae o le code examples, vaega, galuega, fesuiaiga, code file igoa, code directories, ma manoa o le a i totonu Courier New.
Poloaiga poʻo tusitusiga e manaʻomia ona tuʻuina atu e le tagata faʻaoga, ma poloaiga e mafai ona ulufale i le oomiina o le "Enter" ki o le a lolomiina i le Courier New Bold. O ogalaau ma fa'ailoga poloka o le a tu'uina atu i pusa lanumoana malamalama.
ExampLe:
Lona lua, fa'aaoga le esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py e fa'atupu ai le NVS partition binary file i luga o le atinaʻe talimalo ma le poloaiga lenei:
$ python $IDF PATH/ituaiga/nvs flash/nvs vaeluaga generator/nvs vaeluaga gen.py –input mass prod.csv –output mass prod.bin –size NVS PARTITION SIZE

Mataupu 1

Folasaga

ia

IoT

I le faaiuga o le 20th seneturi, faatasi ai ma le siʻitia o fesoʻotaʻiga komepiuta ma tekinolosi fesoʻotaʻiga, ua vave ona faʻapipiʻi Initaneti i olaga o tagata. A'o fa'aauau pea le fa'atuputeleina o tekonolosi tau Initaneti, na fanau mai ai le manatu ole Initaneti o Mea (IoT). O le mea moni, IoT o lona uiga o se Initaneti e fesoʻotaʻi ai mea. E ui o le uluai Initaneti e talepeina le tapulaʻa o le avanoa ma le taimi ma faʻaitiʻitia le mamao i le va o le "tagata ma le tagata", IoT faia "mea" o se vaega taua, aumaia "tagata" ma "mea" vavalalata faʻatasi. I le lumanaʻi vaʻaia, IoT ua faʻatulagaina e avea ma faʻamalosi malosi o le alamanuia faʻamatalaga.
O le a la le Initaneti o Mea?
E faigata ona fa'amalamalama sa'o le Initaneti o Mea, ona o lona uiga ma le lautele o lo'o fa'asolosolo pea. I le 1995, na muaʻi aumaia ai e Bill Gates le manatu o le IoT i lana tusi The Road Ahead. I se faaupuga faigofie, IoT e mafai ai e mea faitino ona fesuiai faʻamatalaga ma isi e ala ile Initaneti. O lona sini autu o le faʻavaeina o se "Initaneti o mea uma". O se faʻamatalaga vave lea o le IoT, faʻapea foʻi ma se mafaufauga o tekinolosi i le lumanaʻi. I le tolusefulu tausaga mulimuli ane, faatasi ai ma le televave o le atinaʻeina o le tamaoaiga ma tekinolosi, ua oʻo mai le faʻalavelave. Mai masini atamai, fale atamai, aai atamai, Initaneti o Taʻavale ma masini faʻaogaina, i le "metaverse" o loʻo lagolagoina e tekinolosi IoT, o loʻo faʻaalia pea manatu fou. I totonu o lenei mataupu, o le a tatou amata i se faʻamatalaga o le fausaga o Initaneti o Mea, ona faʻalauiloa atu lea o le faʻaoga masani a le IoT, le fale atamai, ina ia fesoasoani ia te oe e maua se malamalamaga manino o IoT.
1.1 Fausia o le IoT
Initaneti o Mea e aofia ai le tele o tekonolosi e eseese manaʻoga ma fomu i pisinisi eseese. Ina ia mafai ona faʻavasegaina le fausaga, tekinolosi autu ma uiga faʻaogaina o le IoT, e tatau ona faʻavaeina se fausaga faʻatasi ma se faiga faʻapitoa faʻapitoa. I totonu o lenei tusi, o le fausaga o le IoT ua naʻo le vaevaeina i ni vaega se fa: faʻaaliga & faʻatonuga, faʻapipiʻi fesoʻotaʻiga, laulau faʻavae, ma le faʻaogaina o le faʻaoga.
Fa'aaliga & Pulea Layer I le avea ai ma elemene sili ona taua o le fausaga o le IoT, o le vaaiga ma le fa'atonuga o le autu lea e iloa ai le lagona atoatoa o le IoT. O lana galuega autu o le aoina, iloa ma pulea faʻamatalaga. E aofia ai masini eseese ma le gafatia o le malamalama,
3

fa'ailoaina, pulea ma le fa'atinoina, ma e nafa ma le toe aumai ma le au'ili'ili o fa'amaumauga e pei o meafaitino, aga masani, ma tulaga o masini. I lenei auala, e iloa ai e IoT le lalolagi faaletino moni. E le gata i lea, e mafai foi e le laulau ona pulea le tulaga o le masini.
O masini sili ona taatele o lenei laulau o masini eseese, lea e taua tele i le aoina o faʻamatalaga ma faʻamaonia. O masini e pei o totoga fa'aletagata, e pei o masini fa'afofoga e tutusa ma le va'ai, masini fa'alogo i le fa'alogo, fa'alogo kasa e sogisogi, ma masini e fa'afefete ma le vevela ile pa'i. Faatasi ai ma nei "totoga faʻalogo" uma, o mea faitino e avea ma "ola" ma mafai ona malamalama lelei, faʻaalia ma faʻaogaina le lalolagi faaletino.
Network Layer O le galuega autu a le network layer o le tuʻuina atu lea o faʻamatalaga, e aofia ai faʻamatalaga na maua mai le vaaiga ma le faʻatonuina o le faʻatonuga i le faʻamoemoega faʻapitoa, faʻapea foʻi ma faʻatonuga e tuʻuina atu mai le faʻasologa o talosaga e toe foʻi i le faʻaaliga & faʻatonuga. E avea o se alalaupapa fesoʻotaʻiga taua e fesoʻotaʻi ai faʻavae eseese o le IoT system. Ina ia faʻatulagaina se faʻataʻitaʻiga autu o le Initaneti o Mea, e aofia ai laasaga e lua e tuʻufaʻatasia ai mea i totonu o se fesoʻotaʻiga: avanoa ile Initaneti ma faʻasalalauga ile Initaneti.
Avanoa ile Initoneti Initaneti e mafai ai ona feso'ota'i i le va o le tagata ma le tagata, ae le mafai ona fa'aofi mea i totonu o le aiga tele. Aʻo leʻi oʻo mai le IoT, o le tele o mea e leʻo "faʻaogaina fesoʻotaʻiga". Faʻafetai i le faʻaauau pea o le atinaʻeina o tekinolosi, IoT e faʻatautaia e faʻafesoʻotaʻi mea i luga ole Initaneti, ma iloa ai le fesoʻotaʻiga i le va o "tagata ma mea", ma "mea ma mea". E lua auala masani e fa'atino ai feso'ota'iga Initaneti: avanoa feso'ota'iga uaea ma feso'ota'iga uaealesi.
O auala fa'aoga feso'ota'iga uaea e aofia ai le Ethernet, feso'ota'iga fa'asologa (fa'ata'ita'iga, RS-232, RS-485) ma le USB, a'o fa'aogaina feso'ota'iga uaealesi e fa'alagolago i feso'ota'iga uaealesi, lea e mafai ona vaevaeina atili i feso'ota'iga uaealesi pupuu ma feso'ota'iga mamao mamao.
Feso'ota'iga uaealesi pupuu e aofia ai le ZigBee, Bluetoothr, Wi-Fi, Feso'ota'iga Latalata (NFC), ma le Fa'ailoaina o Fa'asalalauga Fa'asalalau (RFID). Feso'ota'iga uaealesi mamao e aofia ai Feso'ota'iga Tulaga Fa'aleleia o masini (eMTC), LoRa, Narrow Band Internet of Things (NB-IoT), 2G, 3G, 4G, 5G, ma isi.
Feso'ota'iga e ala ile Initaneti O auala 'ese'ese ole fa'aogaina ole Initaneti e ta'ita'i atu ile feso'ota'iga fa'aletino o fa'amaumauga. O le isi mea o le filifili lea po'o fea feso'ota'iga feso'ota'iga e fa'aoga e fa'asalalau ai fa'amaumauga. A fa'atusatusa i laina Initaneti, o le tele o IoT e la'ititi i le taimi nei
4 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

punaoa avanoa, e pei o le gaosiga o gaioiga, gafatia e teu ai, fua o fesoʻotaiga, ma isi, o lea e tatau ai ona filifili se fesoʻotaʻiga fesoʻotaʻiga e faʻaitiitia ai punaoa i talosaga IoT. E lua feso'ota'iga feso'ota'iga o lo'o fa'aaogaina lautele i aso nei: Fe'au Tu'i Telemetry Fela'uaiga (MQTT) ma Fa'agata Talosaga Protocol (CoAP).
Layer Layer Ole laiga fa'avae e fa'atatau ile IoT cloud platforms. A o'o ina feso'ota'i feso'otaiga uma a IoT, e mana'omia ona tu'ufa'atasia a latou fa'amaumauga i luga o se fa'atūlaga ao IoT e fuafua ma teu. O le fa'avae fa'avae e lagolago tele i talosaga a le IoT i le fa'afaigofieina o avanoa ma le puleaina o masini tetele. E fa'afeso'ota'i fa'amaufa'ailoga IoT i luga o le ao, aoina fa'amaumauga fa'amau, ma tu'uina atu fa'atonuga i fa'amau, ina ia fa'atino ai le fa'atonu mamao. I le avea ai o se 'auʻaunaga faʻapitoa e tuʻuina atu meafaigaluega i talosaga tau alamanuia, o le laulau faʻavae e taʻalo se sao faʻafesoʻotaʻi i le fausaga atoa o le IoT, o loʻo faʻauluina faʻamatalaga pisinisi faʻapitoa ma faʻataʻitaʻiga faʻataʻitaʻiga autu, lea e le gata ina mafai ona iloa vave le mauaina o masini, ae maua ai foi le malosi modular gafatia. e fa'amalieina mana'oga 'ese'ese i fa'ata'ita'iga fa'atatau o alamanuia. O le laulau fa'avae e masani ona aofia ai fa'aoga fa'atino e pei o le fa'aogaina o masini, pulega o masini, pulega o le puipuiga, feso'ota'iga fe'au, fa'agaioiga mata'ituina ma le tausiga, ma fa'amatalaga fa'amaumauga.
· Avanoa i le masini, iloa le fesoʻotaʻiga ma fesoʻotaʻiga i le va o faʻaupuga ma IoT cloud platforms.
· Puleaina o masini, e aofia ai galuega e pei o le fausiaina o masini, tausiga o masini, suiga o faʻamatalaga, faʻasologa o faʻamaumauga, ma le tufatufaina o masini.
· Pulea saogalemu, faʻamautinoaina le saogalemu o faʻamatalaga faʻamatalaga IoT mai vaʻaiga o le faʻamaoniga saogalemu ma le saogalemu o fesoʻotaʻiga.
· Fesoʻotaʻiga feʻau, e aofia ai faʻamatalaga faʻasalalau e tolu, o lona uiga, e tuʻuina atu e le laina faʻamatalaga i le IoT cloud platform, o le IoT cloud platform e tuʻuina atu faʻamatalaga i le itu o le server poʻo isi IoT cloud platforms, ma le itu server remotely pulea IoT masini.
· Mataʻituina o le O & M, e aofia ai le mataʻituina ma le suʻesuʻeina, faʻaleleia o le firmware, faʻapipiʻiina i luga ole laiga, tautua ogalaau, ma isi.
· Faʻamatalaga faʻamatalaga, e aofia ai le teuina, auiliiliga ma le faʻaogaina o faʻamaumauga.
Layer Layer E fa'aogaina e le fa'asologa o fa'amaumauga fa'amaumauga mai le laulau fa'avae e fa'atautaia ai le talosaga, fa'amama ma fa'agaoioia i meafaigaluega e pei o fa'amaumauga ma su'esu'ega polokalama. O faʻamaumauga e maua mai e mafai ona faʻaogaina mo talosaga a le IoT e pei o le soifua maloloina atamai, faʻatoʻaga atamai, fale atamai, ma taulaga atamai.
O le mea moni, o le fausaga o le IoT e mafai ona vaevaeina i le tele o laulau, ae tusa lava po o le a le tele o laulau e aofia ai, o le mataupu faavae e tumau pea le tutusa. Aoaoina
Mataupu 1. Folasaga ile IoT 5

e uiga i le fausaga o le IoT e fesoasoani e faʻalolotoina lo tatou malamalama i tekinolosi IoT ma fausia atoatoa galuega IoT poloketi.
1.2 Talosaga IoT i Fale Atamai
IoT ua ulu atu i soʻo se ituaiga o olaga, ma o le faʻaoga vavalalata IoT ia i matou o le fale atamai. O le tele o mea faigaluega masani ua faʻapipiʻiina nei i se tasi pe sili atu mea IoT, ma o le tele o fale fou ua mamanuina i tekinolosi IoT mai le amataga. Ata 1.1 o lo'o fa'aalia ai nisi o masini atamai fale masani.
Ata 1.1. Masini masani fale atamai O le atinaʻeina o fale atamai e mafai ona faʻavasegaina i oloa atamai stagu, va'aiga feso'ota'iga stagu ma le atamai stage, e pei ona faʻaalia i le Ata 1.2.
Ata 1.2. Atiina'e stage o le fale atamai 6 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

O le stage uiga i oloa atamai. E ese mai fale masani, i totonu o fale atamai, IoT masini e maua faʻailoga ma masini, ma fesoʻotaʻi e ala i fesoʻotaʻiga fesoʻotaʻiga e pei ole Wi-Fi, Bluetooth LE, ma ZigBee. E mafai e tagata faʻaoga ona pulea oloa atamai i ni auala eseese, e pei o telefoni feaveaʻi, fesoasoani leo, faʻatautaia atamai failauga, ma isi.tage taula'i i le va'aiga va'aiga. I lenei stagu, e le o toe mafaufau le au atinaʻe e pulea se oloa atamai se tasi, ae faʻafesoʻotaʻi lua pe sili atu oloa atamai, faʻautometi i se tulaga faʻapitoa, ma iu ai ina fausia se faʻataʻitaʻiga masani. Mo example, pe a oomi e le tagata faʻaoga soʻo se faʻamau faʻaaliga, o moli, pupuni, ma ea malulu o le a otometi lava ona faʻafetaui i seti. Ioe, o lo'o i ai le mana'oga muamua e fa'atutuina le feso'ota'iga feso'ota'iga, e aofia ai tulaga fa'aoso ma gaioiga fa'atino. Va'ai faalemafaufau o le faiga fa'amafanafana ea e fa'aosoina pe a pa'ū le vevela i totonu ole 10°C; i le 7 i le taeao, e taina musika e fafagu ai le tagata faʻaoga, tatala pupuni atamai, ma le kuka araisa poʻo le falaoa falaoa e amata i se socket atamai; a o tu i luga le tagata faʻaoga ma faʻauma le fufulu, ua uma ona tuʻuina le taeao, ina ia leai se tuai e alu i le galuega. Ko oko eiloa i te faigofie o ‵tou olaga! O le lona tolu stage alu i le atamai stagu. A'o maua le tele o masini atamai ile fale, e fa'apea fo'i ituaiga fa'amaumauga e maua. Faatasi ai ma le fesoasoani a le cloud computing, tele faʻamatalaga ma le atamai faʻapitoa, e pei o se "faiʻai atamai" ua totoina i totonu o fale atamai, lea e le toe manaʻomia ai ni faʻatonuga masani mai le tagata faʻaoga. Latou te aoina mai faʻamatalaga mai fegalegaleaiga muamua ma aʻoaʻoina amioga a le tagata faʻaoga ma mea e fiafia i ai, ina ia otometi ai gaioiga, e aofia ai le tuʻuina atu o fautuaga mo le faia o filifiliga. I le taimi nei, o le tele o fale atamai o loʻo i le vaaiga fesoʻotaʻiga stagu. A'o fa'atupula'ia le fua fa'atatau ma le atamai o oloa atamai, ua fa'ate'a'eseina pa puipui i le va o feso'ota'iga. I le lumanaʻi, o fale atamai e tatau ona avea ma "atamai", pei o le AI system Jarvis i Iron Man, lea e le gata e mafai ona fesoasoani i le tagata faʻaoga e pulea masini eseese, faʻatautaia mataupu i aso uma, ae e iai foʻi le mana faʻapitoa ma le mafaufau. I le atamai stagu, o le a maua e tagata soifua auaunaga sili atu i le tele ma le lelei.
Mataupu 1. Folasaga ile IoT 7

8 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

Mataupu Folasaga ma Fa'ata'ita'iga o 2 IoT Poloketi
I le Mataupu 1, na matou faʻalauiloaina le fausaga o le IoT, ma matafaioi ma fesoʻotaʻiga o le vaʻaiga ma le faʻatonuga, faʻapipiʻi fesoʻotaʻiga, laulau faʻavae, ma le faʻaogaina o le faʻaoga, faʻapea foʻi ma le atinaʻeina o fale atamai. Ae ui i lea, e pei lava o le taimi tatou te aʻoaʻo ai e vali, o le iloa o le malamalama faʻapitoa e le lava. E tatau ona "fa'aeleelea o tatou lima" e fa'atino ai galuega a le IoT ina ia mafai ai ona fa'atautaia le tekonolosi. E le gata i lea, pe a alu se poloketi i le gaosiga tele stagu, e tatau ona mafaufau i nisi mea e pei o fesoʻotaʻiga fesoʻotaʻiga, faʻatulagaina, fesoʻotaʻiga i luga o le ao o IoT, pulega faʻapitoa ma faʻafouga, pulega o gaosiga tele, ma le faʻaogaina o le puipuiga. O lea la, o le a le mea e tatau ona tatou faʻalogo i ai pe a atiaʻe se poloketi IoT atoatoa? I le Mataupu 1, na matou taʻua ai o le fale atamai o se tasi lea o faʻataʻitaʻiga masani a le IoT, ma o moli atamai o se tasi lea o mea faʻapitoa ma aoga, lea e mafai ona faʻaaogaina i fale, faletalimalo, gyms, falemaʻi, ma isi. O lenei tusi, o le a tatou faia le fausiaina o se poloketi malamalama atamai e avea ma amataga, faʻamatala ona vaega ma foliga, ma tuʻuina atu taʻiala i le atinaʻeina o galuega. Matou te faʻamoemoe e mafai ona e faia ni faʻamatalaga mai lenei mataupu e fausia ai nisi faʻaoga IoT.
2.1 Folasaga i Poloketi masani IoT
I tulaga o le atinaʻe, o faʻavae faʻaogaina o poloketi a IoT e mafai ona faʻavasegaina i polokalama faakomepiuta ma meafaigaluega faʻapipiʻi o masini IoT, atinaʻeina o talosaga a tagata, ma le atinaʻeina o tulaga o le ao o IoT. E taua tele le faʻamalamalamaina o faʻaoga faʻavae autu, lea o le a faʻamatalaina atili i lenei vaega.
2.1.1 Fa'avae Fa'avae mo Meafaigaluega masani IoT
O le atina'eina o polokalame ma meafaigaluega o masini IoT e aofia ai vaega fa'avae nei: Aoina o fa'amaumauga
I le tulaga pito i lalo ole fausaga o le IoT, o masini IoT ole va'aiga ma le fa'atonuga e feso'ota'i masini ma masini e ala ia latou meataalo ma peripheral e ausia ai le aoina o fa'amaumauga ma le fa'atonutonuina o galuega.
9

Fa'amauina o fa'amaumauga ma fa'asologa muamua Mo le tele o masini IoT, fa'amauina fa'amatalaga ma fa'atulaga muamua e fa'amae'aina i le tasi fa'agaioiga fa'agaioiga, mo le taimi muamua.ample, faʻafesoʻotaʻi masini ma tagata faʻaoga e ala i le faʻatulagaina o fesoʻotaiga Wi-Fi.
Fegalegaleaiga ma IoT cloud platforms Ina ia mataʻituina ma pulea masini IoT, e tatau foi ona faʻafesoʻotaʻi i latou ile IoT cloud platforms, ina ia tuʻuina atu faʻatonuga ma lipoti tulaga e ala i fegalegaleaiga i le va o le tasi ma le isi.
Pulea masini Pe a feso'ota'i ma IoT cloud platforms, e mafai ona feso'ota'i masini ma le ao ma fa'amauina, fusifusia, pe pulea. E mafai e tagata fa'aoga ona fesiligia le tulaga o oloa ma fa'atino isi gaioiga i luga o le telefoni feavea'i e ala ile IoT cloud platforms po'o feso'ota'iga fa'apitonu'u.
Faʻaleleia le faʻaleleia o masini IoT e mafai foi ona ausia le faʻaleleia o le firmware e faʻatatau i manaʻoga o tagata gaosi oloa. E ala i le mauaina o faʻatonuga na lafoina e le ao, faʻaleleia le firmware ma le pulega faʻasologa o le a iloa. Faatasi ai ma lenei faʻaleleia o le firmware, e mafai ona e faʻaauau pea ona faʻaleleia galuega a masini IoT, faʻaleleia mea faʻaletonu, ma faʻaleleia le poto masani o tagata.
2.1.2 Modules Autu o Talosaga Client
O talosaga a le aufaipisinisi (fa'ata'ita'iga, telefoni feavea'i) e masani ona aofia ai vaega autu nei:
Faiga fa'akomepiuta ma fa'atagaga E lagolagoina le fa'atagaina o fa'amatalaga ma masini.
Pulea masini O polokalame telefoni feavea'i e masani ona fa'apipi'iina i galuega fa'atonutonu. E faigofie ona faʻafesoʻotaʻi e tagata faʻaoga i masini IoT, ma faʻatautaia i soʻo se taimi, i soʻo se mea e ala i telefoni feaveaʻi. I totonu o se fale atamai i le lalolagi moni, o masini e tele lava ina pulea e ala i telefoni feaveaʻi, e le gata ina mafai ai ona faʻatautaia le atamai o masini, ae faʻasaoina foi le tau o tagata faigaluega. O le mea lea, o le pulea o masini o se mea tatau mo talosaga a tagata o tausia, e pei o le pulea o uiga o le masini, pulea vaaiga, faʻatulagaina, mamao mamao, fesoʻotaʻiga masini, ma isi. , ma isi mea, ina ia faafaigofie ma faigofie ai le olaga faaleaiga. E mafai ona latou fa'atulagaina le ea malulu, tape mamao, fa'apipi'i otometi le moli o le alatele pe a tatala le faitoto'a, pe fesuia'i i le "ta'aloga" fa'atasi ma le tasi fa'amau.
Fa'asilasilaga Fa'amatalaga Client e fa'afou le tulaga moni o masini IoT, ma auina atu fa'aaliga pe a fa'aletonu masini.
10 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

Ina ua mae'a le fa'atau atu auaunaga fa'atau telefoni feavea'i e mafai ona tu'uina atu auaunaga pe a uma ona fa'atau atu mo oloa, e fo'ia ai fa'afitauli e feso'ota'i ma fa'aletonu masini IoT ma fa'agaioiga fa'atekinisi i se taimi talafeagai.
Galuega fa'apitoa Ina ia fa'amalieina mana'oga o tagata fa'aoga eseese, e mafai ona fa'aopoopo isi galuega, e pei o le Shake, NFC, GPS, ma isi. GPS e mafai ona fesoasoani e fa'atulaga le sa'o o fa'atinoga o vaaiga e tusa ai ma le nofoaga ma le mamao, ae o le galuega Fa'alulu e mafai ai e tagata fa'aoga ona fa'atulaga le poloa'iga e fa'atino mo masini fa'apitoa po'o se vaaiga e ala ile lulu.
2.1.3 Fa'atomuaga ile IoT Cloud Platforms masani
IoT cloud platform o se faʻavae uma-i-tasi lea e tuʻufaʻatasia galuega e pei o le puleaina o masini, fesoʻotaʻiga saogalemu o faʻamatalaga, ma le faʻasalalauga faʻasalalauga. E tusa ai ma la latou vaega faʻatatau ma avanoa, IoT cloud platforms e mafai ona vaevaeina i tulaga lautele IoT cloud platforms (o loʻo taʻua mulimuli ane o le "public cloud") ma tulaga tumaoti IoT cloud platforms (o loʻo taʻua mulimuli ane o le "private cloud").
O le ao lautele e masani ona faʻaalia le faʻasoa IoT cloud platforms mo atinaʻe poʻo tagata taʻitoʻatasi, faʻatautaia ma tausia e kamupani tuʻufaʻatasia, ma faʻasoa i luga ole Initaneti. E mafai ona maua fua pe maualalo tau, ma tuʻuina atu auaunaga i luga o fesoʻotaʻiga lautele lautele, e pei o Alibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT, ma isi. tagata fa'au'uga pito i lalo e fa'atupu se filifili fou fa'atau ma fa'anatura.
Private cloud ua fausia mo na'o le fa'aogaina o atina'e, ma fa'amautinoa ai le pulea lelei o fa'amaumauga, saogalemu, ma le lelei o auaunaga. O ana 'au'aunaga ma atina'e o lo'o tausia fa'apitoa e atina'e, ma o meafaigaluega lagolago ma polokalama fa'apitoa e tu'ufa'atasia mo tagata fa'apitoa. E mafai e pisinisi ona fa'avasega auaunaga ao e fa'afetaui mana'oga o latou pisinisi. I le taimi nei, o nisi o fale gaosi fale atamai ua uma ona maua ni faʻasalalauga tutoʻatasi IoT cloud platforms ma atinaʻe faʻaoga atamai fale e faʻavae i luga.
O le ao lautele ma le ao tumaoti e iai a latou lava advantages, lea o le a faamatalaina mulimuli ane.
Ina ia ausia le fesoʻotaʻiga fesoʻotaʻiga, e manaʻomia le faʻamaeʻaina o atinaʻe faʻapipiʻi i luga o le itu o le masini, faʻatasi ai ma pisinisi pisinisi, IoT cloud platforms, ma telefoni feaveaʻi. O le feagai ai ma sea galuega tele, o le ao lautele e masani lava ona tuʻuina atu pusa atinaʻe polokalame mo masini-itu ma telefoni feaveaʻi e faʻavave ai le faagasologa. O ao lautele ma tagata tumaoti e tuʻuina atu auaunaga e aofia ai le faʻaogaina o masini, pulega o masini, ata o masini, ma le faʻaogaina ma le tausiga.
E mana'omia le fa'aogaina o masini IoT cloud platforms e le gata o feso'ota'iga mo le fa'aogaina o masini e fa'aoga ai fa'amaumauga
Vaega 2. Fa'atomuaga ma Fa'ata'ita'iga o Poloketi IoT 11

pei ole MQTT, CoAP, HTTPS, ma WebSocket, ae faʻapea foʻi ma le faʻaogaina o le faʻamaoniga o le saogalemu o masini e poloka ai masini faʻatau ma faʻatulafonoina, faʻaitiitia lelei le lamatiaga o le faʻafefe. O lea faʻamaoniga e masani ona lagolagoina auala eseese, o lea pe a faʻapipiʻiina masini, e tatau ona muaʻi tuʻuina atu le tusi faamaonia masini e tusa ai ma le masini faʻamaonia filifilia ma susunuina i totonu o masini.
Puleaina o masini O le faʻaogaina o masini e tuʻuina atu e IoT cloud platforms e le gata e mafai ona fesoasoani i tagata gaosi oloa e mataʻituina le faʻagaioiina o le tulaga ma le tulaga i luga ole laiga o latou masini i le taimi moni, ae faʻatagaina foi filifiliga e pei o le faʻaopoopo / aveese masini, toe maua, faʻaopoopo / tape vaega, faʻaleleia firmware. , ma le pulega fa'aliliuga.
Ata o masini IoT ao fa'avae e mafai ona fa'atupuina ai se fa'ata'ita'iga fa'akomepiuta (ataata o masini) mo masini ta'itasi, ma o le tulaga o le ata lafoia e mafai ona fa'amaopoopo ma maua mai i telefoni po'o isi masini e ala i fa'asalalauga fa'ainitaneti. O ata lafoia o masini e teu ai le tulaga lata mai ua lipotia ma tulaga faʻamoemoeina o masini taʻitasi, ma e tusa lava pe leai se initaneti, e mafai lava ona maua le tulaga e ala i le valaʻau API. O ata o masini e maua ai API i taimi uma, lea e faigofie ai ona fausia ni telefoni feaveaʻi e fegalegaleai ma masini.
Fa'agaioiina ma le tausiga Ole galuega ole O&M e aofia ai vaega e tolu: · Fa'aalia fa'amatalaga fa'afuainumera e uiga i masini IoT ma fa'amatalaga. · Fa'atonuga o fa'amaumauga e mafai ai ona toe maua mai fa'amatalaga e uiga i le amio a le masini, luga / lalo fe'au fe'au, ma fa'amatalaga savali. · Fa'apipi'i masini e lagolagoina le tu'uina atu o fa'atonuga, fa'afouga fa'afou, ma le siakiina o feso'ota'iga i le va o fa'atūlaga ao IoT ma fe'au masini.
2.2 Faataitai: Poloketi Malamalama Atamai
A maeʻa le faʻamatalaga faʻapitoa i mataupu taʻitasi, o le ae mauaina se vaega faʻataʻitaʻiga e fesoʻotaʻi ma le Poloketi Smart Light e fesoasoani ia te oe e maua ai le poto masani. O le poloketi e faʻavae i luga ole ESP32-C3 chip ma ESP RainMaker IoT Cloud Platform, ma faʻapipiʻi masini faʻapipiʻi uaealesi i oloa malamalama atamai, faʻapipiʻi polokalame mo masini atamai e faʻavae ile ESP32C3, telefoni feaveaʻi, ma le ESP RainMaker fegalegaleaiga.
Source code Mo le fa'aleleia atili o le a'oa'oina ma le atina'eina o le poto masani, o le poloketi o lo'o i totonu o lenei tusi ua fa'aavanoaina. E mafai ona e siiina mai le code source mai le matou GitHub faleoloa i https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

2.2.1 Fa'atulagaina o Poloketi
O le Poloketi Smart Light e tolu vaega: i. O masini malamalama atamai e faʻavae i luga o le ESP32-C3, e nafa ma le fegalegaleai ma IoT cloud platforms, ma le puleaina o le ki, susulu ma le vevela lanu o le LED l.amp pulu. ii. Polokalama telefoni feaveai (e aofia ai polokalama papalama o loʻo taʻavale i luga o le Android ma iOS), e nafa ma le faʻatulagaina o fesoʻotaʻiga o oloa malamalama atamai, faʻapea foʻi ma le fesiligia ma le puleaina o latou tulaga.
iii. Ole IoT cloud platform fa'avae ile ESP RainMaker. Mo le faʻafaigofie, matou te mafaufau i le IoT cloud platform ma pisinisi pisinisi atoa i lenei tusi. O fa'amatalaga e uiga i le ESP RainMaker o le a tu'uina atu ile Mataupu 3.
O fesoʻotaʻiga i le va o le Smart Light project structure ma le fausaga o le IoT o loʻo faʻaalia i le Ata 2.1.
Ata 2.1. Fa'atulagaina o galuega malamalama malamalama
2.2.2 Galuega Fa'atino
Vaevaeina e tusa ai ma le fausaga, o galuega a vaega taʻitasi e faʻapea. Masini malamalama atamai
· Fesootaiga fesoʻotaʻiga ma fesoʻotaʻiga. · Pulea o le PWM LED, e pei o le ki, susulu, vevela lanu, ma isi. · Otometi po'o le vaaiga, eg, suiga taimi. · Fa'ailoga ma le fa'amaufa'ailoga o le Flash. · Faʻaleleia le firmware ma le faʻatonutonuina o faʻamatalaga.
Vaega 2. Fa'atomuaga ma Fa'ata'ita'iga o Poloketi IoT 13

Fa'aoga telefoni feavea'i · Feso'ota'iga feso'ota'iga ma le fusia o masini. · Faʻatonuga o oloa moli atamai, e pei o le ki, susulu, vevela lanu, ma isi. · Faʻatonuina poʻo le faʻatulagaina o vaaiga, faʻataʻitaʻiga, suiga taimi. · Fa'alotoifale/mamao. · Le resitalaina o tagata, faʻaoga, ma isi.
ESP RainMaker IoT cloud platform · Fa'ataga le avanoa i masini IoT. · Tuuina atu API fa'aoga masini e mafai ona maua i polokalama telefoni. · Faʻaleleia le firmware ma le faʻatonutonuina o faʻamatalaga.
2.2.3 Sauniuniga Meafaigaluega
Afai e te manaʻo e faʻatino le poloketi, e te manaʻomia foʻi meafaigaluega nei: moli atamai, smartphones, Wi-Fi routers, ma se komepiuta e fetaui ma manaʻoga faʻapipiʻi o le siosiomaga atinaʻe. Molī atamai
O moli atamai o se ituaiga fou o matauila, o lona foliga e tutusa ma le matauila lautele. O se moli atamai e aofia ai le capacitor step-down fa'atulafonoina sapalai eletise, module uaealesi (ma fausia-i totonu ESP32-C3), faʻatonutonu LED ma RGB LED matrix. A faʻafesoʻotaʻi i le mana, o le 15 V DC voltagu galuega faatino pe a uma le capacitor step-down, diode rectification, ma tulafono faatonutonu e maua ai le malosi i le LED pule ma le matrix LED. E mafai e le pule o le LED ona otometi lava ona auina atu tulaga maualuga ma maualalo i nisi taimi, fesuiai le RGB LED matrix i le va o tapuni (moila) ma tatala (momoli), ina ia mafai ona tuʻuina atu le cyan, samasama, lanumeamata, lanu viole, lanumoana, mumu, ma malamalama paepae. O le module uaealesi e nafa ma le faʻafesoʻotaʻi i le Wi-Fi router, mauaina ma lipotia le tulaga o moli atamai, ma le auina atu o poloaiga e pulea le LED.
Ata 2.2. Se moli atamai fa'atusa
I le amataga o atinae stage, e mafai ona e fa'atusaina se malamalama atamai e fa'aaoga ai le laupapa ESP32-C3DevKitM-1 e feso'ota'i ma le RGB LED lamp pulu (silasila i le Ata 2.2). Ae e tatau ona e
14 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

ia maitauina e le na o le pau lea o le auala e faʻapipiʻi ai se moli atamai. O le mamanu o meafaigaluega o le poloketi i totonu o lenei tusi o loʻo i ai naʻo se module uaealesi (faʻatasi ai ma le ESP32-C3 faʻapipiʻi), ae le o se mamanu atoatoa o meafaigaluega malamalama malamalama. E le gata i lea, o loʻo tuʻuina atu foʻi e ESP32-C3 le ESP32-C3-based audio development board ESP2.3C32-Lyra mo le faʻatonutonuina o moli ma le leo. O le laupapa e iai feso'ota'iga mo masini faaleotele leo ma sipika ma e mafai ona pulea ta'iala LED. E mafai ona fa'aoga mo le atina'eina o fa'asalalauga fa'alogo leo e sili ona maualalo, ma fati moli. Ata 3 o lo'o fa'aalia ai se laupapa ESP40-CXNUMXLyra e feso'ota'i ma se fasi moli e XNUMX LED.
Ata 2.3. ESP32-C3-Lyra feso'ota'i ma se fasi moli 40 LED
Smartphones (Android/iOS) O le Poloketi Smart Light e aofia ai le atinaʻeina o se telefoni feaveaʻi mo le faʻatulagaina ma le faʻatonutonuina o oloa moli atamai.
Wi-Fi routers Wi-Fi routers fa'aliliuina fa'ailoga feso'ota'iga uaea ma fa'ailo feso'ota'iga fe'avea'i i fa'ailo feso'ota'iga uaealesi, mo komepiuta, smartphones, tablets, ma isi masini uaealesi e feso'ota'i i le feso'ota'iga. Mo example, broadband i totonu o le fale e na o le manaʻomia ona faʻafesoʻotaʻi i se alalaupapa Wi-Fi e ausia ai fesoʻotaʻiga uaealesi o masini Wi-Fi. O le fa'ata'ita'iga fa'apitoa e lagolagoina e alalaupapa Wi-Fi o le IEEE 802.11n, fa'atasi ai ma le TxRate o le 300 Mbps, po'o le 600 Mbps i le maualuga. E fetaui i tua ma le IEEE 802.11b ma le IEEE 802.11g. O le ESP32-C3 chip e Espressif e lagolagoina le IEEE 802.11b/g/n, o lea e mafai ai ona e filifilia se alalaupapa Wi-Fi e tasi-band (2.4 GHz) poʻo le lua-band (2.4 GHz ma 5 GHz).
O se komipiuta (Linux/macOS/Windows) Atina'e siosiomaga ole a fa'alauiloa ile Mataupu 4. Mataupu 2. Fa'atomuaga ma Fa'ata'ita'iga ole IoT Projects 15

2.2.4 Fa'agasologa o Atina'e
Ata 2.4. Laasaga ole atina'eina ole Poloketi Smart Light
Fuafuaga o meafaigaluega Fa'ailoga masini o masini IoT e taua tele i se poloketi IoT. O se poloketi malamalama atamai atoatoa ua faamoemoe e maua ai se lamp galue i lalo o sapalai autu. Eseese gaosi oloa gaosia lamps o sitaili eseese ma ituaiga avetaavale, ae o latou modules uaealesi e masani lava o le galuega tutusa. Ina ia faʻafaigofie le faʻagasologa o le atinaʻeina o le Smart Ligh project, o lenei tusi e naʻo le faʻaogaina o meafaigaluega ma le atinaʻeina o masini komepiuta o modules uaealesi.
IoT cloud platform configurations Mo le faʻaogaina o le IoT cloud platforms, e tatau ona e faʻatulagaina galuega i luga o le pito i tua, e pei o le fatuina o oloa, fatuina o masini, faʻatulagaina o mea tau masini, ma isi.
Faʻapipiʻiina polokalame faʻapipiʻi mo masini IoT Faʻatino galuega faʻamoemoeina ma le ESP-IDF, SDK itu-ituaiga a Espressif, e aofia ai le faʻafesoʻotaʻi i le IoT cloud platforms, atinaʻeina o avetaavale LED, ma le faʻaleleia o le firmware.
Atina'e telefoni feavea'i Atiae polokalama telefonipoto mo Android ma iOS faiga e iloa ai le resitalaina o tagata ma saini, pulea masini ma isi galuega.
IoT masini optimization A maeʻa le atinaʻeina autu o galuega a le IoT masini, e mafai ona e liliu atu i galuega faʻapitoa, e pei o le faʻaogaina o le eletise.
Fa'ata'ita'iga o le gaosiga fa'atele Fa'atino su'ega fa'atosina tele e tusa ai ma fa'ata'ita'iga fa'atatau, e pei o su'ega o mea faigaluega, su'ega matua, su'ega RF, ma isi.
E ui lava i laʻasaga o loʻo lisi atu i luga, o le Smart Light project e leʻo faʻatatau i ia faʻatonuga aua e mafai foi ona faia galuega eseese i le taimi e tasi. Mo example, fa'apipi'i polokalame ma telefonipoto e mafai ona atia'e fa'atasi. O nisi laʻasaga atonu e manaʻomia foi ona toe fai, pei ole IoT masini suʻesuʻe ma faʻataʻitaʻiga tele.
16 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

2.3 Aotelega
I totonu o lenei mataupu, na matou faʻamatalaina muamua vaega autu ma faʻaoga faʻaogaina o se poloketi IoT, ona faʻaalia ai lea o le Smart Light case mo le faʻataʻitaʻiga, faʻasino i lona fausaga, galuega, sauniuniga meafaigaluega, ma le faʻagasologa o atinaʻe. E mafai e le au faitau ona maua ni faʻamatalaga mai le faʻataʻitaʻiga ma faʻamaonia le faʻatinoina o poloketi IoT ma ni mea sese laiti i le lumanaʻi.
Vaega 2. Fa'atomuaga ma Fa'ata'ita'iga o Poloketi IoT 17

18 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

Mataupu 3

Folasaga

ia

ESP

RainMaker

Le Initaneti o Mea (IoT) e ofoina atu avanoa e le gata e suia ai le auala e ola ai tagata, ae o le atinaʻeina o le inisinia IoT e tumu i luitau. Faatasi ai ma ao lautele, e mafai e tagata gaosi oloa ona faʻatinoina galuega faʻatino e ala i fofo nei:
Fa'avae i luga o fa'aputuga ao tu'uina atu fofo I lenei auala, na'o le mana'omia e le au gaosi oloa e mamanuina meafaigaluega o oloa, ona fa'afeso'ota'i lea o meafaigaluega i le ao e fa'aaoga ai le module feso'ota'iga tu'uina atu, ma fa'atulaga galuega o oloa e mulimuli i ta'iala. Ole auala lelei lea talu ai e faʻaumatia ai le manaʻoga mo le atinaʻeina o le itu-aumau ma le itu-faʻaoga ma le faʻaogaina ma le tausiga (O&M). E mafai ai e le au gaosi oloa ona taulaʻi i le mamanu o meafaigaluega e aunoa ma le mafaufau i le faʻatinoina o ao. Ae ui i lea, o ia fofo (faʻataʻitaʻiga, masini firmware ma App) e masani lava e le o faʻamatalaga tatala, o lea o le a faʻatapulaʻaina galuega o oloa e le faʻapipiʻiina o le ao e le mafai ona faʻatulagaina. I le taimi nei, o le tagata faʻaoga ma faʻamatalaga masini e iai foi i luga o le ao.
Faʻavae i luga o oloa ao I lenei fofo, pe a maeʻa le mamanu o meafaigaluega, e le gata ina manaʻomia e le au gaosi oloa le faʻatinoina o galuega ao faʻaaogaina se tasi pe sili atu oloa ao saunia e le ao lautele, ae e manaʻomia foi ona faʻafesoʻotaʻi meafaigaluega ma le ao. Mo example, e faʻafesoʻotaʻi i le Amazon Web Au'aunaga (AWS), e mana'omia e le au gaosi oloa ona fa'aogaina oloa AWS e pei ole Amazon API Gateway, AWS IoT Core, ma le AWS Lambda e mafai ai ona maua le masini, fa'atonu mamao, teuina o fa'amaumauga, pulega fa'aoga, ma isi galuega fa'avae. E le gata ina fai atu i le au gaosi oloa ina ia fetuutuunai le faʻaogaina ma le faʻaogaina o oloa ao ma le loloto o le malamalama ma le poto masani, ae e manaʻomia foi latou e mafaufau i le fausiaina ma le tausiga o tau mo le amataga ma mulimuli ane.tagO lo'o tula'i mai ai ni lu'itau tetele i le malosi ma le tamaoaiga a le kamupani.
Pe a faʻatusatusa i ao lautele, o ao tumaoti e masani ona fausia mo galuega faʻapitoa ma oloa. O lo'o tu'uina atu i le au fa'atupuina o ao tuma'oti le tulaga maualuga o le sa'olotoga i fa'ata'ita'iga fa'akomepiuta ma fa'atinoga fa'atatau pisinisi. E mafai e le au gaosi oloa ona faia ni oloa ma mamanu mamanu i le loto, ma faigofie ona tuʻufaʻatasia ma faʻamalosia faʻamaumauga a tagata faʻaoga. Faʻatasia le maualuga o le saogalemu, faʻalauteleina ma le faʻatuatuaina o le ao lautele ma le advantages a private cloud, fa'alauiloa ESP
19

RainMaker, o se vaifofo ao tuʻufaʻatasia loloto faʻavae e faʻavae i luga o le ao Amazon. E mafai e tagata faʻaoga ona faʻapipiʻi le ESP RainMaker ma fausia le ao faʻapitoa i se faʻamatalaga AWS.
3.1 O le a le ESP RainMaker?
ESP RainMaker ose fa'avae AIoT atoatoa ua fausia i le tele o oloa AWS matutua. E tuʻuina atu auaunaga eseese e manaʻomia mo le tele o gaosiga e pei o le faʻaogaina o le ao, faʻaleleia o masini, pulega i tua, faʻaoga lona tolu, tuʻufaʻatasia leo, ma le pulega o tagata. I le fa'aogaina o le Serverless Application Repository (SAR) na saunia e le AWS, e mafai ona vave fa'aogaina e le au gaosi oloa le ESP RainMaker i a latou fa'amatalaga AWS, lea e fa'aogaina le taimi ma faigofie ona fa'agaoioia. Puleaina ma tausia e Espressif, o le SAR faʻaaogaina e le ESP RainMaker e fesoasoani i le au atinaʻe e faʻaitiitia le tau o le tausiga o ao ma faʻavaveina le atinaʻeina o oloa AIoT, faʻapea ona fausia ai le saogalemu, mautu, ma faʻapitoa AIoT fofo. Ata 3.1 o lo'o fa'aalia ai le fausaga o le ESP RainMaker.
Ata 3.1. Fausia o le ESP RainMaker
O le ESP RainMaker public server a Espressif e leai se totogi mo i latou uma e fiafia i ai le ESP, fai, ma faiaoga mo su'esu'ega fofo. E mafai e tagata atiaʻe ona faʻaoga faʻatasi ma Apple, Google, poʻo GitHub faʻamatalaga, ma vave fausia a latou lava faʻataʻitaʻiga talosaga IoT. O lo'o tu'ufa'atasia e le 'au'aunaga lautele le Alexa ma le Google Home, ma tu'uina atu auaunaga fa'atonutonu leo, lea e lagolagoina e Alexa Skill ma Google Actions. O lona fa'aogaina fa'asinomaga e fa'amalosia fo'i e isi vaega. RainMaker IoT masini na'o le tali atu i gaioiga fa'apitoa. Mo se lisi mae'ae'a o fa'atonuga leo lagolago, fa'amolemole siaki le fa'avae vaega lona tolu. E le gata i lea, e ofoina atu e Espressif se RainMaker App mo tagata faʻaoga e pulea oloa e ala i telefoni feaveaʻi. 20 ESP32-C3 Fefa'ataua'iga uaealesi: Ose Ta'iala Atoa ile IoT

3.2 Le Fa'atinoina o le ESP RainMaker
E pei ona fa'aalia i le Ata 3.2, ESP RainMaker o lo'o iai vaega e fa: · Talosaga Auaunaga, e mafai ai e masini RainMaker ona maua fa'amalosi tusi pasi. · RainMaker Cloud (faʻapitoa foʻi o le backend cloud), tuʻuina atu auaunaga e pei o le faʻamamaina o feʻau, pulega faʻaoga, teuina o faʻamaumauga, ma tuʻufaʻatasiga lona tolu. · RainMaker Agent, e mafai ai e masini RainMaker ona faʻafesoʻotaʻi i RainMaker Cloud. · RainMaker Client (RainMaker App poʻo CLI scripts), mo le tuʻuina atu, faʻaogaina o tagata, faʻafesoʻotaʻi masini ma le pulea, ma isi.
Ata 3.2. Fa'atulagaina o le ESP RainMaker
ESP RainMaker e tu'uina atu se seti atoa o meafaigaluega mo le atina'eina o oloa ma le tele o gaosiga, e aofia ai: RainMaker SDK
RainMaker SDK e fa'avae i luga ole ESP-IDF ma tu'uina atu le fa'ailoga fa'apogai ole sui o le itu-masini ma feso'ota'iga C APIs mo le atina'eina o firmware. E manaʻomia e le au atiaʻe le tusi o le faʻaogaina o le talosaga ma tuʻu le vaega o totoe i le RainMaker framework. Mo nisi fa'amatalaga e uiga i C API, fa'amolemole asiasi https://bookc3.espressif.com/rm/c-api-reference. RainMaker App O le fa'asalalauga lautele o le RainMaker App e mafai ai e tagata atia'e ona fa'atumu le tu'uina atu o masini, ma fa'atonutonu ma fesiligia le tulaga o masini (fa'ata'ita'iga, oloa moli atamai). O lo'o maua ile iOS ma le Android app stores. Mo nisi fa'amatalaga, fa'amolemole va'ai i le Mataupu 10. REST APIs REST API e fesoasoani i tagata fa'aoga e fausia a latou lava tusi talosaga e pei o le RainMaker App. Mo nisi faʻamatalaga, faʻamolemole asiasi https://swaggerapis.rainmaker.espressif.com/.
Mataupu 3. Folasaga ile ESP RainMaker 21

Python API O le Python-based CLI, lea e sau ma le RainMaker SDK, ua tuʻuina atu e faʻatino galuega uma e tutusa ma foliga telefoni. Mo nisi faʻamatalaga e uiga i Python API, faʻamolemole asiasi https://bookc3.espressif.com/rm/python-api-reference.
Admin CLI Admin CLI, faʻatasi ai ma le maualuga maualuga o avanoa, ua tuʻuina atu mo le ESP RainMaker faʻapipiʻi faʻapitoa e gaosia ai tusi faamaonia masini i le tele.
3.2.1 Talosaga Auaunaga
O feso'ota'iga uma i le va o masini RainMaker ma le ao i tua o lo'o fa'atinoina ile MQTT+TLS. I le tulaga o le ESP RainMaker, "Talosaga" o le faagasologa lea e maua ai e masini tusi faamaonia mai le Talosaga Auaunaga e faʻafesoʻotaʻi i tua o le ao. Manatua o le Talosaga Auaunaga e na'o le auaunaga a le RainMaker a le lautele, ae mo le fa'apipi'iina e le tagata lava ia, e mana'omia le fa'atupu tele o tusi pasi e ala i le Admin CLI. E lagolagoina e le ESP RainMaker ituaiga e tolu o Auaunaga Talosaga: Talosaga a le Tagata Lava Ia
O le masini lava ia e aumai tusi faamaonia e ala i se ki faalilolilo na muaʻi faʻapipiʻiina i le eFuse pe a uma ona fesoʻotaʻi i le Initaneti. Host Driven Claiming O tusi pasi e maua mai le atina'e talimalo ma le RainMaker account. Talosaga Fesoasoani O tusi pasi e maua mai i telefoni feavea'i a'o tu'uina atu.
3.2.2 Sui Su'esu'e RainMaker
Ata 3.3. Fa'atonuga o le RainMaker SDK O le galuega autu a le RainMaker Agent o le tu'uina atu lea o feso'ota'iga ma fesoasoani i le vaega o talosaga e fa'agasolo ai fa'amaumauga o le ao i luga/lalo. Ua fausia e ala i le RainMaker SDK 22 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

ma atiae e faavae i luga o le ESP-IDF auivi faamaonia, e faaaoga ai vaega ESP-IDF e pei ole RTOS, NVS, ma le MQTT. Ata 3.3 o lo'o fa'aalia ai le fausaga o le RainMaker SDK.
O le RainMaker SDK e aofia ai vaega tetele e lua.
So'oga
i. Galulue faʻatasi ma le Talosaga Auaunaga e maua ai tusipasi masini.
ii. Faʻafesoʻotaʻi i tua o le ao e faʻaaoga ai le MQTT protocol saogalemu e tuʻuina atu ai fesoʻotaʻiga mamao ma faʻatino le mamao mamao, lipoti o feʻau, pulega faʻaoga, pulega masini, ma isi. fa'aputuga protocol.
iii. Tuuina atu o vaega ole WiFi mo feso'ota'iga Wi-Fi ma le tu'uina atu, esp https ota vaega mo fa'aleleia OTA, ma le vaega ctrl fa'apitonu'u mo su'esu'ega ma feso'ota'iga masini. O nei sini uma e mafai ona ausia e ala i le faʻatulagaina faigofie.
Fa'asologa o fa'amaumauga
i. Fa'asaoina o tusipasi masini na tu'uina atu e le Claiming Service ma fa'amaumauga e mana'omia pe a fa'agaoioia RainMaker, e ala i le fa'aogaina o le fa'aoga o lo'o tu'uina mai e le vaega o le nvs flash, ma tu'uina atu API mo tagata atia'e mo le fa'aoga sa'o.
ii. Fa'aaogāina o le telefoni e fa'agasolo ai fa'amaumauga o le uplink/downlink ma fa'a otometi le tatalaina o fa'amaumauga i le fa'asologa o talosaga mo le fa'agaoioiga faigofie e tagata atia'e. Mo example, o le RainMaker SDK e maua ai fesoʻotaʻiga tele mo le faʻavaeina o faʻamatalaga TSL (Thing Specification Language), lea e manaʻomia e faʻamalamalamaina ai faʻataʻitaʻiga TSL e faʻamatala ai masini IoT ma faʻatino galuega e pei o le taimi, countdown, ma le leo pulea. Mo vaega fa'avae feso'ota'iga e pei ole taimi, ua saunia e RainMaker SDK se fofo e leai se atina'e lea e mafai ona fa'agaoioia pe a mana'omia. Ona, o le RainMaker Agent o le a faʻagasolo saʻo ia faʻamaumauga, lafo i le ao e ala i le MQTT autu e fesoʻotaʻi, ma fafaga i tua suiga o faʻamatalaga i le ao i tua e ala i le telefoni.
3.2.3 Ao i tua
O le pito i tua o le ao o loʻo fausia i luga ole AWS Serverless Computing ma ausia e ala i le AWS Cognito (faiga faʻasinomaga), Amazon API Gateway, AWS Lambda (serverless computing service), Amazon DynamoDB (NoSQL database), AWS IoT Core (IoT access core e maua ai le MQTT avanoa. ma le faʻavasegaina o tulafono), Amazon Simple Email Service (SES faigofie meli auaunaga), Amazon CloudFront (vave faʻapipiʻi fesoʻotaʻiga), Amazon Simple Queue Service (SQS message queuing), ma le Amazon S3 (auaunaga teuina pakete). O lo'o fa'amoemoe e fa'asilisiliina le fa'alauteleina ma le saogalemu. Faatasi ai ma le ESP RainMaker, e mafai e tagata atiaʻe ona faʻatautaia masini e aunoa ma le tusia o code i le ao. O fe'au na lipotia mai e masini e fa'ailoa manino atu i
Mataupu 3. Folasaga ile ESP RainMaker 23

tagata talosaga po'o isi au'aunaga isi vaega. Laulau 3.1 o loʻo faʻaalia ai oloa AWS ao ma galuega o loʻo faʻaaogaina i tua o le ao, faʻatasi ai ma le tele o oloa ma foliga o loʻo i lalo o le atinaʻe.
Laulau 3.1. AWS cloud oloa ma galuega faʻaaogaina e le ao i tua

AWS Cloud Product Fa'aaogaina e RainMaker

Galuega

AWS Cognito

Puleaina o fa'amatalaga a tagata fa'aoga ma le lagolagoina o saini a isi vaega

AWS Lambda

Fa'atinoina o le fa'atonuga fa'atauva'a fa'apisinisi o le ao i tua

Amazon Timestream Teuina fa'amaumauga fa'asologa o taimi

Amazon DynamoDB Teuina faʻamatalaga patino a tagata faʻatau

AWS IoT Core

Lagolagoina MQTT fesootaiga

Amazon SES

Tuuina atu auaunaga imeli

Amazon CloudFront Faʻavaveina le puleaina o le pito i tua webavanoa nofoaga

Amazon SQS

Tu'u atu fe'au mai le AWS IoT Core

3.2.4 RainMaker Client
O tagata fa'atau a le RainMaker, pei o le App ma le CLI, e feso'ota'i ma le ao i tua e ala i REST API. O faʻamatalaga auiliili ma faʻatonuga e uiga i REST API e mafai ona maua i le Swagger faʻamaumauga na saunia e Espressif. O lo'o avanoa le tagata fa'aoga telefoni feavea'i a RainMaker mo iOS ma faiga Android. E fa'ataga ai le tu'uina atu o masini, fa'atonutonu, ma fefa'asoaa'i, fa'apea fo'i ma le fa'atupuina ma le fa'aagaaga o galuega o le faitau i lalo ma feso'ota'i atu i fa'avae isi vaega. E mafai ona otometi ona utaina le UI ma ata e tusa ai ma le faʻatulagaina na lipotia mai e masini ma faʻaalia atoatoa le masini TSL.
Mo example, pe afai e fausia se moli atamai i luga o le RainMaker SDK-ua saunia muamuaamples, o le aikona ma le UI o le matauila moli o le a otometi lava ona utaina pe a maeʻa le tuʻuina atu. E mafai e tagata fa'aoga ona suia le lanu ma le susulu o le malamalama e ala i le atina'e ma ausia le pulega lona tolu e ala i le feso'ota'iina o le Alexa Smart Home Skill po'o le Google Smart Home Actions ia latou tala ESP RainMaker. Ata 3.4 o lo'o fa'aalia ai le fa'ailoga ma le UI example'i o le matauila i luga ole Alexa, Google Home, ma le ESP RainMaker App.

24 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

(a) Esoample – Alexa

(e) Esoample – Google Home

(i) Esoample – ESP RainMaker
Ata 3.4. Esample ata o le ata ma le UI ole moli moli ile Alexa, Google Home, ma le ESP RainMaker App
3.3 Faataitai: Manatu Autu mo le Atinae ma le ESP RainMaker
A mae'a loa le vaega aveta'avale masini, e mafai ona amata faia e le au atina'e ni fa'ata'ita'iga TSL ma fa'agasolo fa'amaumauga i lalo e fa'aaoga ai API na saunia e RainMaker SDK, ma mafai ai ona fa'aogaina auaunaga fa'avae a le ESP RainMaker e fa'atatau i fa'amatalaga o oloa ma mana'oga.
Mataupu 3. Folasaga ile ESP RainMaker 25

Vaega 9.4 o lenei tusi o le a faʻamatalaina le faʻatinoina o le moli malamalama LED i RainMaker. I le taimi o le debugging, e mafai e le au atinaʻe ona faʻaogaina meafaigaluega CLI i le RainMaker SDK e fesoʻotaʻi ma le malamalama atamai (pe valaʻau REST API mai Swagger).
O le Vaega 10 o le a fa'amatala auiliili ai le fa'aogaina o REST APIs i le atina'eina o talosaga telefoni. O le faʻaleleia o le OTA o moli atamai LED o le a aofia i le Mataupu 11. Afai na mafai e le au atinaʻe le mataʻituina mamao o le ESP Insights, o le ESP RainMaker pulega pito i tua o le a faʻaalia le ESP Insights data. O le a talanoaina auʻiliʻiliga i le Mataupu e 15.
E lagolagoina e le ESP RainMaker le fa'apipi'iina o tagata, e ese mai le server RainMaker lautele i auala nei:
Talosaga Auaunaga Ina ia fa'atupu tusi pasi i galuega tumaoti, e mana'omia le fa'aogaina o le RainMaker Admin CLI nai lo le Talosaga. Faatasi ai ma tagata lautele, e tatau ona tuʻuina atu i le au atinaʻe aia tatau e faʻatino ai le faʻaleleia o le firmware, ae e le manaʻomia i faʻasalalauga faʻapisinisi. O le mea lea, e le mafai ona tu'uina atu se 'au'aunaga fa'amaonia tu'ueseese mo le fa'atosina a le tagata lava ia, po'o le pule fa'atonu mo le fa'atonuina o le talimalo po'o le fesoasoani.
Fa'aoga telefoni I fa'atonuga fa'apitoa, e mana'omia ona fa'atulaga ma tu'ufa'atasia talosaga ina ia mautinoa e le felagolagoma'i faiga fa'amatalaga.
3rd party logins ma le leo tu'ufa'atasiga E tatau i tagata atia'e ona fa'apipi'i ese'ese e ala i Google ma Apple Developer accounts ina ia mafai ai ona saini fa'ailoga lona 3, fa'apea fo'i ma le Alexa Skill ma le Google Voice Assistant tu'ufa'atasia.
TIPS Mo fa'amatalaga e uiga i le fa'apipi'iina o ao, fa'amolemole asiasi https://customer.rainmaker.espressif. com. I tulaga o le firmware, o le femalagaiga mai le server a le malo i le server tumaoti e manaʻomia ai le suia o tusi faamaonia o masini, lea e faʻaleleia atili ai le lelei o femalagaiga ma faʻaitiitia ai le tau o le femalagaiga ma le faʻailoga lua.
3.4 Vaega o le ESP RainMaker
O foliga o le ESP RainMaker o loʻo faʻatatau i vaega e tolu - pulega faʻaoga, tagata faʻauʻu, ma pule. O vaega uma e lagolagoina i totonu o tagata lautele ma tagata tumaoti se'i vagana ua ta'ua.
3.4.1 Pulega o Tagata Fa'aoga
Ole fa'aogaina ole pulega fa'aoga e mafai ai e tagata fa'au'uga ona lesitala, saini i totonu, suia upu fa'aulu, toe aumai fa'aupuga, ma isi.
26 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

Resitala ma saini i totonu O le resitalaina ma auala e saini e lagolagoina e RainMaker e aofia ai: · Email id + Password · Numera Telefoni + Password · Google account · Apple account · GitHub account (public server) · Amazon account (private server)
FAAMANATU Saini e fa'aaoga Google/Amazon fa'asoa le tuatusi imeli ole tagata fa'aoga ile RainMaker. Fa'ailoga e fa'aaoga e Apple e fa'asoa se tuatusi fa'ailoga e tu'u atu e Apple mo le tagata fa'aoga fa'apitoa mo le auaunaga RainMaker. O le RainMaker account o le a otometi lava ona fatuina mo tagata e saini i totonu ma Google, Apple, poʻo Amazon account mo le taimi muamua.
Suia le upu fa'ataga e aoga mo na'o imeli id/Numera Telefoni e fa'atatau i saini. O isi sauniga fa'agaoioi uma o le a logo i fafo pe a uma ona suia le fa'aupuga. E tusa ai ma le amio a le AWS Cognito, e mafai ona fa'agaoioia sauniga e o'o i le 1 itula.
Toe aumai upu faataga Fa'amaonia mo na'o Email ID/Numera Telefoni saini e fa'atatau.
3.4.2 Fa'ai'uga Fa'aaogā Fa'amatalaga
O vaega e tatala i tagata fa'au'uga e aofia ai le fa'alotoifale ma le mamao mamao ma le mata'ituina, fa'atulagaina, fa'avasegaina o masini, fefa'asoaa'i masini, fa'asalalauga tu'i, ma tu'ufa'atasiga isi vaega.
Fa'atonu mamao ma mata'itū · Fa'atonuga o fesili, fa'ailoga fa'atatau, ma tulaga feso'ota'iga mo se tasi po'o masini uma. · Seti ta'iala mo masini e tasi pe tele.
Pulea fa'apitonu'u ma mata'ituina Telefoni fe'avea'i ma le masini e mana'omia ona fa'afeso'ota'i i le feso'ota'iga tutusa mo le fa'atonuga i le lotoifale.
Fa'atulagaina · E fa'aogaina muamua e tagata fa'aoga ni gaioiga i se taimi patino. · Leai se feso'ota'iga Initaneti mana'omia mo le masini a'o fa'atinoina le fa'asologa. · Tasi le taimi pe toe fai (e ala i le faʻamaonia o aso) mo masini tasi pe tele.
Tu'ufa'atasiga o masini Lagolagoina le fa'avasegaina o fa'avasegaga fa'avasegaga e mafai ona fa'aogaina metadata a le vaega e fai ai se fausaga o le Potu Fale.
Mataupu 3. Folasaga ile ESP RainMaker 27

Fa'asoa masini E mafai ona fa'asoa se tasi pe sili atu masini i se tasi pe sili atu tagata fa'aoga.
Fa'amatalaga Push O le a maua e tagata fa'au'u fa'amatalaga fa'aoso mo mea e tutupu e pei o · Masini fou ua fa'aopoopo/ave'esea · Meafaigaluega e feso'ota'i i le ao · Motu le feso'ota'iga o masini mai le ao · Talosaga e fa'asoa ai masini na faia/talia/te'ena · Fa'ailoa savali na lipotia mai e masini.
Tolu vaega tu'ufa'atasiga Alexa ma Google Voice Fesoasoani e lagolagoina e pulea ai masini RainMaker, e aofia ai moli, ki, sockets, fan, ma masini vevela.
3.4.3 Vaega Pule
Fa'atonu vaega e mafai ai e pule ona fa'atino le resitalaina o masini, fa'avasegaina o masini, ma fa'aleleia OTA, ma le view fa'amaumauga ma fa'amaumauga a le ESP Insights.
Le resitalaina o masini Fa'atupu tusipasi masini ma resitala ile Admin CLI (na'o le server tumaoti).
Tu'ufa'atasiga o masini Fa'atupu kulupu fa'apitoa pe fa'atulagaina e fa'atatau i fa'amatalaga o masini (na'o le server tumaoti).
Fa'alelei i luga ole Ea (OTA) Auina atu le firmware e fa'atatau i le fa'ata'ita'iga ma le fa'ata'ita'iga, i se tasi pe sili atu masini po'o se vaega Mata'ituina, fa'alēaogāina, po'o le fa'amaumauga o galuega OTA.
View fuainumera Viewfa'amaumauga e mafai ona aofia ai: · Fa'amauina o masini (tusi fa'amaonia ua resitalaina e le pulega) · Fa'agaoioiga o masini (meafaigaluega e feso'ota'i mo le taimi muamua) · Fa'amatalaga a le tagata fa'aoga
View ESP Insights fa'amaumauga ViewESP Insights fa'amaumauga e aofia ai: · Fa'aletonu, lapata'iga, ma fa'amaumauga masani · Fa'alavelave fa'afuase'i ma au'ili'iliga · Toe fa'afouina mafua'aga · Fuafuaga e pei o le fa'aogaina o manatuaga, RSSI, ma isi.
28 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

3.5 Aotelega
I lenei mataupu, na matou faʻaalia nisi o eseesega taua i le va o le faʻapipiʻiina o le RainMaker lautele ma le faʻapipiʻiina tumaoti. Ole fofo tumaoti ole ESP RainMaker na fa'alauiloaina e Espressif e matua fa'atuatuaina ma fa'alautele. O meataalo uma ESP32 faasologa ua fesoʻotaʻi ma faʻafetaui i le AWS, lea e faʻaitiitia ai le tau. E mafai e tagata atiaʻe ona taulaʻi i faʻamaoniga faʻataʻitaʻiga e aunoa ma le aʻoaʻoina e uiga i oloa AWS ao. Na matou faʻamatalaina foi le faʻatinoga ma foliga o le ESP RainMaker, ma nisi o mea taua mo le atinaʻe e faʻaaoga ai le faʻavae.
Va'aiga e la'u mai ai le ESP RainMaker mo le Android Siaki e la'u mai ai le ESP RainMaker mo iOS
Mataupu 3. Folasaga ile ESP RainMaker 29

30 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

Mataupu Faavae 4 Atinae Siosiomaga
O lenei mataupu o loʻo taulaʻi i le ESP-IDF, le faʻavae faʻavae polokalame mo le ESP32-C3. O le a matou faʻamatalaina pe faʻapefea ona faʻatulagaina le siosiomaga i luga o faiga faʻaoga eseese, ma faʻalauiloa le fausaga o le poloketi ma fausia le faiga o le ESP-IDF, faʻapea foʻi ma le faʻaogaina o meafaigaluega tau atinaʻe. Ona matou tuʻuina atu lea o le tuʻufaʻatasia ma le faʻagasologa o le faʻagasologa o se example poloketi, a'o ofoina atu se fa'amatalaga auiliili o le ogalaau o galuega faatino i s taitasitage.
4.1 ESP-IDF Ovaview
ESP-IDF (Espressif IoT Development Framework) o se fa'avae fa'atupuina o le IoT e tasi e tu'uina mai e Espressif Technology. E fa'aogaina le C/C++ e fai ma gagana autu o le atina'e ma lagolagoina le tu'ufa'atasia i lalo ole faiga fa'aoga masani e pei ole Linux, Mac, ma le Windows. O le exampO polokalame o lo'o aofia i totonu o lenei tusi o lo'o fausia e fa'aaoga ai le ESP-IDF, lea e ofoina mai ai vaega nei: · SoC system-level drivers. ESP-IDF e aofia ai avetaavale mo ESP32, ESP32-S2, ESP32-C3,
ma isi tupe meataalo. O nei aveta'avale e aofia ai le potutusi pito i lalo (LL), faletusi fa'apipi'i masini (HAL), faletusi a le RTOS ma masini fa'apipi'i pito i luga, ma isi. · Vaega taua. ESP-IDF o lo'o tu'ufa'atasia vaega taua e mana'omia mo le atina'eina o IoT. E aofia ai le tele o upega fesoʻotaʻiga faʻapipiʻi e pei o le HTTP ma le MQTT, o se faʻatonuga o le pulega o le eletise ma le faʻaogaina o taimi masani, ma foliga e pei o le Flash Encryption ma Secure Boot, ma isi. ESP-IDF o lo'o tu'uina atu meafaigaluega e masani ona fa'aogaina mo le faufale, moli, ma le fa'apipi'iina i le taimi o le atina'e ma le tele o gaosiga (silasila i le Ata 4.1), e pei o le faiga faufale e fa'avae i luga o CMake, o le filifili mea faigaluega fa'asaga i le GCC, ma le J.TAG mea faigaluega fa'apipi'i e fa'avae i luga o OpenOCD, ma isi. E taua le matauina o le ESP-IDF code e fa'apipi'i muamua lava ile Apache 2.0 tatala-puna laisene. E mafai e tagata fa'aoga ona atia'e polokalama fa'apitoa po'o pisinisi fa'apisinisi e aunoa ma ni fa'atapula'aina a'o tausisia aiaiga o le laisene tatala puna'oa. E le gata i lea, e tu'uina atu i tagata fa'aoga laisene pateni tumau e aunoa ma se totogi, e aunoa ma se noataga e tatala-puna so'o se suiga ua faia i le source code.
31

Ata 4.1.

Fausiaina, moli, ma debug-

ging meafaigaluega mo le atinae ma le tele o gaosiga

4.1.1 ESP-IDF Versions
O le ESP-IDF code o loʻo faʻafeiloaʻi ile GitHub e avea o se poloketi tatala. I le taimi nei, e tolu lomiga tetele e maua: v3, v4, ma v5. O fa'aliliuga tetele ta'itasi e masani ona iai fa'aliliuga eseese, pei ole v4.2, v4.3, ma isi. E fa'amautinoaina e Espressif Systems se lagolago mo le 30-masina mo fa'amaufa'ailoga pusa ma fa'amaufa'ailoga saogalemu mo fa'asalalauga ta'itasi. O le mea lea, o le toe faʻaleleia o suiga o loʻo tuʻuina atu i taimi uma, e pei o le v4.3.1, v4.2.2, ma isi. O le Siata 4.1 o loʻo faʻaalia ai le tulaga lagolago o lomiga eseese ESP-IDF mo tupe meataalo Espressif, e faʻaalia pe o loʻo i totonuview stage (tuuina atu le lagolago mo preview fa'aliliuga, atonu e leai ni fa'amatalaga po'o ni fa'amaumauga) pe lagolagoina aloa'ia.

Laulau 4.1. Lagolago tulaga o ituaiga eseese ESP-IDF mo meataalo Espressif

Fa'asologa ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2

v4.1 lagolagoina

v4.2 lagolago lagolago

v4.3 lagolago lagolago lagolago lagolago

v4.4 lagolago lagolago lagolago lagolago lagolago
muaiview

v5.0 lagolago lagolago lagolago lagolago lagolago muaiview

32 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

O le su'esu'eina o fa'aliliuga tetele e masani ona aofia ai fetu'una'iga i le fausaga fa'avae ma fa'afouga i le faiga tu'ufa'atasi. Mo example, o le suiga tele mai le v3.* i le v4.* o le faasolosolo malie o le faiga o le fausiaina mai le Make i le CMake. I le isi itu, o le suʻesuʻeina o faʻamatalaga laiti e masani ona aofia ai le faʻaopoopoina o foliga fou poʻo le lagolago mo tupe meataalo fou.
E taua le iloa ma malamalama i le sootaga i le va o lomiga mautu ma lala GitHub. O fa'aliliuga ua fa'aigoaina o le v*.* po'o le v*.*.* o lo'o fa'atusalia ai fa'amaumauga mautu ua pasi uma su'ega fa'alotoifale a Espressif. O le taimi lava e faʻamautu ai, o le code, filifili meafaigaluega, ma faʻamaumauga tuʻuina atu mo le lomiga lava e tasi e tumau pea e le suia. Ae ui i lea, o lala GitHub (faʻataʻitaʻiga, le faʻamalolo / v4.3 lala) e masani ona faia tulafono faʻamaonia, masani i aso taʻitasi. O le mea lea, e lua snippet code i lalo o le lala e tasi e ono eseese, e manaʻomia ai le au atiaʻe e faʻafouina a latou code e tusa ai.
4.1.2 ESP-IDF Git Galue Galuega
O lo'o mulimulita'ia e Espressif se fa'asologa o galuega a Git mo le ESP-IDF, fa'amatala fa'apea:
· O suiga fou o loʻo faia i luga o le matai lala, lea e avea ma lala atinaʻe autu. O le ESP-IDF version i luga o le paranesi matai e masani ona tauaveina se -dev tag e faʻaalia ai o loʻo i lalo o le atinaʻe, pei o le v4.3-dev. Suiga i luga o le paranesi matai o le a muamua toeviewed ma faʻataʻitaʻiina i totonu o le fale teu oloa a Espressif, ona tuleia lea i GitHub pe a maeʻa suʻega faʻapitoa.
· O le taimi lava e maeʻa ai se faʻataʻitaʻiga fou i le atinaʻeina o ata i luga o le paranesi matai ma faʻamalieina taʻiala mo le ulufale atu i suʻega beta, ona suia loa lea i se lala fou, e pei o le tatalaina / v4.3. E le gata i lea, o lenei lala fou e tagged e avea o se fa'asalalauga muamua, pei o le v4.3-beta1. E mafai e le au atinaʻe ona faʻafesoʻotaʻi le GitHub platform e maua ai le lisi atoa o lala ma tags mo ESP-IDF. E taua le maitauina o le beta version (mua'i tu'uina atu) atonu o lo'o i ai pea se numera tele o fa'afitauli iloa. A'o fa'aauau su'ega fa'aauau le beta version, o lo'o fa'aopoopoina fo'i fa'atonuga i lenei fa'ata'ita'iga ma le lala matua i le taimi e tasi. I le taimi nei, atonu ua amata ona atiaʻe foliga fou mo le isi lomiga. Pe a toeitiiti atoa le suʻega, e faʻapipiʻi le igoa o le sui tauva (rc) i le lala, e faʻaalia ai o se sui tauva mo le tatalaina aloaia, e pei o le v4.3-rc1. I lenei stagu, o le lala o loʻo tumau pea le faʻasalalauga muamua.
· Afai e leai ni fa'aletonu tetele e maua pe lipotia, o le lomiga a'o le'i tu'uina atu e iu lava ina maua se fa'ailoga tele (fa'ata'ita'iga, v5.0) po'o se fa'ailoga laiti (fa'ata'ita'iga, v4.3) ma avea ma fa'amaumauga fa'asao aloaia, lea e fa'amaumauina i le itulau o fa'amatalaga fa'asalalau. Mulimuli ane, soʻo se faʻailoga e iloa i lenei faʻasologa o loʻo faʻapipiʻiina i luga o le lala faʻamalolo. A maeʻa suʻega tusi lesona, e tuʻuina atu i le paranesi se faʻailoga faʻapipiʻi faʻapipiʻi (faʻataʻitaʻiga, v4.3.2), lea o loʻo faʻaalia foi i luga o le itulau faʻamatalaga faʻasalalau.
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 33

4.1.3 Filifilia o se Fa'aliliuga Talafeagai
Talu ai na amata aloaia e le ESP-IDF ona lagolagoina le ESP32-C3 mai le version v4.3, ma le v4.4 e leʻi tatalaina aloaia i le taimi na tusia ai lenei tusi, o le faʻaoga o loʻo faʻaaogaina i lenei tusi o le v4.3.2, o se lomiga toe faʻafouina. o le v4.3. Ae ui i lea, e taua le matauina o le taimi e te faitau ai i lenei tusi, v4.4 poʻo lomiga fou atonu ua uma ona maua. Pe a filifilia se lomiga, matou te fautuaina mea nei:
· Mo atina'e tulaga ulufale, e fautuaina e filifili le v4.3 fa'amautu version po'o lona toe fa'afouina, lea e fetaui ma le example lomiga o loʻo faʻaaogaina i lenei tusi.
· Mo le tele o fa'amoemoega o le gaosiga, e fautuaina e fa'aoga le lomiga fa'amaumau aupito lata mai ina ia manuia mai le lagolago fa'atekinisi sili ona lata mai.
· Afai e te manaʻo e faʻataʻitaʻi i tupe meataalo fou pe suʻesuʻe foliga fou o oloa, faʻamolemole faʻaaoga le lala matua. O le lomiga lata mai o lo'o i ai fa'amatalaga lata mai uma, ae ia manatua o lo'o i ai ni mea e iloa pe le iloa o lo'o iai.
· Afai o le faʻaoga mautu o loʻo faʻaaogaina e le o aofia ai foliga fou e manaʻomia ma e te manaʻo e faʻaititia le lamatiaga e fesoʻotaʻi ma le master branch, mafaufau e faʻaaoga le lala faʻamalolo talafeagai, e pei o le faʻamalolo / v4.4 lala. Espressif's GitHub repository o le a muamua fatuina le tatalaina / v4.4 lala ma mulimuli ane faʻasaʻo le faʻamautu v4.4 version e faʻavae i luga o se faʻamatalaga faʻasolopito patino o lenei lala, pe a uma ona faʻamaeʻaina uma atinaʻe ma suʻega.
4.1.4 Ovaview o le ESP-IDF SDK Directory
O le ESP-IDF SDK o lo'o aofia ai fa'atonuga autu se lua: esp-idf ma le .espressif. O le mea muamua o loʻo i ai le faʻailoga puna a le ESP-IDF files ma faʻamaumauga tuʻufaʻatasia, ae o le vaega mulimuli e tele lava ina teuina filifili meafaigaluega tuʻufaʻatasia ma isi polokalama. O le masani i nei lisi e lua o le a fesoasoani i le au atinaʻe e faʻaoga lelei punaoa avanoa ma faʻavaveina le faagasologa o le atinaʻe. O lo'o fa'amatalaina i lalo le fa'asologa o fa'amaumauga a le ESP-IDF:
(1) ESP-IDF fa'amaumauga fa'ailoga (/esp/esp-idf), e pei ona fa'aalia i le Ata 4.2.
a. Vaega fa'asinomaga vaega
O lenei lisi autu o lo'o tu'ufa'atasia ai le tele o vaega fa'akomepiuta taua ole ESP-IDF. E leai se fa'ailoga o poloketi e mafai ona tu'ufa'atasia e aunoa ma le fa'alagolago i vaega o lo'o i totonu o lenei lisi. E aofia ai le aveta'avale lagolago mo mea eseese Espressif. Mai le faletusi LL ma le faletusi HAL feso'ota'iga mo peripherals i le tulaga maualuga Aveta'avale ma Virtual File System (VFS) lagolago layer, e mafai e le au atinaʻe ona filifili vaega talafeagai i tulaga eseese mo latou manaʻoga atinaʻe. E fa'apea fo'i ona lagolagoina e le ESP-IDF le tele o fa'aputuga o feso'ota'iga masani e pei ole TCP/IP, HTTP, MQTT, WebSocket, ma isi. E mafai e tagata atiaʻe ona faʻaogaina fesoʻotaʻiga masani e pei o Socket e fausia ai fesoʻotaʻiga. O vaega e maua ai le malamalama-
34 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

Ata 4.2. ESP-IDF fa'amaumauga fa'ailoga fa'amaumauga
galuega fa'atino ma e mafai ona faigofie ona tu'ufa'atasia i totonu o talosaga, fa'ataga ai le au atina'e e taula'i na'o le fa'atatau pisinisi. O nisi o vaega masani e aofia ai: · aveta'avale: O lenei vaega o lo'o iai polokalame fa'ata'ita'i fa'apitoa mo Espressif eseese
faasologa chip, e pei o le GPIO, I2C, SPI, UART, LEDC (PWM), ma isi. E tofu le peripheral ma le ulutala masani file (pei o le gpio.h), faʻaumatia le manaʻoga e faʻatautaia fesili lagolago faʻapitoa faʻapitoa. · esp_wifi: Wi-Fi, e pei o se peripheral faʻapitoa, e faʻaogaina o se vaega e ese mai. E aofia ai le tele o API e pei o le amataina o auala eseese avetaʻavale Wi-Fi, faʻasologa o faʻasologa, ma le gaioiga o mea na tupu. O nisi o galuega a lenei vaega o lo'o tu'uina atu i le tulaga o faletusi feso'ota'iga. ESP-IDF o lo'o tu'uina atu fo'i fa'amaumauga ta'avale uma mo le fa'afaigofieina o le fa'aoga.
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 35

· freertos: O lenei vaega o loʻo i ai le faʻailoga atoa o le FreeRTOS. E ese mai i le tuʻuina atu o le lagolago atoatoa mo lenei faiga faʻaogaina, ua faʻalauteleina foi e Espressif lana lagolago i tupe meataalo lua. Mo tupe meataalo lua-autu e pei o le ESP32 ma le ESP32-S3, e mafai e tagata fa'aoga ona faia ni galuega i luga o 'au fa'apitoa.
e. Fa'ailoga tusi fa'amaumauga
O lenei lisi o loʻo i ai pepa faʻavae e fesoʻotaʻi ma le ESP-IDF, e aofia ai le Get Started Guide, API Reference Manual, Development Guide, etc.
FAAMANATU A maeʻa ona tuʻufaʻatasia e meafaigaluega faʻapitoa, o mea o loʻo i totonu o lenei lisi o loʻo faʻapipiʻiina i https://docs.espressif.com/projects/esp-idf. Fa'amolemole ia mautinoa e sui le fa'atatau o le pepa i le ESP32-C3 ma filifili le fa'ailoga ESP-IDF.
i. Meafaigaluega meafaigaluega tusitusiga
O lenei lisi o lo'o i ai mea faigaluega pito i luma e masani ona fa'aogaina e pei ole idf.py, ma le meafaigaluega mata'itu idf_monitor.py, ma isi. O le sub-directory cmake o lo'o iai fo'i tusitusiga autu. files o le faiga tu'ufa'atasiga, o lo'o avea ma fa'avae mo le fa'atinoina o tulafono fa'aopoopo ESP-IDF. Pe a faʻaopoopo le fesuiaiga o le siosiomaga, o mea o loʻo i totonu o le lisi o meafaigaluega e faʻaopoopoina i le fesuiaiga o le siosiomaga, faʻatagaina le idf.py e faʻatinoina saʻo i lalo o le ala o le poloketi.
o. Example polokalame directory examples
O lenei lisi e aofia ai se aofa'iga tele o le ESP-IDF examppolokalame e fa'aalia ai le fa'aogaina o vaega API. O le exampo lo'o fa'atulagaina i subdirectories eseese e fa'atatau i a latou vaega:
· Amata: O lenei sub-directory e aofia ai tulaga ulufale exampe pei o le "hello world" ma le "blink" e fesoasoani ai i tagata faaaoga ia malamalama i mea autu.
· Bluetooth: E mafai ona e mauaina Bluetooth feso'ota'i muamuaampo iinei, e aofia ai le Bluetooth LE Mesh, Bluetooth LE HID, BluFi, ma isi mea.
· wifi: O lenei sub-directory e taulaʻi i le Wi-Fi example, e aofia ai polokalame fa'avae e pei o le Wi-Fi SoftAP, Wi-Fi Station, espnow, fa'apea fo'i ma feso'ota'iga fa'apitoa fa'atasi.amples mai Espressif. O lo'o aofia ai fo'i le tele o fa'aoga fa'aogaampfa'avae i luga ole Wi-Fi, pei ole Iperf, Sniffer, ma Smart Config.
· peripherals: O le tele o sub-directory ua toe vaevaeina i le tele o subfolders e faavae i luga o igoa pito i luga. E tele lava ina iai aveta'avale peripheral examples mo tupe meataalo Espressif, faatasi ai ma example fa'aalia nisi o sub-examples. Mo se faʻataʻitaʻiga, o le gpio sub-directory e aofia ai le lua example: GPIO ma GPIO matrix keyboard. E taua le matauina e le o ex umaampO tusi i totonu o lenei lisi e fa'atatau ile ESP32-C3.
36 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

Mo example, le examples i usb/host e na'o le fa'aoga i peripherals o lo'o i ai masini USB Host (e pei o le ESP32-S3), ma ESP32-C3 e le o iai lenei peripheral. O le faiga fa'aopoopo e masani lava ona tu'uina atu fa'ailo pe a fa'atulaga le sini. Le README file o ex taitasiample lisi o tupe meataalo lagolago. · protocols: O lenei sub-directory e aofia ai exampmo fesoʻotaʻiga fesoʻotaʻiga eseese, e aofia ai le MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP, e aofia ai le tele o fesoʻotaʻiga fesoʻotaʻiga ex.ampmea e manaʻomia mo le atinaʻeina o IoT. · saunia: O iinei, e te maua ai le tuʻuina atuamples mo auala eseese, e pei o le Wi-Fi provisioning ma le Bluetooth LE provisioning. · faiga: O lenei sub-directory e aofia ai le faʻaogaina o le faʻaogainaamples (fa'ata'ita'iga, su'ega fa'aputuga, su'esu'e taimi ta'avale, mata'ituina galuega), pulega fa'aletino fa'apeaamples (fa'ata'ita'iga, ituaiga moe eseese, co-processors), ma exampmea e feso'ota'i ma vaega masani o le faiga e pei o le fa'amafanafanaga, fa'alavelave fa'alavelave, ma le taimi fa'atulagaina. · teuina: I totonu o lenei sub-directory, e te mauaina exampitiiti o mea uma file faiga ma auala teu oloa e lagolagoina e le ESP-IDF (e pei o le faitau ma le tusitusi o le Flash, SD card ma isi mea e teu ai), faapea foiampo le teuina o mea e le faʻafefe (NVS), FatFS, SPIFFS ma isi file faiga faiga. · saogalemu: O lenei sub-directory e aofia ai exampmea e feso'ota'i ma fa'amalamalamaga flash. (2) ESP-IDF compilation tool chain directory (/.espressif), e pei ona faaalia i le Ata 4.3.
Ata 4.3. ESP-IDF tu'ufa'atasiga meafaigaluega filifili filifili
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 37

a. Dist
O le filifili meafaigaluega ESP-IDF ma isi polokalama faʻapipiʻi e tufatufaina i foliga o pusa faʻapipiʻi. I le faagasologa o le faʻapipiʻiina, o le mea faigaluega faʻapipiʻi e muamua laʻuina le afifi faʻapipiʻi i le dist directory, ona aveese lea i le lisi faʻapitoa. A mae'a loa le fa'apipi'iina, e mafai ona aveese ma le saogalemu mea o lo'o i totonu o lenei lisi.
e. Python virtual environment directory python env
O fa'aliliuga 'ese'ese o le ESP-IDF fa'alagolago i fa'amatalaga patino o pusa Python. O le fa'apipi'i sa'o o nei afifi i luga o le 'au e tasi e mafai ona tula'i mai ai fete'ena'iga i le va o fa'asologa o afifi. Ina ia faʻatalanoaina lenei mea, e faʻaogaina e le ESP-IDF le Python virtual environments e faʻamavae ai faʻasalalauga eseese. Faatasi ai ma lenei masini, e mafai e le au atinaʻe ona faʻapipiʻi le tele o lomiga o le ESP-IDF i luga o le talimalo e tasi ma faigofie ona fesuiaʻi i le va oi latou e ala i le faʻaulufaleina mai o fesuiaiga o siosiomaga eseese.
i. ESP-IDF tu'ufa'atasiga meafaigaluega filifili filifili meafaigaluega
O lenei fa'atonuga e tele lava ina iai mea faigaluega fa'atutusa e mana'omia e tu'ufa'atasia ai poloketi ESP-IDF, e pei o meafaigaluega CMake, mea faigaluega fau Ninja, ma le filifili meafaigaluega gcc e fa'atupuina ai le polokalame fa'atino mulimuli. E le gata i lea, o lenei lisi o loʻo i ai le faletusi masani o le C/C++ gagana faʻatasi ai ma le ulutala fetaui files. Afai e fa'asino e se polokalame se ulutala faiga file pei o #include , o le filifili meafaigaluega tu'ufa'atasiga o le a maua ai le stdio.h file i totonu o lenei lisi.
4.2 Fa'atulagaina le Siosiomaga o Atina'e ESP-IDF
Ole siosiomaga ole atina'e ole ESP-IDF e lagolagoina faiga fa'aoga masani e pei ole Windows, Linux, ma macOS. O lenei vaega o le a faʻaalia ai le faʻatulagaina o le siosiomaga atinaʻe i faiga taʻitasi. E fautuaina e atiaʻe le ESP32-C3 i luga o le Linux system, lea o le a faʻaalia auiliili iinei. E tele fa'atonuga e fa'aoga i luga o fa'avae ona o le tutusa o meafaigaluega fa'atupuina. O le mea lea, e fautuaina e faitau ma le faaeteete le anotusi o lenei vaega.
FAAMANATU E mafai ona e vaʻai i pepa i luga ole laiga o loʻo maua ile https://bookc3.espressif.com/esp32c3, lea e tuʻuina atu ai poloaiga o loʻo taʻua i lenei vaega.
4.2.1 Fa'atulagaina le Siosiomaga o Atina'e ESP-IDF i Linux
O le atinaʻeina o le GNU ma meafaigaluega faʻapipiʻi e manaʻomia mo le siosiomaga o le atinaʻeina o le ESP-IDF e masani lava i le Linux system. E le gata i lea, o le laina laina laina i Linux e malosi ma faʻaoga-faʻaoga, ma avea ai ma filifiliga lelei mo le atinaʻeina o le ESP32-C3. E te mafaia
38 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

filifili lau tufatufaina Linux e sili ona e fiafia i ai, ae matou te fautuaina le faʻaogaina o le Ubuntu poʻo isi faiga faʻavae Debian. O lenei vaega o loʻo tuʻuina atu ai le taʻiala i le faʻatulagaina o le siosiomaga atinaʻe ESP-IDF ile Ubuntu 20.04.
1. Fa'apipi'i afifi mana'omia
Tatala se laina fou ma faʻatino le poloaiga lenei e faʻapipiʻi uma afifi talafeagai. O le fa'atonuga o le a otometi lava ona fa'ase'e afifi ua uma ona fa'apipi'i.
$ sudo apt-get install git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
TIPS E te mana'omia le fa'aogaina o le tala fa'atonu ma le fa'aupuga mo le fa'atonuga o lo'o i luga. E ala i le faaletonu, e leai se faʻamatalaga o le a faʻaalia pe a ulufale i le faʻaupuga. Na'o le oomiina o le ki "Enter" e fa'aauau ai le faiga.
Git o se meafaigaluega faʻatonutonu tulafono autu ile ESP-IDF. A maeʻa ona faʻatulagaina le siosiomaga atinaʻe, e mafai ona e faʻaogaina le git log command i view suiga code uma na faia talu mai le foafoaina o le ESP-IDF. E le gata i lea, o loʻo faʻaaogaina foi Git i le ESP-IDF e faʻamaonia ai faʻamatalaga faʻamatalaga, lea e manaʻomia mo le faʻapipiʻiina o le filifili meafaigaluega saʻo e fetaui ma faʻamatalaga patino. Faʻatasi ai ma Git, o isi meafaigaluega faʻaoga taua e aofia ai le Python. ESP-IDF o lo'o tu'ufa'atasia le tele o fa'amaumauga fa'aautomatika tusia i le Python. Meafaigaluega e pei o CMake, Ninja-build, ma Ccache o loʻo faʻaaogaina lautele i galuega C / C ++ ma avea ma faʻasologa o tulafono faʻapipiʻi ma meafaigaluega faufale i le ESP-IDF. libusb-1.0-0 ma le dfu-util o avetaʻavale autu ia e faʻaaogaina mo fesoʻotaʻiga faʻasalalau USB ma faʻamumuina firmware. O le taimi lava e faʻapipiʻi ai pusa polokalama, e mafai ona e faʻaogaina le apt show poloaiga e maua ai faʻamatalaga auiliili o afifi taʻitasi. Mo example, faʻaaoga apt show git e lolomi ai faʻamatalaga faʻamatalaga mo le meafaigaluega Git.
Q: O le a le mea e fai pe a le lagolagoina le Python version? A: ESP-IDF v4.3 mana'omia se Python version e le maualalo ifo nai lo v3.6. Mo lomiga tuai o le Ubuntu, fa'amolemole download ma fa'apipi'i ma fa'apipi'i se pito maualuga o le Python ma tu'u le Python3 e fai ma si'osi'omaga le Python. E mafai ona e mauaina faʻamatalaga auʻiliʻili e ala i le suʻeina o le upu faʻafouina-alternatives python.
2. La'i mai le ESP-IDF fa'ailoga fa'amaumauga
Tatala se laina ma fatuina se faila e igoa esp i lau lisi o fale e faʻaaoga ai le mkdir poloaiga. E mafai ona e filifilia se isi igoa mo le faila pe a e mana'o ai. Fa'aaoga le cd command e ulufale ai i le faila.
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 39

$ mkdir -p /esp $ cd /esp
Faʻaaoga le git clone command e sii mai ai le ESP-IDF fale teu oloa, e pei ona faʻaalia i lalo:
$ git clone -b v4.3.2 –recursive https://github.com/espressif/esp-idf.git
I le poloaiga o loʻo i luga, o le parakalafa -b v4.3.2 o loʻo faʻamaonia ai le faʻasologa e sii mai (i lenei tulaga, version 4.3.2). O le parakalafa -recursive faʻamautinoaina o loʻo faʻapipiʻi faʻatasi uma fale teu oloa a le ESP-IDF. O fa'amatalaga e uiga i sub-repositories e mafai ona maua i le .gitmodules file.
3. Fa'apipi'i le filifili meafaigaluega tau atina'e ESP-IDF
Espressif o lo'o tu'uina atu se fa'amaumauga otometi install.sh e la'u mai ma fa'apipi'i le filifili meafaigaluega. O lenei tusitusiga e siaki ai le ESP-IDF o loʻo iai nei ma le faʻaogaina o le siosiomaga, ona sii mai lea ma faʻapipiʻi faʻaoga talafeagai o pusa meafaigaluega Python ma filifili meafaigaluega tuʻufaʻatasia. Ole ala fa'apipi'i fa'aletonu mo le filifili meafaigaluega ole /.espressif. Pau lava le mea e tatau ona e faia o le faʻafeiloaʻi i le esp-idf directory ma tamoʻe install.sh.
$ cd /esp/esp-idf $ ./install.sh
Afai e te faʻapipiʻiina le filifili meafaigaluega, o le a faʻaalia le laina:
Ua mae'a uma!
I le taimi lea, ua e fa'atulaga lelei le siosiomaga o le atina'eina o le ESP-IDF.
4.2.2 Fa'atulagaina le Siosiomaga o Atina'e ESP-IDF i luga ole Windows
1. Sii mai le ESP-IDF meafaigaluega fa'apipi'i
TIPS E fautuaina e fa'atūina le si'osi'omaga atina'e ESP-IDF Windows 10 po'o luga. E mafai ona e siiina mai le faʻapipiʻi mai https://dl.espressif.com/dl/esp-idf/. O le faʻapipiʻi o se polokalama faʻapipiʻi matala, ma o lona faʻailoga puna e mafai viewed ile https: //github.com/espressif/idf-installer.
· Faʻapipiʻi meafaigaluega ESP-IDF i luga ole laiga
O lenei mea faʻapipiʻi e laʻititi laʻititi, e tusa ma le 4 MB le lapopoa, ma isi afifi ma code o le a sii mai i le taimi o le faʻapipiʻiina. Le advantage o le faʻapipiʻiina i luga ole laiga e le gata e mafai ona sii mai pusa komepiuta ma code i luga ole manaʻoga i le taimi o le faʻapipiʻiina, ae faʻatagaina foi le faʻapipiʻiina o faʻasalalauga uma o loʻo avanoa o le ESP-IDF ma le lala lata mai o le GitHub code (e pei o le lala matua) . Le disadvantage e manaʻomia se fesoʻotaʻiga fesoʻotaʻiga i le taimi o le faʻapipiʻiina, lea e ono mafua ai le le faʻapipiʻiina ona o faʻafitauli o fesoʻotaiga.
40 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

· Fa'apipi'i meafaigaluega a le ESP-IDF e leai se initaneti O lenei mea fa'apipi'i e lapo'a atu, e tusa ma le 1 GB le lapopoa, ma o lo'o i ai uma pusa polokalama ma fa'ailoga e mana'omia mo le fa'atulagaina o le si'osi'omaga. O le advan aututago le fa'apipi'i tuusa'o e mafai ona fa'aoga i komepiuta e aunoa ma se initaneti, ma e masani lava e maualuga atu lona fua fa'atatau. E tatau ona maitauina e na'o le fa'apipi'i tuusao e mafai ona fa'apipi'i fa'amaumauga mautu o le ESP-IDF fa'ailoa e v*.* po o v*.*.*.
2. Fa'agasolo le ESP-IDF meafaigaluega fa'apipi'i A uma ona la'uina mai se fa'aoga talafeagai o le fa'apipi'i (ave ESP-IDF Tools Offline 4.3.2 mo ex.ample iinei), kiliki faalua le exe file e fa'alauiloa le fa'apipi'iina o le ESP-IDF. O lo'o fa'aalia i lalo pe fa'apefea ona fa'apipi'i le ESP-IDF stable version v4.3.2 fa'aoga le fa'apipi'i offline.
(1) I le "Filifili gagana faʻapipiʻi" faʻaalia o loʻo faʻaalia i le Ata 4.4, filifili le gagana e faʻaaogaina mai le lisi pa'ū.
Ata 4.4. "Filifili gagana faʻapipiʻi" atinaʻe (2) A maeʻa ona filifilia le gagana, kiliki "OK" e faʻaalia ai le faʻaoga "License agreement"
(tagai i le Ata 4.5). A maeʻa ona faitau ma le totoa le maliega faʻapipiʻi laisene, filifili "Ou te talia le maliega" ma kiliki "Next".
Ata 4.5. “Feagaiga Laisene” fa'afeso'ota'i Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 41

(3) Review le faʻatulagaina o le faʻaogaina i le faʻaogaina o le "Pre-installation system check" (silasila i le Ata 4.6). Siaki le Windows version ma le faʻapipiʻiina o faʻamatalaga software antivirus. Kiliki "Next" pe a fai o mea uma faʻatulagaina e masani. A leai, e mafai ona e kiliki "Full log" mo fofo e faʻatatau i mea autu.
Ata 4.6. "System check before installation" fa'aoga TIPS
E mafai ona e tuʻuina atu ogalaau ile https://github.com/espressif/idf-installer/issues mo se fesoasoani. (4) Filifili le lisi faʻapipiʻi ESP-IDF. O iinei, filifili D:/.espressif, e pei ona faaalia i
Ata 4.7, ma kiliki le "Next". Faamolemole ia matau o le .espressif iinei o se lisi natia. A maeʻa le faʻapipiʻiina, e mafai view mea fa'apitoa o lenei lisi e ala i le tatalaina o le file pule ma fa'aali mea natia.
Ata 4.7. Filifili le ESP-IDF fa'apipi'i fa'atonuga 42 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

(5) Siaki vaega e manaʻomia ona faʻapipiʻi, e pei ona faʻaalia i le Ata 4.8. E fautuaina e faʻaaoga le filifiliga le lelei, o lona uiga, faʻapipiʻi atoatoa, ona kiliki lea o le "Next".
Ata 4.8. Filifili vaega e faʻapipiʻi (6) Faʻamautu vaega e faʻapipiʻi ma kiliki "Install" e amata ai le faʻaogaina otometi-
faiga fa'aletonu, e pei ona fa'aalia i le Ata 4.9. O le faagasologa o le faʻapipiʻiina e mafai ona umi le sefulu minute ma o le alualu i luma o le faʻagasologa o le faʻapipiʻiina o loʻo faʻaalia i le Ata 4.10. Faamolemole faatali ma le onosai.
Ata 4.9. Saunia mo le faʻapipiʻiina (7) A maeʻa le faʻapipiʻiina, e fautuaina e siaki le "Resitala le ESP-IDF
Meafaigaluega e mafai ona faʻatinoina e pei o le Windows Defender tuusaunoaga…” e puipuia ai le polokalame antivirus mai le tapeina files. O le fa'aopoopoina o aitema e le aofia e mafai fo'i ona fa'ase'e su'esu'ega faifaipea e antivirus
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 43

Ata 4.10. Fa'apipi'i polokalame pa'u alualu i luma, fa'aleleia atili le lelei o le tu'ufa'atasiga o tulafono a le polokalama Pupuni. Kiliki "Faauma" e faʻamaeʻa ai le faʻapipiʻiina o le siosiomaga atinaʻe, e pei ona faʻaalia i le Ata 4.11. E mafai ona e filifili e siaki le "Run ESP-IDF PowerShell environment" poʻo le "Run ESP-IDF command prompt". Fa'asolo sa'o le fa'amalama tu'ufa'atasi pe a mae'a fa'apipi'i ina ia mautinoa o lo'o fa'agaoioia le si'osi'omaga o le atina'e.
Ata 4.11. Ua mae'a le fa'apipi'iina (8) Tatala le si'osi'omaga o atina'e fa'apipi'i i le lisi o polokalame (po'o le ESP-IDF 4.3
CMD poʻo le ESP-IDF 4.3 PowerShell terminal, e pei ona faʻaalia i le Ata 4.12), ma o le ESP-IDF suiga o le siosiomaga o le a otometi lava ona faʻaopoopo pe a tamoʻe i le laina. A maeʻa lena, e mafai ona e faʻaogaina le idf.py poloaiga mo gaioiga. Ole ESP-IDF 4.3 CMD ua tatala o lo'o fa'aalia ile Ata 4.13. 44 ESP32-C3 Ta'amilosaga Uaealesi: Ose Ta'iala Atoa ile IoT

Ata 4.12. Atina'e siosiomaga fa'apipi'iina
Ata 4.13. ESP-IDF 4.3 CMD
4.2.3 Fa'atulagaina le Siosiomaga o Atina'e ESP-IDF i le Mac
O le faʻagasologa o le faʻapipiʻiina o le siosiomaga o le atinaʻeina o le ESP-IDF i luga o le Mac system e tutusa ma le faʻaogaina o le Linux system. O faʻatonuga mo le laʻuina o le faʻailoga faʻamaumauga ma faʻapipiʻi le filifili meafaigaluega e tutusa lelei. Na'o le fa'atonuga mo le fa'apipi'iina o afifi fa'alagolago e fai si ese'ese. 1. Fa'apipi'i afifi fa'alagolago Tatala se fa'amau, ma fa'apipi'i le pip, le meafaigaluega e fa'atonutonu ai pusa Python, e ala i le fa'atinoina o le fa'atonuga lea:
% sudo faigofie faʻapipiʻi pip
Faʻapipiʻi le Homebrew, o se meafaigaluega e pulea ai pusa mo macOS, e ala i le faʻatinoina o le poloaiga lenei:
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
Faʻapipiʻi pusa faʻalagolago e manaʻomia e ala i le faʻatinoina o le poloaiga lenei:
% brew python3 fa'apipi'i cmake ninja ccache dfu-util
2. La'i mai le ESP-IDF fa'ailoga fa'aputuga Fa'asolo mulimuli i fa'atonuga o lo'o tu'uina atu i le vaega 4.2.1 e la'u mai ai le fa'ailoga ESP-IDF. O laasaga e tutusa ma le downloadina i luga o se Linux system.
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 45

3. Fa'apipi'i le filifili meafaigaluega tau atina'e ESP-IDF
Mulimuli i faʻatonuga o loʻo tuʻuina atu i le vaega 4.2.1 e faʻapipiʻi ai le filifili meafaigaluega faʻaleleia ESP-IDF. O laasaga e tutusa ma le faʻapipiʻiina i luga o le Linux system.
4.2.4 Fa'apipi'i VS Code
Ona o le faaletonu, o le ESP-IDF SDK e le o aofia ai se meafaigaluega e teuteu ai tulafono (e ui o le ESP-IDF faʻapipiʻi fou mo Windows e ofoina atu le filifiliga e faʻapipiʻi ai le ESP-IDF Eclipse). E mafai ona e fa'aogaina so'o se meafaigāluega e fa'asa'o ai tusitusiga o lau filifiliga e fa'asa'o ai le fa'ailoga ona fa'apipi'i lea e fa'aaoga ai fa'atonuga fa'amau.
O se tasi o meafaigaluega fa'apipi'i fa'ailoga ta'uta'ua o le VS Code (Visual Studio Code), o se fa'atonu fa'ailoga e leai se totogi ma fa'apitoa fa'atasi ai ma se fa'aoga fa'aoga-tagata. E ofoina atu eseese plugins e maua ai galuega fa'atino e pei o le fa'asinomaga code, fa'ailoga fa'asologa, fa'atonuga o le Git, ma le tu'ufa'atasiga fa'amau. E le gata i lea, ua atiaʻe e Espressif se faʻapipiʻi tuʻufaʻatasia e taʻua o Espressif IDF mo le VS Code, lea e faʻafaigofie ai le faʻatulagaina o galuega ma le faʻapipiʻiina.
E mafai ona e faʻaogaina le tulafono code i le laina e vave tatala ai le faila i le VS Code. I le isi itu, e mafai ona e faʻaogaina le ala pupuu Ctrl + e tatala ai le faʻaogaina o le faʻaogaina o le faʻaogaina i totonu ole VS Code.
TIPS E fautuaina e fa'aoga le VS Code mo le atina'eina o code ESP32-C3. La'u mai ma fa'apipi'i le lomiga lata mai ole VS Code ile https://code.visualstudio.com/.
4.2.5 Folasaga i Siosiomaga Atina'e Vaega Tolu
E fa'aopoopo i le siosiomaga fa'atupuina o le ESP-IDF, lea e fa'aaoga muamua ai le gagana C, o lo'o lagolagoina fo'i e le ESP32-C3 isi gagana fa'apolokalame fa'apitoa ma le tele o si'osi'omaga atina'e lona tolu. O nisi o filifiliga iloga e aofia ai:
Arduino: o se faʻamatalaga tatala-puna mo meafaigaluega uma ma polokalama, lagolago microcontrollers eseese, e aofia ai le ESP32-C3.
E fa'aogaina le gagana C ++ ma ofoina atu se API fa'afaigofie ma fa'asalaina, e masani ona ta'ua o le gagana Arduino. Arduino e faʻaaogaina lautele i le atinaʻeina o faʻataʻitaʻiga ma tulaga faʻaleaʻoaʻoga. O lo'o tu'uina atu ai se fa'apipi'i fa'apipi'i fa'apipi'i ma se IDE e mafai ai ona fa'afaigofie ona tu'ufa'atasia ma emo.
MicroPython: o se fa'aliliuga gagana Python 3 ua fuafuaina e tamo'e i luga o fa'avae microcontroller fa'apipi'i.
Faatasi ai ma se gagana tusitusi faigofie, e mafai ona maua saʻo le ESP32-C3's peripheral resources (e pei o le UART, SPI, ma le I2C) ma fesoʻotaʻiga galuega (e pei o le Wi-Fi ma le Bluetooth LE).
46 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

E fa'afaigofieina ai feso'ota'iga meafaigaluega. MicroPython, faʻatasi ma le Python's tele mathematical operation library, faʻatagaina le faʻatinoina o algorithms lavelave ile ESP32-C3, faʻafaigofieina le atinaʻeina o talosaga e fesoʻotaʻi ma AI. I le avea ai o se gagana tusitusi, e le manaʻomia le toe tuʻufaʻatasia; e mafai ona fai suiga ma e mafai ona fa'atino sa'o tusitusiga.
NodeMCU: ose fa'aliliu gagana LUA na atia'e mo chips fa'asologa o le ESP.
E lagolagoina toetoe lava o galuega lautele uma o tupe meataalo ESP ma e mama nai lo MicroPython. E tutusa ma MicroPython, e faʻaaogaina e NodeMCU se gagana tusitusi, faʻaumatia ai le manaʻoga mo le faʻaopoopoina faifaipea.
E le gata i lea, e lagolagoina foi e le ESP32-C3 le NuttX ma Zephyr operating system. O le NuttX o se faiga fa'aoga-taimi e tu'uina atu feso'ota'iga feso'ota'i POSIX, fa'aleleia atili le fa'aogaina o talosaga. O le Zephyr o se faiga faʻaoga faʻapitoa faʻapitoa mo le IoT. E aofia ai le tele o faletusi faakomepiuta e manaʻomia i le atinaʻeina o IoT, faʻasolosolo faʻasolosolo i se faʻalapotopotoga faʻanatura faakomepiuta.
O lenei tusi e le o maua mai ai fa'atonuga fa'apipi'i mo si'osi'omaga tau atina'e ua ta'ua muamua. E mafai ona e fa'apipi'i se si'osi'omaga atina'e e fa'atatau i ou mana'oga e ala i le mulimuli i fa'amaumauga ma fa'atonuga.
4.3 ESP-IDF Compilation System
4.3.1 Manatu Autu o Faiga Fa'aopoopo
O se poloketi ESP-IDF o se fa'aputuga o se polokalame 'autu fa'atasi ma se galuega fa'aofi ma le tele o vaega fa'atino tuto'atasi. Mo example, o se poloketi e pulea ai sui o le LED e masani lava ona aofia ai se polokalama autu ma se vaega avetaavale e pulea le GPIO. Afai e te manaʻo e iloa le faʻaogaina mamao ole LED, e te manaʻomia foʻi le faʻaopoopoina o le Wi-Fi, TCP / IP protocol stack, ma isi.
E mafai e le faiga tu'ufa'atasiga ona fa'apipi'i, feso'ota'i, ma fa'atupuina le fa'atinoina files (.bin) mo le code e ala i se seti o tulafono faufale. O le faiga tu'ufa'atasiga o le ESP-IDF v4.0 ma fa'asologa i luga e fa'avae i luga o le CMake e le mafai, ma o le fa'asologa o le CMakeLists.txt e mafai ona fa'aoga e pulea ai le tu'ufa'atasiga o amioga o le code. I le faaopoopo atu i le lagolagoina o le syntax faavae o CMake, o le ESP-IDF compilation system o loʻo faʻamalamalamaina ai foi se seti o tulafono faʻapipiʻi faʻaletonu ma galuega CMake, ma e mafai ona e tusia le faʻasologa o tusitusiga ma faʻamatalaga faigofie.
4.3.2 Poloketi File Fauga
O se poloketi o se faila o loʻo i ai se polokalame faʻapipiʻi autu, vaega e faʻamalamalamaina e tagata faʻaoga, ma files mana'omia e fausia ai talosaga fa'atino, e pei o fa'amaumauga tu'ufa'atasia, fa'atulagaina
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 47

files, laulau vaeluaga, ma isi. Poloketi e mafai ona kopiina ma pasi atu, ma tutusa le faatinoga file e mafai ona tu'ufa'atasia ma fa'atupuina i masini fa'atasi ma le fa'ata'ita'iga o le si'osi'omaga atina'e ESP-IDF. Ose poloketi masani ESP-IDF file fausaga o lo'o fa'aalia ile Ata 4.14.
Ata 4.14. Poloketi masani ESP-IDF file fausaga Talu ai e lagolagoina e le ESP-IDF le tele o meataalo IoT mai Espressif, e aofia ai le ESP32, ESP32-S series, ESP32-C series, ESP32-H series, ma isi mea, e manaʻomia ona fuafua se sini aʻo leʻi tuufaatasia le code. O le faʻamoemoe o le masini masini e faʻatautaia le polokalama faʻaoga ma le faʻatulagaina o le faʻaogaina o le faiga. Fa'alagolago i ou mana'oga, e mafai ona e fa'ama'oti se tasi pe sili atu fa'amoemoe mo lau poloketi. Mo example, e ala i le poloaiga idf.py seti-taulai esp32c3, e mafai ona e setiina le taulaiga tuufaatasia i le ESP32-C3, i le taimi o le a utaina le tapulaa faaletonu ma le tuufaatasia meafaigaluega filifili ala mo ESP32C3. A maeʻa le tuʻufaʻatasia, e mafai ona faia se polokalame faʻatinoina mo le ESP32C3. E mafai fo'i ona e toe fa'ata'ita'iina le fa'atonuga fa'atonu e fa'atulaga se isi fa'amoemoega, ma o le a otometi lava ona fa'amama ma toe fa'aopoopo le faiga fa'aopoopo. Vaega
O vaega i totonu ole ESP-IDF o iunite fa'apitoa ma tuto'atasi e pulea i totonu ole faiga fa'aopoopo. O lo'o fa'atulagaina e pei o faila, fa'atasi ai ma le igoa o le faila e fai ma sui o le igoa vaega e ala i le faaletonu. O vaega taʻitasi e iai a latou lava faʻamaumauga tuʻufaʻatasia e 48 ESP32-C3 Wireless Adventure: O se Taʻiala Malamalama i IoT

o lo'o fa'ama'oti ai ona tu'ufa'atasiga ma fa'alagolago. I le faagasologa o le tuufaatasia, o vaega e tuufaatasia i faletusi tulaga eseese (.a files) ma mulimuli ane tu'ufa'atasia ma isi vaega e fausia ai le polokalame talosaga.
ESP-IDF o lo'o tu'uina atu galuega taua, e pei o le faiga fa'aoga, ta'avale lautele, ma le fa'aputuga o feso'ota'iga, i le tulaga o vaega. O vaega nei o lo'o teuina i totonu o le lisi o vaega o lo'o i totonu o le ESP-IDF root directory. E le manaʻomia e le au atiaʻe ona kopi nei vaega i le lisi o vaega o myProject. Nai lo lena, latou te manaʻomia le faʻamaonia o sootaga faʻalagolago o nei vaega i le CMakeLists.txt o le poloketi file fa'aaogā fa'atonuga REQUIRES po'o PRIV_REQUIRES. O le a otometi lava ona su'e ma tu'ufa'atasia vaega e mana'omia.
O le mea lea, o le lisi o vaega i lalo o myProject e le manaʻomia. E na'o le fa'aaogaina e aofia ai nisi o vaega fa'ale-aganu'u o le poloketi, lea e mafai ona avea ma faletusi lona tolu po'o fa'ailoga fa'aoga-tagata. E le gata i lea, o vaega e mafai ona maua mai so'o se lisi e ese mai i le ESP-IDF po'o le poloketi o lo'o i ai nei, e pei o se galuega tatala-puna fa'asaoina i se isi tusi. I lenei tulaga, e tatau ona e faʻaopoopoina le ala o le vaega e ala i le setiina o le EXTRA_COMPONENT_DIRS fesuiaiga i le CMakeLists.txt i lalo o le root directory. Ole lisi lea ole a fa'amalo so'o se vaega ole ESP-IDF ile igoa tutusa, fa'amautinoa ole fa'aoga sa'o le vaega.
Polokalama ulufale autu O le tusi autu i totonu o le poloketi e mulimulita'i tutusa file fausaga e pei o isi vaega (faataitaiga, vaega1). Ae ui i lea, o loʻo i ai se taua faʻapitoa ona o se vaega faʻamalosia e tatau ona iai i galuega uma. O le lisi autu o loʻo i ai le faʻailoga autu o le poloketi ma le mea e ulufale ai le tagata faʻaoga, e masani ona taʻua app_main. O le fa'aletonu, o le fa'atinoina o le polokalame a le tagata fa'aoga e amata mai i lenei mea e ulufale ai. O le vaega autu e ese foi i le otometi lava ona faalagolago i vaega uma i totonu o le auala suʻesuʻe. O le mea lea, e leai se mana'oga e fa'ailoa manino atu fa'alagolago ile fa'aogaina ole REQUIRES po'o PRIV_REQUIRES fa'atonuga ile CMakeLists.txt file.
Fa'atonuga file O le lisi autu o le poloketi o loʻo i ai se faʻatulagaga file ua taʻua o le sdkconfig, lea o loʻo i ai faʻamaufaʻailoga faʻatulagaina mo vaega uma i totonu o le poloketi. O le sdkconfig file e otometi lava ona fa'atupuina e le faiga tu'ufa'atasiga ma e mafai ona fa'aleleia ma toe fa'afouina e le fa'atonuga idf.py menuconfig. O filifiliga menuconfig e masani lava ona afua mai i le Kconfig.projbuild o le poloketi ma le Kconfig o vaega. E masani ona fa'aopoopo e le au atina'e mea fa'apipi'i mea fa'aopoopo i Kconfig e fa'afaigofie ai le vaega ma fa'atulaga.
Fausia le fa'atonuga I le fa'aletonu, o le fa'atonuga faufale i totonu o le poloketi e teu i totonu o le fale files ma le fi-
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 49

nal polokalame fa'atinoina na faia e le idf.py build command. I se tulaga lautele, e le manaʻomia le faʻaogaina saʻo o mea o loʻo i totonu o le lisi o le fausiaina. ESP-IDF o lo'o tu'uina atu ni fa'atonuga fa'atonu e fegalegaleai ma le lisi, e pei o le fa'aogaina o le idf.py flash command e otometi ona su'e le binary tu'ufa'atasi. file ma faʻamalama i le tuatusi flash faʻamaonia, poʻo le faʻaaogaina o le idf.py fullclean poloaiga e faʻamama ai le lisi atoa o le fausiaina.
Vaevae laulau (partitions.csv) E manaʻomia e poloketi taʻitasi se laulau vaeluaga e vaelua ai le avanoa o le moli ma faʻamaonia le tele ma le tuatusi amata o le polokalame faʻatinoina ma le avanoa o faʻamatalaga tagata. Poloaiga idf.py flash poʻo le OTA faʻaleleia polokalame o le a moli le firmware i le tuatusi fetaui e tusa ai ma lenei laulau. ESP-IDF e maua ai le tele o laulau vaeluaga e le mafai ona fa'aogaina i vaega/ partition_table, e pei o partitions_singleapp.csv ma ​​partitions_two_ ota.csv, lea e mafai ona filifilia i le menuconfig.
Afai e le mafai e le laulau vaeluaga o le faiga e le mafai ona ausia manaʻoga o le poloketi, e mafai ona faʻaopoopo se partitions.csv masani i le lisi o galuega ma filifilia i le menuconfig.
4.3.3 Tulafono Faufale Fa'aletonu ole Faiga Fa'aopoopo
Tulafono mo le fa'asili o vaega i le igoa tutusa I le faagasologa o le sailiga o vaega, o le faiga fa'aopoopo e mulimulita'i i se fa'atonuga fa'apitoa. E su'e muamua vaega i totonu ole ESP-IDF, ona su'e lea mo vaega ole galuega fa'aoga, ma mulimuli ane su'e vaega ile EXTRA_COMPONENT_DIRS. I mataupu e tele tusitaiala o lo'o i ai vaega e tutusa le igoa, o le vaega o lo'o maua i le lisi mulimuli o le a fa'amalo so'o se vaega muamua ma le igoa tutusa. O lenei tulafono e fa'atagaina ai le fa'avasegaina o vaega o le ESP-IDF i totonu o le poloketi a le tagata fa'aoga, a'o fa'atumauina pea le ulua'i fa'ailoga ESP-IDF.
Tulafono mo le aofia ai o vaega masani e ala i le faaletonu E pei ona taʻua i le vaega 4.3.2, vaega e manaʻomia ona faʻamaonia manino lo latou faʻalagolago i isi vaega i le CMakeLists.txt. Ae ui i lea, o vaega masani e pei o freertos e otometi lava ona aofia i totonu o le faiga faufale e ala i le faaletonu, e tusa lava pe le o faʻamalamalamaina manino a latou sootaga faʻalagolago i le faʻasologa o tusitusiga. O vaega masani ole ESP-IDF e aofia ai freertos, Newlib, heap, log, soc, esp_rom, esp_common, xtensa/riscv, ma cxx. O le fa'aogaina o nei vaega masani e 'alofia ai galuega fai fai pe a tusia le CMakeLists.txt ma fa'apuupuu atili.
Tulafono mo le fa'asili o mea fa'atulagaina E mafai e le au atia'e ona fa'aopoopo fa'amaufa'ailoga fa'aletonu e ala i le fa'aopoopoina o se fa'atonuga fa'aletonu file igoa sdkconfig.defaults i le poloketi. Mo example, fa'aopoopo CONFIG_LOG_
50 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

DEFAULT_LEVEL_NONE = y e mafai ona fetuutuunai le UART interface e le lolomi faamaumauga ogalaau e ala i le faaletonu. E le gata i lea, afai e manaʻomia ona faʻatulagaina ni faʻamaufaʻailoga faapitoa mo se faʻamoemoega faapitoa, o se faʻatulagaga file igoa sdkconfig.defaults.TARGET_NAME e mafai ona faaopoopo, lea TARGET_NAME e mafai ona esp32s2, esp32c3, ma isi. O nei faatulagaga files ua faaulufale mai i totonu o le sdkconfig i le taimi o le tuufaatasia, faatasi ai ma le faatulagaga masani masani file sdkconfig.defaults o lo'o fa'aulufale muamua mai, soso'o ai ma le fa'atonuga fa'apitoa file, pei o le sdkconfig.defaults.esp32c3. I tulaga o loʻo i ai mea faʻatulagaina ma le igoa tutusa, o le faʻasologa mulimuli file o le a sili atu le muamua.
4.3.4 Fa'atomuaga i le Tusi Fa'atasi
Pe a atiaʻe se poloketi e faʻaaoga ai le ESP-IDF, e le gata ina manaʻomia e le au atinaʻe le tusia o faʻamatalaga puna ae e manaʻomia foi ona tusi CMakeLists.txt mo le poloketi ma vaega. CMakeLists.txt ose tusitusiga file, e taʻua foi o se tusitusiga tuʻufaʻatasia, lea e faʻamatalaina ai se faasologa o mea faʻapipiʻi, mea faʻapipiʻi faʻapipiʻi, ma faʻatonuga e taʻitaʻia ai le faʻagasologa o le faʻaogaina o le code source. O le faʻapipiʻiina o le ESP-IDF v4.3.2 e faʻavae ile CMake. I le faaopoopo atu i le lagolagoina o galuega ma poloaiga a le CMake, o loʻo faʻamatalaina ai foi se faasologa o galuega faʻapitoa, faʻafaigofie atili le tusia o tusitusiga faʻapipiʻi.
O fa'amaumauga tu'ufa'atasi i le ESP-IDF e tele lava ina aofia ai fa'amaumauga tu'ufa'atasiga o poloketi ma fa'amaumauga tu'ufa'atasiga vaega. O le CMakeLists.txt i le root directory o le poloketi e taʻua o le faʻasologa o le faʻatulagaina o galuega, lea e taʻitaʻia ai le faʻagasologa o le faʻatulagaina o le galuega atoa. O se fa'asologa fa'asologa o galuega faatino e masani ona aofia ai laina nei e tolu:
1. cmake_minimum_required(VERSION 3.5) 2. aofia($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. project(myProject)
Faatasi ai ma i latou, o le cmake_minimum_required (VERSION 3.5) e tatau ona tuʻu i luga o le laina muamua, lea e faʻaaogaina e faʻaalia ai le numera laʻititi o le CMake e manaʻomia e le poloketi. O lomiga fou o le CMake e masani lava ona fetaui i tua ma lomiga tuai, o lea ia fetuutuunai le numera numera e tusa ai pe a faʻaaoga tulafono CMake fou e faʻamautinoa le fetaui.
aofia($ENV {IDF_PATH}/tools/cmake/project.cmake) fa'aulufale mai mea fa'atulagaina muamua ma fa'atonuga a le ESP-IDF faiga tu'ufa'atasiga, e aofia ai tulafono faufau fa'aletonu o le faiga tu'ufa'atasi o lo'o fa'amatalaina i le Vaega 4.3.3. project(myProject) fatuina le poloketi lava ia ma faʻamaonia lona igoa. O lenei igoa ole a fa'aogaina e fai ma fa'auiga fa'ai'u fa'alua file igoa, o lona uiga, myProject.elf ma myProject.bin.
O se poloketi e mafai ona tele vaega, e aofia ai le vaega autu. O le lisi pito i luga o vaega ta'itasi o lo'o iai le CMakeLists.txt file, lea e ta'ua o le vaega fa'aopoopo tusitusiga. O fa'amaumauga tu'ufa'atasiga e fa'aaogaina e fa'amaoti ai fa'alagolago i vaega, fa'asologa o fa'asologa, fa'ailoga puna files, ma aofia ai ulutala filemo
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 51

fa'atasiga. Faatasi ai ma le galuega masani a le ESP-IDF idf_component_register, o le numera aupito maualalo e manaʻomia mo se vaega faʻapipiʻi tusitusiga e faʻapea:

1. idf_component_register(SRCS “src1.c”

2.

INCLUDE_DIRS “aofia ai”

3.

Manaomia vaega1)

O le SRCS parameter e maua ai se lisi o puna'oa files i le vaega, tuueseese e avanoa pe a tele files. Ole fa'ailoga INCLUDE_DIRS e maua ai se lisi o fa'aulutala lautele file directories mo le vaega, lea o le a faaopoopo i le auala e aofia ai suʻesuʻega mo isi vaega e faʻalagolago i le vaega o loʻo iai nei. O le fa'ailoga REQUIRES e fa'ailoa ai fa'alagolago vaega lautele mo le vaega o iai nei. E mana'omia mo vaega e fa'ailoa manino mai po'o fea vaega latou te fa'alagolago i ai, pei o le vaega2 fa'alagolago ile vaega1. Ae ui i lea, mo le vaega autu, lea e faʻalagolago i vaega uma e ala i le faaletonu, o le REQUIRES parameter e mafai ona faʻaumatia.

E le gata i lea, e mafai foi ona faʻaaogaina tulafono CMake i le faʻasologa o tusitusiga. Mo example, faʻaaoga le faʻatonuga seti e seti ai fesuiaiga, e pei o le seti (VARIABLE "VALUE").

4.3.5 Folasaga i Poloaiga masani
ESP-IDF fa'aoga CMake (mea faigaluega fa'atulagaina o galuega), Ninja (mea faigaluega fau fale) ma le esptool (meafaigaluega moli) i le fa'agasologa o le tu'ufa'atasiga o tulafono. O meafaigaluega taʻitasi e faia se sao eseese i le tuʻufaʻatasia, fausiaina, ma le faʻagasologa o le moli, ma e lagolagoina foi tulafono faʻaogaina eseese. Ina ia faʻafaigofie le faʻaogaina o tagata, ESP-IDF faʻaopoopo se idf.py faʻatasi i luma e faʻatagaina ai poloaiga o loʻo i luga e valaau vave.
Aʻo leʻi faʻaaogaina idf.py, ia mautinoa e:
· O le suiga o le siosiomaga IDF_PATH o le ESP-IDF ua faʻaopoopoina i le laina o loʻo iai nei. · O le fa'atonuga o fa'atonuga o le fa'atonuga a'a o le poloketi, lea e aofia ai le
fa'asologa o galuega faatino CMakeLists.txt.
O tulafono masani a idf.py e faʻapea:
· idf.py –fesoasoani: fa'aali se lisi o fa'atonuga ma latou fa'atonuga fa'aoga. · idf.py set-target : fa'atulaga le tu'ufa'atasiga taidf.py fullcleanrget, fa'apea
e pei o le suia i le esp32c3. · idf.py menuconfig: fa'alauiloa le menuconfig, se fa'asologa fa'asologa o ata
meafaigaluega, lea e mafai ona filifili pe fesuiai filifiliga faatulagaga, ma o taunuuga faatulagaina e faasaoina i le sdkconfig file. · idf.py fausia: amataina le tuufaatasia o code. Le vaeluagalemu files ma le polokalama faʻataunuʻu mulimuli na fatuina e le tuʻufaʻatasiga o le a faʻasaoina i totonu o le lisi o le fausiaina o le poloketi e le mafai. O le fa'agasologa fa'aopoopo e fa'aopoopo, o lona uiga pe a na'o le tasi le puna file ua suia, na o le suia file o le a tuufaatasia i le isi taimi.

52 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

· idf.py mama: faʻamamāina le vaeluagalemu files fa'atupuina e le tu'ufa'atasiga o poloketi. O le galuega atoa o le a faamalosia e tuufaatasia i le isi tuufaatasiga. Manatua o le CMake faʻatulagaina ma suiga faʻatulagaina e faia e le menuconfig o le a le tapeina i le taimi o le faʻamamaina.
· idf.py fullclean: tape le lisi atoa o le fausiaina, e aofia uma ai le faʻatulagaina o le CMake files. A toe fausia le poloketi, CMake o le a faʻapipiʻi le poloketi mai le sasa. Faamolemole ia matau o lenei poloaiga o le a toe tape uma files i totonu o le lisi o le fausiaina, o lea ia faʻaaoga ma le faʻaeteete, ma le faʻatulagaina o galuega file o le a le tapeina.
· idf.py flash: emo le binary polokalame faatino file fa'atupuina e ala ile fausiaina ile sini ole ESP32-C3. O filifiliga -p ma le -b e fa'aogaina e seti ai le igoa masini o le telefoni fa'asologa ma le fua fa'atatau mo le emo. Afai o nei filifiliga e lua e le o faʻamaonia, o le a otometi lava ona iloa le laina telefoni ma o le a faʻaaogaina le faʻaogaina o le paʻu fua.
· idf.py mataʻituina: faʻaalia le faʻasologa o le taulaga o le ESP32-C3. O le filifiliga -p e mafai ona faʻaaoga e faʻamaonia ai le igoa o le masini o le fale talimalo itu tau telefoni. I le taimi o le lolomiga o le port serial, oomi le ki Ctrl+] e alu ese ai mai le mata'itu.
E mafai fo'i ona tu'ufa'atasia fa'atonuga i luga pe a mana'omia. Mo example, o le poloaiga idf.py fausia flash mataʻituina o le a faia code compilation, moli, ma tatala le mataʻituina uafu serial i le faasologa.
E mafai ona e asiasi https://bookc3.espressif.com/build-system e iloa atili ai le ESP-IDF compilation system.
4.4 Faataitai: Tuufaatasia Example Polokalame "Emo"
4.4.1 Esoample Iloiloga
O lenei vaega o le a avea le polokalame Blink e pei o se example e iloilo le file faʻatulagaina ma tulafono faʻatulagaina o se galuega moni i auiliiliga. O le polokalame Blink o lo'o fa'atinoina le fa'aaliga emo o le LED, ma o lo'o iai le poloketi i totonu o le fa'atonugaamples/get-start/blink, lea e iai se puna file, faatulagaga files, ma le tele o tusitusiga tuufaatasia.
O le poloketi malamalama atamai na faʻaofiina i lenei tusi e faʻavae i luga o lenei example polokalame. O galuega o le a fa'aopoopo malie i isi mataupu e fa'amae'a ai.
Source code Ina ia faʻaalia le faagasologa atoa o le atinaʻe, ua kopi le polokalame Blink i le esp32c3-iot-projects/device firmware/1 emo.
Le fa'asologa o fa'atonuga o le galuega emo files o loʻo faʻaalia i le Ata 4.15.
O le poloketi emo e na'o le tasi le lisi autu, o se vaega fa'apitoa lea
Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 53

Ata 4.15. File fa'atonuga fa'atonuga o le poloketi emo

e tatau ona aofia ai e pei ona faamatalaina i le vaega 4.3.2. O le lisi autu e masani ona faʻaaogaina e teu ai le faʻatinoga o le app_main() galuega, o le mea e ulufale ai i le polokalame tagata faʻaoga.O le faʻataʻitaʻiga emo e le aofia ai le lisi o vaega, aua o lenei exampE na'o le mana'omia o le fa'aogaina o vaega e sau ma le ESP-IDF ma e le mana'omia ni vaega fa'aopoopo. O le CMakeLists.txt o loʻo aofia i totonu o le emoemo poloketi e faʻaaogaina e taʻitaʻia ai le faʻagasologa o le tuʻufaʻatasia, aʻo Kconfig.projbuild e faʻaaogaina e faʻaopoopo ai mea faʻatulagaina mo lenei ex.ample polokalame ile menuconfig. O isi mea e le mana'omia files o le a le afaina ai le tuʻufaʻatasia o le code, o lea o le a le talanoaina iinei. O se fa'amatalaga auiliili i le poloketi emo files e faapea.

1. /*blink.c e aofia ai le ulutala lea files*/

2. #include

// Ulutala faletusi masani C file

3. #include “freeertos/freeRTOS.h” //FreeRTOS ulutala autu file

4. #include “freeertos/task.h”

//FreeRTOS Task ulutala file

5. #include “sdkconfig.h”

// Fa'aulutala fa'atutu file gaosia e kconfig

6. #include “taavale/gpio.h”

// Ulutala avetaavale GPIO file

Le puna file blink.c o lo'o iai se fa'asologa o ulutala filee fetaui ma galuega fa'ailoa-

tions. E masani ona mulimulita'i le ESP-IDF i le fa'atonuga o le fa'aulutalaina o le faletusi masani files, FreeR-

Ulutala TOS files, ulutala aveta'avale files, isi ulutala vaega files, ma le ulutala galuega files.

Le fa'asologa o le ulutala files o lo'o aofia ai e ono a'afia ai le fa'ai'uga tu'ufa'atasiga mulimuli, o lea taumafai e

mulimuli i tulafono masani. E tatau ona maitauina o le sdkconfig.h e otometi lava ona gaosia

e le kconfig ma e mafai ona faʻatulagaina e ala i le faʻatonuga idf.py menuconfig.

Suiga tuusao o lenei ulutala file o le a suia.

1. /*E mafai ona e filifilia le GPIO e fetaui ma le LED i idf.py menuconfig, ma o le suiga o le menuconfig o le tau o CONFIG_BLINK.

_GPIO o le a suia. E mafai fo'i ona e suia sa'o le fa'amatalaga macro

iinei, ma sui CONFIG_BLINK_GPIO i se tau tumau.*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO

3. void app_main(vale)

4. {

5.

/* Fa'atulaga le IO e pei o le GPIO galuega fa'aletonu, fa'agaoioi le toso i luga, ma

6.

fa'agata le fa'aogaina ma le fa'aogaina o auala*/

7.

gpio_reset_pin(BLINK_GPIO);

54 ESP32-C3 Wireless Adventure: O se Ta'iala Atoa ile IoT

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

/* Seti le GPIO i le faiga o galuega */ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); a'o(1) {
/*Lomitusi ogalaau*/ printf(“Tape le LEDn”); /*Tape le LED (tulaga maualalo maualalo)*/ gpio_set_level(BLINK_GPIO, 0); /*Tuai (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf(“Suia le LEDn”); /* Fa'aola le LED (tulaga maualuga maualuga)*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }

Ole app_main() galue ile Blink example polokalame e avea ma nofoaga e ulufale ai mo polokalame fa'aoga. O se galuega faigofie e leai ni fa'amaufa'ailoga ma leai se tau toe fa'afo'i. O lenei galuega e vala'au pe a mae'a ona fa'aulufaleina le faiga, lea e aofia ai galuega e pei o le amataina o le log serial port, configuring tasi/dual core, ma le configured the watchdog.

O le app_main() galuega e tamoʻe i le tulaga o se galuega e taʻua autu. Ole tele ole fa'aputuga ma le fa'amuamua o lenei galuega e mafai ona fetu'una'i ile menuconfig Componentconfig Common ESP e feso'ota'i.

Mo galuega faigofie e pei o le emo o le LED, e mafai ona faʻatinoina uma tulafono talafeagai i le app_main() galuega. E masani lava ona aofia ai le amataina o le GPIO e fetaui ma le LED ma le faʻaogaina o se taimi(1) matasele e sui ai le LED i luga ma tape. I le isi itu, e mafai ona e fa'aogaina le FreeRTOS API e fai ai se galuega fou e fa'atautaia ai le emo o le LED. A maeʻa loa le galuega fou, e mafai ona e alu ese mai le app_main() galuega.

O mea o lo'o i totonu ole main/CMakeLists.txt file, lea e taʻitaʻia ai le faʻagasologa o le tuʻufaʻatasia mo le vaega autu, e faʻapea:

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

Faatasi ai ma i latou, autu/CMakeLists.txt e na'o le tasi le tu'ufa'atasiga o le fa'aogaina, o le idf_component_register. E tutusa ma le CMakeLists.txt mo le tele o isi vaega, blink.c ua faaopoopo i le SRCS, ma le puna. files fa'aopoopo i le SRCS o le a tu'ufa'atasia. I le taimi lava e tasi, ".", o loʻo faʻatusalia le ala o loʻo i ai CMakeLists.txt, e tatau ona faʻaopopo i INCLUDE_DIRS e avea ma suʻesuʻega suʻesuʻe mo ulutala. files. Ole mea ole CMakeLists.txt e fa'apea:
1. #Specify v3.5 o le CMake version tuai e lagolagoina e le poloketi o loʻo iai nei 2. #Versions laʻititi nai lo le v3.5 e tatau ona faʻaleleia aʻo leʻi faʻaauau le tuʻufaʻatasia 3. cmake_minimum_required(VERSION 3.5) 4. #Include the default CMake configuration of the ESP -IDF faiga tu'ufa'atasi

Mataupu 4. Fa'atulagaina o Atina'e Si'osi'omaga 55

5. aofia($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Fausia se poloketi e igoa “emo” 7. poloketi(myProject)
Faatasi ai ma i latou, o le CMakeLists.txt i le root directory e masani ona aofia ai le $ENV{IDF_ PATH}/tools/cmake/project.cmake, o le faʻatonuga autu CMake. file saunia e le ESP-IDF. E fa'aaogaina e con

Pepa / Punaoa

Espressif Systems ESP32-C3 Wireless Adventure [pdf] Taiala mo Tagata Fa'aoga
ESP32-C3 Fa'ata'ita'iga uaealesi, ESP32-C3, Fa'asalalauga uaealesi, Fa'asalalauga

Fa'asinomaga

Tuu se faamatalaga

E le fa'asalalauina lau tuatusi imeli. Fa'ailogaina fanua mana'omia *