Njem Ikuku ESP32-C3
Njem Ikuku ESP32-C3
Ntuziaka zuru oke maka IoT
Sistemụ Espressif June 12, 2023
Nkọwapụta
- Ngwaahịa: ESP32-C3 Ikuku Adventure
- Onye nrụpụta: Espressif Systems
- Ụbọchị: June 12, 2023
Ntuziaka ojiji ngwaahịa
Nkwadebe
Tupu iji ESP32-C3 Wireless Adventure, hụ na ị nọ
maara nke ọma echiche na ije nke IoT. Nke a ga-enyere aka
ị ghọtara ka ngwaọrụ ahụ si dabara na gburugburu ebe obibi IoT buru ibu
na ngwa ya nwere ike na ụlọ smart.
Okwu mmalite na omume nke IoT Projects
Na ngalaba a, ị ga-amụta maka ụdị ọrụ IoT,
gụnyere modul ndị bụ isi maka ngwaọrụ IoT nkịtị, modul ndị bụ isi
nke ngwa ndị ahịa, yana nyiwe igwe ojii IoT nkịtị. Nke a ga-
nye gị ntọala maka nghọta na ịmepụta gị
oru IoT nke onwe ya.
Omume: Smart Light Project
N'ime ọrụ omume a, ị ga-amụta otu esi emepụta smart
ọkụ na-eji ESP32-C3 Wireless Adventure. Nhazi oru ngo,
ọrụ, ngwaike nkwadebe, na mmepe usoro ga-abụ
kọwara n'ụzọ zuru ezu.
Ọdịdị Project
Ihe oru ngo a nwere otutu ihe, tinyere ihe ndi ozo
ESP32-C3 Ikuku Adventure, LEDs, sensọ, na igwe ojii
azụ azụ.
Ọrụ oru ngo
Ọrụ ọkụ smart na-enye gị ohere ijikwa nchapụta na
agba nke LED remotely site a mobile ngwa ma ọ bụ web
interface.
Nkwadebe ngwaike
Iji kwadebe maka oru ngo, ị ga-mkpa ikpokọta
Ngwa ngwaike dị mkpa, dị ka ikuku ESP32-C3
Ụgbọ njem njem, LEDs, resistors, na ọkụ ọkụ.
Usoro mmepe
Usoro mmepe gụnyere ịtọlite mmepe ahụ
gburugburu ebe obibi, koodu ederede iji chịkwaa LEDs, na-ejikọta na
igwe ojii backend, na ịnwale ọrụ nke smart
ìhè.
Okwu mmalite nke ESP RainMaker
ESP RainMaker bụ usoro siri ike maka ịmepụta IoT
ngwaọrụ. Na ngalaba a, ị ga-amụta ihe ESP RainMaker bụ yana
otu esi eme ya n'ọrụ gị.
Kedu ihe bụ ESP RainMaker?
ESP RainMaker bụ igwe ojii dabere na ikpo okwu na-enye usoro nke
ngwaọrụ na ọrụ maka iwulite na ijikwa ngwaọrụ IoT.
Mmejuputa nke ESP RainMaker
Akụkụ a na-akọwa akụkụ dị iche iche dị na ya
na-emejuputa ESP RainMaker, gụnyere ọrụ mkpesa,
Onye nnọchi anya RainMaker, igwe ojii na azụ azụ na onye ahịa RainMaker.
Omume: Isi ihe maka mmepe na ESP RainMaker
Na ngalaba omume a, ị ga-amụta maka isi ihe dị na ya
tụlee mgbe ị na-emepe emepe na ESP RainMaker. Nke a gụnyere ngwaọrụ
nkwuputa, mmekọrịta data na njikwa onye ọrụ.
Njirimara nke ESP RainMaker
ESP RainMaker na-enye atụmatụ dị iche iche maka njikwa onye ọrụ, njedebe
ndị ọrụ, na ndị nchịkwa. Atụmatụ ndị a na-enye ohere maka ngwaọrụ dị mfe
ntọlite, remote njikwa, na nlekota oru.
Ịtọlite gburugburu mmepe
Akụkụ a na-enye ihe nfeview nke ESP-IDF (Espressif IoT
Development Framework), nke bụ usoro mmepe gọọmentị
maka ngwaọrụ dabere na ESP32. Ọ na-akọwa dị iche iche nsụgharị nke
ESP-IDF na otu esi edobe gburugburu mmepe.
Ngwaike na mmepe ọkwọ ụgbọala
Nhazi ngwaike nke ngwaahịa Smart Light dabere na ESP32-C3
Akụkụ a na-elekwasị anya na nhazi ngwaike nke smart light
ngwaahịa dabere na ESP32-C3 Wireless Adventure. Ọ na-ekpuchi
atụmatụ na mejupụtara nke smart ìhè ngwaahịa, yana ndị
Nhazi ngwaike nke sistemu isi ESP32-C3.
Njirimara yana Ngwakọta Ngwa Ọkụ Smart
Nkebi nke a na-akọwa atụmatụ na akụrụngwa na-eme
elu smart ìhè ngwaahịa. Ọ na-atụle ọrụ dị iche iche
na chepụta echiche maka ịmepụta smart ọkụ.
Nhazi ngwaike nke Sistemụ Isi ESP32-C3
Nhazi ngwaike nke sistemu isi ESP32-C3 gụnyere ike
ọkọnọ, usoro ike-na, nrụpụta sistemụ, SPI flash, isi iyi elekere,
na echiche RF na antenna. Nkebi nke a na-enye
ozi zuru ezu na akụkụ ndị a.
FAQ
Ajụjụ: Gịnị bụ ESP RainMaker?
A: ESP RainMaker bụ ikpo okwu nke igwe ojii na-enye ngwaọrụ
yana ọrụ maka iwulite na ijikwa ngwaọrụ IoT. Ọ na-eme ka ọ dị mfe
usoro mmepe ma na-enye ohere maka nhazi ngwaọrụ dị mfe, nke dịpụrụ adịpụ
njikwa, na nlekota oru.
Ajụjụ: Kedu ka m ga-esi guzobe gburugburu mmepe maka
ESP32-C3?
A: Iji melite gburugburu mmepe maka ESP32-C3, ịchọrọ
iji wụnye ESP-IDF (Espressif IoT Development Framework) na
hazie ya dịka ntuziaka enyere. ESP-IDF bụ ya
Usoro mmepe gọọmentị maka ngwaọrụ dabere na ESP32.
Ajụjụ: Gịnị bụ atụmatụ ESP RainMaker?
A: ESP RainMaker na-enye atụmatụ dị iche iche, gụnyere onye ọrụ
njikwa, njirimara onye ọrụ njedebe, yana njirimara nchịkwa. Njikwa onye ọrụ
na-enye ohere maka nzọrọ ngwaọrụ dị mfe yana mmekọrịta data. Onye ọrụ njedebe
atụmatụ na-eme ka njikwa anya nke ngwaọrụ site na ngwa mkpanaka ma ọ bụ
web interface. Atụmatụ nchịkwa na-enye ngwaọrụ maka nlekota ngwaọrụ
na njikwa.
Njem Ikuku ESP32-C3
Ntuziaka zuru oke maka IoT
Sistemụ Espressif June 12, 2023
ọdịnaya
M Nkwadebe
1
1 Okwu Mmalite IoT
3
1.1 Ihe owuwu nke IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Ngwa IoT na Smart Homes. . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Okwu Mmalite na Omume nke IoT Projects
9
2.1 Okwu Mmalite nke Arụmọrụ IoT. . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Modul ndị bụ isi maka ngwaọrụ IoT nkịtị. . . . . . . . . . . . . . . . . 9
2.1.2 Basic modul nke ngwa ndị ahịa . . . . . . . . . . . . . . . . . . . 10
2.1.3 Okwu Mmalite na IoT Cloud Platform. . . . . . . . . . . . . . 11
2.2 Omume: Smart Light Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Nhazi oru ngo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Ọrụ oru ngo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 Nkwadebe ngwaike . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 Usoro mmepe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Okwu Mmalite nke ESP RainMaker
19
3.1 Gịnị bụ ESP RainMaker? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Mmejuputa nke ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 Ọrụ Ịkwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Onye nnọchi anya mmiri ozuzo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 Igwe n'azụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.4 Onye ahịa mmiri ozuzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Omume: Isi ihe maka mmepe na ESP RainMaker. . . . . . . . . . . . 25
3.4 atụmatụ nke ESP RainMaker. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 Njikwa onye ọrụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.2 Njirimara onye ọrụ njedebe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.3 Njirimara Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Ịtọlite gburugburu mmepe
31
4.1 ESP-IDF karịrịview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 Ụdị ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3
4.1.2 ESP-IDF Git Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Ịhọrọ ụdị dabara adaba . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 gafereview nke ESP-IDF SDK ndekọ . . . . . . . . . . . . . . . . . . . . 34 4.2 Ịtọlite ESP-IDF gburugburu mmepe. . . . . . . . . . . . . . . . . 38 4.2.1 Ịtọlite ESP-IDF Development Environment na Linux. . . . . . . . 38 4.2.2 Ịtọlite gburugburu mmepe ESP-IDF na Windows . . . . . . 40 4.2.3 Ịtọlite gburugburu mmepe ESP-IDF na Mac . . . . . . . . . 45 4.2.4 Ịwụnye koodu VS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Okwu Mmalite na gburugburu mmepe nke ndị ọzọ. . . . . . . . 46 4.3 ESP-IDF Sistemụ mkpokọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Echiche bụ isi nke Sistemụ mkpokọta. . . . . . . . . . . . . . . . . . 47 4.3.2 oru ngo File Nhazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Iwulite iwu nke Sistemụ mkpokọta. . . . . . . . . . . . . 50 4.3.4 Okwu Mmalite nke Ederede Nchịkọta . . . . . . . . . . . . . . . . . . 51 4.3.5 Okwu Mmalite n'iwu nkịtị . . . . . . . . . . . . . . . . . . . 52 4.4 Omume: Na-achịkọta Exampna Mmemme “Blink” . . . . . . . . . . . . . . . . . . 53 4.4.1 Ọpụample Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Ịchịkọta mmemme blink . . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Na-eme ka mmemme na-egbuke egbuke . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Serial Port log Analysis of the Blink Program . . . . . . . . . . . . . . 60 4.5 Nchịkọta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
II Ngwaike na mmepe ọkwọ ụgbọala
65
5 Nhazi ngwaike nke ngwaahịa Smart Light dabere na ESP32-C3
67
5.1 Atụmatụ na Ngwakọta nke Smart Light Ngwaahịa. . . . . . . . . . . . . . . 67
5.2 Nhazi ngwaike nke Sistemụ Isi ESP32-C3. . . . . . . . . . . . . . . . . . . 70
5.2.1 ike inye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2 Ike-na Usoro na Ntọgharị Sistemụ . . . . . . . . . . . . . . . . . . 74
5.2.3 SPI Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.4 Isi mmalite elekere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.5 RF na Antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.6 eriri eriri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.7 GPIO na PWM njikwa . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.3 Omume: Eji ESP32-C3 wulite Sistemụ ọkụ. . . . . . . . . . . . . 80
5.3.1 Modul ịhọrọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.2 Na-ahazi GPIO nke akara PWM . . . . . . . . . . . . . . . . . . . . 82
5.3.3 Nbudata Firmware na Nbudata Interface . . . . . . . . . . . . 82
5.3.4 Ntuziaka maka imepụta RF. . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 Ntuziaka maka imepụta ike inye ike. . . . . . . . . . . . . . . . . . . 86 5.4 Nchịkọta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6 Mmepe ọkwọ ụgbọ ala
87
6.1 Usoro mmepe ọkwọ ụgbọ ala. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2 ESP32-C3 Ngwa dị n'akụkụ . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3 Ihe ndabere nke ọkwọ ụgbọ ala LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.1 Agba oghere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.2 LED ọkwọ ụgbọ ala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.3 LED na-ebelata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.4 Okwu Mmalite na PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.4 LED Dimming Driver Development. . . . . . . . . . . . . . . . . . . . . . . . 96
6.4.1 Nchekwa na-adịghị agbanwe agbanwe (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97
6.4.2 Onye njikwa PWM LED (LEDC) . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.3 LED PWM Mmemme. . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5 Omume: Ịgbakwunye ndị ọkwọ ụgbọ ala na Project Light Light. . . . . . . . . . . . . . . . . 103
6.5.1 bọtịnụ ọkwọ ụgbọ ala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5.2 LED Dimming ọkwọ ụgbọ ala. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.6 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
III Nkwukọrịta ikuku na njikwa
109
7 Nhazi na njikọ Wi-Fi
111
7.1 Ihe ndabere nke Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.1 Okwu Mmalite na Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.2 Mgbanwe nke IEEE 802.11. . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.3 Echiche Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.4 Njikọ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2 Ihe ndabere nke Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2.1 Okwu Mmalite Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.2 Echiche Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.2.3 Njikọ Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.3 Nhazi netwọk Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.3.1 Ntuziaka nhazi netwọk Wi-Fi . . . . . . . . . . . . . . . . . . . . 131
7.3.2 SoftAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.3 SmartConfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.4 Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.3.5 Ụzọ ndị ọzọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.4 Mmemme Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 Ngwa Wi-Fi na ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 Omume: Njikọ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 Omume: Njikọ Wi-Fi Smart . . . . . . . . . . . . . . . . . . . . . 145
7.5 Omume: Nhazi Wi-Fi na Smart Light Project. . . . . . . . . . . . . . . 156 7.5.1 Njikọ Wi-Fi na Smart Light Project. . . . . . . . . . . . . . . . . 156 7.5.2 Nhazi Wi-Fi Smart . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Njikwa Obodo
159
8.1 Okwu Mmalite na Njikwa Mpaghara. . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.1.1 Ngwa nke njikwa mpaghara. . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.2 Advantages of Local Control . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.3 Ịchọta ngwaọrụ a na-achịkwa site na smartphones . . . . . . . . . . 161
8.1.4 Nkwukọrịta data n'etiti smartphones na ngwaọrụ . . . . . . . . 162
8.2 Ụzọ nchọpụta mpaghara . . . . . . . . . . . . . . . . . . . . . . . . 162
8.2.1 Mgbasa ozi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.2.2 Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2.3 Ntụle n'etiti Mgbasa ozi na Multicast. . . . . . . . . . . . . . 176
8.2.4 Multicast Ngwa Protocol mDNS maka nchọpụta mpaghara. . . . . . . . 176
8.3 Usoro nzikọrịta ozi maka data mpaghara. . . . . . . . . . . . . . . 179
8.3.1 Usoro njikwa nnyefe (TCP) . . . . . . . . . . . . . . . . . . . 179
8.3.2 HyperText Nyefee Protocol (HTTP) . . . . . . . . . . . . . . . . . . . 185
8.3.3 Onye ọrụ Datagram Protocol (UDP). . . . . . . . . . . . . . . . . . . . . . 189
8.3.4 Protocol Ngwa amachibidoro (CoAP) . . . . . . . . . . . . . . . . 192
8.3.5 Bluetooth Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
8.3.6 Nchịkọta nke Usoro Nkwukọrịta Data . . . . . . . . . . . . . . . 203
8.4 Nkwenye nke nchekwa data. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.4.1 Okwu Mmalite nke Transport Layer Security (TLS) . . . . . . . . . . . . . 207
8.4.2 Okwu Mmalite nke Datagram Transport Layer Security (DTLS) . . . . . . . 213
8.5 Omume: Njikwa mpaghara na Smart Light Project. . . . . . . . . . . . . . . . . . 217
8.5.1 Ịmepụta sava njikwa mpaghara dabere na Wi-Fi. . . . . . . . . . . . . . . 217
8.5.2 Ịkwado ọrụ njikwa mpaghara site na iji edemede. . . . . . . . . . . 221
8.5.3 Ịmepụta sava njikwa mpaghara dabere na Bluetooth. . . . . . . . . . . . 222
8.6 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9 Njikwa igwe ojii
225
9.1 Okwu Mmalite na njikwa anya. . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.2 Usoro nkwukọrịta data igwe ojii. . . . . . . . . . . . . . . . . . . . . . 226
9.2.1 MQTT Okwu Mmalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 MQTT ụkpụrụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 MQTT Usoro Ozi . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 Ntụnyere Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Ịtọlite MQTT Broker na Linux na Windows . . . . . . . . . . . . 233 9.2.6 Ịtọlite onye ahịa MQTT dabere na ESP-IDF . . . . . . . . . . . . . . . . 235 9.3 Na-ahụ maka nchekwa data MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 Pụtara na Ọrụ nke Asambodo . . . . . . . . . . . . . . . . . . . 237 9.3.2 Na-emepụta asambodo na mpaghara. . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 Na-ahazi MQTT Broker. . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 Na-ahazi onye ahịa MQTT. . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 Omume: Njikwa anya site na ESP RainMaker . . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Node na Cloud Backend Protocol Communication . . . . . . . . . . . 244 9.4.3 Nkwukọrịta n'etiti onye ahịa na azụ igwe ojii. . . . . . . . . . . 249 9.4.4 Ọrụ onye ọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Ọrụ ndị bụ isi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 Smart Light Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 Ngwa RainMaker na njikọta nke ndị ọzọ. . . . . . . . . . . . . . . 262 9.5 Nchịkọta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10 Smartphone App Mmepe
269
10.1 Okwu Mmalite na Smartphone App Development . . . . . . . . . . . . . . . . . . 269
10.1.1 gafereview nke Smartphone App Development . . . . . . . . . . . . . . . 270
10.1.2 Ọdịdị nke Android Project . . . . . . . . . . . . . . . . . . . . . . 270
10.1.3 Ọdịdị nke iOS Project . . . . . . . . . . . . . . . . . . . . . . . . 271
10.1.4 Usoro ndụ nke ihe omume gam akporo . . . . . . . . . . . . . . . . . . . . . . 272
10.1.5 Lifecycle nke iOS ViewOnye njikwa . . . . . . . . . . . . . . . . . . . . . . 273
10.2 Imepụta oru ngo ngwa Smartphone ọhụrụ. . . . . . . . . . . . . . . . . . . . . 275
10.2.1 Na-akwado maka mmepe gam akporo. . . . . . . . . . . . . . . . . . . 275
10.2.2 Ịmepụta Ọrụ Android Ọhụrụ . . . . . . . . . . . . . . . . . . . . . . 275
10.2.3 Na-agbakwunye ndabere maka MyRainmaker. . . . . . . . . . . . . . . . . 276
10.2.4 Arịrịọ ikike na gam akporo . . . . . . . . . . . . . . . . . . . . . . 277
10.2.5 Na-akwado maka mmepe iOS. . . . . . . . . . . . . . . . . . . . . . 277
10.2.6 Ịmepụta Ọrụ iOS ọhụrụ . . . . . . . . . . . . . . . . . . . . . . . . 278
10.2.7 Na-agbakwunye ndabere maka MyRainmaker. . . . . . . . . . . . . . . . . 279
10.2.8 Arịrịọ ikike na iOS . . . . . . . . . . . . . . . . . . . . . . . . . 280
10.3 Ntụle nke ngwa chọrọ ịrụ ọrụ . . . . . . . . . . . . . . . . . . 281
10.3.1 Nyochaa ihe achọrọ arụ ọrụ nke oru ngo. . . . . . . . . . . . 282
10.3.2 Nyocha nke chọrọ njikwa onye ọrụ. . . . . . . . . . . . . . . 282 10.3.3 Nyocha nke inye ngwaọrụ na njide chọrọ. . . . . . . 283 10.3.4 Nyocha nke chọrọ njikwa ime anya. . . . . . . . . . . . . . . . 283 10.3.5 Nyocha nke nhazi oge chọrọ. . . . . . . . . . . . . . . . . . . 284 10.3.6 Nyocha nke chọrọ Center onye ọrụ. . . . . . . . . . . . . . . . . . 285 10.4 Mmepe nke njikwa onye ọrụ. . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 Okwu Mmalite nke RainMaker API . . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 Mmalite nzikọrịta ozi site na ama . . . . . . . . . . . . . . . . 286 10.4.3 Ndebanye aha akaụntụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 Nbanye Akaụntụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 Mmepe nke inye ngwaọrụ. . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 Ngwaọrụ nyocha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 Ngwa jikọọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 Na-emepụta igodo nzuzo. . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Nweta Node ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 Ngwaọrụ inye . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 Mmepe njikwa ngwaọrụ. . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 Ngwa ejikọ na akaụntụ igwe ojii. . . . . . . . . . . . . . . . . . . . 303 10.6.2 Inweta ndepụta ngwaọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 Ịnweta ọnọdụ ngwaọrụ. . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 Na-agbanwe ọnọdụ ngwaọrụ. . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 Mmepe nke nhazi oge na ebe onye ọrụ. . . . . . . . . . . . . . . . . . . 313 10.7.1 Na-arụ ọrụ nhazi oge. . . . . . . . . . . . . . . . . . . . 313 10.7.2 Ebe orụ ọrụ. . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 API igwe ojii ndị ọzọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 Nchịkọta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
11 nkwalite ngwa ngwa na njikwa ụdị
321
11.1 Firmware nkwalite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
11.1.1 gafereview nke Tebụl nkebi . . . . . . . . . . . . . . . . . . . . . . . . 322
11.1.2 Firmware Boot Usoro. . . . . . . . . . . . . . . . . . . . . . . . . . . 324
11.1.3 gafereview nke usoro OTA. . . . . . . . . . . . . . . . . . . . . 326
11.2 Njikwa ụdị Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.1 Firmware Marking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.2 Akwụghachi azụ na Mgbochi Rollback . . . . . . . . . . . . . . . . . . . . . . . . 331
11.3 Omume: N'elu ikuku (OTA) Ọpụample . . . . . . . . . . . . . . . . . . . . . . . 332
11.3.1 kwalite Firmware Site na onye nnabata mpaghara. . . . . . . . . . . . . . . . . 332
11.3.2 kwalite Firmware Site na ESP RainMaker . . . . . . . . . . . . . . . 335
11.4 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
IV Optimization na Mass Production
343
12 Njikwa ike na njikarịcha ike dị ala
345
12.1 ESP32-C3 njikwa ike. . . . . . . . . . . . . . . . . . . . . . . . . . . 345
12.1.1 Ntụle ugboro ole na-agbanwe agbanwe. . . . . . . . . . . . . . . . . . . . . . . . 346
12.1.2 Nhazi njikwa ike. . . . . . . . . . . . . . . . . . . . 348
12.2 ESP32-C3 Ụdị ike dị ala. . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
12.2.1 modem-ụra mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
12.2.2 Ụdị ụra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
12.2.3 Ọnọdụ ụra miri emi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
12.2.4 Oriri ugbu a n'ụdị ike dị iche iche. . . . . . . . . . . . . 358
12.3 Njikwa ike na nbibi ike dị ala. . . . . . . . . . . . . . . . . 359
12.3.1 Ndebanye aha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
12.3.2 GPIO Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
12.4 Omume: Njikwa ike na Smart Light Project. . . . . . . . . . . . . . . 363
12.4.1 Ịhazi njikwa njikwa ike. . . . . . . . . . . . . . . . . 364
12.4.2 Jiri Mkpọchi njikwa ike. . . . . . . . . . . . . . . . . . . . . . 365
12.4.3 Na-enyocha ike oriri. . . . . . . . . . . . . . . . . . . . . . . 366
12.5 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
13 Atụmatụ nchekwa ngwaọrụ emelitere
369
13.1 gafereview Nchekwa data ngwaọrụ IoT. . . . . . . . . . . . . . . . . . . . . . . 369
13.1.1 Gịnị kpatara ịchebe data ngwaọrụ IoT? . . . . . . . . . . . . . . . . . . . . . . 370
13.1.2 Ihe ndị achọrọ maka nchekwa data ngwaọrụ IoT. . . . . . . . . . . . 371
13.2 Data iguzosi ike n'ezi ihe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
13.2.1 Okwu Mmalite na usoro nkwenye iguzosi ike n'ezi ihe. . . . . . . . . . . . . . 372
13.2.2 Nkwenye ntụkwasị obi nke data firmware. . . . . . . . . . . . . . . . . . 373
13.2.3 Ọpụample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3 Nchedo nzuzo data. . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3.1 Okwu Mmalite na ezoro ezo data. . . . . . . . . . . . . . . . . . . . . . 374
13.3.2 Okwu Mmalite na atụmatụ nzuzo Flash. . . . . . . . . . . . . . . . . 376
13.3.3 Nchekwa igodo ezoro ezo . . . . . . . . . . . . . . . . . . . . . . . 379
13.3.4 Ụdị ọrụ nke nzuzo Flash . . . . . . . . . . . . . . . . . . . . 380
13.3.5 Usoro ezoro ezo Flash. . . . . . . . . . . . . . . . . . . . . . . . . . 381
13.3.6 Okwu Mmalite nke NVS . . . . . . . . . . . . . . . . . . . . . . 383
13.3.7 Ọpụamples nke Flash encryption na NVS izo ya ezo. . . . . . . . . . . 384
13.4 nchekwa data ziri ezi. . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
13.4.1 Okwu Mmalite na mbinye aka dijitalụ. . . . . . . . . . . . . . . . . . . . . 386
13.4.2 gafereview Atụmatụ buut echekwara . . . . . . . . . . . . . . . . . . . . . 388
13.4.3 Okwu Mmalite Boot echekwara . . . . . . . . . . . . . . . . . . . 388 13.4.4 Okwu Mmalite na Boot Nchekwa ngwaike. . . . . . . . . . . . . . . . . . 390 13.4.5 Ọpụamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 Omume: Atụmatụ Nchekwa na Mmepụta Mass. . . . . . . . . . . . . . . . . . 396 13.5.1 Flash ezoro ezo na buut echekwara . . . . . . . . . . . . . . . . . . . . . 396 13.5.2 Na-enyere ezoro ezo Flash na Boot echekwara ya na Ngwa Flash Batch. . 397 13.5.3 Na-enyere ezoro ezo Flash na Boot echekwara na Smart Light Project. . . 398 13.6 Nchịkọta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
14 Firmware Ọkụ na Nnwale maka Mmepụta Mass
399
14.1 Firmware na-ere ọkụ na nrụpụta Mass. . . . . . . . . . . . . . . . . . . . . . 399
14.1.1 Na-akọwa nkebi data. . . . . . . . . . . . . . . . . . . . . . . . . . 399
14.1.2 Firmware na-ere ọkụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
14.2 Nnwale Mmepụta Mass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
14.3 Omume: Data Mmepụta Mass na Smart Light Project. . . . . . . . . . . . . 404
14.4 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
15 Nghọta ESP: Platform nlekota anya
405
15.1 Okwu Mmalite nke ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
15.2 Malite na ESP Insights. . . . . . . . . . . . . . . . . . . . . . . . . 409
15.2.1 Imalite na nghota ESP n'ime oru esp-nghọta. . . . . . 409
15.2.2 Na-agba ọsọ Example na esp-insights Project . . . . . . . . . . . . . . . 411
15.2.3 na-akọ ozi Coredump. . . . . . . . . . . . . . . . . . . . . 411
15.2.4 Ịhazi ndekọ nke mmasị. . . . . . . . . . . . . . . . . . . . . . . . 412
15.2.5 Mkpesa Reboot Mere . . . . . . . . . . . . . . . . . . . . . . . . . 413
15.2.6 Mkpesa Metrics Omenala . . . . . . . . . . . . . . . . . . . . . . . . . 413
15.3 Omume: Iji ESP Insights na Smart Light Project. . . . . . . . . . . . . . . 416
15.4 Nchịkọta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Okwu mmalite
ESP32-C3 bụ otu isi Wi-Fi yana Bluetooth 5 (LE) microcontroller SoC, dabere na isi mmalite RISC-V. Ọ na-adaba nguzozi ziri ezi nke ike, ikike I/O, na nchekwa, si otú a na-enye ihe ngwọta kachasị mma maka ngwaọrụ ejikọrọ. Iji gosi ngwa dị iche iche nke ezinụlọ ESP32-C3, akwụkwọ a nke Espressif ga-eme ka ị gaa njem na-atọ ụtọ site na AIoT, na-amalite site na ntọala nke mmepe ọrụ IoT na nhazi gburugburu ebe obibi gaa na nke bara uru.amples. Isiakwụkwọ anọ mbụ na-ekwu maka IoT, ESP RainMaker na ESP-IDF. Isi nke 5 na 6 nkenke maka imepụta ngwaike na mmepe ọkwọ ụgbọ ala. Ka ị na-aga n'ihu, ị ga-achọpụta otu esi ahazi ọrụ gị site na netwọk Wi-Fi na ngwa mkpanaka. N'ikpeazụ, ị ga-amụta ịkwalite ọrụ gị ma tinye ya n'ime mmepụta oke.
Ọ bụrụ na ị bụ onye injinia na mpaghara ndị metụtara ya, onye na-ese ụkpụrụ ngwanrọ, onye nkuzi, nwa akwụkwọ, ma ọ bụ onye ọ bụla nwere mmasị na IoT, akwụkwọ a bụ maka gị.
Ị nwere ike ibudata koodu exampejiri mee ihe n'akwụkwọ a sitere na saịtị Espressif na GitHub. Maka ozi kachasị ọhụrụ gbasara mmepe IoT, biko soro akaụntụ gọọmentị anyị.
Okwu mmalite
Ụwa na-eme ihe ọmụma
N'ịgba ọsọ nke ịntanetị, ịntanetị nke ihe (IoT) mere mpụta mbụ ya ka ọ bụrụ ụdị akụrụngwa ọhụrụ na akụnụba dijitalụ. Iji mee ka nkà na ụzụ dịkwuo nso na ọha na eze, Espressif Systems na-arụ ọrụ maka ọhụụ na ndị mmepe sitere na ụdị ndụ niile nwere ike iji IoT dozie ụfọdụ nsogbu kachasị njọ nke oge anyị. Ụwa nke "Intelligent Network of All Things" bụ ihe anyị na-atụ anya n'ọdịnihu.
Ịmepụta ibe anyị na-eme ka akụkụ dị oke egwu nke ọhụụ ahụ. Ọ ga-abụ marathon, na-achọ ọganihu mgbe niile megide oke teknụzụ. Site na "Onye na-agbanwe egwuregwu" ESP8266 gaa na usoro ESP32 na-ejikọta Wi-Fi na Bluetoothr (LE), ESP32-S3 kwadoro site na AI acceleration, Espressif anaghị akwụsị nyocha na ịmepụta ngwaahịa maka ngwọta AIoT. Site na ngwanrọ mepere emepe anyị, dị ka IoT Development Framework ESP-IDF, Mesh Development Framework ESP-MDF, na Ngwaọrụ Njikọta Platform ESP RainMaker, anyị ekepụtala usoro nọọrọ onwe ya maka iwulite ngwa AIoT.
Dị ka nke Julaị 2022, mbupu mbupu nke Espressif's IoT chipsets karịrị nde 800, na-eduga n'ahịa Wi-Fi MCU ma na-akwalite ọnụ ọgụgụ dị ukwuu nke ngwaọrụ ejikọrọ n'ụwa niile. Nchụso maka ịdị mma na-eme ka ngwaahịa Espressif ọ bụla bụrụ nnukwu ihe egwu maka njikọta dị elu yana arụmọrụ ọnụ ahịa ya. Ntọhapụ nke ESP32-C3 bụ akara ngosi dị ịrịba ama nke teknụzụ Espressif mepụtara onwe ya. Ọ bụ otu isi, 32-bit, RISC-V dabeere na MCU na 400KB nke SRAM, nke nwere ike ịgba ọsọ na 160MHz. Ọ ejikọtala 2.4 GHz Wi-Fi na Bluetooth 5 (LE) na nkwado ogologo. Ọ na-akụta nguzozi dị mma nke ike, ikike I/O na nchekwa, si otú a na-enye ihe ngwọta kachasị mma maka ngwaọrụ ejikọrọ. Dabere na ESP32-C3 dị ike dị otú ahụ, ezubere akwụkwọ a iji nyere ndị na-agụ akwụkwọ aka ịghọta ihe ọmụma metụtara IoT na nkọwa zuru ezu na ex bara uru.amples.
Gịnị mere anyị ji dee akwụkwọ a?
Espressif Systems karịrị ụlọ ọrụ semiconductor. Ọ bụkwa ụlọ ọrụ ikpo okwu IoT, nke na-agba mbọ mgbe niile maka ọganihu na ihe ọhụrụ na ngalaba teknụzụ. N'otu oge ahụ, Espressif ewepụtala ma kesaa sistemụ arụmọrụ nke onwe ya na usoro ngwanrọ ya na ndị obodo, na-eme usoro gburugburu ebe obibi pụrụ iche. Ndị injinia, ndị na-emepụta ihe, na ndị na-anụ ọkụ n'obi na teknụzụ na-arụsi ọrụ ike na-emepụta ngwa sọftụwia ọhụrụ dabere na ngwaahịa Espressif, na-ekwurịta okwu n'efu, ma kesaa ahụmịhe ha. Ị nwere ike ịhụ echiche na-adọrọ adọrọ nke ndị mmepe na nyiwe dị iche iche oge niile, dị ka YouTube na GitHub. Ihe a na-ewu ewu nke ngwaahịa Espressif akpaliwo ọnụ ọgụgụ na-arịwanye elu nke ndị odee bụ ndị mepụtara akwụkwọ karịrị 100 dabere na Espressif chipsets, n'ihe karịrị asụsụ iri, gụnyere Bekee, Chinese, German, French, na Japanese.
Ọ bụ nkwado na ntụkwasị obi nke ndị mmekọ obodo na-agba ume ọhụrụ Espressif na-aga n'ihu. "Anyị na-agba mbọ ime ka ibe anyị, sistemu arụ ọrụ, usoro, ihe ngwọta, igwe ojii, omume azụmahịa, ngwaọrụ, akwụkwọ, edemede, echiche, wdg, dabara adaba na azịza ndị mmadụ chọrọ na nsogbu kachasị njọ nke ndụ ugbu a. Nke a bụ ọchịchọ kachasị elu na ụkpụrụ omume Espressif." kwuru Mr. Teo Swee Ann, Onye guzobere na CEO nke Espressif.
Espressif ji ịgụ na echiche kpọrọ ihe. Dị ka nkwalite teknụzụ IoT na-aga n'ihu na-ebute ihe ndị dị elu na ndị injinia, kedu ka anyị ga-esi nyere ọtụtụ mmadụ aka ka ha mara ngwa ngwa IoT ibe, sistemụ arụmọrụ, usoro ngwanrọ, atụmatụ ngwa na ngwaahịa ọrụ igwe ojii? Dị ka a na-ekwu, ọ ka mma ikuziri mmadụ azụ karịa inye ya azụ. Na nnọkọ ntugharị uche, ọ bịara anyị na anyị nwere ike ide akwụkwọ iji hazie usoro ihe ọmụma bụ isi nke mmepe IoT. Anyị kụrụ ya, gbakọta otu ndị injinia dị elu ngwa ngwa, wee jikọta ahụmịhe nke ndị ọrụ nka na mmemme agbakwunyere, ngwaike IoT na mmepe ngwanrọ, niile na-enye aka na mbipụta akwụkwọ a. N'ime usoro ide ihe, anyị gbalịrị ike anyị niile ka anyị nwee ezi uche na ezi uche, napụ akị ahụ, ma jiri okwu dị nkenke mee ihe iji kọwaa mgbagwoju anya na ịma mma nke Ịntanetị. Anyị ji nlezianya chịkọta ajụjụ ndị a na-ajụkarị, na-ezo aka na nzaghachi na aro ndị obodo, iji zaa ajụjụ ndị a na-enwe n'ụzọ doro anya na usoro mmepe ahụ, ma nye ntụziaka mmepe IoT bara uru maka ndị ọkachamara dị mkpa na ndị na-eme mkpebi.
Nhazi akwụkwọ
Akwụkwọ a na-ewere echiche dabere na injinia wee kọwapụta ihe ọmụma dị mkpa maka mmepe ọrụ IoT site na nzọụkwụ. Ihe mejupụtara ya bụ akụkụ anọ, dịka ndị a:
· Nkwadebe (Isi nke 1): Akụkụ a na-ewebata ihe owuwu nke IoT, usoro ihe omume IoT na-ahụkarị, ikpo okwu igwe ojii ESP RainMakerr, na gburugburu mmepe ESP-IDF, ka ịtọ ntọala siri ike maka mmepe ọrụ IoT.
Nkwalite ngwaike na onye ọkwọ ụgbọ ala (Isi nke 5): Dabere na chipset ESP6-C32, akụkụ a na-akọwapụta usoro ngwaike kacha nta na mmepe ọkwọ ụgbọ ala, ma na-arụ ọrụ njikwa nke dimming, grading agba, na nkwukọrịta ikuku.
· Nkwukọrịta na njikwa ikuku ikuku (Isi nke 7): Akụkụ a na-akọwa atụmatụ nhazi Wi-Fi nwere ọgụgụ isi dabere na mgbawa ESP11-C32, ụkpụrụ njikwa mpaghara & igwe ojii, yana mpaghara & njikwa ngwaọrụ. Ọ na-enyekwa atụmatụ maka ịmepụta ngwa smartphone, nkwalite firmware na njikwa ụdị.
· Mmepụta kacha mma na Mass Production (Isi nke 12-15): Ezubere akụkụ a maka ngwa ngwa IoT dị elu, na-elekwasị anya na njikarịcha ngwaahịa na njikwa ike, njikarịcha ike dị ala, na nkwalite nchekwa. Ọ na-ewebata ọkụ na nyocha ngwa ngwa na mmepụta oke, yana otu esi achọpụta ọkwa na-agba ọsọ na ndekọ nke ngwa ngwa ngwa site na ikpo okwu nlekota anya ESP Insights.
Banyere Koodu Isi mmalite
Ndị na-agụ akwụkwọ nwere ike ịgba ọsọ example mmemme n'akwụkwọ a, ma ọ bụ site na iji aka tinye koodu ma ọ bụ site na iji koodu isi mmalite na-eso akwụkwọ. Anyị na-emesi njikọ nke tiori na omume ike, wee si otú a tọọ ngalaba omume dabere na ọrụ Smart Light n'ihe fọrọ nke nta ka ọ bụrụ isiakwụkwọ ọ bụla. Koodu niile bụ nke mepere emepe. A na-anabata ndị na-agụ akwụkwọ ka ị budata koodu isi mmalite wee kparịta ya na ngalaba metụtara akwụkwọ a na GitHub na ọgbakọ anyị esp32.com. Koodu mepere emepe nke akwụkwọ a dabere na usoro ikike Apache 2.0.
Ihe ndetu odee
Ọ bụ Espressif Systems wepụtara akwụkwọ a n'ihu ọha ma ndị injinia ụlọ ọrụ ahụ dere ya. Ọ dabara maka ndị njikwa na ndị ọrụ R&D na ụlọ ọrụ metụtara IoT, ndị nkuzi na ụmụ akwụkwọ nke majors metụtara ya, na ndị na-anụ ọkụ n'obi na ngalaba nke ihe ịntanetị. Anyị na-atụ anya na akwụkwọ a nwere ike bụrụ akwụkwọ ntuziaka ọrụ, akwụkwọ ntụaka, na akwụkwọ dị n'akụkụ akwa ka ọ dị ka ezigbo onye nkuzi na enyi.
Mgbe anyị na-achịkọta akwụkwọ a, anyị zoro aka na ụfọdụ nsonaazụ nyocha dị mkpa nke ndị ọkachamara, ndị ọkà mmụta na ndị na-ahụ maka ọrụ n'ụlọ na mba ọzọ, anyị gbalịkwara ike anyị niile ịkpọ ha dịka ụkpụrụ agụmakwụkwọ siri dị. Otú ọ dị, ọ bụ ihe a na-apụghị izere ezere na e kwesịrị inwe ihe ụfọdụ, ya mere, ebe a anyị ga-achọ igosipụta nkwanye ùgwù na ekele dị ukwuu nye ndị edemede niile dị mkpa. Na mgbakwunye, anyị ehotala ozi sitere na ịntanetị, yabụ anyị ga-achọ ikele ndị mbụ na-ede akwụkwọ na ndị bipụtara ya ma rịọ mgbaghara na anyị enweghị ike igosi isi mmalite nke ozi ọ bụla.
Iji wepụta akwụkwọ dị oke mma, anyị ahaziela mkparịta ụka n'ime ime, ma mụta site na aro na nzaghachi nke ndị na-agụ ikpe na ndị editọ mbipụta. N'ebe a, anyị ga-achọ ikele gị ọzọ maka enyemaka gị nke niile nyere aka n'ọrụ a na-aga nke ọma.
N'ikpeazụ, mana nke kachasị mkpa, ekele maka onye ọ bụla nọ na Espressif bụ onye rụsiri ọrụ ike maka ọmụmụ na mgbasa ozi nke ngwaahịa anyị.
Mmepe nke ọrụ IoT gụnyere ọtụtụ ihe ọmụma. Oke na ogologo nke akwụkwọ ahụ, yana ọkwa na ahụmịhe nke onye edemede, enweghị ihe a na-apụghị izere ezere. Ya mere, anyị ji obiọma na-arịọ ka ndị ọkachamara na ndị na-agụ akwụkwọ katọọ ma mezie mmejọ anyị. Ọ bụrụ na ị nwere aro ọ bụla maka akwụkwọ a, biko kpọtụrụ anyị na book@espressif.com. Anyị na-atụ anya nzaghachi gị.
Kedu otu esi eji akwụkwọ a?
E meghere koodu ọrụ ndị dị n'akwụkwọ a. Ị nwere ike budata ya na ebe nchekwa GitHub anyị wee kesaa echiche na ajụjụ gị na ọgbakọ gọọmentị anyị. GitHub: https://github.com/espressif/book-esp32c3-iot-projects Forum: https://www.esp32.com/bookc3 N'ime akwụkwọ ahụ, a ga-enwe akụkụ ndị akọwapụtara dị ka egosiri n'okpuru.
Koodu isi mmalite N'ime akwụkwọ a, anyị na-ekwusi ike nchikota nke tiori na omume, wee si otú a tọọ ngalaba omume gbasara ọrụ Smart Light n'ihe fọrọ nke nta ka ọ bụrụ isiakwụkwọ ọ bụla. A ga-akara usoro ndị kwekọrọ na ibe isi mmalite n'etiti ahịrị abụọ na-amalite na tag Koodu isi mmalite.
IHE / NDỤMỌDỤ Nke a bụ ebe ị nwere ike ịhụ ụfọdụ ozi dị oke egwu na ncheta maka ịmegharị mmemme gị nke ọma. A ga-akara ha akara n'etiti ahịrị gbara ọkpụrụkpụ na-amalite na tag IHE ma ọ bụ NDỤMỌDỤ.
A na-eme ọtụtụ iwu dị n'akwụkwọ a n'okpuru Linux, nke agwa "$" kpaliri. Ọ bụrụ na iwu ahụ chọrọ ohere ndị superuser iji mezuo, a ga-eji "#" dochie ngwa ngwa ahụ. Iwu ozugbo na sistemụ Mac bụ “%”, dị ka ejiri ya na ngalaba 4.2.3 Ịwụnye ESP-IDF na Mac.
A ga-ebipụta ederede ahụ na akwụkwọ a na Charter, ebe koodu examples, components, ọrụ, mgbanwe, koodu file aha, akwụkwọ ndekọ aha, na eriri ga-adị na Courier New.
Iwu ma ọ bụ ederede chọrọ ntinye site n'aka onye ọrụ, yana iwu enwere ike itinye site na ịpị igodo "Tinye" ga-ebipụta na Courier New bold. A ga-egosipụta ndekọ na koodu ngọngọ na igbe na-acha anụnụ anụnụ.
ExampLe:
Nke abụọ, jiri esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py mepụta ọnụọgụ abụọ nkebi NVS file na onye mmepe mmepe nwere iwu a:
$ python $ IDF PATH/Components/nvs flash/nvs partition generator/nvs partition gen.py –input mass prod.csv –output mass prod.bin –size NVS PARTITION SIZE
Isi nke 1
Okwu mmalite
ka
IoT
Na njedebe nke narị afọ nke 20, na mmụba nke netwọk kọmputa na teknụzụ nzikọrịta ozi, ịntanetị jikọtara ngwa ngwa n'ime ndụ ndị mmadụ. Ka teknụzụ ịntanetị na-aga n'ihu na-eto eto, a mụrụ echiche nke Intanet nke Ihe (IoT). N'ụzọ nkịtị, IoT pụtara ịntanetị ebe ejikọrọ ihe. Ọ bụ ezie na ịntanetị mbụ na-agbaji oke ohere na oge ma mee ka ohere dị n'etiti "mmadụ na mmadụ", IoT na-eme ka "ihe" bụrụ onye dị mkpa, na-eme ka "ndị mmadụ" na "ihe" bịaruo nso. N'ọdịnihu a na-ahụ anya, IoT atọrọ ka ọ bụrụ ike na-anya ụlọ ọrụ ozi.
Yabụ, kedu ihe bụ ịntanetị nke ihe?
O siri ike ịkọwa nke ọma ịntanetị nke ihe, ebe ọ pụtara na oke ya na-agbanwe mgbe niile. Na 1995, Bill Gates bu ụzọ welitere echiche nke IoT n'akwụkwọ ya bụ The Road Ahead. N'ikwu ya n'ụzọ dị mfe, IoT na-enyere ihe aka ịgbanwe ozi n'etiti onwe ya site na Ịntanetị. Ihe mgbaru ọsọ ya kachasị bụ ịmepụta "Internet nke Ihe niile". Nke a bụ nkọwa mbụ nke IoT, yana echiche efu nke teknụzụ n'ọdịnihu. Afọ iri atọ ka e mesịrị, na mmepe ngwa ngwa nke akụ na ụba na nkà na ụzụ, echiche efu na-abata n'eziokwu. Site na ngwaọrụ smart, ụlọ smart, smart obodo, ịntanetị nke ụgbọ ala na ngwaọrụ wearable, ruo na "metaverse" nke teknụzụ IoT na-akwado, echiche ọhụrụ na-apụta mgbe niile. N'isiakwụkwọ a, anyị ga-amalite na nkọwa nke ije nke Internet nke ihe, wee webata ngwa IoT kasị nkịtị, smart home, iji nyere gị aka ịghọta nke ọma IoT.
1.1 Ihe owuwu nke IoT
Ịntanetị nke ihe gụnyere ọtụtụ teknụzụ nke nwere mkpa ngwa dị iche iche na ụdị dị iche iche na ụlọ ọrụ dị iche iche. Iji dozie ihe owuwu ahụ, teknụzụ isi na njirimara ngwa nke IoT, ọ dị mkpa iji guzobe ụkpụrụ ụlọ jikọtara ọnụ na usoro teknụzụ ọkọlọtọ. N'ime akwụkwọ a, a na-ekewa nhazi nke IoT ka ọ bụrụ ọkwa anọ: nghọta & njikwa oyi akwa, netwọk netwọk, oyi akwa ikpo okwu na ngwa ngwa.
Nghọta & Njikwa Layer Dị ka ihe kachasị mkpa nke ụlọ ọrụ IoT, nghọta & njikwa njikwa bụ isi iji ghọta nghọta zuru oke nke IoT. Isi ọrụ ya bụ ịnakọta, mata na ịchịkwa ozi. Ọ nwere ngwaọrụ dị iche iche nwere ikike nghọta,
3
njirimara, njikwa na mkpochapụ, na ọ bụ ya na-ahụ maka iweghachite na nyocha data dị ka ihe onwunwe, usoro omume, na ọkwa ngwaọrụ. N'ụzọ dị otú a, IoT ga-amata ezigbo ụwa nkịtị. E wezụga nke ahụ, oyi akwa ahụ nwekwara ike ịchịkwa ọnọdụ nke ngwaọrụ ahụ.
Ngwa ndị a na-ahụkarị nke oyi akwa a bụ ihe mmetụta dị iche iche, nke na-arụ ọrụ dị mkpa na nchịkọta ozi na njirimara. Ihe mmetụta dị ka akụkụ ahụ mmetụta mmadụ, dị ka ihe mmetụta foto na-adaba n'ọhụụ, ihe mmetụta ụda ịnụ ihe, ihe mmetụta gas na-esi ísì, na nrụgide- na mmetụta okpomọkụ imetụ aka. Site na "akụkụ anụ ahụ" ndị a niile, ihe na-aghọ "dị ndụ" ma nwee ike nghọta nke ọgụgụ isi, nnabata na ịchịkwa ụwa nkịtị.
Network Layer Ọrụ bụ isi nke oyi akwa netwọk bụ ịnyefe ozi, gụnyere data enwetara site na nghọta & njikwa oyi akwa gaa na ebumnuche akọwapụtara, yana iwu enyere site na oyi akwa ngwa laghachi na nghọta & njikwa. Ọ na-eje ozi dị ka àkwà mmiri nkwukọrịta dị mkpa na-ejikọ ọkwa dị iche iche nke sistemụ IoT. Iji guzobe ụdị ihe ntanetị nke ihe, ọ gụnyere usoro abụọ iji jikọta ihe na netwọk: ịnweta ịntanetị na nnyefe site na Ịntanetị.
Ịnweta ịntanetị ịntanetị na-eme ka njikọ dị n'etiti mmadụ na mmadụ, mana ọ naghị etinye ihe n'ime ezinụlọ buru ibu. Tupu ọbịbịa nke IoT, ọtụtụ ihe enweghị ike "ịnweta netwọk". N'ihi mmepe nke teknụzụ na-aga n'ihu, IoT na-achịkwa ijikọ ihe na ịntanetị, si otú a na-achọpụta njikọ dị n'etiti "ndị mmadụ na ihe", na "ihe na ihe". Enwere ụzọ abụọ a na-ahụkarị iji mejuputa njikọ ịntanetị: nnweta netwọk ikuku na ịnweta netwọk ikuku.
Ụzọ ịnweta netwọkụ wired gụnyere Ethernet, nkwurịta okwu serial (dịka, RS-232, RS-485) na USB, ebe ịnweta netwọk ikuku na-adabere na nkwurịta okwu ikuku, nke nwere ike ekewa n'ime nkwurịta okwu ikuku dị mkpụmkpụ na nkwurịta okwu ikuku dị ogologo.
Nzikọrịta ikuku dị mkpụmkpụ gụnyere ZigBee, Bluetoothr, Wi-Fi, Nkwukọrịta dị nso na mpaghara (NFC), na njirimara Frequency Radio (RFID). Nkwukọrịta ikuku na-adị ogologo oge gụnyere nkwalite Ụdị Nkwukọrịta Igwe (eMTC), LoRa, Narrow Band Internet of Things (NB-IoT), 2G, 3G, 4G, 5G, wdg.
Mbufe site na ịntanetị Ụzọ dị iche iche nke ịnweta ịntanetị na-eduga na njikọ nke nnyefe anụ ahụ kwekọrọ. Ihe na-esote bụ ikpebi usoro nkwukọrịta ị ga-eji bufee data. E jiri ya tụnyere ọnụ ọnụ ịntanetị, ọtụtụ ọdụ IoT nwere ugbu a ole na ole
4 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
akụrụngwa dị, dị ka nhazi nhazi, ikike nchekwa, ọnụego netwọkụ, wdg, ya mere ọ dị mkpa ịhọrọ usoro nzikọrịta ozi nke na-etinye ihe onwunwe ole na ole na ngwa IoT. Enwere usoro nzikọrịta ozi abụọ a na-ejikarị taa: Message Queuing Telemetry Transport (MQTT) na Constrained Application Protocol (CoAP).
Platform Layer oyi akwa ikpo okwu na-ezo aka na nyiwe igwe ojii nke IoT. Mgbe ejikọrọ ọnụ ọnụ IoT niile, ọ dị mkpa ka achịkọta data ha n'elu ikpo okwu igwe ojii nke IoT iji gbakọọ ma chekwaa ya. Igwe ikpo okwu na-akwadokarị ngwa IoT n'ịkwado ịnweta na njikwa nke nnukwu ngwaọrụ. Ọ na-ejikọ ọnụ ọnụ IoT na ikpo okwu igwe ojii, na-anakọta data ọnụ, na-enye iwu na ọnụ ọnụ, iji mejuputa njikwa anya. Dị ka ọrụ etiti iji kenye akụrụngwa na ngwa ụlọ ọrụ, oyi akwa ikpo okwu na-arụ ọrụ njikọ na ụlọ ọrụ IoT niile, na-ebu echiche azụmaahịa na-enweghị atụ na ụdị data data ahaziri ahazi, nke nwere ike ọ bụghị naanị ịghọta ngwa ngwa nke ngwaọrụ, kamakwa na-enye ike modular dị ike. iji gboo mkpa dị iche iche na ọnọdụ ngwa ụlọ ọrụ. Igwe ikpo okwu na-agụnye modul arụ ọrụ dị ka ịnweta ngwaọrụ, njikwa ngwaọrụ, njikwa nchekwa, nzikọrịta ozi, ọrụ nlekota na mmezi, yana ngwa data.
· Nweta ngwaọrụ, na-achọpụta njikọ na nkwukọrịta n'etiti ọnụ na nyiwe igwe ojii IoT.
· Njikwa ngwaọrụ, gụnyere ọrụ dị ka imepụta ngwaọrụ, ndozi ngwaọrụ, ntụgharị data, mmekọrịta data na nkesa ngwaọrụ.
· Njikwa nchekwa, na-ahụ maka nchekwa nke nnyefe data IoT site n'echiche nke nyocha nchekwa na nchekwa nkwukọrịta.
· Nkwukọrịta ozi, gụnyere ụzọ nnyefe atọ, ya bụ, ọnụ na-eziga data na ikpo okwu igwe ojii nke IoT, ikpo okwu igwe ojii na-eziga data n'akụkụ ihe nkesa ma ọ bụ nyiwe igwe ojii ndị ọzọ, na akụkụ nkesa na-achịkwa ngwaọrụ IoT.
· Nleba anya O&M, gụnyere nleba anya na nyocha, nkwalite ngwa ngwa, nbipu n'ịntanetị, ọrụ ndekọ, wdg.
Ngwa data, gụnyere nchekwa, nyocha na ngwa data.
Ngwa Layer oyi akwa ngwa na-eji data sitere na oyi akwa ikpo okwu iji jikwaa ngwa ahụ, nzacha na hazie ya na ngwa dịka ọdụ data na ngwanrọ nyocha. Enwere ike iji data a rụpụtara maka ngwa IoT n'ezie dịka nlekọta ahụike smart, ọrụ ugbo mara mma, ụlọ mara mma, na obodo mara mma.
N'ezie, ihe owuwu nke IoT nwere ike kewaa n'ọkwa ndị ọzọ, mana n'agbanyeghị ọkwa ole ọ nwere, ụkpụrụ dị n'okpuru ka bụ otu. Ịmụ ihe
Isi nke 1. Okwu Mmalite nke IoT 5
banyere ihe owuwu nke IoT na-enyere aka mee ka nghọta anyị banyere teknụzụ IoT dịkwuo elu ma wulite ọrụ IoT na-arụ ọrụ nke ọma.
1.2 Ngwa IoT na Smart Homes
IoT abanyela n'ụdị ndụ niile, yana ngwa IoT nwere njikọ chiri anya anyị bụ ụlọ mara mma. Ọtụtụ ngwa ọdịnala ejirila otu ngwaọrụ IoT ma ọ bụ karịa rụọ ọrụ ugbu a, yana ọtụtụ ụlọ ewuru ọhụrụ ejiri teknụzụ IoT rụọ ọrụ site na mbido. Ọgụgụ 1.1 na-egosi ụfọdụ ngwaọrụ ụlọ smart nkịtị.
Ọgụgụ 1.1. Ngwa ụlọ smart smart nwere ike kewaa ngwa ngwa n'ime smart ngwaahịa stage, njikọ njikọ ọnọdụ stage na ndị nwere ọgụgụ isi stage, dị ka e gosiri na foto 1.2.
Ọgụgụ 1.2. Mmepe stage of smart home 6 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Nke mbụ stage bụ maka ngwaahịa smart. Dị iche na ụlọ ọdịnala, n'ụlọ ndị nwere ọgụgụ isi, ngwaọrụ IoT na-enweta akara na sensọ, ma na-ejikọta ya na teknụzụ nkwukọrịta ikuku dị ka Wi-Fi, Bluetooth LE, na ZigBee. Ndị ọrụ nwere ike ijikwa ngwaahịa smart n'ụzọ dị iche iche, dị ka ngwa smartphone, ndị enyemaka olu, njikwa okwu smart smart, wdg. Nke abụọ s.tage lekwasịrị anya na njikọta ọnọdụ. Na nke a stage, Mmepe na-agaghịkwa na-atụle ịchịkwa otu smart ngwaahịa, ma interconnecting abụọ ma ọ bụ karịa smart ngwaahịa, automating ruo n'ókè ụfọdụ, na n'ikpeazụ akpụ a omenala idaha mode. Maka exampOtú ọ dị, mgbe onye ọrụ pịa bọtịnụ ọnọdụ ọnọdụ ọ bụla, ọkụ, ákwà mgbochi na ikuku oyi ga-eme ka ọ bụrụ ihe ndị atọrọ na mbụ. N'ezie, enwere ihe a chọrọ ka edoziri njikọ njikọ ngwa ngwa, gụnyere ọnọdụ ịkpalite na omume igbu. Were ya na ọnọdụ ikpo ọkụ na-ekpo ọkụ na-eme ka ọnọdụ okpomọkụ dị n'ime ụlọ dara n'okpuru 10 Celsius; na n'elekere asaa nke ụtụtụ, a na-akpọ egwu na-akpọte onye ọrụ, na-emeghe ákwà mgbochi smart, na osikapa osikapa ma ọ bụ bred toaster na-amalite site na smart socket; ka onye ọrụ na-ebili ma mechaa sachaa, a na-eri nri nri ụtụtụ, ka ọ ghara igbu oge n'ịga ọrụ. Lee ka ndụ anyị siruru mma! Nke atọ stage na-aga ọgụgụ isi stage. Ka a na-enweta ọtụtụ ngwaọrụ ụlọ smart, otu ahụ ka a ga-esi nweta ụdị data ewepụtara. Site n'enyemaka nke igwe ojii, data buru ibu na ọgụgụ isi, ọ dị ka "ụbụrụ dị nkọ" ka etinyere n'ime ụlọ ndị mara mma, nke na-adịghịzi achọ iwu ugboro ugboro n'aka onye ọrụ. Ha na-anakọta data sitere na mmekọrịta gara aga wee mụta ụkpụrụ omume na mmasị onye ọrụ, ka ha wee megharịa mmemme, gụnyere inye ndụmọdụ maka ime mkpebi. Ugbu a, ọtụtụ ụlọ ndị nwere ọgụgụ isi nọ na ebe a na-eme njikọ njikọ stage. Ka ọnụ ọgụgụ ntinye na ọgụgụ isi nke ngwaahịa smart na-abawanye, a na-ewepụ ihe mgbochi n'etiti usoro nkwukọrịta. N'ọdịnihu, ụlọ ndị nwere ọgụgụ isi ga-abụ n'ezie "smart", dị ka usoro AI Jarvis na Iron Man, nke nwere ike ọ bụghị nanị na-enyere onye ọrụ aka ịchịkwa ngwaọrụ dị iche iche, na-ejikwa ihe omume kwa ụbọchị, ma nweekwa ike mgbakọ na mwepụ na ikike iche echiche. Na ndị nwere ọgụgụ isi stage, ụmụ mmadụ ga-enweta ọrụ ka mma ma n'ogo ma n'ịdị mma.
Isi nke 1. Okwu Mmalite nke IoT 7
8 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Isi mmalite na omume nke 2 IoT Project
N'Isi nke 1, anyị webatara ihe owuwu nke IoT, yana ọrụ na mmekọrịta nke echiche & njikwa oyi akwa, oyi akwa netwọkụ, oyi akwa ikpo okwu, na oyi akwa ngwa, yana mmepe nke ụlọ smart. Otú ọ dị, dị ka mgbe anyị na-amụta ịse agba, ịmara nkà mmụta ihe ọmụma bụ nnọọ ezuru. Anyị ga-emerịrị "aka anyị ruru unyi" iji tinye ọrụ IoT n'ọrụ iji nweta nkà na ụzụ n'ezie. Na mgbakwunye, mgbe oru ngo na-akwaga na mmepụta oke stage, ọ dị mkpa ịtụle ihe ndị ọzọ dị ka njikọ netwọkụ, nhazi, mmekọrịta ikpo okwu igwe ojii IoT, njikwa ngwa ngwa na mmelite, njikwa mmepụta oke, na nhazi nchekwa. Yabụ, kedu ihe anyị kwesịrị ịṅa ntị mgbe anyị na-emepụta ọrụ IoT zuru oke? N'Isi nke 1, anyị kwuru na smart home bụ otu n'ime ihe ndị kasị nkịtị IoT ngwa ndapụta, na smart ọkụ bụ otu n'ime ndị kasị isi na ngwa ngwa, nke nwere ike ji mee ihe n'ụlọ, hotels, gyms, ụlọ ọgwụ, wdg Ya mere, na. akwụkwọ a, anyị ga-ewere owuwu nke smart light project dị ka mmalite, kọwaa akụkụ ya na atụmatụ ya, na-enye nduzi na oru ngo mmepe. Anyị na-atụ anya na ị nwere ike ị nweta ntinye aka na nke a iji mepụta ngwa IoT ọzọ.
2.1 Okwu Mmalite nke Arụmọrụ IoT
N'ihe gbasara mmepe, modul arụ ọrụ nke ọrụ IoT nwere ike kewaa n'ime ngwanrọ na ngwaike nke ngwaọrụ IoT, mmepe ngwa ndị ahịa, yana mmepe ikpo okwu IoT. Ọ dị mkpa iji dokwuo anya modul arụ ọrụ ndị bụ isi, nke a ga-akọwakwuo na ngalaba a.
2.1.1 Modul ntọala maka ngwaọrụ IoT nkịtị
Software na ngwaike mmepe nke ngwaọrụ IoT gụnyere modul ndị a bụ isi: Nchịkọta data
Dị ka oyi akwa nke ala IoT architecture, ngwaọrụ IoT nke nghọta & njikwa oyi akwa jikọọ sensọ na ngwaọrụ site na ibe ha na akụkụ ha iji nweta nchịkọta data na njikwa ọrụ.
9
Ijikọ akaụntụ na nhazi mbụ Maka ọtụtụ ngwaọrụ IoT, a na-emecha njide akaụntụ na nhazi mbụ n'otu usoro arụmọrụ, maka ex.ample, ijikọ ngwaọrụ na ndị ọrụ site na ịhazi netwọk Wi-Fi.
Mmekọrịta na nyiwe igwe ojii IoT Iji nyochaa ma jikwaa ngwaọrụ IoT, ọ dịkwa mkpa ijikọ ha na nyiwe igwe ojii IoT, iji nye iwu na ịkọ ọkwa site na mmekọrịta n'etiti ibe ha.
Njikwa ngwaọrụ Mgbe ejikọtara ya na nyiwe igwe ojii nke IoT, ngwaọrụ nwere ike ịkparịta ụka na igwe ojii wee debanye aha, kechie ma ọ bụ chịkwaa ya. Ndị ọrụ nwere ike jụọ ọkwa ngwaahịa wee rụọ ọrụ ndị ọzọ na ngwa ama site na nyiwe igwe ojii IoT ma ọ bụ usoro nkwukọrịta mpaghara.
Ngwa nkwalite ngwa ngwa IoT nwekwara ike nweta nkwalite firmware dabere na mkpa ndị nrụpụta. Site na ịnata iwu nke igwe ojii zitere, nkwalite firmware na njikwa ụdị ga-enweta. Site na njirimara nkwalite firmware a, ị nwere ike ịkwalite ọrụ nke ngwaọrụ IoT, dozie ntụpọ, ma melite ahụmịhe onye ọrụ.
2.1.2 Modul bụ isi nke ngwa ndị ahịa
Ngwa ndị ahịa (dịka ọmụmaatụ, ngwa smartphone) gụnyere tumadi modul ndị a bụ isi:
Sistemu akaụntụ na ikike Ọ na-akwado ikike akaụntụ na ngwaọrụ.
Ngwa Smartphone njikwa ngwaọrụ na-enwekarị ọrụ njikwa. Ndị ọrụ nwere ike jikọọ na ngwaọrụ IoT ngwa ngwa ma jikwaa ha oge ọ bụla, ebe ọ bụla site na ngwa ama ama. N'ime ụlọ smart ụwa n'ezie, a na-achịkwa ngwaọrụ site na ngwa smartphone, nke ọ bụghị naanị na-enyere njikwa ọgụgụ isi nke ngwaọrụ aka, kamakwa na-echekwa ego nke onye ọrụ. Ya mere, njikwa ngwaọrụ bụ ihe dị mkpa maka ngwa ndị ahịa, dị ka njikwa njirimara ngwaọrụ, njikwa ọnọdụ, nhazi oge, njikwa anya, njikọ ngwaọrụ, wdg. , wdg, iji mee ka ndụ ụlọ dịkwuo mma ma dị mma. Ha nwere ike oge ntụ oyi, gbanyụọ ya ozugbo, gbanye ọkụ na paseeji ozugbo emeghere ụzọ, ma ọ bụ jiri otu bọtịnụ gbanwee gaa na ọnọdụ "ihe nkiri".
Ngwa ndị ahịa ngosi na-emelite ọkwa ngwa ngwa nke ngwaọrụ IoT ozugbo, ma zipụ ọkwa mgbe ngwaọrụ na-aga nke ọma.
10 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Ngwa ndị ahịa mgbe irechara ahịa Smartphone nwere ike ịnye ọrụ ire ere maka ngwaahịa, iji dozie nsogbu metụtara ọdịda ngwaọrụ IoT na arụmọrụ teknụzụ n'oge kwesịrị ekwesị.
Ọrụ ndị egosipụtara iji gboo mkpa nke ndị ọrụ dị iche iche, enwere ike ịgbakwunye ọrụ ndị ọzọ, dị ka Shake, NFC, GPS, wdg. GPS nwere ike inye aka tọọ izi ezi nke arụmọrụ ọnọdụ dịka ọnọdụ na anya, ebe ọrụ Shake na-enye ndị ọrụ ohere ịtọ ntọala ahụ. nyere iwu ka e gbuo maka ngwaọrụ ma ọ bụ ihe nkiri akọwapụtara site na ịma jijiji.
2.1.3 Okwu Mmalite nke IoT Cloud Platform
IoT igwe ojii bụ ikpo okwu niile na-ejikọta ọrụ dịka njikwa ngwaọrụ, nkwurịta okwu nchekwa data na njikwa ọkwa. Dabere na ebumnuche ha na nnweta ha, enwere ike kewaa nyiwe igwe ojii IoT na nyiwe igwe ojii IoT ọha (nke a na-akpọ ya "igwe ojii ọha") na nyiwe igwe ojii nke IoT (nke a na-akpọ ya "igwe ojii nkeonwe").
Igwe ojii nke ọha na-egosipụtakarị ikpo okwu igwe ojii IoT maka ụlọ ọrụ ma ọ bụ ndị mmadụ n'otu n'otu, nke ndị na-eweta ikpo okwu na-arụ ma na-echekwa ya, na-ekekọrịta site na ịntanetị. Ọ nwere ike ịbụ n'efu ma ọ bụ ọnụ ala, ma na-enye ọrụ na netwọk ọha na eze na-emeghe, dị ka Alibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT, wdg. Dị ka ikpo okwu na-akwado, igwe ojii nwere ike jikọta ndị na-enye ọrụ na elu. ndị ọrụ njedebe mgbada iji mepụta agbụ uru na gburugburu ebe obibi ọhụrụ.
Ewubere igwe ojii nkeonwe maka iji naanị ụlọ ọrụ, si otú a na-ekwe nkwa njikwa kacha mma na data, nchekwa na ogo ọrụ. Ụlọ ọrụ na-edobe ọrụ ya na akụrụngwa ya iche iche, yana ngwaike na ngwanrọ na-akwadokwa nyekwa ndị ọrụ kpọmkwem. Ụlọ ọrụ nwere ike hazie ọrụ igwe ojii iji gboo mkpa nke azụmahịa ha. Ka ọ dị ugbu a, ụfọdụ ndị na-emepụta ụlọ nwere ọgụgụ isi enwetalarị nyiwe igwe ojii nke IoT ma mepụta ngwa ụlọ smart dabere na ha.
Igwe ojii nke ọha na igwe ojii nwere advan nke hatages, nke a ga-akọwa ma emechaa.
Iji nweta njikọ nzikọrịta ozi, ọ dị mkpa iji mechaa ma ọ dịkarịa ala mmepe agbakwunyere n'akụkụ ngwaọrụ, yana sava azụmahịa, nyiwe igwe ojii IoT, na ngwa ama ama. Na-eche nnukwu ọrụ dị otú ahụ ihu, ígwé ojii ọha na-enyekarị ngwa mmepe ngwanrọ maka akụkụ ngwaọrụ na ngwa smartphone iji mee ka usoro ahụ dị ngwa. Igwe ojii nke ọha na nke onwe na-enye ọrụ gụnyere ịnweta ngwaọrụ, njikwa ngwaọrụ, onyinyo ngwaọrụ, yana ọrụ na mmezi.
Nnweta ngwaọrụ IoT igwe ojii kwesịrị inye ọ bụghị naanị oghere maka ịnweta ngwaọrụ site na iji protocol
Isi nke 2. Okwu Mmalite na Omume nke Ọrụ IoT 11
dị ka MQTT, CoAP, HTTPS, na WebSocket, kamakwa ọrụ nke njirimara nchekwa ngwaọrụ iji gbochie ngwa ngwa adịgboroja na nke iwu na-akwadoghị, na-ebelata ihe ize ndụ nke imebi. Nnwale dị otú ahụ na-akwado usoro dị iche iche, ya mere, mgbe a na-emepụta ngwaọrụ dị ukwuu, ọ dị mkpa iji nyefee akwụkwọ ikike ngwaọrụ dịka usoro nyocha ahọpụtara si dị ma gbaa ya ọkụ n'ime ngwaọrụ.
Njikwa ngwaọrụ Ọrụ njikwa ngwaọrụ nke igwe ojii IoT na-enye nwere ike ọ bụghị naanị nyere ndị na-emepụta aka nyochaa ọnọdụ ọrụ na ọnọdụ ntanetị nke ngwaọrụ ha ozugbo, kamakwa na-enye ohere nhọrọ dị ka ịgbakwunye / wepụ ngwaọrụ, iweghachite, ịgbakwunye / ihichapụ otu, firmware kwalite. , na njikwa ụdị.
Ngwa igwe ojii IoT igwe ojii nwere ike ịmepụta ụdịdị mebere na-adịgide adịgide (onyinyo ngwaọrụ) maka ngwaọrụ ọ bụla, yana ọnọdụ nke onyinyo ngwaọrụ nwere ike mekọrịta wee nweta site na ngwa ama ma ọ bụ ngwaọrụ ndị ọzọ site na usoro nnyefe ịntanetị. Onyunyo ngwaọrụ na-echekwa ọkwa kachasị ọhụrụ na ọkwa a na-atụ anya maka ngwaọrụ ọ bụla, ma ọ bụrụgodi na ngwaọrụ ahụ adịghị n'ịntanetị, ọ ka nwere ike nweta ọkwa ahụ site na ịkpọ API. Onyunyo ngwaọrụ na-enye API mgbe niile, nke na-eme ka ọ dị mfe ịmepụta ngwa ama na-emekọrịta ihe na ngwaọrụ.
Ịrụ ọrụ na nrụzi Ọrụ O&M gụnyere akụkụ atọ: · Na-egosipụta ozi ndekọ gbasara ngwaọrụ IoT na ọkwa. Njikwa ndekọ na-enye ohere iweghachite ozi gbasara omume ngwaọrụ, mgbago elu/ala, na ọdịnaya ozi. · Ndozi ngwaọrụ na-akwado nnyefe iwu, nwelite nhazi, na ịlele mmekọrịta dị n'etiti nyiwe igwe ojii IoT na ozi ngwaọrụ.
2.2 Omume: Smart Light Project
Ka emechara mmeghe usoro iwu na isiakwụkwọ nke ọ bụla, ị ga-ahụ ngalaba omume metụtara ọrụ Smart Light iji nyere gị aka inweta ahụmịhe. Ihe oru ngo a dabere na Espressif's ESP32-C3 chip na ESP RainMaker IoT Cloud Platform, ma na-ekpuchi ngwaike modul ikuku na ngwaahịa ọkụ smart, ngwanrọ agbakwunyere maka ngwaọrụ smart dabere na ESP32C3, ngwa smartphone, na mmekọrịta ESP RainMaker.
Koodu isi mmalite Maka mmụta ka mma na mmepe mmepe, ọrụ a na-eme n'akwụkwọ a ka emepeela. Ị nwere ike budata koodu iyi site na ebe nchekwa GitHub anyị na https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
2.2.1 Ọdịdị Project
Ọrụ Smart Light nwere akụkụ atọ: i. Ngwa ọkụ smart dabere na ESP32-C3, na-ahụ maka ịmekọrịta na nyiwe igwe ojii IoT, yana njikwa ngbanwe, nchapụta na agba agba nke LED l.amp chaplet. ii. Ngwa ekwentị (gụnyere ngwa mbadamba mbadamba na-agba na gam akporo na iOS), na-ahụ maka nhazi netwọkụ nke ngwaahịa ọkụ smart, yana ịjụ ajụjụ na ịchịkwa ọkwa ha.
iii. Igwe ojii igwe ojii nke IoT dabere na ESP RainMaker. Maka mfe, anyị na-atụle ikpo okwu igwe ojii nke IoT na ihe nkesa azụmahịa n'ozuzu ya n'akwụkwọ a. A ga-enye nkọwa gbasara ESP RainMaker n'Isi nke 3.
Akwụkwọ ozi dị n'etiti nhazi ọrụ Smart Light na ihe owuwu nke IoT ka egosiri na eserese 2.1.
Ọgụgụ 2.1. Ọdịdị nke smart ìhè oru ngo
2.2.2 Ọrụ oru ngo
Kewara dị ka nhazi ahụ si dị, ọrụ nke akụkụ ọ bụla bụ ndị a. Ngwa ọkụ smart
· Nhazi netwọk na njikọ. · Njikwa PWM LED, dị ka mgba ọkụ, nchapụta, okpomọkụ agba, wdg · Akpụkpọaka ma ọ bụ njikwa ọnọdụ, dịka, ngbanwe oge. · Izo ya ezo na echekwabara buut nke Flash. · nkwalite firmware na njikwa ụdị.
Isi nke 2. Okwu Mmalite na Omume nke Ọrụ IoT 13
Ngwa Smartphone · Nhazi netwọk na njide ngwaọrụ. · Njikwa ọkụ dị mma, dị ka mgba ọkụ, nchapụta, okpomoku agba, wdg · Ntọala akpaaka ma ọ bụ ọnọdụ, dịka, ngbanwe oge. · Njikwa mpaghara/ime anya. · Ndebanye aha onye ọrụ, nbanye, wdg.
ESP RainMaker IoT igwe ojii · Na-enye ohere ịnweta ngwaọrụ IoT. · Na-enye API arụ ọrụ ngwaọrụ nwere ike ịnweta ngwa ekwentị. · nkwalite firmware na njikwa ụdị.
2.2.3 Nkwadebe ngwaike
Ọ bụrụ na ị nwere mmasị n'itinye ọrụ ahụ n'ọrụ, ị ga-achọkwa ngwaike ndị a: smart ọkụ, smartphones, Wi-Fi router, na kọmputa nke na-emezu ihe nrụnye nke gburugburu ebe mmepe. Ọkụ smart
Ọkụ smart bụ ụdị bọlbụ ọhụrụ, nke ọdịdị ya dị ka bọlbụ incandescent izugbe. Ọkụ smart bụ nke capacitor na-achịkwa ọkụ ọkụ, modul ikuku (nke arụnyere ESP32-C3), onye na-ahụ maka LED na matrix RGB LED. Mgbe ejikọrọ na ike, 15 V DC voltage mmepụta mgbe capacitor gbadara ala, mmezi diode, na ụkpụrụ na-enye ike na njikwa LED na matrix LED. Onye na-ahụ maka LED nwere ike izipu ọkwa dị elu na nke dị ala na akpaghị aka n'oge ụfọdụ, na-atụgharị matrix RGB LED n'etiti mechiri emechi (ọkụ na-enwu) na mepee (ọkụ agbanyụrụ), ka o wee nwee ike ịgbanye cyan, odo, green, purple, blue, red, na ìhè ọcha. Igwe ikuku na-ahụ maka ijikọ na rawụta Wi-Fi, ịnata na ịkọ ọkwa nke ọkụ smart, na izipu iwu iji jikwaa LED.
Ọgụgụ 2.2. Ọkụ smart emepụtara
Na mmalite mmepe stage, ị nwere ike ịmegharị ọkụ smart site na iji bọọdụ ESP32-C3DevKitM-1 jikọtara ya na RGB LED l.amp beads (lee foto 2.2). Ma i kwesịrị
14 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
mara na nke a abụghị naanị ụzọ iji kpọkọta smart ìhè. Nhazi ngwaike nke oru ngo dị n'akwụkwọ a nwere naanị modul ikuku (nke arụnyere n'ime ESP32-C3), mana ọ bụghị nhazi ngwaike smart smart zuru oke. Na mgbakwunye, Espressif na-emepụta bọọdụ mmepe ọdịyo dabere ESP32-C3 ESP32C3-Lyra maka njikwa ọkụ na ọdịyo. The osisi nwere interfaces maka microphones na ọkà okwu na ike ijikwa LED ibe. Enwere ike iji ya maka ịmepụta ndị mgbasa ozi ọdịyo dị oke ọnụ ala, na-arụ ọrụ dị elu yana eriri ọkụ. Ọgụgụ 2.3 na-egosi bọọdụ ESP32-C3Lyra jikọtara ya na eriri ọkụ 40 LED.
Onyonyo 2.3. ESP32-C3-Lyra jikọtara ya na mpempe ọkụ 40 LED
Smartphones (Android/iOS) Ọrụ Smart Light gụnyere mmepe nke ngwa ama maka ịtọ na ịchịkwa ngwaahịa ọkụ smart.
Ndị na-anya Wi-Fi rawụta Wi-Fi na-atụgharị akara netwọkụ wired na akara netwọkụ mkpanaka ka ọ bụrụ akara netwọk ikuku, maka kọmpụta, smartphones, mbadamba na ngwaọrụ ikuku ndị ọzọ iji jikọọ na netwọkụ. Maka exampOtú ọ dị, brọdband dị n'ụlọ kwesịrị ijikọ na Wi-Fi rawụta iji nweta netwọk ikuku nke ngwaọrụ Wi-Fi. Ụkpụrụ ụkpụrụ bụ isi nke ndị na-anya Wi-Fi na-akwado bụ IEEE 802.11n, yana nkezi TxRate nke 300 Mbps, ma ọ bụ 600 Mbps na kacha. Ha dakọtara na IEEE 802.11b na IEEE 802.11g azụ. Ihe mgbawa ESP32-C3 nke Espressif na-akwado IEEE 802.11b/g/n, yabụ ị nwere ike họrọ otu-band (2.4 GHz) ma ọ bụ igwe-band (2.4 GHz na 5 GHz) Wi-Fi rawụta.
A ga-ewebata gburugburu ebe mmepe kọmputa (Linux/macOS/Windows) n'Isi nke 4. Isi nke 2. Okwu Mmalite na Omume nke IoT Projects 15
2.2.4 Usoro mmepe
Ọgụgụ 2.4. Nzọụkwụ nke ịmepụta ọrụ Smart Light
Nhazi ngwaike Nhazi ngwaike nke ngwaọrụ IoT dị mkpa maka ọrụ IoT. A na-ezubere ọrụ ọkụ smart zuru oke iji mepụta alamp na-arụ ọrụ n'okpuru mains ọkọnọ. Ndị na-emepụta ihe dị iche iche na-emepụta lamps nke ụdị dị iche iche na ụdị ọkwọ ụgbọ ala, mana modul ikuku ha na-abụkarị otu ọrụ. Iji mee ka usoro mmepe nke Smart Ligh dị mfe, akwụkwọ a na-ekpuchi naanị nhazi ngwaike na mmepe ngwanrọ nke modul ikuku.
Nhazi ikpo okwu igwe ojii IoT Iji jiri nyiwe igwe ojii IoT, ịkwesịrị ịhazi ọrụ na azụ azụ, dị ka imepụta ngwaahịa, imepụta ngwaọrụ, ịtọ akụrụngwa akụrụngwa, wdg.
Mmepe sọftụwia agbakwunyere maka ngwaọrụ IoT Jiri ESP-IDF rụọ ọrụ ndị a na-atụ anya ya, SDK akụkụ Espressif, gụnyere ijikọ na nyiwe igwe ojii nke IoT, ndị ọkwọ ụgbọ ala LED na-emepe emepe, na nkwalite ngwa ngwa.
Mmepe ngwa ama ama Mepụta ngwa ama maka sistemụ gam akporo na iOS iji ghọta ndebanye aha na nbanye, njikwa ngwaọrụ na ọrụ ndị ọzọ.
Njika ngwaọrụ IoT Ozugbo arụchara ọrụ ngwaọrụ IoT, ị nwere ike ịtụgharị gaa na ọrụ nkwalite, dị ka nkwalite ike.
Nnwale mmepụta ihe dị ukwuu Mepụta ule mmepụta oke dịka ụkpụrụ ndị metụtara ya siri dị, dị ka ule ọrụ akụrụngwa, ule ịka nká, ule RF, wdg.
N'agbanyeghị usoro ndị edepụtara n'elu, ọrụ Smart Light abụghị n'okpuru usoro dị otú ahụ n'ihi na enwere ike ịrụ ọrụ dị iche iche n'otu oge. Maka exampọzọ, agbakwunyere software na smartphone ngwa nwere ike ịmepụta n'otu n'otu. Enwere ike ịmegharị usoro ụfọdụ, dị ka njikarịcha ngwaọrụ IoT na nnwale mmepụta oke.
16 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
2.3 Nchịkọta
N'isiakwụkwọ a, anyị buru ụzọ kọwapụta ihe ndị bụ isi na modul arụ ọrụ nke ọrụ IoT, wee webata ikpe Smart Light maka omume, na-ezo aka na nhazi ya, ọrụ ya, nkwadebe ngwaike, na usoro mmepe ya. Ndị na-agụ akwụkwọ nwere ike ị nweta ntinye aka na omume ahụ wee nwee obi ike ịrụ ọrụ IoT na mmejọ kacha nta n'ọdịnihu.
Isi nke 2. Okwu Mmalite na Omume nke Ọrụ IoT 17
18 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Isi nke 3
Okwu mmalite
ka
ESP
Onye na-eme mmiri ozuzo
Ịntanetị nke Ihe (IoT) na-enye ohere na-adịghị agwụ agwụ iji gbanwee ụzọ ndị mmadụ si ebi ndụ, mana mmepe nke injinia IoT jupụtara na ihe ịma aka. Site na igwe ojii ọha, ndị na-emepụta ọnụ ahịa nwere ike mejuputa ọrụ ngwaahịa site na ngwọta ndị a:
Dabere na nyiwe igwe ojii nke ndị na-eweta ihe ngwọta N'ụzọ dị otú a, ndị na-emepụta ọnụ ahịa chọrọ naanị imepụta ngwaike ngwaahịa, wee jikọọ ngwaike na igwe ojii site na iji modul nkwukọrịta enyere, wee hazie ọrụ ngwaahịa na-eso ntuziaka. Nke a bụ ụzọ dị mma ebe ọ bụ na ọ na-ewepụ mkpa maka ihe nkesa-n'akụkụ na ngwa-n'akụkụ mmepe na arụmọrụ na mmezi (O&M). Ọ na-enye ndị na-emepụta ọnụ ọnụ ohere ilekwasị anya na nhazi ngwaike n'ebughị ụzọ tụlee mmejuputa igwe ojii. Agbanyeghị, azịza ndị dị otú ahụ (dịka ọmụmaatụ, ngwa ngwa ngwa na ngwa) anaghị emeghe isi mmalite, yabụ na ọrụ ngwaahịa a ga-ejedebe site na igwe ojii igwe na-eweta nke enweghị ike ịhazi ya. Ka ọ dị ugbu a, onye ọrụ na data ngwaọrụ sokwa na ikpo okwu igwe ojii.
Dabere na ngwaahịa igwe ojii Na ngwọta a, mgbe ịmechara nhazi ngwaike, ndị na-emepụta ọnụ ahịa ọ bụghị naanị iji mejuputa ọrụ igwe ojii site na iji otu ma ọ bụ karịa igwe ojii nke igwe ojii na-enye, mana ọ dịkwa mkpa ijikọ ngwaike na igwe ojii. Maka example, iji jikọọ na Amazon Web Ọrụ (AWS), ndị na-emepụta ọnụ ahịa kwesịrị iji ngwaahịa AWS dị ka Amazon API Gateway, AWS IoT Core, na AWS Lambda iji mee ka ịnweta ngwaọrụ, njikwa anya, nchekwa data, njikwa onye ọrụ, na ọrụ ndị ọzọ bụ isi. Ọ bụghị naanị na ọ na-arịọ ndị na-emepụta ọdụ ka ha jiri nwayọọ na-ahazi ngwaahịa igwe ojii nwere nghọta miri emi na ahụmịhe bara ụba, mana ọ na-achọkwa ka ha tụlee ọnụ ahịa ihe owuwu na mmezi maka mbido na mgbe e mesịrị.tagNke a na-ebute nnukwu ihe ịma aka na ike na akụrụngwa ụlọ ọrụ.
E jiri ya tụnyere ígwé ojii ọha, a na-ewukarị igwe ojii maka ọrụ na ngwaahịa dị iche iche. A na-enye ndị mmepe igwe ojii nkeonwe nnwere onwe kachasị elu na nhazi usoro yana mmejuputa mgbagha azụmahịa. Ndị na-emepụta ọdụ ụgbọ elu nwere ike ịmepụta ngwaahịa na atụmatụ imewe ma ọ bụrụ na ọ dị ha mma, na-ejikọta na ike data onye ọrụ ngwa ngwa. Ijikọta nchekwa dị elu, scalability na ntụkwasị obi nke igwe ojii na advantagN'ígwé ojii nkeonwe, Espressif wepụtara ESP
19
RainMaker, ihe ngwọta igwe ojii agbakwunyere nke ukwuu dabere na igwe ojii Amazon. Ndị ọrụ nwere ike ibuga ESP RainMaker wee wuo igwe ojii nkeonwe naanị site na iji akaụntụ AWS.
3.1 Gịnị bụ ESP RainMaker?
ESP RainMaker bụ ikpo okwu AIoT zuru oke nke ejiri ọtụtụ ngwaahịa AWS tozuru oke wuru. Ọ na-enye ọrụ dị iche iche achọrọ maka mmepụta oke dị ka ịnweta igwe ojii, nkwalite ngwaọrụ, njikwa azụ azụ, nbanye ndị ọzọ, ntinye olu, na njikwa onye ọrụ. Site n'iji ebe nchekwa ngwa Serverless (SAR) nke AWS na-enye, ndị na-emepụta ọnụ ahịa nwere ike ibuga ESP RainMaker ngwa ngwa na akaụntụ AWS ha, nke na-arụ ọrụ oge ma dị mfe iji rụọ ọrụ. Espressif jikwaa ma na-elekọta ya, SAR nke ESP RainMaker na-eji na-enyere ndị mmepe aka ibelata ụgwọ nlekọta igwe ojii ma mee ka mmepe nke ngwaahịa AIoT dịkwuo elu, si otú a na-ewulite ngwọta AIoT echekwara, kwụsie ike na nhazi. Onyonyo 3.1 na-egosi nhazi nke ESP RainMaker.
Ọgụgụ 3.1. Nhazi nke ESP RainMaker
Ihe nkesa ọha ESP RainMaker nke Espressif bụ n'efu maka ndị niile na-anụ ọkụ n'obi ESP, ndị na-eme ihe na ndị nkuzi maka nleba anya ngwọta. Ndị mmepe nwere ike iji akaụntụ Apple, Google, ma ọ bụ GitHub banye, wee wuo ngwa ngwa ngwa ngwa IoT nke ha. Ihe nkesa ọha na eze na-ejikọta Alexa na Google Home, ma na-enye ọrụ nchịkwa olu, nke Alexa Skill na Google Actions kwadoro. Ndị ọzọ na-akwadokwa ọrụ njirimara semantic ya. Ngwa RainMaker IoT na-anabata naanị omume ụfọdụ. Maka ndepụta zuru oke nke iwu olu akwadoro, biko lelee nyiwe ndị ọzọ. Na mgbakwunye, Espressif na-enye ngwa RainMaker ọha maka ndị ọrụ ijikwa ngwaahịa ahụ site na ekwentị. 20 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
3.2 Mmejuputa nke ESP RainMaker
Dịka egosiri na eserese 3.2, ESP RainMaker nwere akụkụ anọ: · Ọrụ ịza, na-enyere ngwaọrụ RainMaker aka inweta asambodo. RainMaker Cloud (nke a makwaara dị ka igwe ojii backend), na-enye ọrụ dị ka nzacha ozi, njikwa onye ọrụ, nchekwa data, yana njikọta nke ndị ọzọ. Onye nnọchi anya RainMaker, na-enyere ngwaọrụ RainMaker jikọọ na igwe ojii RainMaker. Onye ahịa RainMaker (RainMaker App ma ọ bụ CLI scripts), maka inye, imepụta onye ọrụ, njikọ ngwaọrụ na njikwa, wdg.
Ọgụgụ 3.2. Nhazi nke ESP RainMaker
ESP RainMaker na-enye ngwa ọrụ zuru oke maka mmepe ngwaahịa na mmepụta oke, gụnyere: RainMaker SDK
RainMaker SDK dabere na ESP-IDF ma na-enye koodu isi mmalite nke onye na-ahụ maka akụkụ ngwaọrụ yana C API ndị metụtara maka mmepe ngwa ngwa. Naanị ndị mmepe kwesịrị ide ihe mgbagha ngwa ma hapụ nke ọzọ na usoro RainMaker. Maka ozi ndị ọzọ gbasara C API, biko gaa na https://bookc3.espressif.com/rm/c-api-reference. Ngwa RainMaker ụdị ọhaneze nke ngwa RainMaker na-enye ndị mmepe ohere imezu ịnye ngwaọrụ, ma jikwaa ma jụọ ọnọdụ ngwaọrụ (dịka ọmụmaatụ ngwaahịa ọkụ smart). Ọ dị na ma iOS na android ngwa ụlọ ahịa. Maka nkọwa ndị ọzọ, biko rụtụ aka na isi nke 10. API REST APIs na-enyere ndị ọrụ aka ịrụ ngwa nke ha yiri ngwa RainMaker. Maka ozi ndị ọzọ, biko gaa na https://swaggerapis.rainmaker.espressif.com/.
Isi nke 3. Okwu Mmalite nke ESP RainMaker 21
Eke Python API CLI dabeere na Python, nke na-abịa na RainMaker SDK, ka enyere iji mejuputa ọrụ niile yiri njirimara ama. Maka ozi ndị ọzọ gbasara Python API, biko gaa na https://bookc3.espressif.com/rm/python-api-reference.
Admin CLI Admin CLI, nwere ọkwa dị elu, ka enyere maka mbugharị ESP RainMaker nkeonwe iji mepụta asambodo ngwaọrụ n'ọtụtụ.
3.2.1 Ọrụ nkwuputa
A na-eme nzikọrịta ozi niile n'etiti ngwaọrụ RainMaker na azụ igwe ojii site na MQTT+TLS. N'ihe gbasara ESP RainMaker, "Cclaiming" bụ usoro nke ngwaọrụ na-enweta asambodo site na Ọrụ Nkwusa iji jikọọ na igwe ojii. Rịba ama na ọrụ ịzọrọ bụ naanị maka ọrụ RainMaker ọha, ebe maka mbugharị nkeonwe, ekwesịrị iwepụta asambodo ngwaọrụ n'ọtụtụ site na Admin CLI. ESP RainMaker na-akwado ụdị ọrụ nkwuputa atọ: Nkwupụta onwe
Ngwaọrụ n'onwe ya na-enweta asambodo ndị ahụ site na igodo nzuzo emebere ya na eFuse mgbe ejikọtara na ịntanetị. Ịkwado onye ọbịa a na-enweta asambodo a n'aka ndị mmepe nwere akaụntụ RainMaker. Enyere aka ịzọrọ na-enweta asambodo a site na ngwa smartphone n'oge inye.
3.2.2 Onye nnọchi anya RainMaker
Ọgụgụ 3.3. Ọdịdị nke RainMaker SDK Ọrụ bụ isi nke RainMaker Agent bụ inye njikọta na nyere aka oyi akwa ngwa iji hazie data igwe ojii na-agbago / downlink. Ewubere ya site na RainMaker SDK 22 ESP32-C3 Ikuku Adventure: Nduzi zuru oke na IoT
ma mepụta dabere na usoro ESP-IDF egosipụtara, na-eji ihe ESP-IDF dị ka RTOS, NVS, na MQTT. Ọgụgụ 3.3 na-egosi nhazi nke RainMaker SDK.
RainMaker SDK gụnyere isi ihe abụọ.
Njikọ
i. Na-arụkọ ọrụ na Ọrụ Nkwusa iji nweta asambodo ngwaọrụ.
ii. Ijikọ na igwe ojii backend site na iji usoro MQTT echedoro iji nye njikọ dịpụrụ adịpụ ma mejuputa njikwa anya, mkpesa ozi, njikwa ọrụ, njikwa ngwaọrụ, wdg. nchịkọta protocol.
iii. Na-enye akụrụngwa na-enye wifi maka njikọ Wi-Fi na ntinye, esp https ota akụrụngwa maka nkwalite OTA, yana akụrụngwa ctrl mpaghara esp maka nchọpụta na njikọ ngwaọrụ mpaghara. Enwere ike imezu ebumnuche ndị a niile site na nhazi dị mfe.
Nhazi data
i. Ịchekwa asambodo ngwaọrụ nyere site na ọrụ nkwuputa yana data achọrọ mgbe ọ na-agba ọsọ RainMaker, site na ndabara site na iji interface nke nvs flash akụrụngwa nyere, yana inye API maka ndị nrụpụta maka ojiji ozugbo.
ii. Iji usoro ịkpọghachite iji hazie data igwe ojii na-agbago/downlink wee meghee data ahụ na oyi akwa ngwa maka nhazi dị mfe site n'aka ndị mmepe. Maka exampLe, RainMaker SDK na-enye oghere bara ụba maka ịmepụta data TSL (Asụsụ Specification Language), nke achọrọ iji kọwaa ụdị TSL iji kọwaa ngwaọrụ IoT ma mejuputa ọrụ dị ka oge, ngụkọ, na njikwa olu. Maka njirimara mmekọrịta dị ka oge, RainMaker SDK na-enye ngwọta na-enweghị mmepe nke enwere ike ịme ya naanị mgbe achọrọ ya. Mgbe ahụ, onye nnọchi anya RainMaker ga-edozi data ahụ ozugbo, ziga ya na igwe ojii site na isiokwu MQTT metụtara, wee nyeghachi mgbanwe data na igwe ojii backend site na usoro oku.
3.2.3 igwe ojii
A na-ewu igwe ojii backend na AWS Serverless Computing wee nweta site na AWS Cognito (sistemụ njikwa njirimara), Amazon API Gateway, AWS Lambda (ọrụ mgbakọ na-enweghị ihe nkesa), Amazon DynamoDB (NoSQL database), AWS IoT Core (IoT access core na-enye ohere MQTT). na nzacha iwu), Amazon Simple Email Service (SES simple mail service), Amazon CloudFront (ngwa ngwa nnyefe netwọk), Amazon Simple Queue Service (SQS ozi queuing), na Amazon S3 (ọrụ nchekwa ịwụ). Ezubere ya iji bulie scalability na nchekwa. Site na ESP RainMaker, ndị mmepe nwere ike ijikwa ngwaọrụ na-enweghị ide koodu na igwe ojii. A na-ebuga ozi ndị ngwaọrụ kọrọ na nke ọma
Isi nke 3. Okwu Mmalite nke ESP RainMaker 23
ndị ahịa ngwa ma ọ bụ ọrụ ndị ọzọ. Tebụl 3.1 na-egosi ngwaahịa na ọrụ igwe ojii AWS ejiri na azụ igwe ojii, yana ngwaahịa na atụmatụ ndị ọzọ n'okpuru mmepe.
Tebụl 3.1. Ngwaahịa na ọrụ igwe ojii AWS na-eji azụ igwe ojii
Ngwaahịa igwe ojii AWS nke RainMaker ji
Ọrụ
AWS Cognito
Ijikwa nzere onye ọrụ na ịkwado nbanye ndị ọzọ
AWS Lambda
Na-eme ihe mgbagha azụmahịa bụ isi nke igwe ojii backend
Amazon Timestream na-echekwa data usoro oge
Amazon DynamoDB Ịchekwa ozi nzuzo nke ndị ahịa
AWS IoT Core
Na-akwado nkwukọrịta MQTT
Ọnụ ego nke Amazon SES
Na-enye ọrụ izipu ozi-e
Amazon CloudFront na-eme ngwa ngwa njikwa nke azụ azụ webohere saịtị
Amazon SQS
Na-ebuga ozi sitere na AWS IoT Core
3.2.4 Onye ahịa RainMaker
Ndị ahịa RainMaker, dị ka App na CLI, na-ekwurịta okwu n'azụ igwe ojii site na API REST. Enwere ike ịchọta ozi na ntuziaka gbasara REST API n'ime akwụkwọ Swagger nke Espressif nyere. Onye ahịa mkpanaka ngwa RainMaker dị maka sistemụ iOS na gam akporo. Ọ na-enye ohere ịnye ngwaọrụ, njikwa, na ikesa, yana ịmepụta na ime ka ọrụ ngụkọ na jikọọ na nyiwe ndị ọzọ. Ọ nwere ike ibunye UI na akara ngosi na-akpaghị aka dị ka nhazi ngwaọrụ ndị a kọrọ wee gosipụta TSL ngwaọrụ ahụ nke ọma.
Maka examplee, ọ bụrụ na arụrụ ọkụ smart na RainMaker SDK nyere exampOtú ọ dị, a ga-ebunye akara ngosi na UI nke ọkụ bọlbụ na-akpaghị aka mgbe emechara ndokwa ahụ. Ndị ọrụ nwere ike ịgbanwe agba na nchapụta nke ìhè site na interface wee nweta njikwa ndị ọzọ site na ijikọ Alexa Smart Home Skill ma ọ bụ Google Smart Home Actions na akaụntụ ESP RainMaker ha. Ọgụgụ 3.4 na-egosi akara ngosi na UI examples nke ọkụ bọlbụ n'otu n'otu na Alexa, Google Home, na ESP RainMaker App.
24 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
(a) Ọpụpụample - Alexa
(b) Ọpụample – Google Home
(c) Ọpụpụample – ESP RainMaker
Nyocha 3.4. Ọpụamples nke akara ngosi na UI nke ọkụ bọlbụ na Alexa, Google Home, na ESP RainMaker App
3.3 Omume: Isi ihe maka mmepe na ESP RainMaker
Ozugbo oyi akwa ngwaọrụ agwụla, ndị mmepe nwere ike ịmalite imepụta ụdị TSL wee hazie data downlink site na iji API nke RainMaker SDK nyere, wee mee ka ọrụ ESP RainMaker bụ isi dabere na nkọwa ngwaahịa na ihe achọrọ.
Isi nke 3. Okwu Mmalite nke ESP RainMaker 25
Nkeji 9.4 nke akwụkwọ a ga-akọwa mmejuputa nke ọkụ smart LED na RainMaker. N'oge nbibi, ndị mmepe nwere ike iji ngwa CLI dị na RainMaker SDK iji kparịta ụka na smart smart (ma ọ bụ kpọọ REST API site na Swagger).
Isi nke 10 ga-akọwawa etu esi eji REST API emepe ngwa ekwentị. The OTA upgrades nke LED smart ọkụ ga-kpuchie n'Isi nke 11. Ọ bụrụ na mmepe enyerela ESP Insights remote monitoring, ESP RainMaker management backend ga-egosipụta ESP Nghọta data. A ga-ewepụta nkọwa n'Isi nke 15.
ESP RainMaker na-akwado mbugharị nkeonwe, nke dị iche na sava RainMaker ọha n'ụzọ ndị a:
Ọrụ nkwuputa Iji wepụta asambodo na mbugharị nkeonwe, achọrọ ka iji RainMaker Admin CLI kama ịza. Site na sava ọha, a ga-enyerịrị ndị mmepe ikike nchịkwa iji mejuputa nkwalite firmware, mana ọ dịghị mma na mbugharị azụmahịa. Ya mere, enweghị ike ịnye ọrụ nyocha dị iche iche maka nzọrọ onwe onye, ma ọ bụ ikike nchịkwa maka onye chụpụrụ ma ọ bụ nzọrọ enyemaka.
Ngwa ekwentị Na mbugharị nkeonwe, ekwesịrị ịhazi ma chịkọta ngwa dị iche iche iji hụ na sistemụ akaụntụ anaghị ejikọta ya.
Nbanye ndị otu nke atọ na njikọta olu Ndị nrụpụta ga-ahazi iche iche site na akaụntụ Google na Apple Developer iji mee ka nbanye nke ndị otu nke atọ, yana nka Alexa na ntinye aka Google Voice Assistant.
NDỤMỌDỤ Maka nkọwa gbasara ntinye igwe ojii, biko gaa na https://customer.rainmaker.espressif. com. N'ihe gbasara ngwa ngwa, ịkwaga site na nkesa ọha na eze gaa na nkesa nkeonwe chọrọ naanị iji dochie asambodo ngwaọrụ, nke na-eme ka arụmọrụ ọpụpụ dịkwuo mma ma na-ebelata ọnụ ahịa njem na nbipu nke abụọ.
3.4 atụmatụ nke ESP RainMaker
A na-ezubere atụmatụ ESP RainMaker n'akụkụ atọ - njikwa onye ọrụ, ndị ọrụ njedebe, na ndị nchịkwa. A na-akwado atụmatụ niile na sava ọha na nkeonwe ma ọ bụrụ na ekwughị ya ọzọ.
3.4.1 Njikwa onye ọrụ
Njirimara njikwa onye ọrụ na-enye ndị ọrụ njedebe ohere ịdebanye aha, banye, gbanwee okwuntughe, weghachite okwuntughe, wdg.
26 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Debanye aha na banye Usoro ndebanye aha na nbanye nke RainMaker na-akwado gụnyere: · Email id + Paswọdu · Nọmba ekwentị + Paswọdu · Akaụntụ Google · Akaụntụ Apple · Akaụntụ GitHub (naanị ihe nkesa ọha) · Akaụntụ Amazon (naanị nkesa nkeonwe)
IHE Debanye aha site na iji Google/Amazon na-ekerịta adreesị ozi-e onye ọrụ na RainMaker. Debanye aha site na iji Apple na-ekesa adreesị dummy nke Apple na-ekenye maka onye ọrụ kpọmkwem maka ọrụ RainMaker. A ga-emepụta akaụntụ RainMaker na-akpaghị aka maka ndị ọrụ ji akaụntụ Google, Apple, ma ọ bụ Amazon wee banye na nke mbụ.
Gbanwee paswọọdụ bara uru naanị maka nbanye email/nọmba ekwentị dabere. Oge niile na-arụ ọrụ ga-apụta mgbe agbanwechara paswọọdụ. Dịka omume AWS Cognito si dị, oge ewepụtara nwere ike ịdị na-arụ ọrụ ruo elekere 1.
Weghachite okwuntughe bara uru naanị maka nbanye email/nọmba ekwentị dabere.
3.4.2 Njirimara onye ọrụ njedebe
Akụkụ ndị mepere emepe ndị ọrụ njedebe gụnyere njikwa mpaghara na nke dịpụrụ adịpụ na nleba anya, nhazi oge, nhazi ngwaọrụ, ikesa ngwaọrụ, ọkwa ọkwa, na njikọta nke ndị ọzọ.
Njikwa anya na nleba anya · Nhazi ajụjụ, ụkpụrụ oke na ọkwa njikọ maka otu ma ọ bụ ngwaọrụ niile. · Tọọ paramita maka otu ngwaọrụ ma ọ bụ ọtụtụ.
Njikwa mpaghara na nlekota oru ekwentị mkpanaaka na ngwaọrụ kwesịrị jikọọ na otu netwọk maka njikwa mpaghara.
Ịhazi oge · Ndị ọrụ doziri ụfọdụ omume n'otu oge. Enweghị njikọ ịntanetị achọrọ maka ngwaọrụ mgbe ị na-eme nhazi oge. Otu oge ma ọ bụ kwugharịa (site na ịkọwapụta ụbọchị) maka otu ngwaọrụ ma ọ bụ ọtụtụ.
Ịchịkọta ngwaọrụ na-akwado ịchịkọta mkpokọta mkpokọta dị iche iche enwere ike iji metadata iji mepụta nhazi ụlọ.
Isi nke 3. Okwu Mmalite nke ESP RainMaker 27
Enwere ike ịkekọrịta otu ngwaọrụ ma ọ bụ karịa n'otu ndị ọrụ ma ọ bụ karịa.
Ịkwanye ọkwa nhịahụ Ndị ọrụ ngwụcha ga-anata ọkwa ntanye maka mmemme dị ka · Ngwaọrụ ọhụrụ agbakwunyere/wepụ
A na-akwado njikọta Alexa na Google Voice Assistant iji jikwaa ngwaọrụ RainMaker, gụnyere ọkụ, mgba ọkụ, sọket, fan na ihe mmetụta okpomọkụ.
3.4.3 Njirimara Admin
Atụmatụ nchịkwa na-enye ndị nchịkwa ohere itinye ndebanye aha ngwaọrụ, nchịkọta ngwaọrụ, na nkwalite OTA, na iji view ọnụ ọgụgụ na data ESP.
Ndebanye aha ngwaọrụ Mepụta asambodo ngwaọrụ wee debanye aha na Admin CLI (naanị ihe nkesa nkeonwe).
Ịchịkọta ngwaọrụ Mepụta otu abstract ma ọ bụ ahaziri dabere na ozi ngwaọrụ (naanị nkesa nkeonwe).
Nkwalite n'ofe ikuku (OTA) Bulite ngwa ngwa dabere na ụdị na ụdị, gaa na otu ngwaọrụ ma ọ bụ karịa ma ọ bụ otu Nyochaa, kagbuo, ma ọ bụ chekwaa ọrụ OTA.
View ọnụ ọgụgụ ViewEnwere ike ịgụta ọnụ ọgụgụ gụnyere: · Ndebanye aha ngwaọrụ (akwụkwọ ikike debanyere aha nke onye nchịkwa) · Mmalite ngwaọrụ (ngwaọrụ ejikọrọ na nke mbụ) · Akaụntụ onye ọrụ · Mkpakọrịta ngwaọrụ.
View ESP Nghọta data Viewdata ESP nwere ike gụnye: · Njehie, ịdọ aka ná ntị, na ndekọ ahaziri iche · Akụkọ okuku na nyocha · Malitegharịa ihe kpatara ya · Metric dị ka ojiji ebe nchekwa, RSSI, wdg · Metiriki omenala na mgbanwe.
28 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
3.5 Nchịkọta
N'ime isiakwụkwọ a, anyị webatara ụfọdụ isi ihe dị iche n'etiti mwepu RainMaker ọha na mbugharị nkeonwe. Ngwọta ESP RainMaker nkeonwe nke Espressif hibere bụ nke a pụrụ ịdabere na ya nke ukwuu na enwere ike ịgbatị ya. Ejikọtala ibe ESP32 niile wee gbanwee ya na AWS, nke na-ebelata ọnụ ahịa ya nke ukwuu. Ndị mmepe nwere ike ilekwasị anya na nkwenye prototype na-enweghị ịmụ gbasara ngwaahịa igwe ojii AWS. Anyị kọwakwara mmejuputa na atụmatụ nke ESP RainMaker, yana ụfọdụ isi ihe maka mmepe site na iji ikpo okwu.
Nyochaa ka ibudata ESP RainMaker maka gam akporo nyocha iji budata ESP RainMaker maka iOS
Isi nke 3. Okwu Mmalite nke ESP RainMaker 29
30 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Isi Ntọala 4 gburugburu mmepe
Isiakwụkwọ a lekwasịrị anya na ESP-IDF, usoro mmepe ngwanrọ maka ESP32-C3. Anyị ga-akọwa otu esi edobe gburugburu na sistemu arụ ọrụ dị iche iche, wee webata nhazi oru ngo na wuo usoro nke ESP-IDF, yana ojiji nke ngwa mmepe metụtara. Mgbe ahụ, anyị ga-ewepụta usoro nchịkọta na ịgba ọsọ nke example project, ka ị na-enye nkọwa zuru ezu nke ndekọ mmepụta na s ọ bụlatage.
4.1 ESP-IDF karịrịview
ESP-IDF (Espressif IoT Development Framework) bụ usoro mmepe IoT nke otu nkwụsị nke Espressif Technology nyere. Ọ na-eji C/C++ dị ka asụsụ mmepe bụ isi ma na-akwado mkpokọta n'okpuru sistemu arụ ọrụ dị ka Linux, Mac na Windows. The exampA na-emepụta mmemme ndị a gụnyere n'akwụkwọ a site na iji ESP-IDF, nke na-enye atụmatụ ndị a: · SoC system-level drivers. ESP-IDF gụnyere ndị ọkwọ ụgbọala maka ESP32, ESP32-S2, ESP32-C3,
na ibe ndị ọzọ. Ndị ọkwọ ụgbọala ndị a gụnyere ọba akwụkwọ dị ala (LL), ọba akwụkwọ abstraction oyi akwa (HAL), nkwado RTOS na sọftụwia ọkwọ ụgbọ ala elu, wdg. · Ihe ndị dị mkpa. ESP-IDF na-agụnye ihe ndị bụ isi achọrọ maka mmepe IoT. Nke a na-agụnye multiple netwọk protocol stacks dị ka HTTP na MQTT, a ike njikwa kpuchie na ike ugboro modulation, na atụmatụ dị ka Flash encryption na Secure Boot, wdg · Development na mmepụta ngwá ọrụ. ESP-IDF na-enye ngwá ọrụ ndị a na-ejikarị eme ihe maka iwulite, ọkụ, na nbibi n'oge mmepe na mmepụta oke (lee foto 4.1), dị ka usoro ụlọ nke dabeere na CMake, usoro ihe nchikota obe nke dabeere na GCC, na J.TAG Ngwá ọrụ debugging dabere na OpenOCD, wdg. Ọ dị mma ịmara na koodu ESP-IDF bụ isi na-agbaso ikikere isi mmalite Apache 2.0. Ndị ọrụ nwere ike ịmepụta ngwanro nkeonwe ma ọ bụ nke azụmahịa na-enweghị mmachi ka ha na-agbaso usoro nke ikikere isi mmalite. Na mgbakwunye, a na-enye ndị ọrụ ikikere patent na-adịgide adịgide n'efu, na-enweghị ọrụ imepe isi mmalite mgbanwe ọ bụla emere na koodu isi mmalite.
31
Onyonyo 4.1.
Iwuli, na-egbuke egbuke, na debug-
ngwá ọrụ ging maka mmepe na mmepụta oke
4.1.1 Ụdị ESP-IDF
A na-akwado koodu ESP-IDF na GitHub dị ka ọrụ mepere emepe. Ugbu a, enwere ụdị isi atọ dị: v3, v4, na v5. Nke ọ bụla isi version na-enwekarị dị iche iche subversions, dị ka v4.2, v4.3, na na. Sistemụ Espressif na-ahụ maka nkwado ọnwa 30 maka ndozi ahụhụ na patches nchekwa maka ụdị nke ọ bụla ewepụtara. Ya mere, a na-ewepụtakwa ntụgharị nke subversions mgbe niile, dị ka v4.3.1, v4.2.2, wdg. Isiokwu 4.1 na-egosi ọkwa nkwado nke ụdị ESP-IDF dị iche iche maka ibe Espressif, na-egosi ma ha nọ na mbụ.view stage (na-enye nkwado maka preview ụdị, nke nwere ike enweghị ụfọdụ atụmatụ ma ọ bụ akwụkwọ) ma ọ bụ na-akwado ya.
Tebụl 4.1. Ọkwa nkwado nke ụdị ESP-IDF dị iche iche maka ibe Espressif
Usoro ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2
v4.1 kwadoro
v4.2 kwadoro
v4.3 kwadoro nkwado
v4.4 na-akwado nkwado na-akwado
tupuview
v5.0 akwadoro akwadoro akwadoro akwadoro tupuview
32 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Ntugharị nke nsụgharị ndị bụ isi na-agụnyekarị mgbanwe na nhazi usoro yana mmelite na usoro nchịkọta. Maka example, isi mgbanwe si v3.* na v4.* bụ nwayọọ nwayọọ Mbugharị nke ewu usoro si Mee ka CMake. N'aka nke ọzọ, iteration nke obere nsụgharị na-agụnye mgbakwunye nke atụmatụ ọhụrụ ma ọ bụ nkwado maka ibe ọhụrụ.
Ọ dị mkpa ịmata ọdịiche na ịghọta mmekọrịta dị n'etiti nsụgharị kwụsiri ike na alaka GitHub. Ụdị akpọrọ dị ka v*.* ma ọ bụ v*.*.* na-anọchi anya ụdị kwụsiri ike nke gafere ule ime ime zuru oke site n'aka Espressif. Ozugbo edozichara koodu ahụ, yinye ngwaọrụ na akwụkwọ ntọhapụ maka otu ụdị ahụ agaghị agbanwe agbanwe. Agbanyeghị, ngalaba GitHub (dịka ọmụmaatụ, ngalaba ntọhapụ/v4.3) na-eme koodu ugboro ugboro, ọtụtụ mgbe kwa ụbọchị. Ya mere, snippets koodu abụọ n'okpuru otu alaka ụlọ ọrụ nwere ike ịdị iche, na-eme ka ndị mmepe malite imelite koodu ha ngwa ngwa.
4.1.2 ESP-IDF Git Workflow
Espressif na-agbaso usoro ọrụ Git akọwapụtara maka ESP-IDF, akọwapụtara dị ka ndị a:
· A na-eme mgbanwe ọhụrụ na ngalaba nna ukwu, nke na-eje ozi dị ka ngalaba mmepe isi. Ụdị ESP-IDF dị na ngalaba nna ukwu na-ebu mgbe niile -dev tag iji gosi na ọ nọ ugbu a na mmepe, dịka v4.3-dev. Mgbanwe na ngalaba nna ukwu ga-ebu ụzọ bụrụ reviewed wee nwalee na ebe nchekwa ime Espressif, wee kwaga GitHub ka emechara nnwale akpaaka.
Ozugbo a ọhụrụ version dechara atụmatụ mmepe na nna ukwu alaka ụlọ ọrụ na zutere njirisi maka abanye beta ule, ọ Transition ka a ọhụrụ alaka ụlọ ọrụ, dị ka ntọhapụ / v4.3. Na mgbakwunye, alaka ọhụrụ a bụ tagged dị ka ụdị ntọhapụ mbụ, dị ka v4.3-beta1. Ndị mmepe nwere ike ịtu aka na ikpo okwu GitHub iji nweta ndepụta ngalaba na tags maka ESP-IDF. Ọ dị mkpa ịmara na ụdị beta (ụdị ewepụtara tupu ewepụtara) nwere ike ka nwere ọnụ ọgụgụ dị ịrịba ama nke okwu ama ama. Ka ụdị beta na-aga n'ihu na-anwale ule na-aga n'ihu, a na-agbakwunye mmezi ahụhụ na ụdị nke a na ngalaba nna ukwu n'otu oge. Ka ọ dị ugbu a, alaka ụlọ ọrụ nwere ike ịmalitela ịmepụta atụmatụ ọhụrụ maka ụdị ọzọ. Mgbe nnwale fọrọ nke nta ka agwụchaa, a na-agbakwunye akara ntọhapụ (rc) na alaka ụlọ ọrụ, na-egosi na ọ bụ onye nwere ike ime maka mwepụta gọọmentị, dị ka v4.3-rc1. Na nke a stage, alaka ụlọ ọrụ na-anọgide a tupu ewepụtara.
Ọ bụrụ na achọpụtaghị ma ọ bụ kọwapụta nnukwu ahụhụ, ụdị ntọhapụ ahụ na-emecha nweta akara ngosi ụdị (dịka ọmụmaatụ, v5.0) ma ọ bụ obere akara ụdị (dịka, v4.3) wee ghọọ ụdị ntọhapụ nke gọọmentị, nke edepụtara. na ibe ndetu ntọhapụ. Na-esote, nchinchi ọ bụla achọpụtara na ụdị a ka edobere na ngalaba ntọhapụ. Mgbe emechara ule akwụkwọ ntuziaka, a na-ekenye alaka ụlọ ọrụ akara ụdị ahụhụ-fix (dịka ọmụmaatụ, v4.3.2), nke na-egosipụtakwa na ibe ndetu ntọhapụ.
Isi nke 4. Ịtọlite gburugburu mmepe 33
4.1.3 Ịhọrọ ụdị dabara adaba
Ebe ọ bụ na ESP-IDF malitere ịkwado ESP32-C3 site na ụdị v4.3, na v4.4 ka ewepụtabeghị n'ihu ọha n'oge edere akwụkwọ a, ụdị ejiri n'akwụkwọ a bụ v4.3.2, nke bụ nsụgharị edegharịrị. nke v4.3. Otú ọ dị, ọ dị mkpa iburu n'obi na site na oge ị na-agụ akwụkwọ a, v4.4 ma ọ bụ nsụgharị ọhụrụ nwere ike ịdị adị. Mgbe ị na-ahọrọ ụdị, anyị na-akwado ihe ndị a:
Maka ndị mmepe ọkwa ntinye, ọ bụ ihe amamihe dị na ya ịhọrọ ụdị v4.3 kwụsiri ike ma ọ bụ ụdị edegharịrị ya, nke dabara na nke mbụ.ample version eji n'akwụkwọ a.
· Maka ebumnuche mmepụta oke, a na-atụ aro ka iji ụdị kwụsiri ike kachasị ọhụrụ iji rite uru na nkwado teknụzụ kachasị ọhụrụ.
Ọ bụrụ na ịchọrọ ịnwale ibe ọhụrụ ma ọ bụ nyochaa njirimara ngwaahịa ọhụrụ, biko jiri alaka ụlọ ọrụ. Ụdị kachasị ọhụrụ nwere atụmatụ niile kachasị ọhụrụ, mana buru n'uche na enwere ike ịmara ma ọ bụ amaghị ama dị ugbu a.
Ọ bụrụ na ụdị kwụsiri ike nke a na-eji agụnyeghị atụmatụ ọhụrụ achọrọ ma ịchọrọ ibelata ihe egwu metụtara alaka ụlọ ọrụ, tụlee iji ngalaba ntọhapụ kwekọrọ, dị ka ngalaba ntọhapụ/v4.4. Ebe nchekwa Espressif's GitHub ga-ebu ụzọ mepụta ngalaba ntọhapụ/v4.4 wee wepụta ụdị v4.4 kwụsiri ike dabere na foto akụkọ ihe mere eme nke ngalaba a, mgbe emechara mmepe na nnwale niile.
4.1.4 gafereview Akwụkwọ ndekọ aha ESP-IDF SDK
ESP-IDF SDK nwere akwụkwọ ndekọ aha abụọ: esp-idf na .espressif. Nke mbụ nwere koodu isi mmalite ESP-IDF files na nchikota scripts, ebe nke ikpeazụ na-echekwara agbụ ngwá ọrụ na ngwanrọ ndị ọzọ. Ịmara akwụkwọ ndekọ aha abụọ a ga-enyere ndị mmepe aka iji akụrụngwa dịnụ mee nke ọma ma mee ka usoro mmepe ahụ dị ngwa. A kọwara usoro ndekọ aha nke ESP-IDF n'okpuru:
(1) ESP-IDF koodu ndekọ aha (/esp/esp-idf), dị ka e gosiri na Figure 4.2.
a. Ngwa akụrụngwa ndekọ
Akwụkwọ ndekọ aha a na-ejikọta ọtụtụ ngwa ngwanrọ dị mkpa nke ESP-IDF. Enweghị koodu ọrụ nwere ike ịchịkọta na-adabereghị na ihe ndị dị n'ime ndekọ a. Ọ gụnyere nkwado ọkwọ ụgbọ ala maka ibe Espressif dị iche iche. Site n'ọbá akwụkwọ LL na oghere ọba akwụkwọ HAL maka akụkụ ruo n'ọkwa ọkwa dị elu na Virtual File Nkwado oyi akwa Sistemu (VFS), ndị mmepe nwere ike ịhọrọ ihe ndị kwesịrị ekwesị na ọkwa dị iche iche maka mkpa mmepe ha. ESP-IDF na-akwado ọtụtụ nchịkọta usoro netwọkụ ọkọlọtọ dịka TCP/IP, HTTP, MQTT, WebSocket, wdg. Ndị mmepe nwere ike iji oghere ndị ama ama dị ka Socket wuo ngwa netwọkụ. Akụrụngwa na-enye nghọta-
34 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Ọgụgụ 4.2. ESP-IDF ndekọ koodu nchekwa
arụmọrụ sive na enwere ike itinye ya ngwa ngwa n'ime ngwa, na-enye ndị mmepe ohere ilekwasị anya naanị na mgbagha azụmahịa. Ụfọdụ ihe ndị a na-ahụkarị gụnyere: · ọkwọ ụgbọala: Nke a akụrụngwa nwere mmemme ọkwọ ụgbọ ala maka Espressif dị iche iche
usoro mgbawa, dị ka GPIO, I2C, SPI, UART, LEDC (PWM), wdg. The mpụta ọkwọ ụgbọala mmemme na nke a akụrụngwa na-enye mgbawa na-anọghị nkịtị interfaces. Mpụta nke ọ bụla nwere nkụnye eji isi mee ọnụ file (dị ka gpio.h), na-ewepụ mkpa ọ dị iji nagide ajụjụ nkwado mgbawa dị iche iche. esp_wifi: Wi-Fi, dị ka akụkụ pụrụ iche, a na-emeso ya dị ka ihe dị iche iche. Ọ gụnyere ọtụtụ API dị ka mmalite nke ụdị ọkwọ ụgbọ ala Wi-Fi dị iche iche, nhazi oke, na nhazi mmemme. A na-enye ụfọdụ ọrụ nke akụrụngwa a n'ụdị ọba akwụkwọ njikọ static. ESP-IDF na-enyekwa akwụkwọ ọkwọ ụgbọ ala zuru oke maka ịdị mfe iji.
Isi nke 4. Ịtọlite gburugburu mmepe 35
freertos: Akụkụ a nwere koodu FreeRTOS zuru ezu. Ewezuga inye nkwado zuru oke maka sistemu arụ ọrụ a, Espressif agbatịwokwa nkwado ya na ibe abụọ-isi. Maka ibe abụọ-isi dị ka ESP32 na ESP32-S3, ndị ọrụ nwere ike ịmepụta ọrụ na cores akọwapụtara.
b. Akwụkwọ ndekọ ndekọ
Akwụkwọ ndekọ aha nwere akwụkwọ mmepe metụtara ESP-IDF, gụnyere ntuziaka mmalite, ntuziaka API, Ntuziaka mmepe, wdg.
IHE: Mgbe ejiri ngwaọrụ akpaaka chịkọtachara, a na-ebunye ọdịnaya dị na ndekọ a na https://docs.espressif.com/projects/esp-idf. Biko hụ na ịgbanwee ebumnuche akwụkwọ ka ọ bụrụ ESP32-C3 wee họrọ ụdị ESP-IDF akọwapụtara.
c. Ngwá ọrụ script
Akwụkwọ ndekọ a nwere ngwaọrụ nchikota n'ihu njedebe ndị a na-ejikarị eme ihe dị ka idf.py, yana ngwa nleba anya idf_monitor.py, wdg. cmake sub-directory nwekwara ihe odide bụ isi. files nke usoro nchịkọta, na-eje ozi dị ka ntọala maka mmejuputa iwu nchịkọta ESP-IDF. Mgbe ị na-agbakwunye mgbanwe gburugburu ebe obibi, a na-agbakwunye ọdịnaya dị n'ime akwụkwọ ndekọ aha na usoro gburugburu ebe obibi, na-ekwe ka idf.py gbuo ozugbo n'okpuru ụzọ ọrụ ahụ.
d. Ọpụample program directory examples
Akwụkwọ ndekọ aha a nwere nnukwu mkpokọta ESP-IDF exampmmemme nke na-egosi ojiji nke akụrụngwa API. The exampA haziri les n'ime subdirectories dị iche iche dabere na otu ha:
· ibido: Akwụkwọ ndekọ aha a gụnyere ọkwa ntinye exampdị ka "ndewo ụwa" na "ntụgharị anya" iji nyere ndị ọrụ aka ịghọta isi ihe.
· Bluetooth: Ị nwere ike ịhụ Bluetooth metụtara exampebe a, gụnyere Bluetooth LE Mesh, Bluetooth LE HID, BluFi, na ndị ọzọ.
· wifi: Akwụkwọ ndekọ aha a na-elekwasị anya na Wi-Fi examples, gụnyere mmemme ndị bụ isi dị ka Wi-Fi SoftAP, Wi-Fi ọdụ, espnow, yana protocol nkwurịta okwu nke ụlọamples sitere na Espressif. Ọ na-agụnye multiple ngwa oyi akwa examples dabere na Wi-Fi, dị ka Iperf, Sniffer, na Smart Config.
Peripherals: A na-ekekwa nnukwu akwụkwọ ndekọ aha a n'ọtụtụ nchekwa nchekwa nke dabere na aha mpaghara. Ọ tumadi nwere mpụta ọkwọ ụgbọala examples maka Espressif ibe, ya na example na-egosipụta ọtụtụ sub-examples. Dịka ọmụmaatụ, akwụkwọ ndekọ aha gpio gụnyere abụọ examples: GPIO na GPIO ahụigodo matrix. Ọ dị mkpa ịmara na ọ bụghị ihe niile examples na ndekọ a na-adabara ESP32-C3.
36 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Maka example, examples na usb/host bụ naanị maka mpụta nwere ngwaike USB Host (dị ka ESP32-S3), na ESP32-C3 enweghị akụkụ a. Sistemụ mkpokọta na-enyekarị mkpali mgbe ị na-ahazi ebumnuche. Ihe README file nke ọ bụla example depụtara ibe akwadoro. · protocols: Nke a sub-akwụkwọ ndekọ aha nwere examples maka usoro nkwukọrịta dị iche iche, gụnyere MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP, na-ekpuchi ọtụtụ usoro nkwukọrịta ex.ampihe achọrọ maka mmepe IoT. · provisioning: Ebe a, ị ga-ahụ provisioning examples maka ụzọ dị iche iche, dị ka ịnye Wi-Fi na inye Bluetooth LE. · usoro: Nke a sub-akwụkwọ ndekọ aha na-agụnye usoro debugging examples (dịka ọmụmaatụ, nchịkọta nchịkọta, ịchụ oge, nlekota oru), njikwa ike examples (dịka ọmụmaatụ, ụdị ụra dị iche iche, ndị na-arụkọ ọrụ), na exampihe metụtara sistemu nkịtị dị ka njikwa njikwa, loop mmemme, na ngụ oge. · nchekwa: N'ime nke a sub-akwụkwọ ndekọ aha, ị ga-achọpụta examples niile file Sistemu na usoro nchekwa nke ESP-IDF kwadoro (dị ka ịgụ na ide Flash, kaadị SD na mgbasa ozi nchekwa ndị ọzọ), yana ex.amples nke nchekwa na-adịghị agbanwe agbanwe (NVS), FatFS, SPIFFS na ndị ọzọ file arụ ọrụ sistemu. · nchekwa: Nke a sub-akwụkwọ ndekọ aha nwere examples metụtara flash izo ya ezo. (2) ESP-IDF akwụkwọ ndekọ ihe nchikọta ngwa ọrụ (/.espressif), dịka egosiri na eserese 4.3.
Ọgụgụ 4.3. ESP-IDF ndekọ ihe nchikota ngwa ọrụ
Isi nke 4. Ịtọlite gburugburu mmepe 37
a. Akwụkwọ ndekọ nkesa software dist
A na-ekesa yinye ngwa ESP-IDF na ngwanrọ ndị ọzọ n'ụdị ngwugwu abịakọrọ. N'oge usoro nrụnye, ngwa nrụnye na-ebu ụzọ budata ngwugwu abịakọrọ na ndekọ dị anya, wee wepụ ya na ndekọ aha akọwapụtara. Ozugbo echichi mechara, enwere ike wepu ọdịnaya dị na ndekọ a n'enweghị nsogbu.
b. Akwụkwọ ndekọ aha Python mebere gburugburu Python env
Ụdị ESP-IDF dị iche iche dabere na ụdị ngwungwu Python kpọmkwem. Ịwụnye ngwugwu ndị a ozugbo na otu onye ọbịa nwere ike ibute esemokwu n'etiti nsụgharị ngwugwu. Iji lebara nke a anya, ESP-IDF na-eji Python mebere okirikiri kewapụ ụdị ngwugwu dị iche iche. Site na usoro a, ndị mmepe nwere ike ịwụnye ọtụtụ ụdị ESP-IDF n'otu onye ọbịa wee gbanwee ngwa ngwa n'etiti ha site na ibubata mgbanwe gburugburu ebe dị iche iche.
c. ESP-IDF ngwá ọrụ ndekọ ihe nchikota
Akwụkwọ ndekọ aha a na-enwekarị ngwaọrụ nchikota nke achọrọ iji chịkọta ọrụ ESP-IDF, dị ka ngwaọrụ CMake, ngwaọrụ nrụpụta Ninja, na agbụ ngwá ọrụ gcc nke na-ewepụta mmemme ikpeazụ. Na mgbakwunye, akwụkwọ ndekọ aha a nwere ọbá akwụkwọ ọkọlọtọ nke asụsụ C/C++ yana nkụnye eji isi mee kwekọrọ files. Ọ bụrụ na mmemme na-ekwu maka nkụnye eji isi mee file dị ka #gụnyere , agbụ ngwá ọrụ nchịkọta ga-achọta stdio.h file n'ime ndekọ a.
4.2 Ịtọlite gburugburu mmepe ESP-IDF
Gburugburu mmepe ESP-IDF na-akwado sistemu arụ ọrụ dịka Windows, Linux, na macOS. Akụkụ a ga-ewebata otu esi edobe gburugburu mmepe na sistemu ọ bụla. A na-atụ aro ka ịmepụta ESP32-C3 na sistemụ Linux, nke a ga-ewebata n'ụzọ zuru ezu ebe a. Ọtụtụ ntụziaka dị n'ofe nyiwe n'ihi myirịta nke ngwaọrụ mmepe. Ya mere, a na-adụ ọdụ ka ị jiri nlezianya gụọ ọdịnaya nke ngalaba a.
IHE Ị nwere ike zoo aka na akwụkwọ ntanetị dị na https://bookc3.espressif.com/esp32c3, nke na-enye iwu ndị a kpọtụrụ aha na ngalaba a.
4.2.1 Ịtọlite ESP-IDF Development Environment na Linux
Ngwa mmepe GNU na nbipu chọrọ maka gburugburu mmepe ESP-IDF bụ nke sistemụ Linux. Na mgbakwunye, ọdụ ahịrị iwu na Linux dị ike yana enyi na enyi, na-eme ka ọ bụrụ nhọrọ dị mma maka mmepe ESP32-C3. Ị nwere ike
38 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
họrọ nkesa Linux masịrị gị, mana anyị na-akwado iji Ubuntu ma ọ bụ sistemụ Debian ndị ọzọ. Akụkụ a na-enye ntụzịaka maka ịtọlite gburugburu mmepe ESP-IDF na Ubuntu 20.04.
1. Wụnye ngwugwu achọrọ
Mepee ọdụ ọhụrụ wee mebie iwu a ka ịwụnye ngwugwu niile dị mkpa. Iwu a ga-awụpụ ngwungwu arụnyerelarị ozugbo.
$ sudo apt-nweta wụnye git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
NDỤMỌDỤ Ịkwesịrị iji akaụntụ nchịkwa na paswọọdụ maka iwu dị n'elu. Site na ndabara, ọ nweghị ozi agaghị egosipụta mgbe ị na-abanye paswọọdụ. Naanị pịa igodo "Tinye" ka ịga n'ihu usoro.
Git bụ ngwa njikwa koodu na ESP-IDF. Mgbe ịtọlitechara gburugburu mmepe nke ọma, ị nwere ike iji iwu git log ka view mgbanwe koodu niile emere kemgbe okike ESP-IDF. Na mgbakwunye, a na-ejikwa Git na ESP-IDF iji kwado ozi ụdị, nke dị mkpa maka ịwụnye yinye ngwa ọrụ ziri ezi kwekọrọ na ụdịdị akọwapụtara. Tinyere Git, ngwaọrụ sistemụ ndị ọzọ dị mkpa gụnyere Python. ESP-IDF na-agụnye ọtụtụ edemede akpaaka edere na Python. A na-eji ngwá ọrụ dị ka CMake, Ninja-build, na Ccache eme ihe n'ọtụtụ ebe na ọrụ C / C ++ ma na-eje ozi dị ka nchịkọta koodu ndabara na ngwá ọrụ ụlọ na ESP-IDF. libusb-1.0-0 na dfu-util bụ ndị ọkwọ ụgbọala bụ isi eji maka nzikọrịta ozi USB na ọkụ ngwa ngwa. Ozugbo etinyere ngwugwu ngwanrọ, ịnwere ike iji ihe ngosi dabara adaba iwu inweta nkọwa zuru ezu nke ngwugwu ọ bụla. Maka example, jiri apt show git bipụta ozi nkọwa maka ngwa Git.
Ajụjụ: Kedu ihe ị ga-eme ma ọ bụrụ na akwadoghị ụdị Python? A: ESP-IDF v4.3 chọrọ ụdị Python nke na-erughị v3.6. Maka ụdị Ubuntu ochie, biko jiri aka budata ma wụnye ụdị Python dị elu wee tọọ Python3 ka ọ bụrụ gburugburu Python nke ndabara. Ị nwere ike ịchọta ntụziaka zuru ezu site na ịchọ isiokwu update-alternatives python.
2. Budata koodu nchekwa ESP-IDF
Mepee ọnụ ma mepụta folda aha ya bụ esp na ndekọ ụlọ gị site na iji iwu mkdir. Ị nwere ike ịhọrọ aha dị iche maka nchekwa ahụ ma ọ bụrụ na-amasị gị. Jiri cd iwu ịbanye na nchekwa.
Isi nke 4. Ịtọlite gburugburu mmepe 39
$ mkdir -p / esp $ cd / esp
Jiri iwu git clone budata koodu nchekwa ESP-IDF, dị ka egosiri n'okpuru:
$ git clone -b v4.3.2 -recursive https://github.com/espressif/esp-idf.git
N'iwu dị n'elu, parameter -b v4.3.2 na-akọwapụta ụdị nbudata (na nke a, ụdị 4.3.2). Oke –recursive na-ahụ na ebudatara obere nchekwa ESP-IDF niile ugboro ugboro. Enwere ike ịchọta ozi gbasara ebe nchekwa na .gitmodules file.
3. Wụnye ụdọ ngwá ọrụ mmepe ESP-IDF
Espressif na-enye script akpaghị aka install.sh iji budata na wụnye yinye ngwaọrụ. Edemede a na-enyocha ụdị ESP-IDF dị ugbu a yana gburugburu sistemụ arụmọrụ, wee budata ma wụnye ụdị ngwungwu ngwa ọrụ Python kwesịrị ekwesị yana agbụ ngwaọrụ mkpokọta. Ụzọ ntinye nke ndabara maka yinye ngwá ọrụ bụ /.espressif. Naanị ihe ị ga - eme bụ ịgagharị na ndekọ ndekọ esp-idf wee mee install.sh.
$ cd /esp/esp-idf $ ./install.sh
Ọ bụrụ na ị wụnye yinye ngwá ọrụ nke ọma, njedebe ga-egosipụta:
Emeela ihe niile!
N'oge a, ị melitela gburugburu mmepe ESP-IDF nke ọma.
4.2.2 Ịtọlite ESP-IDF Development Environment na Windows
1. Download ESP-IDF ngwaọrụ installer
NDỤMỌDỤ A na-atụ aro ka ịtọlite ebe mmepe ESP-IDF na Windows 10 ma ọ bụ karịa. Ị nwere ike ibudata installer na https://dl.espressif.com/dl/esp-idf/. Onye nrụnye bụkwa ngwanrọ mepere emepe, yana koodu isi mmalite ya nwere ike ịbụ viewed na https: //github.com/espressif/idf-installer.
Ihe nwụnye ngwa ESP-IDF n'ịntanetị
Ihe nrụnye a dị obere, ihe dị ka 4 MB n'ogo, a ga-ebudata ngwugwu na koodu ndị ọzọ n'oge usoro nrụnye. Onye advantage nke onye nrụnye n'ịntanetị bụ na ọ bụghị naanị na enwere ike ibudata ngwungwu ngwanrọ na koodu na achọrọ n'oge usoro nrụnye, kamakwa na-enye ohere ịwụnye mwepụta niile ESP-IDF dị na ngalaba GitHub kachasị ọhụrụ (dịka alaka ụlọ ọrụ) . The mweputage bụ na ọ na-achọ njikọ netwọk n'oge usoro nrụnye, nke nwere ike ịkpata ọdịda nrụnye n'ihi nsogbu netwọk.
40 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Ihe nrụnye ngwaọrụ ESP-IDF na-anọghị n'ịntanetị Ihe nrụnye a buru ibu, ihe dịka 1 GB n'ogo, ma nwere ngwugwu ngwanrọ na koodu niile achọrọ maka ịtọlite gburugburu. Isi advantage nke onye nrụnye na-anọghị n'ịntanetị bụ na enwere ike iji ya na kọmpụta na-enweghị ohere ịntanetị, yana n'ozuzu ya nwere ọnụego nrụnye dị elu. Ekwesiri ighota na onye nrụnye na-anọghị n'ịntanetị nwere ike ịwụnye naanị ntọhapụ kwụsiri ike nke ESP-IDF nke v*.* ma ọ bụ v*.*.*.
2. Gbaa ndị ESP-IDF ngwaọrụ installer Mgbe nbudata a dabara adaba version nke installer (were ESP-IDF Tools Offline 4.3.2 maka ex.ample ebe a), pịa exe ugboro abụọ file iji malite interface nwụnye ESP-IDF. Ihe na-esonụ na-egosi otu esi etinye ụdị ESP-IDF kwụsiri ike v4.3.2 site na iji installer offline.
(1) Na “Họrọ asụsụ nwụnye” nke egosiri na eserese 4.4, họrọ asụsụ a ga-eji na ndetu ndọpụta.
Ọgụgụ 4.4. “Họrọ asụsụ nrụnye” interface (2) Mgbe ịhọrọchara asụsụ ahụ, pịa “OK” ka iwepụta “nkwekọrịta ikike”
(lee foto 4.5). Mgbe ị gụchara nke ọma nkwekọrịta ikike nrụnye, họrọ "Anara m nkwekọrịta" wee pịa "Ọzọ".
Ọgụgụ 4.5. “Nkwekọrịta ikike” interface Isi nke 4. Ịtọlite gburugburu mmepe 41
(3) Review nhazi usoro na interface "Nleba usoro ntinye tupu" (lee foto 4.6). Lelee ụdị Windows na ozi ngwanrọ antivirus arụnyere arụnyere. Pịa "Ọzọ" ma ọ bụrụ na ihe nhazi niile bụ ihe nkịtị. Ma ọ bụghị ya, ị nwere ike pịa "Logi zuru ezu" maka ngwọta dabere na isi ihe.
Ọgụgụ 4.6. "Nleba usoro tupu echichi" interface TIPS
Ị nwere ike nyefee ndekọ na https://github.com/espressif/idf-installer/issues maka enyemaka. (4) Họrọ ndekọ nwụnye ESP-IDF. Ebe a, họrọ D:/.espressif, dị ka e gosiri na
Ọgụgụ 4.7, wee pịa "Ọzọ". Biko mara na .espressif ebe a bụ ndekọ zoro ezo. Mgbe echichi na dechara, ị nwere ike view ọdịnaya nke akwụkwọ ndekọ aha a kapịrị ọnụ site na imepe ya file njikwa na igosipụta ihe zoro ezo.
Ọgụgụ 4.7. Họrọ ndekọ nrụnye ESP-IDF 42 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
(5) Lelee ihe ndị dị mkpa ka etinyere, dị ka egosiri na foto 4.8. A na-atụ aro ka iji nhọrọ ndabara, ya bụ, nrụnye zuru ezu, wee pịa "Ọzọ".
Ọgụgụ 4.8. Họrọ ihe ndị ị ga-etinye (6) Kwenye ihe ndị a ga-etinye wee pịa "Wụnye" ka ịmalite n'ime akpaaka.
usoro nkwụsị, dị ka egosiri na foto 4.9. Usoro nrụnye nwere ike ịdịru nkeji iri na ise ma gosipụta ogwe ọganihu nke usoro nrụnye na Figure 4.10. Biko chere ndidi.
Ọgụgụ 4.9. Na-akwado maka nrụnye (7) Mgbe echichi mechara, a na-atụ aro ka ịlele “Deba aha ESP-IDF
Ngwa arụ ọrụ dị ka mwepu Windows Defender…” iji gbochie ihichapụ ngwanrọ antivirus files. Ịgbakwunye ihe mwepu nwekwara ike ịgafe nyocha ugboro ugboro site na antivirus
Isi nke 4. Ịtọlite gburugburu mmepe 43
Ọgụgụ 4.10. Akụrụngwa ihe nrụnye na-aga n'ihu, na-eme ka arụmọrụ nchịkọta koodu dị nke ọma na sistemụ Windows. Pịa "Mechaa" iji mechaa ntinye nke gburugburu mmepe, dịka egosiri na foto 4.11. Ị nwere ike ịhọrọ ịlele "Gbaa ESP-IDF PowerShell gburugburu" ma ọ bụ "Gbaa ngwa ngwa ESP-IDF". Gbaa windo nchịkọta ozugbo mgbe echichi gasịrị iji hụ na gburugburu mmepe na-arụ ọrụ nke ọma.
Ọgụgụ 4.11. Emechara nwụnye (8) Mepee gburugburu mmepe arụnyere na ndepụta mmemme (ma ESP-IDF 4.3
CMD ma ọ bụ ESP-IDF 4.3 PowerShell ọnụ, dị ka e gosiri na Figure 4.12), na ESP-IDF gburugburu ebe obibi ga-agbakwunyere na-akpaghị aka mgbe na-agba ọsọ na ọnụ. Mgbe nke ahụ gasịrị, ị nwere ike iji idf.py iwu maka arụmọrụ. Egosiri ESP-IDF 4.3 CMD mepere emepe na eserese 4.13. 44 ESP32-C3 Njem Ikuku: Nduzi zuru oke maka IoT
Ọgụgụ 4.12. Awụnyere gburugburu mmepe
Ọgụgụ 4.13. ESP-IDF 4.3 CMD
4.2.3 Ịtọlite ESP-IDF Development Environment na Mac
Usoro nke ịwụnye gburugburu mmepe ESP-IDF na sistemụ Mac bụ otu ihe ahụ na sistemụ Linux. Iwu maka nbudata koodu nchekwa na ịwụnye yinye ngwá ọrụ bụ otu ihe ahụ. Naanị iwu maka ịwụnye ngwugwu ndabere dịtụ iche. 1. Wụnye ngwugwu ndabere Mepee ọnụ, wee wụnye pip, ngwa njikwa ngwugwu Python, site n'ịgba iwu a:
% sudo dị mfe wụnye pip
Wụnye Homebrew, ngwa njikwa ngwugwu maka macOS, site na iji iwu na-esonụ:
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)"
Wụnye ngwungwu ndabere achọrọ site na ịme iwu a:
% ime biya python3 wụnye cmake ninja ccache dfu-util
2. Budata koodu nchekwa ESP-IDF Soro ntuziaka enyere na ngalaba 4.2.1 ka ibudata koodu nchekwa ESP-IDF. Nzọụkwụ ndị a bụ otu ihe maka nbudata na sistemụ Linux.
Isi nke 4. Ịtọlite gburugburu mmepe 45
3. Wụnye ụdọ ngwá ọrụ mmepe ESP-IDF
Soro ntuziaka enyere na ngalaba 4.2.1 ka ịwụnye yinye mmepe ESP-IDF. Usoro ndị a bụ otu maka nwụnye na sistemụ Linux.
4.2.4 Ịwụnye koodu VS
Site na ndabara, ESP-IDF SDK anaghị agụnye ngwa ndezi koodu (n'agbanyeghị na ihe nrụnye ESP-IDF ọhụrụ maka Windows na-enye nhọrọ ịwụnye ESP-IDF Eclipse). Ị nwere ike iji ngwa ọ bụla edezi ederede nke ị họọrọ iji dezie koodu ahụ wee chịkọta ya site na iji iwu ọnụ.
Otu ngwa na-edezi koodu na-ewu ewu bụ VS Code (Visual Studio Code), nke bụ koodu ndezi n'efu yana njirimara nwere interface enyi na enyi. Ọ na-enye dị iche iche plugins nke na-enye ọrụ dị ka igodo koodu, ịkọwapụta syntax, njikwa ụdị Git, na ntinye ọnụ. Na mgbakwunye, Espressif ewepụtala ngwa mgbakwunye a na-akpọ Espressif IDF maka koodu VS, nke na-eme ka nhazi na nbipu ọrụ dị mfe.
Ị nwere ike iji iwu koodu dị na njedebe iji mepee folda dị ugbu a na koodu VS ngwa ngwa. N'aka nke ọzọ, ịnwere ike iji ụzọ mkpirisi Ctrl+ imepe ihe njikwa ọdụ ndabara nke sistemụ n'ime koodu VS.
NDỤMỌDỤ A na-atụ aro ka iji koodu VS maka mmepe koodu ESP32-C3. Budata ma wụnye koodu VS kachasị ọhụrụ na https://code.visualstudio.com/.
4.2.5 Okwu Mmalite na gburugburu mmepe nke ndị ọzọ
Na mgbakwunye na gburugburu mmepe ESP-IDF gọọmentị, nke na-ejikarị asụsụ C, ESP32-C3 na-akwadokwa asụsụ mmemme ndị ọzọ na ọtụtụ gburugburu mmepe nke ndị ọzọ. Ụfọdụ nhọrọ ama ama gụnyere:
Arduino: ikpo okwu mepere emepe maka ngwaike na ngwanrọ, na-akwado microcontrollers dị iche iche, gụnyere ESP32-C3.
Ọ na-eji asụsụ C++ ma na-enye API dị mfe na ahaziri ahazi, nke a na-akpọkarị asụsụ Arduino. A na-eji Arduino eme ihe n'ọtụtụ ebe na mmepe prototype na ọnọdụ agụmakwụkwọ. Ọ na-enye ngwungwu ngwanrọ extensible yana IDE nke na-enye ohere maka nchịkọta na nchapụta dị mfe.
MicroPython: onye ntụgharị asụsụ Python 3 emebere ka ọ na-agba ọsọ na nyiwe microcontroller agbakwunyere.
Site n'asụsụ edemede dị mfe, ọ nwere ike ịnweta akụrụngwa mpaghara ESP32-C3 (dị ka UART, SPI, na I2C) yana ọrụ nkwukọrịta (dị ka Wi-Fi na Bluetooth LE).
46 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
Nke a na-eme ka mmekọrịta ngwaike dị mfe. MicroPython, jikọtara ya na ọba akwụkwọ mgbakọ na mwepụ sara mbara nke Python, na-enyere aka mmejuputa algọridim dị mgbagwoju anya na ESP32-C3, na-eme ka mmepe nke ngwa metụtara AI. Dị ka asụsụ script, ọ dịghị mkpa maka nchịkọta ugboro ugboro; enwere ike ime mgbanwe yana enwere ike igbu ya ozugbo.
NodeMCU: onye ntụgharị asụsụ LUA emebere maka ibe usoro ESP.
Ọ na-akwado ihe fọrọ nke nta ka ọ bụrụ ọrụ niile dị n'akụkụ nke ibe ESP ma dị ọkụ karịa MicroPython. Yiri MicroPython, NodeMCU na-eji asụsụ edemede, na-ewepụ mkpa maka nchịkọta ugboro ugboro.
Ọzọkwa, ESP32-C3 na-akwadokwa sistemụ arụmọrụ NuttX na Zephyr. NuttX bụ sistemụ arụmọrụ na-arụ ọrụ nke na-enye oghere dakọtara POSIX, na-ebuli ngwa ngwa. Zephyr bụ obere sistemụ arụmọrụ emebere maka ngwa IoT. Ọ gụnyere ọtụtụ ọba akwụkwọ sọftụwia achọrọ na mmepe IoT, na-eji nke nta nke nta na-abanye n'ime sistemụ ngwanrọ zuru oke.
Akwụkwọ a enyeghị ntuziaka nrụnye zuru ezu maka gburugburu mmepe ndị a kpọtụrụ aha. Ị nwere ike iwunye gburugburu mmepe dabere na ihe ị chọrọ site na isoro akwụkwọ na ntuziaka ndị a.
4.3 ESP-IDF Sistemụ mkpokọta
4.3.1 Echiche bụ isi nke Sistemụ mkpokọta
Ọrụ ESP-IDF bụ nchịkọta nke mmemme bụ isi nwere ọrụ ntinye yana ọtụtụ ihe na-arụ ọrụ onwe ya. Maka exampLe, oru ngo nke na-achịkwa ọkụ ọkụ ọkụ na-agụnye isi ihe mmemme ntinye yana akụkụ ọkwọ ụgbọala na-achịkwa GPIO. Ọ bụrụ n’ịchọrọ ịghọta njikwa anya LED, ịkwesịrị ịgbakwunye Wi-Fi, ngwugwu protocol TCP/IP, wdg.
Sistemụ nchịkọta ahụ nwere ike ịchịkọta, jikọta, ma mepụta arụ ọrụ files (.bin) maka koodu site na usoro iwu ụlọ. Usoro nchịkọta nke ESP-IDF v4.0 na nsụgharị ndị dị n'elu dabere na CMake na ndabara, na nchịkọta nchịkọta CMakeLists.txt nwere ike iji jikwaa omume nchịkọta nke koodu. Na mgbakwunye na ịkwado syntax bụ isi nke CMake, usoro nchịkọta ESP-IDF na-akọwakwa usoro iwu nchịkọta ndabara na ọrụ CMake, ma ị nwere ike iji okwu dị mfe dee edemede nchịkọta.
4.3.2 oru ngo File Nhazi
Ihe oru ngo bụ nchekwa nke nwere isi mmemme ntinye, akụrụngwa akọwapụtara onye ọrụ, na files chọrọ iji wuo ngwa enwere ike ime, dị ka scripts mkpokọta, nhazi
Isi nke 4. Ịtọlite gburugburu mmepe 47
files, tebụl nkebi, wdg. Enwere ike depụtaghachi ma nyefee ya, yana otu executable. file enwere ike chịkọta ma mepụta ya na igwe nwere otu ụdị nke ESP-IDF gburugburu mmepe. Ọrụ ESP-IDF a na-ahụkarị file E gosipụtara nhazi na foto 4.14.
Ọgụgụ 4.14. Ọrụ ESP-IDF a na-ahụkarị file Ebe ọ bụ na ESP-IDF na-akwado ọtụtụ ibe IoT sitere na Espressif, gụnyere ESP32, usoro ESP32-S, usoro ESP32-C, usoro ESP32-H, wdg, ekwesịrị ikpebi ebumnuche tupu ị chịkọta koodu ahụ. Ebumnuche bụ ma ngwaọrụ ngwaike nke na-eme mmemme ngwa na ebumnuche ewu nke sistemụ mkpokọta. Dabere na mkpa gị, ị nwere ike ịkọwapụta otu ebumnuche ma ọ bụ karịa maka ọrụ gị. Maka example, site iwu idf.py set-target esp32c3, ị nwere ike ịtọ mkpokọta lekwasịrị ESP32-C3, n'oge nke ndabara parameters na mkpokọta ngwá ọrụ yinye ụzọ maka ESP32C3 ga-kwajuru. Mgbe achịkọtachara, enwere ike ịmepụta mmemme nwere ike ime maka ESP32C3. Ị nwekwara ike ịgba ọsọ set-lekwasịrị iwu ọzọ iji tọọ ebumnuche dị iche, na usoro nchịkọta ga-ehichapụ na akpaghị aka ma hazie ya. Ngwa
Ngwa ndị dị na ESP-IDF bụ koodu modul na nke nọọrọ onwe ha na-ejikwa n'ime usoro nchịkọta. A haziri ha dị ka nchekwa, yana aha nchekwa na-anọchite aha akụrụngwa na ndabara. Akụkụ nke ọ bụla nwere edemede nchịkọta nke ya 48 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke na IoT
na-akọwapụta paramita mkpokọta na ndabere ya. N'oge usoro nchịkọta, a na-achịkọta ihe mejupụtara n'ime ọba akwụkwọ dị iche iche (.a files) ma mechaa jikọta ya na ihe ndị ọzọ iji mepụta mmemme ngwa.
ESP-IDF na-enye ọrụ ndị dị mkpa, dị ka sistemụ arụmọrụ, ndị ọkwọ ụgbọ ala gburugburu, na nchịkọta protocol netwọk, n'ụdị akụrụngwa. A na-echekwa ihe ndị a na ndekọ akụrụngwa dị n'ime ndekọ mgbọrọgwụ ESP-IDF. Ndị nrụpụta achọghị idetu ihe ndị a na ndekọ akụrụngwa nke myProject. Kama, ha kwesịrị ịkọwapụta mmekọrịta ndabere nke akụrụngwa ndị a na CMekeLists.txt nke ọrụ ahụ. file iji ntuziaka REQUIRES ma ọ bụ PRIV_REQUIRES. Sistemụ mkpokọta ga-achọpụta ozugbo wee chịkọta ihe ndị achọrọ.
Ya mere, ihe ndekọ akụrụngwa n'okpuru myProject adịghị mkpa. A na-eji ya gụnye ụfọdụ akụkụ omenala nke ọrụ ahụ, nke nwere ike ịbụ ọba akwụkwọ ndị ọzọ ma ọ bụ koodu onye ọrụ akọwapụtara. Na mgbakwunye, enwere ike nweta akụrụngwa sitere na ndekọ aha ọ bụla na-abụghị ESP-IDF ma ọ bụ ọrụ dị ugbu a, dị ka site na ọrụ mepere emepe echekwara na ndekọ ọzọ. N'okwu a, naanị ị ga-agbakwunye ụzọ nke akụrụngwa site na ịtọ EXTRA_COMPONENT_DIRS agbanwe na CMekeLists.txt n'okpuru ndekọ mgbọrọgwụ. Akwụkwọ ndekọ aha a ga-ewepụ akụrụngwa ESP-IDF ọ bụla nwere otu aha, na-ahụ na ejiri mpaghara ziri ezi mee ihe.
Mmemme ntinye isi Akwụkwọ ndekọ aha dị n'ime ọrụ a na-esote otu ihe ahụ file nhazi dị ka ihe ndị ọzọ (dịka ọmụmaatụ, components1). Otú ọ dị, ọ na-ejide ihe pụrụ iche dị ka ọ bụ akụkụ dị mkpa nke ga-adịrịrị na ọrụ ọ bụla. Akwụkwọ ndekọ aha ya nwere koodu isi mmalite ọrụ yana ebe ntinye mmemme onye ọrụ, nke a na-akpọkarị app_main. Site na ndabara, ogbugbu nke mmemme onye ọrụ na-amalite site na ntinye a. Isi akụrụngwa dịkwa iche na na ọ na-akpaghị aka na-adabere na ihe niile dị n'ime ụzọ ọchụchọ. Ya mere, ọ dịghị mkpa igosi n'ụzọ doro anya dabere na iji ntuziaka REQUIRES ma ọ bụ PRIV_REQUIRES na CMakikeLists.txt file.
Nhazi file Akwụkwọ ndekọ mgbọrọgwụ nke ọrụ ahụ nwere nhazi file a na-akpọ sdkconfig, nke nwere usoro nhazi maka ihe niile dị n'ime ọrụ ahụ. sdkconfig file a na-emepụta ya na-akpaghị aka site na usoro nchịkọta ma nwee ike gbanwee ma megharịa ya site na iwu idf.py menuconfig. Nhọrọ menuconfig sitere na Kconfig.projbuild nke oru ngo yana Kconfig nke akụrụngwa. Ndị na-emepụta akụrụngwa na-agbakwụnyekarị ihe nhazi na Kconfig iji mee ka akụkụ ahụ gbanwee na nhazi.
Mee ndekọ site na ndabara, akwụkwọ ndekọ aha n'ime ọrụ a na-echekwa etiti files na fi-
Isi nke 4. Ịtọlite gburugburu mmepe 49
nal executable mmemme emebere site idf.py iwu iwu. N'ozuzu, ọ dịghị mkpa ịnweta ọdịnaya nke akwụkwọ ndekọ aha ahụ ozugbo. ESP-IDF na-enye iwu eburu ụzọ mee ka ya na ndekọ na-emekọrịta ihe, dị ka iji idf.py flash iwu iji chọta ọnụọgụ abụọ achịkọtara na-akpaghị aka. file ma gbanye ya na adreesị flash akọwapụtara, ma ọ bụ jiri idf.py dị ọcha zuru oke iji hichaa ndekọ ụlọ nrụpụta dum.
Tebụl nkebi (partitions.csv) Ọrụ ọ bụla chọrọ tebụl nkebi iji kewaa oghere nke flash ma kọwaa nha na adreesị mmalite nke mmemme executable na ohere data onye ọrụ. Iwu idf.py flash ma ọ bụ mmemme nkwalite OTA ga-agbanye ngwa ngwa na adreesị kwekọrọ dịka tebụl a si dị. ESP-IDF na-enye ọtụtụ tebụl nkebi ndabara na components/partition_table, dị ka partitions_singleapp.csv na partitions_two_ ota.csv, nke enwere ike họrọ na menuconfig.
Ọ bụrụ na tebụl nkebi nke ndabara nke sistemụ enweghị ike iru ihe achọrọ nke ọrụ ahụ, enwere ike ịgbakwunye partitions.csv omenala na ndekọ ọrụ wee họrọ ya na menuconfig.
4.3.3 Iwulite iwu nke Sistemụ mkpokọta
Iwu maka iwepụ ihe ndị nwere otu aha n'oge usoro nchọ akụrụngwa, usoro nchịkọta na-agbaso otu usoro. Ọ na-ebu ụzọ chọọ ihe ndị dị n'ime ESP-IDF, wee na-achọ akụkụ nke ọrụ onye ọrụ, ma n'ikpeazụ na-achọ ihe ndị dị na EXTRA_COMPONENT_DIRS. N'ọnọdụ ebe ọtụtụ akwụkwọ ndekọ aha nwere akụrụngwa nwere otu aha, akụrụngwa achọtara na ndekọ ikpeazụ ga-ewepụ ihe ọ bụla bu otu aha gara aga. Iwu a na-enye ohere maka nhazi nke ngwa ESP-IDF n'ime ọrụ onye ọrụ, ebe ọ na-edobe koodu ESP-IDF mbụ emebibeghị.
Iwu maka itinye ihe ndị a na-ahụkarị na ndabara Dị ka ekwuru na ngalaba 4.3.2, akụrụngwa kwesịrị ịkọwapụta nke ọma dabere na ihe ndị ọzọ dị na CMakeLists.txt. Otú ọ dị, a na-etinye ihe ndị a na-emekarị dị ka freertos na-akpaghị aka na usoro ihe owuwu na ndabara, ọ bụrụgodị na akọwapụtaghị mmekọrịta ndabere ha nke ọma na edemede nchịkọta. Ngwa ESP-IDF na-agụnye freertos, Newlib, heap, log, soc, esp_rom, esp_common, xtensa/riscv, na cxx. Iji ihe ndị a na-emekarị na-ezere ọrụ ugboro ugboro mgbe ị na-ede CMakeLists.txt ma mee ka ọ dị nkenke.
Iwu maka iwepụ ihe nhazi ihe ndị nrụpụta nwere ike ịgbakwunye paramita nhazi nke ndabara site na ịgbakwunye nhazi ndabara file aha ya bụ sdkconfig.defaults na oru ngo. Maka example, na-agbakwunye CONFIG_LOG_
50 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
DEFAULT_LEVEL_NONE = y nwere ike hazie interface UART ka ọ ghara ibipụta data ndekọ na ndabara. Ọzọkwa, ọ bụrụ na ọ dị mkpa ka edobe paramita ụfọdụ maka otu ebumnuche, nhazi file Enwere ike ịgbakwunye aha ya sdkconfig.defaults.TARGET_NAME, ebe TARGET_NAME nwere ike ịbụ esp32s2, esp32c3, na ihe ndị ọzọ. Nhazi ndị a fileA na-ebubata s na sdkconfig n'oge a na-achịkọta ya, yana nhazi ndabara n'ozuzu ya file sdkconfig.defaults na-ebu ụzọ ebubata, nhazi nke ebumnuche na-esote file, dị ka sdkconfig.defaults.esp32c3. N'ọnọdụ ebe enwere ihe nhazi nwere otu aha, nhazi nke ikpeazụ file ga-akwatu nke mbụ.
4.3.4 Okwu Mmalite nke Akwụkwọ Nchịkọta
Mgbe ị na-emepụta ọrụ site na iji ESP-IDF, ndị mmepe ọ bụghị nanị na ọ dị mkpa ka ha dee koodu isi mmalite kamakwa ọ dị mkpa ka ha dee CMakeLists.txt maka ọrụ na akụrụngwa. CMakeLists.txt bụ ederede file, nke a makwaara dị ka edemede nchịkọta, nke na-akọwa usoro nchịkọta ihe, ihe nhazi nhazi, na iwu iji duzie usoro nchịkọta nke koodu isi mmalite. Usoro nchịkọta nke ESP-IDF v4.3.2 dabere na CMake. Na mgbakwunye na ịkwado ọrụ CMake na iwu obodo, ọ na-akọwakwa usoro ọrụ omenala, na-eme ka ọ dịkwuo mfe ide edemede nchịkọta.
Edemede nchikota dị na ESP-IDF na-agụnyekarị script mkpokọta ọrụ yana script mkpokọta akụrụngwa. A na-akpọ CMekeLists.txt dị na ndekọ mgbọrọgwụ nke ọrụ ahụ script nchịkọta ọrụ, nke na-eduzi usoro nchịkọta nke ọrụ ahụ dum. Ederede nchịkọta ọrụ bụ isi na-agụnye ahịrị atọ ndị a:
1. cmake_minimum_required(VERSION 3.5) 2. gụnyere($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. project(myProject)
N'ime ha, cmake_minimum_required (VERSION 3.5) ga-etinyerịrị n'ahịrị nke mbụ, nke a na-egosi ọnụọgụ ụdị CMake kacha nta nke ọrụ ahụ chọrọ. Ụdị CMake ndị ọhụrụ na-adabakarị azụ azụ na ụdị ochie, yabụ gbanwee nọmba mbipute ahụ ka ị na-eji iwu CMake ọhụrụ iji hụ na ndakọrịta.
gụnyere ($ ENV {IDF_PATH}/tools/cmake/project.cmake) na-ebubata ihe nhazi akọwapụtagoro na iwu nke sistemu nchịkọta ESP-IDF, gụnyere ụkpụrụ iwulite nke ndabara nke usoro nchịkọta nke akọwara na ngalaba 4.3.3. project (myProject) na-emepụta ọrụ ahụ n'onwe ya wee kọwaa aha ya. A ga-eji aha a dị ka ọnụọgụ abụọ mmepụta ikpeazụ file aha, ntụgharị, myProject.elf na myProject.bin.
Ihe oru ngo nwere ike inwe otutu ihe, tinyere isi ihe. Akwụkwọ ndekọ aha kacha elu nke akụrụngwa ọ bụla nwere CMakeLists.txt file, nke a na-akpọ edemede nchịkọta akụrụngwa. A na-ejikarị scripts nchịkọta akụrụngwa iji kọwaa ndabere akụrụngwa, paramita nhazi, koodu isi mmalite files, ma tinye nkụnye eji isi mee files maka
Isi nke 4. Ịtọlite gburugburu mmepe 51
nchịkọta. Site na ọrụ omenala ESP-IDF idf_component_register, koodu kacha nta achọrọ maka edemede mkpokọta akụrụngwa bụ nke a:
1. idf_component_register (SRCS "src1.c"
2.
INCLUDE_DIRS "gụnye"
3.
Achọrọ akụrụngwa1)
Oke SRCS na-enye ndepụta isi mmalite files na akụrụngwa, kewapụrụ site oghere ma ọ bụrụ na e nwere otutu files. Oke INCLUDE_DIRS na-enye ndepụta nkụnye eji isi mee ọha file akwụkwọ ndekọ aha maka akụrụngwa, nke a ga-agbakwunye na ụzọ ọchụchọ gụnyere maka ihe ndị ọzọ dabere na mpaghara dị ugbu a. Oke ihe achọrọ achọrọ na-achọpụta ndabere akụrụngwa ọha maka akụrụngwa dị ugbu a. Ọ dị mkpa ka akụrụngwa kwupụta nke ọma nke akụrụngwa ha dabere na ya, dị ka components2 dabere na components1. Agbanyeghị, maka akụrụngwa bụ isi, nke dabere na akụrụngwa niile na ndabara, enwere ike ịwepu oke ihe achọrọ.
Na mgbakwunye, enwere ike iji iwu CMake nke ala na edemede mkpokọta. Maka example, jiri iwu atọrọ ka ịtọọ mgbanwe, dị ka set(VARIABLE “VALUE”).
4.3.5 Okwu Mmalite nke Iwu nkịtị
ESP-IDF na-eji CMake (ngwaọrụ nhazi ọrụ), Ninja (ngwaọrụ ụlọ ọrụ) na esptool (ngwaọrụ flash) na usoro nchịkọta koodu. Ngwá ọrụ ọ bụla na-arụ ọrụ dị iche iche na nhazi, iwu ụlọ, na usoro ọkụ, ma na-akwadokwa iwu ọrụ dị iche iche. Iji kwado ọrụ onye ọrụ, ESP-IDF na-agbakwụnye idf.py n'ihu ọnụ ọnụ nke na-enye ohere ka akpọọ iwu ndị dị n'elu ngwa ngwa.
Tupu iji idf.py, gbaa mbọ hụ na:
Agbakwunyela mgbanwe gburugburu IDF_PATH nke ESP-IDF n'ọnụ ọnụ ugbu a. · Akwụkwọ ndekọ mkpochapụ iwu bụ akwụkwọ ndekọ mgbọrọgwụ nke ọrụ ahụ, nke gụnyere
Ederede nchịkọta ọrụ CMekeLists.txt.
Iwu nkịtị nke idf.py bụ ndị a:
· idf.py –help: igosipụta ndepụta iwu yana ntuziaka ojiji ha. · idf.py set-ebumnobi : ịtọ mkpọkọta taidf.py fullcleanrget, dị otú ahụ
dị ka dochie na esp32c3. · idf.py menuconfig: mmalite menuconfig, ihe nhazi eserese ọnụ
ngwá ọrụ, nke nwere ike họrọ ma ọ bụ gbanwee nhọrọ nhazi, na-echekwa nsonaazụ nhazi na sdkconfig file. · idf.py wuo: mmalite koodu nchịkọta. Nke etiti files na mmemme ikpeazụ executable ewepụtara site na mkpokọta ga-echekwa na ndekọ ụlọ ọrụ na ndabara. Usoro nchịkọta na-abawanye, nke pụtara na ọ bụrụ naanị otu isi iyi file agbanweela, naanị nke emegharịrị file a ga-achịkọta oge ọzọ.
52 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
· idf.py dị ọcha: ihicha etiti files emepụtara site na mkpokọta oru ngo. A ga-amanye ọrụ a niile ka ha chịkọta na nchịkọta na-esote. Rịba ama na nhazi CMake na mgbanwe nhazi nke menuconfig mere agaghị ehichapụ n'oge nhicha.
· idf.py fullclean: ihichapụ akwụkwọ ndekọ aha niile, gụnyere mmepụta nhazi CMake niile files. Mgbe arụrụ ọrụ ahụ ọzọ, CMake ga-ahazi ọrụ ahụ site na ọkọ. Biko mara na iwu a ga-ehichapụ ihe niile ugboro ugboro files na akwụkwọ ndekọ ụlọ, ya mere jiri nlezianya mee ya, na nhazi ọrụ file agaghị ehichapụ.
· idf.py flash: na-egbu maramara na executable mmemme ọnụọgụ abụọ file emepụtara site na iji wuo ebumnuche ESP32-C3. Nhọrọ -p na -b A na-eji ịtọ aha ngwaọrụ nke ọdụ ụgbọ mmiri serial yana ọnụego baud maka ọkụ, n'otu n'otu. Ọ bụrụ na akọwapụtaghị nhọrọ abụọ a, a ga-achọpụta ọdụ ụgbọ mmiri na-akpaghị aka na ọnụego baud ndabara ga-eji.
· idf.py Monitor: na-egosipụta mmepụta ọdụ ụgbọ mmiri serial nke ebumnuche ESP32-C3. Enwere ike iji nhọrọ -p kọwaa aha ngwaọrụ nke ọdụ ụgbọ mmiri n'akụkụ ndị ọbịa. Mgbe a na-ebi akwụkwọ serial port, pịa njikọ igodo Ctrl+] ka ịpụ na ihe nleba anya.
Enwere ike ijikọta iwu ndị a dị n'elu dịka achọrọ. Maka example, iwu idf.py build flash monitor ga-eme koodu nchịkọta, flash, na-emeghe Oghere Usoro n'ọdụ ụgbọ mmiri nlekota oru n'usoro.
Ị nwere ike ịga na https://bookc3.espressif.com/build-system ka ịmatakwu gbasara usoro nchịkọta ESP-IDF.
4.4 Omume: Ịchịkọta Exampna Mmemme "Blink"
4.4.1 Ọpụample Analysis
Akụkụ a ga-ewere mmemme Blink dị ka example iji nyochaa ihe file nhazi na koodu ntinye iwu nke ezigbo oru ngo n'uju. Mmemme Blink na-arụ ọrụ mmetụta ọkụ ọkụ LED, yana ọrụ a dị na ndekọ ndekọ examples/bido/bido, nke nwere isi mmalite file, nhazi files, na ọtụtụ edemede mkpọkọta.
Ọrụ ọkụ smart ewepụtara n'akwụkwọ a gbadoro ụkwụ na nke a bụbuample mmemme. A ga-eji nwayọọ nwayọọ tinye ọrụ n'isiakwụkwọ ndị na-esote iji mechaa ya.
Koodu isi mmalite iji gosi usoro mmepe dum, e depụtaghachila mmemme Blink na esp32c3-iot-projects/firmware ngwaọrụ/1 blink.
Usoro ndekọ aha nke oru blink files ka egosiri na onyonyo 4.15.
Ihe oru ngo blink nwere naanị otu akwụkwọ ndekọ aha, nke bụ akụkụ pụrụ iche nke ahụ
Isi nke 4. Ịtọlite gburugburu mmepe 53
Onyonyo 4.15. File usoro ndekọ aha nke blink oru ngo
a ga-etinyerịrị dịka akọwara na ngalaba 4.3.2. A na-ejikarị akwụkwọ ndekọ aha eme ihe iji chekwaa mmejuputa ọrụ app_main (), nke bụ ntinye ntinye na mmemme onye ọrụ. The blink project anaghị agụnye akwụkwọ ndekọ aha, n'ihi na nke a bụ ex.ample naanị kwesịrị iji components na-abịa na ESP-IDF na ọ dịghị achọ ọzọ components. A na-eji CMekeLists.txt etinyere na ọrụ blink iji duzie usoro nchịkọta, ebe a na-eji Kconfig.projbuild tinye ihe nhazi maka mbụ a.ampusoro na menuconfig. Ndị ọzọ na-adịghị mkpa files agaghị emetụta mkpokọta koodu ahụ, yabụ agaghị atụle ha ebe a. Okwu mmeghe zuru oke na oru ngo a na-egbuke egbuke files dị ka ndị a.
1. /* blink.c gụnyere nkụnye eji isi mee nke a files*/
2. #gụnyere
// Standard C akwụkwọ nkụnye eji isi mee file
3. #gụnyere "freertos/freeRTOS.h" //FreeRTOS isi nkụnye eji isi mee file
4. #gụnye "freertos/task.h"
// isi ihe omume FreeRTOS file
5. #gụnye "sdkconfig.h"
// Nhazi nkụnye eji isi mee file emepụtara site na kconfig
6. #gụnyere “ọkwọ ụgbọala/gpio.h”
// GPIO nkụnye eji isi mee file
Isi iyi file blink.c nwere usoro nkụnye eji isi mee filekwekọrọ na nkwupụta ọrụ -
tions. ESP-IDF na-agbaso usoro nke ịgụnye nkụnye eji isi mee ọba akwụkwọ files, FreeR-
TOS nkụnye eji isi mee files, nkụnye eji isi mee files, nkụnye eji isi mee ihe ndị ọzọ files, na nkụnye eji isi mee files.
Usoro nke nkụnye eji isi mee files agụnyere nwere ike imetụta nsonaazụ nchịkọta ikpeazụ, yabụ gbalịa mee
soro ndabara iwu. Ekwesiri ighota na sdkconfig.h na-emeputa na-akpaghị aka
site kconfig na enwere ike ịhazi ya site na iwu idf.py menuconfig.
Mgbanwe ozugbo nke nkụnye eji isi mee a file a ga-edegharị ya.
1. /* Ị nwere ike họrọ GPIO kwekọrọ na LED na idf.py menuconfig, na mgbanwe nke menuconfig bụ na uru nke CONFIG_BLINK
_GPIO ga-agbanwe. Ị nwekwara ike gbanwee nkọwa nnukwu nnukwu ozugbo
ebe a, ma gbanwee CONFIG_BLINK_GPIO ka ọ bụrụ uru edobere.*/ 2. # kọwaa BLINK_GPIO CONFIG_BLINK_GPIO
3. ngwa efu_main(ihe efu)
4. {
5.
/* Hazie IO dị ka ọrụ ndabara GPIO, mee ka ọnọdụ ndọpụta, na
6.
gbanyụọ usoro ntinye na mmepụta*/
7.
gpio_reset_pin(BLINK_GPIO);
54 ESP32-C3 Ikuku Adventure: Ntuziaka zuru oke maka IoT
8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. }
/* Tọọ GPIO ka ọ bụrụ ọnọdụ mmepụta*/ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); mgbe (1) {
/ * Ndekọ mbipụta * / printf ("Na-agbanyụ LEDn"); /* Gbanyụọ ọkụ (mpụta ọkwa dị ala)*/ gpio_set_level(BLINK_GPIO, 0); /* igbu oge (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf ("Na-atụgharị na LEDn"); /* Gbanwuo ọkụ (ọkwa dị elu mmepụta)*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }
Ọrụ app_main() na Blink example program na-eje ozi dị ka ebe ntinye maka mmemme onye ọrụ. Ọ bụ ọrụ dị mfe na-enweghị paramita na enweghị uru nloghachi. A na-akpọ ọrụ a mgbe usoro ahụ gụchara mmalite, nke gụnyere ọrụ ndị dị ka ịmepụta ọdụ ụgbọ mmiri log, ịhazi otu / dual core, na ịhazi onye nche.
Ọrụ app_main() na-arụ n'ọnọdụ nke ọrụ akpọrọ isi. Enwere ike ịhazi nha njupụta na mkpa ọrụ a na menuconfig Componentconfig nkịtị metụtara ESP.
Maka ọrụ dị mfe dị ka ịcha ọkụ ọkụ, enwere ike itinye koodu niile dị mkpa ozugbo na ọrụ app_main (). Nke a na-agụnye ịmalite ịmalite GPIO kwekọrọ na LED na iji oge (1) loop iji gbanye ọkụ na gbanyụọ. N'aka nke ọzọ, ịnwere ike iji FreeRTOS API mepụta ọrụ ọhụrụ na-ejikwa ọkụ ọkụ ọkụ. Ozugbo arụpụtara ọrụ ọhụrụ ahụ nke ọma, ị nwere ike ịpụ na ọrụ app_main().
Ọdịnaya nke isi/CMakeLists.txt file, nke na-eduzi usoro nchịkọta maka isi ihe, bụ nke a:
1. idf_component_register (SRCS "blink.c" INCLUDE_DIRS "." )
N'ime ha, isi/CmakeLists.txt na-akpọ naanị otu ọrụ mkpokọta, ya bụ idf_component_register. Yiri CMakeLists.txt maka ọtụtụ akụrụngwa ndị ọzọ, blink.c na-agbakwunye na SRCS, yana isi mmalite. fileA ga-achịkọta ihe agbakwunyere na SRCS. N'otu oge ahụ, ".", nke na-anọchi anya ụzọ ebe CMakeLists.txt dị, kwesịrị ịgbakwunye na INCLUDE_DIRS dị ka akwụkwọ ndekọ aha maka nkụnye eji isi mee ihe. files. Ọdịnaya nke CMakeLists.txt bụ nke a:
1. #kpọpụta v3.5 dị ka ụdị CMake kacha ochie na-akwado site na ọrụ ugbu a 2. #Versions dị ala karịa v3.5 ga-ebulirịrị tupu achịkọta ya 3. cmake_minimum_required (VERSION 3.5) 4. #Gụnye ndabara CMake nhazi nke ESP -IDF usoro nchịkọta
Isi nke 4. Ịtọlite gburugburu mmepe 55
5. gụnyere($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Mepụta oru ngo akpọrọ "blink" 7. project(myProject)
N'ime ha, CMakeLists.txt na ndekọ mgbọrọgwụ gụnyere $ ENV{IDF_ PATH}/tools/cmake/project.cmake, nke bụ isi nhazi CMake. file ESP-IDF nyere. A na-eji con
Akwụkwọ / akụrụngwa
![]() |
Espressif Systems ESP32-C3 Ikuku Adventure [pdf] Ntuziaka onye ọrụ ESP32-C3 Ikuku Adventure, ESP32-C3, Ikuku Adventure, Njem njem |