ʻO ESP32-C3 Hoʻokele Waea ʻole
ʻO ESP32-C3 Hoʻokele Waea ʻole
He alakaʻi piha no IoT
Nā Pūnaehana Espressif Iune 12, 2023
Nā kikoʻī
- Huahana: ESP32-C3 Wireless Adventure
- Mea Hana: Espressif Systems
- Lā: Iune 12, 2023
Nā ʻōlelo hoʻohana huahana
Hoʻomākaukau
Ma mua o ka hoʻohana ʻana i ka ESP32-C3 Wireless Adventure, e hōʻoia ʻoe
kamaʻāina i nā manaʻo a me ka hoʻolālā o IoT. E kōkua kēia
ʻike ʻoe i ke ʻano o ka hoʻopili ʻana o ka hāmeʻa i loko o ka kaiaola IoT nui
a me kāna mau noi kūpono i nā hale akamai.
Hoʻomaka a hoʻomaʻamaʻa i nā papahana IoT
Ma kēia ʻāpana, e aʻo ʻoe e pili ana i nā papahana IoT maʻamau,
me nā modules kumu no nā mea IoT maʻamau, nā modules kumu
o nā noi mea kūʻai aku, a me nā paepae ao IoT maʻamau. ʻO kēia makemake
hāʻawi iā ʻoe i kumu no ka hoʻomaopopo ʻana a me ka hana ʻana i kāu
ponoi nā papahana IoT.
Hoʻomaʻamaʻa: Papahana Māmā Māmā
Ma kēia papahana hoʻomaʻamaʻa, e aʻo ʻoe pehea e hana ai i kahi akamai
māmā e hoʻohana ana i ka ESP32-C3 Wireless Adventure. ʻO ka papahana papahana,
nā hana, ka hoʻomākaukau ʻana i nā lako, a me ke kaʻina hana
wehewehe kikoʻī.
Papahana Papahana
Aia ka papahana i nā ʻāpana he nui, me ka
ESP32-C3 Wireless Adventure, nā LED, nā ʻike, a me ke ao
hope hope.
Nā Hana Pāhana
ʻO ka papahana māmā akamai e hiki iāʻoe ke hoʻomalu i ka'ōlinolino a
ka waihoʻoluʻu o nā LED ma o ka polokalamu kelepona a i ʻole web
interface.
Hoʻomākaukau Lako
No ka hoʻomākaukau no ka papahana, pono ʻoe e hōʻiliʻili i ka
nā lako lako pono, e like me ka ESP32-C3 Wireless
ʻO ka papa hoʻokipa, nā LED, nā mea pale, a me kahi lako mana.
Kaʻina Hoʻomohala
ʻO ke kaʻina hana hoʻomohala e pili ana i ka hoʻonohonoho ʻana i ka hoʻomohala ʻana
kaiapuni, kākau code e hoʻomalu i nā LED, e pili ana i ka
kapuaʻi backend, a ho'āʻo i ka hana o ka akamai
māmā.
Introduction to ESP RainMaker
He hoʻolālā ikaika ʻo ESP RainMaker no ka hoʻomohala ʻana iā IoT
nā mea hana. Ma kēia ʻāpana, e aʻo ʻoe i ke ʻano o ESP RainMaker a
pehea e hoʻokō ai i kāu mau papahana.
He aha ka ESP RainMaker?
ʻO ESP RainMaker kahi kahua kapuaʻi e hāʻawi ana i kahi pūʻulu o
nā mea hana a me nā lawelawe no ke kūkulu ʻana a me ka mālama ʻana i nā polokalamu IoT.
ʻO ka hoʻokō ʻana o ESP RainMaker
Hōʻike kēia ʻāpana i nā ʻāpana like ʻole i komo i loko
ka hoʻokō ʻana i ka ESP RainMaker, me ka lawelawe koi,
RainMaker Agent, cloud backend, a me RainMaker Client.
Hoʻomaʻamaʻa: Nā Koʻikoʻi no ka Hoʻomohala ʻana me ESP RainMaker
Ma kēia ʻāpana hoʻomaʻamaʻa, e aʻo ʻoe e pili ana i nā mea nui i
e noʻonoʻo i ka wā e ulu ana me ESP RainMaker. Aia kēia me ka mea hana
koi, hoʻonohonoho ʻikepili, a me ka hoʻokele mea hoʻohana.
Nā hiʻohiʻona o ESP RainMaker
Hāʻawi ʻo ESP RainMaker i nā hiʻohiʻona like ʻole no ka hoʻokele mea hoʻohana, hoʻopau
mea hoʻohana, a me nā luna hoʻomalu. Hāʻawi kēia mau hiʻohiʻona i ka mea maʻalahi
hoʻonohonoho, mana mamao, a me ka nānā ʻana.
Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala
Hāʻawi kēia ʻāpana i kahi overview o ESP-IDF (Espressif IoT
Development Framework), ʻo ia ka papa hana hoʻomohala kūhelu
no nā mea e pili ana i ka ESP32. Ua wehewehe i nā ʻano like ʻole o
ESP-IDF a pehea e hoʻonohonoho ai i ke kaiapuni hoʻomohala.
Hoʻomohala lako a me nā mea hoʻokele
Hoʻolālā Lako Paʻa o nā Huahana Māmā Māmā ma muli o ESP32-C3
ʻO kēia ʻāpana e kālele ana i ka hoʻolālā ʻana o nā lako uila o ke kukui akamai
nā huahana e pili ana i ka ESP32-C3 Wireless Adventure. Ua uhi i ka
nā hiʻohiʻona a me ka haku ʻana o nā huahana māmā akamai, a me ka
hoʻolālā lako o ka ʻōnaehana kumu ESP32-C3.
Nā hiʻohiʻona a me ka hui ʻana o nā huahana māmā akamai
Hōʻike kēia ʻāpana i nā hiʻohiʻona a me nā mea hana
i nā huahana māmā akamai. Kūkākūkā i nā hana like ʻole
a me nā manaʻo hoʻolālā no ka hana ʻana i nā kukui akamai.
Hoʻolālā Lako o ESP32-C3 Core System
ʻO ka hoʻolālā ʻenehana o ka ʻōnaehana kumu ESP32-C3 ka mana
lako, kaʻina mana, hoʻonohonoho ʻōnaehana, SPI flash, kumu uaki,
a me RF a me nā manaʻo antenna. Hāʻawi kēia māhele
ʻike kikoʻī e pili ana i kēia mau ʻaoʻao.
FAQ
Nīnau: He aha ka ESP RainMaker?
A: ʻO ESP RainMaker kahi kahua kapuaʻi e hāʻawi ana i nā mea hana
a me nā lawelawe no ke kūkulu ʻana a me ka mālama ʻana i nā mea IoT. He mea maʻalahi
ke kaʻina hana hoʻomohala a hiki i ka hoʻonohonoho maʻalahi o ka hāmeʻa, mamao
hoʻomalu, a nānā.
Nīnau: Pehea e hiki ai iaʻu ke hoʻonohonoho i ke kaiapuni hoʻomohala no
ESP32-C3?
A: No ka hoʻonohonoho ʻana i ke kaiapuni hoʻomohala no ESP32-C3, pono ʻoe
e hoʻokomo iā ESP-IDF (Espressif IoT Development Framework) a
hoʻonohonoho e like me nā kuhikuhi i hāʻawi ʻia. ʻO ESP-IDF ka
hoʻolālā hoʻomohala kūhelu no nā mea hoʻokumu ʻia ESP32.
Nīnau: He aha nā hiʻohiʻona o ESP RainMaker?
A: Hāʻawi ʻo ESP RainMaker i nā hiʻohiʻona like ʻole, me ka mea hoʻohana
hoʻokele, nā hiʻohiʻona mea hoʻohana hope, a me nā hiʻohiʻona admin. Hoʻoponopono mea hoʻohana
hiki i ka mea maʻalahi ke koi a me ka hoʻonohonoho ʻikepili. Mea hoʻohana hope
Hiki i nā hiʻohiʻona ke hoʻomalu mamao o nā mea hana ma o ka polokalamu kelepona a i ʻole
web interface. Hāʻawi nā hiʻohiʻona Admin i nā mea hana no ka nānā ʻana i ka hāmeʻa
a me ka hooponopono ana.
ʻO ESP32-C3 Hoʻokele Waea ʻole
He alakaʻi piha no IoT
Nā Pūnaehana Espressif Iune 12, 2023
ʻIkepili
I Hoomakaukau
1
1 Hoʻolauna iā IoT
3
1.1 Hoʻolālā o IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Hoʻohana IoT i nā hale akamai. . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Hoʻomaka a hoʻomaʻamaʻa i nā papahana IoT
9
2.1 Hoʻomaka i nā papahana IoT maʻamau. . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Nā Module kumu no nā mea IoT maʻamau. . . . . . . . . . . . . . . . . 9
2.1.2 Nā Module kumu o nā noi mea kūʻai aku. . . . . . . . . . . . . . . . . . . 10
2.1.3 Hoʻomaka ʻana i nā Pūnaewele Ao IoT maʻamau. . . . . . . . . . . . . . 11
2.2 Hoʻomaʻamaʻa: Papahana Māmā Māmā . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Ka Papahana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Hana Hana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 Hoʻomākaukau Lako . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 Kaʻina Hoʻomohala . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Introduction to ESP RainMaker
19
3.1 He aha ka ESP RainMaker? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Ka hoʻokō ʻana o ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 Koi lawelawe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Agena RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 Kūʻē Kapua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.4 Mea kūʻai mai RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Hoʻomaʻamaʻa: Nā Koʻikoʻi no ka Hoʻomohala ʻana me ESP RainMaker . . . . . . . . . . . . 25
3.4 Nā hiʻohiʻona o ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 Hooponopono Mea hoohana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.2 Nā mea hoʻohana hope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.3 Nā Mana Hoʻokele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala
31
4.1 ESP-IDF Loaʻaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 Nā Manaʻo ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3
4.1.2 ESP-IDF Git Ke Kaʻina Hana . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Koho ʻana i kahi mana kūpono . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 A halaview o ESP-IDF SDK Papa kuhikuhi . . . . . . . . . . . . . . . . . . . . 34 4.2 Hoʻonohonoho ʻana i ka ESP-IDF Development Environment . . . . . . . . . . . . . . . . . 38 4.2.1 Hoʻonohonoho i ka ESP-IDF Development Environment ma Linux . . . . . . . . 38 4.2.2 Hoʻonohonoho i ka ESP-IDF Development Environment ma Windows . . . . . . 40 4.2.3 Hoʻonohonoho i ka ESP-IDF Development Environment ma Mac . . . . . . . . . 45 4.2.4 Hoʻokomo VS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Hoʻolauna i nā Kaiapuni Hoʻomohala ʻEkolu . . . . . . . . 46 4.3 Pūnaehana Hui Pūnaehana ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Nā Manaʻo Kumu o ka Pūnaehana Hui . . . . . . . . . . . . . . . . . . 47 4.3.2 Papahana File Kapili . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Nā rula kūkulu paʻamau o ka ʻōnaehana hōʻuluʻulu . . . . . . . . . . . . . 50 4.3.4 Hoʻomaka i ka Palapala Hōʻuluʻulu . . . . . . . . . . . . . . . . . . 51 4.3.5 Introduction to Common Commands . . . . . . . . . . . . . . . . . . . 52 4.4 Hoʻomaʻamaʻa: Hoʻuluʻulu ExampʻO ka papahana "Blink" . . . . . . . . . . . . . . . . . . 53 4.4.1 Example Kānāwai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Houluulu i ka Polokalamu Blink . . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Pānaʻi ʻana i ka Polokalamu Blink . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Hōʻuluʻulu manaʻo moʻolelo Port Port Serial o ka Polokalamu Blink. . . . . . . . . . . . . . 60 4.5 Hōʻuluʻulu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
II Hoʻomohala Paʻa a me ke Keaukaha
65
5 Hoʻolālā Paʻa Paʻa o nā Huahana Māmā ma muli o ESP32-C3
67
5.1 Nā hiʻohiʻona a me ka hoʻohui ʻana o nā huahana kukui akamai. . . . . . . . . . . . . . . 67
5.2 Hoʻolālā Lako o ESP32-C3 Pūnaehana Core. . . . . . . . . . . . . . . . . . . 70
5.2.1 Manawa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2 Ke Kaʻina mana a me ka hoʻoponopono ʻana i ka ʻōnaehana . . . . . . . . . . . . . . . . . . 74
5.2.3 SPI Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.4 Punawai Uaki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.5 RF a me Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.6 Hoʻopaʻa Paʻa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.7 GPIO a me PWM Mea hoʻomalu. . . . . . . . . . . . . . . . . . . . . . . . . 79
5.3 Hoʻomaʻamaʻa: Ke kūkulu ʻana i kahi ʻōnaehana kukui akamai me ESP32-C3 . . . . . . . . . . . . . 80
5.3.1 Ke koho ʻana i nā Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.2 Hoʻonohonoho i nā GPIO o nā hōʻailona PWM. . . . . . . . . . . . . . . . . . . . 82
5.3.3 Hoʻoiho ʻia ʻana o Firmware a me Debugging Interface. . . . . . . . . . . . 82
5.3.4 Nā Kūlana no ka Hoʻolālā RF. . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 Nā alakaʻi no ka hoʻolālā lako mana. . . . . . . . . . . . . . . . . . . 86 5.4 Hōʻuluʻulu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6 Hoʻomohala Keaukaha
87
6.1 Kaʻina Hoʻomohala Keaukaha . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2 ESP32-C3 Nā noi pili. . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3 LED Keaukaha kumu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.1 Nā ʻāpana kala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.2 LED Keaukaha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.3 LED Dimming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.4 Hoʻomaka i ka PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.4 Hoʻomohala ʻia ʻo LED Dimming Keaukaha. . . . . . . . . . . . . . . . . . . . . . . . 96
6.4.1 Ka Waihona ʻAʻole Volatile (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97
6.4.2 LED PWM Mea Mana Mana (LEDC) . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.3 Papahana PWM LED . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5 Hoʻomaʻamaʻa: Hoʻohui i nā mea hoʻokele i ka papahana Smart Light. . . . . . . . . . . . . . . . . 103
6.5.1 Piko Keaukaha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5.2 LED Dimming Keaukaha. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.6 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
III Ka launa 'ole a me ka mana
109
7 Hoʻonohonoho Wi-Fi a me ka pilina
111
7.1 Nā kumu o ka Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.1 Hoʻomaka i ka Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.2 Hoʻololi o IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.3 Manaʻo Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.4 Hoʻohui Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2 Kumu o Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2.1 Hoʻomaka i ka Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.2 Manao Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.2.3 Hoʻohui Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.3 Hoʻonohonoho pūnaewele Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.3.1 Alakaʻi hoʻonohonoho hoʻonohonoho pūnaewele Wi-Fi. . . . . . . . . . . . . . . . . . . . 131
7.3.2 SoftAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.3 SmartConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.4 Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.3.5 Nā ʻano hana ʻē aʻe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.4 Hoʻolālā Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 Nā ʻāpana Wi-Fi ma ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 Hoʻoikaika: Hoʻohui Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 Hoʻomaʻamaʻa: Hoʻohui Wi-Fi akamai . . . . . . . . . . . . . . . . . . . . . 145
7.5 Hoʻomaʻamaʻa: Wi-Fi Configuration in Smart Light Project. . . . . . . . . . . . . . . 156 7.5.1 Hoʻohui Wi-Fi ma ka Papahana Māmā Māmā. . . . . . . . . . . . . . . . . 156 7.5.2 Hoʻonohonoho Wi-Fi akamai . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8 Mana Kūloko
159
8.1 Hoʻomaka i ka Mana Kūloko . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.1.1 Hoʻohana i ka Mana Kūloko . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.2 AdvanatagʻO ka Mana Kūloko . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.3 Ka ʻike ʻana i nā mea hana i hoʻomalu ʻia ma o nā kelepona. . . . . . . . . . 161
8.1.4 Kūkākūkā ʻikepili ma waena o nā kelepona a me nā mea hana. . . . . . . . 162
8.2 Nā ʻano ʻike maʻamau maʻamau. . . . . . . . . . . . . . . . . . . . . . . . 162
8.2.1 Hoolaha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.2.2 Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2.3 Hoʻohālikelike ma waena o ka hoʻolaha a me ka Multicast. . . . . . . . . . . . . . 176
8.2.4 Multicast Application Protocol mDNS for Local Discovery . . . . . . . . 176
8.3 Nā Kūlana Kūkākūkā maʻamau no ka ʻikepili kūloko. . . . . . . . . . . . . . . 179
8.3.1 Kūkākūkā Mana Hoʻouna (TCP) . . . . . . . . . . . . . . . . . . . 179
8.3.2 Hoʻololi Kūʻai Kūʻē HyperText (HTTP) . . . . . . . . . . . . . . . . . . . 185
8.3.3 Mea hoʻohana Datagram Protocol (UDP) . . . . . . . . . . . . . . . . . . . . . . 189
8.3.4 Kākoʻo noi kaohi ʻia (CoAP) . . . . . . . . . . . . . . . . 192
8.3.5 Palekana Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
8.3.6 Hōʻuluʻulu manaʻo o nā Kaʻina Kūkākūkā ʻIkepili. . . . . . . . . . . . . . . 203
8.4 Hōʻoiaʻiʻo o ka palekana ʻikepili. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.4.1 Introduction to Transport Layer Security (TLS) . . . . . . . . . . . . . 207
8.4.2 Hoʻolauna iā Datagram Transport Layer Security (DTLS) . . . . . . . 213
8.5 Hoʻomaʻamaʻa: Ka Mana Kūloko ma Smart Light Project. . . . . . . . . . . . . . . . . . 217
8.5.1 Ka hana ʻana i kahi kikowaena hoʻokele kūloko ma muli o Wi-Fi. . . . . . . . . . . . . . . 217
8.5.2 Ke hōʻoia nei i ka hana hoʻomalu kūloko me ka hoʻohana ʻana i nā Scripts. . . . . . . . . . . 221
8.5.3 Ka hana ʻana i kahi kikowaena hoʻomalu kūloko ma ke Bluetooth. . . . . . . . . . . . 222
8.6 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9 Ka Hoomalu Ao
225
9.1 Hoʻomaka i ka Mana mamao . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.2 Nā Kūlana Kūkākūkā ʻIkepili Ao . . . . . . . . . . . . . . . . . . . . . . 226
9.2.1 MQTT Hoʻolauna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 Nā Kumu MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 Hōʻano Memo MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 Hoʻohālikelike Kūlana . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Hoʻonohonoho i ka MQTT Broker ma Linux a me Windows. . . . . . . . . . . . 233 9.2.6 Hoʻonohonoho ʻana i ka mea kūʻai aku MQTT Ma muli o ESP-IDF . . . . . . . . . . . . . . . . 235 9.3 Hōʻoia i ka palekana ʻikepili MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 ʻO ke ʻano a me ka hana o nā palapala hōʻoia. . . . . . . . . . . . . . . . . . . 237 9.3.2 Hana ʻana i nā palapala hōʻoia ma ka ʻāina . . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 Hoʻonohonoho i ka MQTT Broker . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 Hoʻonohonoho ʻana i ka mea kūʻai aku MQTT . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 Hoʻomaʻamaʻa: Mana mamao ma o ESP RainMaker . . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Kumu . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Node a me Cloud Backend Communication Protocol . . . . . . . . . . . 244 9.4.3 Kūkākūkā ma waena o ka mea kūʻai aku a me Cloud Backend . . . . . . . . . . . 249 9.4.4 Nā Hana Hoʻohana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Nā lawelawe kumu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 Mālamalama Naauao Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 RainMaker App a me nā hui ʻekolu . . . . . . . . . . . . . . . 262 9.5 Hōʻuluʻulu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10 Hoʻomohala polokalamu kelepona
269
10.1 Hoʻomaka i ka hoʻomohala ʻana i nā polokalamu kelepona. . . . . . . . . . . . . . . . . . 269
10.1.1 Ua halaview o ka hoʻomohala ʻana i nā polokalamu kelepona. . . . . . . . . . . . . . . 270
10.1.2 Hoʻolālā o ka Papahana Android . . . . . . . . . . . . . . . . . . . . . . 270
10.1.3 Hoʻolālā o ka papahana iOS . . . . . . . . . . . . . . . . . . . . . . . . 271
10.1.4 Ola o kahi Hana Android . . . . . . . . . . . . . . . . . . . . . . 272
10.1.5 Lifecycle o IOS ViewMea hooponopono . . . . . . . . . . . . . . . . . . . . . . 273
10.2 Hana ʻana i kahi papahana polokalamu kelepona hou. . . . . . . . . . . . . . . . . . . . . 275
10.2.1 Hoʻomākaukau no ka hoʻomohala ʻana i ka Android . . . . . . . . . . . . . . . . . . . 275
10.2.2 Hana ʻana i kahi papahana Android hou . . . . . . . . . . . . . . . . . . . . . . 275
10.2.3 Hoʻohui i nā mea hilinaʻi no MyRainmaker. . . . . . . . . . . . . . . . . 276
10.2.4 Noi ʻae i ka Android . . . . . . . . . . . . . . . . . . . . . . 277
10.2.5 Hoʻomākaukau no ka hoʻomohala ʻana o iOS . . . . . . . . . . . . . . . . . . . . . . 277
10.2.6 Hana ʻana i kahi papahana iOS hou. . . . . . . . . . . . . . . . . . . . . . . . 278
10.2.7 Hoʻohui i nā mea hilinaʻi no MyRainmaker. . . . . . . . . . . . . . . . . 279
10.2.8 Noi ʻae ma iOS . . . . . . . . . . . . . . . . . . . . . . . . . 280
10.3 Nānā i nā Koina Hana o ka App. . . . . . . . . . . . . . . . . . 281
10.3.1 Nānā i nā Koina Hana o ka Papahana . . . . . . . . . . . . 282
10.3.2 Nānā i nā Koina Hoʻokele Mea hoʻohana. . . . . . . . . . . . . . . 282 10.3.3 Ka Ikepili o ka Hoolako Mea Hana a me na Koi Hoopaa . . . . . . . 283 10.3.4 Ka Ikepili o na Koina Mana-mamao . . . . . . . . . . . . . . . . 283 10.3.5 Nānā i nā Koina Hoʻonohonoho . . . . . . . . . . . . . . . . . . . 284 10.3.6 Nānā i nā Koina o ka Mea Hoʻohana. . . . . . . . . . . . . . . . . . 285 10.4 Hoʻomohala ʻana i ka hoʻokele hoʻohana. . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 Hoʻomaka i nā API RainMaker . . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 Hoʻomaka i ke kamaʻilio ʻana ma o ke kelepona paʻa. . . . . . . . . . . . . . . . 286 10.4.3 Kakauinoa mooolelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 Komo mooolelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 Hoʻomohala ʻana i ka hoʻolako ʻana i nā mea hana. . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 Nānā i nā mea hana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 Hoʻohui i nā mea hana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 Hana ʻana i nā kī huna. . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Loaʻa i ka Node ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 Hāʻawi i nā mea hana. . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 Hoʻomohala ʻana i ka Mana Mea Hana . . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 Hoʻopaʻa i nā mea hana i nā moʻokāki Cloud . . . . . . . . . . . . . . . . . . . . 303 10.6.2 Loaʻa i kahi papa inoa o nā mea hana. . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 Loaʻa i ke kūlana o ka mea hana. . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 Hoʻololi i ke kūlana o ka mea hana. . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 Hoʻomohala ʻana i ka hoʻonohonoho ʻana a me ke kikowaena mea hoʻohana. . . . . . . . . . . . . . . . . . . 313 10.7.1 Hoʻokō i ka hana hoʻolālā. . . . . . . . . . . . . . . . . . . . 313 10.7.2 Hoʻokō i ke kikowaena mea hoʻohana. . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 Nā API Kapua ʻē aʻe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 Hōʻuluʻulu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
11 Hoʻomaikaʻi i ka firmware a me ka hoʻokele mana
321
11.1 Hoʻonui ʻia ʻo Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
11.1.1 Ua halaview o na Papa Paahana . . . . . . . . . . . . . . . . . . . . . . . . 322
11.1.2 Ke Kaʻina Hana Paa Paa. . . . . . . . . . . . . . . . . . . . . . . . . . . 324
11.1.3 Ua halaview o ka OTA Mechanism . . . . . . . . . . . . . . . . . . . . . 326
11.2 Hoʻoponopono i ka mana o ka firmware. . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.1 Hoailona Paa Paa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.2 Hoʻihoʻi a hoʻihoʻi hou. . . . . . . . . . . . . . . . . . . . . . . . 331
11.3 Hoʻomaʻamaʻa: Over-the-air (OTA) Example . . . . . . . . . . . . . . . . . . . . . . . 332
11.3.1 Hoʻomaikaʻi i ka Firmware ma o kahi hoʻokipa kūloko. . . . . . . . . . . . . . . . . 332
11.3.2 Hoʻomaikaʻi i ka Firmware Ma o ESP RainMaker. . . . . . . . . . . . . . . 335
11.4 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
IV Hoʻonui a me ka hana nui
343
12 Mana Mana a me Haʻahaʻa-Power Optimization
345
12.1 ESP32-C3 Mana Mana . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
12.1.1 Hoʻonui pinepine ʻia. . . . . . . . . . . . . . . . . . . . . . . . 346
12.1.2 Hoʻonohonoho Mana Mana. . . . . . . . . . . . . . . . . . . . 348
12.2 ESP32-C3 Mana Haʻahaʻa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
12.2.1 Modem-moe moe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
12.2.2 Māmā-moe ʻano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
12.2.3 Ke ano hiamoe hohonu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
12.2.4 Hoʻohana i kēia manawa ma nā ʻano mana like ʻole. . . . . . . . . . . . . 358
12.3 Ka Mana Mana a me ka Haʻahaʻa-Power Debugging . . . . . . . . . . . . . . . . . 359
12.3.1 Hoʻopau i ka moʻolelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
12.3.2 GPIO Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
12.4 Hoʻomaʻamaʻa: Mana Mana i loko o Smart Light Project. . . . . . . . . . . . . . . 363
12.4.1 Ka hoʻonohonoho ʻana i ka Mana Mana Mana. . . . . . . . . . . . . . . . . 364
12.4.2 E hoohana i na Laka Mana Mana. . . . . . . . . . . . . . . . . . . . . . 365
12.4.3 Hōʻoia i ka hoʻohana ʻana i ka mana. . . . . . . . . . . . . . . . . . . . . . . 366
12.5 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
13 Nā hiʻohiʻona palekana i hoʻonui ʻia
369
13.1 Ua halaview o IoT Device Data Security . . . . . . . . . . . . . . . . . . . . . . . 369
13.1.1 No ke aha e hoʻopaʻa ai i ka ʻikepili mehana IoT? . . . . . . . . . . . . . . . . . . . . . . 370
13.1.2 Nā Koina Kumu no ka Palekana ʻIke Mea IoT. . . . . . . . . . . . 371
13.2 Palekana ʻIkepili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
13.2.1 Hoʻomaka i ke ʻano hōʻoia pono. . . . . . . . . . . . . . 372
13.2.2 Hōʻoia Pono o ka ʻikepili Firmware. . . . . . . . . . . . . . . . . . 373
13.2.3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3 Hoʻopalekana i ka ʻikepili. . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3.1 Hoʻomaka i ka hoʻopili ʻikepili . . . . . . . . . . . . . . . . . . . . . . 374
13.3.2 Hoʻomaka i ka Flash Encryption Scheme . . . . . . . . . . . . . . . . . 376
13.3.3 Hoʻopaʻa Kiʻi Hoʻopaʻa Flash . . . . . . . . . . . . . . . . . . . . . . . 379
13.3.4 Ke ʻano hana o ka hoʻopili ʻana o Flash. . . . . . . . . . . . . . . . . . . . 380
13.3.5 Kaʻina Hoʻopāpā Flash. . . . . . . . . . . . . . . . . . . . . . . . . . 381
13.3.6 Introduction to NVS Encryption . . . . . . . . . . . . . . . . . . . . . . 383
13.3.7 ExampNā liʻiliʻi o Flash Encryption a me NVS Encryption. . . . . . . . . . . 384
13.4 Palekana Legitimacy Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
13.4.1 Hoʻomaka i ka Pūlima Kikohoʻe . . . . . . . . . . . . . . . . . . . . . 386
13.4.2 Ua halaview o ka Papahana Boot Palekana . . . . . . . . . . . . . . . . . . . . . 388
13.4.3 Hoʻomaka i ka Boot Secure Boot . . . . . . . . . . . . . . . . . . . 388 13.4.4 Hoʻomaka i ka Paʻa Paʻa Paʻa Paʻa . . . . . . . . . . . . . . . . . . 390 13.4.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 Hoʻomaʻamaʻa: Nā ʻano palekana i ka hana nui. . . . . . . . . . . . . . . . . . 396 13.5.1 Hoʻopili uila a me ka pahu palekana. . . . . . . . . . . . . . . . . . . . . 396 13.5.2 E ho'ā ana i ka hoʻopili ʻana i ka Flash a me ka Boot Paʻa me nā hāmeʻa Batch Flash. . 397 13.5.3 Ho'ā i ka Flash Encryption a me Secure Boot ma Smart Light Project. . . 398 13.6 Hōʻuluʻulu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
14 ʻO ka puhi ʻana i ka firmware a me ka hoʻāʻo ʻana no ka hana nui
399
14.1 Ke ahi ʻana i ka firmware ma ka hana nui. . . . . . . . . . . . . . . . . . . . . . 399
14.1.1 Ka wehewehe ʻana i nā ʻāpana ʻikepili. . . . . . . . . . . . . . . . . . . . . . . . . . 399
14.1.2 Ke puhi ʻana i nā lako paʻa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
14.2 ʻO ka hoʻāʻo ʻana i ka hana nui. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
14.3 Hoʻomaʻamaʻa: Mass Production Data ma Smart Light Project. . . . . . . . . . . . . 404
14.4 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
15 ESP Insights: Ka Papa Hoʻokele mamao
405
15.1 Introduction to ESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
15.2 Hoʻomaka me ka ESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . 409
15.2.1 Hoʻomaka me ka ESP Insights ma ka papahana esp-insights. . . . . . 409
15.2.2 Holo Example i ka esp-insights Project. . . . . . . . . . . . . . . 411
15.2.3 Hōʻike i ka ʻike Coredump. . . . . . . . . . . . . . . . . . . . . 411
15.2.4 Hoʻopilikino i nā moʻolelo o ka hoihoi . . . . . . . . . . . . . . . . . . . . . . . . 412
15.2.5 Hōʻike i ke kumu hoʻomaka hou. . . . . . . . . . . . . . . . . . . . . . . . . 413
15.2.6 Hōʻike i nā ana maʻamau. . . . . . . . . . . . . . . . . . . . . . . . . 413
15.3 Hoʻomaʻamaʻa: Ke hoʻohana ʻana i ka ESP Insights i ka papahana Smart Light. . . . . . . . . . . . . . . 416
15.4 Hōʻuluʻulu manaʻo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Hoʻolauna
ʻO ESP32-C3 kahi Wi-Fi hoʻokahi a me Bluetooth 5 (LE) microcontroller SoC, e pili ana i ka hoʻolālā open-source RISC-V. Hoʻopiʻi ia i ke kaulike kūpono o ka mana, nā mana I/O, a me ka palekana, no laila e hāʻawi ana i ka hopena maikaʻi loa no nā mea pili. No ka hōʻike ʻana i nā noi like ʻole o ka ʻohana ESP32-C3, e alakaʻi kēia puke e Espressif iā ʻoe i kahi huakaʻi hoihoi ma AIoT, e hoʻomaka ana mai nā kumu kumu o ka hoʻomohala ʻana i ka papahana IoT a me ka hoʻonohonoho ʻana i ke kaiapuni a hiki i ka ex.amples. ʻO nā mokuna ʻehā mua e kamaʻilio e pili ana iā IoT, ESP RainMaker a me ESP-IDF. Mokuna 5 a me 6 pōkole e pili ana i ka hoʻolālā ʻenehana a me ka hoʻomohala ʻana i nā mea hoʻokele. Ke holomua nei ʻoe, e ʻike ʻoe pehea e hoʻonohonoho ai i kāu papahana ma o nā pūnaewele Wi-Fi a me nā polokalamu kelepona. ʻO ka hope, e aʻo ʻoe i ka hoʻomaikaʻi ʻana i kāu papahana a hoʻokomo i loko o ka hana nui.
Inā he ʻenekinia ʻoe ma nā kahua pili, he mea hoʻolālā polokalamu, kumu, haumāna, a i ʻole kekahi mea hoihoi i IoT, nou kēia puke.
Hiki iā ʻoe ke hoʻoiho i ke code exampi hoʻohana ʻia ma kēia puke mai ka pūnaewele o Espressif ma GitHub. No ka ʻike hou loa e pili ana i ka hoʻomohala ʻana o IoT, e ʻoluʻolu e hahai i kā mākou moʻokāki mana.
Olelo mua
He Ao Hoikeike
Ke holo nei i ka nalu o ka Pūnaewele, ua hana ʻo Internet of Things (IoT) i kāna hoʻomaka nui e lilo i ʻano hou o ka ʻoihana i ka hoʻokele waiwai. No ka hoʻokokoke ʻana i ka ʻenehana i ka lehulehu, hana ʻo Espressif Systems no ka ʻike e hiki i nā mea hoʻomohala mai nā ʻano āpau o ke ola ke hoʻohana iā IoT e hoʻoponopono i kekahi o nā pilikia koʻikoʻi o ko mākou manawa. ʻO kahi honua o "Intelligent Network of All Things" ka mea a mākou e manaʻo nei mai ka wā e hiki mai ana.
ʻO ka hoʻolālā ʻana i kā mākou chips ponoʻī he mea koʻikoʻi o ia ʻike. He marathon ia, e koi ana i ka holomua mau i nā palena ʻenehana. Mai ka "Game Changer" ESP8266 a i ka ESP32 series e hoʻohui ana i ka Wi-Fi a me Bluetoothr (LE), a ukali ʻia e ESP32-S3 i hoʻolako ʻia e AI acceleration, ʻaʻole hoʻōki ʻo Espressif i ka noiʻi ʻana a me ka hoʻomohala ʻana i nā huahana no nā hoʻonā AIoT. Me kā mākou lako polokalamu open-source, e like me ka IoT Development Framework ESP-IDF, Mesh Development Framework ESP-MDF, a me Device Connectivity Platform ESP RainMaker, ua hana mākou i kahi papa hana kūʻokoʻa no ke kūkulu ʻana i nā noi AIoT.
Ma Iulai 2022, ua ʻoi aku ka nui o ka hoʻouna ʻana o nā chipsets IoT Espressif ma mua o 800 miliona, e alakaʻi ana i ka mākeke Wi-Fi MCU a me ka mana o ka nui o nā mea pili i ka honua. ʻO ka ʻimi ʻana i ka maikaʻi e hana i kēlā me kēia huahana Espressif i mea koʻikoʻi nui no kona kiʻekiʻe kiʻekiʻe o ka hoʻohui ʻana a me ke kumukūʻai kūpono. ʻO ka hoʻokuʻu ʻana o ESP32-C3 e hōʻailona i kahi mea nui o ka ʻenehana hoʻomohala ponoʻī ʻo Espressif. He hoʻokahi-core, 32-bit, RISC-V-based MCU me 400KB o SRAM, hiki ke holo ma 160MHz. Ua hoʻohui ʻia ʻo 2.4 GHz Wi-Fi a me Bluetooth 5 (LE) me kahi kākoʻo lōʻihi. Hāʻawi ia i kahi kaulike maikaʻi o ka mana, nā mana I/O, a me ka palekana, no laila e hāʻawi ana i ka hopena maikaʻi loa no nā mea pili. Ma muli o ia ikaika ESP32-C3, ua manaʻo ʻia kēia puke e kōkua i ka poʻe heluhelu e hoʻomaopopo i ka ʻike pili pili IoT me nā kiʻi kikoʻī a me nā ex hana.amples.
No ke aha mākou i kākau ai i kēia puke?
ʻOi aku ʻo Espressif Systems ma mua o kahi hui semiconductor. ʻO ia hoʻi kahi hui platform IoT, e hoʻoikaika mau ana i nā holomua a me nā mea hou i ke kahua o ka ʻenehana. I ka manawa like, ua wehe ʻo Espressif i kāna ʻōnaehana hana ponoʻī a me ka ʻōnaehana polokalamu me ke kaiāulu, e hana ana i kahi kaiaola kūʻokoʻa. Hoʻomohala ikaika nā ʻenekinia, nā mea hana, a me nā mea ʻenehana i nā polokalamu polokalamu hou e pili ana i nā huahana a Espressif, kamaʻilio manuahi, a kaʻana like i kā lākou ʻike. Hiki iā ʻoe ke ʻike i nā manaʻo hoihoi o nā mea hoʻomohala ma nā kahua like ʻole i nā manawa a pau, e like me YouTube a me GitHub. ʻO ka kaulana o nā huahana a Espressif ua hoʻoulu i ka nui o nā mea kākau i hana ma luna o 100 mau puke e pili ana i nā chipsets Espressif, ma nā ʻōlelo he ʻumi, me ka ʻōlelo Pelekania, Kina, Kelemānia, Palani, a me Iapana.
ʻO ia ke kākoʻo a me ka hilinaʻi o nā hoa kaiāulu e paipai nei i ka hoʻomau mau ʻana o Espressif. "Hoʻoikaika mākou e hana i kā mākou chips, nā ʻōnaehana hana, nā frameworks, nā hoʻonā, Cloud, nā hana ʻoihana, nā mea hana, nā palapala, nā palapala, nā manaʻo, a me nā mea ʻē aʻe, e pili ana i nā pane e pono ai nā kānaka i nā pilikia koʻikoʻi o ke ola o kēia wā. ʻO kēia ka makemake kiʻekiʻe loa o Espressif a me ke panana pono. wahi a Mr. Teo Swee Ann, ka mea hoʻokumu a me ka Luna Nui o Espressif.
Hoʻohanohano ʻo Espressif i ka heluhelu a me nā manaʻo. Ke hoʻomau nei ka hoʻomaikaʻi ʻana o ka ʻenehana IoT i nā koi kiʻekiʻe ma luna o nā ʻenekinia, pehea mākou e kōkua ai i nā poʻe hou aʻe e hoʻopaʻa wikiwiki i nā chips IoT, nā ʻōnaehana hana, nā ʻōnaehana polokalamu, nā polokalamu noi a me nā huahana lawelawe kapua? E like me ka ʻōlelo, ʻoi aku ka maikaʻi o ke aʻo ʻana i ke kanaka i ka lawaiʻa ma mua o ka hāʻawi ʻana iā ia i ka iʻa. I loko o kahi hālāwai noʻonoʻo, ua manaʻo mākou e hiki iā mākou ke kākau i kahi puke e hoʻonohonoho pono i ka ʻike nui o ka hoʻomohala ʻana o IoT. Ua paʻi mākou, hōʻiliʻili koke i kahi pūʻulu o nā ʻenekinia kahiko, a hui pū i ka ʻike o ka hui ʻenehana i ka hoʻonohonoho hoʻopili ʻana, lako lako IoT a me ka hoʻomohala ʻana i nā polokalamu, nā mea a pau i hāʻawi i ka paʻi ʻana i kēia puke. Ma ke kaʻina hana o ke kākau ʻana, ua hoʻāʻo mākou i kā mākou mea maikaʻi loa e kū pono a pololei, wehe ʻia i ka niu, a hoʻohana i nā ʻōlelo pōkole e haʻi i ka paʻakikī a me ka nani o ka Pūnaewele o nā Mea. Ua hōʻuluʻulu maikaʻi mākou i nā nīnau maʻamau, e pili ana i nā manaʻo a me nā manaʻo o ke kaiāulu, i mea e pane maopopo ai i nā nīnau i loaʻa i ke kaʻina hana hoʻomohala, a hāʻawi i nā alakaʻi hoʻomohala pono IoT no nā ʻenehana kūpono a me nā mea hoʻoholo.
Hoʻolālā Buke
Lawe kēia puke i kahi hiʻohiʻona ʻenehana a wehewehe i ka ʻike e pono ai no ka hoʻomohala ʻana i ka papahana IoT i kēlā me kēia pae. He ʻehā ʻāpana ia, penei:
· Hoʻomākaukau (Mokuna 1): Hōʻike kēia ʻāpana i ka hoʻolālā ʻana o IoT, ka hoʻolālā papahana IoT maʻamau, ka ESP RainMakerr cloud platform, a me ke kaiapuni hoʻomohala ESP-IDF, i mea e hoʻokumu ai i ke kahua paʻa no ka hoʻomohala ʻana i ka papahana IoT.
· Hoʻomohala Lako a me Keaukaha (Mokuna 5): Ma muli o ka chipset ESP6-C32, wehewehe kēia ʻāpana i ka ʻōnaehana haʻahaʻa haʻahaʻa a me ka hoʻomohala ʻana o ka mea hoʻokele, a hoʻokō i ka mana o ka dimming, ka māka kala, a me ke kamaʻilio uila.
· Hoʻokaʻaʻike ʻole a me ka Mana Mana (Mokuna 7): wehewehe kēia ʻāpana i ka hoʻonohonoho hoʻonohonoho Wi-Fi naʻauao e pili ana i ka chip ESP11-C32, nā kuʻina kūloko a me ke ao, a me ka mana kūloko & mamao o nā mea hana. Hāʻawi pū ia i nā papahana no ka hoʻomohala ʻana i nā polokalamu kelepona, hoʻonui firmware, a me ka hoʻokele mana.
· Optimization a me Mass Production (Mokuna 12-15): Ua manaʻo ʻia kēia ʻāpana no nā noi IoT kiʻekiʻe, e kālele ana i ka optimization o nā huahana i ka hoʻokele mana, ka mana haʻahaʻa haʻahaʻa, a me ka palekana i hoʻonui ʻia. Hoʻokomo pū ia i ka puhi ʻana i ka firmware a me ka hoʻāʻo ʻana i ka hana nui, a pehea e ʻike ai i ke kūlana holo a me nā lāʻau o ka polokalamu firmware ma o ka paepae nānā mamao ESP Insights.
E pili ana i ka Code Source
Hiki i nā mea heluhelu ke holo i ka exampnā polokalamu i loko o kēia puke, ma ka hoʻokomo lima ʻana i ke code a i ʻole ka hoʻohana ʻana i ke code kumu e hele pū me ka puke. Hoʻoikaika mākou i ka hui ʻana o ke kumumanaʻo a me ka hoʻomaʻamaʻa, a no laila hoʻonohonoho i kahi ʻāpana Hoʻomaʻamaʻa e pili ana i ka papahana Smart Light ma kahi kokoke i kēlā me kēia mokuna. Ua wehe ʻia nā code a pau. Hoʻokipa ʻia ka poʻe heluhelu e hoʻoiho i ka code kumu a kūkākūkā iā ia ma nā ʻāpana e pili ana i kēia puke ma GitHub a me kā mākou hui kūhelu esp32.com. Aia ke code open source o kēia puke i nā ʻōlelo o Apache License 2.0.
Palapala Kakau
Hoʻopuka ʻia kēia puke e Espressif Systems a ua kākau ʻia e nā ʻenekini kiʻekiʻe o ka hui. He kūpono ia no nā luna a me nā limahana R&D ma nā ʻoihana pili IoT, nā kumu a me nā haumāna o nā mea nui e pili ana, a me nā mea hoihoi i ke kahua o ka Internet of Things. Manaʻolana mākou e lilo kēia puke ma ke ʻano he puke hana, he kuhikuhi, a me kahi puke moe, e like me ke kumu aʻo maikaʻi a me ka hoaaloha.
ʻOiai mākou e hōʻuluʻulu nei i kēia puke, ua ʻōlelo mākou i kekahi mau hopena noiʻi kūpono o ka poʻe loea, nā loea, a me nā ʻenehana ma ka home a me nā ʻāina ʻē, a ua hana mākou i ka maikaʻi loa e haʻi iā lākou e like me nā loina hoʻonaʻauao. Eia nō naʻe, ʻaʻole hiki ke ʻalo ʻia he mau hemahema, no laila ke makemake nei mākou e hōʻike i ko mākou mahalo nui a me ka mahalo i nā mea kākau kūpono. Eia kekahi, ua ʻōlelo mākou i ka ʻike mai ka Pūnaewele, no laila makemake mākou e hoʻomaikaʻi i nā mea kākau kumu a me nā mea hoʻopuka a kala mai ʻaʻole hiki iā mākou ke kuhikuhi i ke kumu o kēlā me kēia ʻāpana o ka ʻike.
I mea e hana ai i puke o ke kūlana kiʻekiʻe, ua hoʻonohonoho mākou i nā pōʻai o nā kūkākūkā kūloko, a aʻo mai nā manaʻo a me nā manaʻo o ka poʻe heluhelu hoʻokolokolo a me nā mea hoʻoponopono hoʻopuka. Ma ʻaneʻi, makemake mākou e hoʻomaikaʻi hou iā ʻoe no kāu kōkua i kōkua i nā mea āpau i kēia hana kūleʻa.
ʻO ka mea hope, akā ʻo ka mea nui loa, mahalo i nā poʻe a pau ma Espressif nāna i hana ikaika no ka hānau ʻana a me ka hoʻolaha ʻana o kā mākou huahana.
ʻO ka hoʻomohala ʻana i nā papahana IoT e pili ana i ka ʻike ākea. Hoʻopili ʻia i ka lōʻihi o ka puke, a me ka pae a me ka ʻike o ka mea kākau, ʻaʻole hiki ke pale ʻia nā haʻalele. No laila, ke noi ʻoluʻolu nei mākou i ka poʻe akamai a me ka poʻe heluhelu e hoʻohewa a hoʻoponopono i kā mākou mau hewa. Inā he mau manaʻo kāu no kēia puke, e ʻoluʻolu e kelepona mai iā mākou ma book@espressif.com. Ke kali nei mākou i kāu manaʻo.
Pehea e hoʻohana ai i kēia puke?
Ua wehe ʻia ke code o nā papahana ma kēia puke. Hiki iā ʻoe ke hoʻoiho iā ia mai kā mākou waihona GitHub a kaʻana like i kou mau manaʻo a me nā nīnau ma kā mākou hui kūhelu. GitHub: https://github.com/espressif/book-esp32c3-iot-projects Forum: https://www.esp32.com/bookc3 Ma loko o ka puke, aia nā ʻāpana i hōʻike ʻia ma lalo nei.
Source code I loko o kēia puke, hoʻoikaika mākou i ka hui ʻana o ke kumumanaʻo a me ka hoʻomaʻamaʻa, a pēlā e hoʻonohonoho ai i kahi ʻāpana Hoʻomaʻamaʻa e pili ana i ka papahana Smart Light ma kahi kokoke i kēlā me kēia mokuna. E kaha ʻia nā ʻanuʻu kūpono a me ka ʻaoʻao kumu ma waena o ʻelua laina e hoʻomaka ana me ka tag Kumu kumu.
NĀ MANAʻO/NĀ MANAʻO Ma laila ʻoe e ʻike ai i kekahi ʻike koʻikoʻi a me ka hoʻomanaʻo ʻana no ka hoʻopau ʻana i kāu polokalamu. E kaha ʻia lākou ma waena o ʻelua laina mānoanoa e hoʻomaka me ka tag MAKEMAKE paha.
Hoʻokō ʻia ka hapa nui o nā kauoha i loko o kēia puke ma lalo o Linux, i koi ʻia e ke ʻano "$". Inā makemake ke kauoha i nā pono superuser e hoʻokō, e hoʻololi ʻia ka wikiwiki e "#". ʻO ke kauoha kauoha ma nā ʻōnaehana Mac ʻo "%", e like me ka hoʻohana ʻia ma ka Pauku 4.2.3 Ke hoʻokomo ʻana iā ESP-IDF ma Mac.
E paʻi ʻia ka kikokikona kino o kēia puke ma ka Charter, ʻoiai ke code examples, ʻāpana, hana, hoʻololi, code file Aia nā inoa, nā papa kuhikuhi code, a me nā kaula i Courier New.
ʻO nā kauoha a i ʻole nā kikokikona e pono e hoʻokomo ʻia e ka mea hoʻohana, a me nā kauoha i hiki ke hoʻokomo ʻia ma ke kaomi ʻana i ke kī "Enter" e paʻi ʻia ma ka Courier New bold. E hōʻike ʻia nā lāʻau a me nā poloka code i nā pahu polū māmā.
Example:
ʻO ka lua, e hoʻohana i ka esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py e hana i ka NVS partition binary file ma ka hale hoʻomohala me kēia kauoha:
$ python $IDF PATH/'āpana/nvs flash/nvs partition generator/nvs partition gen.py –input mass prod.csv –output mass prod.bin –size NVS PARTITION SIZE
Mokuna 1
Hoʻolauna
i
IoT
I ka pau ʻana o ke kenekulia 20, me ka piʻi ʻana o nā ʻenehana kamepiula a me nā ʻenehana kamaʻilio, ua hoʻohui koke ʻia ka Internet i loko o ke ola o nā kānaka. Ke hoʻomau nei ka ʻenehana pūnaewele i ka ulu ʻana, ua hānau ʻia ka manaʻo o Internet of Things (IoT). ʻO ka ʻōlelo maoli, ʻo IoT kahi Internet kahi e pili ai nā mea. ʻOiai ua uhaki ka pūnaewele mua i nā palena o ka manawa a me ka manawa a hoʻokaʻawale i ka mamao ma waena o "kanaka a me ke kanaka", hana ʻo IoT i nā "mea" i mea nui, e hoʻopili ana i nā "poʻe" a me nā "mea". I ka wā e hiki mai ana, ua hoʻonohonoho ʻia ʻo IoT e lilo i mea ikaika o ka ʻoihana ʻike.
No laila, he aha ka Internet of Things?
He mea paʻakikī ke wehewehe pololei i ka Pūnaewele o nā Mea, no ka mea, e ulu mau ana kona manaʻo a me ka laulā. I ka makahiki 1995, ua hāpai mua ʻo Bill Gates i ka manaʻo o IoT ma kāna puke ʻo The Road Ahead. ʻO ka waiho wale ʻana, hiki iā IoT ke hoʻololi i nā ʻike me kekahi ma o ka Pūnaewele. ʻO kāna pahuhopu nui ka hoʻokumu ʻana i kahi "Internet of Everything". He wehewehe mua kēia o IoT, a me ka noʻonoʻo o ka ʻenehana e hiki mai ana. He kanakolu mau makahiki ma hope mai, me ka ulu wikiwiki ʻana o ka hoʻokele waiwai a me ka ʻenehana, hiki mai ka manaʻo. Mai nā polokalamu akamai, nā hale akamai, nā kūlanakauhale akamai, ka Internet of Vehicles a me nā mea hiki ke hoʻohana ʻia, i ka "metaverse" i kākoʻo ʻia e nā ʻenehana IoT, e puka mau ana nā manaʻo hou. Ma kēia mokuna, e hoʻomaka mākou me ka wehewehe ʻana i ka hoʻolālā ʻana o ka Internet of Things, a laila hoʻolauna i ka noi IoT maʻamau, ka home akamai, i mea e kōkua ai iā ʻoe e loaʻa ka ʻike maopopo o IoT.
1.1 Hoʻolālā o IoT
Aia ka Internet of Things i nā ʻenehana he nui i loaʻa nā pono noi like ʻole a me nā ʻano i nā ʻoihana like ʻole. I mea e hoʻokaʻawale ai i ka hoʻolālā, nā ʻenehana koʻikoʻi a me nā hiʻohiʻona noi o IoT, pono e hoʻokumu i kahi hoʻolālā hoʻohui a me kahi ʻōnaehana ʻenehana maʻamau. I loko o kēia puke, ua māhele wale ʻia ka hoʻolālā ʻana o IoT i ʻehā mau ʻāpana: ka ʻike a me ka papa mana, ka papa pūnaewele, ka papa kahua, a me ka papa noi.
ʻO ka Manaʻo a me ka Mana Mana Ma ke ʻano he kumu nui loa o ka hoʻolālā IoT, ʻo ka ʻike a me ka papa mana ke kumu e ʻike ai i ka ʻike piha o IoT. ʻO kāna hana nui ka hōʻiliʻili, ʻike a mālama i ka ʻike. Aia ia i nā ʻano mea like ʻole me ka hiki ke ʻike,
3
ka ʻike, ka hoʻomalu a me ka hoʻokō ʻana, a nona ke kuleana no ka hoʻihoʻi ʻana a me ka nānā ʻana i nā ʻikepili e like me nā waiwai waiwai, nā ʻano hana, a me ke kūlana o ka mea hana. Ma kēia ala, ʻike ʻo IoT i ka honua kino maoli. Ma waho aʻe, hiki i ka papa ke hoʻomalu i ke kūlana o ka hāmeʻa.
ʻO nā mea maʻamau o kēia papa he mau mea ʻike like ʻole, kahi mea nui i ka hōʻiliʻili ʻike a me ka ʻike. ʻO nā mea ʻike e like me nā mea ʻike kanaka, e like me nā mea ʻike kiʻi kiʻi e like me ka ʻike, nā mea ʻike leo i ka lohe, nā mea ʻike kinoea i ka honi, a me nā mea ʻike paʻi a me ka wela i ka hoʻopā ʻana. Me kēia mau mea "sensory organs", lilo nā mea i "ola" a hiki i ka ʻike naʻauao, ʻike a me ka hoʻoponopono ʻana i ke ao kino.
ʻO ka Layer Network ʻO ka hana nui o ka papa pūnaewele ʻo ia ka hoʻouna ʻana i ka ʻike, me ka ʻikepili i loaʻa mai ka ʻike a me ka papa hoʻomalu i ka pahuhopu i kuhikuhi ʻia, a me nā kauoha i hoʻopuka ʻia mai ka papa noi hoʻi i ka ʻike a me ka papa mana. He alahaka kamaʻilio koʻikoʻi ia e pili ana i nā papa like ʻole o kahi ʻōnaehana IoT. No ka hoʻokumu ʻana i kahi kumu hoʻohālike kumu o ka Internet of Things, ʻelua mau ʻanuʻu e hoʻohui i nā mea i loko o kahi pūnaewele: ke komo i ka Pūnaewele a me ka hoʻouna ʻana ma o ka Pūnaewele.
Hiki ke komo i ka Pūnaewele Pūnaewele i ka pilina ma waena o ke kanaka a me ke kanaka, akā ʻaʻole hiki ke hoʻokomo i nā mea i loko o ka ʻohana nui. Ma mua o ka hiki ʻana mai o IoT, ʻaʻole i "hiki i ka network". Mahalo i ka hoʻomau mau ʻana o ka ʻenehana, hoʻokele ʻo IoT e hoʻopili i nā mea i ka Pūnaewele, no laila e ʻike ai i ka pilina ma waena o "nā kānaka a me nā mea", a me "nā mea a me nā mea". ʻElua mau ala maʻamau e hoʻokō ai i ka pili pūnaewele: ke komo pūnaewele uea a me ke komo pūnaewele uea.
ʻO nā ʻano o ka hoʻohana ʻana i ka pūnaewele uea e pili ana i ka Ethernet, ke kamaʻilio serial (e laʻa, RS-232, RS-485) a me USB, ʻoiai ke komo ʻana o ka pūnaewele uea e pili ana i ke kamaʻilio uea ʻole, hiki ke hoʻokaʻawale hou ʻia i ke kamaʻilio uea pōkole a me ke kamaʻilio uea lōʻihi.
ʻO ke kamaʻilio uea ʻole pōkole me ZigBee, Bluetoothr, Wi-Fi, Near-Field Communication (NFC), a me Radio Frequency Identification (RFID). ʻO ke kamaʻilio kelepona lōʻihi e pili ana i ka Enhanced Machine Type Communication (eMTC), LoRa, Narrow Band Internet of Things (NB-IoT), 2G, 3G, 4G, 5G, etc.
Ka hoʻouna ʻana ma o ka Pūnaewele ʻO nā ala like ʻole o ka ʻike pūnaewele e alakaʻi i ka loulou hoʻoili kino o ka ʻikepili. ʻO ka mea aʻe e hoʻoholo i ka protocol kamaʻilio e hoʻohana ai e hoʻouna i ka ʻikepili. Ke hoʻohālikelike ʻia me nā kikowaena pūnaewele, ʻoi aku ka liʻiliʻi o ka hapa nui o nā kikowaena IoT i kēia manawa
4 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
nā kumuwaiwai i loaʻa, e like me ka hana ʻana i ka hana, ka nui o ka mālama ʻana, ka nui o ka pūnaewele, a me nā mea ʻē aʻe, no laila pono e koho i kahi protocol kamaʻilio e noho ana i nā kumuwaiwai liʻiliʻi i nā noi IoT. ʻElua mau protocol kamaʻilio i hoʻohana nui ʻia i kēia lā: Message Queuing Telemetry Transport (MQTT) a me Constrained Application Protocol (CoAP).
Layer Layer ʻO ka papa paepae e pili ana i nā paepae ao IoT. Ke hoʻopili ʻia nā kikowaena IoT āpau, pono e hōʻuluʻulu ʻia kā lākou ʻikepili ma kahi paepae ao IoT e helu ʻia a mālama ʻia. Kākoʻo nui ka papa hana i nā noi IoT i ka hoʻomaʻamaʻa ʻana i ke komo ʻana a me ka hoʻokele ʻana i nā polokalamu nui. Hoʻopili ʻo ia i nā terminal IoT i ka paepae ao, hōʻiliʻili i ka ʻikepili terminal, a hoʻopuka i nā kauoha i nā terminals, i mea e hoʻokō ai i ka mana mamao. Ma ke ʻano he lawelawe waena no ka hāʻawi ʻana i nā mea hana i nā noi ʻoihana, ke pāʻani nei ka papa honua i kahi pilina pili i ka hoʻolālā IoT holoʻokoʻa, e lawe ana i ka loiloi ʻoihana abstract a me ke kumu hoʻohālike kumu, ʻaʻole hiki ke hoʻomaopopo wale i ke komo wikiwiki ʻana o nā hāmeʻa, akā hāʻawi pū kekahi i nā mana modular ikaika. e hoʻokō i nā pono like ʻole i nā hiʻohiʻona noiʻi ʻoihana. Hoʻokomo nui ʻia ka papa honua i nā modula hana e like me ke komo ʻana o ka mea hana, ka hoʻokele ʻana o ka hāmeʻa, ka hoʻokele palekana, ke kamaʻilio memo, ka nānā ʻana a me ka mālama ʻana, a me nā noi ʻikepili.
· Loaʻa i ka hāmeʻa, ʻike i ka pilina a me ke kamaʻilio ma waena o nā terminals a me nā paepae ao IoT.
· Hoʻokele polokalamu, me nā hana e like me ka hana ʻana i nā mea hana, ka mālama ʻana i nā mea hana, ka hoʻololi ʻana i ka ʻikepili, ka hoʻonohonoho ʻikepili, a me ka hāʻawi ʻana i nā mea hana.
· Hoʻomalu palekana, e hōʻoia ana i ka palekana o ka lawe ʻana i ka ʻikepili IoT mai nā hiʻohiʻona o ka hōʻoia palekana a me ka palekana kamaʻilio.
· Ke kamaʻilio memo, me ʻekolu mau kuhikuhi hoʻouna, ʻo ia hoʻi, e hoʻouna ka terminal i ka ʻikepili i ka IoT cloud platform, ka IoT cloud platform e hoʻouna i ka ʻikepili i ka ʻaoʻao kikowaena a i ʻole nā mea ʻē aʻe IoT cloud platforms, a ʻo ka ʻaoʻao kikowaena e hoʻokele mamao i nā mea IoT.
· Ka nānā ʻana i ka O&M, e pili ana i ka nānā ʻana a me ka hōʻoia ʻana, ka hoʻomaikaʻi ʻana i ka firmware, ka debugging pūnaewele, nā lawelawe log, etc.
· Nā noi ʻikepili, e pili ana i ka mālama ʻana, ka nānā ʻana a me ka noi ʻana o ka ʻikepili.
Layer Application Hoʻohana ka papa noiʻi i ka ʻikepili mai ka papa kuhikuhi no ka mālama ʻana i ka noi, kānana a me ka hana ʻana iā lākou me nā mea hana e like me ka ʻikepili a me ka polokalamu loiloi. Hiki ke hoʻohana ʻia ka ʻikepili i loaʻa no nā noi IoT honua maoli e like me ka mālama olakino akamai, ka mahiʻai akamai, nā hale akamai, a me nā kūlanakauhale akamai.
ʻOiaʻiʻo, hiki ke hoʻokaʻawale ʻia ka hoʻolālā ʻana o IoT i nā ʻāpana ʻē aʻe, akā ʻaʻohe mea e pili ana i ka nui o nā papa o ia mea, e mau ana ke kumu kumu. Ke aʻo ʻana
Mokuna 1. Introduction to IoT 5
e pili ana i ka hoʻolālā o IoT e kōkua i ka hoʻonui ʻana i ko mākou ʻike ʻana i nā ʻenehana IoT a kūkulu i nā papahana IoT holoʻokoʻa.
1.2 Hoʻohana IoT i nā hale akamai
Ua komo ʻo IoT i nā ʻano like ʻole o ke ola, a ʻo ka noi pili pili loa IoT iā mākou ʻo ka home akamai. Nui nā mea hana kuʻuna i hoʻolako ʻia me hoʻokahi a ʻoi aku paha nā mea IoT, a ua hoʻolālā ʻia nā hale hou i kūkulu ʻia me nā ʻenehana IoT mai ka hoʻomaka. Hōʻike ke kiʻi 1.1 i kekahi mau mea hana maʻamau home smart.
Kiʻi 1.1. Nā polokalamu home akamai maʻamau Hiki ke hoʻokaʻawale ʻia ka hoʻomohala ʻana o ka home akamai i nā huahana akamai stage, ka pilina pili stage a naauao stage, e like me ka hoike ana ma ke Kii 1.2.
Kiʻi 1.2. Hoʻomohala stage o ka home akamai 6 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
ʻO ka s muatage pili ana i nā huahana akamai. ʻOkoʻa mai nā hale kuʻuna, ma nā hale akamai, loaʻa nā mea IoT i nā hōʻailona me nā mea ʻike, a ua hoʻopili ʻia ma o nā ʻenehana kamaʻilio uila e like me Wi-Fi, Bluetooth LE, a me ZigBee. Hiki i nā mea hoʻohana ke hoʻomalu i nā huahana akamai ma nā ʻano like ʻole, e like me nā polokalamu kelepona, nā mea kōkua leo, ka mana leo akamai, a pēlā aku.tage kālele ana i ka pilina pili. Ma keia stage, ʻaʻole noʻonoʻo nā mea hoʻomohala i ka hoʻomalu ʻana i ka huahana akamai hoʻokahi, akā e hoʻopili ana i ʻelua a ʻoi aku nā huahana akamai, e hoʻomaʻamaʻa i kekahi ʻano, a ma hope e hana i kahi ʻano hiʻohiʻona maʻamau. No exampi ka wā e paʻi ai ka mea hoʻohana i kekahi pihi mode scene, e hoʻololi ʻia nā kukui, nā pale, a me nā ea ea i nā preset. ʻOiaʻiʻo, aia ka mea e pono ai e hoʻonohonoho koke ʻia ka logic linkage, me nā kūlana trigger a me nā hana hoʻokō. E noʻonoʻo e hoʻomaka ke ʻano hoʻomehana ea i ka wā e hāʻule ai ka mahana o loko ma lalo o 10 ° C; i ka hola 7 o ke kakahiaka, hoʻokani ʻia ke mele e hoʻāla ai i ka mea hoʻohana, wehe ʻia nā pale akamai, a hoʻomaka ka kuke laiki a i ʻole ka mea hoʻoheheʻe berena ma kahi kumu akamai; i ke ala ʻana o ka mea hoʻohana a hoʻopau i ka holoi ʻana, ua hāʻawi mua ʻia ka ʻaina kakahiaka, i ʻole e hoʻopaneʻe i ka hele ʻana i ka hana. Ua maʻalahi ko mākou ola! ʻO ke kolu stage hele i ke akamai stage. E like me ka loaʻa ʻana o nā polokalamu home akamai, pēlā nō nā ʻano ʻikepili i hana ʻia. Me ke kōkua o ka hoʻopili ʻana i ke ao, ka ʻikepili nui a me ka naʻauao hana, ua like ia me ka "lolo akamai" i kanu ʻia i loko o nā hale akamai, ʻaʻole koi hou i nā kauoha pinepine mai ka mea hoʻohana. ʻOhi lākou i ka ʻikepili mai nā pilina mua a aʻo i nā ʻano hana a me nā makemake o ka mea hoʻohana, i mea e hoʻomaʻamaʻa ai i nā hana, me ka hāʻawi ʻana i nā ʻōlelo aʻoaʻo no ka hoʻoholo ʻana. I kēia manawa, aia ka hapa nui o nā hale akamai ma ke kahua interconnection stage. Ke piʻi nei ka helu komo a me ka naʻauao o nā huahana akamai, ua wehe ʻia nā pale ma waena o nā protocol kamaʻilio. I ka wā e hiki mai ana, lilo nā hale akamai i "akamai" maoli, e like me ka ʻōnaehana AI Jarvis i Iron Man, ʻaʻole hiki ke kōkua wale i ka mea hoʻohana e hoʻokele i nā ʻano mea like ʻole, mālama i nā hana o kēlā me kēia lā, akā loaʻa pū kekahi i ka mana super computing a me ka mana noʻonoʻo. I ka naauao stage, e loaʻa i nā kānaka nā lawelawe ʻoi aku ka maikaʻi ma ka nui a me ka maikaʻi.
Mokuna 1. Introduction to IoT 7
8 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Mokuna Introduction and Practice of 2 IoT Projects
Ma ka Mokuna 1, ua hoʻolauna mākou i ka hoʻolālā ʻana o IoT, a me nā kuleana a me nā pilina o ka ʻike a me ka papa hoʻomalu, ka ʻaoʻao pūnaewele, ka papa kahua, a me ka papa noi, a me ka hoʻomohala ʻana i ka home akamai. Eia naʻe, e like me ke aʻo ʻana i ka pena, ʻaʻole lawa ka ʻike ʻana i ka ʻike theoretical. Pono mākou e "hoʻomaʻemaʻe i ko mākou mau lima" e hoʻokō i nā papahana IoT i mea e ʻike maoli ai i ka ʻenehana. Eia hou, ke neʻe ka papahana i ka hana nui stage, pono e noʻonoʻo i nā mea hou aʻe e like me ka pili pūnaewele, ka hoʻonohonoho ʻana, ka launa pū ʻana o IoT cloud platform, ka hoʻokele firmware a me nā mea hou, ka hoʻokele waiwai nui, a me ka hoʻonohonoho palekana. No laila, he aha kā mākou e hoʻolohe ai i ka hoʻomohala ʻana i kahi papahana IoT piha? Ma ka Mokuna 1, ua ʻōlelo mākou ʻo ka home akamai kekahi o nā hiʻohiʻona noiʻi IoT maʻamau, a ʻo nā kukui akamai kekahi o nā mea maʻamau a me nā pono hana, hiki ke hoʻohana ʻia i nā hale, nā hōkele, nā gyms, nā halemai, a pēlā aku. kēia puke, e lawe mākou i ke kūkulu ʻana i kahi papahana māmā akamai i wahi hoʻomaka, wehewehe i kāna mau ʻāpana a me nā hiʻohiʻona, a hāʻawi i ke alakaʻi i ka hoʻomohala ʻana i ka papahana. Manaʻo mākou e hiki iā ʻoe ke huki i nā inferences mai kēia hihia e hana hou i nā noi IoT.
2.1 Hoʻomaka i nā papahana IoT maʻamau
I ka ʻōlelo o ka hoʻomohala ʻana, hiki ke hoʻokaʻawale ʻia nā modules hana maʻamau o nā papahana IoT i ka lako polokalamu a me ka hoʻomohala ʻana i nā lako o nā polokalamu IoT, ka hoʻomohala noiʻi o nā mea kūʻai aku, a me ka hoʻomohala ʻana i ka paepae ao IoT. He mea nui e wehewehe i nā modula hana maʻamau, e wehewehe hou ʻia ma kēia ʻāpana.
2.1.1 Nā Module kumu no nā mea IoT maʻamau
ʻO ka hoʻomohala ʻana i nā lako polokalamu a me nā lako lako o nā mea IoT e pili ana i nā modula kumu: ʻOhi ʻikepili
E like me ka papa lalo o ka hoʻolālā IoT, nā mea IoT o ka ʻike a me ka papa mana e hoʻopili i nā mea ʻike a me nā mea hana ma o kā lākou chips a me nā peripheral e hoʻokō ai i ka hōʻiliʻili ʻikepili a me ka mana hana.
9
Hoʻopaʻa moʻokāki a me ka hoʻonohonoho mua ʻana No ka hapa nui o nā mea IoT, hoʻopau ʻia ka paʻa moʻokāki a me ka hoʻonohonoho mua ʻana i hoʻokahi kaʻina hana, no example, hoʻohui i nā mea me nā mea hoʻohana ma ka hoʻonohonoho ʻana i ka pūnaewele Wi-Fi.
Ka launa pū ʻana me nā paepae ao IoT No ka nānā ʻana a me ka hoʻomalu ʻana i nā mea IoT, pono nō hoʻi e hoʻopili iā lākou i nā paepae ao IoT, i mea e hāʻawi ai i nā kauoha a hōʻike i ke kūlana ma o ka launa pū ʻana ma waena o kekahi.
Ka hoʻomalu ʻana i nā mea hana Ke hoʻopili ʻia me nā paepae ao IoT, hiki i nā mea hana ke kamaʻilio me ke ao a hoʻopaʻa inoa ʻia, hoʻopaʻa ʻia, a hoʻomalu ʻia paha. Hiki i nā mea hoʻohana ke nīnau i ke kūlana huahana a hoʻokō i nā hana ʻē aʻe ma ka polokalamu kelepona ma o IoT cloud platforms a i ʻole nā protocol kamaʻilio kūloko.
Hiki i nā polokalamu IoT ke hoʻonui i ka firmware ma muli o nā pono o nā mea hana. Ma ka loaʻa ʻana o nā kauoha i hoʻouna ʻia e ke ao, e ʻike ʻia ka hoʻonui ʻana i ka firmware a me ka hoʻokele mana. Me kēia hiʻohiʻona hoʻonui firmware, hiki iā ʻoe ke hoʻoikaika mau i nā hana o nā mea IoT, hoʻoponopono i nā hemahema, a hoʻomaikaʻi i ka ʻike mea hoʻohana.
2.1.2 Nā Module kumu o nā noi mea kūʻai aku
ʻO nā noi o nā mea kūʻai aku (e laʻa, nā polokalamu kelepona) e komo nui i nā modula kumu:
Pūnaehana moʻokāki a me ka ʻae ʻia Kākoʻo ia i ka ʻae moʻohelu kālā a me nā mea hana.
Hoʻohana ʻia nā polokalamu kelepona me nā hana hoʻomalu. Hiki i nā mea hoʻohana ke hoʻopili maʻalahi i nā polokalamu IoT, a mālama iā lākou i kēlā me kēia manawa, ma nā wahi āpau ma o nā polokalamu kelepona. I loko o kahi home akamai maoli, hoʻomalu ʻia nā polokalamu ma o nā polokalamu kelepona, ʻaʻole ia e hiki ai i ka hoʻokele naʻauao o nā hāmeʻa, akā mālama pū kekahi i ke kumukūʻai o ke kanaka. No laila, pono ka mana o ka mīkini no nā noi o nā mea kūʻai aku, e like me ka mana o ka mana o ka mea hana, ka mana o ka hiʻona, ka hoʻonohonoho ʻana, ka mana mamao, ka pilina pili, a me nā mea ʻē aʻe. , a me nā mea ʻē aʻe, e ʻoi aku ka ʻoluʻolu a me ka maʻalahi o ka nohona home. Hiki iā lākou ke hoʻokaʻawale i ka ea ea, hoʻopau iā ia ma kahi mamao, hoʻonoho i ke kukui o ke alanui i ka wā e wehe ʻia ai ka puka, a i ʻole e hoʻololi i ke ʻano "keaka" me hoʻokahi pihi.
Hoʻohou nā noi a nā mea kūʻai aku i ke kūlana manawa maoli o nā mea IoT, a hoʻouna i nā mākaʻikaʻi ke hele hewa nā mea hana.
10 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Hiki i nā polokalamu kelepona ma hope o ke kūʻai aku ke hāʻawi aku i nā lawelawe ma hope o ke kūʻai aku no nā huahana, e hoʻoponopono i nā pilikia e pili ana i ka hāʻule ʻana o ka polokalamu IoT a me nā hana ʻenehana i ka manawa kūpono.
Nā hana i hōʻike ʻia No ka hoʻokō ʻana i nā pono o nā mea hoʻohana like ʻole, hiki ke hoʻohui ʻia nā hana ʻē aʻe, e like me Shake, NFC, GPS, a me nā mea ʻē aʻe. nā kauoha e hoʻokō ʻia no kahi mea a i ʻole kahi hiʻohiʻona ma ka lulu ʻana.
2.1.3 Hoʻomaka ʻana i nā Pūnaewele Ao IoT maʻamau
ʻO IoT cloud platform kahi kahua āpau i loko o hoʻokahi e hoʻohui i nā hana e like me ka hoʻokele ʻana i nā hāmeʻa, kamaʻilio palekana ʻikepili, a me ka hoʻokele hoʻolaha. Wahi a kā lākou pūʻulu i manaʻo ʻia a me ka hiki, hiki ke hoʻokaʻawale ʻia nā paepae kapuaʻi IoT i nā paepae kapuaʻi IoT lehulehu (i kapa ʻia ma hope aku ʻo "kapua lehulehu") a me nā paepae kapuaʻi IoT pilikino (i kapa ʻia ʻo "kapua pilikino").
Hōʻike pinepine ʻia ke ao lehulehu i nā paepae ao IoT kaʻana like no nā ʻoihana a i ʻole nā kānaka, hana ʻia a mālama ʻia e nā mea hoʻolako platform, a kaʻana like ma ka Pūnaewele. Hiki iā ia ke manuahi a haʻahaʻa paha, a hāʻawi i nā lawelawe ma ka pūnaewele ākea ākea, e like me Alibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT, a pēlā aku. nā mea hoʻohana hope i lalo e hana i kahi kaulahao waiwai hou a me ka kaiaola.
Kūkulu ʻia ke ao pilikino no ka hoʻohana ʻana i ka ʻoihana wale nō, no laila e hōʻoiaʻiʻo ana i ka mana maikaʻi loa ma luna o ka ʻikepili, palekana, a me ka maikaʻi o ka lawelawe. Hoʻokaʻawale ʻia kāna mau lawelawe a me kāna ʻoihana e nā ʻoihana, a ua hoʻolaʻa pū ʻia nā lako kākoʻo a me nā lako polokalamu i nā mea hoʻohana kikoʻī. Hiki i nā ʻoihana ke hana i nā lawelawe kapuaʻi e hoʻokō i nā pono o kā lākou ʻoihana. I kēia manawa, ua loaʻa mua i kekahi mau mea hana hale akamai i nā kikowaena IoT cloud a hoʻomohala i nā noi home akamai e pili ana iā lākou.
Loaʻa i ke ao lehulehu a me ke ao pilikino ko lākou advan ponoʻītages, e wehewehe ʻia ma hope.
No ka hoʻokō ʻana i ka pilina kamaʻilio, pono e hoʻopau i ka hoʻomohala liʻiliʻi i hoʻopili ʻia ma ka ʻaoʻao o ka hāmeʻa, me nā kikowaena ʻoihana, IoT cloud platforms, a me nā polokalamu kelepona. Ke alo nei i kahi papahana nui, hāʻawi maʻamau ke ao lehulehu i nā pahu hoʻomohala polokalamu no ka ʻaoʻao ʻaoʻao a me nā polokalamu kelepona e wikiwiki i ke kaʻina hana. Hāʻawi ke ao ākea a me ka pilikino i nā lawelawe e pili ana i ka loaʻa ʻana o ka hāmeʻa, ka hoʻokele ʻana i nā hāmeʻa, ke aka o ka hāmeʻa, a me ka hana a me ka mālama ʻana.
Pono e hāʻawi i nā mea hoʻohana ʻo IoT cloud platforms ʻaʻole wale i nā mea hoʻopili no ke komo ʻana o ka polokalamu me ka hoʻohana ʻana i nā protocols
Mokuna 2. Hoʻomaka a me ka hoʻomaʻamaʻa ʻana i nā papahana IoT 11
e like me MQTT, CoAP, HTTPS, a me WebSocket, akā ʻo ka hana hoʻi o ka hōʻoia palekana palekana e ālai i nā mea hana hoʻopunipuni a me ke kānāwai ʻole, e hōʻemi maikaʻi ana i ka pilikia o ka compromised. Kākoʻo pinepine ʻia kēlā hōʻoia i nā ʻano hana like ʻole, no laila, i ka wā i hana nui ʻia nā mea hana, pono e hoʻonohonoho mua i ka palapala hōʻoia e like me ka mīkini hōʻoia i koho ʻia a puhi ʻia i loko o nā mea hana.
ʻO ka hoʻokele polokalamu ʻAʻole hiki i ka hana hoʻokele waiwai i hāʻawi ʻia e IoT cloud platforms ʻaʻole hiki ke kōkua wale i nā mea hana e nānā i ke kūlana hoʻāla a me ke kūlana pūnaewele o kā lākou mau polokalamu i ka manawa maoli, akā e ʻae pū kekahi i nā koho e like me ka hoʻohui / wehe ʻana i nā polokalamu, hoʻihoʻi, hoʻohui / holoi i nā hui, hoʻonui firmware. , a me ka hooponopono mana.
Hiki i nā ʻanuʻu kapuaʻi IoT ke hoʻokumu i kahi mana virtual mau loa (ka pale o nā mea hana) no kēlā me kēia mea, a hiki ke hoʻonohonoho ʻia ke kūlana o ke aka o ka hāmeʻa ma o ka polokalamu kelepona a i ʻole nā mea hana ʻē aʻe ma o nā protocol transmission Internet. Hoʻopaʻa ʻia ka pale o nā hāmeʻa i ke kūlana hou loa i hōʻike ʻia a me ke kūlana i manaʻo ʻia o kēlā me kēia hāmeʻa, a inā paha e hoʻopahemo ana ka hāmeʻa, hiki ke loaʻa ke kūlana ma ke kāhea ʻana i nā API. Hāʻawi ke aka o ke kelepona i nā API i nā manawa a pau, kahi e maʻalahi ai ke kūkulu ʻana i nā polokalamu kelepona e launa pū me nā polokalamu.
ʻO ka hana a me ka mālama ʻana ʻO ka hana O&M he ʻekolu mau ʻano: · Hōʻike i ka ʻike helu helu e pili ana i nā mea IoT a me nā hoʻolaha. · Hiki i ka hoʻokele lāʻau ke kiʻi ʻike e pili ana i ke ʻano o ka hāmeʻa, ke kahe memo i luna / lalo, a me ka ʻike memo. · Kākoʻo ka hoʻopiʻi ʻana i nā hāmeʻa i ka hāʻawi ʻana i nā kauoha, ka hoʻoponopono hoʻonohonoho ʻana, a me ka nānā ʻana i ka pilina ma waena o nā paepae ao IoT a me nā leka uila.
2.2 Hoʻomaʻamaʻa: Papahana Māmā Māmā
Ma hope o ka hoʻomaka ʻana o ke kumumanaʻo i kēlā me kēia mokuna, e ʻike ʻoe i kahi ʻāpana hana e pili ana i ka papahana Smart Light e kōkua iā ʻoe e loaʻa ka ʻike lima. Hoʻokumu ʻia ka papahana ma luna o kā ESP32-C3 chip a me ESP RainMaker IoT Cloud Platform, a uhi ʻia nā lako uila uila i nā huahana māmā akamai, nā polokalamu i hoʻopili ʻia no nā polokalamu akamai e pili ana i ka ESP32C3, nā polokalamu kelepona, a me ka launa pū ʻana o ESP RainMaker.
Source code No ke aʻo maikaʻi a me ka hoʻomohala ʻana i ka ʻike, ua wehe ʻia ka papahana ma kēia puke. Hiki iā ʻoe ke hoʻoiho i ka code kumu mai kā mākou waihona GitHub ma https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
2.2.1 Ka Papahana
ʻO ka papahana Smart Light aia ʻekolu ʻāpana: i. ʻO nā polokalamu kukui akamai e pili ana i ka ESP32-C3, ke kuleana no ka launa pū ʻana me nā paepae ao IoT, a me ka hoʻomalu ʻana i ka hoʻololi, ka ʻōlinolino a me ka mahana kala o ka LED l.amp nā lei. ii. Nā polokalamu kelepona (me nā polokalamu papa e holo ana ma Android a me IOS), kuleana no ka hoʻonohonoho pūnaewele o nā huahana māmā akamai, a me ka nīnau ʻana a me ka mālama ʻana i ko lākou kūlana.
iii. He paepae ao IoT e pili ana i ka ESP RainMaker. No ka maʻalahi, noʻonoʻo mākou i ka IoT cloud platform a me ka server ʻoihana holoʻokoʻa ma kēia puke. E hāʻawi ʻia nā kikoʻī e pili ana i ka ESP RainMaker ma ka Mokuna 3.
Hōʻike ʻia ka pilina ma waena o ka hoʻolālā papahana Smart Light a me ka hoʻolālā ʻana o IoT ma ke Kiʻi 2.1.
Kiʻi 2.1. Hoʻolālā o ka papahana māmā akamai
2.2.2 Hana Hana
Hoʻokaʻawale ʻia e like me ke ʻano, nā hana o kēlā me kēia ʻāpana penei. Nā lako kukui akamai
· Hoʻonohonoho pūnaewele a me ka pilina. · LED PWM mana, e like me ke kuapo, olinolino, kala wela, etc. · Hoʻopili a me ka pahu paʻa o ka Flash. · Hoʻonui i ka firmware a me ka hoʻokele mana.
Mokuna 2. Hoʻomaka a me ka hoʻomaʻamaʻa ʻana i nā papahana IoT 13
Nā polokalamu kelepona · ʻO ka hoʻonohonoho pūnaewele a me ka hoʻopaʻa ʻana i nā hāmeʻa. · Ka hoʻomalu huahana māmā akamai, e like me ka hoʻololi, ka ʻōlinolino, ka wela o ka waihoʻoluʻu, a pēlā aku. · Ka mana kūloko/mamao. · Hoʻopaʻa inoa mea hoʻohana, komo, etc.
ESP RainMaker IoT cloud platform · E ʻae ana i ke komo ʻana o ka polokalamu IoT. · Hāʻawi i nā API hana i hiki ke loaʻa i nā polokalamu kelepona. · Hoʻonui i ka firmware a me ka hoʻokele mana.
2.2.3 Hoʻomākaukau Lako
Inā makemake ʻoe i ka hoʻokō ʻana i ka papahana, pono ʻoe i kēia mau lako: nā kukui akamai, nā kelepona, nā mea ala Wi-Fi, a me kahi kamepiula e kū ana i nā koi hoʻonohonoho o ke kaiapuni hoʻomohala. Nā kukui akamai
ʻO nā kukui akamai he ʻano ʻōpuʻu hou, ʻo kona ʻano like me ka puʻupuʻu incandescent maʻamau. Hoʻokumu ʻia kahi kukui akamai me ka lako mana hoʻoponopono i hoʻopaʻa ʻia, ka module uea (me ka ESP32-C3 i kūkulu ʻia), ka mana LED a me ka matrix LED RGB. Ke hoʻohui ʻia i ka mana, ʻo ka 15 V DC voltage hoʻopuka ma hope o ka capacitor step-down, diode rectification, a me ka hoʻoponopono e hāʻawi i ka ikehu i ka mana LED a me ka matrix LED. Hiki i ka mea hoʻoponopono LED ke hoʻouna maʻalahi i nā pae kiʻekiʻe a haʻahaʻa i kekahi mau manawa, e hoʻololi i ka matrix LED RGB ma waena o ka pani ʻana (nā kukui) a me ka wehe ʻana (ua pio nā kukui), i hiki iā ia ke hoʻokuʻu i ka cyan, melemele, ʻōmaʻomaʻo, poni, uliuli, ʻulaʻula, a kukui keʻokeʻo. ʻO ka module uea ʻole ke kuleana no ka hoʻopili ʻana i ke alalai Wi-Fi, ka loaʻa ʻana a me ka hōʻike ʻana i ke kūlana o nā kukui akamai, a me ka hoʻouna ʻana i nā kauoha e hoʻokele i ka LED.
Kiʻi 2.2. He kukui akamai i hoʻohālikelike ʻia
I ka hooulu mua ana stage, hiki iā ʻoe ke hoʻohālikelike i kahi kukui akamai me ka hoʻohana ʻana i ka papa ESP32-C3DevKitM-1 i pili me RGB LED lamp nā lei (e nānā i ke Kiʻi 2.2). Akā pono ʻoe
14 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
e hoʻomaopopo ʻaʻole kēia wale ke ala e hōʻuluʻulu ai i kahi kukui akamai. ʻO ka hoʻolālā lako o ka papahana i loko o kēia puke aia wale nō kahi module uea (me ka ESP32-C3 i kūkulu ʻia), akā ʻaʻole ia he hoʻolālā lako uila akamai piha. Eia kekahi, hana pū ʻo Espressif i kahi papa hoʻomohala leo ESP32-C3 e pili ana i ka ESP32C3-Lyra no ka hoʻomalu ʻana i nā kukui me ka leo. Loaʻa i ka papa nā pilina no nā microphones a me nā mea haʻiʻōlelo a hiki ke hoʻomalu i nā ʻāpana LED. Hiki ke hoʻohana ʻia no ka hoʻomohala ʻana i nā mea hoʻolaha leo ultra-haʻahaʻa, kiʻekiʻe a me nā ʻāpana māmā. Hōʻike ke kiʻi 2.3 i kahi papa ESP32-C3Lyra i hoʻopili ʻia me kahi kaula o nā kukui LED 40.
Kiʻi 2.3. Hoʻopili ʻia ʻo ESP32-C3-Lyra me kahi ʻāpana o nā kukui LED 40
Smartphones (Android/iOS) ʻO ka papahana Smart Light e pili ana i ka hoʻomohala ʻana i kahi polokalamu kelepona no ka hoʻonohonoho ʻana a me ka hoʻomalu ʻana i nā huahana māmā akamai.
Nā mea ala Wi-Fi Hoʻololi nā mea hoʻokele Wi-Fi i nā hōʻailona pūnaewele uea a me nā hōʻailona pūnaewele paʻa i nā hōʻailona pūnaewele uea, no nā lolouila, smartphones, papa, a me nā mea uila ʻē aʻe e hoʻopili ai i ka pūnaewele. No exampEia naʻe, pono e hoʻopili ʻia ka broadband ma ka home i kahi alalai Wi-Fi no ka hoʻokō ʻana i ka pūnaewele uea o nā mea Wi-Fi. ʻO ka maʻamau protocol mainstream i kākoʻo ʻia e nā mea ala Wi-Fi ʻo IEEE 802.11n, me ka awelika TxRate o 300 Mbps, a i ʻole 600 Mbps ma ka nui. Ua kūpono lākou i hope me IEEE 802.11b a me IEEE 802.11g. Kākoʻo ka puʻupuʻu ESP32-C3 e Espressif i ka IEEE 802.11b/g/n, no laila hiki iā ʻoe ke koho i kahi mea hoʻokele Wi-Fi hoʻokahi-band (2.4 GHz) a i ʻole pālua ʻelua (2.4 GHz a me 5 GHz).
E hoʻokomo ʻia kahi kamepiula (Linux/macOS/Windows) hoʻomohala ʻia ma ka Mokuna 4. Mokuna 2. Hoʻomaka a hoʻomaʻamaʻa i nā papahana IoT 15
2.2.4 Kaʻina Hoʻomohala
Kiʻi 2.4. Nā ʻanuʻu o ka hoʻomohala ʻana i ka papahana Smart Light
ʻO ka hoʻolālā paʻa ʻana he mea nui ka hoʻolālā ʻana o nā lako IoT i kahi papahana IoT. Hoʻokumu ʻia kahi papahana kukui akamai piha e hana alamp e hana ana ma lalo o ka lako kumu. Hoʻopuka nā mea hana like ʻole i ka lamps o nā ʻano like ʻole a me nā ʻano mea hoʻokele, akā ʻo kā lākou mau modules uea ʻole i ka hana like. No ka hoʻomaʻamaʻa ʻana i ke kaʻina hana o ka papahana Smart Ligh, uhi wale kēia puke i ka hoʻolālā ʻenehana a me ka hoʻomohala ʻana i nā polokalamu o nā modules ueaʻole.
IoT cloud platform configuration No ka hoʻohana ʻana i ka IoT cloud platforms, pono ʻoe e hoʻonohonoho i nā papahana ma ke kua hope, e like me ka hana ʻana i nā huahana, ka hana ʻana i nā mea hana, ka hoʻonohonoho ʻana i nā waiwai o nā mea hana, etc.
Hoʻomohala polokalamu i hoʻokomo ʻia no nā polokalamu IoT E hoʻokō i nā hana i manaʻo ʻia me ESP-IDF, SDK ʻaoʻao ʻaoʻao o Espressif, me ka hoʻopili ʻana i nā paepae ao IoT, ka hoʻomohala ʻana i nā mea hoʻokele LED, a me ka hoʻomaikaʻi ʻana i ka firmware.
Hoʻomohala polokalamu kelepona E hoʻomohala i nā polokalamu kelepona no nā ʻōnaehana Android a me IOS e hoʻomaopopo i ka hoʻopaʻa inoa a me ka hoʻopaʻa inoa ʻana o ka mea hoʻohana, ka hoʻomalu ʻana i nā mea hana a me nā hana ʻē aʻe.
Ke hoʻopau ʻia ka hoʻomohala maʻamau o nā hana ʻo IoT, hiki iā ʻoe ke huli i nā hana loiloi, e like me ka mana o ka mana.
ʻO ka hoʻāʻo ʻana i ka hana nui E hana i nā hoʻokolohua hana nui e like me nā kūlana pili, e like me ka hoʻāʻo hana hana, ka hoʻāʻo ʻelemakule, ka hoʻāʻo RF, etc.
ʻOiai nā ʻanuʻu i hōʻike ʻia ma luna nei, ʻaʻole pono ka papahana Smart Light i ke kaʻina hana no ka mea hiki ke hana ʻia nā hana like ʻole i ka manawa like. No examphiki ke hoʻomohala like nā polokalamu i hoʻopili ʻia a me nā polokalamu kelepona. Pono paha e hana hou ʻia kekahi mau ʻanuʻu, e like me ka loiloi polokalamu IoT a me ka hoʻāʻo hana nui.
16 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
2.3 Hōʻuluʻulu manaʻo
Ma kēia mokuna, ua wehewehe mua mākou i nā ʻāpana kumu a me nā modula hana o kahi papahana IoT, a laila hoʻokomo i ka hihia Smart Light no ka hoʻomaʻamaʻa, e pili ana i kona ʻano, nā hana, ka hoʻomākaukau ʻana i nā lako, a me ke kaʻina hana. Hiki i ka poʻe heluhelu ke huki i nā manaʻo mai ka hoʻomaʻamaʻa a lilo i mea hilinaʻi e hoʻokō i nā papahana IoT me nā hewa liʻiliʻi i ka wā e hiki mai ana.
Mokuna 2. Hoʻomaka a me ka hoʻomaʻamaʻa ʻana i nā papahana IoT 17
18 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Mokuna 3
Hoʻolauna
i
ESP
RainMaker
Hāʻawi ka Internet of Things (IoT) i nā mea hiki ʻole ke hoʻololi i ke ʻano o ka noho ʻana o ka poʻe, akā ua piha ka hoʻomohala ʻana o ka ʻenehana IoT i nā pilikia. Me nā ao ākea, hiki i nā mea hana terminal ke hoʻokō i ka hana o ka huahana ma o kēia mau hopena:
Ma muli o nā ʻanuʻu kapuaʻi o nā mea hāʻawi i ka hoʻonā Ma kēia ʻano, pono nā mea hana terminal e hoʻolālā i ka lako huahana, a laila e hoʻohui i ka hāmeʻa i ke ao me ka hoʻohana ʻana i ka module kamaʻilio i hāʻawi ʻia, a hoʻonohonoho i nā hana huahana ma muli o nā alakaʻi. He ala maikaʻi kēia no ka mea e hoʻopau ana i ka pono no ka hoʻomohala ʻana i ka ʻaoʻao kikowaena a me ka ʻaoʻao noiʻi a me nā hana a me ka mālama ʻana (O&M). Hāʻawi ia i nā mea hana terminal e nānā i ka hoʻolālā ʻana me ka ʻole e noʻonoʻo i ka hoʻokō ʻana i ke ao. Eia nō naʻe, ʻaʻole i wehe ʻia kēlā mau hoʻonā (e laʻa, ka polokalamu firmware a me ka App), no laila e kaupalena ʻia nā hana huahana e ka paepae kapuaʻi o ka mea hoʻolako ʻaʻole hiki ke hoʻoponopono ʻia. I kēia manawa, pili pū ka mea hoʻohana a me ka ʻikepili i ka paepae ao.
Ma muli o nā huahana kapua Ma kēia hoʻonā, ma hope o ka hoʻopau ʻana i ka hoʻolālā ʻenehana, ʻaʻole pono nā mea hana terminal e hoʻokō i nā hana kapua me ka hoʻohana ʻana i hoʻokahi a ʻoi aku paha nā huahana kapua i hāʻawi ʻia e ke ao lehulehu, akā pono pū kekahi e hoʻopili i ka hāmeʻa me ke ao. No example, e hoʻohui iā Amazon Web Pono nā lawelawe (AWS), nā mea hana kikowaena e hoʻohana i nā huahana AWS e like me Amazon API Gateway, AWS IoT Core, a me AWS Lambda e hiki ai ke komo i ka polokalamu, ka mana mamao, ka mālama ʻikepili, ka hoʻokele mea hoʻohana, a me nā hana kumu ʻē aʻe. ʻAʻole ia e noi wale i nā mea hana terminal e hoʻohana maʻalahi a hoʻonohonoho i nā huahana kapua me ka ʻike hohonu a me ka ʻike waiwai, akā koi pū kekahi iā lākou e noʻonoʻo i ke kumukūʻai kūkulu a mālama ʻana no ka mua a ma hope.tagHe pilikia nui kēia i ka ikehu a me ka waiwai o ka hui.
Ke hoʻohālikelike ʻia me nā ao ākea, kūkulu mau ʻia nā ao pilikino no nā papahana a me nā huahana kikoʻī. Hāʻawi ʻia nā mea hoʻomohala kapuaʻi pilikino kiʻekiʻe kiʻekiʻe o ke kūʻokoʻa i ka hoʻolālā protocol a me ka hoʻokō loiloi ʻoihana. Hiki i nā mea hana Terminal ke hana i nā huahana a me nā papahana hoʻolālā ma ka makemake, a maʻalahi e hoʻohui a hoʻoikaika i ka ʻikepili mea hoʻohana. Hoʻohui i ka palekana kiʻekiʻe, scalability a me ka hilinaʻi o ke ao lehulehu me ka advantages o ke ao pilikino, ua hoʻokumu ʻo ESPressif i ka ESP
19
ʻO RainMaker, kahi hoʻonā kapuaʻi pilikino hohonu e pili ana i ke ao Amazon. Hiki i nā mea hoʻohana ke kau iā ESP RainMaker a kūkulu i ke ao pilikino me kahi moʻokāki AWS.
3.1 He aha ka ESP RainMaker?
ʻO ESP RainMaker kahi kahua AIoT piha i kūkulu ʻia me nā huahana AWS makua. Hāʻawi ia i nā lawelawe like ʻole i koi ʻia no ka hana nui e like me ke komo ʻana i ke ao kapuaʻi, ka hoʻomaikaʻi ʻana i ka hāmeʻa, ka hoʻokele backend, ka ʻaoʻao ʻekolu, ka hoʻohui leo, a me ka hoʻokele mea hoʻohana. Ma ka hoʻohana ʻana i ka Serverless Application Repository (SAR) i hāʻawi ʻia e AWS, hiki i nā mea hana kikowaena ke kau koke iā ESP RainMaker i kā lākou moʻokāki AWS, he manawa kūpono a maʻalahi hoʻi e hana. Mālama ʻia a mālama ʻia e Espressif, ʻo ka SAR i hoʻohana ʻia e ESP RainMaker e kōkua i nā mea hoʻomohala e hōʻemi i nā kumukūʻai mālama ao a hoʻolalelale i ka hoʻomohala ʻana o nā huahana AIoT, no laila ke kūkulu ʻana i nā hoʻonā AIoT paʻa, paʻa, a maʻamau. Hōʻike ka Figure 3.1 i ka hoʻolālā o ESP RainMaker.
Kiʻi 3.1. Hoʻolālā o ESP RainMaker
He manuahi ka kikowaena kikowaena ESP RainMaker na Espressif no ka poʻe hoihoi ESP, nā mea hana, a me nā kumu aʻo no ka loiloi hoʻonā. Hiki i nā mea hoʻomohala ke hoʻopaʻa inoa me Apple, Google, a i ʻole nā moʻokāki GitHub, a kūkulu wikiwiki i kā lākou mau prototypes noi IoT. Hoʻopili ke kikowaena lehulehu iā Alexa a me Google Home, a hāʻawi i nā lawelawe hoʻomalu leo, i kākoʻo ʻia e Alexa Skill a me Google Actions. Hoʻohana ʻia kāna hana ʻike semantic e nā ʻaoʻao ʻekolu. Pane wale nā mea hana ʻo RainMaker IoT i nā hana kikoʻī. No ka papa inoa piha o nā kauoha leo i kākoʻo ʻia, e ʻoluʻolu e nānā i nā paepae ʻaoʻao ʻekolu. Eia kekahi, hāʻawi ʻo Espressif i kahi RainMaker App no nā mea hoʻohana e hoʻomalu i nā huahana ma o nā kelepona. 20 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
3.2 Ka hoʻokō ʻana o ESP RainMaker
E like me ka hōʻike ʻana ma ke Kiʻi 3.2, ʻehā ʻāpana ʻo ESP RainMaker: · Ke Koi ʻana i ka lawelawe, hiki i nā mea RainMaker ke loaʻa nā palapala hōʻoia. · RainMaker Cloud (ʻike ʻia ʻo cloud backend), e hāʻawi ana i nā lawelawe e like me ke kānana memo, ka hoʻokele mea hoʻohana, mālama ʻikepili, a me ka hoʻohui ʻana o nā ʻaoʻao ʻekolu. · RainMaker Agent, hiki iā RainMaker ke hoʻohui i ka RainMaker Cloud. · RainMaker Client (RainMaker App a i ʻole CLI scripts), no ka hoʻolako ʻana, hana mea hoʻohana, hui ʻana a me ka mana, etc.
Kiʻi 3.2. Hoʻolālā o ESP RainMaker
Hāʻawi ʻo ESP RainMaker i kahi hoʻonohonoho piha o nā mea hana no ka hoʻomohala ʻana i ka huahana a me ka hana nui, me: RainMaker SDK
Hoʻokumu ʻia ʻo RainMaker SDK ma ESP-IDF a hāʻawi i ka code kumu o ka ʻaoʻao ʻaoʻao a me nā API C pili no ka hoʻomohala ʻana i ka firmware. Pono nā mea hoʻomohala e kākau i ka loiloi noi a waiho i ke koena i ka RainMaker framework. No ka 'ike hou aku e pili ana i nā C API, e 'olu'olu e kipa https://bookc3.espressif.com/rm/c-api-reference. RainMaker App ʻO ka mana lehulehu o RainMaker App e hiki ai i nā mea hoʻomohala ke hoʻopau i ka hoʻolako ʻana i nā hāmeʻa, a hoʻomalu a nīnau i ke kūlana o nā hāmeʻa (e laʻa, nā huahana kukui akamai). Loaʻa ia ma nā hale kūʻai app iOS a me Android. No nā kikoʻī hou aku, e ʻoluʻolu e nānā i ka Mokuna 10. REST APIs REST APIs kōkua i nā mea hoʻohana e kūkulu i kā lākou mau noi ponoʻī e like me ka RainMaker App. No ka 'ike hou aku, e 'olu'olu e kipa https://swaggerapis.rainmaker.espressif.com/.
Mokuna 3. Introduction to ESP RainMaker 21
Nā API Python Ua hāʻawi ʻia kahi CLI e pili ana i ka Python, e hele mai me ka RainMaker SDK, e hoʻokō i nā hana āpau e like me nā hiʻohiʻona kelepona. No ka ʻike hou aku e pili ana i nā API Python, e ʻoluʻolu e kipa https://bookc3.espressif.com/rm/python-api-reference.
Hāʻawi ʻia ʻo Admin CLI Admin CLI, me ke kiʻekiʻe kiʻekiʻe o ke komo ʻana, no ka hoʻolaha pilikino ʻo ESP RainMaker e hana i nā palapala hōʻoia i ka nui.
3.2.1 Koi ana i ka lawelawe
Hoʻokō ʻia nā kamaʻilio āpau ma waena o nā polokalamu RainMaker a me ke ao hope ma o MQTT+TLS. Ma ka pōʻaiapili o ESP RainMaker, ʻo "Claiming" ke kaʻina hana e loaʻa ai nā palapala hōʻoia mai ka Service Claiming no ka hoʻopili ʻana i ke ao hope. E hoʻomanaʻo, pili wale ka lawelawe koi ʻana i ka lawelawe RainMaker lehulehu, ʻoiai no ka hoʻolaha pilikino, pono e hana ʻia nā palapala hōʻoia i ka nui ma o Admin CLI. Kākoʻo ʻo ESP RainMaker i ʻekolu ʻano o ka lawelawe Koi: Koi Pono
Na ka mea pono e kiʻi i nā palapala hōʻoia ma o kahi kī huna i hoʻonohonoho mua ʻia ma eFuse ma hope o ka hoʻopili ʻana i ka Pūnaewele. Hoʻopiʻi ʻia ʻo Host Driven Loaʻa nā palapala hōʻoia mai ka mea hoʻomohala hoʻomohala me ka waihona RainMaker. Kokua Kokua Loaʻa nā palapala hōʻoia ma o nā polokalamu kelepona i ka wā hoʻolako.
3.2.2 Agena RainMaker
Kiʻi 3.3. ʻO ke kūkulu ʻana o RainMaker SDK ʻO ka hana nui o ka RainMaker Agent ʻo ia ka hoʻolako ʻana i ka pilina a kōkua i ka papa noi e hoʻoponopono i ka ʻikepili ao uplink/downlink. Kūkulu ʻia ia ma o ka RainMaker SDK 22 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT.
a hoʻomohala ʻia ma muli o ka hoʻolālā ESP-IDF i hōʻoia ʻia, me ka hoʻohana ʻana i nā ʻāpana ESP-IDF e like me RTOS, NVS, a me MQTT. Hōʻike ke kiʻi 3.3 i ke ʻano o ka RainMaker SDK.
Aia ka RainMaker SDK i ʻelua mau hiʻohiʻona nui.
Hoʻohui
i. Ke hana pū nei me ka Claiming Service no ka loaʻa ʻana o nā palapala hōʻoia.
ii. Hoʻohui ʻia i ka backend kapua me ka hoʻohana ʻana i ka protocol MQTT paʻa e hoʻolako i ka pilina mamao a hoʻokō i ka mana mamao, ka hōʻike ʻana i ka memo, ka hoʻokele mea hoʻohana, ka hoʻokele ʻana i nā mea hana, a me nā mea ʻē aʻe. pūʻulu protocol.
iii. Hāʻawi i ka ʻāpana hoʻolako wifi no ka hoʻopili Wi-Fi a me ka hoʻolako ʻana, esp https ota ʻāpana no ka hoʻomaikaʻi ʻana i ka OTA, a me ka ʻāpana ctrl kūloko no ka ʻike ʻana a me ka hoʻopili ʻana i nā hāmeʻa kūloko. Hiki ke hoʻokō ʻia kēia mau pahuhopu a pau ma o ka hoʻonohonoho maʻalahi.
ʻIkepili ʻikepili
i. Ka mālama ʻana i nā palapala hōʻoia i hāʻawi ʻia e Claiming Service a me ka ʻikepili i pono i ka wā e holo ai ʻo RainMaker, ma ka hoʻohana ʻana i ka interface i hāʻawi ʻia e ka nvs flash component, a me ka hāʻawi ʻana i nā API no nā mea hoʻomohala no ka hoʻohana pololei.
ii. Ke hoʻohana nei i ka hana callback e hoʻoponopono i ka ʻikepili uplink/downlink cloud a me ka wehe ʻana i ka ʻikepili i ka papa noi no ka hana maʻalahi e nā mea hoʻomohala. No exampʻO ka RainMaker SDK e hāʻawi i nā pilina waiwai no ka hoʻokumu ʻana i ka ʻikepili TSL (Thing Specification Language), i koi ʻia e wehewehe i nā hiʻohiʻona TSL e wehewehe i nā mea IoT a hoʻokō i nā hana e like me ka manawa, ka helu ʻana, a me ka hoʻomalu leo. No nā hiʻohiʻona maʻamau e like me ka manawa, hāʻawi ʻo RainMaker SDK i kahi hoʻonā hoʻomohala ʻole hiki ke hoʻohana ʻia inā pono. A laila, e hoʻoponopono pololei ka RainMaker Agent i ka ʻikepili, e hoʻouna iā ia i ke ao ma o ke kumuhana MQTT e pili ana, a e hānai i nā loli ʻikepili i ke ao hope ma o ka hana callback.
3.2.3 Cloud Backend
Kūkulu ʻia ke ao hope ma AWS Serverless Computing a loaʻa ma o AWS Cognito (pūnaewele hoʻokele ʻike), Amazon API Gateway, AWS Lambda (serverless computing service), Amazon DynamoDB (NoSQL database), AWS IoT Core (IoT access core e hāʻawi ana i ka MQTT access. a me ka kānana lula), Amazon Simple Email Service (SES simple mail service), Amazon CloudFront (wikiwiki hoʻouna pūnaewele), Amazon Simple Queue Service (SQS message queuing), a me Amazon S3 (lawelawe mālama bakeke). Kuhi ʻia e hoʻonui i ka scalability a me ka palekana. Me ESP RainMaker, hiki i nā mea hoʻomohala ke hoʻokele i nā polokalamu me ka ʻole e kākau i nā code ma ke ao. Hoʻouna ʻia nā memo i hōʻike ʻia e nā mea hana
Mokuna 3. Introduction to ESP RainMaker 23
nā mea kūʻai noi a i ʻole nā lawelawe ʻaoʻao ʻekolu. Hōʻike ka papa 3.1 i nā huahana AWS cloud a me nā hana i hoʻohana ʻia ma ka backend cloud, me nā huahana a me nā hiʻohiʻona e hoʻomohala ʻia.
Papa 3.1. ʻO nā huahana a me nā hana a AWS i hoʻohana ʻia e ka backend kapua
Hoʻohana ʻia ʻo AWS Cloud e RainMaker
Hana
AWS Cognito
Ka mālama ʻana i nā hōʻoia o ka mea hoʻohana a me ke kākoʻo ʻana i nā loina ʻaoʻao ʻekolu
AWS Lambda
Ka hoʻokō ʻana i ka loina ʻoihana koʻikoʻi o ka backend kapua
Amazon Timestream Ke mālama nei i nā ʻikepili moʻo manawa
Amazon DynamoDB Ke mālama nei i ka ʻike pilikino o nā mea kūʻai aku
AWS IoT Core
Kākoʻo MQTT kamaʻilio
Amazon SES
Hāʻawi i nā lawelawe hoʻouna leka uila
ʻO Amazon CloudFront E hoʻolōʻihi i ka hoʻokele ʻana o ka hope webkomo pūnaewele
Amazon SQS
Ke hoʻouna ʻana i nā memo mai AWS IoT Core
3.2.4 Mea Kūʻai RainMaker
ʻO nā mea kūʻai aku ʻo RainMaker, e like me App a me CLI, e kamaʻilio me ke ao hope ma o REST API. Hiki ke loaʻa nā ʻike kikoʻī a me nā ʻōlelo aʻoaʻo e pili ana i nā REST API ma ka palapala Swagger i hāʻawi ʻia e Espressif. Loaʻa ka mea kūʻai polokalamu kelepona ʻo RainMaker no nā ʻōnaehana iOS a me Android. Hāʻawi ia i ka hāʻawi ʻana i nā hāmeʻa, kaohi, a me ke kaʻana like ʻana, a me ka hana ʻana a me ka ʻae ʻana i nā hana helu helu a me ka hoʻopili ʻana i nā paepae ʻaoʻao ʻekolu. Hiki iā ia ke hoʻouka maʻalahi i ka UI a me nā kiʻi e like me ka hoʻonohonoho i hōʻike ʻia e nā mea hana a hōʻike piha i ka hāmeʻa TSL.
No exampe, inā kūkulu ʻia kahi kukui akamai ma ka RainMaker SDK i hoʻolako ʻiaamples, e hoʻouka koke ʻia ka ikona a me ka UI o ke kukui puʻupuʻu ke pau ka hoʻolako ʻana. Hiki i nā mea hoʻohana ke hoʻololi i ka waihoʻoluʻu a me ka ʻōlinolino o ke kukui ma o ka interface a hoʻokō i ka mana o ka ʻaoʻao ʻekolu ma ka hoʻopili ʻana iā Alexa Smart Home Skill a i ʻole Google Smart Home Actions i kā lākou ESP RainMaker moʻokāki. Hōʻike ke kiʻi 3.4 i ka ikona a me UI exampka liʻiliʻi o ke kukui kukui ma Alexa, Google Home, a me ESP RainMaker App.
24 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
(a) Example – Alexa
(b) Example – Google Home
(c) Example – ESP RainMaker
Kiʻi 3.4. Exampnā kiʻiona a me ka UI o ke kukui kukui ma Alexa, Google Home, a me ESP RainMaker App
3.3 Hoʻomaʻamaʻa: Nā Koʻikoʻi no ka Hoʻomohala ʻana me ESP RainMaker
Ke hoʻopau ʻia ka papa o ka mea hoʻokele, hiki i nā mea hoʻomohala ke hoʻomaka i ka hana ʻana i nā hiʻohiʻona TSL a me ka hana ʻana i ka ʻikepili downlink me ka hoʻohana ʻana i nā API i hāʻawi ʻia e RainMaker SDK, a hiki i ka ESP RainMaker nā lawelawe kumu ma muli o ka wehewehe a me nā koi o ka huahana.
Mokuna 3. Introduction to ESP RainMaker 25
ʻO ka pauku 9.4 o kēia puke e wehewehe i ka hoʻokō ʻana i ke kukui akamai LED ma RainMaker. I ka wā debugging, hiki i nā mea hoʻomohala ke hoʻohana i nā mea hana CLI i ka RainMaker SDK e kamaʻilio me ke kukui akamai (a i ʻole e kāhea i nā REST API mai Swagger).
E wehewehe ʻo Mokuna 10 i ka hoʻohana ʻana i nā REST API i ka hoʻomohala ʻana i nā noi kelepona. E uhi ʻia nā hoʻomaikaʻi OTA o nā kukui akamai LED ma ka Mokuna 11. Inā ua hoʻohana nā mea hoʻomohala i ka nānā mamao ESP Insights, e hōʻike ka hope hoʻokele ESP RainMaker i ka ʻikepili ESP Insights. E hōʻike ʻia nā kikoʻī ma ka Mokuna 15.
Kākoʻo ʻo ESP RainMaker i ka hoʻolaha pilikino, ʻokoʻa mai ka kikowaena RainMaker lehulehu ma kēia mau ʻano:
No ka hana ʻana i nā palapala hōʻoia ma nā hoʻolaha pilikino, pono e hoʻohana i ka RainMaker Admin CLI ma kahi o ka Koi. Me ke kikowaena lehulehu, pono e hāʻawi ʻia nā mea hoʻomohala i nā kuleana admin e hoʻokō i ka hoʻonui ʻana i ka firmware, akā makemake ʻole ia i nā hoʻolaha pāʻoihana. No laila, ʻaʻole hiki ke hāʻawi ʻia kahi lawelawe hōʻoia ʻokoʻa no ka hoʻopiʻi ʻana iā ia iho, ʻaʻole hoʻi i nā kuleana hoʻokele no ka hoʻokele a i ʻole ke koi ʻana i kōkua ʻia.
Nā polokalamu kelepona Ma nā hoʻolālā pilikino, pono e hoʻonohonoho ʻia a hōʻuluʻulu ʻia nā noi no ka hōʻoia ʻana ʻaʻole pili nā ʻōnaehana moʻokāki.
3rd party logins and voice integration Pono nā mea hoʻomohala e hoʻonohonoho kaʻawale ma o Google a me Apple Developer moʻokāki e hiki ai i ka 3rd party logins, a me ka Alexa Skill a me Google Voice Assistant hoʻohui.
Manaʻo Manaʻo No nā kikoʻī e pili ana i ka hoʻolaha ʻana i ke ao, e ʻoluʻolu e kipa https://customer.rainmaker.espressif. com. Ma ke ʻano o ka firmware, ʻo ka neʻe ʻana mai kahi kikowaena lehulehu i kahi kikowaena pilikino wale nō e koi i ka hoʻololi ʻana i nā palapala hōʻoia o ka mīkini, kahi e hoʻomaikaʻi nui ai i ka pono o ka neʻe ʻana a hoʻemi i ke kumukūʻai o ka neʻe ʻana a me ka debugging lua.
3.4 Nā hiʻohiʻona o ESP RainMaker
ʻO nā hiʻohiʻona ESP RainMaker ka mea i manaʻo nui ʻia i ʻekolu ʻano - ka hoʻokele mea hoʻohana, nā mea hoʻohana hope, a me nā mea hoʻokele. Kākoʻo ʻia nā hiʻohiʻona a pau ma nā kikowaena lehulehu a me nā kikowaena pilikino ke ʻole i ʻōlelo ʻia.
3.4.1 Hoʻoponopono Mea hoʻohana
ʻO nā hiʻohiʻona hoʻokele mea hoʻohana e ʻae i nā mea hoʻohana hope e hoʻopaʻa inoa, komo, hoʻololi i nā ʻōlelo huna, kiʻi i nā ʻōlelo huna, etc.
26 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Hoʻopaʻa inoa a hoʻopaʻa inoa ʻO nā ʻano hoʻopaʻa inoa a me ka hoʻopaʻa inoa ʻana i kākoʻo ʻia e RainMaker: · Email id + Password · Helu kelepona + password · Moʻokāki Google · Moʻokāki Apple · Moʻokāki GitHub (server public wale nō) · Moʻokāki Amazon (server private only)
MAKEMAKE E kau inoa me ka hoʻohana ʻana iā Google/Amazon kaʻana like i ka leka uila o ka mea hoʻohana me RainMaker. E hoʻopaʻa inoa me ka hoʻohana ʻana iā Apple i kahi helu dummy i hāʻawi ʻia e Apple no ka mea hoʻohana kūikawā no ka lawelawe RainMaker. Hana ʻia kahi moʻokāki RainMaker no nā mea hoʻohana e kau inoa me kahi moʻokāki Google, Apple, a i ʻole Amazon no ka manawa mua.
E hoʻololi i ka ʻōlelo huna He kūpono wale nō no ka leka uila / helu kelepona ma muli o ka hoʻopaʻa inoa. E haʻalele ʻia nā kau hana ʻē aʻe ma hope o ka hoʻololi ʻana i ka ʻōlelo huna. E like me ke ʻano o ka AWS Cognito, hiki ke hoʻomau ʻia nā kau i waho a hiki i 1 hola.
E kiʻi i ka ʻōlelo huna He kūpono wale nō no ka leka uila / helu kelepona ma muli o ke komo ʻana.
3.4.2 Nā mea hoʻohana hope
ʻO nā hiʻohiʻona i wehe ʻia i nā mea hoʻohana hope e pili ana i ka mana kūloko a me ka mamao a me ka nānā ʻana, ka hoʻonohonoho ʻana, ka hui pū ʻana o nā hāmeʻa, kaʻana like ʻana o nā hāmeʻa, nā leka hoʻolaha, a me ka hoʻohui ʻana o nā ʻaoʻao ʻekolu.
Ka mālama mamao a me ka nānā ʻana · Ka hoʻonohonoho ʻana i ka nīnau, nā waiwai hoʻohālikelike, a me ke kūlana pili no hoʻokahi a i ʻole nā mea hana a pau. · E hoʻonohonoho i nā ʻāpana no nā mea hoʻokahi a i ʻole nā mea he nui.
Pono ka mana kūloko a me ka nānā ʻana ʻO ke kelepona paʻalima a me ka hāmeʻa pono e hoʻopili ʻia i ka pūnaewele like no ka mana kūloko.
Hoʻonohonoho ʻana · Hoʻonohonoho mua nā mea hoʻohana i kekahi mau hana i ka manawa kikoʻī. · ʻAʻohe pili pūnaewele i koi ʻia no ka hāmeʻa i ka wā e hoʻokō ai i ka papahana. · Hoʻokahi manawa a hana hou paha (ma ke kuhikuhi ʻana i nā lā) no nā hāmeʻa hoʻokahi a i ʻole.
Kākoʻo ʻana i ka hui ʻana i nā ʻāpana he nui i ka hui ʻana i nā metadata hui no ka hana ʻana i kahi hale lumi Home.
Mokuna 3. Introduction to ESP RainMaker 27
Kaʻana like polokalamu Hiki ke kaʻana like me hoʻokahi mea hoʻohana a ʻoi aku paha.
Nā leka hoʻomaopopo E loaʻa i nā mea hoʻohana hope nā leka hoʻolaha no nā hanana e like me · Mea hou (mau mea) i hoʻohui ʻia / wehe ʻia · Mea pili i ke ao · Ua wehe ʻia ka hāmeʻa mai ke ao · Nā noi kaʻana like ʻana i hana ʻia / ʻae ʻia / hōʻole ʻia · Nā memo makaʻala i hōʻike ʻia e nā mea hana.
Kākoʻo ʻia ka hui pū ʻana o nā ʻaoʻao ʻekolu iā Alexa a me Google Voice Assistant e hoʻomalu i nā polokalamu RainMaker, me nā kukui, nā hoʻololi, nā kumu, nā mea pā, a me nā ʻike wela.
3.4.3 Nā hiʻohiʻona luna
Hāʻawi nā hiʻohiʻona Admin i nā luna hoʻokele e hoʻokō i ka hoʻopaʻa inoa ʻana i nā hāmeʻa, ka hui pū ʻana o nā hāmeʻa, a me nā hoʻonui OTA, a me view ʻikepili helu a me ESP Insights.
Hoʻopaʻa inoa mea hana E hana i nā palapala hōʻoia a hoʻopaʻa inoa me Admin CLI (pūnaewele pilikino wale nō).
Ka hui pū ʻana o nā mea hana E hana i nā pūʻulu ʻokoʻa a i ʻole i hoʻonohonoho ʻia e pili ana i ka ʻike mea hana (pūnaewele pilikino wale nō).
Hoʻouka hou ʻia ʻo Over-the-Air (OTA) Hoʻouka i ka firmware e pili ana i ka mana a me ke kumu hoʻohālike, i hoʻokahi a ʻoi aku paha nā mea hana a i ʻole kahi hui Nānā, hoʻopau, a i ʻole waihona i nā hana OTA.
View helu helu ViewʻO nā helu helu hiki ke loaʻa: · Ka hoʻopaʻa inoa ʻana i nā hāmeʻa (nā palapala hōʻoia i hoʻopaʻa inoa ʻia e ka luna hoʻomalu) · Hoʻolaʻa ʻana i nā hāmeʻa (pili ʻia no ka manawa mua) · Nā moʻokāki mea hoʻohana · Huina mea hoʻohana.
View ʻIkepili ESP Insights ViewʻO ka ʻikepili ESP Insights hiki ke loaʻa: · Nā hewa, nā ʻōlelo aʻo, a me nā moʻolelo maʻamau · Nā hōʻike a me ka nānā ʻana i ka pōʻino · Nā kumu hoʻomaka hou · Nā ana e like me ka hoʻohana ʻana i ka hoʻomanaʻo, RSSI, etc. · Nā metric a me nā loli.
28 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
3.5 Hōʻuluʻulu manaʻo
Ma kēia mokuna, ua hoʻolauna mākou i kekahi mau ʻokoʻa koʻikoʻi ma waena o ka hoʻolaha ʻana o RainMaker ākea a me ka hoʻolaha pilikino. ʻO ka hoʻonā pilikino ESP RainMaker i hoʻokumu ʻia e Espressif he hilinaʻi nui a hoʻonui. Ua hoʻopili ʻia a hoʻololi ʻia nā pahu hana ESP32 āpau i AWS, e hōʻemi nui ana i ke kumukūʻai. Hiki i nā mea hoʻomohala ke nānā aku i ka hōʻoia prototype me ka ʻole e aʻo e pili ana i nā huahana AWS cloud. Ua wehewehe pū mākou i ka hoʻokō a me nā hiʻohiʻona o ESP RainMaker, a me kekahi mau kumu nui no ka hoʻomohala ʻana me ka hoʻohana ʻana i ka paepae.
E kiʻi i ka ESP RainMaker no ka Android E kiʻi i ka ESP RainMaker no iOS
Mokuna 3. Introduction to ESP RainMaker 29
30 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Mokuna Hoʻonohonoho 4 Hoʻolālā Kaiapuni
Ke kālele nei kēia mokuna i ka ESP-IDF, ka papa hana hoʻomohala polokalamu no ESP32-C3. E wehewehe mākou i ke ʻano o ka hoʻonohonoho ʻana i ke kaiapuni ma nā ʻōnaehana hana like ʻole, a hoʻolauna i ka hoʻolālā papahana a kūkulu i ka ʻōnaehana o ESP-IDF, a me ka hoʻohana ʻana i nā mea hana hoʻomohala pili. A laila e hōʻike mākou i ke kaʻina hoʻohui a me ka holo ʻana o kahi exampka papahana, ʻoiai e hāʻawi ana i ka wehewehe kikoʻī o ka log puka i kēlā me kēia stage.
4.1 ESP-IDF Loaʻaview
ʻO ESP-IDF (Espressif IoT Development Framework) kahi hoʻolālā hoʻomohala IoT hoʻokahi i hāʻawi ʻia e Espressif Technology. Hoʻohana ʻo ia i ka C/C ++ ma ke ʻano he ʻōlelo hoʻomohala nui a kākoʻo i ka hui ʻana ma lalo o nā ʻōnaehana hana nui e like me Linux, Mac, a me Windows. ʻO ka exampHoʻokumu ʻia nā papahana i loko o kēia puke me ka hoʻohana ʻana i ka ESP-IDF, e hāʻawi ana i kēia mau hiʻohiʻona: · SoC system-level drivers. ESP-IDF nā mea hoʻokele no ESP32, ESP32-S2, ESP32-C3,
a me nā ʻāpana ʻē aʻe. Hoʻopili kēia mau mea hoʻokele i ka hale waihona puke peripheral haʻahaʻa haʻahaʻa (LL), hale waihona abstraction layer (HAL), kākoʻo RTOS a me nā polokalamu hoʻokele o luna, a pēlā aku · Nā mea pono. Hoʻokomo ʻo ESP-IDF i nā mea koʻikoʻi e pono ai no ka hoʻomohala ʻana o IoT. Loaʻa kēia i nā pūʻulu protocol network he nui e like me HTTP a me MQTT, kahi mana hoʻokele mana me ka hoʻololi pinepine ʻana, a me nā hiʻohiʻona e like me Flash Encryption a me Secure Boot, etc. · Hoʻomohala a me nā mea hana hana. Hāʻawi ʻo ESP-IDF i nā mea hana maʻamau no ke kūkulu ʻana, flash, a me ka hoʻopau ʻana i ka wā o ka hoʻomohala ʻana a me ka hana nui ʻana (e nānā i ke Kiʻi 4.1), e like me ka ʻōnaehana kūkulu hale ma luna o CMake, ke kaulahao mea hana cross-compilation ma muli o GCC, a me ka JTAG mea hana hoʻopololei e pili ana i OpenOCD, a pēlā aku. He mea pono ke hoʻomaopopo i ka pili mua ʻana o ka code ESP-IDF i ka laikini open-source Apache 2.0. Hiki i nā mea hoʻohana ke hoʻomohala i nā polokalamu pilikino a pāʻoihana me ka ʻole o ke kaohi ʻana me ka mālama ʻana i nā ʻōlelo o ka laikini open-source. Hoʻohui ʻia, hāʻawi ʻia nā mea hoʻohana i nā laikini patent paʻa me ka uku ʻole, me ka ʻole o ke kuleana e wehe i nā kumu hoʻololi i hana ʻia i ke code kumu.
31
Kiʻi 4.1.
Ke kūkulu ʻana, ka uila, a me ka debug-
nā mea hana no ka hoʻomohala ʻana a me ka hana nui
4.1.1 Nā Manaʻo ESP-IDF
Hoʻokipa ʻia ka code ESP-IDF ma GitHub ma ke ʻano he papahana open-source. I kēia manawa, ʻekolu mau mana nui i loaʻa: v3, v4, a me v5. Loaʻa i kēlā me kēia mana nui nā hoʻololi like ʻole, e like me v4.2, v4.3, a pēlā aku. Mālama ʻo Espressif Systems i kahi kākoʻo 30-mahina no ka hoʻoponopono ʻana i nā pōpoki a me nā pale palekana no kēlā me kēia sub-version i hoʻokuʻu ʻia. No laila, hoʻokuʻu mau ʻia nā hoʻoponopono o nā hoʻololi ʻana, e like me v4.3.1, v4.2.2, a pēlā aku. Hōʻike ka Papa 4.1 i ke kūlana kākoʻo o nā mana ESP-IDF like ʻole no nā chips Espressif, e hōʻike ana inā aia lākou i kahi preview stage (hāʻawi kākoʻo no preview nā mana, nele paha i kekahi mau hiʻohiʻona a i ʻole nā palapala) a i kākoʻo ʻia paha.
Papa 4.1. Kākoʻo i ke kūlana o nā mana ESP-IDF like ʻole no nā ʻāpana Espressif
Māhele ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2
v4.1 kākoʻo
v4.2 i kākoʻo ʻia
v4.3 kākoʻo kākoʻo kākoʻo
v4.4 kākoʻo kākoʻo kākoʻo ʻia
muaview
v5.0 kākoʻo kākoʻo kākoʻo kākoʻo muaview
32 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Hoʻopili pinepine ka hoʻololi ʻana o nā mana nui i ka hoʻoponopono ʻana i ke ʻano o ka framework a me nā mea hou i ka ʻōnaehana hōʻuluʻulu. No exampʻO ka hoʻololi nui mai v3.* a i v4.* ʻo ia ka neʻe mālie ʻana o ka ʻōnaehana kūkulu mai Make a CMake. Ma ka ʻaoʻao ʻē aʻe, ʻo ka hoʻomaʻamaʻa ʻana i nā mana liʻiliʻi e komo i ka hoʻohui ʻana i nā hiʻohiʻona hou a i ʻole ke kākoʻo ʻana i nā chips hou.
He mea nui e ʻike a hoʻomaopopo i ka pilina ma waena o nā mana paʻa a me nā lālā GitHub. Hōʻike ʻia nā mana i kapa ʻia ʻo v*.* a i ʻole v*.*.* i nā mana paʻa i hala i ka hoʻāʻo kūloko piha e Espressif. Ke hoʻopaʻa ʻia, ʻaʻole i hoʻololi ʻia ke code, ke kaulahao mea hana, a me nā palapala hoʻokuʻu no ka mana like. Eia naʻe, loaʻa nā lālā GitHub (e like me ka lālā hoʻokuʻu / v4.3) i nā code commit pinepine, pinepine i kēlā me kēia lā. No laila, ʻokoʻa paha nā snippet code ʻelua ma lalo o ka lālā hoʻokahi, pono i nā mea hoʻomohala e hoʻololi koke i kā lākou code e like me ia.
4.1.2 ESP-IDF Git Ke Kaʻina Hana
E hahai ana ʻo Espressif i kahi kahe hana Git kikoʻī no ESP-IDF, i wehewehe ʻia penei:
· Hana ʻia nā hoʻololi hou ma ka lālā kumu, e lawelawe ana ma ke ʻano he lālā hoʻomohala nui. ʻO ka mana ESP-IDF ma ka lālā kumu e lawe mau i kahi -dev tag e hōʻike i ka hoʻomohala ʻana i kēia manawa, e like me v4.3-dev. E hoʻololi mua ʻia nā hoʻololi ma ka lālā kumuviewed a hoʻāʻo ʻia i loko o ka waihona kūloko o Espressif, a laila pana ʻia i GitHub ma hope o ka pau ʻana o ka hoʻāʻo ʻana.
· Ke hoʻopau ka mana hou i ka hoʻomohala hiʻohiʻona ma ka lālā kumu a hoʻokō i nā koina no ke komo ʻana i ka hoʻāʻo beta, hoʻololi ia i kahi lālā hou, e like me ka hoʻokuʻu/v4.3. Eia hou, keia lala hou tagged ma ke ʻano he mana hoʻokuʻu mua, e like me v4.3-beta1. Hiki i nā mea hoʻomohala ke kuhikuhi i ka paepae GitHub e komo i ka papa inoa piha o nā lālā a me tags no ESP-IDF. He mea nui e hoʻomaopopo he nui ka nui o nā pilikia i ʻike ʻia i ka mana beta (pre-release version). Ke ho'āʻo mau nei ka mana beta, hoʻohui ʻia nā hoʻoponopono bug i kēia mana a me ka lālā kumu i ka manawa like. I kēia manawa, ua hoʻomaka paha ka lālā kumu e hoʻomohala i nā hiʻohiʻona hou no ka mana aʻe. Ke hoʻopau ʻia ka hoʻāʻo ʻana, hoʻohui ʻia kahi lepili moho hoʻokuʻu (rc) i ka lālā, e hōʻike ana he moho kūpono ia no ka hoʻokuʻu kūhelu, e like me v4.3-rc1. Ma keia stage, noho ka lālā i ka mana hoʻokuʻu mua.
· Inā ʻaʻole i ʻike ʻia a hōʻike ʻia paha nā pōpoki koʻikoʻi, e loaʻa i ka mana ma mua o ka hoʻokuʻu ʻana i kahi hōʻailona mana nui (e laʻa, v5.0) a i ʻole kahi lepili mana liʻiliʻi (e laʻa, v4.3) a lilo i mana hoʻokuʻu kūhelu, i palapala ʻia. ma ka ʻaoʻao memo hoʻokuʻu. Ma hope mai, ua hoʻopaʻa ʻia nā hewa i ʻike ʻia ma kēia mana ma ka lālā hoʻokuʻu. Ma hope o ka pau ʻana o ka hoʻāʻo lima, hāʻawi ʻia ka lālā i kahi lepili hoʻoponopono bug (e laʻa, v4.3.2), i ʻike ʻia ma ka ʻaoʻao memo hoʻokuʻu.
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 33
4.1.3 Ke koho ʻana i kahi mana kūpono
Mai ka hoʻomaka ʻana o ESP-IDF e kākoʻo iā ESP32-C3 mai ka mana v4.3, a ʻaʻole i hoʻokuʻu ʻia ʻo v4.4 i ka manawa i kākau ʻia ai kēia puke, ʻo v4.3.2 ka mana i hoʻohana ʻia ma kēia puke, he mana i hoʻoponopono hou ʻia. o v4.3. Eia naʻe, he mea nui e hoʻomaopopo i ka wā e heluhelu ai ʻoe i kēia puke, hiki ke loaʻa ka v4.4 a i ʻole nā mana hou. Ke koho ʻana i kahi mana, paipai mākou i kēia:
· No nā mea hoʻomohala komo, pono e koho i ka mana v4.3 paʻa a i ʻole kona mana i hoʻoponopono hou ʻia, e pili ana me ka ex.ample version i hoohanaia ma keia buke.
· No ka hana nui, ua paipai ʻia e hoʻohana i ka mana paʻa hou loa e pōmaikaʻi ai i ke kākoʻo ʻenehana hou loa.
· Inā makemake ʻoe e hoʻāʻo me nā chips hou a e ʻimi i nā hiʻohiʻona huahana hou, e ʻoluʻolu e hoʻohana i ka lālā kumu. Loaʻa i ka mana hou nā hiʻohiʻona hou loa, akā e hoʻomanaʻo ʻia aia paha i ʻike ʻia a ʻike ʻole ʻia paha nā pōpoki.
· Inā ʻaʻole i komo ka mana paʻa i nā hiʻohiʻona hou i makemake ʻia a makemake ʻoe e hōʻemi i nā pilikia e pili ana i ka lālā kumu, e noʻonoʻo e hoʻohana i ka lālā hoʻokuʻu pili, e like me ka lālā hoʻokuʻu/v4.4. E hoʻokumu mua ka waihona GitHub o Espressif i ka lālā hoʻokuʻu/v4.4 a laila hoʻokuʻu i ka mana v4.4 paʻa e pili ana i kahi kiʻi moʻolelo kūikawā o kēia lālā, ma hope o ka pau ʻana o ka hoʻomohala ʻana a me ka hoʻāʻo ʻana.
4.1.4 Ua halaview o ESP-IDF SDK Papa kuhikuhi
ʻO ka ESP-IDF SDK he ʻelua papa kuhikuhi nui: esp-idf a me .espressif. Loaʻa i ka mea mua ka code kumu o ka waihona ESP-IDF files a me nā palapala hōʻuluʻulu, ʻoiai ka mea hope e mālama nui i nā kaulahao mea hana compilation a me nā polokalamu ʻē aʻe. ʻO ka ʻike ʻana i kēia mau papa kuhikuhi ʻelua e kōkua i nā mea hoʻomohala e hoʻohana maikaʻi i nā kumuwaiwai i loaʻa a wikiwiki i ke kaʻina hana. Hōʻike ʻia ka hoʻolālā papa kuhikuhi o ESP-IDF ma lalo nei:
(1) ESP-IDF waihona helu helu papa kuhikuhi (/esp/esp-idf), e like me ka hoike ana ma ke Kii 4.2.
a. Nā ʻāpana papa kuhikuhi
Hoʻohui kēia papa kuhikuhi kumu i nā ʻāpana lako polokalamu pono o ESP-IDF. ʻAʻole hiki ke hōʻuluʻulu ʻia ke code papahana me ka hilinaʻi ʻole i nā ʻāpana i loko o kēia papa kuhikuhi. Loaʻa iā ia ke kākoʻo hoʻokele no nā ʻāpana Espressif like ʻole. Mai ka waihona LL a me ka waihona waihona HAL no nā peripheral a hiki i ke Keaukaha kiʻekiʻe a me Virtual File Kākoʻo ʻōnaehana (VFS), hiki i nā mea hoʻomohala ke koho i nā ʻāpana kūpono i nā pae like ʻole no kā lākou pono hoʻomohala. Kākoʻo pū ʻo ESP-IDF i nā pūʻulu protocol network maʻamau e like me TCP/IP, HTTP, MQTT, WebSocket, etc. Hiki i nā mea hoʻomohala ke hoʻohana i nā pilina maʻamau e like me Socket e kūkulu i nā noi pūnaewele. Hāʻawi nā ʻāpana i ka hoʻomaopopo-
34 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Helu 4.2. ESP-IDF waihona helu helu papa kuhikuhi
sive functionality a hiki ke hoʻohui maʻalahi i loko o nā noi, e ʻae i nā mea hoʻomohala e kālele wale i ka loiloi ʻoihana. Aia kekahi mau ʻāpana maʻamau: · Keaukaha: Aia kēia ʻāpana i nā polokalamu hoʻokele peripheral no nā ʻano Espressif
pūʻulu chip, e like me GPIO, I2C, SPI, UART, LEDC (PWM), a pēlā aku. He poʻomanaʻo like ko kēlā me kēia peripheral file (e like me gpio.h), hoʻopau i ka pono e hana i nā nīnau kākoʻo ʻokoʻa chip-specific. · esp_wifi: Ua mālama ʻia ʻo Wi-Fi ma ke ʻano he peripheral kūikawā. Loaʻa iā ia nā API he nui e like me ka hoʻomaka ʻana o nā ʻano mea hoʻokele Wi-Fi like ʻole, ka hoʻonohonoho hoʻonohonoho ʻana, a me ka hana hanana. Hāʻawi ʻia kekahi mau hana o kēia ʻāpana ma ke ʻano o nā waihona loulou static. Hāʻawi pū ʻo ESP-IDF i nā palapala hoʻokele piha no ka maʻalahi o ka hoʻohana.
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 35
· freertos: Aia i loko o kēia māhele ka code FreeRTOS piha. Ma waho aʻe o ka hāʻawi ʻana i ke kākoʻo holoʻokoʻa no kēia ʻōnaehana hana, ua hoʻolōʻihi ʻia ʻo Espressif i kāna kākoʻo i nā pahu pālua. No nā pahu ʻelua-core e like me ESP32 a me ESP32-S3, hiki i nā mea hoʻohana ke hana i nā hana ma nā kiko kikoʻī.
b. docs papa kuhikuhi
Aia i loko o kēia papa kuhikuhi nā palapala hoʻomohala pili i ka ESP-IDF, me ka Get Started Guide, API Reference Manual, Development Guide, etc.
KA MANAʻO Ma hope o ka hōʻuluʻulu ʻia ʻana e nā mea hana maʻemaʻe, ua kau ʻia nā mea o kēia papa kuhikuhi ma https://docs.espressif.com/projects/esp-idf. E ʻoluʻolu e hoʻololi i ka pahuhopu palapala i ESP32-C3 a koho i ka mana ESP-IDF i kuhikuhi ʻia.
c. Mea paahana palapala
Aia kēia papa kuhikuhi i nā mea hana maʻamau i hoʻohana mua ʻia e like me idf.py, a me ka hāmeʻa pahu kiaʻi idf_monitor.py, a pēlā aku. files o ka ʻōnaehana hōʻuluʻulu, e lawelawe ana ma ke ʻano he kumu no ka hoʻokō ʻana i nā lula hoʻohui ESP-IDF. I ka hoʻohui ʻana i nā mea hoʻololi kaiapuni, hoʻohui ʻia nā mea i loko o ka papa kuhikuhi mea hana i ka ʻōnaehana kaiapuni ʻōnaehana, e ʻae i ka idf.py e hoʻokō pololei ʻia ma lalo o ke ala o ka papahana.
d. Example papa kuhikuhi papahana examples
Aia kēia papa kuhikuhi i kahi hōʻiliʻili nui o ESP-IDF exampnā polokalamu e hōʻike ana i ka hoʻohana ʻana i nā API. ʻO ka exampHoʻonohonoho ʻia nā les i nā subdirectories like ʻole e pili ana i kā lākou mau ʻāpana:
· hoʻomaka: Aia kēia sub-directory me ex-level exampe like me "hello world" a me "blink" e kōkua i nā mea hoʻohana e hoʻomaopopo i nā kumu.
· Bluetooth: Hiki iā ʻoe ke loaʻa i nā ex pili Bluetoothampma ʻaneʻi, me Bluetooth LE Mesh, Bluetooth LE HID, BluFi, a me nā mea hou aku.
· wifi: Ke nānā nei kēia sub-directory i ka Wi-Fi examples, me nā polokalamu maʻamau e like me Wi-Fi SoftAP, Wi-Fi Station, espnow, a me nā protocol kamaʻilio proprietary examples mai Espressif. Loaʻa pū kekahi i nā papa noi lehulehu examples e pili ana i ka Wi-Fi, e like me Iperf, Sniffer, a me Smart Config.
· peripherals: Ua māhele ʻia kēia papa kuhikuhi nui i loko o nā waihona waihona he nui e pili ana i nā inoa peripheral. Loaʻa ka mea hoʻokele peripheral examples no nā ʻāpana Espressif, me kēlā me kēia example e hōʻike ana i kekahi mau sub-examples. No ka laʻana, ʻo ka sub-directory gpio he ʻelua examples: GPIO a me GPIO matrix keyboard. He mea nui e hoʻomaopopo ʻaʻole nā exampʻO nā mea i loko o kēia papa kuhikuhi pili i ESP32-C3.
36 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
No example, ka examppili wale nā les i ka usb/host i nā peripherals me ka lako USB Host (e like me ESP32-S3), a ʻaʻohe ESP32-C3 kēia peripheral. Hāʻawi maʻamau ka ʻōnaehana hōʻuluʻulu i nā kuhikuhi i ka wā e hoʻonohonoho ai i ka pahuhopu. ʻO ka README file o kēlā me kēia exampLe papa inoa i nā ʻāpana i kākoʻo ʻia. · protocols: Aia kēia sub-directory i examples no nā kuʻina kamaʻilio like ʻole, me MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP, e uhi ana i kahi ākea o ka protocol kamaʻilio exampnā mea e pono ai no ka hoʻomohala ʻana o IoT. · hoʻolako: Ma ʻaneʻi, ʻike ʻoe i ka hoʻolako examples no nā ʻano hana like ʻole, e like me ka hoʻolako Wi-Fi a me ka hāʻawi ʻana i Bluetooth LE. · ʻōnaehana: Aia kēia sub-directory i ka hoʻopau ʻana i ka ʻōnaehana examples (e laʻa, ka hoʻopaʻa ʻana, ka ʻimi ʻana i ka wā holo, ka nānā ʻana i nā hana), ka hoʻokele mana examples (e laʻa, nā ʻano moe like ʻole, nā kaʻina hana pū), a me examples pili i nā ʻāpana ʻōnaehana maʻamau e like me console terminal, hanana hanana, a me ka manawa ʻōnaehana. · waihona: I loko o kēia sub-directory, e ʻike ʻoe i examples o na mea a pau file nā ʻōnaehana a me nā ʻōnaehana mālama i kākoʻo ʻia e ESP-IDF (e like me ka heluhelu ʻana a me ke kākau ʻana o Flash, kāleka SD a me nā mea hoʻopaʻa waihona ʻē aʻe), a me exampnā ʻāpana o ka mālama ʻole-volatile (NVS), FatFS, SPIFFS a me nā mea ʻē aʻe file nā hana ʻōnaehana. · palekana: Aia kēia sub-directory i examples pili i ka hoʻopunipuni flash. (2) ESP-IDF compilation tool chain directory (/.espressif), e like me ka hoike ana ma ke Kii 4.3.
Kiʻi 4.3. ESP-IDF hui pūʻulu kaulahao papa kuhikuhi
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 37
a. Papa kuhikuhi hoolaha lako polokalamu dist
Hāʻawi ʻia ke kaulahao mea hana ESP-IDF a me nā polokalamu ʻē aʻe ma ke ʻano o nā pūʻolo paʻa. I ka wā o ka hoʻouka ʻana, hoʻoiho mua ka mea hoʻonohonoho i ka pūʻolo i hoʻopaʻa ʻia i ka dist directory, a laila unuhi iā ia i ka papa kuhikuhi i kuhikuhi ʻia. Ke pau ka hoʻouka ʻana, hiki ke wehe pono ʻia nā mea i loko o kēia papa kuhikuhi.
b. Python virtual environment directory python env
Ke hilinaʻi nei nā mana like ʻole o ESP-IDF i nā mana kikoʻī o nā pūʻolo Python. ʻO ka hoʻokomo pono ʻana i kēia mau pūʻolo ma ka pūʻali hoʻokahi hiki ke alakaʻi i nā paio ma waena o nā mana pūʻolo. No ka hoʻoponopono ʻana i kēia, hoʻohana ʻo ESP-IDF i nā kaiapuni virtual Python e hoʻokaʻawale i nā ʻano ʻāpana like ʻole. Me kēia hana, hiki i nā mea hoʻomohala ke hoʻokomo i nā mana he nui o ESP-IDF ma ka pūʻali hoʻokahi a hoʻololi maʻalahi i waena o lākou ma o ka lawe ʻana i nā ʻano like ʻole.
c. ESP-IDF compilation tool chain directory tools
Aia i loko o kēia papa kuhikuhi nā mea hana cross-compilation i koi ʻia no ka hōʻuluʻulu ʻana i nā papahana ESP-IDF, e like me nā mea hana CMake, nā mea hana Ninja, a me ke kaulahao mea hana gcc e hoʻopuka ai i ka papahana hoʻokō hope loa. Hoʻohui ʻia, mālama kēia papa kuhikuhi i ka waihona maʻamau o ka ʻōlelo C/C++ me ke poʻo e pili ana files. Inā kuhikuhi kekahi papahana i kahi poʻomanaʻo ʻōnaehana file like #include , e huli ke kaulahao mea houluulu i ka stdio.h file i loko o kēia papa kuhikuhi.
4.2 Hoʻonohonoho i ka ESP-IDF Development Environment
Kākoʻo ka ʻōnaehana hoʻomohala ESP-IDF i nā ʻōnaehana hana nui e like me Windows, Linux, a me macOS. E hōʻike ana kēia ʻāpana i ka hoʻonohonoho ʻana i ke kaiapuni hoʻomohala ma kēlā me kēia ʻōnaehana. Manaʻo ʻia e hoʻomohala i ka ESP32-C3 ma ka ʻōnaehana Linux, e hōʻike ʻia ma nā kikoʻī ma aneʻi. Nui nā ʻōlelo aʻo e pili ana i nā paepae ma muli o ka like o nā mea hana hoʻomohala. No laila, ʻōlelo ʻia e heluhelu pono i ka ʻike o kēia ʻāpana.
NĀ MEA Hiki iā ʻoe ke nānā i nā palapala pūnaewele i loaʻa ma https://bookc3.espressif.com/esp32c3, e hāʻawi ana i nā kauoha i ʻōlelo ʻia ma kēia ʻāpana.
4.2.1 Hoʻonohonoho i ka ESP-IDF Development Environment ma Linux
ʻO ka hoʻomohala ʻana o GNU a me nā mea hana debugging i koi ʻia no ka ʻenehana hoʻomohala ESP-IDF he mea maoli ia i ka ʻōnaehana Linux. Hoʻohui ʻia, he mana a hoʻohana ʻia ka laina kauoha ma Linux, e hana ana i kahi koho kūpono no ka hoʻomohala ESP32-C3. Hiki iā ʻoe
38 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
E koho i kāu mahele Linux makemake, akā makemake mākou e hoʻohana i ka Ubuntu a i ʻole nā ʻōnaehana Debianbased. Hāʻawi kēia ʻāpana i ke alakaʻi ʻana i ka hoʻonohonoho ʻana i ke kaiapuni hoʻomohala ESP-IDF ma Ubuntu 20.04.
1. E hoʻouka i nā pūʻolo i makemake ʻia
E wehe i kahi kikowaena hou a hoʻokō i kēia kauoha e hoʻokomo i nā pūʻolo pono āpau. E hoʻokuʻu wale ke kauoha i nā pūʻolo i hoʻokomo mua ʻia.
$ sudo apt-e hoʻokomo i ka git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
TIPS Pono ʻoe e hoʻohana i ka moʻokāki luna a me ka ʻōlelo huna no ke kauoha ma luna. Ma ka paʻamau, ʻaʻohe ʻike e hōʻike ʻia i ke komo ʻana i ka ʻōlelo huna. E kaomi wale i ke kī "Enter" e hoʻomau i ke kaʻina hana.
ʻO Git kahi mea hana hoʻokele code koʻikoʻi ma ESP-IDF. Ma hope o ka hoʻonohonoho pono ʻana i ke kaiapuni hoʻomohala, hiki iā ʻoe ke hoʻohana i ke kauoha git log i view ʻO nā hoʻololi code āpau i hana ʻia mai ka hana ʻana o ESP-IDF. Eia kekahi, hoʻohana pū ʻia ʻo Git ma ESP-IDF e hōʻoia i ka ʻike o ka mana, pono ia no ka hoʻokomo ʻana i ke kaulahao pono e pili ana i nā mana kikoʻī. Me ka Git, ʻo nā mea hana ʻōnaehana koʻikoʻi ʻē aʻe me Python. Hoʻokomo ʻia ʻo ESP-IDF i nā palapala automation he nui i kākau ʻia ma Python. Hoʻohana nui ʻia nā mea hana e like me CMake, Ninja-build, a me Ccache i nā papahana C/C++ a lawelawe ʻo ia ma ke ʻano he code compilation a me nā mea hana hale ma ESP-IDF. ʻO libusb-1.0-0 a me dfu-util nā mea hoʻokele nui i hoʻohana ʻia no ke kamaʻilio serial USB a me ka puhi ʻana i ka firmware. Ke hoʻokomo ʻia nā pūʻolo polokalamu, hiki iā ʻoe ke hoʻohana i ka hōʻike apt kauoha e kiʻi i nā wehewehe kikoʻī o kēlā me kēia pūʻolo. No exampe, hoʻohana i ka apt show git e paʻi i ka ʻike wehewehe no ka mea hana Git.
Nīnau: He aha ka hana inā ʻaʻole kākoʻo ʻia ka mana Python? A: Pono ka ESP-IDF v4.3 i kahi mana Python i emi iho ma lalo o v3.6. No nā mana kahiko o Ubuntu, e ʻoluʻolu e hoʻoiho lima a hoʻokomo i kahi mana kiʻekiʻe o Python a hoʻonoho iā Python3 ma ke ʻano he Python paʻamau. Hiki iā ʻoe ke loaʻa nā kuhikuhi kikoʻī ma ka ʻimi ʻana i ka huaʻōlelo update-alternatives python.
2. Hoʻoiho i ka code waihona ESP-IDF
E wehe i kahi pahu a hana i kahi waihona i kapa ʻia esp ma kāu papa kuhikuhi home me ka hoʻohana ʻana i ke kauoha mkdir. Hiki iā ʻoe ke koho i kahi inoa ʻē aʻe no ka waihona inā makemake ʻoe. E hoʻohana i ke kauoha cd e komo i ka waihona.
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 39
$ mkdir -p /esp $ cd /esp
E hoʻohana i ke kauoha git clone e hoʻoiho i ka code repository ESP-IDF, e like me ka mea i hōʻike ʻia ma lalo nei.
$ git clone -b v4.3.2 –recursive https://github.com/espressif/esp-idf.git
Ma ke kauoha ma luna nei, ua kuhikuhi ka parameter -b v4.3.2 i ka mana e hoʻoiho (i kēia hihia, mana 4.3.2). ʻO ka palena -recursive e hōʻoia i ka hoʻoiho hou ʻana i nā sub-repositories o ESP-IDF. Hiki ke loaʻa nā ʻike e pili ana i nā sub-repositories ma nā .gitmodules file.
3. E hoʻouka i ke kaulahao mea hana hoʻomohala ESP-IDF
Hāʻawi ʻo Espressif i kahi script automated install.sh e hoʻoiho a hoʻokomo i ke kaulahao mea hana. Nānā kēia ʻatikala i ka mana ESP-IDF o kēia manawa a me ka ʻōnaehana hana, a laila hoʻoiho a hoʻokomo i ka mana kūpono o nā pūʻolo hāmeʻa Python a me nā kaulahao mea hana hoʻohui. ʻO ke ala hoʻokomo paʻamau no ke kaulahao mea hana ʻo /.espressif. ʻO nā mea a pau āu e hana ai, ʻo ka hoʻokele i ka papa kuhikuhi esp-idf a holo i ka install.sh.
$ cd /esp/esp-idf $ ./install.sh
Inā hoʻokomo pono ʻoe i ke kaulahao mea hana, e hōʻike ʻia ka pahu:
Pau nā mea a pau!
I kēia manawa, ua hoʻonohonoho pono ʻoe i ke kaiapuni hoʻomohala ESP-IDF.
4.2.2 Hoʻonohonoho i ka ESP-IDF Development Environment ma Windows
1. Hoʻoiho i ka mea hoʻonoho hāmeʻa ESP-IDF
TIPS Manaʻo ʻia e hoʻonohonoho i ka ʻenehana hoʻomohala ESP-IDF ma Windows 10 a i ʻole. Hiki iā ʻoe ke hoʻoiho i ka mea hoʻonoho mai https://dl.espressif.com/dl/esp-idf/. ʻO ka mea hoʻokomo he polokalamu wehe-punahele, a hiki i kāna code kumu viewed ma https: //github.com/espressif/idf-installer.
· Mea hoʻonoho mea hana ESP-IDF pūnaewele
He liʻiliʻi kēia mea hoʻonoho, ma kahi o 4 MB ka nui, a e hoʻoiho ʻia nā pūʻolo a me nā code ʻē aʻe i ka wā o ke kaʻina hana. ʻO ka advantagʻO ka mea hoʻonohonoho pūnaewele ʻaʻole hiki ke hoʻoiho wale ʻia nā pūʻolo polokalamu a me nā code ma ke koi ʻana i ka wā o ka hoʻonohonoho ʻana, akā e ʻae pū i ka hoʻokomo ʻana i nā hoʻokuʻu āpau i loaʻa o ESP-IDF a me ka lālā hou loa o ke code GitHub (e like me ka lālā kumu). . ʻO ka disadvantagʻo ia ka mea e koi ai i kahi pilina pūnaewele i ka wā o ka hoʻonohonoho ʻana, hiki ke hoʻopau i ka hoʻokomo ʻana ma muli o nā pilikia pūnaewele.
40 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
· Pahemo ESP-IDF mea hoʻokomo mea hoʻonoho ʻOi aku ka nui o kēia mea hoʻonoho, ma kahi o 1 GB ka nui, a aia nā pūʻolo polokalamu a me nā code i makemake ʻia no ka hoʻonohonoho ʻia ʻana. ʻO ka advan nuitagʻO ka mea hoʻokomo pūnaewele he hiki ke hoʻohana ʻia ma nā kamepiula me ka loaʻa ʻole o ka Pūnaewele, a ʻoi aku ka nui o ka holomua o ka hoʻokomo ʻana. Pono e hoʻomaopopo ʻia hiki i ka mea hoʻokomo pūnaewele ke hoʻokomo i nā hoʻokuʻu paʻa o ESP-IDF i ʻike ʻia e v*.* a i ʻole v*.*.*.
2. Holo i ka ESP-IDF Tools installer Ma hope o ka hoʻoiho ʻana i kahi mana kūpono o ka mea hoʻokomo (e lawe i ka ESP-IDF Tools Offline 4.3.2 no example here), kaomi pālua i ka exe file e hoʻomaka i ke kikowaena hoʻonohonoho ESP-IDF. Hōʻike ka mea ma lalo nei pehea e hoʻokomo ai i ka mana paʻa ESP-IDF v4.3.2 me ka hoʻohana ʻana i ka mea hoʻokomo pūnaewele.
(1) Ma ka "Select installation language" i hōʻike ʻia ma ka Figure 4.4, koho i ka ʻōlelo e hoʻohana ʻia mai ka papa inoa hāʻule iho.
Helu 4.4. "E koho i ka ʻōlelo hoʻonohonoho" (2) Ma hope o ke koho ʻana i ka ʻōlelo, kaomi iā "OK" no ka hoʻopuka ʻana i ka interface "License agreement".
(e nānā i ke Kiʻi 4.5). Ma hope o ka heluhelu pono ʻana i ka ʻaelike laikini hoʻonohonoho, koho "ʻAe wau i ka ʻaelike" a kaomi "Next".
Helu 4.5. "ʻaelike laikini" Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 41
(3) Review ka hoʻonohonoho hoʻonohonoho pūnaewele ma ka "Pre-installation system check" interface (e nānā i ke Kiʻi 4.6). E nānā i ka mana Windows a me ka ʻike polokalamu antivirus i hoʻokomo ʻia. Kaomi "Next" inā maʻamau nā mea hoʻonohonoho āpau. A i ʻole, hiki iā ʻoe ke kaomi "Full log" no nā hoʻonā e pili ana i nā mea nui.
Helu 4.6. "Nānā ʻōnaehana ma mua o ka hoʻokomo ʻana" TIPS
Hiki iā ʻoe ke hoʻouna i nā lāʻau i https://github.com/espressif/idf-installer/issues no ke kōkua. (4) E koho i ka papa kuhikuhi hoʻokomo ESP-IDF. Maʻaneʻi, koho D:/.espressif, e like me ka mea i hōʻike ʻia ma
Kiʻi 4.7, a kaomi "Next". E ʻoluʻolu e hoʻomaopopo ʻo .espressif ma aneʻi kahi papa kuhikuhi huna. Ma hope o ka pau ʻana o ke kau ʻana, hiki iā ʻoe view nā mea kiko'ī o kēia papa kuhikuhi ma ka wehe ʻana i ka file luna a hōʻike i nā mea huna.
Helu 4.7. E koho i ka papa kuhikuhi hoʻonohonoho ESP-IDF 42 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
(5) E nānā i nā ʻāpana e pono e hoʻokomo, e like me ka hōʻike ʻana ma ke Kiʻi 4.8. Manaʻo ʻia e hoʻohana i ke koho paʻamau, ʻo ia hoʻi, hoʻopiha piha, a laila kaomi "Next".
Helu 4.8. E koho i nā ʻāpana e hoʻokomo (6) E hōʻoia i nā ʻāpana e hoʻokomo ʻia a kaomi iā "Install" e hoʻomaka i ka hoʻokomo ʻana
ke kaʻina hana hoʻopaʻa, e like me ka hōʻike ʻana ma ke Kiʻi 4.9. He ʻumi mau minuke ka lōʻihi o ka hoʻonohonoho ʻana a hōʻike ʻia ka pae holomua o ka hoʻonohonoho ʻana ma ke Kiʻi 4.10. E ʻoluʻolu e kali hoʻomanawanui.
Helu 4.9. E hoʻomākaukau ana no ka hoʻokomo ʻana (7) Ma hope o ka pau ʻana o ka hoʻokomo ʻana, pono e nānā "E hoʻopaʻa inoa i ka ESP-IDF
Hiki ke hoʻokō ʻia nā mea hana e like me ka wehe ʻana o Windows Defender…” e pale aku i ka polokalamu antivirus mai ka holoi ʻana files. ʻO ka hoʻohui ʻana i nā mea hoʻokaʻawale hiki ke hoʻokuʻu i nā scan pinepine e ka antivirus
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 43
Helu 4.10. ʻO ka polokalamu hoʻonohonoho holomua pae, hoʻomaikaʻi nui i ka pono o ka hōʻuluʻulu code o ka ʻōnaehana Windows. Kaomi "Hoʻopau" e hoʻopau i ka hoʻokomo ʻana i ke kaiapuni hoʻomohala, e like me ka hōʻike ʻana ma ke Kiʻi 4.11. Hiki iā ʻoe ke koho e nānā i ka "Run ESP-IDF PowerShell environment" a i ʻole "Run ESP-IDF command prompt". E holo pololei i ka puka aniani hōʻuluʻulu ma hope o ke kau ʻana e hōʻoia i ka hana maʻamau o ke kaiapuni hoʻomohala.
Helu 4.11. Hoʻopau ʻia ka hoʻouka ʻana (8) Wehe i ke kaiapuni hoʻomohala i hoʻokomo ʻia ma ka papa inoa o ka papahana (a i ʻole ESP-IDF 4.3
CMD a i ʻole ESP-IDF 4.3 PowerShell terminal, e like me ka mea i hōʻike ʻia ma ke Kiʻi 4.12), a e hoʻohui ʻia ka hoʻololi kaiapuni ESP-IDF i ka wā e holo ana i ka pahu. Ma hope o kēlā, hiki iā ʻoe ke hoʻohana i ke kauoha idf.py no nā hana. Hōʻike ʻia ka ESP-IDF 4.3 CMD i wehe ʻia ma ke Kiʻi 4.13. 44 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Helu 4.12. Hoʻokomo ʻia ka ʻāina hoʻomohala
Helu 4.13. ESP-IDF 4.3 CMD
4.2.3 Hoʻonohonoho i ka ESP-IDF Development Environment ma Mac
ʻO ke kaʻina hana o ka hoʻokomo ʻana i ke kaiapuni hoʻomohala ESP-IDF ma kahi ʻōnaehana Mac e like me ia ma kahi ʻōnaehana Linux. ʻO nā kauoha no ka hoʻoiho ʻana i ka code repository a me ka hoʻokomo ʻana i ke kaulahao mea hana like like. He ʻokoʻa iki nā kauoha no ka hoʻokomo ʻana i nā pūʻolo hilinaʻi. 1. E hoʻouka i nā pūʻolo hilinaʻi E wehe i kahi pahu, a e hoʻokomo i ka pip, ka mea hana hoʻokele pūʻolo Python, ma ka holo ʻana i kēia kauoha:
% sudo maʻalahi e hoʻokomo i ka pip
E hoʻouka i ka Homebrew, kahi mea hoʻokele hoʻokele no ka macOS, ma ka holo ʻana i kēia kauoha:
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
E hoʻouka i nā pūʻolo hilinaʻi e pono ai ma ka holo ʻana i kēia kauoha:
% brew python3 hoʻokomo i ka cmake ninja ccache dfu-util
2. Hoʻoiho i ka code waihona ESP-IDF E hahai i nā kuhikuhi i hāʻawi ʻia ma ka pauku 4.2.1 e kiʻi i ka code waihona ESP-IDF. Ua like nā ʻanuʻu me ka hoʻoiho ʻana ma kahi ʻōnaehana Linux.
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 45
3. E hoʻouka i ke kaulahao mea hana hoʻomohala ESP-IDF
E hahai i nā ʻōlelo kuhikuhi i hāʻawi ʻia ma ka pauku 4.2.1 e hoʻokomo i ke kaulahao mea hana hoʻomohala ESP-IDF. Ua like nā ʻanuʻu me ka hoʻokomo ʻana ma kahi ʻōnaehana Linux.
4.2.4 Hoʻokomo VS Code
Ma ka maʻamau, ʻaʻole i hoʻokomo ʻia ka ESP-IDF SDK i kahi mea hana hoʻoponopono code (ʻoiai ʻo ka mea hoʻonoho ESP-IDF hou loa no Windows e hāʻawi i ke koho e hoʻokomo i ka ESP-IDF Eclipse). Hiki iā ʻoe ke hoʻohana i kekahi mea hoʻoponopono kikokikona āu e koho ai e hoʻoponopono i ke code a laila hoʻohui pū me ka hoʻohana ʻana i nā kauoha terminal.
ʻO kekahi mea hana hoʻoponopono code kaulana ʻo VS Code (Visual Studio Code), he mea hoʻoponopono code manuahi a me nā hiʻohiʻona me kahi mea hoʻohana. Hāʻawi ia i nā ʻano like ʻole plugins e hāʻawi i nā hana e like me ka hoʻokele code, syntax highlighting, Git version control, a me ka hoʻohui ʻana. Eia hou, ua hoʻomohala ʻo Espressif i kahi plugin i hoʻolaʻa ʻia i kapa ʻia ʻo Espressif IDF no VS Code, e hoʻomaʻamaʻa i ka hoʻonohonoho ʻana a me ka debugging.
Hiki iā ʻoe ke hoʻohana i ke kauoha code i ka pahu e wehe koke i ka waihona o kēia manawa ma VS Code. ʻO kahi ʻē aʻe, hiki iā ʻoe ke hoʻohana i ka pōkole Ctrl+ e wehe i ka console terminal paʻamau o ka ʻōnaehana i loko o VS Code.
TIPS Manaʻo ʻia e hoʻohana i ka Code VS no ka hoʻomohala code ESP32-C3. Hoʻoiho a hoʻokomo i ka mana hou o VS Code ma https://code.visualstudio.com/.
4.2.5 Hoʻolauna i nā Kaiapuni Hoʻomohala ʻEkolu
Ma waho aʻe o ke kaiapuni hoʻomohala kūhelu ESP-IDF, ka mea i hoʻohana mua i ka ʻōlelo C, kākoʻo pū ʻo ESP32-C3 i nā ʻōlelo papahana ʻē aʻe a me kahi ākea o nā kaiapuni hoʻomohala ʻekolu. Aia kekahi mau koho kaulana:
Arduino: he kahua hoʻoheheʻe ʻia no nā lako lako a me nā lako polokalamu, e kākoʻo ana i nā microcontrollers like ʻole, me ka ESP32-C3.
Hoʻohana ia i ka ʻōlelo C++ a hāʻawi i kahi API maʻalahi a maʻamau, i kapa ʻia ʻo ka ʻōlelo Arduino. Hoʻohana nui ʻia ʻo Arduino i ka hoʻomohala prototype a me nā ʻano hoʻonaʻauao. Hāʻawi ia i kahi polokalamu polokalamu hoʻonui a me kahi IDE e hiki ai ke hoʻohui maʻalahi a me ka uila.
ʻO MicroPython: he unuhi ʻōlelo Python 3 i hoʻolālā ʻia e holo ma nā kahua microcontroller i hoʻokomo ʻia.
Me ka ʻōlelo maʻalahi, hiki iā ia ke komo pololei i nā kumuwaiwai peripheral o ESP32-C3 (e like me UART, SPI, a me I2C) a me nā hana kamaʻilio (e like me Wi-Fi a me Bluetooth LE).
46 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
Hoʻomaʻamaʻa kēia i ka pilina paʻa. ʻO MicroPython, i hui pū ʻia me ka waihona hana makemakika nui o Python, hiki ke hoʻokō i nā algorithms paʻakikī ma ESP32-C3, e hoʻomaʻamaʻa i ka hoʻomohala ʻana i nā noi pili AI. Ma ke ʻano he ʻōlelo palapala, ʻaʻohe pono o ka hoʻopili hou ʻana; hiki ke hoʻololi a hiki ke hoʻokō pololei ʻia nā palapala.
NodeMCU: he unuhi ʻōlelo LUA i hoʻomohala ʻia no nā ʻāpana ESP series.
Kākoʻo ia i nā hana peripheral āpau o nā chips ESP a ʻoi aku ka māmā ma mua o MicroPython. E like me MicroPython, hoʻohana ʻo NodeMCU i kahi ʻōlelo palapala, e hoʻopau ana i ka pono no ka hoʻohui hou ʻana.
Eia kekahi, kākoʻo pū ʻo ESP32-C3 i nā ʻōnaehana hana NuttX a me Zephyr. ʻO NuttX kahi ʻōnaehana hana manawa maoli e hāʻawi ana i nā kikowaena POSIX-kūpono, e hoʻonui ana i ka portability o ka noi. ʻO Zephyr kahi ʻōnaehana hana liʻiliʻi maoli i hoʻolālā ʻia no nā noi IoT. Loaʻa iā ia nā hale waihona puke polokalamu he nui i koi ʻia i ka hoʻomohala ʻana iā IoT, e ulu mālie ana i kahi kaiaola lako polokalamu.
ʻAʻole hāʻawi kēia puke i nā kuhikuhi hoʻonohonoho kikoʻī no nā kaiapuni hoʻomohala i ʻōlelo ʻia ma luna. Hiki iā ʻoe ke hoʻouka i kahi kaiapuni hoʻomohala e pili ana i kāu mau koi ma ka hahai ʻana i nā palapala a me nā ʻōlelo kuhikuhi.
4.3 Pūnaehana Hoʻohui ESP-IDF
4.3.1 Nā Manaʻo Kumu o ka Pūnaehana Hui
ʻO kahi papahana ESP-IDF he hōʻiliʻili o kahi papahana nui me kahi hana komo a me nā ʻāpana hana kūʻokoʻa he nui. No exampʻO ka papahana e hoʻomalu ana i nā hoʻololi LED he mea nui ka papahana hoʻokomo a me kahi mea hoʻokele e hoʻokele i ka GPIO. Inā makemake ʻoe e ʻike i ka mana mamao LED, pono ʻoe e hoʻohui iā Wi-Fi, TCP/IP protocol stack, etc.
Hiki i ka ʻōnaehana hōʻuluʻulu ke hōʻuluʻulu, loulou, a hoʻohua i nā mea hiki ke hoʻokō files (.bin) no ke code ma o kahi hoʻonohonoho o nā lula kūkulu. Hoʻokumu ʻia ka ʻōnaehana hōʻuluʻulu o ESP-IDF v4.0 a i luna ma luna o CMake ma ke ʻano paʻamau, a hiki ke hoʻohana ʻia ka palapala hōʻuluʻulu CMakeLists.txt no ka hoʻomalu ʻana i ka ʻano hoʻohui o ke code. Ma waho aʻe o ke kākoʻo ʻana i ka syntax kumu o CMake, ua wehewehe pū ka ʻōnaehana hoʻohui ESP-IDF i kahi hoʻonohonoho o nā lula compilation paʻamau a me nā hana CMake, a hiki iā ʻoe ke kākau i ka palapala hōʻuluʻulu me nā ʻōlelo maʻalahi.
4.3.2 Papahana File Hoʻolālā
ʻO kahi papahana kahi waihona i loaʻa kahi papahana komo nui, nā mea hoʻohana i wehewehe ʻia, a files koi ʻia e kūkulu i nā noi hoʻokō, e like me nā palapala hōʻuluʻulu, hoʻonohonoho
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 47
files, papa ʻāpana, a pēlā aku. Hiki ke kope ʻia nā papahana a hāʻawi ʻia, a me ka hoʻokō like file hiki ke hōʻuluʻulu a hana ʻia i nā mīkini me ka mana like o ka ESP-IDF kaiapuni hoʻomohala. He papahana ESP-IDF maʻamau file hōʻike ʻia ka hale ma ke Kiʻi 4.14.
Helu 4.14. Pāhana ESP-IDF maʻamau file hale No ka mea e kākoʻo ana ʻo ESP-IDF i nā ʻāpana IoT he nui mai Espressif, me ESP32, ESP32-S series, ESP32-C series, ESP32-H series, etc., pono e hoʻoholo ʻia kahi pahuhopu ma mua o ka hōʻuluʻulu ʻana i ke code. ʻO ka pahuhopu ʻo ia ka hāmeʻa lako e holo ana i ka polokalamu noi a me ka pahuhopu kūkulu o ka ʻōnaehana hōʻuluʻulu. Ma muli o kāu mau pono, hiki iā ʻoe ke kuhikuhi i hoʻokahi a ʻoi aku paha mau pahuhopu no kāu papahana. No exampʻAe, ma o ke kauoha idf.py set-target esp32c3, hiki iā ʻoe ke hoʻonohonoho i ka pahuhopu hōʻuluʻulu i ESP32-C3, kahi e hoʻouka ʻia ai nā ʻāpana paʻamau a me ke ala kaulahao mea hoʻohui no ESP32C3. Ma hope o ka hōʻuluʻulu ʻana, hiki ke hana ʻia kahi papahana hoʻokō no ESP32C3. Hiki iā ʻoe ke holo hou i ke kauoha set-target e hoʻonoho i kahi pahuhopu ʻē aʻe, a e hoʻomaʻemaʻe a hoʻonohonoho hou ka ʻōnaehana hui. Nā ʻāpana
ʻO nā ʻāpana i loko o ka ESP-IDF he mau ʻāpana code modular a kūʻokoʻa i mālama ʻia i loko o ka ʻōnaehana hōʻuluʻulu. Hoʻonohonoho ʻia lākou e like me nā waihona, me ka inoa folder e hōʻike ana i ka inoa ʻāpana ma ka paʻamau. Loaʻa i kēlā me kēia ʻāpana kāna palapala hōʻuluʻulu ponoʻī ʻo 48 ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT
hōʻike i kāna mau ʻāpana hoʻohui a me nā hilinaʻi. I ka wā o ke kaʻina hana, hoʻohui ʻia nā ʻāpana i loko o nā hale waihona puke kūʻokoʻa (.a files) a hui pū ʻia me nā ʻāpana ʻē aʻe e hana i ka papahana noi.
Hāʻawi ʻo ESP-IDF i nā hana koʻikoʻi, e like me ka ʻōnaehana hana, nā mea hoʻokele peripheral, a me ka pūʻulu protocol network, ma ke ʻano o nā ʻāpana. Mālama ʻia kēia mau ʻāpana i ka papa kuhikuhi ʻāpana i loko o ka papa kuhikuhi kumu ESP-IDF. ʻAʻole pono nā mea hoʻomohala e kope i kēia mau ʻāpana i ka papa kuhikuhi ʻāpana o myProject. Akā, pono lākou e wehewehe i nā pilina pili o kēia mau ʻāpana i ka CMakeLists.txt o ka papahana. file me ka hoʻohana ʻana i nā kuhikuhi REQUIRES a i ʻole PRIV_REQUIRES. Na ka ʻōnaehana hoʻohui e ʻimi a hoʻohui i nā mea pono.
No laila, ʻaʻole pono ka papa kuhikuhi ʻāpana ma lalo o myProject. Hoʻohana wale ʻia e hoʻokomo i kekahi mau mea maʻamau o ka papahana, hiki ke lilo i hale waihona puke ʻaoʻao ʻekolu a i ʻole code i wehewehe ʻia e ka mea hoʻohana. Eia hou, hiki ke kiʻi ʻia nā ʻāpana mai kahi papa kuhikuhi ʻē aʻe ma waho o ESP-IDF a i ʻole ka papahana o kēia manawa, e like me ka papahana open-source i mālama ʻia ma kahi papa kuhikuhi ʻē aʻe. I kēia hihia, pono ʻoe e hoʻohui i ke ala o ka ʻāpana ma ka hoʻonohonoho ʻana i ka hoʻololi EXTRA_COMPONENT_DIRS i ka CMakeLists.txt ma lalo o ka papa kuhikuhi kumu. E hoʻopau kēia papa kuhikuhi i kekahi ʻāpana ESP-IDF me ka inoa hoʻokahi, e hōʻoia ana e hoʻohana ʻia ka ʻāpana kūpono.
Ka papa kuhikuhi nui i loko o ka papahana e like me ia file hale e like me nā ʻāpana ʻē aʻe (e laʻa, ʻāpana1). Eia nō naʻe, paʻa ia i kahi koʻikoʻi kūikawā no ka mea he mea pono ia e pono ai i kēlā me kēia papahana. Aia i loko o ka papa kuhikuhi nui ka code kumu o ka papahana a me ka helu komo o ka mea hoʻohana, i kapa ʻia ʻo app_main. Ma ka maʻamau, hoʻomaka ka hoʻokō ʻana o ka polokalamu mea hoʻohana mai kēia wahi komo. He ʻokoʻa hoʻi ka ʻāpana nui ma muli o ka hilinaʻi ʻokoʻa i nā ʻāpana āpau i loko o ke ala huli. No laila, ʻaʻohe pono e hōʻike i nā mea hilinaʻi me ka hoʻohana ʻana i nā kuhikuhi REQUIRES a i ʻole PRIV_REQUIRES ma ka CMakeLists.txt. file.
Hoʻonohonoho file Aia ka papa kuhikuhi kumu o ka papahana i kahi hoʻonohonoho file kapa ʻia ʻo sdkconfig, aia nā ʻāpana hoʻonohonoho no nā mea āpau i loko o ka papahana. ʻO ka sdkconfig file hana ʻia e ka ʻōnaehana compilation a hiki ke hoʻololi ʻia a hana hou ʻia e ke kauoha idf.py menuconfig. Loaʻa nā koho menuconfig mai ka Kconfig.projbuild o ka papahana a me ka Kconfig o nā ʻāpana. Hoʻohui maʻamau nā mea hoʻomohala i nā mea hoʻonohonoho i Kconfig e hoʻololi i ka ʻāpana a hiki ke hoʻonohonoho.
E kūkulu i ka papa kuhikuhi Ma ka paʻamau, ʻo ka papa kuhikuhi kūkulu i loko o ka papahana hale kūʻai waena files a me ka fi-
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 49
nā papahana hoʻokō i hana ʻia e ke kauoha kūkulu idf.py. Ma keʻano laulā,ʻaʻole pono ke komo pololei i nā mea o ka papa kuhikuhi kūkulu. Hāʻawi ʻo ESP-IDF i nā kauoha i koho mua ʻia e launa pū me ka papa kuhikuhi, e like me ka hoʻohana ʻana i ke kauoha flash idf.py e ʻimi ʻakomi i ka binary i hui ʻia. file a hoʻolohi iā ia i ka helu uila i kuhikuhi ʻia, a i ʻole e hoʻohana i ke kauoha idf.py fullclean e hoʻomaʻemaʻe i ka papa kuhikuhi kūkulu holoʻokoʻa.
Pākaukau ʻāpana (partitions.csv) Pono kēlā me kēia pāhana i kahi papa ʻāpana e puʻunaue i ka lewa o ka flash a kuhikuhi i ka nui a me ka helu wahi hoʻomaka o ka papahana hiki ke hoʻokō a me ka wahi ʻikepili mea hoʻohana. ʻO ke kauoha idf.py flash a i ʻole ka polokalamu hoʻonui OTA e uila i ka firmware i ka helu kūpono e like me kēia papa. Hāʻawi ʻo ESP-IDF i nā papa ʻāpana paʻamau i nā ʻāpana/parttion_table, e like me partitions_singleapp.csv a me partitions_two_ ota.csv, hiki ke koho ʻia ma ka menuconfig.
Inā ʻaʻole hiki i ka papa ʻaina paʻamau o ka ʻōnaehana ke hoʻokō i nā koi o ka papahana, hiki ke hoʻohui ʻia kahi partitions.csv maʻamau i ka papa kuhikuhi papahana a koho ʻia ma menuconfig.
4.3.3 Nā rula kūkulu paʻamau o ka ʻōnaehana hōʻuluʻulu
Nā lula no ka hoʻopau ʻana i nā ʻāpana me ka inoa like I ka wā o ke kaʻina ʻimi ʻāpana, hahai ka ʻōnaehana hōʻuluʻulu i kahi kauoha kikoʻī. ʻImi mua ʻo ia i nā ʻāpana kūloko o ESP-IDF, a laila ʻimi i nā ʻāpana o ka papahana mea hoʻohana, a ʻimi hope i nā ʻāpana i EXTRA_COMPONENT_DIRS. Inā loaʻa i nā papa kuhikuhi he nui nā ʻāpana me ka inoa hoʻokahi, ʻo ka mea i loaʻa ma ka papa kuhikuhi hope e hoʻopau i nā ʻāpana mua me ka inoa like. Hāʻawi kēia lula i ka hana maʻamau o nā ʻāpana ESP-IDF i loko o ka papahana mea hoʻohana, ʻoiai e mālama mau ana i ka code ESP-IDF kumu.
Nā lula no ka hoʻokomo ʻana i nā ʻāpana maʻamau e like me ka mea i ʻōlelo ʻia ma ka pauku 4.3.2, pono e wehewehe pono nā ʻāpana i ko lākou hilinaʻi ʻana i nā ʻāpana ʻē aʻe o ka CMakeLists.txt. Eia nō naʻe, hoʻokomo ʻia nā mea maʻamau e like me freertos i loko o ka ʻōnaehana kūkulu ma ke ʻano maʻamau, ʻoiai inā ʻaʻole i wehewehe maopopo ʻia ko lākou pilina pili i ka palapala hōʻuluʻulu. ʻO nā mea maʻamau o ESP-IDF he freertos, Newlib, heap, log, soc, esp_rom, esp_common, xtensa/riscv, a me cxx. ʻO ka hoʻohana ʻana i kēia mau ʻāpana maʻamau e pale i ka hana hou ʻana i ke kākau ʻana iā CMakeLists.txt a hoʻopōkole.
Nā lula no ka hoʻopau ʻana i nā mea hoʻonohonoho hiki ke hoʻohui i nā ʻāpana hoʻonohonoho paʻamau ma ka hoʻohui ʻana i kahi hoʻonohonoho paʻamau file kapa ʻia ʻo sdkconfig.defaults i ka papahana. No example, hoʻohui CONFIG_LOG_
50 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
DEFAULT_LEVEL_NONE = hiki iā y ke hoʻonohonoho i ka interface UART e paʻi ʻole i ka ʻikepili log ma ka paʻamau. Eia kekahi, inā pono e hoʻonohonoho ʻia nā ʻāpana kikoʻī no kahi pahuhopu, kahi hoʻonohonoho file i kapa ʻia ʻo sdkconfig.defaults.TARGET_NAME hiki ke hoʻohui ʻia, kahi e hiki ai iā TARGET_NAME ke esp32s2, esp32c3, a pēlā aku. ʻO kēia mau hoʻonohonoho files i lawe ʻia i loko o ka sdkconfig i ka wā o ka hoʻopili ʻana, me ka hoʻonohonoho paʻamau maʻamau file sdkconfig.defaults i lawe mua ʻia, a ukali ʻia e ka hoʻonohonoho kikoʻī file, e like me sdkconfig.defaults.esp32c3. I nā hihia i loaʻa nā mea hoʻonohonoho me ka inoa like, ka hoʻonohonoho hope file e hoopau i ka mua.
4.3.4 Hoʻomaka i ka Palapala Hōʻuluʻulu
I ka hoʻomohala ʻana i kahi papahana me ka hoʻohana ʻana i ka ESP-IDF, ʻaʻole pono nā mea hoʻomohala e kākau i ka code kumu akā pono pū kekahi e kākau iā CMakeLists.txt no ka papahana a me nā ʻāpana. He kikokikona ʻo CMakeLists.txt file, i ʻike ʻia hoʻi he palapala hōʻuluʻulu, e wehewehe ana i ke ʻano o nā mea hōʻuluʻulu, nā mea hoʻonohonoho hoʻohuihui, a me nā kauoha e alakaʻi i ke kaʻina hana hoʻohui o ke code kumu. Hoʻokumu ʻia ka ʻōnaehana hōʻuluʻulu o ESP-IDF v4.3.2 ma CMake. Ma waho aʻe o ke kākoʻo ʻana i nā hana a me nā kauoha CMake maoli, wehewehe pū kekahi i nā ʻano hana maʻamau, e maʻalahi ai ke kākau ʻana i nā palapala hōʻuluʻulu.
ʻO nā palapala hōʻuluʻulu ma ESP-IDF ka nui o ka palapala hōʻuluʻulu papahana a me nā palapala hōʻuluʻulu ʻāpana. ʻO ka CMakeLists.txt ma ka papa kuhikuhi kumu o ka papahana i kapa ʻia ʻo ka palapala hōʻuluʻulu papahana, e alakaʻi ana i ke kaʻina hana o ka papahana holoʻokoʻa. ʻO ka palapala hōʻuluʻulu papahana maʻamau e komo i nā laina ʻekolu:
1. koi ʻia ka cmake_minimum(VERSION 3.5) 2. hoʻokomo($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. papahana(myProject)
Ma waena o lākou, pono ke kau ʻia ka cmake_minimum_required (VERSION 3.5) ma ka laina mua, i hoʻohana ʻia e hōʻike i ka helu helu CMake liʻiliʻi i koi ʻia e ka papahana. ʻO nā mana hou o CMake ka mea maʻamau i hope me nā mana kahiko, no laila e hoʻololi i ka helu mana e like me ka hoʻohana ʻana i nā kauoha CMake hou e hōʻoia i ka hoʻohālikelike.
komo($ENV {IDF_PATH}/tools/cmake/project.cmake) hoʻokomo i nā mea hoʻonohonoho i wehewehe mua ʻia a me nā kauoha o ka ʻōnaehana hoʻohui ESP-IDF, me nā lula kūkulu paʻamau o ka ʻōnaehana hōʻuluʻulu i wehewehe ʻia ma ka Pauku 4.3.3. project(myProject) hana i ka papahana pono'ī a kuhikuhi i kona inoa. E hoʻohana ʻia kēia inoa ma ke ʻano he binary puka hope loa file inoa, ʻo ia hoʻi, myProject.elf a me myProject.bin.
Hiki i ka papahana ke loaʻa nā ʻāpana he nui, me ka mea nui. Aia ka papa kuhikuhi papa kiʻekiʻe o kēlā me kēia ʻāpana he CMakeLists.txt file, ka mea i kapa ʻia ʻo ka palapala hōʻuluʻulu ʻāpana. Hoʻohana nui ʻia nā palapala hōʻuluʻulu ʻāpana e kuhikuhi i nā mea hilinaʻi, nā ʻāpana hoʻonohonoho, nā kumu kumu files, a me ke poʻo files no
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 51
ka houluulu ana. Me ka hana maʻamau a ESP-IDF idf_component_register, ʻo ka helu haʻahaʻa i koi ʻia no kahi palapala hōʻuluʻulu ʻāpana penei:
1. idf_component_register(SRCS “src1.c”
2.
INCLUDE_DIRS "hoʻokomo"
3.
KOI ANA i ka mea 1)
Hāʻawi ka ʻāpana SRCS i kahi papa inoa o ke kumu files i loko o ka ʻāpana, hoʻokaʻawale ʻia e nā hakahaka inā he nui files. Hāʻawi ka ʻāpana INCLUDE_DIRS i kahi papa inoa o ke poʻo lehulehu file nā papa kuhikuhi no ka ʻāpana, e hoʻohui ʻia i ke ala huli hoʻohui no nā ʻāpana ʻē aʻe e pili ana i ka ʻāpana o kēia manawa. Hoʻomaopopo ka ʻāpana REQUIRES i nā mea hilinaʻi o ka lehulehu no ka ʻāpana o kēia manawa. Pono nā ʻāpana e hōʻike maopopo i nā ʻāpana a lākou e hilinaʻi ai, e like me ka component2 ma muli o ka component1. Eia nō naʻe, no ka mea nui, e hilinaʻi ana i nā ʻāpana āpau ma ke ʻano maʻamau, hiki ke kāpae ʻia ka ʻāpana REQUIRES.
Eia kekahi, hiki ke hoʻohana ʻia nā kauoha CMake maoli i ka palapala hōʻuluʻulu. No exampe, e hoʻohana i ke kauoha i hoʻonohonoho ʻia e hoʻonohonoho i nā mea hoʻololi, e like me ka hoʻonohonoho (VARIABLE "VALUE").
4.3.5 Hoʻomaka i nā kauoha maʻamau
Hoʻohana ʻo ESP-IDF i ka CMake (mea hana hoʻonohonoho papahana), Ninja (mea hana kūkulu papahana) a me ka esptool (mea hana flash) i ke kaʻina o ka hōʻuluʻulu code. He ʻokoʻa ko kēlā me kēia mea hana i ka hui ʻana, kūkulu, a me ke kaʻina hana uila, a kākoʻo pū i nā kauoha hana like ʻole. No ka hoʻomaʻamaʻa ʻana i ka hana o ka mea hoʻohana, hoʻohui ʻo ESP-IDF i kahi idf.py mua i hoʻohui ʻia e hiki ai ke kāhea koke ʻia nā kauoha i luna.
Ma mua o ka hoʻohana ʻana i ka idf.py, e ʻike pono:
· Ua hoʻohui ʻia ka IDF_PATH kaiapuni o ESP-IDF i ke kikowaena o kēia manawa. · ʻO ka papa kuhikuhi hoʻokō kauoha ʻo ia ka papa kuhikuhi kumu o ka papahana, ʻo ia hoʻi ka
palapala hōʻuluʻulu papahana CMakeLists.txt.
ʻO nā kauoha maʻamau o idf.py penei:
· idf.py –kōkua: hōʻike i ka papa inoa o nā kauoha a me kā lākou mau ʻōlelo kuhikuhi. · idf.py set-target : hoʻonohonoho i ka compilation taidf.py fullcleanrget, penei
e like me ka pani ana me esp32c3. · idf.py menuconfig: ka hoʻomaka ʻana i ka menuconfig, kahi hoʻonohonoho kiʻi pahu
mea hana, hiki ke koho a hoʻololi i nā koho hoʻonohonoho, a mālama ʻia nā hopena hoʻonohonoho i ka sdkconfig file. · kūkulu idf.py: hoʻomaka i ka hōʻuluʻulu code. ʻO ka waena files a me ka polokalamu hoʻokō hope loa i hana ʻia e ka hui ʻana e mālama ʻia i loko o ka papa kuhikuhi kūkulu o ka papahana ma ka paʻamau. ʻO ke kaʻina hana hoʻohui he incremental, ʻo ia hoʻi inā hoʻokahi kumu file hoʻololi ʻia, hoʻololi wale ʻia file e hōʻuluʻulu ʻia i ka manawa aʻe.
52 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
· idf.py maʻemaʻe: hoʻomaʻemaʻe i ka waena files hana ʻia e ka hui ʻana o ka papahana. E koi ʻia ka papahana holoʻokoʻa e hōʻuluʻulu i ka hōʻuluʻulu aʻe. E hoʻomaopopo ʻaʻole e holoi ʻia ka hoʻonohonoho CMake a me nā hoʻololi hoʻonohonoho i hana ʻia e menuconfig i ka wā hoʻomaʻemaʻe.
· idf.py fullclean: holoi i ka papa kuhikuhi kūkulu holoʻokoʻa, me ka hoʻopuka hoʻonohonoho CMake a pau files. I ke kūkulu hou ʻana i ka papahana, e hoʻonohonoho ʻo CMake i ka papahana mai ka wā kahiko. E ʻoluʻolu e hoʻopau kēia kauoha i nā mea āpau files i ka papa kuhikuhi kūkulu, no laila e hoʻohana me ka akahele, a me ka hoʻonohonoho papahana file ʻaʻole e holoi ʻia.
· idf.py flash: e hoʻolohilohi ana i ka papahana hoʻokō binary file hana ʻia e ke kūkulu ʻana i ka pahuhopu ESP32-C3. ʻO nā koho -p a -b hoʻohana ʻia e hoʻonohonoho i ka inoa o ka hāmeʻa o ke awa serial a me ka helu baud no ka uila ʻana, kēlā me kēia. Inā ʻaʻole i kuhikuhi ʻia kēia mau koho ʻelua, e ʻike ʻia ke awa serial a e hoʻohana ʻia ka helu baud paʻamau.
· idf.py kiaʻi: hōʻike i ka puka puka puka serial o ka pahuhopu ESP32-C3. Hiki ke hoʻohana ʻia ke koho -p no ka hoʻomaopopo ʻana i ka inoa o ka mea hoʻohana o ke awa serial ʻaoʻao. I ka paʻi ʻana i ke awa serial, e kaomi i ke kī hui Ctrl+] e haʻalele i ka nānā.
Hiki ke hoʻohui pū ʻia nā kauoha i luna e like me ka mea e pono ai. No exampʻO ke kauoha idf.py build flash monitor e hana i ka code compilation, flash, a wehe i ka monitor port serial ma ke kaʻina.
Hiki iā ʻoe ke kipa https://bookc3.espressif.com/build-system e ʻike hou aku e pili ana i ka ʻōnaehana hoʻohui ESP-IDF.
4.4 Hoʻomaʻamaʻa: Hoʻuluʻulu Exampka papahana "Blink"
4.4.1 Example Kānāwai
E lawe kēia ʻāpana i ka polokalamu Blink ma ke ʻano he example e kālailai i ka file ka hoʻolālā a me nā lula coding o kahi papahana maoli i nā kikoʻī. Hoʻokomo ka polokalamu Blink i ka hopena blinking LED, a aia ka papahana ma ka papa kuhikuhi examples/hoʻomaka/blink, aia kahi kumu file, hoʻonohonoho files, a me kekahi mau palapala hōʻuluʻulu.
ʻO ka papahana kukui akamai i hoʻokomo ʻia ma kēia puke e pili ana i kēia example polokalamu. E hoʻohui mālie ʻia nā hana ma nā mokuna hope e hoʻopau hope.
Source code I mea e hōʻike ai i ke kaʻina hana hoʻomohala holoʻokoʻa, ua kope ʻia ka polokalamu Blink i esp32c3-iot-projects/device firmware/1 blink.
Ka papa kuhikuhi o ka papahana blink files ua hoikeia ma ke Kii 4.15.
Aia i loko o ka papahana blink hoʻokahi wale nō papa kuhikuhi nui, ʻo ia kahi ʻāpana kūikawā
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 53
Kiʻi 4.15. File papa kuhikuhi o ka papahana blink
pono e hoʻokomo ʻia e like me ka wehewehe ʻana ma ka pauku 4.3.2. Hoʻohana nui ʻia ka papa kuhikuhi nui e mālama i ka hoʻokō ʻana i ka hana app_main(), ʻo ia ka helu komo i ka papahana mea hoʻohana.ampPono e hoʻohana wale i nā ʻāpana i hele mai me ESP-IDF a ʻaʻole koi i nā mea ʻē aʻe. Hoʻohana ʻia ka CMakeLists.txt i loko o ka papahana blink e alakaʻi i ke kaʻina hana hoʻohui, ʻoiai hoʻohana ʻia ʻo Kconfig.projbuild e hoʻohui i nā mea hoʻonohonoho no kēia exampka polokalamu ma ka menuconfig. Pono ʻole ʻē aʻe fileʻAʻole pili ʻo s i ka hōʻuluʻulu ʻana o ke code, no laila ʻaʻole lākou e kūkākūkā ʻia ma aneʻi. ʻO kahi hoʻolauna kikoʻī i ka papahana blink files penei.
1. /*blink.c me kēia poʻomanaʻo files*/
2. #include
//Ke poʻo waihona waihona C maʻamau file
3. #include “freetos/freeRTOS.h” //FreeRTOS poʻomanaʻo nui file
4. #include “freetos/task.h”
//FreeRTOS Task poʻomanaʻo file
5. #include “sdkconfig.h”
//Ke poʻo hoʻonohonoho file hana ʻia e kconfig
6. #include “keaukaha/gpio.h”
//Ke poʻo hoʻokele GPIO file
ʻO ke kumu file Loaʻa i ka blink.c kekahi pūʻulu poʻomanaʻo files pili i ka hana declara-
tions. Hoʻopili maʻamau ʻo ESP-IDF i ke ʻano o ka hoʻokomo ʻana i ke poʻo waihona waihona maʻamau files, KuokoaR-
Poʻomanaʻo TOS files, poʻomanaʻo hoʻokele files, poʻomanaʻo ʻāpana ʻē aʻe files, a me ke poʻo papahana files.
ʻO ke kaʻina o ke poʻo fileHoʻopili ʻia nā s i ka hopena hōʻuluʻulu hope, no laila e hoʻāʻo
e hahai i nā lula paʻamau. Pono e hoʻomaopopo ʻia ʻo sdkconfig.h i hana ʻia
e kconfig a hiki ke hoʻonohonoho wale ʻia ma o ke kauoha idf.py menuconfig.
Hoʻololi pololei o kēia poʻo file e kākau hou ʻia.
1. /* Hiki iā ʻoe ke koho i ka GPIO e pili ana i ka LED ma idf.py menuconfig, a ʻo ka hopena hoʻololi o ka menuconfig ʻo ia ka waiwai o CONFIG_BLINK
_GPIO e hoʻololi ʻia. Hiki iā ʻoe ke hoʻololi pololei i ka wehewehe macro
maanei, a e hoololi i CONFIG_BLINK_GPIO i waiwai paa.*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO
3. ʻaʻohe app_main(void)
4. {
5.
/*E hoʻonohonoho i ka IO ma ke ʻano he hana paʻamau GPIO, hiki i ke ʻano huki huki, a
6.
hoʻopau i nā ʻano hoʻokomo a me nā ʻano hoʻopuka */
7.
gpio_reset_pin(BLINK_GPIO);
54 ESP32-C3 Wireless Adventure: He alakaʻi piha no IoT
8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. }
/* Hoʻonoho i ka GPIO i ke ʻano hoʻopuka */ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); ʻoiai(1) {
/*Print log*/ printf(“Hoʻopau i ka LEDn”); /*Hope i ka LED (puka haʻahaʻa haʻahaʻa)*/ gpio_set_level(BLINK_GPIO, 0); /* Hoʻopaneʻe (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf("E ho'ā ana i ka LEDn"); /*E ho'ā i ke LED (puka ki'eki'e ki'eki'e)*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }
ʻO ka hana app_main() i ka Blink exampʻO ka papahana ka mea i komo i nā polokalamu hoʻohana. He hana maʻalahi me ka ʻole o nā palena a ʻaʻohe waiwai hoʻihoʻi. Kāhea ʻia kēia hana ma hope o ka pau ʻana o ka hoʻomaka ʻana o ka ʻōnaehana, e pili ana i nā hana e like me ka hoʻomaka ʻana i ka port serial port, ka hoʻonohonoho ʻana i ke kumu hoʻokahi/ʻelua, a me ka hoʻonohonoho ʻana i ka ʻīlio kiaʻi.
Ke holo nei ka hana app_main() i loko o ka pōʻaiapili o kahi hana i kapa ʻia ʻo main. Hiki ke hoʻololi i ka nui o ka waihona a me ka mea nui o kēia hana ma ka menuconfig Componentconfig Common ESP e pili ana.
No nā hana maʻalahi e like me ke kukui ʻana i kahi LED, hiki ke hoʻokō pololei ʻia nā code pono āpau i ka hana app_main(). Hoʻopili maʻamau kēia i ka hoʻomaka ʻana i ka GPIO e pili ana i ka LED a me ka hoʻohana ʻana i kahi manawa (1) loop e hoʻohuli i ka LED a i ʻole. ʻO kahi ʻē aʻe, hiki iā ʻoe ke hoʻohana i ka API FreeRTOS e hana i kahi hana hou e hoʻokele ai i ke kukui uila. Ke hana ʻia ka hana hou, hiki iā ʻoe ke haʻalele i ka hana app_main().
ʻO ka ʻike o ka main/CMakeLists.txt file, e alakaʻi ana i ke kaʻina hana hoʻohui no ka mea nui, penei:
1. idf_component_register(SRCS “blink.c” INCLUDE_DIRS “.” )
Ma waena o lākou, kāhea wale ʻo main/CMakeLists.txt i hoʻokahi hana ʻōnaehana compilation, ʻo ia ka idf_component_register. E like me ka CMakeLists.txt no ka hapa nui o nā mea ʻē aʻe, hoʻohui ʻia ka blink.c i SRCS, a me ke kumu. files hoʻohui ʻia i SRCS e hōʻuluʻulu ʻia. I ka manawa like, ".", e hōʻike ana i ke ala i loaʻa ai ʻo CMakeLists.txt, pono e hoʻohui ʻia i INCLUDE_DIRS ma ke ʻano he papa kuhikuhi huli no ke poʻo. files. ʻO ka ʻike o CMakeLists.txt penei:
1. #Specify v3.5 e like me ka mana CMake kahiko loa i kākoʻo ʻia e ka papahana o kēia manawa. -IDF ʻōnaehana hoʻohui
Mokuna 4. Hoʻonohonoho ʻana i ke Kaiapuni Hoʻomohala 55
5. komo ($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Create a project named “blink” 7. project(myProject)
Ma waena o lākou, ʻo ka CMakeLists.txt i loko o ka papa kuhikuhi kumu ka nui o $ENV{IDF_ PATH}/tools/cmake/project.cmake, ʻo ia ka hoʻonohonoho CMake nui. file hāʻawi ʻia e ESP-IDF. Hoʻohana ʻia e con
Palapala / Punawai
![]() |
Nā Pūnaehana Espressif ESP32-C3 Hoʻokele Waea ʻole [pdf] Ke alakaʻi hoʻohana ESP32-C3 Hoʻohiwahiwa Uʻi ʻole, ESP32-C3, Hoʻohiwahiwa Uʻole, Hoʻolau |




