ESP32-C3 Alailowaya ìrìn

ESP32-C3 Alailowaya ìrìn

Itọsọna okeerẹ si IoT

Awọn ọna Espressif Oṣu kẹfa ọjọ 12, Ọdun 2023

Awọn pato

  • Ọja: ESP32-C3 Alailowaya Adventure
  • olupese: Espressif Systems
  • Ọjọ: Oṣu Kẹfa Ọjọ 12, Ọdun 2023

Awọn ilana Lilo ọja

Igbaradi

Ṣaaju lilo ESP32-C3 Alailowaya Adventure, rii daju pe o wa
faramọ pẹlu awọn ero ati faaji ti IoT. Eyi yoo ṣe iranlọwọ
o loye bii ẹrọ ṣe baamu si ilolupo ilolupo IoT nla
ati awọn oniwe-o pọju elo ni smati ile.

Ifihan ati Iṣeṣe ti Awọn iṣẹ akanṣe IoT

Ni apakan yii, iwọ yoo kọ ẹkọ nipa awọn iṣẹ akanṣe IoT aṣoju,
pẹlu awọn ipilẹ awọn modulu fun awọn ẹrọ IoT ti o wọpọ, awọn modulu ipilẹ
ti awọn ohun elo alabara, ati awọn iru ẹrọ awọsanma IoT ti o wọpọ. Eyi yoo
pese fun ọ ni ipilẹ fun oye ati ṣiṣẹda tirẹ
ti ara IoT ise agbese.

adaṣe: Smart Light Project

Ninu iṣẹ akanṣe adaṣe yii, iwọ yoo kọ bii o ṣe le ṣẹda ọlọgbọn kan
ina lilo ESP32-C3 Alailowaya Adventure. Ilana ise agbese,
awọn iṣẹ, igbaradi hardware, ati ilana idagbasoke yoo jẹ
salaye ni apejuwe awọn.

Ise agbese Be

Ise agbese oriširiši ti awọn orisirisi irinše, pẹlu awọn
ESP32-C3 Irinajo Alailowaya, Awọn LED, awọn sensọ, ati awọsanma kan
ẹhin.

Awọn iṣẹ akanṣe

Awọn smati ina ise agbese faye gba o lati šakoso awọn imọlẹ ati
awọ ti awọn LED latọna jijin nipasẹ a mobile app tabi web
ni wiwo.

Hardware Igbaradi

Lati mura fun ise agbese, iwọ yoo nilo lati kó awọn
awọn paati ohun elo pataki, gẹgẹbi ESP32-C3 Alailowaya
Igbimọ ìrìn, Awọn LED, resistors, ati ipese agbara kan.

Ilana idagbasoke

Ilana idagbasoke jẹ iṣeto idagbasoke
ayika, koodu kikọ lati šakoso awọn LED, sopọ si awọn
awọsanma backend, ati idanwo awọn iṣẹ-ti awọn smati
imole.

Ifihan si ESP RainMaker

ESP RainMaker jẹ ilana ti o lagbara fun idagbasoke IoT
awọn ẹrọ. Ni apakan yii, iwọ yoo kọ kini ESP RainMaker jẹ ati
bi o ṣe le ṣe imuse ninu awọn iṣẹ akanṣe rẹ.

Kini ESP RainMaker?

ESP RainMaker jẹ ipilẹ ti o da lori awọsanma ti o pese eto ti
awọn irinṣẹ ati awọn iṣẹ fun kikọ ati iṣakoso awọn ẹrọ IoT.

Awọn imuse ti ESP RainMaker

Yi apakan salaye awọn ti o yatọ irinše lowo ninu
imuse ESP RainMaker, pẹlu iṣẹ ẹtọ,
Aṣoju RainMaker, ẹhin awọsanma, ati alabara RainMaker.

Iṣe: Awọn aaye pataki fun Idagbasoke pẹlu ESP RainMaker

Ni apakan adaṣe yii, iwọ yoo kọ ẹkọ nipa awọn aaye pataki si
ronu nigbati o ba dagbasoke pẹlu ESP RainMaker. Eyi pẹlu ẹrọ
ẹtọ, imuṣiṣẹpọ data, ati iṣakoso olumulo.

Awọn ẹya ara ẹrọ ti ESP RainMaker

ESP RainMaker nfunni ni ọpọlọpọ awọn ẹya fun iṣakoso olumulo, ipari
awọn olumulo, ati awọn alakoso. Awọn ẹya wọnyi gba laaye fun ẹrọ ti o rọrun
iṣeto, isakoṣo latọna jijin, ati ibojuwo.

Ṣiṣeto Ayika Idagbasoke

Yi apakan pese ohun loriview ti ESP-IDF (Espressif IoT
Ilana Idagbasoke), eyiti o jẹ ilana idagbasoke osise
fun ESP32-orisun ẹrọ. O salaye awọn ti o yatọ awọn ẹya ti
ESP-IDF ati bii o ṣe le ṣeto agbegbe idagbasoke.

Hardware ati Driver Development

Apẹrẹ Hardware ti Awọn ọja Imọlẹ Smart ti o da lori ESP32-C3

Yi apakan fojusi lori hardware oniru ti smati ina
Awọn ọja ti o da lori ESP32-C3 Alailowaya Adventure. O ni wiwa awọn
awọn ẹya ara ẹrọ ati awọn tiwqn ti smati ina awọn ọja, bi daradara bi awọn
hardware oniru ti ESP32-C3 mojuto eto.

Awọn ẹya ara ẹrọ ati Tiwqn ti Smart Light Products

Abala yii ṣe alaye awọn ẹya ati awọn paati ti o ṣe
soke smati ina awọn ọja. O ti jiroro awọn ti o yatọ functionalities
ati awọn ero apẹrẹ fun ṣiṣẹda awọn imọlẹ smati.

Hardware Design of ESP32-C3 mojuto System

Apẹrẹ ohun elo ti eto mojuto ESP32-C3 pẹlu agbara
ipese, ọna-agbara, atunto eto, filasi SPI, orisun aago,
ati RF ati eriali ero. Abala yii pese
alaye alaye lori awọn aaye wọnyi.

FAQ

Q: Kini ESP RainMaker?

A: ESP RainMaker jẹ ipilẹ ti o da lori awọsanma ti o pese awọn irinṣẹ
ati awọn iṣẹ fun kikọ ati iṣakoso awọn ẹrọ IoT. O simplifies
awọn idagbasoke ilana ati ki o gba fun rorun ẹrọ setup, latọna jijin
iṣakoso, ati ibojuwo.

Q: Bawo ni MO ṣe le ṣeto agbegbe idagbasoke fun
ESP32-C3?

A: Lati ṣeto agbegbe idagbasoke fun ESP32-C3, o nilo
lati fi sori ẹrọ ESP-IDF (Espressif IoT Development Framework) ati
tunto rẹ ni ibamu si awọn ilana ti a pese. ESP-IDF ni
Ilana idagbasoke osise fun awọn ẹrọ orisun ESP32.

Q: Kini awọn ẹya ti ESP RainMaker?

A: ESP RainMaker nfunni ni ọpọlọpọ awọn ẹya, pẹlu olumulo
iṣakoso, awọn ẹya olumulo ipari, ati awọn ẹya abojuto. olumulo isakoso
ngbanilaaye fun ibeere ẹrọ irọrun ati mimuuṣiṣẹpọ data. olumulo ipari
awọn ẹya jeki isakoṣo latọna jijin ti awọn ẹrọ nipasẹ a mobile app tabi
web ni wiwo. Awọn ẹya abojuto pese awọn irinṣẹ fun ibojuwo ẹrọ
ati isakoso.

ESP32-C3 Alailowaya ìrìn
Itọsọna okeerẹ si IoT
Awọn ọna Espressif Oṣu kẹfa ọjọ 12, Ọdun 2023

Awọn akoonu

I Igbaradi

1

1 Ifihan si IoT

3

1.1 Faaji ti IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Ohun elo IoT ni Awọn ile Smart. . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Iṣafihan ati Iṣeṣe ti Awọn iṣẹ akanṣe IoT

9

2.1 Ifihan si Awọn iṣẹ akanṣe IoT Aṣoju. . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Awọn modulu Ipilẹ fun Awọn ẹrọ IoT ti o wọpọ. . . . . . . . . . . . . . . . . 9

2.1.2 Awọn modulu Ipilẹ ti Awọn ohun elo Onibara. . . . . . . . . . . . . . . . . . . 10

2.1.3 Ifihan si Awọn iru ẹrọ awọsanma IoT ti o wọpọ. . . . . . . . . . . . . . 11

2.2 adaṣe: Smart Light Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Ilana Ise agbese. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Project Awọn iṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.3 Hardware Igbaradi. . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.4 Ilana Idagbasoke. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Ifihan si ESP RainMaker

19

3.1 Kini ESP RainMaker? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Awọn imuse ti ESP RainMaker. . . . . . . . . . . . . . . . . . . . . . 21

3.2.1 Annabi Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.2 RainMaker Aṣoju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.3 Awọsanma Backend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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

3.3 Iṣe: Awọn aaye pataki fun Idagbasoke pẹlu ESP RainMaker. . . . . . . . . . . . 25

3.4 Awọn ẹya ara ẹrọ ti ESP RainMaker. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.1 olumulo isakoso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2 Awọn ẹya olumulo Ipari. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4.3 Admin Awọn ẹya ara ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.5 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Ṣiṣeto Ayika Idagbasoke

31

4.1 ESP-IDF Loriview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 ESP-IDF Awọn ẹya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3

4.1.2 ESP-IDF Git Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Yiyan Ẹya ti o baamu. . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 Loriview ti ESP-IDF SDK Itọsọna. . . . . . . . . . . . . . . . . . . . 34 4.2 Ṣiṣeto Ayika Idagbasoke ESP-IDF. . . . . . . . . . . . . . . . . 38 4.2.1 Ṣiṣeto Ayika Idagbasoke ESP-IDF lori Lainos. . . . . . . . 38 4.2.2 Ṣiṣeto Ayika Idagbasoke ESP-IDF lori Windows. . . . . . 40 4.2.3 Ṣiṣeto Ayika Idagbasoke ESP-IDF lori Mac. . . . . . . . . 45 4.2.4 Fifi koodu VS sori ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Ifihan si Awọn Ayika Idagbasoke Ẹni-kẹta. . . . . . . . 46 4.3 ESP-IDF Eto Iṣakojọpọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Awọn imọran ipilẹ ti Eto Iṣakojọpọ. . . . . . . . . . . . . . . . . . 47 4.3.2 ise agbese File Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Aiyipada Kọ Awọn ofin ti Eto Iṣakojọpọ. . . . . . . . . . . . . 50 4.3.4 Ọrọ Iṣaaju si Iwe afọwọkọ Iṣakojọpọ. . . . . . . . . . . . . . . . . . 51 4.3.5 Ifihan si Awọn ofin to wọpọ. . . . . . . . . . . . . . . . . . . 52 4.4 Iwa: Compiling Example Eto "Seju" . . . . . . . . . . . . . . . . . . 53 4.4.1 Eksample Onínọmbà. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Iṣakojọpọ Eto Blink. . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Imọlẹ Eto Blink. . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Serial Port Log Analysis of the Blink Program. . . . . . . . . . . . . . 60 4.5 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

II Hardware ati Driver Development

65

5 Hardware Apẹrẹ ti Smart Light Awọn ọja da lori ESP32-C3

67

5.1 Awọn ẹya ara ẹrọ ati Tiwqn ti Smart Light Awọn ọja. . . . . . . . . . . . . . . 67

5.2 Hardware Oniru ti ESP32-C3 mojuto System. . . . . . . . . . . . . . . . . . . 70

5.2.1 Agbara Ipese. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2.2 Agbara-lori Ọkọọkan ati Eto Tunto. . . . . . . . . . . . . . . . . . 74

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

5.2.4 Aago Orisun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.5 RF ati Antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.6 Strapping Pinni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2.7 GPIO ati PWM Adarí. . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 Iṣe: Ṣiṣe Eto Imọlẹ Smart pẹlu ESP32-C3. . . . . . . . . . . . . 80

5.3.1 Awọn modulu yiyan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.3.2 Ṣiṣeto awọn GPIO ti Awọn ifihan agbara PWM. . . . . . . . . . . . . . . . . . . . 82

5.3.3 Gbigba famuwia ati N ṣatunṣe aṣiṣe wiwo. . . . . . . . . . . . 82

5.3.4 Awọn Itọsọna fun RF Design. . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 Awọn Itọsọna fun Apẹrẹ Ipese Agbara. . . . . . . . . . . . . . . . . . . 86 5.4 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6 Driver Development

87

6.1 Ilana Idagbasoke Awakọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.2 ESP32-C3 Awọn ohun elo Agbeegbe. . . . . . . . . . . . . . . . . . . . . . . . . 88

6.3 Awọn ipilẹ awakọ LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.1 Awọ Spaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.2 LED Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.3 LED Dimming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.4 Ifihan si PWM. . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

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

6.4.1 Ibi ipamọ ti kii-iyipada (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97

6.4.2 LED PWM Adarí (LEDC) . . . . . . . . . . . . . . . . . . . . . . . 98

6.4.3 LED PWM siseto. . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.5 Iwa: Fikun Awakọ si Iṣẹ Imọlẹ Smart. . . . . . . . . . . . . . . . . 103

6.5.1 Bọtini Awakọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

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

6.6 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

III Alailowaya Ibaraẹnisọrọ ati Iṣakoso

109

7 Wi-Fi iṣeto ni ati Asopọmọra

111

7.1 Awọn ipilẹ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.1 Ifihan si Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.2 Itankalẹ ti IEEE 802.11. . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.3 Wi-Fi ero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.1.4 Wi-Fi Asopọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.2 Awọn ipilẹ ti Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.2.1 Ifihan si Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . 123

7.2.2 Bluetooth ero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.2.3 Bluetooth Asopọ. . . . . . . . . . . . . . . . . . . . . . . . . . . 127

7.3 Wi-Fi Network iṣeto ni. . . . . . . . . . . . . . . . . . . . . . . . . . . 131

7.3.1 Wi-Fi Network iṣeto ni Itọsọna. . . . . . . . . . . . . . . . . . . . 131

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

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

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

7.3.5 Awọn ọna miiran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7.4 Wi-Fi siseto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 Awọn ohun elo Wi-Fi ni ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 Idaraya: Wi-Fi Asopọ. . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 idaraya: Smart Wi-Fi Asopọ. . . . . . . . . . . . . . . . . . . . . 145
7.5 Iwa: Wi-Fi iṣeto ni ni Smart Light Project. . . . . . . . . . . . . . . 156 7.5.1 Wi-Fi Asopọ ni Smart Light Project. . . . . . . . . . . . . . . . . 156 7.5.2 Smart Wi-Fi iṣeto ni. . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

8 Iṣakoso Agbegbe

159

8.1 Ifihan si Iṣakoso Agbegbe. . . . . . . . . . . . . . . . . . . . . . . . . . . 159

8.1.1 Ohun elo ti Iṣakoso Agbegbe. . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.2 Advantages ti Iṣakoso Agbegbe. . . . . . . . . . . . . . . . . . . . . . . . 161

8.1.3 Wiwa Awọn ẹrọ iṣakoso nipasẹ Awọn fonutologbolori. . . . . . . . . . 161

8.1.4 Data ibaraẹnisọrọ Laarin awọn fonutologbolori ati awọn ẹrọ. . . . . . . . 162

8.2 Awọn ọna Awari Agbegbe ti o wọpọ. . . . . . . . . . . . . . . . . . . . . . . . 162

8.2.1 igbohunsafefe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

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

8.2.3 Ifiwera Laarin Broadcast ati Multicast. . . . . . . . . . . . . . 176

8.2.4 Multicast Ohun elo Ilana mDNS fun Awari Agbegbe. . . . . . . . 176

8.3 Awọn Ilana Ibaraẹnisọrọ ti o wọpọ fun Data Agbegbe. . . . . . . . . . . . . . . 179

8.3.1 Gbigbe Iṣakoso Ilana (TCP) . . . . . . . . . . . . . . . . . . . 179

8.3.2 HyperText Gbigbe Ilana (HTTP) . . . . . . . . . . . . . . . . . . . 185

8.3.3 olumulo DatagIlana àgbo (UDP). . . . . . . . . . . . . . . . . . . . . . 189

8.3.4 Ilana Ohun elo Idinku (CoAP) . . . . . . . . . . . . . . . . 192

8.3.5 Bluetooth Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

8.3.6 Akopọ ti Awọn Ilana Ibaraẹnisọrọ Data. . . . . . . . . . . . . . . 203

8.4 Ẹri Aabo Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

8.4.1 Ifihan to Transport Layer Aabo (TLS) . . . . . . . . . . . . . 207

8.4.2 Ifihan to DatagÀgbo Transport Layer Security (DTLS) . . . . . . . 213

8.5 adaṣe: Iṣakoso agbegbe ni Smart Light Project. . . . . . . . . . . . . . . . . . 217

8.5.1 Ṣiṣẹda olupin Iṣakoso Agbegbe ti o da lori Wi-Fi. . . . . . . . . . . . . . . 217

8.5.2 Imudaniloju Iṣẹ-ṣiṣe Iṣakoso Agbegbe nipa lilo Awọn iwe afọwọkọ. . . . . . . . . . . 221

8.5.3 Ṣiṣẹda Olupin Iṣakoso Agbegbe ti o da lori Bluetooth. . . . . . . . . . . . 222

8.6 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

9 Awọsanma Iṣakoso

225

9.1 Ifihan si isakoṣo latọna jijin. . . . . . . . . . . . . . . . . . . . . . . . . . 225

9.2 Awọn Ilana Ibaraẹnisọrọ Data awọsanma. . . . . . . . . . . . . . . . . . . . . . 226

9.2.1 MQTT Iṣaaju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 MQTT Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 MQTT Ifiranṣẹ kika. . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 Ifiwera Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Ṣiṣeto alagbata MQTT lori Lainos ati Windows. . . . . . . . . . . . 233 9.2.6 Ṣiṣeto Onibara MQTT Da lori ESP-IDF. . . . . . . . . . . . . . . . 235 9.3 Idaniloju Aabo Data MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 Itumo ati Išẹ ti Awọn iwe-ẹri. . . . . . . . . . . . . . . . . . . 237 9.3.2 Ṣiṣẹda Awọn iwe-ẹri Ni agbegbe. . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 Tito leto alagbata MQTT. . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 Tito leto MQTT Client. . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 Iṣe: Iṣakoso latọna jijin nipasẹ ESP RainMaker. . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Awọn ipilẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Node ati Awọsanma Backend Ibaraẹnisọrọ Ilana. . . . . . . . . . . 244 9.4.3 Ibaraẹnisọrọ laarin Onibara ati Afẹyinti awọsanma. . . . . . . . . . . 249 9.4.4 Awọn ipa olumulo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Awọn iṣẹ ipilẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 Smart Light Eksample . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 Ohun elo RainMaker ati Awọn iṣọpọ ẹni-kẹta. . . . . . . . . . . . . . . 262 9.5 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

10 Foonuiyara App Development

269

10.1 Ifihan si Smartphone App Development. . . . . . . . . . . . . . . . . . 269

10.1.1 Ipariview ti Smartphone App Development. . . . . . . . . . . . . . . 270

10.1.2 Ilana ti Android Project. . . . . . . . . . . . . . . . . . . . . . 270

10.1.3 Iṣeto ti Ise agbese iOS. . . . . . . . . . . . . . . . . . . . . . . . 271

10.1.4 Igbesi aye ti iṣẹ Android kan. . . . . . . . . . . . . . . . . . . . . . 272

10.1.5 Lifecycle of iOS ViewAdarí. . . . . . . . . . . . . . . . . . . . . . 273

10.2 Ṣiṣẹda Iṣẹ-ṣiṣe Ohun elo Foonuiyara Tuntun kan. . . . . . . . . . . . . . . . . . . . . 275

10.2.1 Ngbaradi fun Android Development. . . . . . . . . . . . . . . . . . . 275

10.2.2 Ṣiṣẹda Ise agbese Android Tuntun kan. . . . . . . . . . . . . . . . . . . . . . 275

10.2.3 Fifi awọn igbẹkẹle fun MyRainmaker. . . . . . . . . . . . . . . . . 276

10.2.4 Ibeere Gbigbanilaaye ni Android . . . . . . . . . . . . . . . . . . . . . . 277

10.2.5 Ngbaradi fun iOS Development. . . . . . . . . . . . . . . . . . . . . . 277

10.2.6 Ṣiṣẹda Tuntun iOS Project. . . . . . . . . . . . . . . . . . . . . . . . 278

10.2.7 Fifi awọn igbẹkẹle fun MyRainmaker. . . . . . . . . . . . . . . . . 279

10.2.8 Ibeere Gbigbanilaaye ni iOS. . . . . . . . . . . . . . . . . . . . . . . . . 280

10.3 Onínọmbà ti Ohun elo Awọn ibeere Iṣẹ ṣiṣe. . . . . . . . . . . . . . . . . . 281

10.3.1 Onínọmbà ti Awọn ibeere Iṣẹ-ṣiṣe ti Project. . . . . . . . . . . . 282

10.3.2 Onínọmbà ti Awọn ibeere Isakoso olumulo. . . . . . . . . . . . . . . 282 10.3.3 Onínọmbà ti Ipese Ẹrọ ati Awọn ibeere Isopọmọ. . . . . . . 283 10.3.4 Onínọmbà ti isakoṣo latọna jijin awọn ibeere. . . . . . . . . . . . . . . . 283 10.3.5 Onínọmbà ti Iṣeto Awọn ibeere. . . . . . . . . . . . . . . . . . . 284 10.3.6 Onínọmbà ti awọn ibeere ile-iṣẹ olumulo. . . . . . . . . . . . . . . . . . 285 10.4 Idagbasoke Iṣakoso olumulo. . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 Ifihan si RainMaker APIs. . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 Bibẹrẹ Ibaraẹnisọrọ nipasẹ Foonuiyara. . . . . . . . . . . . . . . . 286 10.4.3 Iforukọsilẹ iroyin. . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 Account Wọle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 Idagbasoke ti Ipese Ẹrọ. . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 Awọn ẹrọ Ṣiṣayẹwo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 Awọn ẹrọ Nsopọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 Ti o npese Secret Keys. . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Ngba ID Node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 Awọn ẹrọ Ipese. . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 Idagbasoke ti Iṣakoso ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 Awọn ẹrọ Dipọ si Awọn akọọlẹ Awọsanma. . . . . . . . . . . . . . . . . . . . 303 10.6.2 Ngba Akojọ Awọn ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 Ngba Ipo ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 Iyipada ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 Idagbasoke ti Iṣeto ati Ile-iṣẹ olumulo. . . . . . . . . . . . . . . . . . . 313 10.7.1 Ṣiṣe Iṣeto Iṣẹ. . . . . . . . . . . . . . . . . . . . 313 10.7.2 Ṣiṣe ile-iṣẹ olumulo. . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 Diẹ awọsanma APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

11 Famuwia Igbesoke ati Version Management

321

11.1 Famuwia Igbesoke. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.1.1 Ipariview ti Awọn tabili ipin. . . . . . . . . . . . . . . . . . . . . . . . 322

11.1.2 Firmware Boot Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . 324

11.1.3 Ipariview ti Ilana OTA. . . . . . . . . . . . . . . . . . . . . 326

11.2 Famuwia Version Management. . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.1 Firmware Siṣamisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.2 Rollback ati Anti-Rollback. . . . . . . . . . . . . . . . . . . . . . . . 331

11.3 Iṣe: Lori-afẹfẹ (OTA) Example . . . . . . . . . . . . . . . . . . . . . . . 332

11.3.1 Igbesoke famuwia Nipasẹ Gbalejo Agbegbe. . . . . . . . . . . . . . . . . 332

11.3.2 Igbesoke Firmware Nipasẹ ESP RainMaker. . . . . . . . . . . . . . . 335

11.4 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

IV Iṣapeye ati Ibi iṣelọpọ

343

12 Iṣakoso Agbara ati Imudara Agbara-Kekere

345

12.1 ESP32-C3 Iṣakoso agbara. . . . . . . . . . . . . . . . . . . . . . . . . . . 345

12.1.1 Ìmúdàgba Igbohunsafẹfẹ igbelosoke. . . . . . . . . . . . . . . . . . . . . . . . 346

12.1.2 Agbara Iṣakoso iṣeto ni. . . . . . . . . . . . . . . . . . . . 348

12.2 ESP32-C3 Ipo Agbara-kekere. . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

12.2.1 Modẹmu-orun mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

12.2.2 Ipo orun-ina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

12.2.3 Ipo oorun-jinlẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

12.2.4 Lilo lọwọlọwọ ni Awọn ọna Agbara oriṣiriṣi. . . . . . . . . . . . . 358

12.3 Iṣakoso Agbara ati Iyipada Agbara-kekere. . . . . . . . . . . . . . . . . 359

12.3.1 Wọle n ṣatunṣe aṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

12.3.2 GPIO N ṣatunṣe aṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

12.4 Iwa: Agbara Iṣakoso ni Smart Light Project. . . . . . . . . . . . . . . 363

12.4.1 Iṣatunṣe Ẹya Iṣakoso Agbara. . . . . . . . . . . . . . . . . 364

12.4.2 Lo Awọn titiipa Iṣakoso Agbara. . . . . . . . . . . . . . . . . . . . . . 365

12.4.3 Ijeri agbara agbara. . . . . . . . . . . . . . . . . . . . . . . 366

12.5 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

13 Awọn ẹya Aabo Ẹrọ Imudara

369

13.1 Ipariview ti Aabo Data Device IoT. . . . . . . . . . . . . . . . . . . . . . . 369

13.1.1 Kí nìdí ni ifipamo IoT Device Data? . . . . . . . . . . . . . . . . . . . . . . 370

13.1.2 Awọn ibeere Ipilẹ fun Aabo Data Ẹrọ IoT. . . . . . . . . . . . 371

13.2 Data Idaabobo Idaabobo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

13.2.1 Ifihan si Ọna Imudaniloju Iduroṣinṣin. . . . . . . . . . . . . . 372

13.2.2 Imudaniloju Iduroṣinṣin ti Data Famuwia. . . . . . . . . . . . . . . . . . 373

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

13.3 Data Asiri Idaabobo. . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3.1 Ifihan si Data ìsekóòdù. . . . . . . . . . . . . . . . . . . . . . 374

13.3.2 Ifihan to Flash ìsekóòdù Ero. . . . . . . . . . . . . . . . . 376

13.3.3 Filaṣi ìsekóòdù Key Ibi. . . . . . . . . . . . . . . . . . . . . . . 379

13.3.4 Ṣiṣẹ Ipo ti Flash ìsekóòdù. . . . . . . . . . . . . . . . . . . . 380

13.3.5 Flash ìsekóòdù ilana. . . . . . . . . . . . . . . . . . . . . . . . . . 381

13.3.6 Ifihan si NVS ìsekóòdù. . . . . . . . . . . . . . . . . . . . . . 383

13.3.7 Eksamples ti Flash ìsekóòdù ati NVS ìsekóòdù. . . . . . . . . . . 384

13.4 Data Idaabobo ofin. . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

13.4.1 Ifihan to Digital Ibuwọlu. . . . . . . . . . . . . . . . . . . . . 386

13.4.2 Ipariview ti Eto Boot Secure. . . . . . . . . . . . . . . . . . . . . 388

13.4.3 Ifihan si Software Secure Boot. . . . . . . . . . . . . . . . . . . 388 13.4.4 Ifihan to Hardware Secure Boot. . . . . . . . . . . . . . . . . . 390 13.4.5 Eksamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 Iṣe: Awọn ẹya Aabo Ni iṣelọpọ Ibi. . . . . . . . . . . . . . . . . . 396 13.5.1 Flash ìsekóòdù ati Secure Boot. . . . . . . . . . . . . . . . . . . . . 396 13.5.2 Ṣiṣe fifi ẹnọ kọ nkan Flash ati Boot aabo pẹlu Awọn irinṣẹ Filaṣi Batch. . 397 13.5.3 Muu ṣiṣẹ fifi ẹnọ kọ nkan Flash ati Boot Secure ni Smart Light Project. . . 398 13.6 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

14 Sisun famuwia ati Idanwo fun iṣelọpọ pupọ

399

14.1 Famuwia sisun ni iṣelọpọ pupọ. . . . . . . . . . . . . . . . . . . . . . 399

14.1.1 Asọye Data Partitions. . . . . . . . . . . . . . . . . . . . . . . . . . 399

14.1.2 Firmware sisun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

14.2 Ibi Igbeyewo Gbóògì. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

14.3 Iwa: Ibi-Gbóògì Data ni Smart Light Project. . . . . . . . . . . . . 404

14.4 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

15 ESP Imoye: Latọna Monitoring Platform

405

15.1 Ifihan si Awọn oye ESP. . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

15.2 Bibẹrẹ pẹlu Awọn oye ESP. . . . . . . . . . . . . . . . . . . . . . . . . 409

15.2.1 Bibẹrẹ pẹlu Awọn Imọye ESP ni Ise Esp-imọran. . . . . . 409

15.2.2 nṣiṣẹ Eksample ni esp-ìjìnlẹ òye Project. . . . . . . . . . . . . . . 411

15.2.3 Iroyin Coredump Alaye. . . . . . . . . . . . . . . . . . . . . 411

15.2.4 Customizing àkọọlẹ ti Eyiwunmi. . . . . . . . . . . . . . . . . . . . . . . . 412

15.2.5 Iroyin Atunbere Idi. . . . . . . . . . . . . . . . . . . . . . . . . 413

15.2.6 Iroyin Aṣa Metiriki. . . . . . . . . . . . . . . . . . . . . . . . . 413

15.3 Iṣe: Lilo Awọn oye ESP ni Iṣeduro Imọlẹ Smart. . . . . . . . . . . . . . . 416

15.4 Lakotan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

Ọrọ Iṣaaju
ESP32-C3 jẹ Wi-Fi ọkan-mojuto ati Bluetooth 5 (LE) microcontroller SoC, ti o da lori orisun-ìmọ RISC-V faaji. O kọlu iwọntunwọnsi ti o tọ ti agbara, awọn agbara I / O, ati aabo, nitorinaa nfunni ni idiyele idiyele ti o dara julọ fun awọn ẹrọ ti a ti sopọ. Lati ṣafihan ọpọlọpọ awọn ohun elo ti idile ESP32-C3, iwe yii nipasẹ Espressif yoo mu ọ lọ si irin-ajo ti o nifẹ si nipasẹ AIoT, ti o bẹrẹ lati awọn ipilẹ ti idagbasoke iṣẹ akanṣe IoT ati iṣeto ayika si adaṣe iṣaaju.amples. Awọn ipin mẹrin akọkọ sọrọ nipa IoT, ESP RainMaker ati ESP-IDF. Chapter 5 ati 6 finifini lori hardware oniru ati iwakọ idagbasoke. Bi o ṣe nlọsiwaju, iwọ yoo ṣawari bi o ṣe le tunto iṣẹ akanṣe rẹ nipasẹ awọn nẹtiwọọki Wi-Fi ati Awọn ohun elo alagbeka. Nikẹhin, iwọ yoo kọ ẹkọ lati mu iṣẹ akanṣe rẹ pọ si ki o fi sii sinu iṣelọpọ pupọ.
Ti o ba jẹ ẹlẹrọ ni awọn aaye ti o jọmọ, ayaworan sọfitiwia, olukọ kan, ọmọ ile-iwe kan, tabi ẹnikẹni ti o nifẹ si IoT, iwe yii wa fun ọ.
O le ṣe igbasilẹ koodu example lo ninu iwe yii lati oju opo wẹẹbu Espressif lori GitHub. Fun alaye tuntun lori idagbasoke IoT, jọwọ tẹle akọọlẹ osise wa.

Àsọyé
Aye Iwifunni
Gigun igbi ti Intanẹẹti, Intanẹẹti ti Awọn nkan (IoT) ṣe iṣafihan nla rẹ lati di iru amayederun tuntun ni eto-ọrọ oni-nọmba. Lati mu imọ-ẹrọ sunmọ si gbogbo eniyan, Espressif Systems ṣiṣẹ fun iran ti awọn olupilẹṣẹ lati gbogbo awọn ọna igbesi aye le lo IoT lati yanju diẹ ninu awọn iṣoro titẹ julọ ti awọn akoko wa. Aye ti “Nẹtiwọọki Oye ti Ohun Gbogbo” jẹ ohun ti a n reti lati ọjọ iwaju.
Ṣiṣeto awọn eerun ara wa ṣe paati pataki ti iran yẹn. O jẹ Ere-ije gigun kan, ti o nilo awọn aṣeyọri igbagbogbo lodi si awọn aala imọ-ẹrọ. Lati “Iyipada Ere” ESP8266 si jara ESP32 ti n ṣepọ Wi-Fi ati Asopọmọra Bluetoothr (LE), atẹle nipa ESP32-S3 ti o ni ipese nipasẹ isare AI, Espressif ko da duro iwadii ati idagbasoke awọn ọja fun awọn solusan AIoT. Pẹlu sọfitiwia orisun-ìmọ wa, bii IoT Development Framework ESP-IDF, Mesh Development Framework ESP-MDF, ati Platform Asopọmọra Ẹrọ ESP RainMaker, a ti ṣẹda ilana ominira fun kikọ awọn ohun elo AIoT.
Ni Oṣu Keje ọdun 2022, awọn gbigbe ikojọpọ ti awọn kọnputa kọnputa Espressif's IoT ti kọja 800 milionu, ti o yori ni ọja Wi-Fi MCU ati ṣiṣe agbara nọmba nla ti awọn ẹrọ ti o sopọ ni kariaye. Ilepa fun didara julọ jẹ ki gbogbo ọja Espressif jẹ ikọlu nla fun ipele giga rẹ ti iṣọpọ ati ṣiṣe idiyele. Itusilẹ ti ESP32-C3 jẹ ami-iṣẹlẹ pataki ti imọ-ẹrọ idagbasoke ara-ẹni ti Espressif. O jẹ ọkan-mojuto, 32-bit, RISC-V-orisun MCU pẹlu 400KB ti SRAM, eyiti o le ṣiṣẹ ni 160MHz. O ti ṣepọ 2.4 GHz Wi-Fi ati Bluetooth 5 (LE) pẹlu atilẹyin ibiti o gun. O kọlu iwọntunwọnsi ti o dara ti agbara, awọn agbara I / O, ati aabo, nitorinaa nfunni ni idiyele idiyele ti o dara julọ fun awọn ẹrọ ti a ti sopọ. Da lori iru ESP32-C3 ti o lagbara, iwe yii jẹ ipinnu lati ṣe iranlọwọ fun awọn oluka lati loye imọ ti o ni ibatan IoT pẹlu apejuwe alaye ati iṣe tẹlẹ.amples.
Kini idi ti a fi kọ iwe yii?
Espressif Systems jẹ diẹ sii ju ile-iṣẹ semikondokito kan. O tun jẹ ile-iṣẹ Syeed IoT kan, eyiti o n gbiyanju nigbagbogbo fun awọn aṣeyọri ati awọn imotuntun ni aaye imọ-ẹrọ. Ni akoko kanna, Espressif ti ṣii-orisun ati pinpin eto iṣẹ ṣiṣe ti ara ẹni ati ilana sọfitiwia pẹlu agbegbe, ti o ṣẹda ilolupo alailẹgbẹ kan. Awọn onimọ-ẹrọ, awọn olupilẹṣẹ, ati awọn alara imọ-ẹrọ ni itara ṣe agbekalẹ awọn ohun elo sọfitiwia tuntun ti o da lori awọn ọja Espressif, ibasọrọ ni ọfẹ, ati pin iriri wọn. O le rii awọn imọran iwunilori awọn olupilẹṣẹ lori ọpọlọpọ awọn iru ẹrọ ni gbogbo igba, bii YouTube ati GitHub. Gbaye-gbale ti awọn ọja Espressif ti ru nọmba ti n pọ si ti awọn onkọwe ti o ti ṣe agbejade awọn iwe to ju 100 ti o da lori awọn chipsets Espressif, ni diẹ sii ju awọn ede mẹwa, pẹlu Gẹẹsi, Kannada, Jẹmánì, Faranse, ati Japanese.

O jẹ atilẹyin ati igbẹkẹle ti awọn alabaṣiṣẹpọ agbegbe ti o ṣe iwuri fun isọdọtun ilọsiwaju ti Espressif. “A n tiraka lati ṣe awọn eerun wa, awọn ọna ṣiṣe, awọn ilana, awọn solusan, Awọsanma, awọn iṣe iṣowo, awọn irinṣẹ, iwe, awọn kikọ, awọn imọran, ati bẹbẹ lọ, ni pataki si awọn idahun ti eniyan nilo ni awọn iṣoro titẹ julọ ti igbesi aye ode oni. Eyi ni ipinnu giga julọ ti Espressif ati Kompasi iwa. ” sọ Ọgbẹni Teo Swee Ann, Oludasile ati Alakoso ti Espressif.
Espressif iye kika ati ero. Bii ilọsiwaju ilọsiwaju ti imọ-ẹrọ IoT ṣe awọn ibeere ti o ga julọ lori awọn onimọ-ẹrọ, bawo ni a ṣe le ṣe iranlọwọ fun eniyan diẹ sii lati ni iyara Titunto si awọn eerun IoT, awọn ọna ṣiṣe, awọn ilana sọfitiwia, awọn ero ohun elo ati awọn ọja iṣẹ awọsanma? Gẹ́gẹ́ bí ọ̀rọ̀ náà ṣe sọ, ó sàn kí a kọ́ ọkùnrin kan bí a ṣe ń ṣe ẹja ju kí a fún un ní ẹja. Ni igba iṣipopada ọpọlọ, o ṣẹlẹ si wa pe a le kọ iwe kan lati ṣe ilana lẹsẹsẹ jade ni imọ bọtini ti idagbasoke IoT. A lu o, ni kiakia kó ẹgbẹ kan ti oga Enginners, ati ni idapo iriri ti awọn imọ egbe ni ifibọ siseto, IoT hardware ati software idagbasoke, gbogbo idasi si awọn te ti iwe yi. Ninu ilana ti kikọ, a gbiyanju gbogbo wa lati jẹ ojulowo ati ododo, yọ agbon kuro, ati lo awọn ọrọ ṣoki lati sọ idiju ati ifaya ti Intanẹẹti Awọn nkan. A ṣe akopọ awọn ibeere ti o wọpọ, tọka si awọn esi ati awọn imọran ti agbegbe, lati le dahun ni kedere awọn ibeere ti o pade ninu ilana idagbasoke, ati pese awọn itọnisọna idagbasoke IoT ti o wulo fun awọn onimọ-ẹrọ ati awọn ipinnu ipinnu.
Ilana Iwe
Iwe yii gba iwoye ti o dojukọ ẹlẹrọ ati ṣalaye imọ pataki fun idagbasoke iṣẹ akanṣe IoT nipasẹ igbese. O ni awọn ẹya mẹrin, gẹgẹbi atẹle:
· Igbaradi (Abala 1): Abala yii n ṣafihan faaji ti IoT, ilana ilana iṣẹ akanṣe IoT aṣoju, Syeed awọsanma ESP RainMakerr, ati agbegbe idagbasoke ESP-IDF, lati le fi ipilẹ to lagbara fun idagbasoke iṣẹ akanṣe IoT.
· Hardware ati Idagbasoke Awakọ (Abala 5): Da lori ESP6-C32 chipset, apakan yii ṣe alaye lori eto ohun elo ti o kere ju ati idagbasoke awakọ, ati imuse iṣakoso ti dimming, grading awọ, ati ibaraẹnisọrọ alailowaya.
· Ibaraẹnisọrọ Alailowaya ati Iṣakoso (Abala 7): Apakan yii n ṣalaye eto iṣeto Wi-Fi ti oye ti o da lori chirún ESP11-C32, agbegbe & awọn ilana iṣakoso awọsanma, ati agbegbe & isakoṣo latọna jijin ti awọn ẹrọ. O tun pese awọn ero fun idagbasoke awọn ohun elo foonuiyara, igbesoke famuwia, ati iṣakoso ẹya.
· Imudara ati Ibi iṣelọpọ (Abala 12-15): Abala yii jẹ ipinnu fun awọn ohun elo IoT to ti ni ilọsiwaju, ti o ni idojukọ lori iṣapeye ti awọn ọja ni iṣakoso agbara, agbara-kekere, ati aabo ti o ni ilọsiwaju. O tun ṣafihan sisun famuwia ati idanwo ni iṣelọpọ pupọ, ati bii o ṣe le ṣe iwadii ipo ṣiṣiṣẹ ati awọn akọọlẹ ti famuwia ẹrọ nipasẹ ẹrọ ibojuwo latọna jijin ESP Awọn oye.

Nipa koodu Orisun
Onkawe si le ṣiṣe awọn Mofiample awọn eto inu iwe yii, boya nipa titẹ koodu sii pẹlu ọwọ tabi nipa lilo koodu orisun ti o tẹle iwe naa. A tẹnumọ apapọ ti ẹkọ ati adaṣe, ati nitorinaa ṣeto apakan Iwaṣe ti o da lori iṣẹ akanṣe Smart Light ni o fẹrẹ to gbogbo ipin. Gbogbo awọn koodu ti wa ni sisi-orisun. A kaabọ fun awọn oluka lati ṣe igbasilẹ koodu orisun ati jiroro rẹ ni awọn apakan ti o ni ibatan si iwe yii lori GitHub ati apejọ osise wa esp32.com. Koodu ti o ṣi silẹ ti iwe yii jẹ koko-ọrọ si awọn ofin ti Iwe-aṣẹ Apache 2.0.
Akọsilẹ onkowe
Iwe yii jẹ iṣelọpọ ni ifowosi nipasẹ Espressif Systems ati pe o kọ nipasẹ awọn onimọ-ẹrọ agba ti ile-iṣẹ naa. O dara fun awọn alakoso ati awọn oṣiṣẹ R&D ni awọn ile-iṣẹ ti o ni ibatan IoT, awọn olukọ ati awọn ọmọ ile-iwe ti awọn alamọja ti o jọmọ, ati awọn alara ni aaye Intanẹẹti ti Awọn nkan. A nireti pe iwe yii le ṣiṣẹ bi itọnisọna iṣẹ, itọkasi, ati iwe ti ibusun, lati dabi olukọ ati ọrẹ to dara.
Lakoko ti a n ṣajọ iwe yii, a tọka si diẹ ninu awọn abajade iwadii ti o yẹ ti awọn amoye, awọn onimọ-jinlẹ, ati awọn onimọ-ẹrọ ni ile ati ni okeere, ati pe a ṣe ohun ti o dara julọ lati tọka wọn ni ibamu si awọn ilana ẹkọ. Sibẹsibẹ, ko ṣee ṣe pe o yẹ ki o wa diẹ ninu awọn ifasilẹ, nitorinaa nibi a yoo fẹ lati ṣafihan ọwọ nla ati ọpẹ wa si gbogbo awọn onkọwe pataki. Ní àfikún sí i, a ti ṣàyọlò ìsọfúnni láti inú Íńtánẹ́ẹ̀tì, nítorí náà a fẹ́ láti dúpẹ́ lọ́wọ́ àwọn òǹkọ̀wé àti àwọn akéde ìpilẹ̀ṣẹ̀ kí a sì tọrọ àforíjì pé a kò lè fi orísun ìsọfúnni kọ̀ọ̀kan hàn.
Lati le gbe iwe ti o ni didara ga, a ti ṣeto awọn iyipo ti awọn ijiroro inu, ati kọ ẹkọ lati awọn imọran ati awọn esi ti awọn oluka idanwo ati awọn olootu atẹjade. Nibi, a yoo fẹ lati dupẹ lọwọ rẹ lẹẹkansi fun iranlọwọ rẹ eyiti gbogbo wọn ṣe alabapin si iṣẹ aṣeyọri yii.
Ni ikẹhin, ṣugbọn pataki julọ, o ṣeun si gbogbo eniyan ni Espressif ti o ti ṣiṣẹ takuntakun fun ibimọ ati olokiki ti awọn ọja wa.
Idagbasoke ti awọn iṣẹ akanṣe IoT kan pẹlu ọpọlọpọ oye. Ni opin si ipari ti iwe naa, bakanna bi ipele ati iriri ti onkọwe, awọn aṣiṣe ko ṣee ṣe. Nitorinaa, a fi inurere beere pe awọn amoye ati awọn onkawe ṣe ibaniwi ati ṣatunṣe awọn aṣiṣe wa. Ti o ba ni awọn imọran eyikeyi fun iwe yii, jọwọ kan si wa ni book@espressif.com. A n reti esi rẹ.

Bawo ni lati lo iwe yii?
Awọn koodu ti awọn iṣẹ akanṣe inu iwe yii ti wa ni ṣiṣi silẹ. O le ṣe igbasilẹ lati ibi ipamọ GitHub wa ki o pin awọn ero ati awọn ibeere rẹ lori apejọ osise wa. GitHub: https://github.com/espressif/book-esp32c3-iot-projects Forum: https://www.esp32.com/bookc3 Jakejado iwe naa, awọn ẹya yoo wa ni afihan bi a ṣe han ni isalẹ.
Orisun koodu Ninu iwe yii, a tẹnuba apapo ti ẹkọ ati adaṣe, ati nitorinaa ṣeto apakan Iwa nipa iṣẹ Imọlẹ Smart ni fere gbogbo ipin. Awọn igbesẹ ti o baamu ati oju-iwe orisun yoo jẹ samisi laarin awọn ila meji ti o bẹrẹ pẹlu tag koodu orisun.
AKIYESI/Awọn imọran Eyi ni ibiti o ti le rii diẹ ninu alaye to ṣe pataki ati olurannileti fun ṣiṣe atunṣe eto rẹ ni aṣeyọri. Won yoo wa ni samisi laarin meji nipọn ila ti o bẹrẹ pẹlu awọn tag AKIYESI tabi Italolobo.
Pupọ julọ awọn aṣẹ ti o wa ninu iwe yii ni a ṣe labẹ Linux, ti a ṣe nipasẹ kikọ “$”. Ti aṣẹ naa ba nilo awọn anfani superuser lati ṣiṣẹ, itọsi naa yoo rọpo nipasẹ “#”. Ilana aṣẹ lori awọn ọna ṣiṣe Mac jẹ “%”, bi a ti lo ni Abala 4.2.3 Fifi ESP-IDF sori Mac.
Awọn ara ọrọ ninu iwe yi yoo wa ni tejede ni Charter, nigba ti koodu examples, irinše, awọn iṣẹ, oniyipada, koodu file awọn orukọ, awọn ilana koodu, ati awọn gbolohun ọrọ yoo wa ni Oluranse Titun.
Awọn aṣẹ tabi awọn ọrọ ti o nilo lati wa ni titẹ sii nipasẹ olumulo, ati awọn aṣẹ ti o le wa ni titẹ sii nipa titẹ bọtini “Tẹ” yoo wa ni titẹ ni Courier New bold. Awọn akọọlẹ ati awọn bulọọki koodu yoo ṣafihan ni awọn apoti buluu ina.
Example:
Ẹlẹẹkeji, lo esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py lati ṣe ipilẹṣẹ alakomeji ipin NVS file lori agbalejo idagbasoke pẹlu aṣẹ atẹle:
$ python $ IDF PATH / paati / nvs filasi / nvs ipin monomono / nvs ipin gen.py –input mass prod.csv –jade ibi-prod.bin –iwọn NVS PARTITION Iwon.

Abala 1

Ọrọ Iṣaaju

si

IoT

Ni opin ti awọn 20 orundun, pẹlu awọn jinde ti kọmputa nẹtiwọki ati ibaraẹnisọrọ imo, Internet ni kiakia ese sinu awọn eniyan aye. Bi imọ-ẹrọ Intanẹẹti ti n tẹsiwaju lati dagba, imọran Intanẹẹti ti Awọn nkan (IoT) ni a bi. Ni itumọ ọrọ gangan, IoT tumọ si Intanẹẹti nibiti awọn nkan ti sopọ. Lakoko ti Intanẹẹti atilẹba n fọ awọn opin aaye ati akoko ati dinku aaye laarin “eniyan ati eniyan”, IoT jẹ ki “awọn nkan” jẹ alabaṣe pataki, mu “awọn eniyan” ati “awọn nkan” sunmọ. Ni ọjọ iwaju ti a le rii, IoT ti ṣeto lati di agbara awakọ ti ile-iṣẹ alaye.
Nitorinaa, kini Intanẹẹti ti Awọn nkan?
O nira lati ṣalaye deede Intanẹẹti ti Awọn nkan, nitori itumọ rẹ ati iwọn rẹ ti n dagba nigbagbogbo. Ni ọdun 1995, Bill Gates kọkọ gbe imọran IoT jade ninu iwe rẹ The Road Ahead. Ni kukuru, IoT n jẹ ki awọn nkan ṣe paṣipaarọ alaye pẹlu ara wọn nipasẹ Intanẹẹti. Ibi-afẹde rẹ ti o ga julọ ni lati ṣeto “ayelujara ti Ohun gbogbo”. Eyi jẹ itumọ kutukutu ti IoT, bakanna bi irokuro ti imọ-ẹrọ iwaju. Ọgbọn ọdun lẹhinna, pẹlu idagbasoke iyara ti eto-ọrọ aje ati imọ-ẹrọ, irokuro n bọ sinu otito. Lati awọn ẹrọ ọlọgbọn, awọn ile ti o gbọn, awọn ilu ọlọgbọn, Intanẹẹti ti Awọn ọkọ ati awọn ẹrọ wearable, si “metaverse” ti o ni atilẹyin nipasẹ awọn imọ-ẹrọ IoT, awọn imọran tuntun n yọ jade nigbagbogbo. Ninu ori yii, a yoo bẹrẹ pẹlu alaye ti faaji ti Intanẹẹti ti Awọn nkan, ati lẹhinna ṣafihan ohun elo IoT ti o wọpọ julọ, ile ọlọgbọn, lati ṣe iranlọwọ fun ọ lati ni oye ti o yege ti IoT.
1.1 Faaji ti IoT
Intanẹẹti ti Awọn nkan pẹlu awọn imọ-ẹrọ pupọ eyiti o ni awọn iwulo ohun elo oriṣiriṣi ati awọn fọọmu ni awọn ile-iṣẹ oriṣiriṣi. Lati le ṣeto eto naa, awọn imọ-ẹrọ bọtini ati awọn abuda ohun elo ti IoT, o jẹ dandan lati fi idi faaji iṣọkan kan ati eto imọ-ẹrọ boṣewa kan. Ninu iwe yii, faaji ti IoT jẹ pinpin nirọrun si awọn fẹlẹfẹlẹ mẹrin: Iro & Layer iṣakoso, Layer nẹtiwọki, Layer Syeed, ati Layer ohun elo.
Iro & Iṣakoso Layer Gẹgẹbi ipilẹ ipilẹ julọ ti faaji IoT, iwoye & Layer iṣakoso jẹ ipilẹ lati mọ oye oye ti IoT. Iṣẹ akọkọ rẹ ni lati gba, ṣe idanimọ ati iṣakoso alaye. O ni ọpọlọpọ awọn ẹrọ pẹlu agbara iwoye,
3

idanimọ, iṣakoso ati ipaniyan, ati pe o jẹ iduro fun gbigba pada ati itupalẹ data gẹgẹbi awọn ohun-ini ohun elo, awọn aṣa ihuwasi, ati ipo ẹrọ. Ni ọna yii, IoT gba lati ṣe idanimọ agbaye ti ara gidi. Yato si, awọn Layer jẹ tun ni anfani lati šakoso awọn ipo ti awọn ẹrọ.
Awọn ẹrọ ti o wọpọ julọ ti Layer yii jẹ awọn sensọ oriṣiriṣi, eyiti o ṣe ipa pataki ninu gbigba alaye ati idanimọ. Awọn sensọ dabi awọn ara ifarako eniyan, gẹgẹbi awọn sensosi ti o ni iwọn fọto ti o dọgba si iran, awọn sensọ acoustic si igbọran, awọn sensosi gaasi si olfato, ati titẹ- ati awọn sensosi ti o ni iwọn otutu si ifọwọkan. Pẹlu gbogbo awọn “awọn ẹya ara ifarako” wọnyi, awọn nkan di “laaye” ati ti o lagbara ti oye oye, idanimọ ati ifọwọyi ti agbaye ti ara.
Nẹtiwọọki Layer Išẹ akọkọ ti Layer nẹtiwọki ni lati atagba alaye, pẹlu data ti o gba lati inu Iro & Layer iṣakoso si ibi-afẹde kan pato, bakanna bi awọn aṣẹ ti a ṣejade lati Layer ohun elo pada si Iro & Layer iṣakoso. O ṣe iranṣẹ bi afara ibaraẹnisọrọ pataki kan ti o so awọn ipele oriṣiriṣi ti eto IoT kan. Lati ṣeto awoṣe ipilẹ ti Intanẹẹti ti Awọn nkan, o kan awọn igbesẹ meji lati ṣepọ awọn nkan sinu nẹtiwọọki kan: iraye si Intanẹẹti ati gbigbe nipasẹ Intanẹẹti.
Wiwọle si Intanẹẹti jẹ ki asopọ laarin eniyan ati eniyan, ṣugbọn kuna lati ṣafikun awọn nkan sinu idile nla. Ṣaaju wiwa ti IoT, ọpọlọpọ awọn nkan kii ṣe “anfani-nẹtiwọọki”. Ṣeun si idagbasoke ilọsiwaju ti imọ-ẹrọ, IoT ṣakoso lati so awọn nkan pọ si Intanẹẹti, nitorinaa o mọ isọpọ laarin “awọn eniyan ati awọn nkan” ati “awọn nkan ati awọn nkan”. Awọn ọna ti o wọpọ meji lo wa lati ṣe asopọ Intanẹẹti: iraye si nẹtiwọọki ti firanṣẹ ati iraye si nẹtiwọọki alailowaya.
Awọn ọna iwọle si nẹtiwọọki ti a firanṣẹ pẹlu Ethernet, ibaraẹnisọrọ ni tẹlentẹle (fun apẹẹrẹ, RS-232, RS-485) ati USB, lakoko ti iraye si nẹtiwọọki alailowaya da lori ibaraẹnisọrọ alailowaya, eyiti o le pin siwaju si ibaraẹnisọrọ alailowaya kukuru kukuru ati ibaraẹnisọrọ alailowaya gigun.
Ibaraẹnisọrọ alailowaya kukuru pẹlu ZigBee, Bluetoothr, Wi-Fi, Ibaraẹnisọrọ Nitosi-Field (NFC), ati Idanimọ Igbohunsafẹfẹ Redio (RFID). Ibaraẹnisọrọ alailowaya gigun-gun pẹlu Ibaraẹnisọrọ Iru Ẹrọ Imudara (eMTC), LoRa, Intanẹẹti Awọn Ohun Narrow Band (NB-IoT), 2G, 3G, 4G, 5G, ati bẹbẹ lọ.
Gbigbe nipasẹ Intanẹẹti Awọn ọna oriṣiriṣi ti iraye si Intanẹẹti yori si ọna asopọ gbigbe ti ara ti o baamu ti data. Ohun ti o tẹle ni lati pinnu iru ilana ibaraẹnisọrọ lati lo lati tan data naa. Ti a ṣe afiwe pẹlu awọn ebute Intanẹẹti, pupọ julọ awọn ebute IoT lọwọlọwọ ni diẹ
4 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

awọn orisun ti o wa, gẹgẹbi iṣẹ ṣiṣe, agbara ibi ipamọ, oṣuwọn nẹtiwọọki, ati bẹbẹ lọ, nitorinaa o jẹ dandan lati yan ilana ibaraẹnisọrọ ti o gba awọn orisun diẹ ninu awọn ohun elo IoT. Awọn ilana ibaraẹnisọrọ meji lo wa ti o lo pupọ loni: Ifiranṣẹ Queuing Telemetry Transport (MQTT) ati Ilana Ohun elo Ihamọ (CoAP).
Platform Layer Layer Syeed nipataki tọka si awọn iru ẹrọ awọsanma IoT. Nigbati gbogbo awọn ebute IoT ba jẹ nẹtiwọọki, data wọn nilo lati ṣajọpọ lori pẹpẹ awọsanma IoT lati ṣe iṣiro ati fipamọ. Ipele Syeed ni akọkọ ṣe atilẹyin awọn ohun elo IoT ni irọrun iraye si ati iṣakoso awọn ẹrọ nla. O so awọn ebute IoT pọ si pẹpẹ awọsanma, gba data ebute, ati pe o paṣẹ awọn aṣẹ si awọn ebute, lati le ṣe iṣakoso isakoṣo latọna jijin. Gẹgẹbi iṣẹ agbedemeji lati fi ohun elo si awọn ohun elo ile-iṣẹ, Layer Syeed ṣe ipa ọna asopọ ni gbogbo faaji IoT, ti n gbe ọgbọn-ọgbọn iṣowo alafojusi ati awoṣe data ipilẹ, eyiti ko le rii iraye iyara ti awọn ẹrọ nikan, ṣugbọn tun pese awọn agbara apọjuwọn to lagbara lati pade ọpọlọpọ awọn iwulo ni awọn oju iṣẹlẹ ohun elo ile-iṣẹ. Layer Syeed nipataki pẹlu awọn modulu iṣẹ ṣiṣe gẹgẹbi iraye si ẹrọ, iṣakoso ẹrọ, iṣakoso aabo, ibaraẹnisọrọ ifiranṣẹ, ṣiṣe abojuto ati itọju, ati awọn ohun elo data.
· Wiwọle ẹrọ, mimọ asopọ ati ibaraẹnisọrọ laarin awọn ebute ati awọn iru ẹrọ awọsanma IoT.
· Iṣakoso ẹrọ, pẹlu awọn iṣẹ bii ẹda ẹrọ, itọju ẹrọ, iyipada data, mimuuṣiṣẹpọ data, ati pinpin ẹrọ.
· Aabo iṣakoso, aridaju aabo ti gbigbe data IoT lati awọn iwoye ti ijẹrisi aabo ati aabo ibaraẹnisọrọ.
· Ibaraẹnisọrọ ifiranšẹ, pẹlu awọn itọnisọna gbigbe mẹta, eyini ni, ebute naa nfi data ranṣẹ si ipilẹ awọsanma IoT, ipilẹ awọsanma IoT ti nfi data ranṣẹ si ẹgbẹ olupin tabi awọn iru ẹrọ awọsanma IoT miiran, ati ẹgbẹ olupin n ṣakoso awọn ẹrọ IoT latọna jijin.
· Abojuto O&M, okiki ibojuwo ati iwadii aisan, igbesoke famuwia, n ṣatunṣe aṣiṣe lori ayelujara, awọn iṣẹ log, ati bẹbẹ lọ.
· Awọn ohun elo data, okiki ibi ipamọ, itupalẹ ati ohun elo data.
Ohun elo Layer Layer ohun elo nlo data lati Layer Syeed lati ṣakoso ohun elo, sisẹ ati sisẹ wọn pẹlu awọn irinṣẹ gẹgẹbi awọn apoti isura data ati sọfitiwia itupalẹ. Awọn data abajade le ṣee lo fun awọn ohun elo IoT gidi-aye gẹgẹbi ilera ti o gbọn, iṣẹ-ogbin ọlọgbọn, awọn ile ọlọgbọn, ati awọn ilu ọlọgbọn.
Nitoribẹẹ, faaji ti IoT le ti pin si awọn fẹlẹfẹlẹ diẹ sii, ṣugbọn laibikita iye awọn fẹlẹfẹlẹ ti o ni ninu, ipilẹ ipilẹ jẹ pataki kanna. Ẹkọ
Abala 1. Ifihan si IoT 5

nipa faaji ti IoT ṣe iranlọwọ lati jinlẹ oye wa ti awọn imọ-ẹrọ IoT ati kọ awọn iṣẹ akanṣe IoT ni kikun.
1.2 Ohun elo IoT ni Awọn ile Smart
IoT ti wọ inu gbogbo awọn ọna igbesi aye, ati pe ohun elo IoT ti o ni ibatan julọ si wa ni ile ọlọgbọn. Ọpọlọpọ awọn ohun elo ibile ti ni ipese pẹlu ọkan tabi diẹ ẹ sii awọn ẹrọ IoT, ati ọpọlọpọ awọn ile tuntun ti a kọ ni a ṣe pẹlu awọn imọ-ẹrọ IoT lati ibẹrẹ. Nọmba 1.1 fihan diẹ ninu awọn ẹrọ ile ọlọgbọn ti o wọpọ.
olusin 1.1. Awọn ẹrọ ile ọlọgbọn ti o wọpọ Idagbasoke ti ile ọlọgbọn le jẹ pinpin nirọrun si awọn ọja ọlọgbọntage, isẹlẹ interconnection stage ati oloye stage, bi o han ni Figure 1.2.
olusin 1.2. Idagbasoke stage ti ile ọlọgbọn 6 ESP32-C3 Adventure Alailowaya: Itọsọna okeerẹ si IoT

Ni igba akọkọ ti stage jẹ nipa awọn ọja ọlọgbọn. Yatọ si awọn ile ibile, ni awọn ile ti o gbọn, awọn ẹrọ IoT gba awọn ifihan agbara pẹlu awọn sensọ, ati pe o jẹ nẹtiwọki nipasẹ awọn imọ-ẹrọ ibaraẹnisọrọ alailowaya bii Wi-Fi, Bluetooth LE, ati ZigBee. Awọn olumulo le ṣakoso awọn ọja ọlọgbọn ni awọn ọna oriṣiriṣi, gẹgẹbi awọn ohun elo foonuiyara, awọn oluranlọwọ ohun, iṣakoso agbọrọsọ ọlọgbọn, bbl Awọn keji stage fojusi lori interconnection si nmu. Ninu stage, Difelopa ti wa ni ko gun considering akoso nikan smati ọja, ṣugbọn interconnecting meji tabi diẹ ẹ sii smati awọn ọja, automating si kan awọn iye, ati nipari lara kan aṣa nmu mode. Fun example, nigbati olumulo ba tẹ bọtini ipo ipo eyikeyi, awọn ina, awọn aṣọ-ikele, ati awọn amúlétutù yoo jẹ adaṣe laifọwọyi si awọn tito tẹlẹ. Nitoribẹẹ, o wa pataki ṣaaju pe a ti ṣeto ọgbọn ọna asopọ ni imurasilẹ, pẹlu awọn ipo okunfa ati awọn iṣe ipaniyan. Fojuinu pe ipo alapapo afẹfẹ ti nfa nigbati iwọn otutu inu ile ba lọ silẹ ni isalẹ 10 ° C; pe ni aago meje owurọ, orin yoo dun lati ji olumulo, awọn aṣọ-ikele ti o ni oye yoo ṣii, ati ẹrọ irẹsi tabi toaster akara bẹrẹ nipasẹ iho ọlọgbọn; bi olumulo ṣe dide ti o pari fifọ, a ti jẹ ounjẹ owurọ tẹlẹ, ki idaduro ko ni si ni lilọ si iṣẹ. Bawo ni igbesi aye wa ti rọrun to! Kẹta stage lọ si oye stage. Bi awọn ẹrọ ile ti o gbọn diẹ sii ti wọle, bẹ naa awọn iru data ti ipilẹṣẹ. Pẹlu iranlọwọ ti iṣiro awọsanma, data nla ati itetisi atọwọda, o dabi pe a ti gbin “ọpọlọ ọgbọn” sinu awọn ile ti o gbọn, eyiti ko nilo awọn aṣẹ loorekoore lati ọdọ olumulo mọ. Wọn gba data lati awọn ibaraẹnisọrọ iṣaaju ati kọ ẹkọ awọn ilana ihuwasi olumulo ati awọn ayanfẹ, lati le ṣe adaṣe awọn iṣẹ ṣiṣe, pẹlu ipese awọn iṣeduro fun ṣiṣe ipinnu. Lọwọlọwọ, ọpọlọpọ awọn ile ọlọgbọn wa ni aaye interconnection stage. Bi oṣuwọn ilaluja ati oye ti awọn ọja ọlọgbọn n pọ si, awọn idena laarin awọn ilana ibaraẹnisọrọ ti wa ni yiyọ kuro. Ni ọjọ iwaju, awọn ile ọlọgbọn yoo di “ọlọgbọn” gaan, gẹgẹ bi eto AI Jarvis ni Iron Eniyan, eyiti ko le ṣe iranlọwọ fun olumulo nikan ni iṣakoso awọn ẹrọ pupọ, mu awọn ọran ojoojumọ, ṣugbọn tun ni agbara iširo nla ati agbara ironu. Ninu awon oloye stage, awọn eniyan yoo gba awọn iṣẹ to dara julọ mejeeji ni opoiye ati didara.
Abala 1. Ifihan si IoT 7

8 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

Abala Ifihan ati Iṣeṣe ti Awọn iṣẹ akanṣe 2 IoT
Ni ori 1, a ṣe agbekalẹ faaji ti IoT, ati awọn ipa ati awọn ibaraenisepo ti Iro & Layer Iṣakoso, Layer Nẹtiwọọki, Layer Syeed, ati Layer ohun elo, ati idagbasoke ti ile ọlọgbọn. Bibẹẹkọ, gẹgẹ bi nigba ti a kọ ẹkọ lati kun, mimọ imọ imọ-jinlẹ jinna lati to. A ni lati “gba ọwọ wa ni idọti” lati fi awọn iṣẹ akanṣe IoT sinu adaṣe lati le ni oye imọ-ẹrọ naa nitootọ. Ni afikun, nigbati ise agbese kan gbe lọ si ibi-gbóògì stage, o jẹ dandan lati ṣe akiyesi awọn ifosiwewe diẹ sii gẹgẹbi asopọ nẹtiwọọki, iṣeto ni, ibaraenisepo Syeed awọsanma IoT, iṣakoso famuwia ati awọn imudojuiwọn, iṣakoso iṣelọpọ pupọ, ati iṣeto aabo. Nitorinaa, kini a nilo lati fiyesi si nigbati o ba dagbasoke iṣẹ akanṣe IoT pipe kan? Ni ori 1, a mẹnuba pe ile ọlọgbọn jẹ ọkan ninu awọn oju iṣẹlẹ ohun elo IoT ti o wọpọ julọ, ati awọn imole ti o ni imọran jẹ ọkan ninu awọn ipilẹ julọ ati awọn ohun elo ti o wulo, eyiti o le ṣee lo ni awọn ile, awọn ile itura, awọn gyms, awọn ile-iwosan, bbl Nitorina, ninu iwe yi, a yoo gba awọn ikole ti a smati ina ise agbese bi awọn ibẹrẹ ojuami, se alaye awọn oniwe-irinše ati awọn ẹya ara ẹrọ, ki o si pese itoni lori ise agbese idagbasoke. A nireti pe o le fa awọn itọkasi lati ọran yii lati ṣẹda awọn ohun elo IoT diẹ sii.
2.1 Ifihan si Aṣoju IoT Projects
Ni awọn ofin ti idagbasoke, awọn modulu iṣẹ ṣiṣe ipilẹ ti awọn iṣẹ akanṣe IoT ni a le pin si sọfitiwia ati idagbasoke ohun elo ti awọn ẹrọ IoT, idagbasoke ohun elo alabara, ati idagbasoke Syeed awọsanma IoT. O ṣe pataki lati ṣalaye awọn modulu iṣẹ ṣiṣe ipilẹ, eyiti yoo jẹ apejuwe siwaju ni apakan yii.
2.1.1 Awọn modulu Ipilẹ fun Awọn ẹrọ IoT ti o wọpọ
Sọfitiwia ati idagbasoke ohun elo ti awọn ẹrọ IoT pẹlu awọn modulu ipilẹ wọnyi: Gbigba data
Gẹgẹbi Layer isalẹ ti faaji IoT, awọn ẹrọ IoT ti Iro & Layer iṣakoso so awọn sensosi ati awọn ẹrọ nipasẹ awọn eerun wọn ati awọn agbeegbe lati ṣaṣeyọri gbigba data ati iṣakoso iṣẹ.
9

Isopọmọ akọọlẹ ati iṣeto ni ibẹrẹ Fun ọpọlọpọ awọn ẹrọ IoT, abuda akọọlẹ ati iṣeto ni ibẹrẹ ti pari ni ilana iṣiṣẹ kan, fun ex.ample, sisopọ awọn ẹrọ pẹlu awọn olumulo nipa atunto Wi-Fi nẹtiwọki.
Ibaraṣepọ pẹlu awọn iru ẹrọ awọsanma IoT Lati ṣe atẹle ati ṣakoso awọn ẹrọ IoT, o tun jẹ dandan lati so wọn pọ si awọn iru ẹrọ awọsanma IoT, lati fun awọn aṣẹ ati ipo ijabọ nipasẹ ibaraenisepo laarin ara wọn.
Iṣakoso ẹrọ Nigbati a ba sopọ pẹlu awọn iru ẹrọ awọsanma IoT, awọn ẹrọ le ṣe ibasọrọ pẹlu awọsanma ati forukọsilẹ, dè, tabi iṣakoso. Awọn olumulo le beere ipo ọja ati ṣe awọn iṣẹ miiran lori ohun elo foonuiyara nipasẹ awọn iru ẹrọ awọsanma IoT tabi awọn ilana ibaraẹnisọrọ agbegbe.
Igbesoke famuwia awọn ẹrọ IoT tun le ṣaṣeyọri igbesoke famuwia ti o da lori awọn iwulo awọn olupese. Nipa gbigba awọn aṣẹ ti a firanṣẹ nipasẹ awọsanma, igbesoke famuwia ati iṣakoso ẹya yoo jẹ imuse. Pẹlu ẹya igbesoke famuwia yii, o le mu ilọsiwaju awọn iṣẹ ti awọn ẹrọ IoT ṣiṣẹ, ṣatunṣe awọn abawọn, ati ilọsiwaju iriri olumulo.
2.1.2 Awọn modulu Ipilẹ ti Awọn ohun elo Onibara
Awọn ohun elo alabara (fun apẹẹrẹ, awọn ohun elo foonuiyara) ni akọkọ pẹlu awọn modulu ipilẹ wọnyi:
Eto akọọlẹ ati aṣẹ O ṣe atilẹyin akọọlẹ ati aṣẹ ẹrọ.
Awọn ohun elo Foonuiyara Iṣakoso ẹrọ nigbagbogbo ni ipese pẹlu awọn iṣẹ iṣakoso. Awọn olumulo le ni irọrun sopọ si awọn ẹrọ IoT, ati ṣakoso wọn nigbakugba, nibikibi nipasẹ awọn ohun elo foonuiyara. Ni ile gidi-aye smati, awọn ẹrọ jẹ iṣakoso pupọ julọ nipasẹ awọn ohun elo foonuiyara, eyiti kii ṣe ṣiṣe iṣakoso oye ti awọn ẹrọ nikan, ṣugbọn tun ṣafipamọ idiyele agbara eniyan. Nitorinaa, iṣakoso ẹrọ jẹ dandan fun awọn ohun elo alabara, gẹgẹbi iṣakoso ẹya iṣẹ ẹrọ, iṣakoso iṣẹlẹ, ṣiṣe eto, isakoṣo latọna jijin, ọna asopọ ẹrọ, bbl Awọn olumulo ile Smart tun le ṣe akanṣe awọn iwoye ni ibamu si awọn iwulo ti ara ẹni, iṣakoso ina, awọn ohun elo ile, ẹnu-ọna , ati bẹbẹ lọ, lati ṣe igbesi aye ile diẹ sii ni itunu ati irọrun. Wọn le akoko mimu afẹfẹ, pa a latọna jijin, ṣeto ina hallway si tan laifọwọyi ni kete ti ilẹkun ba wa ni ṣiṣi, tabi yipada si ipo “itage” pẹlu bọtini kan ṣoṣo.
Awọn ohun elo alabara iwifunni ṣe imudojuiwọn ipo gidi-akoko ti awọn ẹrọ IoT, ati firanṣẹ awọn itaniji nigbati awọn ẹrọ ba lọ ajeji.
10 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

Iṣẹ alabara lẹhin-tita Awọn ohun elo Foonuiyara le pese awọn iṣẹ lẹhin-tita fun awọn ọja, lati yanju awọn iṣoro ti o jọmọ awọn ikuna ẹrọ IoT ati awọn iṣẹ imọ-ẹrọ ni akoko ti akoko.
Awọn iṣẹ ifihan Lati pade awọn iwulo ti awọn olumulo oriṣiriṣi, awọn iṣẹ miiran le ṣafikun, bii gbigbọn, NFC, GPS, ati bẹbẹ lọ. paṣẹ lati ṣiṣẹ fun ẹrọ kan pato tabi iṣẹlẹ nipasẹ gbigbọn.
2.1.3 Ifihan to wọpọ IoT Cloud Platforms
Syeed awọsanma IoT jẹ ipilẹ gbogbo-ni-ọkan eyiti o ṣepọ awọn iṣẹ bii iṣakoso ẹrọ, ibaraẹnisọrọ aabo data, ati iṣakoso iwifunni. Gẹgẹbi ẹgbẹ ibi-afẹde wọn ati iraye si, awọn iru ẹrọ awọsanma IoT le pin si awọn iru ẹrọ awọsanma IoT gbangba (lẹhinna tọka si bi “awọsanma gbangba”) ati awọn iru ẹrọ awọsanma IoT ikọkọ (lẹhinna tọka si bi “awọsanma ikọkọ”).
Awọsanma ti gbogbo eniyan nigbagbogbo tọka si awọn iru ẹrọ awọsanma IoT pinpin fun awọn ile-iṣẹ tabi awọn ẹni-kọọkan, ṣiṣẹ ati ṣetọju nipasẹ awọn olupese Syeed, ati pinpin nipasẹ Intanẹẹti. O le jẹ ọfẹ tabi idiyele kekere, ati pese awọn iṣẹ jakejado nẹtiwọọki gbangba gbangba, bii Alibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT, bbl Gẹgẹbi pẹpẹ atilẹyin, awọsanma gbogbogbo le ṣepọ awọn olupese iṣẹ oke ati awọn olumulo ipari lati ṣẹda pq iye tuntun ati ilolupo.
Awọsanma aladani ni itumọ ti fun lilo ile-iṣẹ nikan, nitorinaa ṣe iṣeduro iṣakoso ti o dara julọ lori data, aabo, ati didara iṣẹ. Awọn iṣẹ rẹ ati awọn amayederun jẹ itọju lọtọ nipasẹ awọn ile-iṣẹ, ati ohun elo atilẹyin ati sọfitiwia tun jẹ igbẹhin si awọn olumulo kan pato. Awọn ile-iṣẹ le ṣe akanṣe awọn iṣẹ awọsanma lati pade awọn iwulo iṣowo wọn. Lọwọlọwọ, diẹ ninu awọn aṣelọpọ ile ti o gbọn ti ni awọn iru ẹrọ awọsanma IoT ikọkọ ati idagbasoke awọn ohun elo ile ọlọgbọn ti o da lori wọn.
Awọsanma gbangba ati awọsanma aladani ni advan tiwọntages, eyi ti yoo ṣe alaye nigbamii.
Lati ṣaṣeyọri Asopọmọra ibaraẹnisọrọ, o jẹ dandan lati pari o kere idagbasoke ifibọ ni ẹgbẹ ẹrọ, pẹlu awọn olupin iṣowo, awọn iru ẹrọ awọsanma IoT, ati awọn ohun elo foonuiyara. Ti nkọju si iru iṣẹ akanṣe nla kan, awọsanma gbogbogbo n pese awọn ohun elo idagbasoke sọfitiwia fun ẹgbẹ-ẹgbẹ ati awọn ohun elo foonuiyara lati mu ilana naa pọ si. Mejeeji awọsanma gbangba ati ikọkọ pese awọn iṣẹ pẹlu wiwọle ẹrọ, iṣakoso ẹrọ, ojiji ẹrọ, ati iṣẹ ati itọju.
Wiwọle si ẹrọ Awọn iru ẹrọ awọsanma IoT nilo lati pese kii ṣe awọn atọkun fun iraye si ẹrọ nipa lilo awọn ilana
Abala 2. Iṣafihan ati Iṣeṣe ti Awọn iṣẹ akanṣe IoT 11

gẹgẹbi MQTT, CoAP, HTTPS, ati WebSocket, ṣugbọn tun iṣẹ ti ijẹrisi aabo ẹrọ lati dinamọ eke ati awọn ẹrọ arufin, ni imunadoko idinku eewu ti jijẹ. Iru ìfàṣẹsí bẹẹ nigbagbogbo ṣe atilẹyin awọn ọna ṣiṣe oriṣiriṣi, nitorinaa nigbati awọn ẹrọ ba ti ṣelọpọ pupọ, o jẹ dandan lati fi iwe-ẹri ẹrọ tẹlẹ-tẹlẹ ni ibamu si ẹrọ ijẹrisi ti o yan ati sun sinu awọn ẹrọ naa.
Ṣiṣakoso ẹrọ Iṣẹ iṣakoso ẹrọ ti a pese nipasẹ awọn iru ẹrọ awọsanma IoT ko le ṣe iranlọwọ nikan awọn olupese lati ṣe atẹle ipo imuṣiṣẹ ati ipo ori ayelujara ti awọn ẹrọ wọn ni akoko gidi, ṣugbọn tun gba awọn aṣayan bii fifi / yiyọ awọn ẹrọ kuro, gbigba pada, ṣafikun / piparẹ awọn ẹgbẹ, igbesoke famuwia. , ati iṣakoso ẹya.
Ojiji ẹrọ IoT awọsanma awọn iru ẹrọ le ṣẹda kan jubẹẹlo foju version (ojiji ẹrọ) fun ẹrọ kọọkan, ati awọn ipo ti awọn ojiji ẹrọ le ti wa ni muṣiṣẹpọ ati ki o gba nipasẹ foonuiyara app tabi awọn ẹrọ miiran nipasẹ awọn ilana gbigbe Ayelujara. Ojiji ẹrọ tọju ipo ijabọ tuntun ati ipo ti a nireti ti ẹrọ kọọkan, ati paapaa ti ẹrọ naa ba wa ni aisinipo, o tun le gba ipo naa nipa pipe awọn API. Ojiji ẹrọ n pese awọn API nigbagbogbo-lori, eyiti o jẹ ki o rọrun lati kọ awọn ohun elo foonuiyara ti o nlo pẹlu awọn ẹrọ.
Isẹ ati itọju Iṣẹ O&M pẹlu awọn aaye mẹta: · Afihan alaye iṣiro nipa awọn ẹrọ IoT ati awọn iwifunni. · Ṣiṣakoso iforukọsilẹ ngbanilaaye igbapada alaye nipa ihuwasi ẹrọ, ṣiṣan ifiranṣẹ soke/isalẹ, ati akoonu ifiranṣẹ. · N ṣatunṣe aṣiṣe ẹrọ ṣe atilẹyin ifijiṣẹ aṣẹ, imudojuiwọn iṣeto ni, ati ṣayẹwo ibaraenisepo laarin awọn iru ẹrọ awọsanma IoT ati awọn ifiranṣẹ ẹrọ.
2.2 adaṣe: Smart Light Project
Lẹhin iṣafihan imọ-jinlẹ ni ori kọọkan, iwọ yoo wa apakan adaṣe ti o ni ibatan si iṣẹ akanṣe Smart Light lati ṣe iranlọwọ fun ọ lati ni iriri ọwọ-lori. Ise agbese na da lori chirún Espressif's ESP32-C3 ati ESP RainMaker IoT Cloud Platform, ati wiwa ohun elo module alailowaya ni awọn ọja ina smati, sọfitiwia ifibọ fun awọn ẹrọ smati ti o da lori ESP32C3, awọn ohun elo foonuiyara, ati ibaraenisepo ESP RainMaker.
Koodu orisun Fun ẹkọ to dara julọ ati iriri idagbasoke, iṣẹ akanṣe inu iwe yii ti jẹ ṣiṣi silẹ. O le ṣe igbasilẹ koodu orisun lati ibi ipamọ GitHub wa ni https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

2.2.1 Project Be
Ise agbese Smart Light ni awọn ẹya mẹta: i. Awọn ẹrọ ina Smart ti o da lori ESP32-C3, lodidi fun ibaraenisepo pẹlu awọn iru ẹrọ awọsanma IoT, ati ṣiṣakoso yipada, imọlẹ ati iwọn otutu awọ ti LED lamp awọn ilẹkẹ. ii. Awọn ohun elo Foonuiyara (pẹlu awọn ohun elo tabulẹti ti n ṣiṣẹ lori Android ati iOS), lodidi fun iṣeto ni nẹtiwọọki ti awọn ọja ina smati, bii ibeere ati ṣiṣakoso ipo wọn.
iii. Syeed awọsanma IoT ti o da lori ESP RainMaker. Fun simplification, a ṣe akiyesi Syeed awọsanma IoT ati olupin iṣowo ni apapọ ninu iwe yii. Awọn alaye nipa ESP RainMaker yoo pese ni ori 3.
Ifiweranṣẹ laarin eto iṣẹ akanṣe Smart Light ati faaji ti IoT ni a fihan ni Nọmba 2.1.
olusin 2.1. Be ti smati ina ise agbese
2.2.2 Project Awọn iṣẹ
Ti pin ni ibamu si eto, awọn iṣẹ ti apakan kọọkan jẹ atẹle. Smart ina awọn ẹrọ
· Iṣeto ni nẹtiwọki ati asopọ. · Iṣakoso PWM LED, gẹgẹbi iyipada, imọlẹ, iwọn otutu awọ, bbl · Automation tabi iṣakoso iṣẹlẹ, fun apẹẹrẹ, iyipada akoko. · Ìsekóòdù ati aabo bata ti awọn Flash. · Famuwia igbesoke ati iṣakoso ẹya.
Abala 2. Iṣafihan ati Iṣeṣe ti Awọn iṣẹ akanṣe IoT 13

Awọn ohun elo Foonuiyara · Iṣeto nẹtiwọọki ati abuda ẹrọ. · Iṣakoso ọja ina Smart, gẹgẹbi iyipada, imọlẹ, iwọn otutu awọ, bbl · Adaaṣe tabi awọn eto iṣẹlẹ, fun apẹẹrẹ, iyipada akoko. · Iṣakoso agbegbe/latọna jijin. · Iforukọsilẹ olumulo, buwolu wọle, ati bẹbẹ lọ.
ESP RainMaker IoT awọsanma Syeed · Muu iraye si ẹrọ IoT. · Pipese ẹrọ APIs wiwọle si awọn ohun elo foonuiyara. · Famuwia igbesoke ati iṣakoso ẹya.
2.2.3 Hardware Igbaradi
Ti o ba nifẹ si fifi iṣẹ akanṣe si adaṣe, iwọ yoo tun nilo ohun elo atẹle: awọn ina smart, awọn fonutologbolori, awọn olulana Wi-Fi, ati kọnputa ti o pade awọn ibeere fifi sori ẹrọ ti agbegbe idagbasoke. Smart imọlẹ
Awọn imọlẹ Smart jẹ oriṣi tuntun ti awọn isusu, ti apẹrẹ rẹ jẹ kanna bi boolubu incandescent gbogbogbo. Imọlẹ ọlọgbọn kan jẹ ti ipese agbara ilana igbesẹ-isalẹ kapasito, module alailowaya (pẹlu ESP32-C3 ti a ṣe sinu), oludari LED ati matrix LED RGB. Nigbati o ba sopọ si agbara, 15 V DC voltage jade lẹhin igbesẹ-isalẹ kapasito, atunṣe diode, ati ilana pese agbara si oludari LED ati matrix LED. Oluṣakoso LED le firanṣẹ awọn ipele giga ati kekere laifọwọyi ni awọn aaye arin kan, yiyipada matrix LED RGB laarin pipade (awọn ina) ati ṣiṣi (awọn ina kuro), ki o le tu cyan, ofeefee, alawọ ewe, eleyi ti, bulu, pupa, ati funfun ina. Module alailowaya jẹ iduro fun sisopọ si olulana Wi-Fi, gbigba ati jijabọ ipo ti awọn ina smart, ati fifiranṣẹ awọn aṣẹ lati ṣakoso LED.
olusin 2.2. Imọlẹ ọlọgbọn ti a ṣe afiwe
Ni awọn tete idagbasoke stage, o le ṣe adaṣe ina ọlọgbọn nipa lilo igbimọ ESP32-C3DevKitM-1 ti o ni asopọ pẹlu RGB LED lamp awọn ilẹkẹ (wo Figure 2.2). Ṣugbọn o yẹ
14 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

ṣe akiyesi pe eyi kii ṣe ọna kan ṣoṣo lati pejọ ina ọlọgbọn kan. Apẹrẹ ohun elo ti iṣẹ akanṣe ninu iwe yii nikan ni module alailowaya kan (pẹlu ESP32-C3 ti a ṣe sinu), ṣugbọn kii ṣe apẹrẹ ohun elo ina smati pipe. Ni afikun, Espressif tun ṣe agbejade igbimọ idagbasoke ohun afetigbọ orisun ESP32-C3 ESP32C3-Lyra fun iṣakoso awọn ina pẹlu ohun. Igbimọ naa ni awọn atọkun fun awọn gbohungbohun ati awọn agbohunsoke ati pe o le ṣakoso awọn ila LED. O le ṣee lo fun idagbasoke idiyele-kekere, awọn olugbohunsafefe ohun afetigbọ giga ati awọn ila ina rhythm. Nọmba 2.3 fihan igbimọ ESP32-C3Lyra ti o ni asopọ pẹlu ṣiṣan ti awọn ina LED 40.
olusin 2.3. ESP32-C3-Lyra ni asopọ pẹlu ṣiṣan ti awọn ina LED 40
Awọn fonutologbolori (Android/iOS) Ise agbese Imọlẹ Smart jẹ pẹlu idagbasoke ohun elo foonuiyara kan fun iṣeto ati iṣakoso awọn ọja ina ọlọgbọn.
Awọn olulana Wi-Fi Wi-Fi ṣe iyipada awọn ifihan agbara nẹtiwọọki ti firanṣẹ ati awọn ifihan agbara nẹtiwọọki alagbeka sinu awọn ifihan agbara nẹtiwọọki alailowaya, fun awọn kọnputa, awọn fonutologbolori, awọn tabulẹti, ati awọn ẹrọ alailowaya miiran lati sopọ si nẹtiwọọki. Fun example, àsopọmọBurọọdubandi ni ile nikan nilo lati sopọ si Wi-Fi olulana lati se aseyori awọn alailowaya Nẹtiwọki ti Wi-Fi awọn ẹrọ. Boṣewa Ilana akọkọ ti o ni atilẹyin nipasẹ awọn olulana Wi-Fi jẹ IEEE 802.11n, pẹlu aropin TxRate ti 300 Mbps, tabi 600 Mbps ni o pọju. Wọn jẹ ibaramu sẹhin pẹlu IEEE 802.11b ati IEEE 802.11g. Chirún ESP32-C3 nipasẹ Espressif ṣe atilẹyin IEEE 802.11b/g/n, nitorinaa o le yan ẹgbẹ-ẹyọkan (2.4 GHz) tabi ẹgbẹ-meji (2.4 GHz ati 5 GHz) Wi-Fi olulana.
Kọmputa kan (Linux/macOS/Windows) Ayika Idagbasoke yoo ṣe afihan ni ori 4. Abala 2. Ifihan ati Iṣeṣe ti Awọn iṣẹ IoT 15

2.2.4 Ilana idagbasoke
olusin 2.4. Awọn igbesẹ ti idagbasoke iṣẹ akanṣe Smart Light
Apẹrẹ Hardware Apẹrẹ Hardware ti awọn ẹrọ IoT jẹ pataki si iṣẹ akanṣe IoT kan. Ise agbese ina ọlọgbọn pipe ni ipinnu lati gbejade alamp ṣiṣẹ labẹ awọn mains ipese. Awọn aṣelọpọ oriṣiriṣi ṣe agbejade lamps ti awọn aṣa oriṣiriṣi ati awọn oriṣi awakọ, ṣugbọn awọn modulu alailowaya wọn nigbagbogbo jẹ iṣẹ kanna. Lati ṣe irọrun ilana idagbasoke ti iṣẹ akanṣe Smart Ligh, iwe yii nikan ni wiwa apẹrẹ ohun elo ati idagbasoke sọfitiwia ti awọn modulu alailowaya.
Iṣeto Syeed awọsanma IoT Lati lo awọn iru ẹrọ awọsanma IoT, o nilo lati tunto awọn iṣẹ akanṣe lori ẹhin, gẹgẹbi ṣiṣẹda awọn ọja, ṣiṣẹda awọn ẹrọ, ṣeto awọn ohun-ini ẹrọ, ati bẹbẹ lọ.
Idagbasoke sọfitiwia ti a fi sii fun awọn ẹrọ IoT Ṣe awọn iṣẹ ṣiṣe ti a nireti pẹlu ESP-IDF, Espressif's ẹrọ-ẹgbẹ SDK, pẹlu sisopọ si awọn iru ẹrọ awọsanma IoT, awọn awakọ LED ti ndagba, ati famuwia igbegasoke.
Idagbasoke ohun elo Foonuiyara Dagbasoke awọn ohun elo foonuiyara fun awọn eto Android ati iOS lati mọ iforukọsilẹ olumulo ati iwọle, iṣakoso ẹrọ ati awọn iṣẹ miiran.
Imudara ẹrọ IoT Ni ​​kete ti idagbasoke ipilẹ ti awọn iṣẹ ẹrọ IoT ti pari, o le yipada si awọn iṣẹ ṣiṣe ti o dara ju, gẹgẹbi iṣapeye agbara.
Idanwo iṣelọpọ lọpọlọpọ Ṣe awọn idanwo iṣelọpọ lọpọlọpọ ni ibamu si awọn iṣedede ti o jọmọ, gẹgẹbi idanwo iṣẹ ohun elo, idanwo ti ogbo, idanwo RF, ati bẹbẹ lọ.
Laibikita awọn igbesẹ ti a ṣe akojọ loke, iṣẹ akanṣe Smart Light ko jẹ koko-ọrọ si iru ilana nitori awọn iṣẹ ṣiṣe oriṣiriṣi le tun ṣee ṣe ni akoko kanna. Fun example, ifibọ software ati foonuiyara apps le ti wa ni idagbasoke ni ni afiwe. Diẹ ninu awọn igbesẹ le tun nilo lati tun ṣe, gẹgẹbi iṣapeye ẹrọ IoT ati idanwo iṣelọpọ pupọ.
16 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

2.3 Lakotan
Ninu ori yii, a kọkọ ṣe alaye lori awọn paati ipilẹ ati awọn modulu iṣẹ ṣiṣe ti iṣẹ akanṣe IoT kan, lẹhinna ṣafihan ọran Smart Light fun adaṣe, tọka si eto rẹ, awọn iṣẹ ṣiṣe, igbaradi hardware, ati ilana idagbasoke. Awọn oluka le fa awọn itọkasi lati adaṣe ati ni igboya lati ṣe awọn iṣẹ akanṣe IoT pẹlu awọn aṣiṣe ti o kere ju ni ọjọ iwaju.
Abala 2. Iṣafihan ati Iṣeṣe ti Awọn iṣẹ akanṣe IoT 17

18 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

Abala 3

Ọrọ Iṣaaju

si

ESP

RainMaker

Intanẹẹti ti Awọn nkan (IoT) nfunni awọn aye ailopin lati yi ọna ti eniyan n gbe, sibẹ idagbasoke ti imọ-ẹrọ IoT kun fun awọn italaya. Pẹlu awọn awọsanma gbangba, awọn aṣelọpọ ebute le ṣe iṣẹ ṣiṣe ọja nipasẹ awọn solusan atẹle:
Da lori awọn iru ẹrọ awọsanma awọn olupese ojutu Ni ọna yii, awọn aṣelọpọ ebute nikan nilo lati ṣe apẹrẹ ohun elo ọja, lẹhinna so ohun elo pọ mọ awọsanma nipa lilo module ibaraẹnisọrọ ti a pese, ati tunto awọn iṣẹ ọja ni atẹle awọn itọnisọna. Eyi jẹ ọna ti o munadoko nitori pe o ṣe imukuro iwulo fun ẹgbẹ olupin ati idagbasoke ohun elo-ẹgbẹ ati awọn iṣẹ ati itọju (O&M). O ngbanilaaye awọn aṣelọpọ ebute lati dojukọ apẹrẹ ohun elo laisi nini lati gbero imuse awọsanma. Bibẹẹkọ, iru awọn solusan (fun apẹẹrẹ, famuwia ẹrọ ati App) kii ṣe orisun gbogbogbo, nitorinaa awọn iṣẹ ọja yoo ni opin nipasẹ pẹpẹ awọsanma ti olupese eyiti ko le ṣe adani. Nibayi, olumulo ati data ẹrọ tun jẹ ti Syeed awọsanma.
Da lori awọn ọja awọsanma Ni ojutu yii, lẹhin ipari apẹrẹ ohun elo, awọn aṣelọpọ ebute ko nilo lati ṣe awọn iṣẹ awọsanma nikan ni lilo ọkan tabi diẹ sii awọn ọja awọsanma ti a pese nipasẹ awọsanma gbogbogbo, ṣugbọn tun nilo lati sopọ ohun elo pẹlu awọsanma. Fun example, lati sopọ si Amazon Web Awọn iṣẹ (AWS), awọn aṣelọpọ ebute nilo lati lo awọn ọja AWS gẹgẹbi Amazon API Gateway, AWS IoT Core, ati AWS Lambda lati jẹ ki wiwọle ẹrọ, iṣakoso latọna jijin, ipamọ data, iṣakoso olumulo, ati awọn iṣẹ ipilẹ miiran. Kii ṣe nikan beere lọwọ awọn aṣelọpọ ebute lati lo ni irọrun ati tunto awọn ọja awọsanma pẹlu oye ti o jinlẹ ati iriri ọlọrọ, ṣugbọn tun nilo wọn lati gbero ikole ati idiyele itọju fun ibẹrẹ ati nigbamii s.tages Eyi jẹ awọn italaya nla si agbara ati awọn orisun ile-iṣẹ naa.
Ti a ṣe afiwe pẹlu awọn awọsanma ti gbogbo eniyan, awọn awọsanma aladani ni a maa n kọ fun awọn iṣẹ akanṣe ati awọn ọja. Awọn olupilẹṣẹ awọsanma aladani ni a fun ni ipele giga ti ominira ni apẹrẹ ilana ati imuse ọgbọn iṣowo. Awọn aṣelọpọ ebute le ṣe awọn ọja ati awọn ero apẹrẹ ni ifẹ, ati ni irọrun ṣepọ ati fi agbara data olumulo. Apapọ aabo giga, scalability ati igbẹkẹle ti awọsanma gbangba pẹlu advantages ti ikọkọ awọsanma, Espressif se igbekale ESP
19

RainMaker, ojutu awọsanma ikọkọ ti o jinlẹ ti o da lori awọsanma Amazon. Awọn olumulo le mu ESP RainMaker ṣiṣẹ ki o kọ awọsanma aladani ni irọrun pẹlu akọọlẹ AWS kan.
3.1 Kini ESP RainMaker?
ESP RainMaker jẹ pẹpẹ AIoT pipe ti a ṣe pẹlu awọn ọja AWS ti o dagba pupọ. O pese awọn iṣẹ lọpọlọpọ ti o nilo fun iṣelọpọ lọpọlọpọ gẹgẹbi iraye si awọsanma ẹrọ, igbesoke ẹrọ, iṣakoso ẹhin, iwọle ẹni-kẹta, iṣọpọ ohun, ati iṣakoso olumulo. Nipa lilo Ibi ipamọ Ohun elo Alailẹgbẹ (SAR) ti a pese nipasẹ AWS, awọn aṣelọpọ ebute le mu ESP RainMaker ni kiakia si awọn akọọlẹ AWS wọn, eyiti o jẹ akoko-daradara ati rọrun lati ṣiṣẹ. Ṣakoso ati itọju nipasẹ Espressif, SAR ti ESP RainMaker ti nlo ṣe iranlọwọ fun awọn olupolowo dinku awọn idiyele itọju awọsanma ati mu idagbasoke awọn ọja AIoT pọ si, nitorinaa ṣiṣe aabo, iduroṣinṣin, ati awọn solusan AIoT isọdi. Nọmba 3.1 fihan faaji ti ESP RainMaker.
olusin 3.1. Faaji ti ESP RainMaker
Olupin gbangba ESP RainMaker nipasẹ Espressif jẹ ọfẹ fun gbogbo awọn alara ESP, awọn oluṣe, ati awọn olukọni fun igbelewọn ojutu. Awọn olupilẹṣẹ le wọle pẹlu Apple, Google, tabi awọn akọọlẹ GitHub, ati ni kiakia kọ awọn apẹrẹ ohun elo IoT tiwọn. Olupin gbogbo eniyan ṣepọ Alexa ati Ile Google, ati pese awọn iṣẹ iṣakoso ohun, eyiti o ni atilẹyin nipasẹ Olorijori Alexa ati Awọn iṣe Google. Iṣẹ idanimọ atunmọ rẹ tun ni agbara nipasẹ awọn ẹgbẹ kẹta. Awọn ẹrọ RainMaker IoT dahun si awọn iṣe kan pato. Fun atokọ pipe ti awọn aṣẹ ohun atilẹyin, jọwọ ṣayẹwo awọn iru ẹrọ ẹni-kẹta. Ni afikun, Espressif nfunni ni Ohun elo RainMaker ti gbogbo eniyan fun awọn olumulo lati ṣakoso awọn ọja nipasẹ awọn fonutologbolori. 20 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna to IoT

3.2 Awọn imuse ti ESP RainMaker
Gẹgẹbi a ṣe han ni Nọmba 3.2, ESP RainMaker ni awọn ẹya mẹrin: · Iṣẹ Ipeṣẹ, ṣiṣe awọn ẹrọ RainMaker laaye lati gba awọn iwe-ẹri. · Awọsanma RainMaker (ti a tun mọ ni ẹhin awọsanma), pese awọn iṣẹ bii sisẹ ifiranṣẹ, iṣakoso olumulo, ibi ipamọ data, ati awọn iṣọpọ ẹni-kẹta. · Aṣoju RainMaker, mu awọn ẹrọ RainMaker ṣiṣẹ lati sopọ si awọsanma RainMaker. Onibara RainMaker (App RainMaker tabi awọn iwe afọwọkọ CLI), fun ipese, ẹda olumulo, ẹgbẹ ẹrọ ati iṣakoso, ati bẹbẹ lọ.
olusin 3.2. Igbekale ti ESP RainMaker
ESP RainMaker n pese awọn irinṣẹ pipe fun idagbasoke ọja ati iṣelọpọ pupọ, pẹlu: RainMaker SDK
RainMaker SDK da lori ESP-IDF ati pese koodu orisun ti oluranlowo ẹgbẹ-ẹrọ ati awọn C API ti o ni ibatan fun idagbasoke famuwia. Awọn olupilẹṣẹ nilo lati kọ ọgbọn ohun elo nikan ki o fi iyokù silẹ si ilana RainMaker. Fun alaye diẹ sii nipa awọn API C, jọwọ ṣabẹwo https://bookc3.espressif.com/rm/c-api-reference. Ohun elo RainMaker Ẹya ti gbogbo eniyan ti RainMaker App ngbanilaaye awọn olupilẹṣẹ lati pari ipese ẹrọ, ati ṣakoso ati beere ipo awọn ẹrọ (fun apẹẹrẹ, awọn ọja ina ti o gbọn). O wa lori mejeeji iOS ati awọn ile itaja ohun elo Android. Fun awọn alaye diẹ sii, jọwọ tọka si ori 10. REST APIs REST APIs ṣe iranlọwọ fun awọn olumulo lati kọ awọn ohun elo tiwọn ti o jọra si Ohun elo RainMaker. Fun alaye diẹ sii, jọwọ ṣabẹwo https://swaggerapis.rainmaker.espressif.com/.
Abala 3. Ifihan si ESP RainMaker 21

Python APIs CLI ti o da lori Python, eyiti o wa pẹlu RainMaker SDK, ti pese lati ṣe gbogbo awọn iṣẹ ti o jọra si awọn ẹya foonuiyara. Fun alaye diẹ sii nipa Python APIs, jọwọ ṣabẹwo https://bookc3.espressif.com/rm/python-api-reference.
Abojuto CLI Admin CLI, pẹlu ipele iwọle ti o ga julọ, ti pese fun imuṣiṣẹ aladani ESP RainMaker lati ṣe awọn iwe-ẹri ẹrọ ni olopobobo.
3.2.1 Annabi Service
Gbogbo ibaraẹnisọrọ laarin awọn ẹrọ RainMaker ati ẹhin awọsanma ni a ṣe nipasẹ MQTT + TLS. Ni aaye ti ESP RainMaker, “Ipeṣẹ” jẹ ilana ninu eyiti awọn ẹrọ gba awọn iwe-ẹri lati Iṣẹ Ipeṣẹ ​​lati sopọ si ẹhin awọsanma. Ṣe akiyesi pe Iṣẹ Ipeṣẹ ​​nikan wulo fun iṣẹ RainMaker ti gbogbo eniyan, lakoko ti imuṣiṣẹ ikọkọ, awọn iwe-ẹri ẹrọ nilo lati ṣe ipilẹṣẹ ni olopobobo nipasẹ Admin CLI. ESP RainMaker ṣe atilẹyin awọn oriṣi mẹta ti Iṣẹ Ipebi: Ipera ara ẹni
Ẹrọ ara rẹ gba awọn iwe-ẹri nipasẹ bọtini aṣiri ti a ti ṣe tẹlẹ ni eFuse lẹhin sisopọ si Intanẹẹti. Gbigbe Iwakọ Gbalejo Awọn iwe-ẹri gba lati ọdọ agbalejo idagbasoke pẹlu akọọlẹ RainMaker. Iṣepe Iranlọwọ Awọn iwe-ẹri gba nipasẹ awọn ohun elo foonuiyara lakoko ipese.
3.2.2 RainMaker Aṣoju
olusin 3.3. Igbekale ti RainMaker SDK Iṣẹ akọkọ ti Aṣoju RainMaker ni lati pese isopọmọ ati ṣe iranlọwọ fun Layer ohun elo lati ṣe ilana data awọsanma uplink/isalẹ. O ti kọ nipasẹ RainMaker SDK 22 ESP32-C3 Irinajo Alailowaya: Itọsọna Ipilẹ si IoT

ati idagbasoke ti o da lori ilana ESP-IDF ti a fihan, lilo awọn paati ESP-IDF gẹgẹbi RTOS, NVS, ati MQTT. Olusin 3.3 fihan ilana ti RainMaker SDK.
RainMaker SDK pẹlu awọn ẹya pataki meji.
Asopọmọra
i. Ifowosowopo pẹlu Iṣẹ Ipeṣẹ ​​lati gba awọn iwe-ẹri ẹrọ.
ii. Nsopọ si ẹhin awọsanma nipa lilo ilana MQTT to ni aabo lati pese isakoṣo latọna jijin ati imuse isakoṣo latọna jijin, ijabọ ifiranṣẹ, iṣakoso olumulo, iṣakoso ẹrọ, bbl O nlo paati MQTT ni ESP-IDF nipasẹ aiyipada ati pese Layer abstraction lati ni wiwo pẹlu miiran awọn akopọ ilana.
iii. Pese paati ipese wifi fun asopọ Wi-Fi ati ipese, esp https ota paati fun awọn iṣagbega OTA, ati esp paati ctrl agbegbe fun wiwa ẹrọ agbegbe ati asopọ. Gbogbo awọn ibi-afẹde wọnyi le ṣee ṣe nipasẹ iṣeto ti o rọrun.
Sisẹ data
i. Titoju awọn iwe-ẹri ẹrọ ti o funni nipasẹ Iṣẹ Ipejọ ati data ti o nilo nigbati o nṣiṣẹ RainMaker, nipasẹ aiyipada ni lilo wiwo ti a pese nipasẹ paati filasi nvs, ati pese awọn API fun awọn olupilẹṣẹ fun lilo taara.
ii. Lilo siseto ipe pada lati ṣe ilana data awọsanma oke/isalẹ ati ṣiṣi silẹ data laifọwọyi si Layer ohun elo fun sisẹ irọrun nipasẹ awọn olupilẹṣẹ. Fun example, RainMaker SDK n pese awọn atọkun ọlọrọ fun idasile data TSL (Ede Specification Nkan), eyiti o nilo lati ṣalaye awọn awoṣe TSL lati ṣe apejuwe awọn ẹrọ IoT ati ṣe awọn iṣẹ bii akoko, kika, ati iṣakoso ohun. Fun awọn ẹya ibaraenisepo ipilẹ gẹgẹbi akoko, RainMaker SDK n pese ojutu ti ko ni idagbasoke eyiti o le mu ṣiṣẹ ni irọrun nigbati o nilo. Lẹhinna, Aṣoju RainMaker yoo ṣe ilana data taara, firanṣẹ si awọsanma nipasẹ koko-ọrọ MQTT ti o somọ, ati ifunni awọn iyipada data ni ẹhin awọsanma nipasẹ ẹrọ ipe pada.
3.2.3 Awọsanma Backend
Atunṣe awọsanma ti wa ni itumọ ti lori AWS Serverless Computing ati aṣeyọri nipasẹ AWS Cognito (eto iṣakoso idanimọ), Amazon API Gateway, AWS Lambda (iṣẹ iširo olupin alailowaya), Amazon DynamoDB (database NoSQL), AWS IoT Core (mojuto wiwọle IoT ti o pese wiwọle MQTT). ati sisẹ ofin), Amazon Simple Imeeli Service (SES o rọrun mail iṣẹ), Amazon CloudFront (sare ifijiṣẹ nẹtiwọki), Amazon Simple Queue Service (SQS ifiranṣẹ queuing), ati Amazon S3 (garawa ipamọ iṣẹ). O ti wa ni ifọkansi lati mu iwọn iwọn ati aabo pọ si. Pẹlu ESP RainMaker, awọn olupilẹṣẹ le ṣakoso awọn ẹrọ laisi nini lati kọ koodu ninu awọsanma. Awọn ifiranšẹ ti a royin nipasẹ awọn ẹrọ ni a gbejade ni gbangba si
Abala 3. Ifihan si ESP RainMaker 23

awọn alabara ohun elo tabi awọn iṣẹ ẹnikẹta miiran. Tabili 3.1 fihan awọn ọja awọsanma AWS ati awọn iṣẹ ti a lo ninu ẹhin awọsanma, pẹlu awọn ọja ati awọn ẹya diẹ sii labẹ idagbasoke.
Table 3.1. Awọn ọja awọsanma AWS ati awọn iṣẹ ti a lo nipasẹ ẹhin awọsanma

Ọja Awọsanma AWS Lo nipasẹ RainMaker

Išẹ

AWS Cognito

Ṣiṣakoso awọn iwe-ẹri olumulo ati atilẹyin awọn iwọle ẹnikẹta

AWS Lambda

Ṣiṣe ilana iṣowo iṣowo mojuto ti ẹhin awọsanma

Amazon Timestream data jara akoko ipamọ

Amazon DynamoDB Titoju awọn onibara 'ipamọ alaye

AWS IoT mojuto

Ṣe atilẹyin ibaraẹnisọrọ MQTT

Amazon SES

Pese awọn iṣẹ fifiranṣẹ imeeli

Amazon CloudFront Imuyara iṣakoso ti ẹhin webwiwọle ojula

Amazon SQS

Ndari awọn ifiranṣẹ lati AWS IoT Core

3.2.4 RainMaker ose
Awọn alabara RainMaker, gẹgẹbi App ati CLI, ṣe ibasọrọ pẹlu ẹhin awọsanma nipasẹ awọn API REST. Alaye ni kikun ati awọn ilana nipa awọn API REST ni a le rii ninu iwe Swagger ti Espressif pese. Onibara ohun elo alagbeka RainMaker wa fun mejeeji iOS ati awọn eto Android. O ngbanilaaye ipese ẹrọ, iṣakoso, ati pinpin, bii ṣiṣẹda ati muu ṣiṣẹ awọn iṣẹ ṣiṣe kika ati sisopọ si awọn iru ẹrọ ẹni-kẹta. O le gbe UI laifọwọyi ati awọn aami ni ibamu si iṣeto ti a royin nipasẹ awọn ẹrọ ati ṣafihan ẹrọ TSL ni kikun.
Fun example, ti o ba ti a smati ina ti wa ni itumọ ti lori RainMaker SDK-pese Mofiamples, aami ati UI ti awọn boolubu ina yoo wa ni ti kojọpọ laifọwọyi nigbati awọn ipese ti wa ni ti pari. Awọn olumulo le yi awọ ati imọlẹ ina pada nipasẹ wiwo ati ṣaṣeyọri iṣakoso ẹnikẹta nipa sisopọ Alexa Smart Home Skill tabi Awọn iṣẹ Ile Smart Google si awọn akọọlẹ ESP RainMaker wọn. olusin 3.4 fihan aami ati UI examples ti awọn boolubu ina lẹsẹsẹ lori Alexa, Google Home, ati ESP RainMaker App.

24 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

(a) Example – Alexa

(b) Example – Google Home

(c) Example – ESP RainMaker
Aworan 3.4. Eksamples ti aami ati UI ti ina boolubu lori Alexa, Ile Google, ati ESP RainMaker App
3.3 Iṣe: Awọn aaye pataki fun Idagbasoke pẹlu ESP RainMaker
Ni kete ti ipele awakọ ẹrọ ba ti pari, awọn olupilẹṣẹ le bẹrẹ lati ṣẹda awọn awoṣe TSL ati ṣe ilana data isale nipa lilo awọn API ti a pese nipasẹ RainMaker SDK, ati mu awọn iṣẹ ipilẹ ESP RainMaker ṣiṣẹ ti o da lori asọye ọja ati awọn ibeere.
Abala 3. Ifihan si ESP RainMaker 25

Abala 9.4 ti iwe yii yoo ṣe alaye imuse ti ina smart LED ni RainMaker. Lakoko ti n ṣatunṣe aṣiṣe, awọn olupilẹṣẹ le lo awọn irinṣẹ CLI ninu RainMaker SDK lati ṣe ibaraẹnisọrọ pẹlu ina ọlọgbọn (tabi pe awọn API REST lati Swagger).
Abala 10 yoo ṣe alaye fun lilo awọn API REST ni idagbasoke awọn ohun elo foonuiyara. Awọn iṣagbega OTA ti awọn imọlẹ smart smart LED yoo wa ni bo ni ori 11. Ti awọn olupilẹṣẹ ba ti mu ibojuwo latọna jijin ESP Insights ṣiṣẹ, ẹhin iṣakoso ESP RainMaker yoo ṣafihan data ESP Insights. Ẹ̀kúnrẹ́rẹ́ ni a óò gbé kalẹ̀ ní Orí 15.
ESP RainMaker ṣe atilẹyin imuṣiṣẹ ikọkọ, eyiti o yatọ si olupin RainMaker ti gbogbo eniyan ni awọn ọna wọnyi:
Iṣẹ Ipeṣẹ ​​Lati ṣe ipilẹṣẹ awọn iwe-ẹri ni awọn ifilọlẹ ikọkọ, o nilo lati lo RainMaker Admin CLI dipo Ipera. Pẹlu olupin ti gbogbo eniyan, awọn olupilẹṣẹ gbọdọ fun ni awọn ẹtọ abojuto lati ṣe igbesoke famuwia, ṣugbọn ko ṣe aifẹ ni awọn imuṣiṣẹ iṣowo. Nitorinaa, bẹni iṣẹ ijẹrisi lọtọ ko le pese fun ẹtọ ti ara ẹni, tabi awọn ẹtọ abojuto fun wiwa agbalejo tabi ifiranlọwọ iranlọwọ.
Awọn ohun elo foonu Ni awọn iṣiṣẹ ikọkọ, awọn ohun elo nilo lati tunto ati ṣajọ lọtọ lati rii daju pe awọn ọna ṣiṣe akọọlẹ ko ṣiṣẹ.
Awọn iwọle ẹni 3rd ati isọpọ ohun Awọn Difelopa ni lati tunto lọtọ nipasẹ Google ati awọn akọọlẹ Olùgbéejáde Apple lati jẹ ki awọn iwọle ẹgbẹ kẹta ṣiṣẹ, bakanna bi Olorijori Alexa ati iṣọpọ Iranlọwọ Voice Google.
Italolobo Fun awọn alaye nipa imuṣiṣẹ awọsanma, jọwọ ṣabẹwo https://customer.rainmaker.espressif. com. Ni awọn ofin ti famuwia, iṣiwa lati ọdọ olupin gbogbo eniyan si olupin ikọkọ nikan nilo rirọpo awọn iwe-ẹri ẹrọ, eyiti o mu ilọsiwaju iṣiwa dara pupọ ati dinku idiyele ijira ati n ṣatunṣe aṣiṣe keji.
3.4 Awọn ẹya ara ẹrọ ti ESP RainMaker
Awọn ẹya ESP RainMaker jẹ ifọkansi nipataki ni abala mẹta - iṣakoso olumulo, awọn olumulo ipari, ati awọn admins. Gbogbo awọn ẹya ni atilẹyin ni gbangba ati olupin ikọkọ ayafi ti bibẹẹkọ ti sọ.
3.4.1 olumulo Management
Awọn ẹya iṣakoso olumulo gba awọn olumulo ipari laaye lati forukọsilẹ, wọle, yi awọn ọrọ igbaniwọle pada, gba awọn ọrọ igbaniwọle pada, ati bẹbẹ lọ.
26 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

Forukọsilẹ ati wọle Awọn iforukọsilẹ ati awọn ọna iwọle ti RainMaker ṣe atilẹyin pẹlu: · Imeeli id ​​+ Ọrọigbaniwọle · Nọmba foonu + Ọrọigbaniwọle · Apamọ Google · Apamọ Apple · Iwe akọọlẹ GitHub (olupin ti gbogbo eniyan nikan) · Account Amazon (olupin aladani nikan)
AKIYESI forukọsilẹ nipa lilo Google/Amazon pin adirẹsi imeeli olumulo pẹlu RainMaker. Wọlé soke nipa lilo Apple pin adirẹsi idinwon ti Apple fi fun olumulo ni pataki fun iṣẹ RainMaker. Iwe akọọlẹ RainMaker yoo ṣẹda laifọwọyi fun awọn olumulo ti n wọle pẹlu Google, Apple, tabi akọọlẹ Amazon fun igba akọkọ.
Yi ọrọ igbaniwọle pada Wulo nikan fun id Imeeli/awọn orisun orisun nọmba foonu. Gbogbo awọn akoko ti nṣiṣe lọwọ yoo jẹ ibuwolu jade lẹhin ti ọrọ igbaniwọle ti yipada. Gẹgẹbi ihuwasi AWS Cognito, awọn akoko ti o jade le duro lọwọ to wakati 1.
Gba ọrọ igbaniwọle pada Wulo nikan fun id Imeeli/awọn orisun orisun nọmba foonu.
3.4.2 Opin User Awọn ẹya ara ẹrọ
Awọn ẹya ti o ṣii si awọn olumulo ipari pẹlu agbegbe ati iṣakoso latọna jijin ati ibojuwo, ṣiṣe eto, ṣiṣe akojọpọ ẹrọ, pinpin ẹrọ, awọn iwifunni titari, ati awọn iṣọpọ ẹnikẹta.
Iṣakoso latọna jijin ati ibojuwo · Iṣeto ibeere, awọn iye paramita, ati ipo asopọ fun ọkan tabi gbogbo awọn ẹrọ. · Ṣeto paramita fun ẹyọkan tabi awọn ẹrọ pupọ.
Iṣakoso agbegbe ati ibojuwo Foonu alagbeka ati ẹrọ nilo lati sopọ si nẹtiwọọki kanna fun iṣakoso agbegbe.
Eto · Awọn olumulo ti ṣeto awọn iṣe kan tẹlẹ ni akoko kan pato. · Ko si isopọ Ayelujara ti o nilo fun ẹrọ lakoko ṣiṣe iṣeto naa. · Igba kan tabi tun ṣe (nipa sisọ awọn ọjọ) fun ẹyọkan tabi awọn ẹrọ lọpọlọpọ.
Iṣakojọpọ ẹrọ Ṣe atilẹyin akojọpọ ailjẹ-ipele olona-pupọ Ẹgbẹ metadata le ṣee lo lati ṣẹda igbekalẹ Yara Ile kan.
Abala 3. Ifihan si ESP RainMaker 27

Pinpin ẹrọ Ọkan tabi diẹ ẹ sii ẹrọ le jẹ pinpin pẹlu ọkan tabi diẹ ẹ sii awọn olumulo.
Titari awọn iwifunni Awọn olumulo ipari yoo gba awọn iwifunni titari fun awọn iṣẹlẹ bii · Ẹrọ (awọn) titun ti a fikun/yiyọ · Ẹrọ ti a ti sopọ mọ awọsanma · Ẹrọ ti ge asopọ lati inu awọsanma · Awọn ibeere pinpin ẹrọ ti a ṣẹda/gba / kọ · Awọn ifiranšẹ itaniji royin nipasẹ awọn ẹrọ
Awọn iṣọpọ ẹnikẹta Alexa ati Oluranlọwọ ohun Google ni atilẹyin lati ṣakoso awọn ẹrọ RainMaker, pẹlu awọn ina, awọn iyipada, awọn iho, awọn onijakidijagan, ati awọn sensọ iwọn otutu.
3.4.3 Admin Awọn ẹya ara ẹrọ
Awọn ẹya abojuto gba awọn alabojuto laaye lati ṣe iforukọsilẹ ẹrọ, ṣiṣe akojọpọ ẹrọ, ati awọn iṣagbega OTA, ati si view statistiki ati ESP ìjìnlẹ data.
Iforukọsilẹ ẹrọ Ṣe awọn iwe-ẹri ẹrọ ati forukọsilẹ pẹlu Abojuto CLI (olupin aladani nikan).
Ṣiṣe akojọpọ ohun elo Ṣẹda áljẹbrà tabi awọn ẹgbẹ iṣeto ti o da lori alaye ẹrọ (olupin aladani nikan).
Over-the-Air (OTA) iṣagbega Po si famuwia da lori ẹya ati awoṣe, si ọkan tabi diẹ ẹ sii ẹrọ tabi ẹgbẹ kan Atẹle, fagilee, tabi pamosi Ota ise.
View awọn iṣiro ViewAwọn iṣiro agbara pẹlu: · Awọn iforukọsilẹ ẹrọ (awọn iwe-ẹri ti a forukọsilẹ nipasẹ alabojuto) · Awọn imuṣiṣẹ ẹrọ (ẹrọ ti a ti sopọ fun igba akọkọ) · Awọn akọọlẹ olumulo · Ẹgbẹ ẹrọ olumulo
View ESP ìjìnlẹ òye data ViewAwọn alaye imọye ESP ti o lagbara pẹlu: · Awọn aṣiṣe, ikilọ, ati awọn igbasilẹ aṣa · Awọn ijabọ jamba ati itupalẹ · Awọn idi atunbere · Awọn iwọn bii lilo iranti, RSSI, ati bẹbẹ lọ · Awọn metiriki aṣa ati awọn oniyipada
28 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

3.5 Lakotan
Ninu ori yii, a ṣafihan diẹ ninu awọn iyatọ bọtini laarin imuṣiṣẹ RainMaker ti gbogbo eniyan ati imuṣiṣẹ ikọkọ. Ojutu ESP RainMaker ikọkọ ti a ṣe ifilọlẹ nipasẹ Espressif jẹ igbẹkẹle gaan ati extensible. Gbogbo awọn eerun jara ESP32 ti sopọ ati ni ibamu si AWS, eyiti o dinku idiyele pupọ. Awọn olupilẹṣẹ le dojukọ lori ijẹrisi apẹẹrẹ lai ni lati kọ ẹkọ nipa awọn ọja awọsanma AWS. A tun ṣe alaye imuse ati awọn ẹya ti ESP RainMaker, ati diẹ ninu awọn aaye pataki fun idagbasoke nipa lilo pẹpẹ.
Ṣayẹwo lati ṣe igbasilẹ ESP RainMaker fun Android Scan lati ṣe igbasilẹ ESP RainMaker fun iOS
Abala 3. Ifihan si ESP RainMaker 29

30 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

Abala Eto Up 4 Development Ayika
Ipin yii da lori ESP-IDF, ilana idagbasoke sọfitiwia osise fun ESP32-C3. A yoo ṣe alaye bi o ṣe le ṣeto agbegbe lori ọpọlọpọ awọn ọna ṣiṣe, ati ṣafihan eto iṣẹ akanṣe ati eto kikọ ti ESP-IDF, ati lilo awọn irinṣẹ idagbasoke ti o jọmọ. Lẹhinna a yoo ṣafihan ilana ikojọpọ ati ṣiṣiṣẹ ti example ise agbese, nigba ti laimu kan alaye alaye ti o wu log ni kọọkan stage.
4.1 ESP-IDF Loriview
ESP-IDF (Espressif IoT Development Framework) jẹ ilana idagbasoke IoT kan-iduro kan ti a pese nipasẹ Imọ-ẹrọ Espressif. O nlo C/C ++ gẹgẹbi ede idagbasoke akọkọ ati ṣe atilẹyin akojọpọ-agbelebu labẹ awọn ọna ṣiṣe akọkọ bi Lainos, Mac, ati Windows. Awọn exampAwọn eto ti o wa ninu iwe yii ni idagbasoke ni lilo ESP-IDF, eyiti o funni ni awọn ẹya wọnyi: · Awọn awakọ ipele eto SoC. ESP-IDF pẹlu awakọ fun ESP32, ESP32-S2, ESP32-C3,
ati awọn miiran awọn eerun. Awọn awakọ wọnyi yika ile-ikawe agbeegbe ipele kekere (LL), ile-ikawe ohun elo abstraction Layer (HAL), atilẹyin RTOS ati sọfitiwia awakọ oke-Layer, ati bẹbẹ lọ · Awọn paati pataki. ESP-IDF ṣafikun awọn paati ipilẹ ti o nilo fun idagbasoke IoT. Eyi pẹlu awọn akopọ ilana ilana nẹtiwọọki pupọ bii HTTP ati MQTT, ilana iṣakoso agbara kan pẹlu awose igbohunsafẹfẹ agbara, ati awọn ẹya bii fifi ẹnọ kọ nkan Flash ati Boot Secure, bbl · Idagbasoke ati awọn irinṣẹ iṣelọpọ. ESP-IDF n pese awọn irinṣẹ ti o wọpọ fun kikọ, filasi, ati n ṣatunṣe aṣiṣe lakoko idagbasoke ati iṣelọpọ ibi-pupọ (wo Nọmba 4.1), gẹgẹbi eto ile ti o da lori CMake, pq irinṣẹ akopọ-agbelebu ti o da lori GCC, ati JTAG Ohun elo n ṣatunṣe aṣiṣe ti o da lori OpenOCD, bbl O tọ lati ṣe akiyesi pe koodu ESP-IDF ni akọkọ faramọ iwe-aṣẹ orisun-ìmọ Apache 2.0. Awọn olumulo le ṣe agbekalẹ sọfitiwia ti ara ẹni tabi ti iṣowo laisi awọn ihamọ lakoko ibamu pẹlu awọn ofin ti iwe-aṣẹ orisun-ìmọ. Ni afikun, awọn olumulo ni a fun ni awọn iwe-aṣẹ itọsi ayeraye laisi idiyele, laisi ọranyan lati ṣii-orisun eyikeyi awọn iyipada ti a ṣe si koodu orisun.
31

Olusin 4.1.

Ilé, ìmọ́lẹ̀, àti àtúnṣe-

ging irinṣẹ fun idagbasoke ati ibi-gbóògì

4.1.1 ESP-IDF Awọn ẹya
Koodu ESP-IDF ti gbalejo lori GitHub gẹgẹbi iṣẹ akanṣe orisun-ìmọ. Lọwọlọwọ, awọn ẹya pataki mẹta wa: v3, v4, ati v5. Ẹya pataki kọọkan nigbagbogbo ni ọpọlọpọ awọn ipadasẹhin, bii v4.2, v4.3, ati bẹbẹ lọ. Awọn ọna Espressif ṣe idaniloju atilẹyin oṣu 30 fun awọn atunṣe kokoro ati awọn abulẹ aabo fun ẹya kọọkan ti o tu silẹ. Nitorinaa, awọn atunyẹwo ti awọn ipadasẹhin tun jẹ idasilẹ nigbagbogbo, bii v4.3.1, v4.2.2, bbl Tabili 4.1 ṣe afihan ipo atilẹyin ti awọn ẹya ESP-IDF oriṣiriṣi fun awọn eerun Espressif, nfihan boya wọn wa ni iṣaaju iṣaaju.view stage (nfunni atilẹyin fun iṣaajuview awọn ẹya, eyiti o le ko ni awọn ẹya kan tabi iwe) tabi ti ni atilẹyin ni ifowosi.

Table 4.1. Ipo atilẹyin ti o yatọ si awọn ẹya ESP-IDF fun awọn eerun Espressif

Ẹya ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2

v4.1 atilẹyin

v4.2 ni atilẹyin

v4.3 atilẹyin atilẹyin

v4.4 atilẹyin atilẹyin atilẹyin
ṣaajuview

v5.0 ni atilẹyin atilẹyin atilẹyin atilẹyin iṣaajuview

32 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

Aṣetunṣe ti awọn ẹya pataki nigbagbogbo pẹlu awọn atunṣe si eto ilana ati awọn imudojuiwọn si eto akopọ. Fun example, awọn pataki ayipada lati v3.* to v4.* wà ni mimu ijira ti awọn Kọ eto lati Rii to CMake. Ni apa keji, aṣetunṣe ti awọn ẹya kekere ni igbagbogbo pẹlu afikun awọn ẹya tuntun tabi atilẹyin fun awọn eerun tuntun.
O ṣe pataki lati ṣe iyatọ ati loye ibatan laarin awọn ẹya iduroṣinṣin ati awọn ẹka GitHub. Awọn ẹya ti a samisi bi v*.* tabi v*.*.* ṣe aṣoju awọn ẹya iduroṣinṣin ti o ti kọja idanwo inu pipe nipasẹ Espressif. Ni kete ti o wa titi, koodu, pq irinṣẹ, ati awọn iwe aṣẹ idasilẹ fun ẹya kanna ko yipada. Bibẹẹkọ, awọn ẹka GitHub (fun apẹẹrẹ, itusilẹ/ẹka v4.3) ṣe awọn iṣẹ koodu loorekoore, nigbagbogbo ni ipilẹ ojoojumọ. Nitorinaa, awọn snippets koodu meji labẹ ẹka kanna le yatọ, ni dandan awọn olupilẹṣẹ lati ṣe imudojuiwọn koodu wọn ni ibamu.
4.1.2 ESP-IDF Git Workflow
Espressif tẹle iṣan-iṣẹ Git kan pato fun ESP-IDF, ti ṣe ilana bi atẹle:
· Awọn ayipada titun ni a ṣe lori ẹka titunto si, eyiti o jẹ ẹka akọkọ idagbasoke. Ẹya ESP-IDF lori ẹka titunto si nigbagbogbo n gbe -dev tag lati fihan pe o wa labẹ idagbasoke, gẹgẹbi v4.3-dev. Awọn ayipada lori awọn titunto si eka yoo akọkọ jẹ tunviewed ati idanwo ni ibi ipamọ inu inu Espressif, ati lẹhinna titari si GitHub lẹhin idanwo adaṣe ti pari.
Ni kete ti ẹya tuntun ba ti pari idagbasoke ẹya lori ẹka titunto si ati pade awọn ibeere fun titẹ idanwo beta, o yipada si ẹka tuntun, gẹgẹbi itusilẹ/v4.3. Ni afikun, ẹka tuntun yii jẹ tagged bi ẹya iṣaaju-itusilẹ, bii v4.3-beta1. Awọn olupilẹṣẹ le tọka si pẹpẹ GitHub lati wọle si atokọ pipe ti awọn ẹka ati tags fun ESP-IDF. O ṣe pataki lati ṣe akiyesi pe ẹya beta (ẹya iṣaju-itusilẹ) le tun ni nọmba pataki ti awọn ọran ti a mọ. Bi ẹya beta ti n gba idanwo lemọlemọfún, awọn atunṣe kokoro ni a ṣafikun si ẹya mejeeji ati ẹka titunto si nigbakanna. Nibayi, ẹka titunto si le ti bẹrẹ idagbasoke awọn ẹya tuntun fun ẹya atẹle. Nigbati idanwo ba ti fẹrẹ pari, aami oludibo (rc) kan ni a ṣafikun si ẹka, n tọka pe o jẹ oludije ti o pọju fun itusilẹ osise, bii v4.3-rc1. Ni eyi stage, ẹka si maa wa a ami-Tu version.
Ti ko ba si awọn idun pataki ti a ṣe awari tabi royin, ẹya iṣaaju-itusilẹ yoo gba aami ti ikede pataki kan (fun apẹẹrẹ, v5.0) tabi aami ẹya kekere kan (fun apẹẹrẹ, v4.3) o si di ẹya ikede idasilẹ, eyiti o jẹ akọsilẹ ni oju-iwe awọn akọsilẹ idasilẹ. Lẹhinna, eyikeyi awọn idun ti a damọ ni ẹya yii jẹ ti o wa titi lori ẹka itusilẹ. Lẹhin idanwo afọwọṣe ti pari, ẹka naa ni a yan aami ẹya bug-fix (fun apẹẹrẹ, v4.3.2), eyiti o tun ṣe afihan lori oju-iwe awọn akọsilẹ itusilẹ.
Abala 4. Ṣiṣeto Ayika Idagbasoke 33

4.1.3 Yiyan ẹya ti o yẹ
Niwọn igba ti ESP-IDF ti bẹrẹ ni atilẹyin ESP32-C3 lati ẹya v4.3, ati pe v4.4 ko tii tu silẹ ni ifowosi ni akoko kikọ iwe yii, ẹya ti a lo ninu iwe yii jẹ v4.3.2, eyiti o jẹ ẹya ti a tunwo ti v4.3. Sibẹsibẹ, o ṣe pataki lati ṣe akiyesi pe ni akoko ti o ka iwe yii, v4.4 tabi awọn ẹya tuntun le ti wa tẹlẹ. Nigbati o ba yan ẹya kan, a ṣeduro atẹle naa:
Fun awọn olupilẹṣẹ ipele titẹsi, o ni imọran lati yan ẹya iduroṣinṣin v4.3 tabi ẹya ti a tunwo, eyiti o ṣe deede pẹlu example version lo ninu iwe yi.
· Fun ibi-gbóògì idi, o ti wa ni niyanju lati lo awọn titun idurosinsin ti ikede lati anfani lati awọn julọ soke-si-ọjọ imọ support.
· Ti o ba pinnu lati ṣe idanwo pẹlu awọn eerun tuntun tabi ṣawari awọn ẹya ọja tuntun, jọwọ lo ẹka titunto si. Ẹya tuntun ni gbogbo awọn ẹya tuntun ninu, ṣugbọn ni lokan pe o le jẹ mimọ tabi awọn idun aimọ lọwọlọwọ.
Ti o ba jẹ pe ẹya iduroṣinṣin ti a lo ko pẹlu awọn ẹya tuntun ti o fẹ ati pe o fẹ lati dinku awọn eewu ti o nii ṣe pẹlu ẹka titunto si, ronu nipa lilo ẹka itusilẹ ti o baamu, gẹgẹbi ẹka itusilẹ/v4.4. Ibi ipamọ Espressif's GitHub yoo kọkọ ṣẹda ẹka itusilẹ/v4.4 ati lẹhinna tujade ẹya iduroṣinṣin v4.4 ti o da lori aworan itan kan pato ti ẹka yii, lẹhin ipari gbogbo idagbasoke ẹya ati idanwo.
4.1.4 Ipariview ti ESP-IDF SDK Directory
ESP-IDF SDK ni awọn ilana akọkọ meji: esp-idf ati .espressif. Awọn tele ni ESP-IDF koodu orisun ibi ipamọ files ati awọn iwe afọwọkọ akopọ, lakoko ti igbehin ni o tọju awọn ẹwọn irinṣẹ akopọ ati sọfitiwia miiran. Imọmọ pẹlu awọn ilana meji wọnyi yoo ṣe iranlọwọ fun awọn olupilẹṣẹ lati lo awọn orisun to dara julọ ati ki o yara ilana idagbasoke. Ilana ilana ti ESP-IDF jẹ apejuwe ni isalẹ:
(1) ESP-IDF koodu ibi ipamọ liana (/ Esp/esp-idf), bi o han ni Figure 4.2.
a. Awọn paati itọnisọna paati
Itọsọna mojuto yii ṣepọ ọpọlọpọ awọn paati sọfitiwia pataki ti ESP-IDF. Ko si koodu iṣẹ akanṣe ti o le ṣe akopọ laisi gbigbekele awọn paati laarin itọsọna yii. O pẹlu atilẹyin awakọ fun ọpọlọpọ awọn eerun Espressif. Lati ile-ikawe LL ati awọn atọkun ikawe HAL fun awọn agbeegbe si Awakọ ipele oke ati Foju File Atilẹyin Layer System (VFS), awọn olupilẹṣẹ le yan awọn paati ti o yẹ ni awọn ipele oriṣiriṣi fun awọn iwulo idagbasoke wọn. ESP-IDF tun ṣe atilẹyin ọpọ awọn akopọ Ilana nẹtiwọki boṣewa bii TCP/IP, HTTP, MQTT, WebSocket, bbl Awọn Difelopa le lo awọn atọkun faramọ bi Socket lati kọ awọn ohun elo nẹtiwọọki. Awọn eroja pese oye-
34 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

olusin 4.2. ESP-IDF ilana koodu ibi ipamọ
iṣẹ-ṣiṣe sive ati pe o le ni irọrun ṣepọ sinu awọn ohun elo, gbigba awọn olupilẹṣẹ laaye lati dojukọ nikan lori ọgbọn iṣowo. Diẹ ninu awọn paati ti o wọpọ pẹlu: · awakọ: paati yii ni awọn eto awakọ agbeegbe fun oriṣiriṣi Espressif
ërún jara, gẹgẹ bi awọn GPIO, I2C, SPI, UART, LEDC (PWM), ati be be lo. Awọn agbeegbe awakọ eto ni yi paati nse ni ërún-ominira áljẹbrà atọkun. Agbeegbe kọọkan ni akọsori ti o wọpọ file (gẹgẹbi gpio.h), imukuro iwulo lati koju pẹlu oriṣiriṣi awọn ibeere atilẹyin chirún-pato. · esp_wifi: Wi-Fi, gẹgẹbi agbeegbe pataki, jẹ itọju bi paati lọtọ. O pẹlu awọn API pupọ gẹgẹbi ipilẹṣẹ ti ọpọlọpọ awọn ipo awakọ Wi-Fi, iṣeto paramita, ati ṣiṣiṣẹ iṣẹlẹ. Awọn iṣẹ kan ti paati yii ni a pese ni irisi awọn ile-ikawe ọna asopọ aimi. ESP-IDF tun pese iwe-aṣẹ awakọ okeerẹ fun irọrun ti lilo.
Abala 4. Ṣiṣeto Ayika Idagbasoke 35

· freertos: Eleyi paati ni awọn pipe FreeRTOS koodu. Yato si lati pese atilẹyin okeerẹ fun ẹrọ iṣẹ ṣiṣe, Espressif tun ti faagun atilẹyin rẹ si awọn eerun-meji-mojuto. Fun awọn eerun meji-mojuto bi ESP32 ati ESP32-S3, awọn olumulo le ṣẹda awọn iṣẹ ṣiṣe lori awọn ohun kohun kan pato.
b. Awọn iwe ilana iwe
Itọsọna yii ni awọn iwe idagbasoke ti o jọmọ ESP-IDF, pẹlu Itọsọna Bibẹrẹ, Itọsọna Itọkasi API, Itọsọna Idagbasoke, ati bẹbẹ lọ.
AKIYESI Lẹhin ti a ṣe akojọpọ nipasẹ awọn irinṣẹ adaṣe, awọn akoonu inu itọsọna yii ti wa ni ran lọ si https://docs.espressif.com/projects/esp-idf. Jọwọ rii daju lati yi ibi-afẹde iwe pada si ESP32-C3 ki o yan ẹya ESP-IDF ti a sọ pato.
c. Awọn irinṣẹ irinṣẹ iwe afọwọkọ
Liana yii ni awọn irinṣẹ iṣakojọpọ iwaju-opin ti o wọpọ gẹgẹbi idf.py, ati ohun elo ebute atẹle idf_monitor.py, ati bẹbẹ lọ cmake-ipin-ilana naa tun ni iwe afọwọkọ pataki ninu files ti eto akopọ, ṣiṣe bi ipilẹ fun imuse awọn ofin akojọpọ ESP-IDF. Nigbati o ba n ṣafikun awọn oniyipada ayika, awọn akoonu ti o wa ninu itọsọna irinṣẹ ni a ṣafikun si iyipada ayika eto, gbigba idf.py lati ṣiṣẹ taara labẹ ọna akanṣe.
d. Example eto liana examples
Itọsọna yii ni akojọpọ titobi ti ESP-IDF example awọn eto ti o ṣe afihan lilo awọn API paati. Awọn examples ti ṣeto sinu ọpọlọpọ awọn iwe-itọnisọna ti o da lori awọn ẹka wọn:
Bibẹrẹ: Iwe-ipin-ipin yii pẹlu pẹlu ipele titẹsi examples bi “hello aye” ati “seju” lati ṣe iranlọwọ fun awọn olumulo ni oye awọn ipilẹ.
· Bluetooth: O le wa Bluetooth jẹmọ examples nibi, pẹlu Bluetooth LE Mesh, Bluetooth LE HID, BluFi, ati siwaju sii.
· wifi: Yi iha-liana fojusi lori Wi-Fi examples, pẹlu awọn eto ipilẹ bii Wi-Fi SoftAP, Ibusọ Wi-Fi, espnow, ati ilana ilana ibaraẹnisọrọ ti ohun-ini examples lati Espressif. O tun pẹlu ọpọ ohun elo Layer examples ti o da lori Wi-Fi, gẹgẹbi Iperf, Sniffer, ati Smart Config.
· pẹẹpẹẹpẹ: Iwe-ilana nla yii ti pin si ọpọlọpọ awọn folda ti o da lori awọn orukọ agbeegbe. O kun ninu awakọ agbeegbe examples fun Espressif awọn eerun, pẹlu kọọkan Mofiample ifihan orisirisi sub-examples. Fun apẹẹrẹ, iwe-ilana gpio pẹlu meji examples: GPIO ati GPIO matrix keyboard. O ṣe pataki lati ṣe akiyesi pe kii ṣe gbogbo examples ninu iwe ilana yii wulo fun ESP32-C3.
36 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

Fun example, examples ni usb/ogun jẹ wulo nikan si awọn agbeegbe pẹlu ohun elo USB Gbalejo (bii ESP32-S3), ati ESP32-C3 ko ni agbeegbe yii. Eto akopo n pese awọn itọsi nigbagbogbo nigbati o ba ṣeto ibi-afẹde. Awọn README file ti kọọkan Mofiample awọn akojọ ti awọn atilẹyin awọn eerun. · Ilana: Yi iha-liana ni examples fun ọpọlọpọ awọn ilana ibaraẹnisọrọ, pẹlu MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP, ibora ti ọpọlọpọ awọn ilana Ilana ibaraẹnisọrọ.amples beere fun idagbasoke IoT. · ipese: Nibi, iwọ yoo wa ipese Mofiamples fun awọn ọna oriṣiriṣi, gẹgẹbi ipese Wi-Fi ati ipese Bluetooth LE. · eto: Yi iha-liana pẹlu eto n ṣatunṣe Mofiamples (fun apẹẹrẹ, wiwa akopọ, wiwa akoko asiko, ibojuwo iṣẹ), iṣakoso agbara examples (fun apẹẹrẹ, orisirisi awọn ipo oorun, awọn alasepo), ati examples ti o ni ibatan si awọn paati eto ti o wọpọ bii ebute console, lupu iṣẹlẹ, ati aago eto. · ibi ipamọ: Laarin yi iha-liana, o yoo iwari Mofiamples ti gbogbo file awọn ọna ṣiṣe ati awọn ọna ibi ipamọ ti o ni atilẹyin nipasẹ ESP-IDF (gẹgẹbi kika ati kikọ Flash, kaadi SD ati awọn media ipamọ miiran), bakanna bi examples ti kii-iyipada ipamọ (NVS), FatFS, SPIFFS ati awọn miiran file eto mosi. · aabo: Yi iha-liana ni examples jẹmọ si filasi ìsekóòdù. (2) ESP-IDF akopo ọpa pq liana (/. espressif), bi o han ni Figure 4.3.
olusin 4.3. ESP-IDF akopo ọpa pq liana
Abala 4. Ṣiṣeto Ayika Idagbasoke 37

a. Software pinpin liana dist
Ẹwọn irinṣẹ ESP-IDF ati sọfitiwia miiran ti pin ni irisi awọn idii fisinuirindigbindigbin. Lakoko ilana fifi sori ẹrọ, ohun elo fifi sori ẹrọ ni akọkọ ṣe igbasilẹ idii fisinuirindigbindigbin si itọsọna dist, ati lẹhinna fa jade si itọsọna ti o pàtó. Ni kete ti fifi sori ẹrọ ti pari, awọn akoonu inu itọsọna yii le yọkuro lailewu.
b. Python foju ayika liana Python env
Awọn ẹya oriṣiriṣi ti ESP-IDF gbarale awọn ẹya kan pato ti awọn idii Python. Fifi awọn idii wọnyi taara sori agbalejo kanna le ja si awọn ija laarin awọn ẹya package. Lati koju eyi, ESP-IDF nlo awọn agbegbe foju Python lati ya sọtọ awọn ẹya akojọpọ oriṣiriṣi. Pẹlu ẹrọ yii, awọn olupilẹṣẹ le fi awọn ẹya pupọ ti ESP-IDF sori agbalejo kanna ati ni irọrun yipada laarin wọn nipa gbigbe oriṣiriṣi awọn oniyipada ayika wọle.
c. ESP-IDF akopo irinṣẹ pq liana irinṣẹ
Liana yii ni akọkọ ni awọn irinṣẹ akopọ-agbelebu ti o nilo lati ṣajọ awọn iṣẹ akanṣe ESP-IDF, gẹgẹbi awọn irinṣẹ CMake, awọn irinṣẹ kọ Ninja, ati pq irinṣẹ gcc ti o ṣe ipilẹṣẹ eto imuṣiṣẹ ikẹhin. Ni afikun, itọsọna yii ni ile-ikawe boṣewa ti ede C/C++ pẹlu akọsori ti o baamu files. Ti eto ba tọka akọsori eto kan file bi #pẹlu , awọn akopo ọpa pq yoo wa awọn stdio.h file laarin yi liana.
4.2 Ṣiṣeto Ayika Idagbasoke ESP-IDF
Ayika idagbasoke ESP-IDF n ṣe atilẹyin awọn ọna ṣiṣe ojulowo bii Windows, Linux, ati macOS. Abala yii yoo ṣafihan bi o ṣe le ṣeto agbegbe idagbasoke lori eto kọọkan. O ti wa ni niyanju lati se agbekale ESP32-C3 lori Linux eto, eyi ti yoo wa ni a ṣe ni apejuwe awọn nibi. Ọpọlọpọ awọn ilana ni o wulo kọja awọn iru ẹrọ nitori ibajọra ti awọn irinṣẹ idagbasoke. Nitorinaa, o gba ọ niyanju lati farabalẹ ka akoonu ti apakan yii.
AKIYESI O le tọka si awọn iwe aṣẹ ori ayelujara ti o wa ni https://bookc3.espressif.com/esp32c3, eyiti o pese awọn aṣẹ ti a mẹnuba ni apakan yii.
4.2.1 Ṣiṣeto Ayika Idagbasoke ESP-IDF lori Lainos
Idagbasoke GNU ati awọn irinṣẹ n ṣatunṣe aṣiṣe ti o nilo fun agbegbe idagbasoke ESP-IDF jẹ abinibi si eto Linux. Ni afikun, ebute laini aṣẹ ni Lainos jẹ alagbara ati ore-olumulo, ṣiṣe ni yiyan pipe fun idagbasoke ESP32-C3. O le
38 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

yan pinpin Lainos ti o fẹ, ṣugbọn a ṣeduro lilo Ubuntu tabi awọn ọna ṣiṣe orisun Debian miiran. Abala yii n pese itọnisọna lori siseto agbegbe idagbasoke ESP-IDF lori Ubuntu 20.04.
1. Fi sori ẹrọ ti a beere jo
Ṣii ebute tuntun ki o ṣiṣẹ aṣẹ atẹle lati fi sori ẹrọ gbogbo awọn idii pataki. Aṣẹ naa yoo foju awọn idii ti o ti fi sii tẹlẹ.
$ sudo apt-gba fi sori ẹrọ git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
Italolobo O nilo lati lo akọọlẹ alakoso ati ọrọ igbaniwọle fun aṣẹ loke. Nipa aiyipada, ko si alaye ti yoo han nigba titẹ ọrọ igbaniwọle sii. Nìkan tẹ bọtini “Tẹ sii” lati tẹsiwaju ilana naa.
Git jẹ irinṣẹ iṣakoso koodu bọtini ni ESP-IDF. Lẹhin ti iṣeto ni aṣeyọri agbegbe idagbasoke, o le lo aṣẹ git log si view gbogbo koodu ayipada ṣe niwon awọn ẹda ti ESP-IDF. Ni afikun, Git tun lo ni ESP-IDF lati jẹrisi alaye ẹya, eyiti o jẹ pataki fun fifi sori ẹrọ pq ọpa ti o baamu si awọn ẹya kan pato. Pẹlú Git, awọn irinṣẹ eto pataki miiran pẹlu Python. ESP-IDF ṣafikun ọpọlọpọ awọn iwe afọwọkọ adaṣe ti a kọ sinu Python. Awọn irinṣẹ bii CMake, Ninja-build, ati Ccache jẹ lilo pupọ ni awọn iṣẹ akanṣe C / C ++ ati ṣiṣẹ bi iṣakojọpọ koodu aiyipada ati awọn irinṣẹ ile ni ESP-IDF. libusb-1.0-0 ati dfu-util jẹ awakọ akọkọ ti a lo fun ibaraẹnisọrọ ni tẹlentẹle USB ati sisun famuwia. Ni kete ti awọn idii sọfitiwia ti fi sii, o le lo ifihan apt aṣẹ lati gba alaye awọn apejuwe ti kọọkan package. Fun example, lo apt show git lati tẹ alaye apejuwe fun irinṣẹ Git.
Q: Kini lati ṣe ti ikede Python ko ba ni atilẹyin? A: ESP-IDF v4.3 nilo ẹya Python ti ko kere ju v3.6. Fun awọn ẹya agbalagba ti Ubuntu, jọwọ ṣe igbasilẹ pẹlu ọwọ ati fi ẹya Python ti o ga julọ sori ẹrọ ati ṣeto Python3 bi agbegbe Python aiyipada. O le wa awọn ilana alaye nipa wiwa fun imudojuiwọn-awọn yiyan python koko.
2. Ṣe igbasilẹ koodu ibi ipamọ ESP-IDF
Ṣii ebute kan ki o ṣẹda folda ti a npè ni esp ninu ilana ile rẹ nipa lilo pipaṣẹ mkdir. O le yan orukọ ti o yatọ fun folda ti o ba fẹ. Lo pipaṣẹ cd lati tẹ folda sii.
Abala 4. Ṣiṣeto Ayika Idagbasoke 39

$ mkdir -p /esp $ cd /esp
Lo aṣẹ git clone lati ṣe igbasilẹ koodu ibi ipamọ ESP-IDF, bi o ṣe han ni isalẹ:
$ git clone -b v4.3.2 –recursive https://github.com/espressif/esp-idf.git
Ninu aṣẹ ti o wa loke, paramita -b v4.3.2 n ṣalaye ẹya lati ṣe igbasilẹ (ninu ọran yii, ẹya 4.3.2). Paramita –recursive ṣe idaniloju pe gbogbo awọn ibi ipamọ-ipin ti ESP-IDF ti wa ni igbasilẹ leralera. Alaye nipa awọn ibi ipamọ-ipin ni a le rii ninu .gitmodules file.
3. Fi sori ẹrọ pq idagbasoke ESP-IDF
Espressif n pese iwe afọwọkọ adaṣe install.sh lati ṣe igbasilẹ ati fi pq irinṣẹ sori ẹrọ. Iwe afọwọkọ yii n ṣayẹwo ẹya ESP-IDF lọwọlọwọ ati agbegbe eto iṣẹ, ati lẹhinna ṣe igbasilẹ ati fi ẹya ti o yẹ ti awọn idii irinṣẹ Python ati awọn ẹwọn irinṣẹ akopọ. Ọna fifi sori ẹrọ aiyipada fun pq ọpa jẹ /.espressif. Gbogbo ohun ti o nilo lati ṣe ni lati lọ kiri si itọsọna esp-idf ati ṣiṣe install.sh.
$ cd /esp/esp-idf $ ./install.sh
Ti o ba fi pq ọpa sori ẹrọ ni aṣeyọri, ebute naa yoo han:
Gbogbo ṣe!
Ni aaye yii, o ti ṣeto ni aṣeyọri ESP-IDF ayika idagbasoke.
4.2.2 Ṣiṣeto Ayika Idagbasoke ESP-IDF lori Windows
1. Download ESP-IDF irinṣẹ insitola
Italolobo O ṣe iṣeduro lati ṣeto agbegbe idagbasoke ESP-IDF lori Windows 10 tabi loke. O le ṣe igbasilẹ fifi sori ẹrọ lati https://dl.espressif.com/dl/esp-idf/. Insitola tun jẹ sọfitiwia orisun-ìmọ, ati pe koodu orisun rẹ le jẹ viewed ni https: //github.com/espressif/idf-installer.
· Insitola irinṣẹ ESP-IDF lori ayelujara
Insitola yii kere diẹ, ni ayika 4 MB ni iwọn, ati awọn idii miiran ati koodu yoo ṣe igbasilẹ lakoko ilana fifi sori ẹrọ. Advan naatage ti insitola ori ayelujara ni pe kii ṣe awọn idii sọfitiwia ati koodu nikan ni igbasilẹ lori ibeere lakoko ilana fifi sori ẹrọ, ṣugbọn tun ngbanilaaye fifi sori ẹrọ gbogbo awọn idasilẹ ti o wa ti ESP-IDF ati ẹka tuntun ti koodu GitHub (gẹgẹbi ẹka titunto si) . Awọn alailanfanitage jẹ pe o nilo asopọ nẹtiwọọki lakoko ilana fifi sori ẹrọ, eyiti o le fa ikuna fifi sori ẹrọ nitori awọn iṣoro nẹtiwọọki.
40 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

· Insitola irinṣẹ ESP-IDF aisinipo ẹrọ fifi sori ẹrọ tobi, nipa 1 GB ni iwọn, o si ni gbogbo awọn idii sọfitiwia ati koodu ti o nilo fun iṣeto ayika. Advan akọkọtage ti insitola aisinipo ni pe o le ṣee lo lori awọn kọnputa laisi iwọle si Intanẹẹti, ati ni gbogbogbo ni oṣuwọn aṣeyọri fifi sori ẹrọ ti o ga julọ. O yẹ ki o ṣe akiyesi pe olupilẹṣẹ aisinipo le fi awọn idasilẹ iduroṣinṣin ti ESP-IDF ṣe idanimọ nipasẹ v*.* tabi v*.*.*.
2. Ṣiṣe awọn ẹrọ insitola irinṣẹ ESP-IDF Lẹhin igbasilẹ ẹya ti o yẹ ti insitola (mu ESP-IDF Awọn irinṣẹ aisinipo 4.3.2 fun example nibi), tẹ lẹẹmeji exe file lati ṣe ifilọlẹ wiwo fifi sori ẹrọ ESP-IDF. Awọn atẹle ṣe afihan bi o ṣe le fi ẹya iduroṣinṣin ESP-IDF sori ẹrọ v4.3.2 ni lilo insitola aisinipo.
(1) Ni wiwo “Yan ede fifi sori ẹrọ” ti o han ni Nọmba 4.4, yan ede ti o le lo lati atokọ jabọ-silẹ.
olusin 4.4. “Yan ede fifi sori ẹrọ” ni wiwo (2) Lẹhin yiyan ede naa, tẹ “O DARA” lati gbejade ni wiwo “adehun iwe-aṣẹ”
(wo aworan 4.5). Lẹhin kika farabalẹ adehun iwe-aṣẹ fifi sori ẹrọ, yan “Mo gba adehun naa” ki o tẹ “Itele”.
olusin 4.5. “Adehun iwe-aṣẹ” ni wiwo Abala 4. Ṣiṣeto Ayika Idagbasoke 41

(3) Tunview iṣeto ni eto ni wiwo "Pre-fifi sori ẹrọ" ni wiwo (wo Figure 4.6). Ṣayẹwo ẹya Windows ati alaye sọfitiwia antivirus ti o fi sii. Tẹ "Niwaju" ti gbogbo awọn ohun iṣeto ba jẹ deede. Bibẹẹkọ, o le tẹ “iwọle ni kikun” fun awọn ojutu ti o da lori awọn nkan bọtini.
olusin 4.6. "Ṣayẹwo eto ṣaaju fifi sori ẹrọ" ni wiwo TIPS
O le fi awọn iforukọsilẹ silẹ si https://github.com/espressif/idf-installer/issues fun iranlọwọ. (4) Yan ilana fifi sori ẹrọ ESP-IDF. Nibi, yan D:/.espressif, bi o ṣe han ninu
Ṣe nọmba 4.7, ki o tẹ "Niwaju". Jọwọ ṣe akiyesi pe .espressif nibi ni itọsọna ti o farapamọ. Lẹhin fifi sori ẹrọ ti pari, o le view awọn pato awọn akoonu ti yi liana nipa nsii awọn file oluṣakoso ati iṣafihan awọn nkan ti o farapamọ.
olusin 4.7. Yan iwe ilana fifi sori ẹrọ ESP-IDF 42 ESP32-C3 Irinajo Alailowaya: Itọsọna Ipilẹ si IoT

(5) Ṣayẹwo awọn paati ti o nilo lati fi sori ẹrọ, bi o ṣe han ni Nọmba 4.8. O ti wa ni niyanju lati lo awọn aiyipada aṣayan, ti o ni, pipe fifi sori, ati ki o si tẹ "Next".
olusin 4.8. Yan awọn paati lati fi sori ẹrọ (6) Jẹrisi awọn paati lati fi sii ki o tẹ “Fi sii” lati bẹrẹ adaṣe ni-
ilana idaduro, bi o han ni Figure 4.9. Ilana fifi sori ẹrọ le ṣiṣe ni mewa ti iṣẹju ati igi ilọsiwaju ti ilana fifi sori ẹrọ ti han ni Nọmba 4.10. Jọwọ duro pẹ diẹ.
olusin 4.9. Ngbaradi fun fifi sori ẹrọ (7) Lẹhin fifi sori ẹrọ ti pari, o niyanju lati ṣayẹwo “Forukọsilẹ ESP-IDF
Awọn irinṣẹ ṣiṣe bi awọn imukuro Olugbeja Windows…” lati ṣe idiwọ sọfitiwia ọlọjẹ lati piparẹ files. Ṣafikun awọn ohun imukuro tun le foju awọn ọlọjẹ loorekoore nipasẹ ọlọjẹ
Abala 4. Ṣiṣeto Ayika Idagbasoke 43

olusin 4.10. Sọfitiwia igi ilọsiwaju fifi sori ẹrọ, ni ilọsiwaju imudara iṣakojọpọ koodu ti eto Windows. Tẹ "Pari" lati pari fifi sori ẹrọ ti agbegbe idagbasoke, bi o ṣe han ni Nọmba 4.11. O le yan lati ṣayẹwo “Ṣiṣe agbegbe ESP-IDF PowerShell” tabi “Ṣiṣe aṣẹ aṣẹ ESP-IDF”. Ṣiṣe window akopo taara lẹhin fifi sori ẹrọ lati rii daju pe agbegbe idagbasoke n ṣiṣẹ deede.
olusin 4.11. Fifi sori ẹrọ ti pari (8) Ṣii agbegbe idagbasoke ti a fi sii ninu atokọ eto (boya ESP-IDF 4.3
CMD tabi ESP-IDF 4.3 PowerShell ebute, bi o ṣe han ni Nọmba 4.12), ati iyipada ayika ESP-IDF yoo ṣafikun laifọwọyi nigbati o nṣiṣẹ ni ebute naa. Lẹhin iyẹn, o le lo aṣẹ idf.py fun awọn iṣẹ ṣiṣe. ESP-IDF 4.3 CMD ti o ṣii ti han ni Nọmba 4.13. 44 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna to IoT

olusin 4.12. Ayika idagbasoke ti fi sori ẹrọ
olusin 4.13. ESP-IDF 4.3 CMD
4.2.3 Ṣiṣeto Ayika Idagbasoke ESP-IDF lori Mac
Ilana fifi sori ẹrọ agbegbe idagbasoke ESP-IDF lori eto Mac jẹ kanna bii iyẹn lori eto Linux kan. Awọn aṣẹ fun igbasilẹ koodu ibi ipamọ ati fifi sori ẹrọ pq irinṣẹ jẹ deede kanna. Awọn aṣẹ nikan fun fifi sori awọn idii igbẹkẹle jẹ iyatọ diẹ. 1. Fi sori ẹrọ awọn idii igbẹkẹle Ṣii ebute kan, ki o fi pip sori ẹrọ, irinṣẹ iṣakoso package Python, nipa ṣiṣe pipaṣẹ atẹle:
% sudo rọrun fifi sori ẹrọ pip
Fi Homebrew sori ẹrọ, ohun elo iṣakoso package fun macOS, nipa ṣiṣe aṣẹ wọnyi:
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)"
Fi sori ẹrọ awọn idii igbẹkẹle ti o nilo nipa ṣiṣe pipaṣẹ atẹle:
% pọnti Python3 fi sori ẹrọ cmake ninja ccache dfu-util
2. Ṣe igbasilẹ koodu ibi ipamọ ESP-IDF Tẹle awọn ilana ti a pese ni apakan 4.2.1 lati ṣe igbasilẹ koodu ibi ipamọ ESP-IDF. Awọn igbesẹ jẹ kanna bi fun igbasilẹ lori eto Linux kan.
Abala 4. Ṣiṣeto Ayika Idagbasoke 45

3. Fi sori ẹrọ pq idagbasoke ESP-IDF
Tẹle awọn ilana ti a pese ni apakan 4.2.1 lati fi sori ẹrọ pq irinṣẹ idagbasoke ESP-IDF. Awọn igbesẹ jẹ kanna bi fun fifi sori ẹrọ lori eto Linux kan.
4.2.4 Fifi VS Code
Nipa aiyipada, ESP-IDF SDK ko pẹlu irinṣẹ ṣiṣatunṣe koodu kan (botilẹjẹpe insitola ESP-IDF tuntun fun Windows nfunni ni aṣayan lati fi ESP-IDF Eclipse sori ẹrọ). O le lo eyikeyi irinṣẹ ṣiṣatunṣe ọrọ ti o fẹ lati ṣatunkọ koodu naa lẹhinna ṣajọ rẹ nipa lilo awọn pipaṣẹ ebute.
Ọpa ṣiṣatunṣe koodu olokiki kan jẹ koodu VS (koodu Studio Visual), eyiti o jẹ olootu koodu ọfẹ ati ẹya pẹlu wiwo ore-olumulo kan. O nfun orisirisi plugins ti o pese awọn iṣẹ ṣiṣe bii lilọ kiri koodu, fifi aami sintasi, iṣakoso ẹya Git, ati isọpọ ebute. Ni afikun, Espressif ti ṣe agbekalẹ ohun itanna iyasọtọ ti a pe ni Espressif IDF fun koodu VS, eyiti o rọrun iṣeto ni iṣẹ akanṣe ati ṣatunṣe.
O le lo pipaṣẹ koodu ni ebute lati yara ṣii folda lọwọlọwọ ni koodu VS. Ni omiiran, o le lo ọna abuja Ctrl+ lati ṣii console ebute aiyipada ti eto laarin koodu VS.
Italolobo O ṣe iṣeduro lati lo koodu VS fun idagbasoke koodu ESP32-C3. Ṣe igbasilẹ ati fi ẹya tuntun ti koodu VS sori ẹrọ ni https://code.visualstudio.com/.
4.2.5 Ifihan si Awọn Ayika Idagbasoke Ẹkẹta
Ni afikun si agbegbe idagbasoke ESP-IDF osise, eyiti o lo ede C ni akọkọ, ESP32-C3 tun ṣe atilẹyin awọn ede siseto akọkọ ati ọpọlọpọ awọn agbegbe idagbasoke ẹni-kẹta. Diẹ ninu awọn aṣayan akiyesi pẹlu:
Arduino: Syeed orisun-ìmọ fun ohun elo mejeeji ati sọfitiwia, n ṣe atilẹyin ọpọlọpọ awọn oludari microcontroller, pẹlu ESP32-C3.
O nlo ede C++ o si funni ni irọrun ati API ti o ni idiwọn, eyiti a tọka si bi ede Arduino. Arduino jẹ lilo pupọ ni idagbasoke apẹrẹ ati awọn aaye eto-ẹkọ. O pese package sọfitiwia ti o ṣee ṣe ati IDE ti o fun laaye fun akojọpọ irọrun ati ikosan.
MicroPython: onitumọ ede Python 3 ti a ṣe apẹrẹ lati ṣiṣẹ lori awọn iru ẹrọ microcontroller ti a fi sinu.
Pẹlu ede iwe afọwọkọ ti o rọrun, o le wọle taara si awọn orisun agbeegbe ESP32-C3 (bii UART, SPI, ati I2C) ati awọn iṣẹ ibaraẹnisọrọ (bii Wi-Fi ati Bluetooth LE).
46 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

Eleyi simplifies hardware ibaraenisepo. MicroPython, ni idapo pelu Python ká sanlalu mathematiki isẹ ikawe, kí awọn imuse ti eka aligoridimu on ESP32-C3, irọrun awọn idagbasoke ti AI-jẹmọ awọn ohun elo. Gẹgẹbi ede iwe afọwọkọ, ko si iwulo fun akopọ leralera; awọn iyipada le ṣee ṣe ati awọn iwe afọwọkọ le ṣe ni taara.
NodeMCU: onitumọ ede LUA ti o dagbasoke fun awọn eerun jara ESP.
O ṣe atilẹyin fun gbogbo awọn iṣẹ agbeegbe ti awọn eerun ESP ati pe o fẹẹrẹ ju MicroPython. Iru si MicroPython, NodeMCU nlo ede iwe afọwọkọ, imukuro iwulo fun akopo leralera.
Pẹlupẹlu, ESP32-C3 tun ṣe atilẹyin NuttX ati awọn ọna ṣiṣe Zephyr. NuttX jẹ ẹrọ ṣiṣe akoko gidi ti o pese awọn atọkun ibaramu POSIX, imudara gbigbe ohun elo. Zephyr jẹ ẹrọ ṣiṣe akoko gidi kekere ti a ṣe apẹrẹ fun awọn ohun elo IoT. O pẹlu ọpọlọpọ awọn ile-ikawe sọfitiwia ti o nilo ni idagbasoke IoT, diėdiė ndagba sinu eto ilolupo sọfitiwia kan.
Iwe yii ko pese awọn ilana fifi sori ẹrọ alaye fun awọn agbegbe idagbasoke ti a mẹnuba. O le fi agbegbe idagbasoke kan sori ẹrọ ti o da lori awọn ibeere rẹ nipa titẹle awọn iwe aṣẹ ati awọn ilana.
4.3 ESP-IDF Akojọpọ System
4.3.1 Awọn imọran ipilẹ ti Eto Iṣakojọpọ
Ise agbese ESP-IDF jẹ ikojọpọ ti eto akọkọ pẹlu iṣẹ titẹsi ati awọn paati iṣẹ ṣiṣe ominira lọpọlọpọ. Fun example, ise agbese kan ti o išakoso LED yipada o kun oriširiši ti ohun titẹsi eto akọkọ ati ki o kan awakọ paati ti o išakoso GPIO. Ti o ba fẹ mọ iṣakoso isakoṣo latọna jijin LED, o tun nilo lati ṣafikun Wi-Fi, akopọ ilana Ilana TCP/IP, ati bẹbẹ lọ.
Eto akojọpọ le ṣajọ, ṣopọ, ati ṣe ipilẹṣẹ ṣiṣe files (.bin) fun koodu nipasẹ kan ti ṣeto ti ile awọn ofin. Eto akopọ ti ESP-IDF v4.0 ati awọn ẹya ti o ga julọ da lori CMake nipasẹ aiyipada, ati pe iwe afọwọkọ akopọ CMakeLists.txt le ṣee lo lati ṣakoso ihuwasi akopọ ti koodu naa. Ni afikun si atilẹyin awọn ipilẹ sintasi ti CMake, ESP-IDF eto akopo tun asọye kan ti ṣeto ti aiyipada akopo ofin ati CMake awọn iṣẹ, ati awọn ti o le kọ awọn akopo akosile pẹlu o rọrun gbólóhùn.
4.3.2 ise agbese File Ilana
Ise agbese kan jẹ folda ti o ni akọkọ eto titẹsi, awọn paati asọye olumulo, ati files nilo lati kọ awọn ohun elo ṣiṣe, gẹgẹbi awọn iwe afọwọkọ akopọ, iṣeto ni
Abala 4. Ṣiṣeto Ayika Idagbasoke 47

files, awọn tabili ipin, bbl file le ṣe akopọ ati ipilẹṣẹ ni awọn ẹrọ pẹlu ẹya kanna ti agbegbe idagbasoke ESP-IDF. A aṣoju ESP-IDF ise agbese file be ti han ni Figure 4.14.
olusin 4.14. Aṣoju ESP-IDF ise agbese file Niwọn igba ti ESP-IDF ṣe atilẹyin ọpọ awọn eerun IoT lati Espressif, pẹlu ESP32, jara ESP32-S, jara ESP32-C, jara ESP32-H, ati bẹbẹ lọ, ibi-afẹde kan nilo lati pinnu ṣaaju kikojọ koodu naa. Ibi-afẹde jẹ mejeeji ẹrọ ohun elo ti o nṣiṣẹ eto ohun elo ati ibi-afẹde ti eto akopọ. Ti o da lori awọn iwulo rẹ, o le pato ọkan tabi diẹ ẹ sii awọn ibi-afẹde fun iṣẹ akanṣe rẹ. Fun example, nipasẹ pipaṣẹ idf.py set-afojusun esp32c3, o le ṣeto awọn akopo afojusun to ESP32-C3, nigba eyi ti awọn aiyipada sile ati akopo ọpa pq ona fun ESP32C3 yoo wa ni ti kojọpọ. Lẹhin akopo, ohun executable eto le ti wa ni ti ipilẹṣẹ fun ESP32C3. O tun le tun ṣeto ibi-afẹde naa lẹẹkansi lati ṣeto ibi-afẹde ti o yatọ, ati pe eto akopọ yoo sọ di mimọ laifọwọyi ati tunto. Awọn eroja
Awọn paati ni ESP-IDF jẹ apọjuwọn ati awọn ẹya koodu ominira ti a ṣakoso laarin eto akojọpọ. Wọn ti ṣeto bi awọn folda, pẹlu orukọ folda ti o nsoju orukọ paati nipasẹ aiyipada. Ẹya paati kọọkan ni iwe afọwọkọ akopọ tirẹ ti 48 ESP32-C3 Alailowaya Adventure: Itọsọna Ipilẹ si IoT

pato awọn paramita akopo ati awọn igbẹkẹle. Lakoko ilana ikojọpọ, awọn paati ni a ṣe akojọpọ sinu awọn ile ikawe aimi lọtọ (.a files) ati nikẹhin ni idapo pẹlu awọn paati miiran lati ṣe agbekalẹ eto ohun elo naa.
ESP-IDF n pese awọn iṣẹ pataki, gẹgẹbi ẹrọ ṣiṣe, awọn awakọ agbeegbe, ati akopọ ilana nẹtiwọki, ni irisi awọn paati. Awọn paati wọnyi ti wa ni ipamọ ninu itọsọna awọn paati ti o wa laarin ilana ESP-IDF root. Awọn olupilẹṣẹ ko nilo lati daakọ awọn paati wọnyi si itọsọna awọn paati ti myProject. Dipo, wọn nilo lati pato awọn ibatan igbẹkẹle ti awọn paati wọnyi ni CMekeLists.txt ti iṣẹ akanṣe naa file lilo awọn REQUIRES tabi awọn ilana PRIV_REQUIRES. Eto akopọ yoo wa laifọwọyi ati ṣajọ awọn paati ti a beere.
Nitorinaa, itọsọna awọn paati labẹ myProject ko wulo. O jẹ lilo nikan lati ni diẹ ninu awọn paati aṣa ti ise agbese na, eyiti o le jẹ awọn ile-ikawe ẹnikẹta tabi koodu asọye olumulo. Ni afikun, awọn paati le jẹ orisun lati eyikeyi itọsọna miiran yatọ si ESP-IDF tabi iṣẹ akanṣe lọwọlọwọ, gẹgẹbi lati inu iṣẹ akanṣe orisun ṣiṣi ti a fipamọ sinu itọsọna miiran. Ni idi eyi, o nilo nikan lati ṣafikun ọna ti paati nipa siseto oniyipada EXTRA_COMPONENT_DIRS ni CMakeLists.txt labẹ itọsọna root. Ilana yii yoo yipo eyikeyi paati ESP-IDF pẹlu orukọ kanna, ni idaniloju pe paati ti o pe ni lilo.
Eto titẹsi akọkọ Itọsọna akọkọ laarin iṣẹ naa tẹle kanna file eto bi awọn paati miiran (fun apẹẹrẹ, paati1). Sibẹsibẹ, o ni pataki pataki kan bi o ti jẹ paati dandan ti o gbọdọ wa ninu gbogbo iṣẹ akanṣe. Ilana akọkọ ni koodu orisun ti iṣẹ akanṣe ati aaye titẹsi eto olumulo, ti a npè ni app_main ni igbagbogbo. Nipa aiyipada, ipaniyan ti eto olumulo bẹrẹ lati aaye titẹsi yii. Ẹya akọkọ tun yatọ ni pe o da lori gbogbo awọn paati laarin ọna wiwa. Nitorinaa, ko si iwulo lati ṣe afihan awọn igbẹkẹle ni gbangba nipa lilo awọn ilana REQUIRES tabi PRIV_REQUIRES ni CMakeLists.txt file.
Iṣeto ni file Awọn root liana ti ise agbese ni a iṣeto ni file ti a npe ni sdkconfig, eyi ti o ni awọn ipilẹ iṣeto ni fun gbogbo awọn irinše laarin ise agbese na. Awọn sdkconfig file ti wa ni ipilẹṣẹ laifọwọyi nipasẹ eto akopọ ati pe o le ṣe atunṣe ati atunbi nipasẹ aṣẹ idf.py menuconfig. Awọn aṣayan menuconfig akọkọ wa lati Kconfig.projbuild ti iṣẹ akanṣe ati Kconfig ti awọn paati. Awọn olupilẹṣẹ paati ni gbogbogbo ṣafikun awọn ohun atunto ni Kconfig lati jẹ ki paati rọ ati atunto.
Kọ liana Nipa aiyipada, awọn iwe liana laarin ise agbese tọjú agbedemeji files ati awọn fi-
Abala 4. Ṣiṣeto Ayika Idagbasoke 49

nal executable eto ti ipilẹṣẹ nipasẹ idf.py Kọ pipaṣẹ. Ni gbogbogbo, ko ṣe pataki lati wọle si awọn akoonu taara ti itọsọna kikọ. ESP-IDF n pese awọn aṣẹ ti a ti sọ tẹlẹ lati ṣe ajọṣepọ pẹlu itọsọna naa, gẹgẹbi lilo pipaṣẹ filasi idf.py lati wa alakomeji ti o ṣajọpọ laifọwọyi. file ki o si filasi rẹ si adiresi filasi pàtó kan, tabi lilo idf.py fullclean pipaṣẹ lati nu gbogbo awọn iwe liana.
Tabili ipin (partitions.csv) Ise agbese kọọkan nilo tabili ipin kan lati pin aaye ti filasi ati pato iwọn ati adirẹsi ibẹrẹ ti eto ṣiṣe ati aaye data olumulo. Paṣẹ idf.py filasi tabi eto igbesoke OTA yoo filasi famuwia si adirẹsi ti o baamu ni ibamu si tabili yii. ESP-IDF pese ọpọlọpọ awọn tabili ipin aiyipada ni awọn paati/partition_table, gẹgẹbi awọn ipin_singleapp.csv ati partitions_two_ ota.csv, eyiti o le yan ni menuconfig.
Ti tabili ipin aiyipada ti eto naa ko ba le pade awọn ibeere ti iṣẹ akanṣe, aṣa partitions.csv le ṣafikun si itọsọna iṣẹ akanṣe ati yan ni menuconfig.
4.3.3 Aiyipada Kọ Awọn ofin ti Eto Iṣakojọpọ
Awọn ofin fun pipari awọn paati pẹlu orukọ kanna Lakoko ilana wiwa paati, eto akopọ tẹle aṣẹ kan pato. O kọkọ wa awọn paati inu ti ESP-IDF, lẹhinna o wa awọn paati ti iṣẹ akanṣe olumulo, ati nikẹhin o wa awọn paati ni EXTRA_COMPONENT_DIRS. Ni awọn ọran nibiti awọn ilana pupọ ti ni awọn paati pẹlu orukọ kanna, paati ti a rii ninu ilana ti o kẹhin yoo fopin si eyikeyi awọn paati iṣaaju pẹlu orukọ kanna. Ofin yii ngbanilaaye fun isọdi ti awọn paati ESP-IDF laarin iṣẹ akanṣe olumulo, lakoko ti o tọju koodu ESP-IDF atilẹba ti o wa titi.
Awọn ofin fun pẹlu awọn paati ti o wọpọ nipasẹ aiyipada Bi a ti mẹnuba ni apakan 4.3.2, awọn paati nilo lati ṣalaye ni pato awọn igbẹkẹle wọn lori awọn paati miiran ninu CMakLists.txt. Bibẹẹkọ, awọn paati ti o wọpọ gẹgẹbi awọn freertos wa ni adaṣe laifọwọyi wa ninu eto kikọ nipasẹ aiyipada, paapaa ti awọn ibatan igbẹkẹle wọn ko ba ni asọye ni gbangba ninu iwe afọwọkọ akopọ. Awọn paati ESP-IDF ti o wọpọ pẹlu freertos, Newlib, okiti, log, soc, esp_rom, esp_common, xtensa/riscv, ati cxx. Lilo awọn paati ti o wọpọ wọnyi yago fun iṣẹ atunwi nigba kikọ CMakeLists.txt ati jẹ ki o ṣoki diẹ sii.
Awọn ofin fun pipari awọn ohun atunto atunto Awọn Difelopa le ṣafikun awọn aye atunto aiyipada nipa fifi iṣeto aiyipada kan kun file ti a npè ni sdkconfig.defaults si ise agbese. Fun example, fifi CONFIG_LOG_ kun
50 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

DEFAULT_LEVEL_NONE = y le tunto wiwo UART lati ma tẹjade data log nipasẹ aiyipada. Pẹlupẹlu, ti awọn paramita kan pato nilo lati ṣeto fun ibi-afẹde kan pato, iṣeto ni file ti a npè ni sdkconfig.defaults.TARGET_NAME le ṣe afikun, nibiti TARGET_NAME le jẹ esp32s2, esp32c3, ati bẹbẹ lọ. Awọn wọnyi iṣeto ni files ti wa ni akowọle sinu sdkconfig nigba akopo, pẹlu gbogbo aiyipada iṣeto ni file sdkconfig.defaults ti wa ni akowọle lati ilu okeere, atẹle nipa iṣeto ni ibi-afẹde kan file, gẹgẹbi sdkconfig.defaults.esp32c3. Ni awọn ọran nibiti awọn ohun elo ti o wa pẹlu orukọ kanna, iṣeto igbehin file yoo idojuk awọn tele.
4.3.4 Ọrọ Iṣaaju si Iwe Akopọ
Nigbati o ba n ṣe agbekalẹ iṣẹ akanṣe nipa lilo ESP-IDF, awọn olupilẹṣẹ ko nilo lati kọ koodu orisun nikan ṣugbọn tun nilo lati kọ CMekeLists.txt fun iṣẹ akanṣe ati awọn paati. CMakeLists.txt jẹ ọrọ kan file, ti a tun mọ ni iwe afọwọkọ akojọpọ, eyiti o ṣalaye lẹsẹsẹ ti awọn nkan akopọ, awọn ohun atunto akopọ, ati awọn aṣẹ lati ṣe itọsọna ilana iṣakojọpọ ti koodu orisun. Eto akopọ ti ESP-IDF v4.3.2 da lori CMake. Ni afikun si atilẹyin awọn iṣẹ abinibi CMake ati awọn aṣẹ, o tun ṣalaye lẹsẹsẹ awọn iṣẹ aṣa, ti o jẹ ki o rọrun pupọ lati kọ awọn iwe afọwọkọ akopọ.
Awọn iwe afọwọkọ akopọ ni ESP-IDF ni pataki pẹlu iwe afọwọkọ akopọ iṣẹ akanṣe ati awọn iwe afọwọkọ akojọpọ paati. CMakeLists.txt ti o wa ninu itọnisọna root ti ise agbese na ni a npe ni iwe afọwọkọ akopo ise agbese, eyiti o ṣe itọsọna ilana iṣakojọpọ ti gbogbo iṣẹ naa. Iwe afọwọkọ akopọ iṣẹ akanṣe kan ni igbagbogbo pẹlu awọn laini mẹta wọnyi:
1. cmake_minimum_required(VERSION 3.5) 2. pẹlu($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. project(myProject)
Lara wọn, cmake_minimum_required (VERSION 3.5) gbọdọ wa ni gbe sori laini akọkọ, eyiti a lo lati tọka nọmba ẹya CMake ti o kere ju ti iṣẹ akanṣe nilo. Awọn ẹya tuntun ti CMake ni gbogbogbo sẹhin ni ibamu pẹlu awọn ẹya agbalagba, nitorinaa ṣatunṣe nọmba ẹya ni ibamu nigba lilo awọn aṣẹ CMake tuntun lati rii daju ibamu.
pẹlu ($ ENV {IDF_PATH}/tools/cmake/project.cmake) ṣe agbewọle awọn ohun atunto ti a ti ṣalaye tẹlẹ ati awọn aṣẹ ti eto akojọpọ ESP-IDF, pẹlu awọn ofin kikọ aiyipada ti eto akopọ ti a ṣalaye ni Abala 4.3.3. ise agbese (myProject) ṣẹda ise agbese na funrararẹ ati pato orukọ rẹ. Orukọ yii yoo ṣee lo bi alakomeji igbejade ipari file orukọ, ie, myProject.elf ati myProject.bin.
Ise agbese kan le ni awọn paati pupọ, pẹlu paati akọkọ. Itọsọna ipele-oke ti paati kọọkan ni CMekeLists.txt kan ninu file, eyi ti a npe ni akosile akopo paati. Awọn iwe afọwọkọ akojọpọ paati jẹ lilo ni pataki lati tokasi awọn igbẹkẹle paati, awọn aye atunto, koodu orisun files, ati akọsori to wa files fun
Abala 4. Ṣiṣeto Ayika Idagbasoke 51

akopo. Pẹlu iṣẹ aṣa ESP-IDF idf_component_register, koodu ti o kere julọ ti a beere fun iwe afọwọkọ akojọpọ paati jẹ bi atẹle:

1. idf_component_register (SRCS "src1.c"

2.

INCLUDE_DIRS "pẹlu"

3.

NBEERE paati1)

Paramita SRCS n pese atokọ orisun kan files ni paati, niya nipa awọn alafo ti o ba ti nibẹ ni o wa ọpọ files. INCLUDE_DIRS paramita n pese atokọ ti akọsori gbogbo eniyan file awọn ilana fun paati, eyiti yoo ṣafikun si ọna wiwa fun awọn paati miiran ti o da lori paati lọwọlọwọ. paramita REQUIRES n ṣe idanimọ awọn igbẹkẹle paati gbangba fun paati lọwọlọwọ. O jẹ dandan fun awọn paati lati sọ ni kedere iru awọn paati ti wọn gbarale, gẹgẹbi paati2 da lori paati1. Sibẹsibẹ, fun paati akọkọ, eyiti o da lori gbogbo awọn paati nipasẹ aiyipada, paramita REQUIRES le yọkuro.

Ni afikun, awọn aṣẹ CMake abinibi tun le ṣee lo ninu iwe afọwọkọ akopọ. Fun example, lo eto aṣẹ lati ṣeto awọn oniyipada, gẹgẹbi ṣeto (VARIABLE “Iye”).

4.3.5 Ifihan to wọpọ Àsẹ
ESP-IDF nlo CMake (ọpa iṣeto iṣẹ akanṣe), Ninja (ọpa ile ise agbese) ati esptool (ọpa filasi) ni ilana ti iṣakojọpọ koodu. Ọpa kọọkan ṣe ipa ti o yatọ ninu akopọ, ile, ati ilana filasi, ati tun ṣe atilẹyin awọn aṣẹ iṣẹ ṣiṣe oriṣiriṣi. Lati dẹrọ iṣẹ olumulo, ESP-IDF ṣe afikun idf.py iwaju-iṣọkan ti o gba laaye awọn aṣẹ ti o wa loke lati pe ni iyara.
Ṣaaju lilo idf.py, rii daju pe:
· Oniyipada ayika IDF_PATH ti ESP-IDF ti ni afikun si ebute lọwọlọwọ. · Ilana ipaniyan pipaṣẹ jẹ ilana ipilẹ ti ise agbese na, eyiti o pẹlu pẹlu
akosile akopo ise agbese CMakeLists.txt.
Awọn aṣẹ ti o wọpọ ti idf.py jẹ bi atẹle:
· idf.py –help: iṣafihan atokọ ti awọn aṣẹ ati awọn ilana lilo wọn. · idf.py ṣeto-afojusun : eto akopo taidf.py fullcleanrget, iru
bi rirọpo pẹlu esp32c3. · idf.py menuconfig: ifilọlẹ menuconfig, a ebute ayaworan iṣeto ni
ọpa, eyi ti o le yan tabi yipada iṣeto ni awọn aṣayan, ati awọn iṣeto ni esi ti wa ni fipamọ ni sdkconfig file. · idf.py kọ: pilẹṣẹ koodu akopo. Awọn agbedemeji files ati awọn ik executable eto ti ipilẹṣẹ nipasẹ awọn akopo yoo wa ni fipamọ ni awọn Kọ liana ti ise agbese nipa aiyipada. Ilana akopọ jẹ afikun, eyi ti o tumọ si pe ti o ba jẹ orisun kan nikan file ti wa ni títúnṣe, nikan ni títúnṣe file yoo wa ni compiled nigbamii ti akoko.

52 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

· idf.py mọ: nu awọn agbedemeji files ti ipilẹṣẹ nipasẹ akopo ise agbese. Gbogbo iṣẹ akanṣe yoo fi agbara mu lati ṣajọ ni akojọpọ atẹle. Ṣe akiyesi pe iṣeto CMake ati awọn atunṣe atunto ti a ṣe nipasẹ menuconfig kii yoo paarẹ lakoko mimọ.
· idf.py fullclean: pipaarẹ gbogbo liana kikọ, pẹlu gbogbo iṣelọpọ iṣeto CMake files. Nigbati o ba kọ iṣẹ naa lẹẹkansi, CMake yoo tunto iṣẹ naa lati ibere. Jọwọ ṣe akiyesi pe aṣẹ yii yoo paarẹ gbogbo rẹ leralera files ninu awọn Kọ liana, wi lo o pẹlu pele, ati ise agbese iṣeto ni file kii yoo parẹ.
· idf.py filasi: ikosan alakomeji eto executable file ipilẹṣẹ nipasẹ kikọ si ibi-afẹde ESP32-C3. Awọn aṣayan -p ati -b ti wa ni lo lati ṣeto awọn ẹrọ orukọ ti awọn tẹlentẹle ibudo ati awọn baud oṣuwọn fun ìmọlẹ, lẹsẹsẹ. Ti awọn aṣayan meji wọnyi ko ba ṣe pato, ibudo ni tẹlentẹle yoo rii laifọwọyi ati pe oṣuwọn baud aiyipada yoo ṣee lo.
· idf.py atẹle: han ni tẹlentẹle ibudo o wu ti awọn afojusun ESP32-C3. Aṣayan -p le ṣee lo lati pato orukọ ẹrọ ti ibudo ni tẹlentẹle ẹgbẹ-ogun. Lakoko titẹ sita ibudo ni tẹlentẹle, tẹ apapo bọtini Ctrl+] lati jade kuro ni atẹle naa.
Awọn aṣẹ ti o wa loke tun le ni idapo bi o ṣe nilo. Fun example, aṣẹ idf.py Kọ filasi atẹle yoo ṣe akojọpọ koodu, filasi, ati ṣii atẹle ibudo ni tẹlentẹle ni ọkọọkan.
O le ṣabẹwo https://bookc3.espressif.com/build-system lati mọ diẹ sii nipa eto akojọpọ ESP-IDF.
4.4 Iwa: Compiling ExampEto naa "Blink"
4.4.1 Eksample Analysis
Yi apakan yoo gba awọn eto Blink bi ohun Mofiample lati itupalẹ awọn file eto ati awọn ofin ifaminsi ti iṣẹ akanṣe gidi ni awọn alaye. Eto Blink ṣe imuse ipa didan LED, ati pe iṣẹ akanṣe naa wa ninu itọsọna examples / bẹrẹ / seju, eyiti o ni orisun kan ninu file, iṣeto ni files, ati ọpọlọpọ awọn iwe afọwọkọ akopọ.
Ise agbese ina ọlọgbọn ti a ṣe sinu iwe yii da lori iṣaaju yiiample eto. Awọn iṣẹ yoo wa ni afikun diẹdiẹ ni awọn ipin nigbamii lati pari nikẹhin.
Koodu orisun Lati ṣe afihan gbogbo ilana idagbasoke, eto Blink ti daakọ si esp32c3-iot-projects/famuwia ẹrọ/1 blink.
Ilana ilana ti ise agbese seju files ti han ni Figure 4.15.
Ise agbese seju nikan ni itọsọna akọkọ kan, eyiti o jẹ paati pataki ti
Abala 4. Ṣiṣeto Ayika Idagbasoke 53

Olusin 4.15. File liana be ti ise agbese seju

gbọdọ wa ni bi apejuwe ninu apakan 4.3.2. Awọn ifilelẹ ti awọn liana wa ni o kun lo lati fi awọn imuse ti app_main () iṣẹ, eyi ti o jẹ awọn titẹsi ojuami si awọn olumulo program.The seju ise agbese ko ni awọn irinše liana, nitori yi ex.ample nikan nilo lati lo awọn paati ti o wa pẹlu ESP-IDF ati pe ko nilo awọn paati afikun. CMakeLists.txt ti o wa ninu iṣẹ akanṣe ni a lo lati ṣe itọsọna ilana iṣakojọpọ, lakoko ti a lo Kconfig.projbuild lati ṣafikun awọn ohun atunto fun iṣaaju yii.ample eto ni menuconfig. Miiran kobojumu files kii yoo ni ipa lori akopọ ti koodu naa, nitorinaa wọn kii yoo jiroro nibi. A alaye ifihan si seju ise agbese files jẹ bi atẹle.

1. /* blink.c pẹlu awọn wọnyi akọsori files*/

2. #pẹlu

// Standard C ìkàwé akọsori file

3. #include "freertos/freeRTOS.h" //FreeRTOS akọsori akọkọ file

4. #pẹlu "freertos/task.h"

// Akọsori iṣẹ-ṣiṣe FreeRTOS file

5. #pẹlu "sdkconfig.h"

// Akọsori iṣeto ni file ipilẹṣẹ nipa kconfig

6. #pẹlu "awakọ/gpio.h"

// GPIO awakọ akọsori file

Orisun file blink.c ni kan lẹsẹsẹ ti akọsori files bamu si iṣẹ ikede-

tions. ESP-IDF ni gbogbogbo tẹle aṣẹ ti pẹlu akọsori ile-ikawe boṣewa files, Ọfẹ-

TOS akọsori files, akọsori awakọ files, akọsori paati miiran files, ati akọsori akanṣe files.

Awọn ibere ninu eyi ti akọsori files to wa le ni ipa ni ik esi akopo, ki gbiyanju lati

tẹle awọn aiyipada awọn ofin. O yẹ ki o ṣe akiyesi pe sdkconfig.h ti wa ni ipilẹṣẹ laifọwọyi

nipa kconfig ati ki o le nikan wa ni tunto nipasẹ awọn pipaṣẹ idf.py menuconfig.

Taara iyipada ti yi akọsori file yoo wa ni kọ.

1. /* O le yan GPIO ti o baamu si LED ni idf.py menuconfig, ati abajade iyipada ti menuconfig ni pe iye CONFIG_BLINK

_GPIO yoo yipada. O tun le ṣe atunṣe asọye Makiro taara

nibi, ki o si yi CONFIG_BLINK_GPIO pada si iye ti o wa titi.*/ 2. # setumo BLINK_GPIO CONFIG_BLINK_GPIO

3. ofo app_main(ofo)

4. {

5.

/* Tunto IO bi iṣẹ aiyipada GPIO, mu ipo fifa soke, ati

6.

mu igbewọle ati awọn ipo igbejade ṣiṣẹ*/

7.

gpio_reset_pin(BLINK_GPIO);

54 ESP32-C3 Alailowaya ìrìn: A okeerẹ Itọsọna si IoT

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

/* Ṣeto GPIO si ipo igbejade*/ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); nigba (1) {
/ * Akọsilẹ titẹ * / printf ("Titan LEDn"); /* Pa LED naa (ipele kekere ti o wu jade)*/ gpio_set_level (BLINK_GPIO, 0); /* Idaduro (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf ("Titan LEDn"); / * Tan LED (ipele giga ti o wujade)*/ gpio_set_level (BLINK_GPIO, 1); vTaskDelay (1000 / portTICK_PERIOD_MS); }

Iṣẹ app_main () ni Blink example eto ṣiṣẹ bi aaye titẹsi fun awọn eto olumulo. O jẹ iṣẹ ti o rọrun laisi awọn paramita ko si iye ipadabọ. Iṣẹ yii ni a pe lẹhin ti eto naa ti pari ipilẹṣẹ, eyiti o pẹlu awọn iṣẹ ṣiṣe bii titokọ ibudo ni tẹlentẹle log, tunto ọkan / meji mojuto, ati tunto oluṣọ.

Iṣẹ app_main() nṣiṣẹ ni aaye ti iṣẹ-ṣiṣe ti a npè ni akọkọ. Iwọn akopọ ati pataki ti iṣẹ-ṣiṣe yii le ṣe atunṣe ni menuconfig Componentconfig Wọpọ ESP-jẹmọ.

Fun awọn iṣẹ ṣiṣe ti o rọrun bii sisẹ LED, gbogbo koodu pataki le ṣee ṣe taara ni iṣẹ app_main (). Eyi ni igbagbogbo pẹlu bibẹrẹ GPIO ti o baamu si LED ati lilo igba diẹ (1) lupu lati yi LED tan ati pa. Ni omiiran, o le lo FreeRTOS API lati ṣẹda iṣẹ-ṣiṣe tuntun kan ti o mu didan LED. Ni kete ti iṣẹ tuntun ba ti ṣẹda ni aṣeyọri, o le jade kuro ni iṣẹ app_main().

Awọn akoonu ti akọkọ/CMakeLists.txt file, eyiti o ṣe itọsọna ilana akopọ fun paati akọkọ, jẹ bi atẹle:

1. idf_component_register (SRCS "blink.c" INCLUDE_DIRS "." )

Lara wọn, akọkọ/CmakeLists.txt pe iṣẹ eto akojọpọ kan nikan, iyẹn idf_component_register. Iru si CMakeLists.txt fun ọpọlọpọ awọn paati miiran, blink.c ti wa ni afikun si SRCS, ati orisun fileAwọn afikun si SRCS yoo ṣe akojọpọ. Ni akoko kanna, ".", eyi ti o duro fun ọna ti CMakeLists.txt wa, yẹ ki o fi kun si INCLUDE_DIRS gẹgẹbi awọn ilana wiwa fun akọsori files. Awọn akoonu ti CMakeLists.txt jẹ bi atẹle:
1. #Specify v3.5 gẹgẹ bi ẹya CMake Atijọ julọ ti o ni atilẹyin nipasẹ iṣẹ akanṣe 2. #Awọn ẹya ti o kere ju v3.5 gbọdọ wa ni igbegasoke ṣaaju ki akopọ tẹsiwaju 3. cmake_minimum_required(VERSION 3.5) 4. #Pẹlu iṣeto CMake aiyipada ti ESP -IDF akopo eto

Abala 4. Ṣiṣeto Ayika Idagbasoke 55

5. pẹlu ($ ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Ṣẹda iṣẹ akanṣe kan ti a npè ni "blink" 7. project(myProject)
Lara wọn, CMakeLists.txt ninu itọsọna gbongbo ni akọkọ pẹlu $ ENV{IDF_ PATH}/tools/cmake/project.cmake, eyiti o jẹ iṣeto CMake akọkọ file pese nipa ESP-IDF. O ti wa ni lilo lati con

Awọn iwe aṣẹ / Awọn orisun

Espressif Systems ESP32-C3 Alailowaya ìrìn [pdf] Itọsọna olumulo
ESP32-C3 Irinajo Alailowaya, ESP32-C3, Ailokun Alailowaya, Ìrìn

Awọn itọkasi

Fi ọrọìwòye

Adirẹsi imeeli rẹ kii yoo ṣe atẹjade. Awọn aaye ti a beere ti wa ni samisi *