I-ESP32-C3 Wireless Adventure
I-ESP32-C3 Wireless Adventure
Umhlahlandlela Ophelele we-IoT
I-Espressif Systems Juni 12, 2023
Imininingwane
- Umkhiqizo: ESP32-C3 Wireless Adventure
- Umkhiqizi: I-Espressif Systems
- Idethi: Juni 12, 2023
Imiyalo yokusetshenziswa komkhiqizo
Ukulungiselela
Ngaphambi kokusebenzisa i-ESP32-C3 Wireless Adventure, qiniseka ukuthi unjalo
ujwayelene nemiqondo kanye nezakhiwo ze-IoT. Lokhu kuzosiza
uyaqonda ukuthi idivayisi ingena kanjani ku-IoT ecosystem enkulu
kanye nezinhlelo zokusebenza ezingase zibe khona ezindlini ezihlakaniphile.
Isingeniso kanye Nokwenza Kwemiklamo ye-IoT
Kulesi sigaba, uzofunda ngamaphrojekthi we-IoT ajwayelekile,
kufaka phakathi amamojula ayisisekelo wamadivayisi ajwayelekile e-IoT, amamojula ayisisekelo
yezinhlelo zokusebenza zamakhasimende, kanye namapulatifomu amafu e-IoT ajwayelekile. Lokhu kuzokwenza
ukukunikeza isisekelo sokuqonda nokudala kwakho
amaphrojekthi we-IoT.
Ukuzijwayeza: Iphrojekthi Yokukhanya Okukhaliphile
Kule phrojekthi yokuzijwayeza, uzofunda ukuthi ungakha kanjani i-smart
ukukhanya kusetshenziswa i-ESP32-C3 Wireless Adventure. Isakhiwo sephrojekthi,
imisebenzi, ukulungiswa kwezingxenyekazi zekhompuyutha, kanye nenqubo yokuthuthukisa kuzoba
kuchazwe kabanzi.
Isakhiwo Sephrojekthi
Le phrojekthi iqukethe izingxenye eziningana, kuhlanganise
I-ESP32-C3 Wireless Adventure, ama-LED, izinzwa, nefu
ingemuva.
Imisebenzi Yephrojekthi
Iphrojekthi yokukhanya ehlakaniphile ikuvumela ukuthi ulawule ukukhanya futhi
umbala wama-LED ukude ngohlelo lokusebenza lweselula noma web
esibonakalayo.
Ukulungiselela Hardware
Ukuze ulungiselele iphrojekthi, uzodinga ukuqoqa ama-
izingxenye zehadiwe ezidingekayo, njenge-ESP32-C3 Wireless
Ibhodi le-Adventure, ama-LED, ama-resistors, kanye nokunikezwa kwamandla.
Inqubo Yokuthuthukisa
Inqubo yokuthuthukisa ibandakanya ukumisa intuthuko
imvelo, ukubhala ikhodi yokulawula ama-LED, exhuma ku-
i-cloud backend, nokuhlola ukusebenza kwabahlakaniphile
ukukhanya.
Isingeniso se-ESP RainMaker
I-ESP RainMaker iwuhlaka olunamandla lokuthuthukisa i-IoT
amadivaysi. Kulesi sigaba, uzofunda ukuthi iyini i-ESP RainMaker futhi
ukuthi ingasetshenziswa kanjani kumaphrojekthi akho.
Iyini i-ESP RainMaker?
I-ESP RainMaker iyinkundla esekwe emafini ehlinzeka ngesethi ye
amathuluzi nezinsizakalo zokwakha nokuphatha amadivayisi we-IoT.
Ukuqaliswa Kwe-ESP RainMaker
Lesi sigaba sichaza izingxenye ezahlukene ezihilelekile
ukusebenzisa i-ESP RainMaker, okuhlanganisa nesevisi yokufaka izicelo,
I-RainMaker Agent, i-cloud backend, ne-RainMaker Client.
Ukuzijwayeza: Amaphuzu Abalulekile Wokuthuthukisa nge-ESP RainMaker
Kulesi sigaba sokuzijwayeza, uzofunda ngamaphuzu abalulekile okumele uwasebenzise
cabanga lapho uthuthuka nge-ESP RainMaker. Lokhu kubandakanya idivayisi
ukufuna, ukuvumelanisa idatha, nokuphathwa komsebenzisi.
Izici ze-ESP RainMaker
I-ESP RainMaker inikeza izici ezihlukahlukene zokuphatha umsebenzisi, ekugcineni
abasebenzisi, nabaphathi. Lezi zici zivumela idivayisi elula
ukusetha, isilawuli kude, nokuqapha.
Ukusetha Indawo Yokuthuthukisa
Lesi sigaba sinikeza i-overview ye-ESP-IDF (Espressif IoT
I-Development Framework), okuwuhlaka olusemthethweni lwentuthuko
kumadivayisi asekelwe ku-ESP32. Ichaza izinguqulo ezahlukene ze
I-ESP-IDF nendlela yokusetha indawo yokuthuthukisa.
Izingxenyekazi zekhompuyutha kanye nokuthuthukiswa komshayeli
Idizayini yezingxenyekazi zekhompuyutha Yemikhiqizo Ekhanyayo Ehlakaniphile esekelwe ku-ESP32-C3
Lesi sigaba sigxile ekwakhiweni kwehadiwe yokukhanya okuhlakaniphile
imikhiqizo esuselwe ku-ESP32-C3 Wireless Adventure. Ihlanganisa i
izici nokwakheka kwemikhiqizo yokukhanya ehlakaniphile, kanye ne
ukwakhiwa kwehadiwe yesistimu eyinhloko ye-ESP32-C3.
Izici Nokwakheka Kwemikhiqizo Ekhanyayo Ehlakaniphile
Lesi sigatshana sichaza izici nezingxenye ezakhayo
up imikhiqizo yokukhanya ehlakaniphile. Ixoxa ngemisebenzi eyahlukene
nokucatshangelwa kokuklama kokudala izibani ezihlakaniphile.
I-Hardware Design ye-ESP32-C3 Core System
Idizayini yehadiwe yesistimu ye-ESP32-C3 eyinhloko ihlanganisa amandla
ukunikezwa, ukulandelana kwamandla, ukusetha kabusha isistimu, i-SPI flash, umthombo wewashi,
kanye nokucatshangelwa kwe-RF kanye nezinti. Lesi sigatshana siyahlinzeka
ulwazi oluningiliziwe ngalezi zici.
FAQ
Q: Iyini i-ESP RainMaker?
A: I-ESP RainMaker iyinkundla esekwe emafini ehlinzeka ngamathuluzi
kanye nezinsizakalo zokwakha nokuphatha amadivayisi e-IoT. Kwenza kube lula
inqubo yokuthuthukisa futhi ivumela ukusethwa kwedivayisi okulula, okukude
ukulawula, nokuqapha.
Umbuzo: Ngingayisetha kanjani indawo yokuthuthukisa
I-ESP32-C3?
A: Ukusetha indawo yokuthuthukisa ye-ESP32-C3, udinga
ukufaka i-ESP-IDF (Espressif IoT Development Framework) kanye
ilungise ngokwemiyalelo enikeziwe. I-ESP-IDF yiyona
uhlaka lokuthuthukiswa olusemthethweni lwamadivayisi asekelwe ku-ESP32.
Q: Yiziphi izici ze-ESP RainMaker?
A: I-ESP RainMaker inikeza izici ezihlukahlukene, kuhlanganise nomsebenzisi
ukuphathwa, izici zomsebenzisi wokugcina, nezici zokuphatha. Ukuphathwa komsebenzisi
ivumela ukufunwa kwedivayisi okulula nokuvumelanisa idatha. Umsebenzisi wokugcina
izici zinika amandla isilawuli kude samadivayisi ngohlelo lokusebenza lweselula noma
web esibonakalayo. Izici zomlawuli zinikeza amathuluzi okuqapha idivayisi
kanye nabaphathi.
I-ESP32-C3 Wireless Adventure
Umhlahlandlela Ophelele we-IoT
I-Espressif Systems Juni 12, 2023
Okuqukethwe
I Ukulungiselela
1
1 Isingeniso se-IoT
3
1.1 I-Architecture ye-IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Isicelo se-IoT ku-Smart Homes. . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Isingeniso Nokwenza Kwemiklamo ye-IoT
9
2.1 Isingeniso Semiklamo Ye-IoT Ejwayelekile . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Amamojula Ayisisekelo Amadivayisi Ajwayelekile e-IoT . . . . . . . . . . . . . . . . . 9
2.1.2 Amamojula Ayisisekelo Ezicelo Zeklayenti . . . . . . . . . . . . . . . . . . . 10
2.1.3 Isingeniso Sezinkundla Ezivamile ze-IoT Cloud . . . . . . . . . . . . . . 11
2.2 Ukuzijwayeza: Iphrojekthi Yokukhanya Okukhaliphile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Isakhiwo Sephrojekthi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Imisebenzi Yephrojekthi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 Ukulungiswa kwezingxenyekazi zekhompyutha. . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 Inqubo Yentuthuko . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Isingeniso se-ESP RainMaker
19
3.1 Yini i-ESP RainMaker? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Ukuqaliswa Kwe-ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 Isevisi yokufaka izicelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 I-RainMaker Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 I-Cloud Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.4 Iklayenti le-RainMaker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Ukuzijwayeza: Amaphuzu Abalulekile Wokuthuthukisa nge-ESP RainMaker. . . . . . . . . . . . 25
3.4 Izici ze-ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 Ukuphathwa komsebenzisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.2 Izici Zomsebenzisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.3 Izici Zokuphatha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Ukusetha Indawo Yokuthuthukisa
31
4.1 ESP-IDF Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 Izinguqulo ze-ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3
4.1.2 I-ESP-IDF Git Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Ukukhetha Inguqulo Efanelekayo . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 Ngaphezuluview yohlu lwemibhalo lwe-ESP-IDF SDK . . . . . . . . . . . . . . . . . . . . 34 4.2 Ukusetha Indawo Yokuthuthukiswa Kwe-ESP-IDF . . . . . . . . . . . . . . . . . 38 4.2.1 Ukusetha Indawo Yokuthuthukiswa Kwe-ESP-IDF ku-Linux . . . . . . . . 38 4.2.2 Ukusetha Indawo Yokuthuthukiswa Kwe-ESP-IDF ku-Windows. . . . . . 40 4.2.3 Ukusetha Indawo Yokuthuthukiswa Kwe-ESP-IDF ku-Mac . . . . . . . . . 45 4.2.4 Ukufaka Ikhodi ye-VS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Isingeniso Sezindawo Zokuthuthukiswa Kweqembu Lesithathu . . . . . . . . 46 4.3 Uhlelo Lokuhlanganiswa Kwe-ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Imiqondo Eyisisekelo Yohlelo Lokuhlanganiswa . . . . . . . . . . . . . . . . . . 47 4.3.2 Iphrojekthi File Isakhiwo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Imithetho Yokwakha Okuzenzakalelayo Yohlelo Lokuhlanganiswa . . . . . . . . . . . . . 50 4.3.4 Isingeniso Sescript Sokuhlanganiswa . . . . . . . . . . . . . . . . . . 51 4.3.5 Isingeniso Semiyalo Ejwayelekile . . . . . . . . . . . . . . . . . . . 52 4.4 Ukuzijwayeza: Ukuhlanganisa Eksampkanye nohlelo “Blink” . . . . . . . . . . . . . . . . . . 53 4.4.1 Eksample Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Ukuhlanganisa Uhlelo Lokucwayiza . . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Ukukhanyisa Uhlelo Lokucwayiza . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Ukuhlaziywa Kwelogi Yembobo Yesierial Yohlelo Lokucwayiza . . . . . . . . . . . . . . 60 4.5 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
II Izingxenyekazi zekhompuyutha kanye nokuthuthukiswa komshayeli
65
5 Idizayini yezingxenyekazi zekhompuyutha Yemikhiqizo Ekhanyayo Ehlakaniphile esekelwe ku-ESP32-C3
67
5.1 Izici Nokwakheka Kwemikhiqizo Ekhanyayo Ehlakaniphile . . . . . . . . . . . . . . . 67
5.2 I-Hardware Design ye-ESP32-C3 Core System . . . . . . . . . . . . . . . . . . . 70
5.2.1 Ukuhlinzekwa kwamandla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2 Ukulandelana Kokuvula Amandla Nokusetha Kabusha Uhlelo . . . . . . . . . . . . . . . . . . 74
5.2.3 I-SPI Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.4 Umthombo wewashi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.5 RF kanye ne-Antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.6 Izikhonkwane Zokubopha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.7 I-GPIO kanye nesilawuli se-PWM . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.3 Ukuzijwayeza: Ukwakha Isistimu Yokukhanya Okukhaliphile nge-ESP32-C3 . . . . . . . . . . . . . 80
5.3.1 Ukukhetha Amamojula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.2 Ukulungisa ama-GPIO ezimpawu ze-PWM . . . . . . . . . . . . . . . . . . . . 82
5.3.3 Ukulanda i-Firmware kanye nesixhumi esibonakalayo sokulungisa iphutha . . . . . . . . . . . . 82
5.3.4 Iziqondiso Zokuklama I-RF . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 Izeluleko Zokuklanywa Kokuhlinzeka Ngogesi . . . . . . . . . . . . . . . . . . . 86 5.4 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6 Ukuthuthukiswa Kwabashayeli
87
6.1 Inqubo Yokuthuthukisa Abashayeli. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2 ESP32-C3 Izicelo Ezizungezile . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3 Izisekelo Zomshayeli We-LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.1 Izikhala ezinemibala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.2 I-LED Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.3 Ukufiphala kwe-LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.4 Isingeniso se-PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.4 Ukuthuthukiswa Komshayeli We-LED Dimming. . . . . . . . . . . . . . . . . . . . . . . . 96
6.4.1 Isitoreji Esingaguquguquki (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97
6.4.2 I-LED PWM Controller (LEDC) . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.3 I-LED PWM Programming . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5 Ukuzijwayeza: Ukwengeza Abashayeli Kuphrojekthi Yokukhanya Okukhaliphile . . . . . . . . . . . . . . . . . 103
6.5.1 Inkinobho Yomshayeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5.2 I-LED Dimming Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.6 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
III Ukuxhumana Nokulawula Okungenantambo
109
7 Ukucushwa kwe-Wi-Fi nokuxhumana
111
7.1 Izisekelo ze-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.1 Isingeniso ku-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.2 Ukuvela kwe-IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.3 Imiqondo ye-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.4 Uxhumano lwe-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2 Izisekelo ze-Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2.1 Isingeniso ku-Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.2 Imiqondo ye-Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.2.3 Uxhumano lwe-Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.3 Ukucushwa Kwenethiwekhi ye-Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.3.1 Umhlahlandlela Wokulungisa Inethiwekhi ye-Wi-Fi . . . . . . . . . . . . . . . . . . . . 131
7.3.2 I-SoftAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.3 I-SmartConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.4 I-Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.3.5 Ezinye Izindlela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.4 Uhlelo lwe-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 Izingxenye ze-Wi-Fi ku-ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 Ukuzivocavoca: Uxhumano lwe-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 Ukuzivivinya: I-Smart Wi-Fi Connection. . . . . . . . . . . . . . . . . . . . . 145
7.5 Ukuzijwayeza: Ukucushwa kwe-Wi-Fi Kuphrojekthi Yokukhanya Okukhaliphile . . . . . . . . . . . . . . . 156 7.5.1 Uxhumo lwe-Wi-Fi Kuphrojekthi Yokukhanya Okukhaliphile . . . . . . . . . . . . . . . . . 156 7.5.2 Ukucushwa kwe-Smart Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8 Ukulawulwa Kwendawo
159
8.1 Isingeniso Sokulawulwa Kwendawo . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.1.1 Ukusetshenziswa Kokulawulwa Kwasekhaya . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.2 I-Advantages of Local Control. . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.3 Ukuthola Amadivayisi Alawulwayo Ngama-Smartphones . . . . . . . . . . 161
8.1.4 Ukuxhumana Kwedatha Phakathi Kwama-Smartphones Namadivayisi . . . . . . . . 162
8.2 Izindlela Ezivamile Zokuthola Indawo . . . . . . . . . . . . . . . . . . . . . . . . 162
8.2.1 Ukusakaza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.2.2 Ukusakaza okuningi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2.3 Ukuqhathaniswa Phakathi Kokusakaza Nokusakaza Okuningi . . . . . . . . . . . . . . 176
8.2.4 I-Multicast Application Protocol mDNS Yokutholwa Kwasendaweni . . . . . . . . 176
8.3 Izimiso Zokuxhumana Ezivamile Zedatha Yasendaweni . . . . . . . . . . . . . . . 179
8.3.1 I-Transmission Control Protocol (TCP) . . . . . . . . . . . . . . . . . . . 179
8.3.2 I-HyperText Transfer Protocol (HTTP) . . . . . . . . . . . . . . . . . . . 185
8.3.3 Umsebenzisi Datagram Protocol (UDP) . . . . . . . . . . . . . . . . . . . . . . 189
8.3.4 I-Constrained Application Protocol (CoAP) . . . . . . . . . . . . . . . . 192
8.3.5 I-Bluetooth Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
8.3.6 Isifinyezo Sezinqubo Zokuxhumana Ngolwazi . . . . . . . . . . . . . . . 203
8.4 Isiqinisekiso Sokuvikeleka Kwedatha. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.4.1 Isingeniso Sezokuphepha Kwezinga Lezokuthutha (TLS) . . . . . . . . . . . . . 207
8.4.2 Isingeniso ku-Datagram Transport Layer Security (DTLS) . . . . . . . 213
8.5 Ukuzijwayeza: Ukulawulwa Kwendawo Kuphrojekthi Yokukhanya Okukhaliphile . . . . . . . . . . . . . . . . . . 217
8.5.1 Ukudala i-Wi-Fi-based Local Control Server . . . . . . . . . . . . . . . 217
8.5.2 Ukuqinisekisa Ukusebenza Kokulawula Kwasendaweni kusetshenziswa Imibhalo . . . . . . . . . . . 221
8.5.3 Ukudala iseva yokulawula yendawo esekelwe ku-Bluetooth . . . . . . . . . . . . 222
8.6 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9 Ukulawula Kwamafu
225
9.1 Isethulo sokulawula ukude . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.2 Izinqubo Zokuxhumana Zedatha Yamafu . . . . . . . . . . . . . . . . . . . . . . 226
9.2.1 I-MQTT Isingeniso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 Izimiso ze-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 Ifomethi yomlayezo we-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 Ukuqhathaniswa Kwephrothokholi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Ukusetha I-MQTT Broker ku-Linux naku-Windows . . . . . . . . . . . . 233 9.2.6 Ukusetha Iklayenti le-MQTT Ngokusekelwe ku-ESP-IDF . . . . . . . . . . . . . . . . 235 9.3 Ukuqinisekisa Ukuvikeleka Kwedatha ye-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 Incazelo kanye Nokusebenza Kwezitifiketi . . . . . . . . . . . . . . . . . . . 237 9.3.2 Ukukhiqiza Izitifiketi Endaweni . . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 Ukulungisa i-MQTT Broker . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 Ukulungisa Iklayenti le-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 Ukuzijwayeza: Isilawuli kude nge-ESP RainMaker . . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 I-Node ne-Cloud Backend Communication Protocol . . . . . . . . . . . 244 9.4.3 Ukuxhumana phakathi kweKlayenti kanye ne-Cloud Backend . . . . . . . . . . . 249 9.4.4 Izindima Zomsebenzisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Izinkonzo Eziyisisekelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 I-Smart Light Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 Uhlelo lokusebenza lwe-RainMaker kanye Nokuhlanganiswa Kwezinkampani Eziseceleni . . . . . . . . . . . . . . . 262 9.5 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10 Ukuthuthukiswa Kohlelo Lokusebenza Lwe-Smartphone
269
10.1 Isingeniso Sokuthuthukiswa Kohlelo Lokusebenza Lwe-smartphone . . . . . . . . . . . . . . . . . . 269
10.1.1 Ngaphezuluview Yokuthuthukiswa Kohlelo Lokusebenza Lwe-Smartphone. . . . . . . . . . . . . . . 270
10.1.2 Isakhiwo Sephrojekthi Ye-Android . . . . . . . . . . . . . . . . . . . . . . 270
10.1.3 Isakhiwo Sephrojekthi ye-iOS . . . . . . . . . . . . . . . . . . . . . . . . 271
10.1.4 Umjikelezo Wokuphila Womsebenzi we-Android . . . . . . . . . . . . . . . . . . . . . . 272
10.1.5 Umjikelezo wokuphila we-iOS ViewIsilawuli . . . . . . . . . . . . . . . . . . . . . . 273
10.2 Ukudala Iphrojekthi Entsha Yohlelo Lokusebenza Lwe-smartphone . . . . . . . . . . . . . . . . . . . . . 275
10.2.1 Ukulungiselela Ukuthuthukiswa Kwe-Android . . . . . . . . . . . . . . . . . . . 275
10.2.2 Ukudala Iphrojekthi Entsha ye-Android . . . . . . . . . . . . . . . . . . . . . . 275
10.2.3 Ukwengeza Okuncike ku-MyRainmaker . . . . . . . . . . . . . . . . . 276
10.2.4 Isicelo Semvume ku-Android . . . . . . . . . . . . . . . . . . . . . . 277
10.2.5 Ukulungiselela Ukuthuthukiswa Kwe-iOS . . . . . . . . . . . . . . . . . . . . . . 277
10.2.6 Ukudala Iphrojekthi Ye-iOS Entsha . . . . . . . . . . . . . . . . . . . . . . . . 278
10.2.7 Ukwengeza Okuncike ku-MyRainmaker . . . . . . . . . . . . . . . . . 279
10.2.8 Isicelo Semvume ku-iOS . . . . . . . . . . . . . . . . . . . . . . . . . 280
10.3 Ukuhlaziywa Kwezimfuneko Zokusebenza Zohlelo Lokusebenza . . . . . . . . . . . . . . . . . . 281
10.3.1 Ukuhlaziywa Kwezidingo Zokusebenza Zomklamo. . . . . . . . . . . . 282
10.3.2 Ukuhlaziywa Kwezidingo Zokulawula Umsebenzisi. . . . . . . . . . . . . . . 282 10.3.3 Ukuhlaziywa Kwezidingo Zokuhlinzekwa Kwedivayisi Nezibophezela . . . . . . . 283 10.3.4 Ukuhlaziywa Kwezidingo Zokulawula Kukude . . . . . . . . . . . . . . . . 283 10.3.5 Ukuhlaziywa Kwezimfuneko Zokuhlela . . . . . . . . . . . . . . . . . . . 284 10.3.6 Ukuhlaziywa Kwezimfuneko Zesikhungo Sabasebenzisi . . . . . . . . . . . . . . . . . . 285 10.4 Ukuthuthukiswa Kokuphathwa Kwabasebenzisi . . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 Isingeniso sama-RainMaker APIs . . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 Ukuqalisa Ukuxhumana Nge-Smartphone . . . . . . . . . . . . . . . . 286 10.4.3 Ukubhaliswa Kwe-akhawunti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 Ukungena Nge-akhawunti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 Ukuthuthukiswa Kokuhlinzekwa Kwedivayisi . . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 Amadivayisi Okuskena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 Amadivayisi Axhumayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 Ukukhiqiza Okhiye Abayimfihlo . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Ukuthola I-ID Ye-Node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 Amadivayisi Ahlinzeka . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 Ukuthuthukiswa Kokulawulwa Kwedivayisi . . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 Ukubophezela Amadivayisi Kuma-Akhawunti Efu . . . . . . . . . . . . . . . . . . . . 303 10.6.2 Ukuthola Uhlu Lwamadivayisi . . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 Ukuthola Isimo Sedivayisi. . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 Ukushintsha Isimo Sedivayisi . . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 Ukuthuthukiswa Kokuhlela kanye Nesikhungo Sabasebenzisi . . . . . . . . . . . . . . . . . . . 313 10.7.1 Ukuqalisa Umsebenzi Wokuhlela . . . . . . . . . . . . . . . . . . . . 313 10.7.2 Ukusebenzisa Isikhungo Sabasebenzisi . . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 Ama-Cloud API amaningi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
11 Ukuthuthukiswa Kwe-Firmware Nokuphathwa Kwenguqulo
321
11.1 Ukuthuthukiswa kweFirmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
11.1.1 Ngaphezuluview Amathebula Okuhlukanisa . . . . . . . . . . . . . . . . . . . . . . . . 322
11.1.2 Inqubo ye-Firmware Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
11.1.3 Ngaphezuluview ye-OTA Mechanism. . . . . . . . . . . . . . . . . . . . . 326
11.2 Ukuphathwa kwenguqulo yeFirmware. . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.1 Ukumakwa kweFirmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.2 I-Rollback kanye ne-Anti-Rollback . . . . . . . . . . . . . . . . . . . . . . . . 331
11.3 Ukuzijwayeza: Emoyeni (OTA) Example . . . . . . . . . . . . . . . . . . . . . . . 332
11.3.1 Thuthukisa I-Firmware Ngomsingathi Wasendaweni . . . . . . . . . . . . . . . . . 332
11.3.2 Thuthukisa I-Firmware Nge-ESP RainMaker. . . . . . . . . . . . . . . 335
11.4 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Ukuthuthukiswa Kwe-IV kanye Nokukhiqiza Okuningi
343
12 Ukuphatha Amandla kanye Nokuthuthukisa Amandla Aphansi
345
12.1 ESP32-C3 Ukuphathwa kwamandla . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
12.1.1 Ukukala Imvamisa Eguqukayo . . . . . . . . . . . . . . . . . . . . . . . . 346
12.1.2 Ukucushwa kokuphathwa kwamandla . . . . . . . . . . . . . . . . . . . . 348
12.2 ESP32-C3 Imodi Yamandla Aphansi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
12.2.1 Imodi yokulala yemodemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
12.2.2 Imodi yokulala okulula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
12.2.3 Imodi yokulala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
12.2.4 Ukusetshenziswa Kwamanje Ezimodini Zamandla Ezihlukene . . . . . . . . . . . . . 358
12.3 Ukuphathwa kwamandla kanye nokulungisa iphutha lamandla aphansi . . . . . . . . . . . . . . . . . 359
12.3.1 Ukulungisa iphutha lamalogu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
12.3.2 Ukulungisa iphutha kwe-GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
12.4 Ukuzijwayeza: Ukuphathwa kwamandla kuphrojekthi ye-Smart Light . . . . . . . . . . . . . . . 363
12.4.1 Ukulungisa Isici Sokulawula Amandla . . . . . . . . . . . . . . . . . 364
12.4.2 Sebenzisa Izingidi Zokulawula Amandla . . . . . . . . . . . . . . . . . . . . . . 365
12.4.3 Ukuqinisekisa Ukusetshenziswa Kwamandla . . . . . . . . . . . . . . . . . . . . . . . 366
12.5 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
13 Izici Ezithuthukisiwe Zokuvikeleka Kwedivayisi
369
13.1 Ngaphezuluview Yokuphepha Kwedatha Yedivayisi ye-IoT. . . . . . . . . . . . . . . . . . . . . . . 369
13.1.1 Kungani Uvikela Idatha Yedivayisi ye-IoT? . . . . . . . . . . . . . . . . . . . . . . 370
13.1.2 Izidingo Eziyisisekelo Zokuvikeleka Kwedatha Yedivayisi ye-IoT . . . . . . . . . . . . 371
13.2 Ukuvikelwa Kobuqotho Bedatha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
13.2.1 Isingeniso Sendlela Yokuqinisekisa Ubuqotho . . . . . . . . . . . . . . 372
13.2.2 Ukuqinisekiswa Kobuqotho Kwedatha Ye-Firmware. . . . . . . . . . . . . . . . . . 373
13.2.3 Isbample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3 Ukuvikelwa Kokugcina Imfihlo Yedatha. . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3.1 Isingeniso Sokubethelwa Kwedatha. . . . . . . . . . . . . . . . . . . . . . 374
13.3.2 Isingeniso Se-Flash Encryption Scheme . . . . . . . . . . . . . . . . . 376
13.3.3 Isitoreji Sokhiye Wokubethela Okukhanyayo . . . . . . . . . . . . . . . . . . . . . . . 379
13.3.4 Imodi Yokusebenza Yokubethela Kwe-Flash. . . . . . . . . . . . . . . . . . . . 380
13.3.5 Inqubo Yokubhala Nge-Flash . . . . . . . . . . . . . . . . . . . . . . . . . . 381
13.3.6 Isingeniso Sokubethela Kwe-NVS . . . . . . . . . . . . . . . . . . . . . . 383
13.3.7 IsbampIzingxenye Zokubethelwa Kwe-Flash kanye Nokubethela kwe-NVS. . . . . . . . . . . 384
13.4 Ukuvikelwa Kokusemthethweni Kwedatha. . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
13.4.1 Isingeniso Sesiginesha Yedijithali . . . . . . . . . . . . . . . . . . . . . 386
13.4.2 Ngaphezuluview YeSikimu Sebhuthi Esivikelekile. . . . . . . . . . . . . . . . . . . . . 388
13.4.3 Isingeniso Se-Software Secure Boot . . . . . . . . . . . . . . . . . . . 388 13.4.4 Isingeniso Se-Hardware Secure Boot . . . . . . . . . . . . . . . . . . 390 13.4.5 Eksamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 Ukuzijwayeza: Izici Zokuvikela Ekukhiqizweni Okuningi . . . . . . . . . . . . . . . . . . 396 13.5.1 I-Flash Encryption kanye Nokuvula Okuvikelekile . . . . . . . . . . . . . . . . . . . . . 396 13.5.2 Ukunika amandla Ukubethela kwe-Flash kanye nokuVikela Ukuqalwa Nge-Batch Flash Tools . . 397 13.5.3 Ukunika amandla Ukubethela kwe-Flash kanye ne-Secure Boot ku-Smart Light Project. . . 398 13.6 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
14 Ukushiswa kweFirmware kanye Nokuhlolwa Kokukhiqizwa Okuningi
399
14.1 Ukushiswa kweFirmware Ekukhiqizeni Okuningi . . . . . . . . . . . . . . . . . . . . . . 399
14.1.1 Ukuchaza Izingxenye Zedatha. . . . . . . . . . . . . . . . . . . . . . . . . . 399
14.1.2 Ukushiswa kweFirmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
14.2 Ukuhlolwa Kokukhiqiza Okuningi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
14.3 Ukuzijwayeza: Idatha Yokukhiqiza Okuningi Kuphrojekthi Yokukhanya Okukhaliphile. . . . . . . . . . . . . 404
14.4 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
15 ESP Insights: Remote Monitoring Platform
405
15.1 Isingeniso se-ESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
15.2 Ukuqalisa Ngemininingwane ye-ESP . . . . . . . . . . . . . . . . . . . . . . . . . 409
15.2.1 Ukuqalisa Nge-ESP Insights kuphrojekthi ye-esp-insights . . . . . . 409
15.2.2 Ukugijima Eksample kuphrojekthi ye-esp-insights. . . . . . . . . . . . . . . 411
15.2.3 Ukubika Ulwazi Lokulahla Okukhulu . . . . . . . . . . . . . . . . . . . . . 411
15.2.4 Ukwenza ngendlela oyifisayo amalogi anentshisekelo . . . . . . . . . . . . . . . . . . . . . . . . 412
15.2.5 Ukubika Isizathu Sokuqalisa . . . . . . . . . . . . . . . . . . . . . . . . . 413
15.2.6 Ukubika Amamethrikhi Angokwezifiso . . . . . . . . . . . . . . . . . . . . . . . . . 413
15.3 Ukuzijwayeza: Ukusebenzisa I-ESP Insights kuphrojekthi ye-Smart Light. . . . . . . . . . . . . . . 416
15.4 Isifinyezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Isingeniso
I-ESP32-C3 iyi-single-core Wi-Fi ne-Bluetooth 5 (LE) microcontroller SoC, esekelwe ekwakhiweni komthombo ovulekile we-RISC-V. Ishaya ibhalansi efanele yamandla, amandla e-I/O, nokuphepha, ngaleyo ndlela inikeze isisombululo esingabizi kakhulu samadivayisi axhunyiwe. Ukukhombisa izinhlelo zokusebenza ezahlukahlukene zomndeni we-ESP32-C3, le ncwadi ka-Espressif izokuthatha ohambweni olujabulisayo nge-AIoT, kusukela ezintweni eziyisisekelo zokuthuthukiswa kwephrojekthi ye-IoT nokusethwa kwemvelo kuye ku-ex esebenzayo.ampLes. Izahluko ezine zokuqala zikhuluma nge-IoT, ESP RainMaker kanye ne-ESP-IDF. Isahluko 5 no-6 ngamafuphi mayelana nokwakhiwa kwehadiwe kanye nokuthuthukiswa komshayeli. Njengoba uqhubeka, uzothola ukuthi ungayimisa kanjani iphrojekthi yakho ngamanethiwekhi e-Wi-Fi nezinhlelo zokusebenza zeselula. Ekugcineni, uzofunda ukwenza kahle iphrojekthi yakho futhi uyifake ekukhiqizweni ngobuningi.
Uma ungunjiniyela emikhakheni ehlobene, umakhi wesofthiwe, uthisha, umfundi, nanoma ubani onentshisekelo ku-IoT, le ncwadi ingeyakho.
Ungalanda ikhodi example esetshenziswe kule ncwadi kusuka kusayithi lika-Espressif ku-GitHub. Ukuze uthole ulwazi lwakamuva mayelana nokuthuthukiswa kwe-IoT, sicela ulandele i-akhawunti yethu esemthethweni.
Isandulelo
Umhlaba Onolwazi
Njengoba igibele igagasi le-inthanethi, i-Intanethi Yezinto (IoT) yenze isiqalo sayo esihle ukuze sibe uhlobo olusha lwengqalasizinda emnothweni wedijithali. Ukuletha ubuchwepheshe eduze nomphakathi, i-Espressif Systems isebenzela umbono wokuthi abathuthukisi abavela kuzo zonke izigaba zokuphila bangasebenzisa i-IoT ukuxazulula ezinye zezinkinga ezicindezela kakhulu zezikhathi zethu. Izwe "Lenethiwekhi Ehlakaniphile Yazo Zonke Izinto" yilokho esikulindele esikhathini esizayo.
Ukuklama ama-chips ethu kwenza ingxenye ebalulekile yalowo mbono. Kuzoba imarathon, edinga impumelelo eqhubekayo ngokumelene nemingcele yezobuchwepheshe. Kusukela ku-"Game Changer" ESP8266 kuya ochungechungeni lwe-ESP32 oluhlanganisa ukuxhumana kwe-Wi-Fi ne-Bluetoothr (LE), kulandelwa i-ESP32-S3 ehlonyiswe ukusheshisa kwe-AI, i-Espressif ayilokothi iyeke ukucwaninga nokuthuthukisa imikhiqizo yezixazululo ze-AIoT. Ngesofthiwe yethu yomthombo ovulekile, njenge-IoT Development Framework ESP-IDF, Mesh Development Framework ESP-MDF, kanye ne-Device Connectivity Platform ESP RainMaker, sidale uhlaka oluzimele lokwakha izinhlelo zokusebenza ze-AIoT.
Kusukela ngoJulayi 2022, ukuthunyelwa okuhlanganisiwe kwama-chipset e-Espressif's IoT kudlule izigidi ezingama-800, okuholela emakethe ye-Wi-Fi MCU futhi kunika amandla inani elikhulu lamadivayisi axhunyiwe emhlabeni wonke. Ukuphishekela ukwenza kahle kwenza wonke umkhiqizo we-Espressif ube nethonya elikhulu ngezinga lawo eliphezulu lokuhlanganisa kanye nokusebenza kahle kwezindleko. Ukukhishwa kwe-ESP32-C3 kuphawula ingqopha-mlando ebalulekile yobuchwepheshe bokuzithuthukisa be-Espressif. I-single-core, 32-bit, RISC-V-based MCU ene-400KB ye-SRAM, engasebenza ku-160MHz. Ihlanganise i-2.4 GHz Wi-Fi ne-Bluetooth 5 (LE) ngokusekelwa kwebanga elide. Ifinyelela ibhalansi enhle yamandla, amandla e-I/O, nokuphepha, ngaleyo ndlela inikeze isixazululo esingabizi kakhulu samadivayisi axhunyiwe. Ngokusekelwe ku-ESP32-C3 enamandla kangaka, le ncwadi ihloselwe ukusiza abafundi baqonde ulwazi oluhlobene ne-IoT ngomfanekiso onemininingwane kanye ne-ex esebenzayo.ampLes.
Kungani sibhale le ncwadi?
I-Espressif Systems ingaphezu kwenkampani ye-semiconductor. Kuphinde kube yinkampani yesikhulumi se-IoT, ehlala ilwela ukuphumelela nokuqamba izinto ezintsha emkhakheni wezobuchwepheshe. Ngesikhathi esifanayo, i-Espressif inemithombo evulekile futhi yabelane ngohlelo lwayo lokusebenza oluzithuthukisile kanye nohlaka lwesofthiwe nomphakathi, yakha i-ecosystem eyingqayizivele. Onjiniyela, abakhi, nabashisekeli bezobuchwepheshe bathuthukisa ngenkuthalo izinhlelo zokusebenza zesofthiwe ezintsha ezisuselwe emikhiqizweni ye-Espressif, baxhumane ngokukhululekile, futhi babelane ngolwazi lwabo. Ungabona imibono ethakazelisayo yonjiniyela ezinkundleni ezihlukahlukene ngaso sonke isikhathi, njenge-YouTube ne-GitHub. Ukuduma kwemikhiqizo ye-Espressif kukhuthaze inani elandayo lababhali abakhiqize izincwadi ezingaphezu kwe-100 ezisekelwe kuma-chipset e-Espressif, ngezilimi ezingaphezu kweshumi, okuhlanganisa isiNgisi, isiShayina, isiJalimane, isiFulentshi, nesiJapane.
Ukwesekwa nokwethenjwa kozakwethu bomphakathi okukhuthaza ukuqamba okusha okuqhubekayo kwe-Espressif. “Silwela ukwenza ama-chips ethu, izinhlelo zokusebenza, izinhlaka, izixazululo, Ifu, izinqubo zebhizinisi, amathuluzi, imibhalo, imibhalo, imibono, njll., zihambisane kakhulu nezimpendulo abantu abazidingayo ezinkingeni ezicindezela kakhulu zokuphila. Lena isifiso esiphezulu se-Espressif nekhampasi yokuziphatha.” kusho uMnu. Teo Swee Ann, uMsunguli kanye no-CEO we-Espressif.
I-Espressif ikwazisa ukufunda nemibono. Njengoba ukuthuthukiswa okuqhubekayo kobuchwepheshe be-IoT kubangela izidingo eziphakeme konjiniyela, singabasiza kanjani abantu abaningi ukuba baqonde ngokushesha ama-chip e-IoT, amasistimu okusebenza, izinhlaka zesofthiwe, izikimu zohlelo lokusebenza nemikhiqizo yesevisi yamafu? Njengoba isisho sisho, kungcono ukufundisa umuntu ukudoba kunokumnika inhlanzi. Eseshini yokubonisana, kufike kithi ukuthi singabhala incwadi ukuze silungise ngokuhlelekile ulwazi olubalulekile lokuthuthukiswa kwe-IoT. Sayiqeda, saqoqa ngokushesha iqembu lonjiniyela abakhulu, futhi sahlanganisa ulwazi lwethimba lezobuchwepheshe ezinhlelweni ezishumekiwe, i-IoT hardware kanye nokuthuthukiswa kwesofthiwe, konke okunomthelela ekushicilelweni kwale ncwadi. Ngesikhathi sokubhala, sizame konke okusemandleni ethu ukuba nenhloso nokungenzeleli, sikhiphe i-cocoon, futhi sisebenzise izinkulumo ezimfishane ukutshela ubunkimbinkimbi nokuthandeka kwe-inthanethi Yezinto. Sifingqa ngokucophelela imibuzo evamile, ebhekise kumpendulo neziphakamiso zomphakathi, ukuze siphendule ngokucacile imibuzo esihlangabezane nayo enqubweni yokuthuthukisa, futhi sinikeze imihlahlandlela esebenzayo yokuthuthukiswa kwe-IoT kochwepheshe abafanelekile nabathatha izinqumo.
Isakhiwo Sencwadi
Le ncwadi ithatha umbono ogxile kunjiniyela futhi ichaza ulwazi oludingekayo lokuthuthukiswa kwephrojekthi ye-IoT isinyathelo ngesinyathelo. Yakhiwe izingxenye ezine, kanje:
· Ukulungiselela (Isahluko 1): Le ngxenye yethula ukwakheka kwe-IoT, uhlaka olujwayelekile lwephrojekthi ye-IoT, inkundla yefu ye-ESP RainMakerr, kanye nemvelo yokuthuthukisa i-ESP-IDF, ukuze kwakhiwe isisekelo esiqinile sokuthuthukiswa kwephrojekthi ye-IoT.
· Izingxenyekazi zekhompuyutha kanye Nokuthuthukiswa Komshayeli (Isahluko 5): Ngokusekelwe ku-chipset ye-ESP6-C32, le ngxenye ichaza kabanzi ngohlelo oluncane lwezingxenyekazi zekhompuyutha nokuthuthukiswa komshayeli, futhi isebenzisa ukulawula kokufiphala, ukugreda kombala, nokuxhumana okungenantambo.
· Ukuxhumana Nokulawula Okungenantambo (Isahluko 7): Le ngxenye ichaza uhlelo oluhlakaniphile lokulungiselela i-Wi-Fi olususelwe ku-chip ye-ESP11-C32, izimiso eziyisisekelo zokulawula amafu, kanye nokulawulwa kwendawo nokukude kwamadivayisi. Iphinde inikeze izikimu zokuthuthukisa izinhlelo zokusebenza ze-smartphone, ukuthuthukiswa kwe-firmware, nokuphathwa kwenguqulo.
· Ukuthuthukiswa Nokukhiqiza Okuningi (Isahluko 12-15): Le ngxenye ihloselwe izinhlelo zokusebenza ze-IoT ezithuthukisiwe, ezigxile ekuthuthukisweni kwemikhiqizo ekuphathweni kwamandla, ukwenziwa ngcono kwamandla aphansi, kanye nokuphepha okuthuthukisiwe. Futhi yethula ukushiswa kwe-firmware nokuhlolwa ekukhiqizweni ngobuningi, kanye nendlela yokuhlonza isimo esisebenzayo namalogi e-firmware yedivayisi ngenkundla yokuqapha ekude i-ESP Insights.
Mayelana Nekhodi Yomthombo
Abafundi bangasebenzisa i-example izinhlelo kule ncwadi, ngokufaka ikhodi mathupha noma ngokusebenzisa ikhodi yomthombo ehambisana nencwadi. Sigcizelela inhlanganisela yethiyori nokwenza, futhi ngaleyo ndlela simise isigaba sokuzijwayeza esisekelwe kuphrojekthi ye-Smart Light cishe kuzo zonke izahluko. Wonke amakhodi anemithombo evulekile. Abafundi bamukelekile ukulanda ikhodi yomthombo futhi nixoxe ngayo ezigabeni ezihlobene naleli bhuku ku-GitHub kanye nenkundla yethu esemthethweni esp32.com. Ikhodi enemithombo evulekile yaleli bhuku ingaphansi kwemigomo ye-Apache License 2.0.
Inothi Lombhali
Le ncwadi ikhiqizwa ngokusemthethweni ngabakwa-Espressif Systems futhi ibhalwe ngonjiniyela abakhulu benkampani. Ilungele abaphathi kanye nabasebenzi be-R&D ezimbonini ezihlobene ne-IoT, othisha nabafundi bama-majors ahlobene, nabashisekayo emkhakheni we-inthanethi Yezinto. Sithemba ukuthi le ncwadi ingasebenza njengemanyuwali yomsebenzi, ireferensi, kanye nencwadi eseceleni kombhede, ukuze ibe njengomfundisi nomngane omuhle.
Ngenkathi sihlanganisa leli bhuku, sibhekisele emiphumeleni ethile yocwaningo efanelekile yochwepheshe, izifundiswa, nochwepheshe basekhaya nabaphesheya, futhi senze konke okusemandleni ethu ukubabala ngokwenkambiso yezemfundo. Nokho-ke akunakugwenywa ukuthi kube khona okuyeqiwe, ngakho-ke lapha sithanda ukuzwakalisa inhlonipho ejulile nokubonga kubo bonke ababhali abafanelekile. Ngaphezu kwalokho, sicaphune ulwazi oluvela ku-inthanethi, ngakho-ke sithanda ukubonga ababhali nabashicileli bokuqala futhi siyaxolisa ngokuthi asikwazi ukukhombisa umthombo walo lonke ulwazi.
Ukuze sikhiqize incwadi yekhwalithi ephezulu, sihlele imizuliswano yezingxoxo zangaphakathi, futhi safunda eziphakamisweni nasezimpendulweni zabafundi bokuhlola nabahleli bokushicilela. Lapha, sithanda ukunibonga futhi ngosizo lwenu nonke enibe nesandla kulo msebenzi oyimpumelelo.
Okokugcina, kodwa okubaluleke kakhulu, sibonga wonke umuntu kwa-Espressif osebenze kanzima ukuze kube nokuzalwa nokuthandwa kwemikhiqizo yethu.
Ukuthuthukiswa kwamaphrojekthi we-IoT kubandakanya ulwazi olubanzi. Kunomkhawulo wobude bencwadi, kanye nezinga nolwazi lombhali, ukweqiwa akunakugwenywa. Ngakho-ke, sicela ngomusa ukuthi ochwepheshe nabafundi bagxeke futhi balungise amaphutha ethu. Uma uneziphakamiso zale ncwadi, sicela usithinte ku-book@espressif.com. Sibheke ngabomvu impendulo yakho.
Isetshenziswa kanjani le ncwadi?
Ikhodi yamaphrojekthi kule ncwadi ivuliwe umthombo. Ungayilanda endaweni yethu yokugcina ye-GitHub futhi wabelane ngemicabango yakho nemibuzo esithangamini sethu esisemthethweni. I-GitHub: https://github.com/espressif/book-esp32c3-iot-projects Forum: https://www.esp32.com/bookc3 Kuyo yonke incwadi, kuzoba nezingxenye ezigqanyisiwe njengoba kukhonjisiwe ngezansi.
Ikhodi yomthombo Kule ncwadi, sigcizelela inhlanganisela yethiyori nokusebenza, futhi ngaleyo ndlela sibeka isigaba sokuzijwayeza mayelana nephrojekthi ye-Smart Light cishe kuzo zonke izahluko. Izinyathelo ezihambisanayo kanye nekhasi lomthombo lizomakwa phakathi kwemigqa emibili eqala ngo- tag Ikhodi yomthombo.
QAPHELA/AMATHIPHU Yilapho ungathola khona ulwazi olubalulekile kanye nesikhumbuzi sokulungisa inkinga yakho ngempumelelo. Azomakwa phakathi kwemigqa emibili ewugqinsi eqala ngo tag QAPHELA noma AMACEBISO.
Imiyalo eminingi kule ncwadi isetshenziswa ngaphansi kwe-Linux, iqhutshwa uhlamvu “$”. Uma umyalo udinga amalungelo omsebenzisi omkhulu ukuze asebenzise, umyalo uzothathelwa indawo "#". Umyalo womyalo kumasistimu we-Mac uthi “%”, njengoba usetshenziswe eSigabeni 4.2.3 Ukufaka i-ESP-IDF ku-Mac.
Umbhalo wendikimba kule ncwadi uzophrintwa ku-Charter, kuyilapho ikhodi examples, izingxenye, imisebenzi, okuguquguqukayo, ikhodi file amagama, izinkomba zekhodi, neyunithi yezinhlamvu kuzoba ku-Courier New.
Imiyalo noma imibhalo edinga ukufakwa ngumsebenzisi, nemiyalo engafakwa ngokucindezela inkinobho ethi "Enter" izophrintwa nge-Courier New ngokugqamile. Amalogi namabhulokhi ekhodi azokwethulwa ngamabhokisi aluhlaza okwesibhakabhaka ngokukhanyayo .
Example:
Okwesibili, sebenzisa i-esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py ukuze ukhiqize i-NVS partition binary file kumsingathi wokuthuthukisa ngomyalo olandelayo:
$ python $IDF INDLELA/izingxenye/nvs flash/nvs partition generator/nvs partition gen.py -input mass prod.csv -output mass prod.bin -size NVS PARTITION SIZE
Isahluko 1
Isingeniso
ku
I-IoT
Ekupheleni kwekhulu lama-20, ngokukhula kwamanethiwekhi amakhompiyutha nobuchwepheshe bezokuxhumana, i-inthanethi yahlanganiswa ngokushesha ezimpilweni zabantu. Njengoba ubuchwepheshe be-inthanethi buqhubeka nokuvuthwa, umqondo we-Intanethi Yezinto (IoT) wazalwa. Ngokwezwi nezwi, i-IoT isho i-inthanethi lapho izinto zixhumeke khona. Nakuba i-Inthanethi yasekuqaleni iphula imingcele yesikhala nesikhathi futhi inciphisa ibanga phakathi "komuntu nomuntu", i-IoT yenza "izinto" zibe umhlanganyeli obalulekile, isondeza "abantu" kanye "nezinto" ndawonye. Esikhathini esizayo esibonakalayo, i-IoT isethelwe ukuba ibe amandla aqhuba imboni yolwazi.
Ngakho-ke, iyini i-Intanethi Yezinto?
Kunzima ukuchaza ngokunembile i-inthanethi Yezinto, njengoba incazelo yayo kanye nobubanzi buvela njalo. Ngo-1995, uBill Gates waqala ukuletha umbono we-IoT encwadini yakhe ethi The Road Ahead. Kalula nje, i-IoT yenza izinto zikwazi ukushintshana ngolwazi nge-inthanethi. Umgomo wayo omkhulu ukusungula “I-inthanethi Yakho Konke”. Lokhu ukuhunyushwa kwasekuqaleni kwe-IoT, kanye nephupho lobuchwepheshe besikhathi esizayo. Eminyakeni engamashumi amathathu kamuva, ngokuthuthuka okusheshayo komnotho nobuchwepheshe, iphupho liyafezeka. Kusukela kumadivayisi ahlakaniphile, amakhaya ahlakaniphile, amadolobha ahlakaniphile, I-inthanethi Yezimoto namadivayisi agqokekayo, kuya “kumetaverse” okusekelwa ubuchwepheshe be-IoT, imiqondo emisha ivela njalo. Kulesi sahluko, sizoqala ngencazelo yokwakheka kwe-inthanethi Yezinto, bese sethula uhlelo lokusebenza oluvame kakhulu lwe-IoT, ikhaya elihlakaniphile, ukuze sikusize uthole ukuqonda okucacile kwe-IoT.
1.1 I-Architecture ye-IoT
I-inthanethi Yezinto ibandakanya ubuchwepheshe obuningi obunezidingo ezihlukile zohlelo lokusebenza namafomu ezimbonini ezahlukahlukene. Ukuze uhlele ukwakheka, ubuchwepheshe obubalulekile kanye nezici zohlelo lokusebenza lwe-IoT, kuyadingeka ukusungula ukwakheka okuhlanganisiwe nohlelo lobuchwepheshe olujwayelekile. Kule ncwadi, ukwakheka kwe-IoT kumane kuhlukaniswe izingqimba ezine: ungqimba lokubona nokulawula, isendlalelo senethiwekhi, isendlalelo seplatifomu, kanye nesendlalelo sohlelo lokusebenza.
I-Perception & Control Layer Njengengxenye eyisisekelo kakhulu yokwakheka kwe-IoT, ungqimba lokubona nokulawula luwumongo wokubona inzwa ebanzi ye-IoT. Umsebenzi wawo omkhulu ukuqoqa, ukuhlonza kanye nokulawula ulwazi. Iqukethe izinhlobonhlobo zamadivayisi anekhono lokubona,
3
ukuhlonza, ukulawula nokusebenzisa, futhi unesibopho sokubuyisa nokuhlaziya idatha efana nezakhiwo ezibalulekile, izitayela zokuziphatha, nesimo sedivayisi. Ngale ndlela, i-IoT ithola ukubona umhlaba wangempela wenyama. Ngaphandle kwalokho, isendlalelo siyakwazi nokulawula isimo sedivayisi.
Amadivayisi avame kakhulu alesi sendlalelo yizinzwa ezihlukahlukene, ezidlala indima ebalulekile ekuqoqweni kolwazi kanye nokuhlonza. Izinzwa zifana nezitho zezinzwa zomuntu, njengezinzwa ze-photosensitive ezilingana nokubona, izinzwa ze-acoustic zokuzwa, izinzwa zegesi zokuhogela, nezinzwa ezizwela ukucindezela nezinga lokushisa lapho uthintwa. Ngazo zonke lezi “zitho zezinzwa”, izinto “ziyaphila” futhi zikwazi ukubona izinto ezihlakaniphile, ukuqashelwa kanye nokuxhaphaza umhlaba wenyama.
Isendlalelo Senethiwekhi Umsebenzi oyinhloko wesendlalelo senethiwekhi ukudlulisa ulwazi, okuhlanganisa idatha etholwe kusukela kungqimba yombono nokulawula iye kuthagethi ethile, kanye nemiyalo ekhishwe isendlalelo sohlelo lokusebenza ibuyele kungqimba lokubona nokulawula. Isebenza njengebhuloho lokuxhumana elibalulekile elixhuma izingqimba ezihlukene zohlelo lwe-IoT. Ukusetha imodeli eyisisekelo Ye-inthanethi Yezinto, kuhilela izinyathelo ezimbili zokuhlanganisa izinto zibe yinethiwekhi: ukufinyelela ku-inthanethi nokudlulisa nge-inthanethi.
Ukufinyelela ku-inthanethi ye-inthanethi kuvumela ukuxhumana phakathi komuntu nomuntu, kodwa kwehluleke ukufaka izinto emndenini omkhulu. Ngaphambi kokufika kwe-IoT, izinto eziningi zazingeyona “inethiwekhi”. Ngenxa yokuthuthukiswa okuqhubekayo kobuchwepheshe, i-IoT iyakwazi ukuxhuma izinto ku-inthanethi, ngaleyo ndlela ibone ukuxhumana phakathi "kobantu nezinto", kanye "nezinto nezinto". Kunezindlela ezimbili ezijwayelekile zokuqalisa ukuxhumana kwe-inthanethi: ukufinyelela kwenethiwekhi enezintambo kanye nokufinyelela kwenethiwekhi engenantambo.
Izindlela zokufinyelela inethiwekhi enezintambo zifaka i-Ethernet, ukuxhumana kwe-serial (isb, i-RS-232, RS-485) ne-USB, kuyilapho ukufinyelela kwenethiwekhi engenantambo kuncike ekuxhumaneni okungenantambo, okungase kuhlukaniswe ngokuxhumana okungenazintambo okude kanye nokuxhumana okungenazintambo ebangeni elide.
Ukuxhumana okungenazintambo kwebanga elifushane kufaka i-ZigBee, i-Bluetoothr, i-Wi-Fi, i-Near-Field Communication (NFC), kanye ne-Radio Frequency Identification (RFID). Ukuxhumana okungenantambo kwebanga elide kuhlanganisa Ukuxhumana Komshini Okuthuthukisiwe (i-eMTC), i-LoRa, i-Narrow Band Internet of Things (NB-IoT), 2G, 3G, 4G, 5G, njll.
Ukudlulisa nge-inthanethi Izindlela ezihlukene zokufinyelela ku-inthanethi ziholela esixhumanisini esihambelanayo sokudlulisa idatha. Okulandelayo ukunquma ukuthi iyiphi iphrothokholi yokuxhumana ezosetshenziswa ukudlulisa idatha. Uma kuqhathaniswa namatheminali e-inthanethi, amatheminali amaningi e-IoT njengamanje anembalwa
4 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
izinsiza ezitholakalayo, njengokucubungula ukusebenza, umthamo wokugcina, izinga lenethiwekhi, njll., ngakho-ke kuyadingeka ukukhetha iphrothokholi yokuxhumana ethatha izinsiza ezimbalwa ezinhlelweni ze-IoT. Kunezimiso zokuxhumana ezimbili ezisetshenziswa kakhulu namuhla: I-Message Queuing Telemetry Transport (MQTT) kanye ne-Constrained Application Protocol (CoAP).
Isendlalelo Seplatifomu Isendlalelo seplathifomu ngokuyinhloko sibhekisela ezisekelweni zamafu ze-IoT. Lapho wonke amatheminali e-IoT exhunywe kunethiwekhi, idatha yawo idinga ukuhlanganiswa endaweni yamafu ye-IoT ukuze ibalwe futhi igcinwe. Isendlalelo seplathifomu sisekela kakhulu izinhlelo zokusebenza ze-IoT ekusizeni ukufinyelela nokuphathwa kwamadivayisi amakhulu. Ixhuma amatheminali e-IoT kuplathifomu yamafu, iqoqa idatha yetheminali, futhi ikhiphe imiyalo kumatheminali, ukuze kusetshenziswe isilawuli kude. Njengensizakalo ephakathi yokunikeza imishini kuzinhlelo zokusebenza zemboni, ungqimba lweplatifomu ludlala indima yokuxhuma kuwo wonke ama-architecture we-IoT, luphethe umqondo webhizinisi ongaqondakali kanye nemodeli yedatha eyisisekelo emisiwe, engakwazi nje ukubona ukufinyelela okusheshayo kwamadivayisi, kodwa futhi inikeze amandla anamandla emodular. ukuhlangabezana nezidingo ezihlukahlukene ezimweni zesicelo semboni. Isendlalelo seplathifomu ikakhulukazi sihlanganisa amamojula asebenzayo afana nokufinyelela kwedivayisi, ukuphathwa kwedivayisi, ukuphathwa kwezokuphepha, ukuxhumana kwemiyalezo, ukusebenza kokuqapha nokugcinwa, kanye nezinhlelo zokusebenza zedatha.
· Ukufinyelela idivayisi, uqaphela ukuxhumana nokuxhumana phakathi kwamatheminali namapulatifomu efu e-IoT.
· Ukuphathwa kwedivayisi, okuhlanganisa imisebenzi efana nokudala idivayisi, ukugcinwa kwedivayisi, ukuguqulwa kwedatha, ukuvumelanisa idatha, nokusatshalaliswa kwedivayisi.
· Ukuphathwa kwezokuphepha, ukuqinisekisa ukuphepha kokudluliswa kwedatha ye-IoT ngokombono wokuqinisekisa ukuphepha kanye nokuphepha kokuxhumana.
· Ukuxhumana ngomlayezo, okuhlanganisa izikhombisi-ndlela ezintathu zokudlulisa, okungukuthi, itheminali ithumela idatha ku-platform yefu ye-IoT, inkundla yefu ye-IoT ithumela idatha ohlangothini lweseva noma kwamanye amapulatifomu amafu e-IoT, futhi uhlangothi lweseva lulawula ukude amadivayisi e-IoT.
· Ukuqapha i-O&M, okubandakanya ukuqapha nokuxilongwa, ukuthuthukiswa kwe-firmware, ukulungisa amaphutha ku-inthanethi, izinsizakalo zokungena, njll.
· Izinhlelo zokusebenza zedatha, ezibandakanya ukugcinwa, ukuhlaziya nokusebenzisa idatha.
Isendlalelo Sohlelo Lokusebenza Isendlalelo sohlelo lokusebenza sisebenzisa idatha evela kusendlalelo seplathifomu ukuphatha uhlelo lokusebenza, ukusefa kanye nokucutshungulwa ngamathuluzi afana nesizindalwazi kanye nesofthiwe yokuhlaziya. Idatha ewumphumela ingasetshenziselwa izinhlelo zokusebenza ze-IoT zomhlaba wangempela ezifana nokunakekelwa kwezempilo okuhlakaniphile, ezolimo ezihlakaniphile, amakhaya ahlakaniphile, namadolobha ahlakaniphile.
Vele, i-architecture ye-IoT ingahlukaniswa ibe yizingqimba ezengeziwe, kodwa noma ngabe iqukethe izendlalelo ezingaki, umgomo oyisisekelo uhlala ufana. Ukufunda
Isahluko 1. Isingeniso se-IoT 5
mayelana nezakhiwo ze-IoT kusiza ukujulisa ukuqonda kwethu ubuchwepheshe be-IoT futhi sakhe amaphrojekthi e-IoT asebenza ngokugcwele.
1.2 Isicelo se-IoT ku-Smart Homes
I-IoT ingene kuyo yonke imikhakha yempilo, futhi isicelo esihlobene kakhulu ne-IoT kithi yikhaya elihlakaniphile. Imishini eminingi yendabuko manje isifakwe idivayisi ye-IoT eyodwa noma ngaphezulu, futhi izindlu eziningi ezisanda kwakhiwa ziklanywe ngobuchwepheshe be-IoT kusukela ekuqaleni. Umfanekiso 1.1 ubonisa ezinye izisetshenziswa ezijwayelekile zasekhaya ezihlakaniphile.
Umfanekiso 1.1. Imishini ejwayelekile yasekhaya ehlakaniphile Ukuthuthukiswa kwekhaya elihlakaniphile kungahlukaniswa kalula kumkhiqizo ohlakaniphile stage, ukuhlangana kwesigcawu stage kanye nohlakaniphile stage, njengoba kukhonjisiwe kuMfanekiso 1.2.
Umfanekiso 1.2. Ukuthuthukiswa stage ye-smart home 6 ESP32-C3 Wireless Adventure: Umhlahlandlela Ophelele we-IoT
Eyokuqala stagi-e imayelana nemikhiqizo ehlakaniphile. Ihlukile kumakhaya endabuko, ezindlini ezihlakaniphile, amadivayisi e-IoT athola amasignali anezinzwa, futhi axhunywe kunethiwekhi ngobuchwepheshe bokuxhumana obungenantambo obufana ne-Wi-Fi, i-Bluetooth LE, ne-ZigBee. Abasebenzisi bangalawula imikhiqizo ehlakaniphile ngezindlela ezihlukahlukene, njengezinhlelo zokusebenza ze-smartphone, abasizi bezwi, isilawuli sesipikha esihlakaniphile, njll.tage igxile ekuxhumekeni kwesigcawu. Kulesi stage, onjiniyela abasacabangi ukulawula umkhiqizo owodwa ohlakaniphile, kodwa baxhumanisa imikhiqizo ehlakaniphile emibili noma ngaphezulu, ukuzenza ngokuzenzakalelayo ngokwezinga elithile, futhi ekugcineni bakhe imodi yesigcawu yangokwezifiso. Okwesiboneloampfuthi, lapho umsebenzisi ecindezela noma iyiphi inkinobho yemodi yesigcawu, amalambu, amakhethini, nama-air conditioner azoshintshwa ngokuzenzakalelayo ukuze avumelane nokusetha ngaphambilini. Kunjalo, kunemfuneko yokuthi i-logic yokuxhumanisa isethwe kalula, okuhlanganisa izimo zokucupha kanye nezenzo zokwenza. Cabanga ukuthi imodi yokushisisa yesimo somoya iqalwa lapho izinga lokushisa lasendlini lehla ngaphansi kuka-10°C; ukuthi ngehora lesi-7 ekuseni, kudlalwa umculo ukuze kuvuswe umsebenzisi, kuvulwa amakhethini ahlakaniphile, futhi umpheki welayisi noma isinkwa se-toaster siqala ngesokhethi ehlakaniphile; njengoba umsebenzisi evuka futhi eqeda ukuwasha, ukudla kwasekuseni sekuphakiwe, ukuze kungabi nokubambezeleka kokuya emsebenzini. Yeka ukuthi ukuphila kwethu kube lula kangakanani! Eyesithathu staguya ku-intelligence stage. Njengoba kufinyelelwa kumadivayisi ahlakaniphile asekhaya, nezinhlobo zedatha ezikhiqizwayo zizofinyelelwa. Ngosizo lwe-cloud computing, idatha enkulu kanye nobuhlakani bokwenziwa, kufana nokuthi "ubuchopho obuhlakaniphile" butshalwe ezindlini ezihlakaniphile, ezingasadingi imiyalo evamile evela kumsebenzisi. Baqoqa idatha ekusebenzisaneni kwangaphambilini futhi bafunde amaphethini okuziphatha komsebenzisi nezintandokazi, ukuze benze imisebenzi ngokuzenzakalelayo, okuhlanganisa nokunikeza izincomo zokwenza izinqumo. Njengamanje, amakhaya amaningi ahlakaniphile asendaweni yesehlakalotage. Njengoba izinga lokungena kanye nobuhlakani bemikhiqizo ehlakaniphile kukhula, imigoqo phakathi kwezivumelwano zokuxhumana iyasuswa. Ngokuzayo, amakhaya ahlakaniphile nakanjani “ahlakaniphe” ngempela, njengohlelo lwe-AI i-Jarvis ku-Iron Man, engakwazi nje ukusiza umsebenzisi ukulawula amadivaysi ahlukahlukene, ukuphatha izindaba zansuku zonke, kodwa futhi abe namandla amakhulu ekhompyutha nekhono lokucabanga. Encwadini ehlakaniphile stage, abantu bazothola izinsizakalo ezingcono kokubili ngobuningi nangekhwalithi.
Isahluko 1. Isingeniso se-IoT 7
8 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Ukwethulwa kweSahluko kanye Nokwenza Kwemiklamo emi-2 ye-IoT
ESahlukweni 1, sethule ukwakheka kwe-IoT, izindima nobudlelwano bombono nongqimba lokulawula, isendlalelo senethiwekhi, isendlalelo seplathifomu, nosendlalelo sohlelo lokusebenza, kanye nokuthuthukiswa kwekhaya elihlakaniphile. Kodwa-ke, njengalapho sifunda ukudweba, ukwazi ulwazi lwethiyori akwanele. Kufanele "singcolise izandla zethu" ukuze senze amaphrojekthi we-IoT asebenze ukuze sikwazi ukubusa kahle ubuchwepheshe. Ngaphezu kwalokho, uma iphrojekthi ithuthela ekukhiqizeni ngobuningi stage, kuyadingeka ukucabangela izici ezengeziwe ezifana noxhumo lwenethiwekhi, ukucushwa, ukusebenzisana kweplathifomu yefu ye-IoT, ukuphathwa kwe-firmware nezibuyekezo, ukuphathwa kokukhiqiza ngobuningi, nokucushwa kwezokuphepha. Ngakho-ke, yini okudingeka siyinake lapho sakha iphrojekthi ye-IoT ephelele? ESahlukweni 1, sishilo ukuthi i-smart home ingenye yezimo zohlelo lokusebenza ze-IoT ezivame kakhulu, futhi izibani ezihlakaniphile zingenye yezinto zikagesi eziyisisekelo nezisebenzayo, ezingasetshenziswa ezindlini, emahhotela, ezindaweni zokuzivocavoca, ezibhedlela, njll. Ngakho-ke, le ncwadi, sizothatha ukwakhiwa kwephrojekthi yokukhanya ehlakaniphile njengesiqalo, sichaze izingxenye zayo nezici, futhi sinikeze isiqondiso ekuthuthukisweni kwephrojekthi. Sithemba ukuthi ungakwazi ukudweba okucatshangwayo kuleli cala ukuze udale ezinye izinhlelo zokusebenza ze-IoT.
2.1 Isingeniso Semiklamo Ye-IoT Ejwayelekile
Mayelana nentuthuko, amamojula ayisisekelo asebenzayo wephrojekthi ye-IoT angahlukaniswa abe ukuthuthukiswa kwesoftware kanye nehardware yamadivayisi we-IoT, ukuthuthukiswa kwezicelo zamakhasimende, kanye nokuthuthukiswa kwenkundla yamafu ye-IoT. Kubalulekile ukucacisa amamojula ayisisekelo asebenzayo, azophinde achazwe kulesi sigaba.
2.1.1 Amamojula Ayisisekelo Amadivayisi E-IoT Avamile
Ukuthuthukiswa kwesofthiwe nezingxenyekazi zekhompuyutha zamadivayisi we-IoT kufaka phakathi amamojula alandelayo ayisisekelo: Ukuqoqwa kwedatha
Njengesendlalelo esingezansi sokwakheka kwe-IoT, amadivayisi e-IoT ombono & isendlalelo sokulawula axhuma izinzwa namadivayisi ngama-chips awo nama-peripherals ukuze afinyelele ukuqoqwa kwedatha nokulawula ukusebenza.
9
Ukubophezela i-akhawunti nokucushwa kokuqala Kwamadivayisi amaningi e-IoT, ukubophezela i-akhawunti kanye nokucushwa kokuqala kuqedwa ngenqubo eyodwa yokusebenza, ngokwesibonelo.ample, ukuxhuma amadivayisi nabasebenzisi ngokulungiselela inethiwekhi ye-Wi-Fi.
Ukusebenzisana nezinkundla zamafu ze-IoT Ukuqapha nokulawula amadivayisi e-IoT, kuyadingeka futhi ukuwaxhuma kumapulatifomu amafu e-IoT, ukuze unikeze imiyalo futhi ubike isimo ngokusebenzisana phakathi komunye nomunye.
Ukulawulwa kwedivayisi Uma kuxhunywe nezinkundla zamafu ze-IoT, amadivayisi angaxhumana nefu futhi abhaliswe, aboshwe, noma alawulwe. Abasebenzisi bangabuza isimo somkhiqizo futhi benze eminye imisebenzi kuhlelo lokusebenza lwe-smartphone ngokusebenzisa izinkundla zamafu ze-IoT noma izimiso zokuxhumana zasendaweni.
Ukuthuthukiswa kwe-Firmware Amadivayisi we-IoT nawo angafinyelela ukuthuthukiswa kwe-firmware ngokusekelwe ezidingweni zabakhiqizi. Ngokwamukela imiyalo ethunyelwe ifu, ukuthuthukiswa kwe-firmware nokuphathwa kwenguqulo kuzofezeka. Ngalesi sici sokuthuthukisa i-firmware, ungaqhubeka uthuthukisa imisebenzi yamadivayisi we-IoT, ulungise amaphutha, futhi uthuthukise ulwazi lomsebenzisi.
2.1.2 Amamojula Ayisisekelo Ezicelo Zeklayenti
Izinhlelo zokusebenza zeklayenti (isb, izinhlelo zokusebenza ze-smartphone) zihlanganisa ikakhulukazi amamojula alandelayo ayisisekelo:
Uhlelo lwe-akhawunti nokugunyazwa Isekela ukugunyazwa kwe-akhawunti nedivayisi.
Ukulawulwa kwedivayisi Izinhlelo zokusebenza ze-smartphone ngokuvamile zifakwe imisebenzi yokulawula. Abasebenzisi bangaxhuma kalula kumadivayisi e-IoT, futhi bawaphathe noma nini, noma kuphi ngezinhlelo zokusebenza ze-smartphone. Ekhaya elihlakaniphile lomhlaba wangempela, amadivayisi alawulwa kakhulu ngezinhlelo zokusebenza ze-smartphone, ezingagcini nje ngokuvumela ukuphathwa okuhlakaniphile kwamadivayisi, kodwa futhi zonga izindleko zabasebenzi. Ngakho-ke, ukulawulwa kwedivayisi kuyadingeka ezinhlelweni zokusebenza zeklayenti, njengokulawula isibaluli sokusebenza kwedivayisi, isilawuli sesigcawu, ukuhlela, isilawuli kude, ukuxhumana kwedivayisi, njll. Abasebenzisi be-Smart home bangakwazi futhi ukwenza ngendlela oyifisayo izigcawu ngokuya ngezidingo zomuntu siqu, ukulawula ukukhanya, izinto zikagesi zasekhaya, indawo yokungena. , njll., ukwenza impilo yasekhaya ikhululeke futhi ibe lula. Bangakwazi ukubeka isikhathi sokupholisa umoya, bawuvale bekude, basethe ukukhanya kwephasishi ngokuzenzakalelayo uma umnyango usuvuliwe, noma bashintshele kumodi “yetiyetha” ngenkinobho eyodwa.
Izinhlelo zokusebenza zeKlayenti lezaziso zibuyekeza isimo sesikhathi sangempela samadivayisi e-IoT, futhi zithumela izexwayiso lapho amadivaysi engajwayelekile.
10 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Isevisi yamakhasimende ngemuva kokuthengisa Izinhlelo zokusebenza ze-smartphone zinganikezela ngezinsizakalo zangemva kokuthengisa zemikhiqizo, ukuxazulula izinkinga ezihlobene nokuhluleka kwedivayisi ye-IoT kanye nokusebenza kobuchwepheshe ngesikhathi.
Imisebenzi efakiwe Ukuze kuhlangatshezwane nezidingo zabasebenzisi abahlukene, eminye imisebenzi ingase yengezwe, njenge-Shake, i-NFC, i-GPS, njll. I-GPS ingasiza ukusetha ukunemba kokusebenza kwesigcawu ngokuya ngendawo nebanga, kuyilapho umsebenzi we-Shake uvumela abasebenzisi ukusetha imiyalo okumele ibulawelwe idivayisi ethile noma isigcawu ngokunyakaza.
2.1.3 Isingeniso Sezinkundla Ezivamile ze-IoT Cloud
Inkundla yefu ye-IoT iyiplathifomu ehlanganisa konke okukodwa okuhlanganisa imisebenzi efana nokuphathwa kwedivayisi, ukuxhumana ngokuvikeleka kwedatha, nokuphathwa kwezaziso. Ngokweqembu labo eliqondiwe nokufinyeleleka, amapulatifomu amafu e-IoT angahlukaniswa abe izinkundla zamafu ze-IoT zomphakathi (ngemuva kwalokhu ezibizwa ngokuthi “ifu lomphakathi”) kanye nezinkundla eziyimfihlo zamafu e-IoT (okuzobizwa kamuva ngokuthi “ifu langasese”).
Ifu lomphakathi ngokuvamile libonisa izinkundla zamafu ezabiwe ze-IoT zamabhizinisi noma abantu ngabanye, ezisetshenziswa futhi zinakekelwa abahlinzeki bezinkundla, futhi zabiwe nge-inthanethi. Kungaba mahhala noma kube nezindleko eziphansi, futhi ihlinzeka ngezinsizakalo kuyo yonke inethiwekhi yomphakathi evulekile, njenge-Alibaba Cloud, i-Tencent Cloud, i-Baidu Cloud, i-AWS IoT, i-Google IoT, njll. Njengenkundla esekelayo, ifu lomphakathi lingahlanganisa abahlinzeki besevisi abakhuphukayo futhi abasebenzisi bokuphela komfula ukuze bakhe uchungechunge lwenani olusha kanye ne-ecosystem.
Ifu eliyimfihlo lakhelwe ukusetshenziswa kwebhizinisi kuphela, ngaleyo ndlela liqinisekisa ukulawula okungcono kakhulu kwedatha, ukuphepha, nekhwalithi yesevisi. Izinsizakalo zayo nengqalasizinda kugcinwa ngokwehlukana ngamabhizinisi, futhi i-hardware esekelayo nesofthiwe nakho kunikezelwe kubasebenzisi abathile. Amabhizinisi angakwazi ukwenza ngokwezifiso izinsizakalo zamafu ukuze ahlangabezane nezidingo zebhizinisi lawo. Njengamanje, abanye abakhiqizi basekhaya abahlakaniphile sebevele benezinkundla ezizimele zefu ze-IoT futhi bathuthukise izinhlelo zokusebenza zasekhaya ezihlakaniphile ngokusekelwe kuzo.
Ifu lomphakathi namafu angasese ane-advan yawotages, okuzochazwa kamuva.
Ukuze kuzuzwe ukuxhumana kokuxhumana, kuyadingeka ukuqedela okungenani ukuthuthukiswa okushumekiwe ohlangothini lwedivayisi, kanye namaseva ebhizinisi, izinkundla zamafu ze-IoT, nezinhlelo zokusebenza ze-smartphone. Njengoba ibhekene nephrojekthi enkulu kangaka, ifu lomphakathi livamise ukuhlinzeka ngamakhithi okuthuthukisa isofthiwe ohlangothi lwedivayisi nezinhlelo zokusebenza ze-smartphone ukusheshisa inqubo. Kokubili amafu omphakathi nawangasese ahlinzeka ngamasevisi afaka ukufinyelela kwedivayisi, ukuphathwa kwedivayisi, isithunzi sedivayisi, nokusebenza nokulungiswa.
Ukufinyelela idivayisi amapulatifomu e-IoT amafu adinga ukuhlinzeka hhayi kuphela ngezindawo zokufinyelela idivayisi kusetshenziswa amaphrothokholi
Isahluko 2. Isingeniso Nokwenziwa Kwemiklamo ye-IoT 11
njenge-MQTT, CoAP, HTTPS, kanye WebIsokhethi, kodwa futhi nomsebenzi wokuqinisekisa ukuphepha kwedivayisi ukuvimba amadivayisi omgunyathi nangekho emthethweni, ukwehlisa ngempumelelo ingcuphe yokuba sengozini. Ukufakazela ubuqiniso okunjalo kuvame ukusekela izindlela ezihlukile, ngakho-ke lapho amadivayisi ekhiqizwa ngobuningi, kuyadingeka ukunikeza isitifiketi sedivayisi kusengaphambili ngendlela yokuqinisekisa ekhethiwe bese usishisa kumadivayisi.
Ukuphathwa kwedivayisi Umsebenzi wokuphatha idivayisi ohlinzekwe yizinkundla zamafu ze-IoT awukwazi nje ukusiza abakhiqizi ukuthi baqaphe isimo sokwenza kusebenze kanye nesimo se-inthanethi samadivayisi wabo ngesikhathi sangempela, kodwa futhi kuvumela izinketho ezinjengokwengeza / ukususa amadivaysi, ukubuyisa, ukwengeza / ukususa amaqembu, ukuthuthukiswa kwe-firmware. , kanye nokuphathwa kwenguqulo.
Izinkundla zamafu ze-IoT zesithunzi sedivayisi zingakha inguqulo ebonakalayo eqhubekayo (isithunzi sedivayisi) kudivayisi ngayinye, futhi isimo sesithunzi sedivayisi singavunyelaniswa futhi sitholwe ngohlelo lokusebenza lwe-smartphone noma amanye amadivaysi ngezinqubo zokudlulisa i-inthanethi. Isithunzi sedivayisi sigcina isimo sakamuva esibikiwe nesimo esilindelekile sedivayisi ngayinye, futhi nanoma idivayisi ingaxhunyiwe ku-inthanethi, isengathola isimo ngokushayela ama-API. Isithunzi sedivayisi sihlinzeka ngama-API ahlala evuliwe, okwenza kube lula ukwakha izinhlelo zokusebenza ze-smartphone ezisebenzisana namadivayisi.
Ukusebenza nokunakekela Umsebenzi we-O&M uhlanganisa izici ezintathu: · Ukubonisa ulwazi lwezibalo mayelana namadivayisi e-IoT nezaziso. · Ukuphathwa kwelogi kuvumela ukubuyiswa kolwazi mayelana nokuziphatha kwedivayisi, ukugeleza komlayezo phezulu / phansi, nokuqukethwe komlayezo. · Ukulungisa iphutha ledivayisi kusekela ukulethwa komyalo, isibuyekezo sokumisa, nokuhlola ukusebenzisana phakathi kwamaplathifomu amafu e-IoT nemilayezo yedivayisi.
2.2 Ukuzijwayeza: Iphrojekthi Yokukhanya Okukhaliphile
Ngemva kwesethulo setiyetha esahlukweni ngasinye, uzothola isigaba sokuzilolonga esihlobene nephrojekthi ye-Smart Light ukuze sikusize uthole ulwazi oluthe xaxa. Le phrojekthi isuselwe ku-chip ye-Espressif's ESP32-C3 kanye ne-ESP RainMaker IoT Cloud Platform, futhi ihlanganisa ihadiwe yemojula engenantambo emikhiqizweni yokukhanya okuhlakaniphile, isofthiwe eshumekiwe yamadivayisi ahlakaniphile asekelwe ku-ESP32C3, izinhlelo zokusebenza ze-smartphone, nokusebenzisana kwe-ESP RainMaker.
Ikhodi yomthombo Ukuze uthole ulwazi olungcono nolwazi oluthuthukayo, iphrojekthi ekule ncwadi ivuliwe. Ungalanda ikhodi yomthombo endaweni yethu yokugcina ye-GitHub ku-https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
2.2.1 Isakhiwo Sephrojekthi
Iphrojekthi ye-Smart Light inezingxenye ezintathu: i. Amadivayisi okukhanya ahlakaniphile asekelwe ku-ESP32-C3, anesibopho sokusebenzelana nezinkundla zamafu ze-IoT, nokulawula ukushintshwa, ukukhanya kanye nezinga lokushisa lombala le-LED l.amp ubuhlalu. ii. Izinhlelo zokusebenza zama-smartphone (okuhlanganisa nezinhlelo zokusebenza zethebhulethi ezisebenza ku-Android ne-iOS), ezinesibopho sokucushwa kwenethiwekhi yemikhiqizo yokukhanya ehlakaniphile, kanye nokubuza nokulawula isimo sayo.
iii. Inkundla yefu ye-IoT esekelwe ku-ESP RainMaker. Ukwenza kube lula, sibheka inkundla yefu ye-IoT kanye neseva yebhizinisi iyonke kule ncwadi. Imininingwane mayelana ne-ESP RainMaker izonikezwa eSahlukweni sesi-3.
Ukuxhumana phakathi kwesakhiwo sephrojekthi ye-Smart Light kanye nezakhiwo ze-IoT kuboniswa kuMfanekiso 2.1.
Umfanekiso 2.1. Isakhiwo sephrojekthi yokukhanya okuhlakaniphile
2.2.2 Imisebenzi Yephrojekthi
Ihlukaniswe ngokwesakhiwo, imisebenzi yengxenye ngayinye imi kanje. Imishini yokukhanya ehlakaniphile
· Ukucushwa kwenethiwekhi nokuxhumana. · Ukulawulwa kwe-LED PWM, okufana nokushintsha, ukukhanya, izinga lokushisa lombala, njll. · Ukulawula okuzenzakalelayo noma isigcawu, isb, ukushintsha isikhathi. · Ukubethela kanye nokuqalisa okuvikelekile kweFlash. · Ukuthuthukiswa kwe-Firmware nokuphathwa kwenguqulo.
Isahluko 2. Isingeniso Nokwenziwa Kwemiklamo ye-IoT 13
Izinhlelo zokusebenza ze-smartphone · Ukucushwa kwenethiwekhi nokubopha idivayisi. · Ukulawulwa komkhiqizo wokukhanya okuhlakaniphile, okufana nokushintsha, ukukhanya, izinga lokushisa lombala, njll. · Izilungiselelo ezizenzakalelayo noma zesigcawu, isb, ukushintsha kwesikhathi. · Ukulawulwa kwendawo/kude. · Ukubhaliswa komsebenzisi, ukungena ngemvume, njll.
Inkundla yefu ye-ESP RainMaker IoT · Ivumela ukufinyelela kwedivayisi ye-IoT. · Ukunikeza ama-API wokusebenza kwedivayisi afinyeleleka kuzinhlelo zokusebenza ze-smartphone. · Ukuthuthukiswa kwe-Firmware nokuphathwa kwenguqulo.
2.2.3 Ukulungiswa kwezingxenyekazi zekhompyutha
Uma unentshisekelo ekusebenziseni iphrojekthi, uzodinga nezingxenyekazi zekhompuyutha ezilandelayo: izibani ezihlakaniphile, ama-smartphone, amarutha e-Wi-Fi, nekhompyutha ehlangabezana nezidingo zokufakwa kwendawo yokuthuthukiswa. Izibani ezihlakaniphile
Izibani ezihlakaniphile ziwuhlobo olusha lwama-bulb, umumo wazo ufana ne-incandescent evamile. Ukukhanya okuhlakaniphile kwakhiwe ukunikezwa kwamandla alawulwayo okusuka phansi kwe-capacitor, imojula engenantambo (ene-ESP32-C3 eyakhelwe ngaphakathi), isilawuli se-LED kanye ne-RGB LED matrix. Uma ixhunywe emandleni, i-15 V DC voltagi-e okukhiphayo ngemva kokwehla kwe-capacitor, ukulungiswa kwe-diode, nokulawula kunikeza amandla kusilawuli se-LED kanye ne-matrix ye-LED. Isilawuli se-LED singathumela ngokuzenzakalelayo amazinga aphezulu naphansi ngezikhathi ezithile, sishintshe i-RGB LED matrix phakathi kokuvala (izibani zivuliwe) futhi zivule (izibani zicinywe), ukuze zikhiphe i-cyan, ephuzi, eluhlaza, eluhlaza, eluhlaza okwesibhakabhaka, ebomvu, futhi. ukukhanya okumhlophe. Imojuli engenantambo inesibopho sokuxhuma kumzila we-Wi-Fi, ukwamukela nokubika isimo sezibani ezihlakaniphile, nokuthumela imiyalo yokulawula i-LED.
Umfanekiso 2.2. Ukukhanya okuhlakaniphile okulingiswayo
Ekuqaleni kwentuthuko stage, ungakwazi ukulingisa ukukhanya okuhlakaniphile usebenzisa ibhodi le-ESP32-C3DevKitM-1 elixhunywe ne-RGB LED lamp ubuhlalu (bheka Umfanekiso 2.2). Kodwa kufanele
14 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
qaphela ukuthi lena akuyona ukuphela kwendlela yokuhlanganisa ukukhanya okuhlakaniphile. Idizayini yezingxenyekazi zekhompuyutha yephrojekthi kule ncwadi iqukethe kuphela imojuli engenantambo (ene-ESP32-C3 eyakhelwe ngaphakathi), kodwa hhayi idizayini yehadiwe yokukhanya ehlakaniphile ephelele. Ngaphezu kwalokho, i-Espressif iphinde ikhiqize i-ESP32-C3-based audio development board ESP32C3-Lyra yokulawula izibani ngomsindo. Ibhodi linendawo yokusebenzelana yemakrofoni nezipikha futhi lingalawula imichilo ye-LED. Ingasetshenziselwa ukuthuthukisa imisakazo yomsindo engabizi kakhulu, esebenza kahle kakhulu kanye nemicu yokukhanya yesigqi. Umfanekiso 2.3 ubonisa ibhodi le-ESP32-C3Lyra elixhunywe ngomugqa wamalambu angama-40 e-LED.
Umfanekiso 2.3. I-ESP32-C3-Lyra ixhunywe ngomucu wamalambu we-LED angama-40
Ama-Smartphones (i-Android/iOS) Iphrojekthi Yokukhanya Okukhaliphile ihilela ukuthuthukiswa kohlelo lokusebenza lwe-smartphone lokusetha nokulawula imikhiqizo yokukhanya ehlakaniphile.
Amarutha e-Wi-Fi Amarutha e-Wi-Fi aguqula amasignali enethiwekhi enezintambo kanye namasignali enethiwekhi yeselula abe amasignali enethiwekhi engenantambo, ukuze amakhompyutha, ama-smartphone, amaphilisi, namanye amadivaysi angenantambo axhume kunethiwekhi. OkwesiboneloampNokho, i-broadband ekhaya idinga kuphela ukuxhunywa kumzila we-Wi-Fi ukuze kuzuzwe ukunethiwekha okungenantambo kwamadivayisi e-Wi-Fi. Izinga lephrothokholi evamile elisekelwa amarutha e-Wi-Fi yi-IEEE 802.11n, ene-TxRate emaphakathi engu-300 Mbps, noma engu-600 Mbps ngobuningi. Asemuva ahambisana ne-IEEE 802.11b kanye ne-IEEE 802.11g. I-ESP32-C3 chip ye-Espressif isekela i-IEEE 802.11b/g/n, ngakho-ke ungakhetha i-single-band (2.4 GHz) noma i-dual-band (2.4 GHz kanye no-5 GHz) irutha ye-Wi-Fi.
Indawo yokuthuthukisa ikhompuyutha (Linux/macOS/Windows) izokwethulwa eSahlukweni 4. Isahluko 2. Isingeniso Nokwenziwa Kwemiklamo ye-IoT 15.
2.2.4 Inqubo Yentuthuko
Umfanekiso 2.4. Izinyathelo zokuthuthukisa iphrojekthi ye-Smart Light
Idizayini yezingxenyekazi zekhompuyutha Idizayini yezingxenyekazi zekhompuyutha yamadivayisi e-IoT ibalulekile kuphrojekthi ye-IoT. Iphrojekthi yokukhanya ehlakaniphile ephelele ihloselwe ukukhiqiza i-alamp ukusebenza ngaphansi kokuhlinzekwa kwamapayipi amakhulu. Abakhiqizi abahlukene bakhiqiza i-lamps ezitayela ezahlukene nezinhlobo zabashayeli, kodwa amamojula awo angenantambo ngokuvamile anomsebenzi ofanayo. Ukwenza kube lula inqubo yokuthuthukisa iphrojekthi ye-Smart Ligh, le ncwadi ihlanganisa kuphela ukwakheka kwezingxenyekazi zekhompuyutha nokuthuthukiswa kwesofthiwe yamamojula angenantambo.
Ukulungiselelwa kwenkundla yefu ye-IoT Ukuze usebenzise izinkundla zamafu ze-IoT, udinga ukulungisa amaphrojekthi ku-backend, njengokwenza imikhiqizo, ukudala amadivayisi, ukusetha izakhiwo zedivayisi, njll.
Ukuthuthukiswa kwesoftware eshumekiwe yamadivayisi e-IoT Sebenzisa imisebenzi elindelwe nge-ESP-IDF, i-SDK eseceleni kwedivayisi ye-Espressif, okuhlanganisa ukuxhuma kumapulatifomu amafu e-IoT, ukuthuthukisa abashayeli be-LED, nokuthuthukisa i-firmware.
Ukuthuthukiswa kohlelo lokusebenza lwe-smartphone Thuthukisa izinhlelo zokusebenza ze-smartphone zezinhlelo ze-Android ne-iOS ukuze uthole ukubhaliswa komsebenzisi nokungena ngemvume, ukulawula idivayisi neminye imisebenzi.
Ukwenziwa ngcono kwedivayisi ye-IoT Uma ukuthuthukiswa okuyisisekelo kwemisebenzi yedivayisi ye-IoT sekuqediwe, ungaphendukela emisebenzini yokuthuthukisa, njengokwenza amandla ngokugcwele.
Ukuhlolwa kokukhiqiza okuningi Yenza izivivinyo zokukhiqiza ngobuningi ngokuya ngamazinga ahlobene, njengokuhlola ukusebenza kwemishini, ukuhlolwa kokuguga, ukuhlolwa kwe-RF, njll.
Ngaphandle kwezinyathelo ezibalwe ngenhla, iphrojekthi ye-Smart Light ayikho ngaphansi kwenqubo enjalo njengoba imisebenzi ehlukene ingenziwa ngesikhathi esisodwa. Okwesiboneloample, isofthiwe eshumekiwe kanye nezinhlelo zokusebenza ze-smartphone zingathuthukiswa ngokuhambisana. Ezinye izinyathelo zingase zidinge ukuphinda, njengokwenza kahle kwedivayisi ye-IoT nokuhlolwa kokukhiqiza okukhulu.
16 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
2.3 Isifinyezo
Kulesi sahluko, siqale sachaza ngezingxenye eziyisisekelo namamojula asebenzayo wephrojekthi ye-IoT, sase sethula icala le-Smart Light elizosetshenziswa, sibhekisela esakhiweni salo, imisebenzi, ukulungiswa kwezingxenyekazi zekhompuyutha, kanye nenqubo yokuthuthukiswa. Abafundi bangasebenzisa okucatshangelwayo kulo mkhuba futhi babe nokuzethemba kokwenza amaphrojekthi we-IoT ngamaphutha amancane ngokuzayo.
Isahluko 2. Isingeniso Nokwenziwa Kwemiklamo ye-IoT 17
18 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Isahluko 3
Isingeniso
ku
ESP
RainMaker
I-inthanethi Yezinto (IoT) inikezela ngamathuba angapheli okushintsha indlela abantu abaphila ngayo, nokho ukuthuthukiswa kobunjiniyela be-IoT kugcwele izinselelo. Ngamafu omphakathi, abakhiqizi betheminali bangasebenzisa ukusebenza komkhiqizo ngokusebenzisa lezi zixazululo ezilandelayo:
Ngokusekelwe ezisekelweni zamafu zabahlinzeki bezixazululo Ngale ndlela, abakhiqizi betheminali badinga kuphela ukuklama ihadiwe yomkhiqizo, bese bexhuma ihadiwe efwini besebenzisa imojula yokuxhumana enikeziwe, futhi balungise imisebenzi yomkhiqizo ngokulandela imihlahlandlela. Lena indlela ephumelelayo njengoba iqeda isidingo sokuthuthukiswa kwe-server-side kanye ne-application-side kanye nokusebenza nokugcinwa (O&M). Ivumela abakhiqizi betheminali ukuthi bagxile ekwakhiweni kwehadiwe ngaphandle kokuthi bacabangele ukuqaliswa kwamafu. Kodwa-ke, izixazululo ezinjalo (isb., i-firmware yedivayisi kanye nohlelo lokusebenza) ngokuvamile aziwona umthombo ovulekile, ngakho-ke imisebenzi yomkhiqizo izokhawulwa inkundla yamafu yomhlinzeki engakwazi ukwenziwa ngendlela oyifisayo. Ngaleso sikhathi, idatha yomsebenzisi nedivayisi nayo ingeyengxenyekazi yamafu.
Ngokusekelwe emikhiqizweni yamafu Kulesi sixazululo, ngemva kokuqeda umklamo we-hardware, abakhiqizi be-terminal abadingi nje kuphela ukusebenzisa imisebenzi yamafu besebenzisa umkhiqizo owodwa noma ngaphezulu wamafu onikezwe ifu lomphakathi, kodwa futhi badinga ukuxhumanisa i-hardware nefu. Okwesiboneloample, ukuxhuma ku-Amazon Web Izinsizakalo (AWS), abakhiqizi betheminali badinga ukusebenzisa imikhiqizo ye-AWS efana ne-Amazon API Gateway, i-AWS IoT Core, ne-AWS Lambda ukuze unike amandla ukufinyelela kwedivayisi, isilawuli kude, ukugcinwa kwedatha, ukuphathwa komsebenzisi, neminye imisebenzi eyisisekelo. Ayiceli kuphela abakhiqizi betheminali ukuthi basebenzise kalula futhi balungiselele imikhiqizo yamafu ngokuqonda okujulile nolwazi olucebile, kodwa futhi idinga ukuthi bacabangele izindleko zokwakha kanye nokugcinwa kwezindleko zesikhathi sokuqala nesemuva.tages Lokhu kubangela izinselele ezinkulu emandleni nasezinsizeni zenkampani.
Uma kuqhathaniswa namafu omphakathi, amafu ayimfihlo ngokuvamile akhelwe amaphrojekthi nemikhiqizo ethile. Abathuthukisi bamafu abazimele banikezwa izinga eliphezulu lenkululeko ekwakhiweni kwephrothokholi nasekusetshenzisweni komqondo webhizinisi. Abakhiqizi betheminali bangenza imikhiqizo kanye nezikimu zokuklama ngokuthanda kwabo, futhi bahlanganise kalula futhi banike amandla idatha yomsebenzisi. Ukuhlanganisa ukuphepha okuphezulu, ukuqina nokuthembeka kwefu lomphakathi ne-advantages of private cloud, i-Espressif yethule i-ESP
19
I-RainMaker, isixazululo sefu sangasese esihlanganiswe ngokujulile esisekelwe efwini le-Amazon. Abasebenzisi bangasebenzisa i-ESP RainMaker futhi bakhe ifu eliyimfihlo kalula nge-akhawunti ye-AWS.
3.1 Yini i-ESP RainMaker?
I-ESP RainMaker iyinkundla ephelele ye-AIoT eyakhelwe ngemikhiqizo eminingi evuthiwe ye-AWS. Ihlinzeka ngamasevisi ahlukahlukene adingekayo ekukhiqizeni ngobuningi njengokufinyelela kwamafu wedivayisi, ukuthuthukiswa kwedivayisi, ukuphathwa kwe-backend, ukungena ngemvume kwenkampani yangaphandle, ukuhlanganiswa kwezwi, nokuphathwa komsebenzisi. Ngokusebenzisa i-Serverless Application Repository (SAR) ehlinzekwa yi-AWS, abakhiqizi betheminali bangathumela ngokushesha i-ESP RainMaker kuma-akhawunti abo e-AWS, asebenza kahle ngesikhathi futhi kulula ukuyisebenzisa. Iphethwe futhi inakekelwe yi-Espressif, i-SAR esetshenziswa yi-ESP RainMaker isiza abathuthukisi behlise izindleko zokugcinwa kwamafu futhi basheshise ukuthuthukiswa kwemikhiqizo ye-AIoT, ngaleyo ndlela bakhe izixazululo ze-AIoT ezivikelekile, ezinzile, nezingenziwa ngokwezifiso. Umfanekiso 3.1 ukhombisa ukwakheka kwe-ESP RainMaker.
Umfanekiso 3.1. I-Architecture ye-ESP RainMaker
Iseva yomphakathi ye-ESP RainMaker ka-Espressif imahhala kubo bonke abathanda i-ESP, abakhi, nabafundisi ukuze kuhlolwe isixazululo. Onjiniyela bangangena ngemvume ngama-akhawunti e-Apple, Google, noma e-GitHub, futhi bakhe ngokushesha ama-prototypes ohlelo lwabo lwe-IoT. Iseva yomphakathi ihlanganisa i-Alexa ne-Google Home, futhi inikeza izinsizakalo zokulawula izwi, ezisekelwa i-Alexa Skill kanye ne-Google Actions. Umsebenzi wayo wokuqaphela i-semantic uphinde unikezwe amandla izinkampani zangaphandle. Amadivayisi we-RainMaker IoT aphendula kuphela ezenzweni ezithile. Ukuze uthole uhlu oluphelele lwemiyalo yezwi esekelwayo, sicela uhlole izinkundla zezinkampani zangaphandle. Ngaphezu kwalokho, i-Espressif inikeza iRainMaker App yomphakathi ukuze abasebenzisi balawule imikhiqizo ngama-smartphone. 20 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
3.2 Ukuqaliswa Kwe-ESP RainMaker
Njengoba kuboniswe kuMdwebo 3.2, i-ESP RainMaker iqukethe izingxenye ezine: · Isevisi yokufuna isimangalo, evumela amadivayisi we-RainMaker ukuthi athole izitifiketi ngamandla. · I-RainMaker Cloud (eyaziwa nangokuthi i-cloud backend), ihlinzeka ngezinsizakalo ezifana nokuhlunga imilayezo, ukuphathwa komsebenzisi, ukugcinwa kwedatha, nokuhlanganiswa okuvela eceleni. · I-RainMaker Agent, evumela amadivayisi we-RainMaker ukuthi axhume ku-RainMaker Cloud. · I-RainMaker Client (I-RainMaker App noma imibhalo ye-CLI), yokuhlinzekwa, ukwakhiwa komsebenzisi, ukuhlotshaniswa kwedivayisi nokulawula, njll.
Umfanekiso 3.2. Isakhiwo se-ESP RainMaker
I-ESP RainMaker inikeza isethi ephelele yamathuluzi okuthuthukiswa komkhiqizo nokukhiqizwa ngobuningi, okuhlanganisa: I-RainMaker SDK
I-RainMaker SDK isekelwe ku-ESP-IDF futhi inikeza ikhodi yomthombo ye-ejenti eseceleni kwedivayisi nama-C API ahlobene wokuthuthukiswa kwe-firmware. Onjiniyela badinga kuphela ukubhala i-logic yohlelo lokusebenza futhi bashiye konke kuhlaka lwe-RainMaker. Ukuze uthole ulwazi olwengeziwe mayelana nama-C API, sicela uvakashele ku-https://bookc3.espressif.com/rm/c-api-reference. I-RainMaker App Inguqulo esesidlangalaleni ye-RainMaker App ivumela abathuthukisi ukuthi baqedele ukunikezwa kwedivayisi, futhi balawule futhi babuze isimo samadivayisi (isb, imikhiqizo yokukhanyisa ehlakaniphile). Itholakala kuzo zombili izitolo ze-iOS ne-Android. Ukuze uthole imininingwane eyengeziwe, sicela ubheke Isahluko 10. Ama-REST APIs ama-REST API asiza abasebenzisi ukuthi bakhe izinhlelo zabo zokusebenza ezifana ne-RainMaker App. Ukuze uthole ulwazi olwengeziwe, sicela uvakashele ku-https://swaggerapis.rainmaker.espressif.com/.
Isahluko 3. Isingeniso se-ESP RainMaker 21
I-Python APIs I-CLI esekwe kwi-Python, eza ne-RainMaker SDK, inikezwa ukuze isebenzise yonke imisebenzi efana nezici ze-smartphone. Ukuze uthole ulwazi olwengeziwe mayelana ne-Python APIs, sicela uvakashele ku-https://bookc3.espressif.com/rm/python-api-reference.
I-CLI yomqondisi we-CLI, enezinga eliphezulu lokufinyelela, ihlinzekelwe ukuthunyelwa okuyimfihlo kwe-ESP RainMaker ukuze kukhiqizwe izitifiketi zedivayisi ngobuningi.
3.2.1 Isevisi yokufaka isicelo
Konke ukuxhumana phakathi kwamadivayisi we-RainMaker kanye ne-cloud backend kwenziwa nge-MQTT+TLS. Kumongo we-ESP RainMaker, “Isimangalo” inqubo lapho amadivayisi athola khona izitifiketi Kusevisi Yokumangala ukuze axhume ku-backend yamafu. Qaphela ukuthi i-Claiming Service isebenza kuphela kusevisi yomphakathi ye-RainMaker, kuyilapho ekusetshenzisweni okuyimfihlo, izitifiketi zedivayisi zidinga ukukhiqizwa ngobuningi ngo-Admin CLI. I-ESP RainMaker isekela izinhlobo ezintathu zesevisi yokufaka isimangalo: Ukuzimangalela ngokwakho
Idivayisi ngokwayo ilanda izitifiketi ngokhiye oyimfihlo ohlelwe kusengaphambili ku-eFuse ngemva kokuxhuma ku-inthanethi. Isimangalo Esiqhutshwa Umsingathi Izitifiketi zitholwa kumsingathi wokuthuthukisa nge-akhawunti ye-RainMaker. Ukufaka Isimangalo Esisizwayo Izitifiketi zitholwa ngezinhlelo zokusebenza ze-smartphone ngesikhathi sokunikezwa.
3.2.2 I-ejenti ye-RainMaker
Umfanekiso 3.3. Isakhiwo Se-RainMaker SDK Umsebenzi oyinhloko we-RainMaker Agent ukuhlinzeka ngoxhumano nokusiza isendlalelo sohlelo lokusebenza ukucubungula idatha yefu ye-uplink/downlink. Yakhiwe nge-RainMaker SDK 22 ESP32-C3 Wireless Adventure: Umhlahlandlela Ophelele we-IoT
futhi yathuthukiswa ngokusekelwe ohlakeni oluqinisekisiwe lwe-ESP-IDF, kusetshenziswa izingxenye ze-ESP-IDF ezifana ne-RTOS, NVS, ne-MQTT. Umfanekiso 3.3 ubonisa ukwakheka kwe-RainMaker SDK.
I-RainMaker SDK ihlanganisa izici ezimbili ezinkulu.
Ukuxhumana
i. Ukusebenzisana Nesevisi Yesimangalo ukuze uthole izitifiketi zedivayisi.
ii. Ixhuma ku-backend yamafu isebenzisa iphrothokholi ye-MQTT evikelekile ukuze inikeze uxhumano lwerimothi nokusebenzisa isilawuli kude, ukubika umlayezo, ukuphathwa komsebenzisi, ukuphathwa kwedivayisi, njll. Isebenzisa ingxenye ye-MQTT ku-ESP-IDF ngokuzenzakalelayo futhi inikeza isendlalelo sokukhipha ukuze sixhumane nezinye. izitaki zephrothokholi.
iii. Ihlinzeka ngengxenye yokuhlinzeka nge-wifi yokuxhumeka kwe-Wi-Fi nokuhlinzekwa, esp https ota ingxenye yokuthuthukiswa kwe-OTA, kanye ne-esp ingxenye ye-ctrl yendawo yokutholwa kwedivayisi yasendaweni nokuxhumeka. Zonke lezi zinhloso zingafinyelelwa ngokusebenzisa ukumisa okulula.
Ukucubungula idatha
i. Ukugcina izitifiketi zedivayisi ezikhishwe i-Claiming Service kanye nedatha edingekayo uma usebenzisa i-RainMaker, ngokuzenzakalela kusetshenziswa isixhumi esibonakalayo esinikezwe ingxenye ye-nvs flash, nokuhlinzeka ngama-API konjiniyela ukuze asetshenziswe ngokuqondile.
ii. Kusetshenziswa indlela yokuphinda ushayele ukucubungula idatha yefu ye-uplink/downlink futhi uvule ngokuzenzakalelayo idatha kusendlalelo sohlelo lokusebenza ukuze icutshungulwe kalula onjiniyela. Okwesiboneloample, i-RainMaker SDK inikeza ukuxhumana okucebile kokusungula idatha ye-TSL (Thing Specification Language), edingekayo ukuze kuchazwe amamodeli e-TSL ukuchaza amadivayisi e-IoT nokusebenzisa imisebenzi efana nokubala isikhathi, ukubala wehla, nokulawula izwi. Ngezici ezisebenzayo eziyisisekelo ezifana nesikhathi, i-RainMaker SDK inikeza isisombululo esingathuthuki esingavulwa kalula uma sidingeka. Bese, i-RainMaker Agent izocubungula idatha ngokuqondile, iyithumele emafini ngesihloko esihlotshaniswayo se-MQTT, futhi ibuyisele emuva izinguquko zedatha ku-backend yefu ngokusebenzisa indlela yokuphinda ushayele.
3.2.3 I-Cloud Backend
I-backend yamafu yakhelwe ku-AWS Serverless Computing futhi ifinyelelwa nge-AWS Cognito (uhlelo lokuphathwa komazisi), i-Amazon API Gateway, i-AWS Lambda (isevisi yekhompyutha engenaseva), i-Amazon DynamoDB (isizindalwazi se-NoSQL), i-AWS IoT Core (umgogodla wokufinyelela we-IoT onikeza ukufinyelela kwe-MQTT nokuhlunga imithetho), Isevisi ye-imeyili Elula ye-Amazon (isevisi yemeyili elula ye-SES), i-Amazon CloudFront (inethiwekhi yokulethwa okusheshayo), i-Amazon Simple Queue Service (umugqa womlayezo we-SQS), kanye ne-Amazon S3 (isevisi yokugcina ibhakede). Kuhloswe ngayo ukuthuthukisa ukuqina nokuphepha. Nge-ESP RainMaker, onjiniyela bangaphatha amadivayisi ngaphandle kokuthi babhale ikhodi emafini. Imilayezo ebikwe ngamadivayisi idluliselwa ngokusobala ku
Isahluko 3. Isingeniso se-ESP RainMaker 23
amaklayenti ohlelo lokusebenza noma ezinye izinsizakalo zezinkampani zangaphandle. Ithebula 3.1 libonisa imikhiqizo yefu ye-AWS nemisebenzi esetshenziswa ku-backend yamafu, ngemikhiqizo eminingi nezici ezisathuthukiswayo.
Ithebula 3.1. Imikhiqizo yamafu ye-AWS nemisebenzi esetshenziswa i-cloud backend
I-AWS Cloud Product Esetshenziswa yi-RainMaker
Umsebenzi
I-AWS Cognito
Ukuphatha ukuqinisekisa komsebenzisi nokusekela ukungena ngemvume kwezinkampani zangaphandle
AWS Lambda
Ukusebenzisa i-logic yebhizinisi eyinhloko ye-cloud backend
I-Amazon Timestream Ukugcina idatha yochungechunge lwesikhathi
I-Amazon DynamoDB Igcina imininingwane eyimfihlo yamakhasimende
I-AWS IoT Core
Ukusekela ukuxhumana kwe-MQTT
I-Amazon SES
Ihlinzeka ngezinsizakalo zokuthumela i-imeyili
I-Amazon CloudFront Isheshisa ukuphathwa kwe-backend webukufinyelela indawo
I-Amazon SQS
Idlulisela imilayezo evela ku-AWS IoT Core
3.2.4 Iklayenti le-RainMaker
Amaklayenti e-RainMaker, afana ne-App ne-CLI, axhumana ne-cloud backend ngama-REST API. Imininingwane enemininingwane nemiyalo mayelana nama-REST APIs ingatholakala kumadokhumenti e-Swagger ahlinzekwa yi-Espressif. Iklayenti lesicelo seselula le-RainMaker liyatholakala kuzo zombili izinhlelo ze-iOS ne-Android. Ivumela ukunikezwa kwedivayisi, ukulawula, nokwabelana, kanye nokudala kanye nokunika amandla imisebenzi yokubala wehla nokuxhuma kumapulatifomu ezinkampani zangaphandle. Ingakwazi ukulayisha i-UI nezithonjana ngokuzenzakalelayo ngokuya ngokucushwa okubikwe ngamadivayisi futhi ibonise ngokugcwele i-TSL yedivayisi.
Okwesiboneloample, uma ukukhanya okuhlakaniphile kwakhelwe ku-RainMaker SDK-ex enikeziweampNgokulandelayo, isithonjana ne-UI yesibani se-bulb izolayishwa ngokuzenzakalelayo lapho ukunikezwa sekuqediwe. Abasebenzisi bangashintsha umbala nokukhanya kokukhanya ngokusebenzisa isixhumi esibonakalayo futhi bathole ukulawula okuvela eceleni ngokuxhuma i-Alexa Smart Home Skill noma I-Google Smart Home Actions kuma-akhawunti abo e-ESP RainMaker. Umfanekiso 3.4 ubonisa isithonjana kanye ne-UI exampizibani zesibani ngokulandelana kwazo ku-Alexa, Google Home, kanye ne-ESP RainMaker App.
24 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
(a) Eksample - Alexa
(b) Eksample – Google Home
(c) Example – ESP RainMaker
Umfanekiso 3.4. Isbampokuncane kwesithonjana kanye ne-UI yesibani sesibani ku-Alexa, i-Google Home, ne-ESP RainMaker App
3.3 Ukuzijwayeza: Amaphuzu Abalulekile Wokuthuthukisa nge-ESP RainMaker
Uma isendlalelo somshayeli wedivayisi sesiqediwe, onjiniyela bangase baqale ukudala amamodeli e-TSL futhi bacubungule idatha ye-downlink besebenzisa ama-API ahlinzekwe yi-RainMaker SDK, futhi banike amandla amasevisi ayisisekelo e-ESP RainMaker ngokusekelwe encazelweni yomkhiqizo nezimfuneko.
Isahluko 3. Isingeniso se-ESP RainMaker 25
Isigaba 9.4 sale ncwadi sizochaza ukusetshenziswa kwesibani esihlakaniphile se-LED ku-RainMaker. Ngesikhathi sokulungisa iphutha, onjiniyela bangasebenzisa amathuluzi e-CLI ku-RainMaker SDK ukuze baxhumane nesibani esihlakaniphile (noma bashayele ama-REST APIs kusuka ku-Swagger).
Isahluko 10 sizonaba ngokusetshenziswa kwama-REST APIs ekwakheni izinhlelo zokusebenza ze-smartphone. Ukuthuthukiswa kwe-OTA kwezibani ezihlakaniphile ze-LED kuzombozwa eSahlukweni 11. Uma onjiniyela benike amandla ukuqapha okukude kwe-ESP Insights, i-ESP RainMaker management backend izobonisa idatha ye-ESP Insights. Imininingwane izokwethulwa eSahlukweni se-15.
I-ESP RainMaker isekela ukuthunyelwa kwangasese, okuhlukile kuseva yomphakathi ye-RainMaker ngezindlela ezilandelayo:
Isevisi Yokufuna Ukuze ukhiqize izitifiketi ekusetshenzisweni okuyimfihlo, kuyadingeka ukuthi usebenzise i-RainMaker Admin CLI esikhundleni Sokufuna. Ngeseva yomphakathi, abathuthukisi kufanele banikezwe amalungelo okuphatha ukuze baqalise ukuthuthukiswa kwe-firmware, kodwa akuthandeki ekusetshenzisweni kwezentengiso. Ngakho-ke, akukho sevisi ehlukile yokuqinisekisa enganikezwa ukuze uzifunele ngokwakho, noma amalungelo okuphatha esimangalo esiqhutshwa umsingathi noma esisizwayo.
Izinhlelo zokusebenza zefoni Ekufakweni okuyimfihlo, izinhlelo zokusebenza zidinga ukumiswa futhi zihlanganiswe ngokwehlukana ukuze kuqinisekiswe ukuthi amasistimu e-akhawunti awasebenziseki.
Ukungena ngemvume kwenkampani yangaphandle kanye nokuhlanganiswa kwezwi Onjiniyela kufanele balungiselele ngokuhlukene nge-akhawunti ye-Google ne-Apple Developer ukuze banike amandla ukungena ngemvume kwezinkampani zangaphandle, kanye nokuhlanganiswa kwe-Alexa Skill kanye ne-Google Voice Assistant.
AMATHIPHU Ukuze uthole imininingwane mayelana nokukhishwa kwamafu, sicela uvakashele ku-https://customer.rainmaker.espressif. com. Ngokuya nge-firmware, ukufuduka kusuka kuseva yomphakathi kuya kuseva eyimfihlo kudinga kuphela ukushintshwa kwezitifiketi zedivayisi, okuthuthukisa kakhulu ukusebenza kahle kokufuduka futhi kunciphisa izindleko zokufuduka kanye nokulungisa iphutha lesibili.
3.4 Izici ze-ESP RainMaker
Izici ze-ESP RainMaker ziqondiswe kakhulu ezintweni ezintathu - ukuphathwa kwabasebenzisi, abasebenzisi bokugcina, nabaphathi. Zonke izici zisekelwa kuzo zombili iziphakeli zomphakathi nezizimele ngaphandle uma kushiwo ngenye indlela.
3.4.1 Ukuphathwa komsebenzisi
Izici zokuphatha umsebenzisi zivumela abasebenzisi bokugcina ukuthi babhalise, bangene ngemvume, bashintshe amaphasiwedi, bathole amagama ayimfihlo, njll.
26 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Bhalisa bese ungena Izindlela zokubhalisa nezindlela zokungena ezisekelwa yi-RainMaker zihlanganisa: · I-imeyili id + Iphasiwedi · Inombolo yocingo + Iphasiwedi · I-akhawunti ye-Google · I-akhawunti ye-Apple · I-akhawunti ye-GitHub (iseva yomphakathi kuphela) · I-akhawunti ye-Amazon (iseva yangasese kuphela)
QAPHELA Bhalisa usebenzisa i-Google/Amazon yabelana ngekheli le-imeyili lomsebenzisi ne-RainMaker. Bhalisa usebenzisa i-Apple yabelana ngekheli le-dummy i-Apple elinikeza umsebenzisi ngokukhethekile isevisi ye-RainMaker. I-akhawunti ye-RainMaker izodalelwa abasebenzisi abangena ngemvume nge-akhawunti ye-Google, Apple, noma i-Amazon okokuqala ngqa.
Shintsha iphasiwedi Isebenza kuphela kubunikazi be-imeyili/kunombolo yocingo esekelwe ukungena ngemvume. Zonke ezinye izikhathi ezisebenzayo zizokhishwa ngemva kokushintshwa kwephasiwedi. Njengokuziphatha kwe-AWS Cognito, izikhathi zokuphuma ngemvume zingahlala zisebenza kuze kube yihora elingu-1.
Buyisa iphasiwedi Isebenza kuphela kubunikazi be-imeyili/kukungena ngemvume okusekelwe enombolweni yocingo.
3.4.2 Izici Zomsebenzisi Wokugcina
Izici ezivulekele abasebenzisi bokugcina zifaka phakathi isilawuli kude nesilawuli kude nokuqapha, ukuhlela, ukuqoqa idivayisi, ukwabelana kwedivayisi, izaziso zohlelo lokusebenza, nokuhlanganiswa okuvela eceleni.
Isilawuli kude nokuqapha · Ukucushwa kombuzo, amanani epharamitha, nesimo sokuxhuma kwedivayisi eyodwa noma wonke. · Setha amapharamitha wamadivayisi angawodwa noma amaningi.
Ukulawulwa kwendawo kanye nokuqapha Ifoni ephathwayo kanye nedivayisi kumele ixhunywe kunethiwekhi efanayo ukuze ilawulwe endaweni.
Ukuhlela · Abasebenzisi bahlele kusengaphambili izenzo ezithile ngesikhathi esithile. · Akukho ukuxhumana kwe-inthanethi okudingekayo kudivayisi ngenkathi kwenziwa uhlelo. · Kanye noma phinda (ngokucacisa izinsuku) kumadivayisi angawodwa noma amaningi.
Iqoqo ledivayisi Isekela ukuqoqwa kwamaqembu okungaqondakali kwamazinga amaningi Imethadatha yeqembu ingasetshenziswa ukuze kwakhe isakhiwo Segumbi Lasekhaya.
Isahluko 3. Isingeniso se-ESP RainMaker 27
Ukwabelana ngedivayisi Idivayisi eyodwa noma ngaphezulu ingabiwa nomsebenzisi oyedwa noma ngaphezulu.
Izaziso zohlelo lokusebenza Abasebenzisi bokugcina bazothola izaziso zohlelo lokusebenza zemicimbi efana nokuthi · Amadivayisi amasha angeziwe/asusiwe · Idivayisi ixhumeke emafini · Idivayisi inqanyuliwe emafini · Izicelo zokwabelana ngedivayisi zidaliwe/zamukelwe/zinqatshiwe · Imilayezo yesexwayiso ebikwe ngamadivayisi
Ukuhlanganiswa kwezinkampani zangaphandle i-Alexa ne-Google Voice Assistant kusekelwa ukulawula amadivayisi we-RainMaker, okuhlanganisa izibani, amaswishi, amasokhethi, abalandeli, nezinzwa zokushisa.
3.4.3 Izici Zokuphatha
Izici zokuphatha zivumela abalawuli ukuthi basebenzise ukubhaliswa kwedivayisi, ukuqoqa idivayisi, nokuthuthukiswa kwe-OTA, kanye noku view izibalo kanye nedatha ye-ESP Insights.
Ukubhaliswa kwedivayisi Khiqiza izitifiketi zedivayisi futhi ubhalise ne-Admin CLI (iseva yangasese kuphela).
Ukuqoqwa kwedivayisi Dala amaqembu angacacile noma ahleliwe asekelwe olwazini lwedivayisi (iseva yangasese kuphela).
I-Over-the-Air (i-OTA) ithuthukisa Layisha i-firmware esekelwe kunguqulo nemodeli, kudivayisi eyodwa noma ngaphezulu noma iqembu Monitor, khansela, noma faka kungobo yomlando imisebenzi ye-OTA.
View izibalo ViewIzibalo ezikwaziyo zihlanganisa: · Ukubhaliswa kwedivayisi (izitifiketi ezibhaliswe umphathi) · Ukwenziwa kusebenze kwedivayisi (idivayisi ixhunywe okokuqala) · Ama-akhawunti omsebenzisi · Inhlangano yomsebenzisi nedivayisi
View Idatha ye-ESP Insights Viewidatha ekwaziyo ye-ESP Insights ihlanganisa: · Amaphutha, izexwayiso, namalogi angokwezifiso · Imibiko yokusaphazeka nokuhlaziya · Qalisa kabusha izizathu · Amamethrikhi afana nokusetshenziswa kwenkumbulo, i-RSSI, njll. · Amamethrikhi ngokwezifiso nezinto eziguquguqukayo
28 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
3.5 Isifinyezo
Kulesi sahluko, sethule umehluko omkhulu phakathi kokuthunyelwa kwe-RainMaker esidlangalaleni kanye nokuthunyelwa okuyimfihlo. Isixazululo sangasese se-ESP RainMaker esethulwe ngabakwa-Espressif sithembeke kakhulu futhi siyengezeka. Wonke ama-chips ochungechunge lwe-ESP32 axhunyiwe futhi aguqulelwa ku-AWS, okwehlisa kakhulu izindleko. Onjiniyela bangagxila ekuqinisekiseni i-prototype ngaphandle kokuthi bafunde ngemikhiqizo yamafu ye-AWS. Siphinde sachaza ukuqaliswa nezici ze-ESP RainMaker, kanye namanye amaphuzu abalulekile okuthuthukiswa kusetshenziswa inkundla.
Skena ukuze ulande i-ESP RainMaker ye-Android Scan ukuze ulande i-ESP RainMaker ye-iOS
Isahluko 3. Isingeniso se-ESP RainMaker 29
30 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Isahluko Ukusetha 4 Imvelo Ethuthukile
Lesi sahluko sigxile ku-ESP-IDF, uhlaka olusemthethweni lokuthuthukiswa kwesoftware lwe-ESP32-C3. Sizochaza ukuthi singasethwa kanjani imvelo kumasistimu wokusebenza ahlukahlukene, futhi sethule isakhiwo sephrojekthi kanye nohlelo lokwakha lwe-ESP-IDF, kanye nokusetshenziswa kwamathuluzi okuthuthukisa ahlobene. Bese sizokwethula inqubo yokuhlanganisa nokusebenza kwe-example project, ngenkathi ihlinzeka ngencazelo enemininingwane yelogi yokuphumayo esigabeni ngasinyetage.
4.1 ESP-IDF Overview
I-ESP-IDF (I-Espressif IoT Development Framework) iwuhlaka olulodwa lokumisa lwe-IoT olunikezwa i-Espressif Technology. Isebenzisa i-C/C++ njengolimi oluyinhloko lokuthuthukisa futhi isekela ukuhlanganisa ndawonye ngaphansi kwezinhlelo zokusebenza ezivamile njenge-Linux, Mac, ne-Windows. I-exampIzinhlelo ze-le ezifakwe kule ncwadi zenziwa kusetshenziswa i-ESP-IDF, enikeza izici ezilandelayo: · Abashayeli bezinga lesistimu ye-SoC. I-ESP-IDF ihlanganisa abashayeli be-ESP32, ESP32-S2, ESP32-C3,
namanye ama-chips. Lezi zishayeli zihlanganisa umtapo wolwazi wezinga eliphansi (LL), umtapo wezincwadi we-hardware abstraction layer (HAL), usekelo lwe-RTOS kanye nesofthiwe yomshayeli wengqimba ephezulu, njll. · Izingxenye ezibalulekile. I-ESP-IDF ihlanganisa izingxenye ezibalulekile ezidingekayo ekuthuthukisweni kwe-IoT. Lokhu kuhlanganisa izitaki eziningi zephrothokholi yenethiwekhi njenge-HTTP ne-MQTT, uhlaka lokuphatha amandla olunokushintshwa kwemvamisa okuguquguqukayo, nezici ezifana ne-Flash Encryption kanye ne-Secure Boot, njll. · Amathuluzi okuthuthukisa nawokukhiqiza. I-ESP-IDF ihlinzeka ngamathuluzi asetshenziswa kakhulu okwakha, amafuleshi, kanye nokulungisa amaphutha ngesikhathi sokuthuthukiswa nokukhiqizwa ngobuningi (bona uMdwebo 4.1), njengesistimu yokwakha esekelwe ku-CMake, uchungechunge lwamathuluzi okuhlanganiswa okuphambene okusekelwe ku-GCC, kanye ne-J.TAG ithuluzi lokususa iphutha elisuselwe ku-OpenOCD, njll. Kubalulekile ukuqaphela ukuthi ikhodi ye-ESP-IDF inamathela ngokuyinhloko kulayisensi yomthombo ovulekile we-Apache 2.0. Abasebenzisi bangathuthukisa isofthiwe yomuntu siqu noma yokuthengisa ngaphandle kwemikhawulo ngenkathi bethobela imigomo yelayisensi yomthombo ovulekile. Ukwengeza, abasebenzisi banikezwa amalayisense obunikazi angunaphakade mahhala, ngaphandle kwesibopho sokuvula umthombo noma yiziphi izinguquko ezenziwe kukhodi yomthombo.
31
Umfanekiso 4.1.
Ukwakha, ukubaneka, nokulungisa iphutha-
amathuluzi okuthuthukisa nokukhiqiza ngobuningi
4.1.1 Izinguqulo ze-ESP-IDF
Ikhodi ye-ESP-IDF isingathwe ku-GitHub njengephrojekthi yomthombo ovulekile. Njengamanje, kunezinguqulo ezintathu ezinkulu ezitholakalayo: i-v3, i-v4, ne-v5. Inguqulo ngayinye enkulu ngokuvamile iqukethe ukuguqulwa okuhlukahlukene, okufana ne-v4.2, v4.3, njalonjalo. I-Espressif Systems iqinisekisa ukwesekwa kwezinyanga ezingu-30 zokulungiswa kweziphazamisi namapeshi okuphepha enguqulweni ngayinye ekhishiwe. Ngakho-ke, ukubuyekezwa kokuguqulwa nakho kukhishwa njalo, okufana ne-v4.3.1, v4.2.2, njll. Ithebula 4.1 libonisa isimo sokusekelwa kwezinguqulo ezihlukene ze-ESP-IDF zama-chips e-Espressif, okubonisa ukuthi aku-pre.view stage (enikeza ukwesekwa kwangaphambiview izinguqulo, okungenzeka zintula izici ezithile noma imibhalo) noma ezisekelwa ngokusemthethweni.
Ithebula 4.1. Isimo sokusekela sezinhlobo ezahlukene ze-ESP-IDF zama-chips e-Espressif
Uchungechunge ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2
i-v4.1 isekelwe
i-v4.2 isekelwe
I-v4.3 isekelwe isekelwe
I-v4.4 isekelwe esekelwe isekelwe
ngaphambiliview
I-v5.0 isekelwe isekelwe esekelwe ngaphambiliview
32 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Ukuphindwaphindwa kwezinguqulo ezinkulu kuvame ukubandakanya ukulungiswa kwesakhiwo sohlaka kanye nezibuyekezo zesistimu yokuhlanganisa. Okwesiboneloample, ushintsho olukhulu ukusuka ku-v3.* ukuya ku-v4.* kwaba ukuthuthwa kancane kancane kwesistimu yokwakha ukusuka ku-Make kuya ku-CMake. Ngakolunye uhlangothi, ukuphindwaphindwa kwezinguqulo ezincane ngokuvamile kuhlanganisa ukungezwa kwezici ezintsha noma usekelo lwama-chips amasha.
Kubalulekile ukuhlukanisa nokuqonda ubudlelwano phakathi kwezinguqulo ezinzile namagatsha e-GitHub. Izinguqulo ezilebulwe ngokuthi v*.* noma v*.*.* zimelela izinguqulo ezizinzile eziphumelele ukuhlolwa kwangaphakathi okuphelele yi-Espressif. Uma isilungisiwe, ikhodi, uchungechunge lwamathuluzi, namadokhumenti okukhululwa enguqulo efanayo kuhlala kungashintshile. Kodwa-ke, amagatsha e-GitHub (isb., igatsha lokukhululwa/v4.3) enza amakhodi avamile, ngokuvamile nsuku zonke. Ngakho-ke, amazwibela amabili ekhodi ngaphansi kwegatsha elifanayo angase ahluke, kudingeke ukuthi onjiniyela babuyekeze ikhodi yabo ngokushesha.
4.1.2 I-ESP-IDF Git Workflow
I-Espressif ilandela ukugeleza komsebenzi othile kwe-Git ye-ESP-IDF, echazwe kanje:
Izinguquko ezintsha zenziwa egatsheni eliyinhloko, elisebenza njengegatsha eliyinhloko lentuthuko. Inguqulo ye-ESP-IDF egatsheni eliyinhloko ihlala iphethe i- -dev tag ukukhombisa ukuthi okwamanje isathuthukiswa, njenge-v4.3-dev. Izinguquko ku-master branch zizoqala kabushaviewed futhi ihlolwe endaweni yokugcina yangaphakathi ye-Espressif, bese iphushelwa ku-GitHub ngemva kokuqedwa kokuhlola okuzenzakalelayo.
· Uma inguqulo entsha isiqedile ukuthuthukiswa kwesici egatsheni eliyinhloko futhi yahlangabezana nemibandela yokungena ekuhlolweni kwe-beta, ishintshela egatsheni elisha, njengokukhulula/ v4.3. Ngaphezu kwalokho, leli gatsha elisha tagged njengenguqulo ekhishwe ngaphambilini, njenge-v4.3-beta1. Onjiniyela bangabhekisa ku-platform ye-GitHub ukuze bafinyelele uhlu oluphelele lwamagatsha kanye tags okwe-ESP-IDF. Kubalulekile ukuqaphela ukuthi inguqulo ye-beta (inguqulo yangaphambi kokukhishwa) isengaba nenani elibalulekile lezinkinga ezaziwayo. Njengoba inguqulo ye-beta iqhubeka nokuhlolwa, ukulungiswa kweziphazamisi kwengezwa kukho kokubili le nguqulo kanye negatsha eliyinhloko ngesikhathi esisodwa. Phakathi naleso sikhathi, kungenzeka ukuthi igatsha eliyinhloko seliqalile kakade ukwenza izici ezintsha zenguqulo elandelayo. Uma ukuhlola sekucishe kuqedwe, ilebula yekhandidethi lokukhululwa (rc) yengezwa egatsheni, okubonisa ukuthi ingase ibe ikhandidethi lokukhishwa okusemthethweni, njenge-v4.3-rc1. Kulokhu stage, igatsha lihlala liyinguqulo yangaphambi kokukhishwa.
· Uma zingekho iziphazamisi ezinkulu ezitholiwe noma ezibikwayo, inguqulo ekhishwe ngaphambilini igcina ithole ilebula yenguqulo enkulu (isb., v5.0) noma ilebula yenguqulo encane (isb., v4.3) futhi iba inguqulo esemthethweni, ebhalwe phansi ekhasini lamanothi okukhululwa. Ngokulandelayo, noma yiziphi iziphazamisi ezikhonjwe kule nguqulo zilungiswa egatsheni lokukhishwa. Ngemva kokuqedwa kokuhlolwa mathupha, igatsha linikezwa ilebula yenguqulo yokulungiswa kweziphazamisi (isb., v4.3.2), ephinde ikhonjiswe ekhasini lamanothi okukhishwa.
Isahluko 4. Ukumisa Imvelo Ethuthukile 33
4.1.3 Ukukhetha Inguqulo Efanelekayo
Njengoba i-ESP-IDF iqale ngokusemthethweni ukusekela i-ESP32-C3 kusukela kunguqulo engu-v4.3, futhi i-v4.4 ayikakhululwa ngokusemthethweni ngesikhathi sokuloba le ncwadi, inguqulo esetshenziswe kule ncwadi ithi v4.3.2, okuyinguqulo ebuyekeziwe. kwe v4.3. Kodwa-ke, kubalulekile ukuqaphela ukuthi ngesikhathi ufunda le ncwadi, i-v4.4 noma izinguqulo ezintsha kungenzeka ukuthi sezikhona. Uma ukhetha inguqulo, sincoma okulandelayo:
· Konjiniyela bezinga lokungena, kuyancomeka ukukhetha inguqulo ezinzile ye-v4.3 noma inguqulo yayo ebuyekeziwe, eqondana ne-ex.ample nguqulo esetshenziswe kule ncwadi.
· Ngezinjongo zokukhiqiza ngobuningi, kunconywa ukusebenzisa inguqulo yakamuva ezinzile ukuze uzuze ekusekelweni kwakamuva kakhulu kwezobuchwepheshe.
· Uma uhlose ukuzama ama-chips amasha noma ukuhlola izici ezintsha zomkhiqizo, sicela usebenzise igatsha eliyinhloko. Inguqulo yakamuva iqukethe zonke izici zakamuva, kodwa khumbula ukuthi kungase kube khona izimbungulu ezaziwayo noma ezingaziwa.
· Uma inguqulo ezinzile esetshenziswayo ingabandakanyi izici ezintsha ozifisayo futhi ufisa ukunciphisa ubungozi obuhlobene negatsha eliyinhloko, cabanga ukusebenzisa igatsha elikhiphayo elihambisanayo, elifana nokukhululwa/v4.4. Inqolobane ye-Espressif ye-GitHub izoqala idale ukukhishwa/igatsha le-v4.4 futhi ngemva kwalokho ikhulule inguqulo ezinzile ye-v4.4 ngokusekelwe kusifinyezo esithile esingokomlando saleli gatsha, ngemva kokuqeda konke ukuthuthukiswa kwesici nokuhlola.
4.1.4 Ngaphezuluview yohlu lwemibhalo lwe-ESP-IDF SDK
I-ESP-IDF SDK iqukethe izinkomba ezimbili eziyinhloko: esp-idf kanye ne-.espressif. Eyangaphambili iqukethe ikhodi yomthombo ye-ESP-IDF files kanye nemibhalo yokuhlanganisa, kuyilapho yokugcina igcina ikakhulukazi amaketango amathuluzi okuhlanganiswa nezinye isofthiwe. Ukujwayelana nalezi zinkomba ezimbili kuzosiza onjiniyela ukuthi basebenzise kangcono izinsiza ezitholakalayo futhi kusheshiswe inqubo yokuthuthukisa. Isakhiwo senkomba ye-ESP-IDF sichazwe ngezansi:
(1) Uhla lwemibhalo lwekhodi ye-ESP-IDF (/esp/esp-idf), njengoba kuboniswe kuMfanekiso 4.2.
a. Izingxenye zohla lwemibhalo
Lolu hlu lwemibhalo oluyisisekelo luhlanganisa izingxenye eziningi zesofthiwe ezibalulekile ze-ESP-IDF. Ayikho ikhodi yephrojekthi engahlanganiswa ngaphandle kokuncika ezingxenyeni ezingaphakathi kwalolu hlu lwemibhalo. Kuhlanganisa ukwesekwa komshayeli kwama-chips ahlukahlukene e-Espressif. Kusukela kulabhulali ye-LL kanye nezindawo zokusebenzelana zomtapo wezincwadi we-HAL kuma-peripherals kuya kuDriver wezinga eliphezulu kanye ne-Virtual File Usekelo lwesendlalelo sesistimu (VFS), abathuthukisi bangakhetha izingxenye ezifanele emazingeni ahlukene ngezidingo zabo zokuthuthukiswa. I-ESP-IDF futhi isekela izitaki zephrothokholi yenethiwekhi ejwayelekile njenge-TCP/IP, HTTP, MQTT, WebI-Socket, njll. Onjiniyela bangasebenzisa izixhumanisi ezijwayelekile njenge-Socket ukwakha izinhlelo zokusebenza zenethiwekhi. Izingxenye zinikeza ukuqonda-
34 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Umfanekiso 4.2. Uhlu lwekhodi yekhodi ye-ESP-IDF
ukusebenza okuqinile futhi kungahlanganiswa kalula ezinhlelweni zokusebenza, okuvumela abathuthukisi ukuthi bagxile kuphela kumqondo webhizinisi. Ezinye izingxenye ezijwayelekile zifaka: · umshayeli: Le ngxenye iqukethe izinhlelo zomshayeli we-peripheral zama-Espressif ahlukahlukene
uchungechunge lwe-chip, olufana ne-GPIO, I2C, SPI, UART, LEDC (PWM), njll. Izinhlelo zomshayeli we-peripheral kule ngxenye zinikeza ukuxhumana okungabonakali okuzimele kwe-chip. I-peripheral ngayinye inesihloko esivamile file (njenge-gpio.h), ukususa isidingo sokubhekana nemibuzo ehlukene yosekelo eqondene ne-chip. · esp_wifi: I-Wi-Fi, njenge-peripheral ekhethekile, iphathwa njengengxenye ehlukile. Kuhlanganisa ama-API amaningi njengokuqalisa amamodi ahlukahlukene omshayeli we-Wi-Fi, ukucushwa kwepharamitha, nokucutshungulwa komcimbi. Imisebenzi ethile yale ngxenye inikezwa ngohlobo lwemitapo yolwazi yezixhumanisi ezimile. I-ESP-IDF futhi ihlinzeka ngemibhalo yomshayeli ephelele ukuze kube lula ukuyisebenzisa.
Isahluko 4. Ukumisa Imvelo Ethuthukile 35
· freertos: Le ngxenye iqukethe ikhodi ephelele ye-FreeRTOS. Ngaphandle kokunikeza ukwesekwa okuphelele kwalolu hlelo lokusebenza, i-Espressif iphinde yanweba ukusekelwa kwayo kuma-chips anezingqikithi ezimbili. Ngama-dual-core chips afana ne-ESP32 ne-ESP32-S3, abasebenzisi bangadala imisebenzi kuma-cores athile.
b. Amadokhumenti ohla lwemibhalo
Lolu hlu lwemibhalo luqukethe imibhalo yentuthuko ehlobene ne-ESP-IDF, okuhlanganisa Umhlahlandlela Wokuqalisa, Incwadi Yereferensi ye-API, Umhlahlandlela Wokuthuthukisa, njll.
QAPHELA Ngemva kokuhlanganiswa ngamathuluzi azenzakalelayo, okuqukethwe kwalolu hlu lwemibhalo kuthunyelwa kokuthi https://docs.espressif.com/projects/esp-idf. Sicela uqinisekise ukuthi ushintsha idokhumenti eqondiwe ibe yi-ESP32-C3 bese ukhetha inguqulo eshiwo ye-ESP-IDF.
c. Amathuluzi ethuluzi lesikripthi
Lolu hlu lwemibhalo luqukethe amathuluzi okugcina angaphambili asetshenziswa ngokuvamile afana ne-idf.py, kanye nethuluzi letheminali lokuqapha i-idf_monitor.py, njll. I-sub-directory cmake iqukethe umbhalo owumongo. filezesistimu yokuhlanganisa, esebenza njengesisekelo sokuqalisa imithetho yokuhlanganisa ye-ESP-IDF. Lapho ungeza okuguquguqukayo kwemvelo, okuqukethwe ngaphakathi kohla lwemibhalo lwamathuluzi kwengezwa kokuguquguquka kwemvelo yesistimu, okuvumela i-idf.py ukuthi isetshenziswe ngokuqondile ngaphansi kwendlela yephrojekthi.
d. Example program directory exampLes
Lolu hlu lwemibhalo luhlanganisa iqoqo elikhulu le-ESP-IDF example izinhlelo ezibonisa ukusetshenziswa kwengxenye yama-API. I-exampama-les ahlelwe abe yimibhalo engaphansi ehlukahlukene ngokusekelwe ezigabeni zawo:
· qalisa: Lolu hlu lwemibhalo oluncane luhlanganisa i-ex yezinga lokungenaampnjengokuthi "sawubona mhlaba" kanye "nokucwayiza" ukusiza abasebenzisi ukuthi babambe okuyisisekelo.
· bluetooth: Ungathola i-Bluetooth ex ehlobeneamplapha, okufaka i-Bluetooth LE Mesh, i-Bluetooth LE HID, i-BluFi, nokuningi.
· i-wifi: Lolu hlu lwemibhalo olungaphansi lugxile ku-Wi-Fi exampokuhlanganisa izinhlelo eziyisisekelo ezifana ne-Wi-Fi SoftAP, i-Wi-Fi Station, i-espnow, kanye neprothokholi yokuxhumana yobunikazi ex.ampngaphansi kwe-Espressif. Iphinde ifake ungqimba lwezinhlelo zokusebenza eziningi exampokusekelwe ku-Wi-Fi, njenge-Iperf, i-Sniffer, ne-Smart Config.
· ama-peripherals: Loluhlu lwamagama oluncane luphinde lwehlukaniswe lwaba amafolda amancane amaningi asuselwa emagameni ayingxenye. Iqukethe ikakhulukazi umshayeli we-peripheral exampi-les yama-chips e-Espressif, ne-ex ngayinyeampI-le equkethe ama-sub-ex ambalwaampLes. Isibonelo, uhla lwemibhalo oluncane lwe-gpio luhlanganisa ama-ex amabiliampOkuncane: Ikhibhodi ye-GPIO ne-GPIO matrix. Kubalulekile ukuqaphela ukuthi akuwona wonke ama-exampOkulandelayo kulolu hlu lwemibhalo kuyasebenza ku-ESP32-C3.
36 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Okwesiboneloample, i exampI-les in usb/host isebenza kuphela kuma-peripherals ane-USB Host hardware (efana ne-ESP32-S3), futhi i-ESP32-C3 ayinayo le peripheral. Isistimu yokuhlanganisa ngokuvamile ihlinzeka ngemiyalo lapho usetha okuqondiwe. I-FUNDA file ex ngayinyeample yenza uhlu lwama-chips asekelwe. · Imithethonqubo: Lolu hlu lwemibhalo oluncane luqukethe isibampamaphrothokholi ezinhlobonhlobo zokuxhumana, okuhlanganisa i-MQTT, i-HTTP, i-HTTP Server, i-PPPoS, i-Modbus, i-mDNS, i-SNTP, ehlanganisa izinhlobonhlobo zephrothokholi yokuxhumana ex.ampokuncane okudingekayo ekuthuthukisweni kwe-IoT. · ukunikezwa: Lapha, uzothola isibampizindlela ezahlukene, njengokuhlinzeka nge-Wi-Fi kanye nokuhlinzekwa kwe-Bluetooth LE. · Isistimu: Lolu hlu lwemibhalo olungaphansi luhlanganisa isistimu yokulungisa iphutha examp(isb, ukulandelela isitaki, ukulandelela isikhathi sokusebenza, ukuqapha umsebenzi), ukuphathwa kwamandla isbamples (isb, izindlela zokulala ezihlukahlukene, ama-co-processor), kanye nesibampokuhlobene nezingxenye zesistimu ezivamile njengetheminali yekhonsoli, iluphu yomcimbi, nesibali sikhathi sesistimu. · isitoreji: Ngaphakathi kwalolu hlu lwemibhalo oluncane, uzothola i-exampngaphansi kwakho konke file amasistimu nezindlela zokugcina ezisekelwa yi-ESP-IDF (njengokufunda nokubhala i-Flash, ikhadi le-SD kanye nezinye izinto zokugcina izinto), kanye ne-ex.amples of non-volatile storage (NVS), FatFS, SPIFFS nezinye file imisebenzi yesistimu. · ukuphepha: Lolu hlu lwemibhalo olungaphansi luqukethe isibampokuhlobene nokubethela kwe-flash. (2) I-ESP-IDF yochungechunge lwemibhalo yamathuluzi yokuhlanganisa (/.espressif), njengoba kuboniswe kuMfanekiso 4.3.
Umfanekiso 4.3. I-ESP-IDF yochungechunge lwemibhalo yethuluzi lokuhlanganisa
Isahluko 4. Ukumisa Imvelo Ethuthukile 37
a. I-Software Distribution directory dist
Iketango lamathuluzi le-ESP-IDF namanye ama-software asatshalaliswa ngendlela yamaphakheji acindezelwe. Phakathi nenqubo yokufaka, ithuluzi lokufaka liqala ngokulanda iphakheji elicindezelwe kusiqondisi se-dist, bese liyikhiphela kuhla lwemibhalo olucacisiwe. Uma ukufakwa sekuqediwe, okuqukethwe kulolu hlu lwemibhalo kungakhishwa ngokuphepha.
b. Python virtual environment directory python env
Izinguqulo ezihlukene ze-ESP-IDF zincike ezinguqulweni ezithile zamaphakheji e-Python. Ukufaka lawa maphakheji ngokuqondile kumsingathi ofanayo kungaholela ekungqubuzaneni phakathi kwezinguqulo zephakheji. Ukubhekana nalokhu, i-ESP-IDF isebenzisa izindawo ezibonakalayo ze-Python ukuze ihlukanise izinguqulo zephakheji ezihlukene. Ngale ndlela, onjiniyela bangafaka izinguqulo eziningi ze-ESP-IDF kumsingathi ofanayo futhi bashintshe kalula phakathi kwazo ngokungenisa okuhlukile kwemvelo.
c. I-ESP-IDF yokuhlanganisa amathuluzi ohla lwemibhalo lwemibhalo
Lolu hlu lwemibhalo ngokuyinhloko luqukethe amathuluzi okuhlanganisa adingekayo ukuze kuhlanganiswe amaphrojekthi e-ESP-IDF, njengamathuluzi e-CMake, amathuluzi okwakha e-Ninja, kanye nochungechunge lwamathuluzi e-gcc akhiqiza uhlelo lokugcina olusebenzisekayo. Ukwengeza, lolu hlu lwemibhalo lugcina umtapo wolwazi ojwayelekile wolimi lwe-C/C++ kanye nesihloko esihambisanayo files. Uma uhlelo lukhomba unhlokweni wesistimu file like #include , uchungechunge lwamathuluzi okuhlanganiswa luzothola i-stdio.h file ngaphakathi kwalolu hlu lwemibhalo.
4.2 Ukusetha Indawo Yokuthuthukiswa Kwe-ESP-IDF
Indawo yokuthuthukiswa kwe-ESP-IDF isekela izinhlelo zokusebenza ezijwayelekile njengeWindows, Linux, ne-macOS. Lesi sigaba sizokwethula indlela yokusetha indawo yokuthuthukiswa ohlelweni ngalunye. Kunconywa ukuthuthukisa i-ESP32-C3 kusistimu ye-Linux, ezokwethulwa ngokuningiliziwe lapha. Imiyalo eminingi iyasebenza kuzo zonke izinkundla ngenxa yokufana kwamathuluzi okuthuthukisa. Ngakho-ke, kunconywa ukuthi ufunde ngokucophelela okuqukethwe kwalesi sigaba.
QAPHELA Ungabheka imibhalo eku-inthanethi etholakala ku-https://bookc3.espressif.com/esp32c3, ehlinzeka ngemiyalo eshiwo kulesi sigaba.
4.2.1 Ukusetha i-ESP-IDF Development Environment ku-Linux
Amathuluzi okuthuthukisa i-GNU nawokulungisa amaphutha adingekayo endaweni yokuthuthukiswa kwe-ESP-IDF adabuka ohlelweni lwe-Linux. Ukwengeza, itheminali yomugqa womyalo ku-Linux inamandla futhi iyasebenziseka kalula, ikwenze kube ukukhetha okuhle ekuthuthukisweni kwe-ESP32-C3. Ungakwazi
38 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
khetha ukusatshalaliswa kwe-Linux oyithandayo, kodwa sincoma ukuthi usebenzise Ubuntu noma ezinye izinhlelo ezisekelwe ku-Debian. Lesi sigaba sinikeza isiqondiso ekusetheni indawo yokuthuthukiswa kwe-ESP-IDF ku-Ubuntu 20.04.
1. Faka amaphakheji adingekayo
Vula i-terminal entsha bese ukhipha umyalo olandelayo ukuze ufake wonke amaphakheji adingekayo. Umyalo uzokweqa ngokuzenzakalelayo amaphakheji asevele efakiwe.
$ sudo apt-get install git wget flex bison gperf python3 python3-pip python3setuptools cmmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
AMACEBISO Udinga ukusebenzisa i-akhawunti yomlawuli kanye nephasiwedi ukuze uthole umyalo ongenhla. Ngokuzenzakalelayo, alukho ulwazi oluzoboniswa lapho kufakwa iphasiwedi. Vele ucindezele inkinobho ethi “Enter” ukuze uqhubeke nenqubo.
I-Git iyithuluzi eliyinhloko lokuphatha ikhodi ku-ESP-IDF. Ngemuva kokusetha ngempumelelo indawo yokuthuthuka, ungasebenzisa umyalo we-git log ukuze view zonke izinguquko zekhodi ezenziwe kusukela ekudalweni kwe-ESP-IDF. Ngaphezu kwalokho, i-Git iphinde isetshenziswe ku-ESP-IDF ukuze kuqinisekiswe ulwazi lwenguqulo, oludingekayo ukuze kufakwe uchungechunge lwamathuluzi olufanele oluhambisana nezinguqulo ezithile. Kanye ne-Git, amanye amathuluzi wesistimu abalulekile afaka iPython. I-ESP-IDF ihlanganisa imibhalo eminingi ezenzakalelayo ebhalwe ngePython. Amathuluzi afana ne-CMake, i-Ninja-build, ne-Ccache asetshenziswa kakhulu kumaphrojekthi we-C/C++ futhi asebenza njengokuzenzakalelayo kokuhlanganiswa kwekhodi namathuluzi wokwakha ku-ESP-IDF. I-libusb-1.0-0 kanye ne-dfu-util yizishayeli eziyinhloko ezisetshenziselwa ukuxhumana kwe-USB serial kanye nokushiswa kwe-firmware. Lapho amaphakheji esoftware efakiwe, ungasebenzisa i-apt show umyalo wokuthola izincazelo ezinemininingwane yephakheji ngayinye. Okwesiboneloample, sebenzisa i-apt show git ukuphrinta imininingwane yencazelo yethuluzi le-Git.
Q: Yini okufanele uyenze uma inguqulo yePython ingasekelwe? A: I-ESP-IDF v4.3 idinga inguqulo yePython engekho ngaphansi kwe-v3.6. Ngezinguqulo ezindala ze-Ubuntu, sicela ulande futhi ufake inguqulo ephezulu yePython bese usetha i-Python3 njengendawo ezenzakalelayo yePython. Ungathola imiyalo enemininingwane ngokusesha igama elingukhiye update-alternatives python.
2. Landa ikhodi yendawo ye-ESP-IDF
Vula i-terminal bese udala ifolda enegama elithi esp kumkhombandlela wasekhaya usebenzisa umyalo we-mkdir. Ungakhetha igama elehlukile lefolda uma uthanda. Sebenzisa umyalo we-cd ukufaka ifolda.
Isahluko 4. Ukumisa Imvelo Ethuthukile 39
$ mkdir -p /esp $ cd /esp
Sebenzisa umyalo we-git clone ukulanda ikhodi yendawo ye-ESP-IDF, njengoba kukhonjisiwe ngezansi:
$ git clone -b v4.3.2 -recursive https://github.com/espressif/esp-idf.git
Emyalweni ongenhla, ipharamitha -b v4.3.2 icacisa inguqulo okufanele ilandwe (kulokhu, inguqulo 4.3.2). Ipharamitha -recursive iqinisekisa ukuthi zonke izinqolobane ezincane ze-ESP-IDF zilandwa ngokuphindaphindiwe. Ulwazi mayelana namakhosombe amancane lungatholakala kokuthi .gitmodules file.
3. Faka uchungechunge lwethuluzi lokuthuthukisa i-ESP-IDF
I-Espressif ihlinzeka nge-automated script.sh ukuze ulande futhi ufake uchungechunge lwamathuluzi. Lo mbhalo uhlola inguqulo yamanje ye-ESP-IDF nendawo yesistimu yokusebenza, bese ulanda futhi ufaka inguqulo efanele yamaphakheji wamathuluzi we-Python namaketango amathuluzi okuhlanganisa. Indlela yokufaka ezenzakalelayo yochungechunge lwamathuluzi ithi /.espressif. Odinga ukukwenza nje ukuya esp-idf lwemibhalo bese usebenzisa install.sh.
$ cd /esp/esp-idf $ ./install.sh
Uma ufaka uchungechunge lwamathuluzi ngempumelelo, itheminali izobonisa:
Konke kwenziwe!
Kuleli qophelo, usethe ngempumelelo indawo yokuthuthukisa i-ESP-IDF.
4.2.2 Ukusetha i-ESP-IDF Development Environment ku-Windows
1. Landa isifaki samathuluzi se-ESP-IDF
AMACEBISO Kunconywa ukuthi usethe indawo yokuthuthukiswa kwe-ESP-IDF ku-Windows 10 noma ngaphezulu. Ungalanda isifaki ku-https://dl.espressif.com/dl/esp-idf/. Isifaki siphinde sibe isofthiwe yomthombo ovulekile, futhi ikhodi yayo yomthombo ingaba viewihlelwe ku-https: //github.com/espressif/idf-installer.
· Isifaki samathuluzi esiku-inthanethi se-ESP-IDF
Lesi sifaki sincane uma kuqhathaniswa, silinganiselwa ku-4 MB ngosayizi, futhi amanye amaphakheji nekhodi azolandwa phakathi nenqubo yokufaka. I-advantagI-e yesifaki esiku-inthanethi ukuthi akukhona nje kuphela ukuthi amaphakheji esofthiwe nekhodi ingalandwa ngokufunwa ngesikhathi senqubo yokufaka, kodwa futhi ivumela ukufakwa kwakho konke ukukhishwa okutholakalayo kwe-ESP-IDF kanye negatsha lakamuva lekhodi ye-GitHub (njengegatsha elikhulu) . I-disadvantage ukuthi idinga uxhumano lwenethiwekhi phakathi nenqubo yokufaka, okungase kubangele ukwehluleka kokufaka ngenxa yezinkinga zenethiwekhi.
40 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
· Isifaki samathuluzi se-ESP-IDF esingaxhunyiwe ku-inthanethi Lesi sifaki sikhulu, esingaba ngu-1 GB ngosayizi, futhi siqukethe wonke amaphakheji esofthiwe nekhodi edingekayo ukuze kumiswe indawo. I-advan eyinhlokotagIsifaki esingaxhunyiwe ku-inthanethi ukuthi singasetshenziswa kumakhompuyutha ngaphandle kokufinyelela ku-inthanethi, futhi ngokuvamile sinezinga eliphezulu lempumelelo yokufaka. Kufanele kuqashelwe ukuthi isifaki esingaxhunyiwe ku-inthanethi singafaka kuphela ukukhishwa okuzinzile kwe-ESP-IDF okukhonjwe ngu-v*.* noma v*.*.*.
2. Qalisa isifaki samathuluzi se-ESP-IDF Ngemva kokulanda inguqulo efanelekile yesifaki (thatha Amathuluzi ESP-IDF Ungaxhumekile Ku-inthanethi 4.3.2 ngokwesibonelo.ample lapha), chofoza kabili i-exe file ukuqalisa isixhumi esibonakalayo sokufakwa kwe-ESP-IDF. Okulandelayo kubonisa indlela yokufaka inguqulo ezinzile ye-ESP-IDF v4.3.2 usebenzisa isifaki esingaxhunyiwe ku-inthanethi.
(1) Kusixhumi esibonakalayo sokuthi “Khetha ulimi lokufaka” esiboniswe kuMfanekiso 4.4, khetha ulimi oluzosetshenziswa ohlwini lokudonsela phansi.
Umfanekiso 4.4. “Khetha ulimi lokufaka” (2) Ngemva kokukhetha ulimi, chofoza okuthi “KULUNGILE” ukuze uvele “isivumelwano selayisensi”
(bheka Umfanekiso 4.5). Ngemva kokufunda ngokucophelela isivumelwano selayisense yokufaka, khetha "Ngiyasamukela isivumelwano" bese uchofoza "Okulandelayo".
Umfanekiso 4.5. “Isivumelwano selayisensi” esibonakalayo Isahluko 4. Ukusetha Indawo Yokuthuthukisa 41
(3) Review ukucushwa kwesistimu kusixhumi esibonakalayo "sokuhlola uhlelo lokufaka ngaphambilini" (bheka Umfanekiso 4.6). Hlola inguqulo ye-Windows kanye nolwazi olufakiwe lwe-antivirus. Chofoza "Okulandelayo" uma zonke izinto zokucushwa zijwayelekile. Uma kungenjalo, ungachofoza okuthi “Ilogi Egcwele” ukuze uthole izixazululo ezisekelwe ezintweni ezibalulekile.
Umfanekiso 4.6. "Hlola isistimu ngaphambi kokufakwa" AMACEBISO esibonakalayo
Ungathumela amalogi ku-https://github.com/espressif/idf-installer/issues ukuze uthole usizo. (4) Khetha inkomba yokufaka ye-ESP-IDF. Lapha, khetha okuthi D:/.espressif, njengoba kukhonjisiwe ku
Umfanekiso 4.7, bese uchofoza "Okulandelayo". Sicela uqaphele ukuthi i-.espressif nali uhla lwemibhalo olufihliwe. Ngemva kokufaka kuqediwe, ungakwazi view okuqukethwe okuqondile kwalolu hlu lwemibhalo ngokuvula ifayela le file umphathi nokubonisa izinto ezifihliwe.
Umfanekiso 4.7. Khetha inkomba yokufaka ye-ESP-IDF 42 ESP32-C3 Wireless Adventure: Umhlahlandlela Ophelele we-IoT
(5) Hlola izingxenye ezidinga ukufakwa, njengoba kuboniswe kuMfanekiso 4.8. Kunconywa ukusebenzisa inketho ezenzakalelayo, okungukuthi, ukufakwa okuphelele, bese uchofoza "Okulandelayo".
Umfanekiso 4.8. Khetha izingxenye ozozifaka (6) Qinisekisa izingxenye ezizofakwa bese uchofoza okuthi “Faka” ukuze uqale ukufaka okuzenzakalelayo
inqubo yokumisa, njengoba kukhonjisiwe kuMfanekiso 4.9. Inqubo yokufaka ingase ithathe amashumi emizuzu futhi ibha yenqubekelaphambili yenqubo yokufaka iboniswa kuMfanekiso 4.10. Sicela ulinde ngesineke.
Umfanekiso 4.9. Ukulungiselela ukufakwa (7) Ngemuva kokuthi ukufakwa sekuqediwe, kuyanconywa ukuthi uhlole “Bhalisa i-ESP-IDF
Amathuluzi asebenzisekayo njengokungafakwa kweWindows Defender…” ukuze kuvinjwe isoftware elwa namagciwane ukuthi isuswe files. Ukwengeza izinto zokukhishwa kungase futhi kweqe ukuskena okuvamile nge-antivirus
Isahluko 4. Ukumisa Imvelo Ethuthukile 43
Umfanekiso 4.10. Isoftware yebha yenqubekelaphambili yokufakwa, ithuthukisa kakhulu ukuhlanganisa amakhodi ukusebenza kahle kohlelo lweWindows. Chofoza okuthi “Qeda” ukuze uqedele ukufakwa kwendawo yokuthuthukiswa, njengoba kukhonjisiwe kuMfanekiso 4.11. Ungakhetha ukuhlola okuthi “Run ESP-IDF PowerShell environment” noma “Run ESP-IDF command prompt”. Qalisa iwindi lokuhlanganisa ngqo ngemva kokufaka ukuze uqinisekise ukuthi indawo yokuthuthukisa isebenza ngokujwayelekile.
Umfanekiso 4.11. Ukufakwa kuqediwe (8) Vula indawo yokuthuthukisa efakiwe ohlwini lohlelo (kungaba i-ESP-IDF 4.3
Itheminali ye-CMD noma i-ESP-IDF 4.3 PowerShell, njengoba kukhonjisiwe kuMfanekiso 4.12), kanye nokuguquguquka kwemvelo ye-ESP-IDF kuzongezwa ngokuzenzakalelayo lapho kusebenza kutheminali. Ngemva kwalokho, ungasebenzisa umyalo we-idf.py ukuze usebenze. I-ESP-IDF 4.3 CMD evuliwe iboniswa kuMfanekiso 4.13. 44 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Umfanekiso 4.12. Indawo yokuthuthukisa ifakiwe
Umfanekiso 4.13. I-ESP-IDF 4.3 CMD
4.2.3 Ukusetha i-ESP-IDF Development Environment ku-Mac
Inqubo yokufaka imvelo yokuthuthukiswa kwe-ESP-IDF kusistimu ye-Mac iyafana naleyo ohlelweni lwe-Linux. Imiyalo yokulanda ikhodi yekhosombe nokufaka uchungechunge lwamathuluzi iyafana ncamashi. Yimiyalo kuphela yokufaka amaphakheji okuncika ehluke kancane. 1. Faka amaphakheji okuncika Vula itheminali, bese ufaka ipayipi, ithuluzi lokuphatha iphakheji lePython, ngokusebenzisa umyalo olandelayo:
% sudo ukufaka kalula ipayipi
Faka i-Homebrew, ithuluzi lokuphatha iphakheji le-macOS, ngokusebenzisa umyalo olandelayo:
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
Faka amaphakheji okuncika adingekayo ngokusebenzisa umyalo olandelayo:
% phisa i-python3 faka i-cmake ninja ccache dfu-util
2. Landa ikhodi yendawo ye-ESP-IDF Landela imiyalelo enikezwe esigabeni 4.2.1 ukuze udawunilode ikhodi yendawo ye-ESP-IDF. Izinyathelo ziyefana nezokulanda ohlelweni lwe-Linux.
Isahluko 4. Ukumisa Imvelo Ethuthukile 45
3. Faka uchungechunge lwethuluzi lokuthuthukisa i-ESP-IDF
Landela imiyalelo ehlinzekwe esigabeni 4.2.1 ukuze ufake iketango lokuthuthukisa i-ESP-IDF. Izinyathelo ziyefana nezokufakwa ohlelweni lwe-Linux.
4.2.4 Ukufaka Ikhodi ye-VS
Ngokuzenzakalelayo, i-ESP-IDF SDK ayifaki ithuluzi lokuhlela ikhodi (nakuba isifaki sakamuva se-ESP-IDF se-Windows sinikeza inketho yokufaka i-ESP-IDF Eclipse). Ungasebenzisa noma yiliphi ithuluzi lokuhlela umbhalo olithandayo ukuze uhlele ikhodi bese uyihlanganisa usebenzisa imiyalo yetheminali.
Ithuluzi elilodwa lokuhlela amakhodi elidumile yi-VS Code (Visual Studio Code), ewumhleli wekhodi wamahhala futhi ocebile onesixhumi esibonakalayo esisebenziseka kalula. Inikeza ezihlukahlukene plugins ehlinzeka ngemisebenzi efana nokuzulazula kwekhodi, ukugqamisa i-syntax, ukulawulwa kwenguqulo ye-Git, nokuhlanganiswa kwetheminali. Ukwengeza, i-Espressif ithuthukise i-plugin ezinikezele ebizwa ngokuthi i-Espressif IDF ye-VS Code, eyenza ukumiswa kwephrojekthi kube lula nokulungisa iphutha.
Ungasebenzisa umyalo wekhodi kutheminali ukuze uvule ngokushesha ifolda yamanje ku-VS Code. Kungenjalo, ungasebenzisa isinqamuleli esithi Ctrl+ ukuze uvule ikhonsoli ezenzakalelayo yesistimu ngaphakathi kwe-VS Code.
AMACEBISO Kunconywa ukusebenzisa Ikhodi ye-VS yokuthuthukiswa kwekhodi ye-ESP32-C3. Landa futhi ufake inguqulo yakamuva ye-VS Code kokuthi https://code.visualstudio.com/.
4.2.5 Isingeniso Sezindawo Zokuthuthukiswa Kweqembu Lesithathu
Ukwengeza endaweni esemthethweni yokuthuthukiswa kwe-ESP-IDF, esebenzisa ngokuyinhloko ulimi C, i-ESP32-C3 iphinde isekele ezinye izilimi zezinhlelo ezivamile kanye nezinhlobonhlobo zezindawo zokuthuthukiswa komuntu wesithathu. Ezinye izinketho eziphawulekayo zihlanganisa:
I-Arduino: inkundla yomthombo ovulekile yakho kokubili ihadiwe nesofthiwe, esekela ama-microcontrollers ahlukahlukene, kuhlanganise ne-ESP32-C3.
Isebenzisa ulimi lwe-C++ futhi inikeza i-API eyenziwe lula nesezingeni, evame ukubizwa ngokuthi ulimi lwe-Arduino. I-Arduino isetshenziswa kabanzi ekuthuthukisweni kwe-prototype kanye nezimo zemfundo. Ihlinzeka ngephakheji yesofthiwe enwebekayo kanye ne-IDE evumela ukuhlanganiswa okulula nokukhanyisa.
I-MicroPython: umhumushi wolimi we-Python 3 oklanyelwe ukusebenza kumapulatifomu e-microcontroller ashumekiwe.
Ngolimi olulula lombhalo, ingakwazi ukufinyelela ngokuqondile izinsiza zangaphakathi ze-ESP32-C3 (njenge-UART, SPI, ne-I2C) nemisebenzi yokuxhumana (njenge-Wi-Fi ne-Bluetooth LE).
46 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
Lokhu kwenza kube lula ukusebenzisana kwehadiwe. I-MicroPython, ehlanganiswe nomtapo wezincwadi we-Python obanzi wokusebenza kwezibalo, inika amandla ukuqaliswa kwe-algorithms eyinkimbinkimbi ku-ESP32-C3, yenza kube lula ukuthuthukiswa kwezinhlelo zokusebenza ezihlobene ne-AI. Njengolimi lweskripthi, asikho isidingo sokuhlanganiswa okuphindaphindiwe; izinguquko zingenziwa futhi imibhalo ingenziwa ngokuqondile.
I-NodeMCU: umhumushi wolimi we-LUA owenzelwe ama-chips ochungechunge lwe-ESP.
Isekela cishe yonke imisebenzi ye-peripheral yama-chips e-ESP futhi ilula kune-MicroPython. Ngokufanayo ne-MicroPython, i-NodeMCU isebenzisa ulimi lweskripthi, isusa isidingo sokuhlanganisa ngokuphindaphindiwe.
Ngaphezu kwalokho, i-ESP32-C3 iphinde isekele izinhlelo zokusebenza ze-NuttX neZephyr. I-NuttX iwuhlelo lokusebenza lwesikhathi sangempela olunikeza ukuxhumana okuhambisana ne-POSIX, okuthuthukisa ukuphatheka kohlelo lokusebenza. I-Zephyr iwuhlelo oluncane lwesikhathi sangempela oluklanyelwe izinhlelo zokusebenza ze-IoT. Kufaka phakathi imitapo yolwazi eminingi ye-software edingekayo ekuthuthukisweni kwe-IoT, kancane kancane iguqukela kuhlelo lwe-software oluphelele.
Leli bhuku alinikezi imiyalelo yokufaka enemininingwane yezindawo zokuthuthukisa ezishiwo ngenhla. Ungafaka indawo yokuthuthukisa ngokuya ngezidingo zakho ngokulandela imibhalo nemiyalelo efanele.
4.3 Uhlelo Lokuhlanganiswa Kwe-ESP-IDF
4.3.1 Imiqondo Eyisisekelo Yohlelo Lokuhlanganiswa
Iphrojekthi ye-ESP-IDF iqoqo lohlelo oluyinhloko olunomsebenzi wokungenela kanye nezingxenye eziningi ezizimele ezisebenzayo. Okwesiboneloample, iphrojekthi elawula ukushintshwa kwe-LED ngokuyinhloko iqukethe okuyinhloko yohlelo lokungena kanye nengxenye yomshayeli elawula i-GPIO. Uma ufuna ukubona isilawuli kude se-LED, udinga futhi ukwengeza i-Wi-Fi, isitaki sephrothokholi ye-TCP/IP, njll.
Isistimu yokuhlanganisa ingahlanganisa, ixhumanise, futhi ikhiqize okusebenzisekayo files (.bin) wekhodi ngokusebenzisa isethi yemithetho yokwakha. Isistimu yokuhlanganisa ye-ESP-IDF v4.0 nangaphezulu izinguqulo zisekelwe ku-CMake ngokuzenzakalelayo, futhi iskripthi sokuhlanganiswa CMakeLists.txt singasetshenziswa ukulawula ukuziphatha kokuhlanganiswa kwekhodi. Ngokungeziwe ekusekeleni i-syntax eyisisekelo ye-CMake, isistimu yokuhlanganisa ye-ESP-IDF iphinda ichaze isethi yemithetho yokuhlanganiswa okuzenzakalelayo nemisebenzi ye-CMake, futhi ungakwazi ukubhala umbhalo wokuhlanganisa ngezitatimende ezilula.
4.3.2 Iphrojekthi File Isakhiwo
Iphrojekthi yifolda equkethe uhlelo oluyinhloko lokungena, izingxenye ezichazwe ngumsebenzisi, kanye files okudingekayo ukuze kwakhiwe izinhlelo zokusebenza ezisebenzisekayo, njengemibhalo yokuhlanganisa, ukumisa
Isahluko 4. Ukumisa Imvelo Ethuthukile 47
files, amathebula okuhlukanisa, njll. Amaphrojekthi angakopishwa futhi adluliselwe, kanye nokusebenza okufanayo file ingahlanganiswa futhi yenziwe emishinini enenguqulo efanayo yemvelo yokuthuthukiswa kwe-ESP-IDF. Iphrojekthi ejwayelekile ye-ESP-IDF file isakhiwo sikhonjiswe kuMfanekiso 4.14.
Umfanekiso 4.14. Iphrojekthi ye-ESP-IDF ejwayelekile file isakhiwo Njengoba i-ESP-IDF isekela ama-chips e-IoT amaningi avela ku-Espressif, okuhlanganisa i-ESP32, uchungechunge lwe-ESP32-S, uchungechunge lwe-ESP32-C, uchungechunge lwe-ESP32-H, njll., okuhlosiwe kudinga ukunqunywa ngaphambi kokuhlanganiswa kwekhodi. Okuqondiwe kuko kokubili idivayisi yehadiwe eqhuba uhlelo lohlelo lokusebenza kanye nethagethi yokwakha yesistimu yokuhlanganisa. Ngokuya ngezidingo zakho, ungacacisa okuhlosiwe okukodwa noma ngaphezulu kwephrojekthi yakho. Okwesiboneloample, ngomyalo idf.py set-target esp32c3, ungasetha ithagethi yokuhlanganiswa ibe yi-ESP32-C3, lapho amapharamitha amisiwe nendlela yochungechunge lwamathuluzi wokuhlanganisa we-ESP32C3 izolayishwa. Ngemva kokuhlanganiswa, uhlelo olusebenzisekayo lungakhiqizelwa i-ESP32C3. Ungaphinda usebenzise isethi-thagethi yomyalo futhi ukuze usethe ithagethi ehlukile, futhi isistimu yokuhlanganisa izozihlanza ngokuzenzakalelayo futhi ilungise kabusha. Izingxenye
Izingxenye ku-ESP-IDF zingamayunithi ekhodi ajwayelekile futhi azimele aphethwe ngaphakathi kohlelo lokuhlanganisa. Ahlelwa njengamafolda, anegama lefolda elimele igama lengxenye ngokuzenzakalelayo. Ingxenye ngayinye inombhalo wayo wokuhlanganisa othi 48 ESP32-C3 Wireless Adventure: Umhlahlandlela Ophelele we-IoT
icacisa amapharamitha wokuhlanganisa nokuncika. Phakathi nenqubo yokuhlanganisa, izingxenye zihlanganiswa zibe imitapo yolwazi emile ehlukene (.a files) futhi ekugcineni kuhlanganiswe nezinye izingxenye ukwenza uhlelo lokufaka isicelo.
I-ESP-IDF ihlinzeka ngemisebenzi ebalulekile, efana nesistimu yokusebenza, izishayeli ze-peripheral, nesitaki sephrothokholi yenethiwekhi, ngendlela yezingxenye. Lezi zingxenye zigcinwa kumkhombandlela wezingxenye otholakala ngaphakathi kwenkomba yempande ye-ESP-IDF. Abathuthukisi abadingi ukukopisha lezi zingxenye ohlwini lwemibhalo lwezingxenye ze-myProject. Kunalokho, badinga kuphela ukucacisa ubudlelwano bokuncika balezi zingxenye ku-CMakeLists.txt yephrojekthi file usebenzisa REQUIRES noma PRIV_REQUIRES iziqondiso. Isistimu yokuhlanganisa izothola ngokuzenzakalelayo futhi ihlanganise izingxenye ezidingekayo.
Ngakho-ke, uhla lwemibhalo lwezingxenye ngaphansi kwe-myProject akudingekile. Isetshenziselwa kuphela ukufaka izingxenye ezithile zangokwezifiso zephrojekthi, ezingaba amalabhulali ezinkampani zangaphandle noma ikhodi echazwe umsebenzisi. Ukwengeza, izingxenye zingatholakala kunoma iyiphi inkomba ngaphandle kwe-ESP-IDF noma iphrojekthi yamanje, njengakuphrojekthi yomthombo ovulekile elondolozwe kolunye uhla lwemibhalo. Kulesi simo, udinga kuphela ukwengeza indlela yengxenye ngokusetha okuguquguqukayo kwe-EXTRA_COMPONENT_DIRS kokuthi CMakeLists.txt ngaphansi kohlu lwezimpande. Lolu hlu lwemibhalo luzokhipha noma iyiphi ingxenye ye-ESP-IDF enegama elifanayo, iqinisekise ukuthi kusetshenziswa ingxenye efanele.
Uhlelo lokungenela oluyinhloko Uhlu lwemibhalo oluyinhloko ngaphakathi kwephrojekthi lulandela okufanayo file isakhiwo njengezinye izingxenye (isb, ingxenye1). Nokho, inokubaluleka okukhethekile njengoba iyingxenye eyisibopho okufanele ibe khona kuwo wonke amaphrojekthi. Uhla lwemibhalo oluyinhloko luqukethe ikhodi yomthombo wephrojekthi kanye nendawo yokungena yohlelo lomsebenzisi, ngokuvamile ebizwa ngokuthi app_main. Ngokuzenzakalelayo, ukwenziwa kohlelo lomsebenzisi kuqala kusuka kuleli phuzu lokungena. Ingxenye eyinhloko iphinde ihluke ngokuthi incike ngokuzenzakalelayo kuzo zonke izingxenye ezingaphakathi kwendlela yokusesha. Ngakho-ke, asikho isidingo sokubonisa ngokucacile ukuncika usebenzisa iziqondiso ze-REQUIRES noma PRIV_REQUIRES ku-CMakeLists.txt file.
Ukucushwa file Uhlu lwemibhalo oluyimpande yephrojekthi luqukethe ukulungiselelwa file ebizwa nge-sdkconfig, equkethe imingcele yokumisa yazo zonke izingxenye ezingaphakathi kwephrojekthi. Ifayela le-sdkconfig file ikhiqizwa ngokuzenzakalelayo isistimu yokuhlanganisa futhi ingashintshwa futhi yenziwe kabusha ngomyalo idf.py menuconfig. Izinketho ze-menuconfig ikakhulukazi zisuka ku-Kconfig.projbuild yephrojekthi kanye ne-Kconfig yezingxenye. Abathuthukisi bezingxenye ngokuvamile bengeza izinto zokumisa ku-Kconfig ukuze benze ingxenye ivumelane nezimo futhi ilungiseke.
Yakha inkomba Ngokuzenzakalelayo, inkomba yokwakha ngaphakathi kwephrojekthi igcina phakathi nendawo files kanye ne-
Isahluko 4. Ukumisa Imvelo Ethuthukile 49
izinhlelo ezisebenzisekayo ezikhiqizwe umyalo wokwakha we-idf.py. Ngokuvamile, akudingekile ukufinyelela ngokuqondile okuqukethwe kwemibhalo yokwakha. I-ESP-IDF inikeza imiyalo echazwe ngaphambilini ukuze ihlanganyele nohla lwemibhalo, njengokusebenzisa umyalo we-idf.py flash ukuze kutholakale ngokuzenzakalelayo kanambambili ehlanganisiwe. file futhi uyikhanyise ekhelini elibaluliwe, noma usebenzise umyalo we-idf.py fullclean ukuhlanza lonke uhla lwemibhalo lokwakha.
Ithebula lokuhlukanisa (partitions.csv) Iphrojekthi ngayinye idinga ithebula lokuhlukanisa ukuze ihlukanise isikhala se-flash futhi icacise usayizi nekheli lokuqala lohlelo olusebenzisekayo nesikhala sedatha yomsebenzisi. I-Command idf.py flash noma uhlelo lokuthuthukisa i-OTA luzokhanyisa i-firmware ekhelini elihambisanayo ngokwaleli thebula. I-ESP-IDF inikeza amathebula okuhlukanisa okuzenzakalelayo amaningana ezingxenyeni/ithebula_lokwehlukanisa, njenge-partitions_singleapp.csv kanye ne-partitions_two_ ota.csv, engakhethwa ku-menuconfig.
Uma ithebula lokuhlukanisa elizenzakalelayo lesistimu lingakwazi ukuhlangabezana nezidingo zephrojekthi, i-partitions.csv yangokwezifiso ingangezwa kuhla lwemibhalo yephrojekthi futhi ikhethwe ku-menuconfig.
4.3.3 Imithetho Yokwakha Okuzenzakalelayo Yohlelo Lokuhlanganiswa
Imithetho yokweqa izingxenye ezinegama elifanayo Ngesikhathi senqubo yokusesha ingxenye, isistimu yokuhlanganisa ilandela uhlelo oluthile. Iqala ngokuseshela izingxenye zangaphakathi ze-ESP-IDF, bese ibheka izingxenye zephrojekthi yomsebenzisi, bese ekugcineni icinga izingxenye ku-EXTRA_COMPONENT_DIRS. Ezimeni lapho uhla lwemibhalo oluningi luqukethe izingxenye ezinegama elifanayo, ingxenye etholakala kuhla lwemibhalo lokugcina izokhipha noma yiziphi izingxenye zangaphambili ezinegama elifanayo. Lo mthetho uvumela ukwenziwa ngokwezifiso kwezingxenye ze-ESP-IDF ngaphakathi kwephrojekthi yomsebenzisi, kuyilapho kugcinwa ikhodi yoqobo ye-ESP-IDF injalo.
Imithetho yokufaka izingxenye ezivamile ngokuzenzakalelayo Njengoba kushiwo esigabeni 4.3.2, izingxenye zidinga ukucacisa ngokusobala ukuncika kwazo kwezinye izingxenye ku-CMakeLists.txt. Kodwa-ke, izingxenye ezivamile ezifana nama-freertos zifakwa ngokuzenzakalelayo ohlelweni lokwakha ngokuzenzakalelayo, ngisho noma ubudlelwano bazo bokuncika bungachazwanga ngokucacile kusikripthi sokuhlanganiswa. Izingxenye ezivamile ze-ESP-IDF zifaka i-freertos, i-Newlib, inqwaba, i-log, i-soc, i-esp_rom, i-esp_common, i-xtensa/riscv, ne-cxx. Ukusebenzisa lezi zingxenye ezivamile kugwema umsebenzi ophindaphindayo lapho ubhala i-CMakeLists.txt futhi ukwenze kube mfushane kakhudlwana.
Imithetho yokukhipha izinto zokucushwa Onjiniyela bangangeza imingcele yokumisa ezenzakalelayo ngokwengeza ukucushwa okuzenzakalelayo file okuqanjwe ngokuthi sdkconfig.defaults kuphrojekthi. Okwesiboneloample, yengeza CONFIG_LOG_
50 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
DEFAULT_LEVEL_NONE = y ingamisa isixhumi esibonakalayo se-UART ukuze singaphrinti idatha yelogi ngokuzenzakalelayo. Ngaphezu kwalokho, uma imingcele ethile idinga ukusethelwa ithagethi ethile, ukucushwa file ebizwa ngokuthi sdkconfig.defaults.TARGET_NAME ingangezwa, lapho i-TARGET_NAME ingaba esp32s2, esp32c3, njalo njalo. Lokhu ukucushwa files zingeniswa ku-sdkconfig ngesikhathi sokuhlanganiswa, ngokucushwa okuzenzakalelayo okujwayelekile file sdkconfig.defaults ithunyelwa kuqala, kulandelwa ukulungiselelwa okuqondile okuqondiwe file, njenge-sdkconfig.defaults.esp32c3. Ezimweni lapho kunezinto zokucushwa ezinegama elifanayo, ukucushwa kokugcina file izokhipha eyokuqala.
4.3.4 Isingeniso Sescript Sokuhlanganiswa
Lapho benza iphrojekthi kusetshenziswa i-ESP-IDF, abathuthukisi abadingi nje kuphela ukubhala ikhodi yomthombo kodwa futhi kudingeka babhale i-CMakeLists.txt yephrojekthi kanye nezingxenye. I-CMakeLists.txt umbhalo file, eyaziwa nangokuthi iskripthi sokuhlanganiswa, esichaza uchungechunge lwezinto zokuhlanganiswa, izinto zokulungiselela ukuhlanganiswa, nemiyalo yokuqondisa inqubo yokuhlanganiswa kwekhodi yomthombo. Uhlelo lokuhlanganisa lwe-ESP-IDF v4.3.2 lusekelwe ku-CMake. Ngokungeziwe ekusekeleni imisebenzi nemiyalo yomdabu ye-CMake, iphinda ichaze uchungechunge lwemisebenzi yangokwezifiso, ikwenze kube lula kakhulu ukubhala imibhalo yokuhlanganisa.
Imibhalo yokuhlanganisa ku-ESP-IDF ikakhulukazi ihlanganisa umbhalo wokuhlanganiswa kwephrojekthi kanye nemibhalo yokuhlanganisa ingxenye. I-CMakeLists.txt kumkhombandlela wezimpande wephrojekthi ibizwa ngokuthi umbhalo wokuhlanganiswa kwephrojekthi, oqondisa inqubo yokuhlanganiswa kwayo yonke iphrojekthi. Isikripthi esiyisisekelo sokuhlanganiswa kwephrojekthi ngokuvamile sihlanganisa imigqa emithathu elandelayo:
1. cmake_minimum_required(VERSION 3.5) 2. hlanganisa($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. project(myProject)
Phakathi kwazo, i-cmake_minimum_required (VERSION 3.5) kufanele ibekwe kulayini wokuqala, osetshenziselwa ukukhombisa ubuncane benombolo yenguqulo ye-CMake edingwa iphrojekthi. Izinguqulo ezintsha ze-CMake ngokuvamile zibuyela emuva zihambisana nezinguqulo ezindala, ngakho lungisa inombolo yenguqulo ngokufanele uma usebenzisa imiyalo emisha ye-CMake ukuze uqinisekise ukuhambisana.
zihlanganisa($ENV {IDF_PATH}/tools/cmake/project.cmake) ingenisa izinto zokucushwa ezichazwe ngaphambilini kanye nemiyalo yohlelo lokuhlanganisa lwe-ESP-IDF, okuhlanganisa nemithetho yokwakha ezenzakalelayo yesistimu yokuhlanganiswa echazwe eSigabeni 4.3.3. project(myProject) idala iphrojekthi ngokwayo futhi isho igama layo. Leli gama lizosetshenziswa njengowokugcina kanambambili ophumayo file igama, okungukuthi, i-myProject.elf kanye ne-myProject.bin.
Iphrojekthi ingaba nezingxenye eziningi, okuhlanganisa ingxenye eyinhloko. Uhla lwemibhalo lwezinga eliphezulu lwengxenye ngayinye luqukethe i-CMakeLists.txt file, okubizwa ngokuthi isikripthi sokuhlanganiswa kwengxenye. Imibhalo yokuhlanganisa ingxenye isetshenziswa kakhulukazi ukucacisa ukuncika kwengxenye, imingcele yokumisa, ikhodi yomthombo. files, futhi kufakwe unhlokweni files kwe
Isahluko 4. Ukumisa Imvelo Ethuthukile 51
ukuhlanganisa. Ngomsebenzi wangokwezifiso we-ESP-IDF idf_component_register, ubuncane bekhodi edingekayo yombhalo wokuhlanganiswa kwengxenye imi kanje:
1. idf_component_register(SRCS “src1.c”
2.
INCLUDE_DIRS "hlanganisa"
3.
IDINGA ingxenye1)
Ipharamitha ye-SRCS inikeza uhlu lomthombo files engxenyeni, ehlukaniswa yizikhala uma ziziningi files. Ipharamitha ye-INCLUDE_DIRS inikeza uhlu lwesihloko esisesidlangalaleni file uhla lwemibhalo lwengxenye, oluzongezwa endleleni yokusesha yezinye izingxenye ezincike engxenyeni yamanje. Ipharamitha ye-REQUIRES ikhomba ukuncika kwengxenye yomphakathi engxenyeni yamanje. Kuyadingeka ukuthi izingxenye zisho ngokucacile ukuthi yiziphi izingxenye ezithembele kuzo, njengengxenye2 kuye ngengxenye1. Kodwa-ke, engxenyeni eyinhloko, encike kuzo zonke izingxenye ngokuzenzakalelayo, ipharamitha ye-REQUIRES ingashiywa.
Ngaphezu kwalokho, imiyalo yomdabu ye-CMake nayo ingasetshenziswa kusikripthi sokuhlanganiswa. Okwesiboneloample, sebenzisa isethi yomyalo ukuze usethe okuguquguqukayo, njengokuthi set(VARIABLE “VALUE”).
4.3.5 Isingeniso Semiyalo Ejwayelekile
I-ESP-IDF isebenzisa i-CMake (ithuluzi lokumisa iphrojekthi), i-Ninja (ithuluzi lokwakha iphrojekthi) kanye ne-esptool (ithuluzi le-flash) ngesikhathi sokuhlanganiswa kwekhodi. Ithuluzi ngalinye lidlala indima ehlukile ekuhlanganiseni, ekwakheni, nasenqubweni ye-flash, futhi futhi lisekela imiyalo yokusebenza eyahlukene. Ukuze kube lula ukusebenza komsebenzisi, i-ESP-IDF yengeza i-idf.py yangaphambili ehlangene evumela ukuthi imiyalo engenhla ibizwe ngokushesha.
Ngaphambi kokusebenzisa idf.py, qiniseka ukuthi:
· I-variable yemvelo i-IDF_PATH ye-ESP-IDF yengezwe kutheminali yamanje. · Umyalo wokukhipha umkhombandlela wuhlu lwemibhalo oluyimpande yephrojekthi, oluhlanganisa i-
iskripthi sokuhlanganiswa kwephrojekthi CMakeLists.txt.
Imiyalo evamile ye-idf.py imi kanje:
· idf.py –help: ukubonisa uhlu lwemiyalo nemiyalo yokusetshenziswa kwayo. · idf.py set-target : ukusetha ukuhlanganiswa taidf.py fullcleanrget, enjalo
njengokufaka esikhundleni nge esp32c3. · idf.py menuconfig: kwethulwa i-menuconfig, ukucushwa kwesithombe esibulalayo
ithuluzi, elingakhetha noma liguqule izinketho zokumisa, futhi imiphumela yokumisa igcinwa ku-sdkconfig file. · idf.py build: ukuqalisa ukuhlanganisa amakhodi. Ophakathi files kanye nohlelo lokugcina olusebenzisekayo olukhiqizwe ukuhlanganiswa luzolondolozwa kumkhombandlela wokwakha wephrojekthi ngokuzenzakalelayo. Inqubo yokuhlanganisa iyakhula, okusho ukuthi uma umthombo owodwa kuphela file kushintshiwe, kuphela okushintshiwe file izohlanganiswa ngokuzayo.
52 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
· idf.py clean: ukuhlanza okuphakathi files ezikhiqizwe ukuhlanganiswa kwephrojekthi. Yonke iphrojekthi izophoqeleka ukuthi ihlanganiswe ekuhlanganiseni okulandelayo. Qaphela ukuthi ukucushwa kwe-CMake kanye nokuguqulwa kokucushwa okwenziwe yi-menuconfig ngeke kususwe ngesikhathi sokuhlanza.
· idf.py fullclean: isusa lonke uhla lwemibhalo lokwakha, kuhlanganise nakho konke okukhiphayo kokucushwa kwe-CMake files. Lapho wakha iphrojekthi futhi, i-CMake izomisa iphrojekthi kusukela ekuqaleni. Sicela uqaphele ukuthi lo myalo uzosusa ngokuphindaphindiwe konke files kumkhombandlela wokwakha, ngakho-ke isebenzise ngokuqapha, kanye nokucushwa kwephrojekthi file ngeke isuswe.
· idf.py flash: ukukhanyisa uhlelo olusebenzayo kanambambili file okukhiqizwa ngokwakhiwa kokuhlosiwe kwe-ESP32-C3. Izinketho -p kanye -b zisetshenziselwa ukusetha igama ledivayisi lembobo ye-serial kanye nesilinganiso se-baud sokukhanyisa, ngokulandelanayo. Uma lezi zinketho ezimbili zingacacisiwe, imbobo ye-serial izotholwa ngokuzenzakalelayo futhi isilinganiso se-baud esizenzakalelayo sizosetshenziswa.
· idf.py qapha: ukubonisa okukhiphayo kwembobo ye-serial ye-ESP32-C3 eqondiwe. Inketho -p ingasetshenziswa ukucacisa igama ledivayisi yembobo ye-serial yohlangothi lomsingathi. Phakathi nokuphrinta kwembobo ye-serial, cindezela inhlanganisela yokhiye u-Ctrl+] ukuze uphume kusiqapha.
Imiyalo engenhla ingabuye ihlanganiswe njengoba kudingeka. Okwesiboneloampfuthi, umyalo we-idf.py build flash monitor uzokwenza ukuhlanganiswa kwekhodi, ifleshi, futhi uvule isiqapheli sembobo ye-serial ngokulandelana.
Ungavakashela ku-https://bookc3.espressif.com/build-system ukuze wazi okwengeziwe ngohlelo lokuhlanganisa lwe-ESP-IDF.
4.4 Ukuzijwayeza: Ukuhlanganisa ExampUhlelo "Blink"
4.4.1 Isbample Analysis
Lesi sigaba sizothatha uhlelo lwe-Blink njenge-example ukuhlaziya file isakhiwo kanye nemithetho yokubhala ikhodi yephrojekthi yangempela ngokuningiliziwe. Uhlelo lwe-Blink lisebenzisa umphumela wokucwayiza kwe-LED, futhi iphrojekthi itholakala kuhlu lwemibhalo exampi-les/get-start/blink, equkethe umthombo file, ukumisa files, kanye nemibhalo eminingi yokuhlanganisa.
Iphrojekthi yokukhanya ehlakaniphile eyethulwe kule ncwadi isuselwe kulesi siboneloampuhlelo lwe. Imisebenzi izokwengezwa kancane kancane ezahlukweni ezizayo ukuze ekugcineni uyiqede.
Ikhodi yomthombo Ukuze kuboniswe yonke inqubo yokuthuthukisa, uhlelo lwe-Blink lukopishelwe ku-esp32c3-iot-projects/device firmware/1 blink.
Isakhiwo sohla lwemibhalo lwephrojekthi yokucwayiza files kukhonjiswe kuMfanekiso 4.15.
Iphrojekthi yokucwayiza iqukethe uhla lwemibhalo olulodwa kuphela, oluyingxenye ekhethekile
Isahluko 4. Ukumisa Imvelo Ethuthukile 53
Umfanekiso 4.15. File isakhiwo sohla lwemibhalo lwephrojekthi yokucwayiza
kufanele ifakwe njengoba kuchazwe esigabeni 4.3.2. Uhla lwemibhalo oluyinhloko lusetshenziselwa kakhulu ukugcina ukuqaliswa komsebenzi we-app_main(), okuyindawo yokungena ohlelweni lomsebenzisi.Iphrojekthi yokucwayiza ayifaki uhla lwemibhalo lwezingxenye, ngoba lesi sici.ampi-le idinga kuphela ukusebenzisa izingxenye eziza ne-ESP-IDF futhi ayidingi izingxenye ezengeziwe. I-CMakeLists.txt efakwe kuphrojekthi yokucwayiza isetshenziselwa ukuqondisa inqubo yokuhlanganisa, kuyilapho i-Kconfig.projbuild isetshenziselwa ukwengeza izinto zokulungiselela zale ex.ampuhlelo ku-menuconfig. Okunye okungadingekile files ngeke kuthinte ukuhlanganiswa kwekhodi, ngakho-ke ngeke kuxoxwe ngakho lapha. Isethulo esinemininingwane yephrojekthi yokucwayiza files imi kanje.
1. /*blink.c ihlanganisa unhlokweni olandelayo files*/
2. #faka
//Isihloko selabhulali Ejwayelekile C file
3. #faka phakathi "freertos/freeRTOS.h" //FreeRTOS unhlokweni oyinhloko file
4. #faka phakathi okuthi “freertos/task.h”
//Isihloko somsebenzi we-FreeRTOS file
5. #faka phakathi okuthi “sdkconfig.h”
//Ukucushwa unhlokweni file eyenziwe ngu-kconfig
6. #faka phakathi okuthi “driver/gpio.h”
//GPIO unhlokweni womshayeli file
Umthombo file blink.c iqukethe uchungechunge lwesihloko fileihambisana nesimemezelo somsebenzi-
tions. I-ESP-IDF ngokuvamile ilandela uhlelo lokufaka unhlokweni welabhulali ojwayelekile files, MahhalaR-
Isihloko se-TOS files, unhlokweni womshayeli files, esinye isihloko sengxenye files, kanye nesihloko sephrojekthi files.
Ukulandelana kwesihloko files afakiwe angase athinte umphumela wokugcina wokuhlanganiswa, ngakho-ke zama uku
landela imithetho emisiwe. Kufanele kuqashelwe ukuthi i-sdkconfig.h ikhiqizwa ngokuzenzakalelayo
nge-kconfig futhi ingalungiswa kuphela ngomyalo idf.py menuconfig.
Ukuguqulwa okuqondile kwalo nhlokweni file izosulwa.
1. /*Ungakhetha i-GPIO ehambisana ne-LED ku-idf.py menuconfig, futhi umphumela wokuguqulwa kwe-menuconfig ukuthi inani le-CONFIG_BLINK
_GPIO izoshintshwa. Ungakwazi futhi ukulungisa ngokuqondile incazelo ye-macro
lapha, futhi uguqule i-CONFIG_BLINK_GPIO ibe yinani elingashintshi.*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO
3. i-app_main engenalutho(engenalutho)
4. {
5.
/*Lungisa i-IO njengomsebenzi ozenzakalelayo we-GPIO, vumela imodi yokudonsa, futhi
6.
khubaza izindlela zokufaka nokuphumayo*/
7.
gpio_reset_pin(BLINK_GPIO);
54 ESP32-C3 Ukuzidela Okungenantambo: Umhlahlandlela Ophelele we-IoT
8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. }
/*Setha i-GPIO kumodi yokuphumayo*/ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); ngenkathi(1) {
/*Phrinta ilogi*/ printf(“Ukucisha i-LEDn”); /*Vala i-LED (izinga eliphansi lokukhipha)*/ gpio_set_level(BLINK_GPIO, 0); /*Ukubambezeleka (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf(“Ukuvula i-LEDn”); /*Vula i-LED (izinga eliphezulu lokukhiphayo)*/ gpio_set_level(BLINK_GPIO, 1); I-vTaskDelay(1000 / portTICK_PERIOD_MS); }
Uhlelo lokusebenza_main() ku-Blink exampUhlelo lwe-le lusebenza njengendawo yokungena yezinhlelo zabasebenzisi. Kungumsebenzi olula ongenawo amapharamitha kanye nenani lokubuyisela. Lo msebenzi ubizwa ngemva kokuthi isistimu isiqede ukuqalisa, okuhlanganisa imisebenzi efana nokuqalisa imbobo ye-serial yelogi, ukulungisa umongo owodwa/okabili, kanye nokumisa inja yokubuka.
Umsebenzi_main() usebenza kumongo womsebenzi oqanjwe ngokuyinhloko. Usayizi wesitaki nokubalulekile kwalo msebenzi kungalungiswa ku-menuconfig Componentconfig Common ESP ehlobene.
Ngemisebenzi elula efana nokucwayiza i-LED, yonke ikhodi edingekayo ingasetshenziswa ngokuqondile kumsebenzi we-app_main(). Lokhu ngokuvamile kuhilela ukuqalisa i-GPIO ehambisana ne-LED nokusebenzisa i-loop yesikhashana (1) ukuguqula nokuvala i-LED. Kungenjalo, ungasebenzisa i-FreeRTOS API ukuze udale umsebenzi omusha ophethe ukucwayiza kwe-LED. Uma umsebenzi omusha usudalwe ngempumelelo, ungaphuma kumsebenzi we-app_main().
Okuqukethwe kwe-main/CMakeLists.txt file, eqondisa inqubo yokuhlanganiswa kwengxenye eyinhloko, imi kanje:
1. idf_component_register(SRCS “blink.c” INCLUDE_DIRS “.” )
Phakathi kwazo, i-main/CMakeLists.txt ibiza kuphela umsebenzi wesistimu yokuhlanganisa eyodwa, okungukuthi idf_component_register. Ngokufanayo ne-CMakeLists.txt kwezinye izingxenye eziningi, i-blink.c yengezwa ku-SRCS, kanye nomthombo fileokungezwe ku-SRCS kuzohlanganiswa. Ngesikhathi esifanayo, “.”, emele indlela lapho i-CMakeLists.txt ikhona, kufanele yengezwe ku-INCLUDE_DIRS njengohlu lwemibhalo yosesho lwenhlokweni. files. Okuqukethwe kwe-CMakeLists.txt kungokulandelayo:
1. #Cacisa i-v3.5 njengenguqulo endala ye-CMake esekelwa iphrojekthi yamanje 2. #Izinguqulo ezingaphansi kwe-v3.5 kufanele zithuthukiswe ngaphambi kokuthi ukuhlanganiswa kuqhubeke 3. cmake_minimum_required(VERSION 3.5) 4. #Faka nokucushwa kwe-CMake okuzenzakalelayo kwe-ESP -IDF uhlelo lokuhlanganisa
Isahluko 4. Ukumisa Imvelo Ethuthukile 55
5. hlanganisa($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Dala iphrojekthi ebizwa ngokuthi “blink” 7. project(myProject)
Phakathi kwazo, i-CMakeLists.txt kumkhombandlela wezimpande ngokuyinhloko ihlanganisa i-$ENV{IDF_ PATH}/tools/cmake/project.cmake, okuwukucushwa kwe-CMake okuyinhloko file ihlinzekwe yi-ESP-IDF. Isetshenziselwa ukuhlanganisa
Amadokhumenti / Izinsiza
![]() |
I-Espressif Systems ESP32-C3 Wireless Adventure [pdf] Umhlahlandlela Womsebenzisi I-ESP32-C3 Wireless Adventure, ESP32-C3, Wireless Adventure, Adventure |