Antur Di-wifr ESP32-C3
Antur Di-wifr ESP32-C3
Canllaw Cynhwysfawr i IoT
Espressif Systems Mehefin 12, 2023
Manylebau
- Cynnyrch: Antur Di-wifr ESP32-C3
- Gwneuthurwr: Espressif Systems
- Dyddiad: Mehefin 12, 2023
Cyfarwyddiadau Defnydd Cynnyrch
Paratoi
Cyn defnyddio'r Antur Di-wifr ESP32-C3, gwnewch yn siŵr eich bod chi
gyfarwydd â chysyniadau a phensaernïaeth IoT. Bydd hyn yn helpu
rydych chi'n deall sut mae'r ddyfais yn cyd-fynd â'r ecosystem IoT fwy
a'i gymwysiadau posibl mewn cartrefi smart.
Cyflwyno ac Ymarfer Prosiectau IoT
Yn yr adran hon, byddwch yn dysgu am brosiectau IoT nodweddiadol,
gan gynnwys y modiwlau sylfaenol ar gyfer dyfeisiau IoT cyffredin, modiwlau sylfaenol
o gymwysiadau cleientiaid, a llwyfannau cwmwl IoT cyffredin. Bydd hyn
rhoi sylfaen i chi ddeall a chreu eich
bod yn berchen ar brosiectau IoT.
Ymarfer: Prosiect Golau Clyfar
Yn y prosiect ymarfer hwn, byddwch yn dysgu sut i greu smart
golau gan ddefnyddio'r Antur Di-wifr ESP32-C3. Strwythur y prosiect,
swyddogaethau, paratoi caledwedd, a bydd y broses ddatblygu
cael ei egluro yn fanwl.
Strwythur y Prosiect
Mae'r prosiect yn cynnwys nifer o gydrannau, gan gynnwys y
Antur Di-wifr ESP32-C3, LEDs, synwyryddion, a chwmwl
cefn.
Swyddogaethau Prosiect
Mae'r prosiect golau smart yn eich galluogi i reoli'r disgleirdeb a
lliw y LEDs o bell trwy ap symudol neu web
rhyngwyneb.
Paratoi Caledwedd
I baratoi ar gyfer y prosiect, bydd angen i chi gasglu'r
cydrannau caledwedd angenrheidiol, megis y Di-wifr ESP32-C3
Bwrdd antur, LEDs, gwrthyddion, a chyflenwad pŵer.
Proses Ddatblygu
Mae'r broses ddatblygu yn cynnwys sefydlu'r datblygiad
amgylchedd, ysgrifennu cod i reoli'r LEDs, cysylltu â'r
backend cwmwl, a phrofi ymarferoldeb y smart
golau.
Cyflwyniad i ESP RainMaker
Mae ESP RainMaker yn fframwaith pwerus ar gyfer datblygu IoT
dyfeisiau. Yn yr adran hon, byddwch yn dysgu beth yw ESP RainMaker a
sut y gellir ei weithredu yn eich prosiectau.
Beth yw ESP RainMaker?
Mae ESP RainMaker yn blatfform yn y cwmwl sy'n darparu set o
offer a gwasanaethau ar gyfer adeiladu a rheoli dyfeisiau IoT.
Gweithredu ESP RainMaker
Mae'r adran hon yn egluro'r gwahanol gydrannau sy'n gysylltiedig
gweithredu ESP RainMaker, gan gynnwys y gwasanaeth hawlio,
Asiant RainMaker, backend cwmwl, a RainMaker Cleient.
Arfer: Pwyntiau Allweddol ar gyfer Datblygu gyda ESP RainMaker
Yn yr adran ymarfer hon, byddwch yn dysgu am y pwyntiau allweddol i
ystyried wrth ddatblygu gyda ESP RainMaker. Mae hyn yn cynnwys dyfais
hawlio, cydamseru data, a rheoli defnyddwyr.
Nodweddion ESP RainMaker
Mae ESP RainMaker yn cynnig nodweddion amrywiol ar gyfer rheoli defnyddwyr, diwedd
defnyddwyr, a gweinyddwyr. Mae'r nodweddion hyn yn caniatáu dyfais hawdd
gosod, rheoli o bell, a monitro.
Sefydlu Amgylchedd Datblygu
Mae'r adran hon yn rhoi trosoddview o ESP-IDF (Espressif IoT
Fframwaith Datblygu), sef y fframwaith datblygu swyddogol
ar gyfer dyfeisiau sy'n seiliedig ar ESP32. Mae'n esbonio'r gwahanol fersiynau o
ESP-IDF a sut i sefydlu'r amgylchedd datblygu.
Datblygu Caledwedd a Gyrwyr
Dylunio Caledwedd Cynhyrchion Golau Clyfar yn seiliedig ar ESP32-C3
Mae'r adran hon yn canolbwyntio ar ddyluniad caledwedd golau smart
cynhyrchion yn seiliedig ar yr Antur Di-wifr ESP32-C3. Mae'n cwmpasu'r
nodweddion a chyfansoddiad cynhyrchion golau smart, yn ogystal â'r
dyluniad caledwedd system graidd ESP32-C3.
Nodweddion a Chyfansoddiad Cynhyrchion Golau Clyfar
Mae'r is-adran hon yn esbonio'r nodweddion a'r cydrannau sy'n gwneud
hyd cynhyrchion golau smart. Mae'n trafod y gwahanol swyddogaethau
ac ystyriaethau dylunio ar gyfer creu goleuadau clyfar.
Dylunio Caledwedd System Graidd ESP32-C3
Mae dyluniad caledwedd system graidd ESP32-C3 yn cynnwys pŵer
cyflenwad, dilyniant pŵer ymlaen, ailosod system, fflach SPI, ffynhonnell cloc,
ac ystyriaethau RF ac antena. Mae'r is-adran hon yn darparu
gwybodaeth fanwl am yr agweddau hyn.
FAQ
Q: Beth yw ESP RainMaker?
A: Mae ESP RainMaker yn blatfform cwmwl sy'n darparu offer
a gwasanaethau ar gyfer adeiladu a rheoli dyfeisiau IoT. Mae'n symleiddio
y broses ddatblygu ac yn caniatáu ar gyfer gosod dyfais hawdd, o bell
rheoli, a monitro.
C: Sut alla i sefydlu'r amgylchedd datblygu ar gyfer
ESP32-C3?
A: Er mwyn sefydlu'r amgylchedd datblygu ar gyfer ESP32-C3, mae angen ichi
i osod ESP-IDF (Fframwaith Datblygu IoT Espressif) a
ei ffurfweddu yn unol â'r cyfarwyddiadau a ddarperir. ESP-IDF yw'r
fframwaith datblygu swyddogol ar gyfer dyfeisiau sy'n seiliedig ar ESP32.
C: Beth yw nodweddion ESP RainMaker?
A: Mae ESP RainMaker yn cynnig nodweddion amrywiol, gan gynnwys defnyddiwr
rheolaeth, nodweddion defnyddiwr terfynol, a nodweddion gweinyddol. Rheoli defnyddwyr
yn caniatáu ar gyfer hawlio dyfais hawdd a chydamseru data. Defnyddiwr terfynol
mae nodweddion yn galluogi rheoli dyfeisiau o bell trwy ap symudol neu
web rhyngwyneb. Mae nodweddion gweinyddol yn darparu offer ar gyfer monitro dyfeisiau
a rheolaeth.
Antur Di-wifr ESP32-C3
Canllaw Cynhwysfawr i IoT
Espressif Systems Mehefin 12, 2023
Cynnwys
I Paratoad
1
1 Cyflwyniad i IoT
3
1.1 Pensaernïaeth IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Cymhwysiad IoT mewn Cartrefi Clyfar . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Cyflwyniad ac Arfer Prosiectau IoT
9
2.1 Cyflwyniad i Brosiectau IoT Nodweddiadol . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Modiwlau Sylfaenol ar gyfer Dyfeisiau IoT Cyffredin . . . . . . . . . . . . . . . . . 9
2.1.2 Modiwlau Sylfaenol Cymwysiadau Cleientiaid . . . . . . . . . . . . . . . . . . . 10
2.1.3 Cyflwyniad i Lwyfannau Cwmwl IoT Cyffredin . . . . . . . . . . . . . . 11
2.2 Arfer: Prosiect Golau Clyfar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Strwythur y Prosiect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Swyddogaethau Prosiect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 Paratoi Caledwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 Proses Ddatblygu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Cyflwyniad i ESP RainMaker
19
3.1 Beth yw ESP RainMaker? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Gweithredu RainMaker ESP . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 Gwasanaeth Hawlio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Asiant RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 Ôl-ôl Cwmwl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.4 Cleient RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Arfer: Pwyntiau Allweddol ar gyfer Datblygu gyda ESP RainMaker . . . . . . . . . . . . 25
3.4 Nodweddion ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 Rheoli Defnyddwyr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.2 Nodweddion Defnyddiwr Terfynol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.3 Nodweddion Gweinyddol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Sefydlu Amgylchedd Datblygu
31
4.1 ESP-IDF Drosoddview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 Fersiynau ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3
4.1.2 Llif Gwaith Git ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Dewis Fersiwn Addas . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 Drosoddview o Cyfeiriadur SDK ESP-IDF . . . . . . . . . . . . . . . . . . . . 34 4.2 Sefydlu Amgylchedd Datblygu ESP-IDF . . . . . . . . . . . . . . . . . 38 4.2.1 Sefydlu Amgylchedd Datblygu ESP-IDF ar Linux . . . . . . . . 38 4.2.2 Sefydlu Amgylchedd Datblygu ESP-IDF ar Windows . . . . . . 40 4.2.3 Sefydlu Amgylchedd Datblygu ESP-IDF ar Mac . . . . . . . . . 45 4.2.4 Gosod Cod VS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Cyflwyniad i Amgylcheddau Datblygu Trydydd Parti . . . . . . . . 46 4.3 System Casglu ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Cysyniadau Sylfaenol System Casglu . . . . . . . . . . . . . . . . . . 47 4.3.2 Prosiect File Strwythur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Rheolau Adeiladu Diofyn y System Casglu . . . . . . . . . . . . . 50 4.3.4 Cyflwyniad i'r Sgript Crynhoi . . . . . . . . . . . . . . . . . . 51 4.3.5 Cyflwyniad i Orchmynion Cyffredin . . . . . . . . . . . . . . . . . . . 52 4.4 Arfer: Llunio Exampgyda Rhaglen “Blink”. . . . . . . . . . . . . . . . . . 53 4.4.1 Example Dadansoddi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Llunio'r Rhaglen Blink . . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Fflachio'r Rhaglen Blink . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Dadansoddiad Log Porth Cyfresol o'r Rhaglen Blink . . . . . . . . . . . . . . 60 4.5 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
II Datblygu Caledwedd a Gyrwyr
65
5 Dyluniad Caledwedd Cynhyrchion Golau Clyfar yn seiliedig ar ESP32-C3
67
5.1 Nodweddion a Chyfansoddiad Cynhyrchion Golau Clyfar . . . . . . . . . . . . . . . 67
5.2 Dyluniad Caledwedd System Graidd ESP32-C3 . . . . . . . . . . . . . . . . . . . 70
5.2.1 Cyflenwad Pŵer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2 Dilyniant Pŵer Ymlaen ac Ailosod System . . . . . . . . . . . . . . . . . . 74
5.2.3 SPI Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.4 Ffynhonnell y Cloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.5 RF ac Antena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.6 Pinnau strapio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.7 GPIO a Rheolwr PWM . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.3 Arfer: Adeiladu System Golau Clyfar gydag ESP32-C3 . . . . . . . . . . . . . 80
5.3.1 Dewis Modiwlau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.2 Ffurfweddu GPIO Signalau PWM . . . . . . . . . . . . . . . . . . . . 82
5.3.3 Lawrlwytho Cadarnwedd a Rhyngwyneb Dadfygio . . . . . . . . . . . . 82
5.3.4 Canllawiau ar gyfer Dylunio RF . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 Canllawiau Dylunio Cyflenwad Pŵer . . . . . . . . . . . . . . . . . . . 86 5.4 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6 Datblygu Gyrwyr
87
6.1 Proses Datblygu Gyrwyr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2 ESP32-C3 Cymwysiadau Ymylol . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3 Sylfaen Gyrwyr LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.1 Mannau Lliw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3.2 Gyrrwr LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.3 Pylu LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.4 Cyflwyniad i PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.4 Datblygiad Gyrwyr Pylu LED . . . . . . . . . . . . . . . . . . . . . . . . 96
6.4.1 Storfa Anweddol (NVS) . . . . . . . . . . . . . . . . . . . . . . . . 97
6.4.2 Rheolydd PWM LED (LEDC) . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.3 Rhaglennu PWM LED . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5 Ymarfer: Ychwanegu Gyrwyr at Brosiect Golau Clyfar . . . . . . . . . . . . . . . . . 103
6.5.1 Gyrrwr Botwm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5.2 Gyrrwr Pylu LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.6 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
III Cyfathrebu a Rheoli Di-wifr
109
7 Ffurfweddu a Chysylltiad Wi-Fi
111
7.1 Hanfodion Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.1 Cyflwyniad i Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.2 Esblygiad IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.3 Cysyniadau Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.4 Cysylltiad Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2 Hanfodion Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2.1 Cyflwyniad i Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.2 Cysyniadau Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.2.3 Cysylltiad Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.3 Ffurfweddu Rhwydwaith Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.3.1 Canllaw Ffurfweddu Rhwydwaith Wi-Fi . . . . . . . . . . . . . . . . . . . . 131
7.3.2 SoftAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.3 SmartConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.4 Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.3.5 Dulliau Eraill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.4 Rhaglennu Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 Cydrannau Wi-Fi yn ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 Ymarfer Corff: Cysylltiad Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 Ymarfer Corff: Cysylltiad Smart Wi-Fi . . . . . . . . . . . . . . . . . . . . . 145
7.5 Arfer: Cyfluniad Wi-Fi mewn Prosiect Golau Clyfar . . . . . . . . . . . . . . . 156 7.5.1 Prosiect Cysylltiad Wi-Fi mewn Golau Clyfar . . . . . . . . . . . . . . . . . 156 7.5.2 Ffurfweddiad Smart Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8 Rheolaeth Leol
159
8.1 Cyflwyniad i Reolaeth Leol . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.1.1 Cymhwyso Rheolaeth Leol . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.2 Advantagau Rheolaeth Leol . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.3 Darganfod Dyfeisiau Rheoledig trwy Ffonau Clyfar . . . . . . . . . . 161
8.1.4 Cyfathrebu Data Rhwng Ffonau Clyfar a Dyfeisiau . . . . . . . . 162
8.2 Dulliau Darganfod Lleol Cyffredin . . . . . . . . . . . . . . . . . . . . . . . . 162
8.2.1 Darllediad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.2.2 Amlddarllediad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2.3 Cymhariaeth rhwng Darllediad ac Amlddarllediad . . . . . . . . . . . . . . 176
8.2.4 Protocol Cymwysiadau Aml-ddarllediad mDNS ar gyfer Darganfod Lleol . . . . . . . . 176
8.3 Protocolau Cyfathrebu Cyffredin ar gyfer Data Lleol . . . . . . . . . . . . . . . 179
8.3.1 Protocol Rheoli Trawsyrru (TCP) . . . . . . . . . . . . . . . . . . . 179
8.3.2 Protocol Trosglwyddo HyperText (HTTP) . . . . . . . . . . . . . . . . . . . 185
8.3.3 Defnyddiwr DatagProtocol hwrdd (CDU) . . . . . . . . . . . . . . . . . . . . . . 189
8.3.4 Protocol Ceisiadau Cyfyngedig (CoAP) . . . . . . . . . . . . . . . . 192
8.3.5 Protocol Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
8.3.6 Crynodeb o Brotocolau Cyfathrebu Data . . . . . . . . . . . . . . . 203
8.4 Gwarant Diogelwch Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.4.1 Cyflwyniad i Ddiogelwch Haenau Trafnidiaeth (TLS) . . . . . . . . . . . . . 207
8.4.2 Cyflwyniad i Dataghwrdd Diogelwch Haen Cludiant (DTLS) . . . . . . . 213
8.5 Practis: Rheoli Lleol mewn Prosiect Golau Clyfar . . . . . . . . . . . . . . . . . . 217
8.5.1 Creu Gweinydd Rheoli Lleol yn seiliedig ar Wi-Fi . . . . . . . . . . . . . . . 217
8.5.2 Gwirio Ymarferoldeb Rheolaeth Leol gan ddefnyddio Sgriptiau . . . . . . . . . . . 221
8.5.3 Creu Gweinydd Rheoli Lleol yn seiliedig ar Bluetooth . . . . . . . . . . . . 222
8.6 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9 Rheoli Cwmwl
225
9.1 Cyflwyniad i Reolaeth o Bell . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.2 Protocolau Cyfathrebu Data Cwmwl . . . . . . . . . . . . . . . . . . . . . . 226
9.2.1 Cyflwyniad MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 Egwyddorion MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 Fformat Neges MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 Cymharu Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Sefydlu Brocer MQTT ar Linux a Windows . . . . . . . . . . . . 233 9.2.6 Sefydlu Cleient MQTT yn Seiliedig ar ESP-IDF . . . . . . . . . . . . . . . . 235 9.3 Sicrhau Diogelwch Data MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 Ystyr a Swyddogaeth Tystysgrifau . . . . . . . . . . . . . . . . . . . 237 9.3.2 Cynhyrchu Tystysgrifau yn Lleol . . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 Ffurfweddu Brocer MQTT . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 Ffurfweddu Cleient MQTT . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 Arfer: Rheolaeth Anghysbell trwy ESP RainMaker . . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Protocol Cyfathrebu Nôd a Chwmwl Ôl . . . . . . . . . . . 244 9.4.3 Cyfathrebu rhwng Cleient ac Olion Cwmwl . . . . . . . . . . . 249 9.4.4 Swyddogaethau Defnyddwyr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Gwasanaethau Sylfaenol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 Smart Light Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 App RainMaker ac Integreiddiadau Trydydd Parti . . . . . . . . . . . . . . . 262 9.5 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10 Datblygu Ap Ffôn Clyfar
269
10.1 Cyflwyniad i Ddatblygu Ap Ffonau Clyfar . . . . . . . . . . . . . . . . . . 269
10.1.1 Drosview o Ddatblygu Ap Ffôn Clyfar . . . . . . . . . . . . . . . 270
10.1.2 Strwythur y Prosiect Android . . . . . . . . . . . . . . . . . . . . . . 270
10.1.3 Strwythur y Prosiect iOS . . . . . . . . . . . . . . . . . . . . . . . . 271
10.1.4 Cylch bywyd Gweithgaredd Android . . . . . . . . . . . . . . . . . . . . . . 272
10.1.5 Cylch bywyd iOS ViewRheolydd . . . . . . . . . . . . . . . . . . . . . . 273
10.2 Creu Prosiect Ap Ffonau Clyfar Newydd . . . . . . . . . . . . . . . . . . . . . 275
10.2.1 Paratoi ar gyfer Datblygiad Android . . . . . . . . . . . . . . . . . . . 275
10.2.2 Creu Prosiect Android Newydd . . . . . . . . . . . . . . . . . . . . . . 275
10.2.3 Ychwanegu Dibyniaethau ar gyfer MyRainmaker . . . . . . . . . . . . . . . . . 276
10.2.4 Cais am Ganiatâd yn Android . . . . . . . . . . . . . . . . . . . . . . 277
10.2.5 Paratoi ar gyfer Datblygiad iOS . . . . . . . . . . . . . . . . . . . . . . 277
10.2.6 Creu Prosiect iOS Newydd . . . . . . . . . . . . . . . . . . . . . . . . 278
10.2.7 Ychwanegu Dibyniaethau ar gyfer MyRainmaker . . . . . . . . . . . . . . . . . 279
10.2.8 Cais am Ganiatâd yn iOS . . . . . . . . . . . . . . . . . . . . . . . . . 280
10.3 Dadansoddiad o Ofynion Swyddogaethol yr Ap . . . . . . . . . . . . . . . . . . 281
10.3.1 Dadansoddiad o Ofynion Gweithredol y Prosiect . . . . . . . . . . . . 282
10.3.2 Dadansoddiad o Ofynion Rheoli Defnyddwyr . . . . . . . . . . . . . . . 282 10.3.3 Dadansoddiad o Ddarparu Dyfeisiau a Gofynion Rhwymo . . . . . . . 283 10.3.4 Dadansoddiad o Ofynion Rheolaeth o Bell . . . . . . . . . . . . . . . . 283 10.3.5 Dadansoddiad o'r Gofynion Amserlennu . . . . . . . . . . . . . . . . . . . 284 10.3.6 Dadansoddiad o Ofynion Canolfan Defnyddwyr . . . . . . . . . . . . . . . . . . 285 10.4 Datblygu Rheolaeth Defnyddwyr . . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 Cyflwyniad i APIs RainMaker . . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 Cychwyn Cyfathrebu drwy Ffôn Clyfar . . . . . . . . . . . . . . . . 286 10.4.3 Cofrestru Cyfrif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 Mewngofnodi Cyfrif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 Datblygu Darpariaeth Dyfeisiau . . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 Dyfeisiau Sganio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 Cysylltu Dyfeisiau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 Cynhyrchu Allweddi Cudd . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Cael ID Nod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 Dyfeisiau Darparu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 Datblygu Rheoli Dyfeisiau . . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 Dyfeisiau Rhwymo i Gyfrifon Cwmwl . . . . . . . . . . . . . . . . . . . . 303 10.6.2 Cael Rhestr o Ddyfeisiadau . . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 Cael Statws Dyfais . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 Newid Statws Dyfais . . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 Datblygu Amserlennu a Chanolfan Defnyddwyr . . . . . . . . . . . . . . . . . . . 313 10.7.1 Gweithredu Swyddogaeth Amserlennu . . . . . . . . . . . . . . . . . . . . 313 10.7.2 Gweithredu Canolfan Defnyddwyr . . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 Mwy o APIs Cwmwl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
11 Uwchraddio Firmware a Rheoli Fersiynau
321
11.1 Uwchraddio Cadarnwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
11.1.1 Drosview o Dablau Rhaniad . . . . . . . . . . . . . . . . . . . . . . . . 322
11.1.2 Proses Cychwyn Cadarnwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
11.1.3 Drosview o'r Mecanwaith OTA . . . . . . . . . . . . . . . . . . . . . 326
11.2 Rheoli Fersiwn Cadarnwedd . . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.1 Marcio Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
11.2.2 Dychweliad a Gwrth-Drolio'n Ôl . . . . . . . . . . . . . . . . . . . . . . . . 331
11.3 Ymarfer: Dros yr awyr (OTA) Example. . . . . . . . . . . . . . . . . . . . . . . 332
11.3.1 Uwchraddio Cadarnwedd Trwy Westeiwr Lleol . . . . . . . . . . . . . . . . . 332
11.3.2 Uwchraddio Firmware Trwy ESP RainMaker . . . . . . . . . . . . . . . 335
11.4 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
IV Optimeiddio a Chynhyrchu Torfol
343
12 Rheoli Pŵer ac Optimeiddio Pŵer Isel
345
12.1 ESP32-C3 Rheoli Pŵer . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
12.1.1 Graddio Amledd Deinamig . . . . . . . . . . . . . . . . . . . . . . . . 346
12.1.2 Ffurfweddiad Rheoli Pŵer . . . . . . . . . . . . . . . . . . . . 348
12.2 ESP32-C3 Modd Pŵer Isel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
12.2.1 Modem-cysgu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
12.2.2 Modd cysgu ysgafn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
12.2.3 Modd cysgu dwfn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
12.2.4 Defnydd Presennol mewn Gwahanol Ddulliau Pŵer . . . . . . . . . . . . . 358
12.3 Rheoli Pŵer a Dadfygio Pŵer Isel . . . . . . . . . . . . . . . . . 359
12.3.1 Dadfygio Logiau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
12.3.2 Dadfygio GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
12.4 Arfer: Rheoli Pŵer mewn Prosiect Golau Clyfar . . . . . . . . . . . . . . . 363
12.4.1 Ffurfweddu Nodwedd Rheoli Pŵer . . . . . . . . . . . . . . . . . 364
12.4.2 Defnyddio Cloeon Rheoli Pŵer . . . . . . . . . . . . . . . . . . . . . . 365
12.4.3 Gwirio Defnydd Pŵer . . . . . . . . . . . . . . . . . . . . . . . 366
12.5 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
13 Nodweddion Diogelwch Dyfais Gwell
369
13.1 Drosview o Ddiogelwch Data Dyfais IoT . . . . . . . . . . . . . . . . . . . . . . . 369
13.1.1 Pam Diogelu Data Dyfais IoT? . . . . . . . . . . . . . . . . . . . . . . 370
13.1.2 Gofynion Sylfaenol ar gyfer Diogelwch Data Dyfeisiau IoT . . . . . . . . . . . . 371
13.2 Diogelu Cywirdeb Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
13.2.1 Cyflwyniad i Ddull Gwirio Uniondeb . . . . . . . . . . . . . . 372
13.2.2 Gwirio Data Cadarnwedd Uniondeb . . . . . . . . . . . . . . . . . . 373
13.2.3 Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3 Diogelu Cyfrinachedd Data . . . . . . . . . . . . . . . . . . . . . . . . . . 374
13.3.1 Cyflwyniad i Amgryptio Data . . . . . . . . . . . . . . . . . . . . . . 374
13.3.2 Cyflwyniad i'r Cynllun Amgryptio Fflach . . . . . . . . . . . . . . . . . 376
13.3.3 Storio Allwedd Amgryptio Flash . . . . . . . . . . . . . . . . . . . . . . . 379
13.3.4 Dull Gweithio Amgryptio Fflach . . . . . . . . . . . . . . . . . . . . 380
13.3.5 Proses Amgryptio Fflach . . . . . . . . . . . . . . . . . . . . . . . . . . 381
13.3.6 Cyflwyniad i Amgryptio NVS . . . . . . . . . . . . . . . . . . . . . . 383
13.3.7 Exampllai o Flash Encryption ac NVS Encryption . . . . . . . . . . . 384
13.4 Diogelu Cyfreithlondeb Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
13.4.1 Cyflwyniad i Lofnod Digidol . . . . . . . . . . . . . . . . . . . . . 386
13.4.2 Drosview o'r Cynllun Esgidiau Diogel . . . . . . . . . . . . . . . . . . . . . 388
13.4.3 Cyflwyniad i Gist Meddalwedd Diogel . . . . . . . . . . . . . . . . . . . 388 13.4.4 Cyflwyniad i Boot Diogel Caledwedd . . . . . . . . . . . . . . . . . . 390 13.4.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 Arfer: Nodweddion Diogelwch Mewn Cynhyrchu Torfol . . . . . . . . . . . . . . . . . . 396 13.5.1 Amgryptio Fflach a Cist Diogel . . . . . . . . . . . . . . . . . . . . . 396 13.5.2 Galluogi Amgryptio Fflach a Chychwyn Diogel gydag Offer Fflach Swp . . 397 13.5.3 Galluogi Amgryptio Fflach a Chist Diogel mewn Prosiect Golau Clyfar . . . 398 13.6 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
14 Llosgi Cadarnwedd a Phrofi ar gyfer Cynhyrchu Màs
399
14.1 Llosgi Cadarnwedd mewn Cynhyrchu Torfol . . . . . . . . . . . . . . . . . . . . . . 399
14.1.1 Diffinio Rhaniadau Data . . . . . . . . . . . . . . . . . . . . . . . . . . 399
14.1.2 Llosgi Cadarnwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
14.2 Profi masgynhyrchu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
14.3 Arfer: Data Cynhyrchu Torfol mewn Prosiect Golau Clyfar . . . . . . . . . . . . . 404
14.4 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
15 Mewnwelediadau ESP: Llwyfan Monitro o Bell
405
15.1 Cyflwyniad i Insights ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
15.2 Dechrau Arni gyda Insights ESP . . . . . . . . . . . . . . . . . . . . . . . . . 409
15.2.1 Dechrau Arni gydag ESP Insights in the esp-insights Project . . . . . . 409
15.2.2 Rhedeg Example yn y esp-insights Prosiect . . . . . . . . . . . . . . . 411
15.2.3 Adrodd Gwybodaeth Coreedum . . . . . . . . . . . . . . . . . . . . . 411
15.2.4 Addasu Logiau o Ddiddordeb . . . . . . . . . . . . . . . . . . . . . . . . 412
15.2.5 Rheswm Ailgychwyn Adrodd . . . . . . . . . . . . . . . . . . . . . . . . . 413
15.2.6 Adrodd ar Fetrigau Personol . . . . . . . . . . . . . . . . . . . . . . . . . 413
15.3 Arfer: Defnyddio ESP Insights in Smart Light Project . . . . . . . . . . . . . . . 416
15.4 Crynodeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Rhagymadrodd
Mae ESP32-C3 yn SoC microreolydd Wi-Fi un craidd a Bluetooth 5 (LE), yn seiliedig ar bensaernïaeth ffynhonnell agored RISC-V. Mae'n taro'r cydbwysedd cywir o bŵer, galluoedd I / O, a diogelwch, gan gynnig yr ateb cost-effeithiol gorau posibl ar gyfer dyfeisiau cysylltiedig. I ddangos cymwysiadau amrywiol o'r teulu ESP32-C3, bydd y llyfr hwn gan Espressif yn mynd â chi ar daith ddiddorol trwy AIoT, gan ddechrau o hanfodion datblygu prosiect IoT a sefydlu amgylchedd i gyn ymarferol.amples. Mae'r pedair pennod gyntaf yn sôn am IoT, ESP RainMaker ac ESP-IDF. Pennod 5 a 6 briff ar ddylunio caledwedd a datblygu gyrwyr. Wrth i chi symud ymlaen, byddwch yn darganfod sut i ffurfweddu eich prosiect trwy rwydweithiau Wi-Fi ac Apiau symudol. Yn olaf, byddwch chi'n dysgu gwneud y gorau o'ch prosiect a'i roi mewn cynhyrchiad màs.
Os ydych chi'n beiriannydd mewn meysydd cysylltiedig, yn bensaer meddalwedd, yn athro, yn fyfyriwr, neu'n unrhyw un sydd â diddordeb mewn IoT, mae'r llyfr hwn ar eich cyfer chi.
Gallwch lawrlwytho'r cod exampFe'i defnyddir yn y llyfr hwn o wefan Espressif ar GitHub. I gael y wybodaeth ddiweddaraf am ddatblygiad IoT, dilynwch ein cyfrif swyddogol.
Rhagymadrodd
Byd Hysbysu
Gan reidio ton y Rhyngrwyd, gwnaeth Internet of Things (IoT) ei ymddangosiad cyntaf mawreddog i ddod yn fath newydd o seilwaith yn yr economi ddigidol. Er mwyn dod â'r dechnoleg yn nes at y cyhoedd, mae Espressif Systems yn gweithio i'r weledigaeth y gall datblygwyr o bob cefndir ddefnyddio IoT i ddatrys rhai o broblemau mwyaf dybryd ein hoes. Byd o “Rhwydwaith Deallus o Bob Peth” yw’r hyn yr ydym yn ei ddisgwyl o’r dyfodol.
Mae dylunio ein sglodion ein hunain yn rhan hanfodol o'r weledigaeth honno. Bydd yn farathon, yn gofyn am ddatblygiadau cyson yn erbyn ffiniau technolegol. O'r “Game Changer” ESP8266 i'r gyfres ESP32 sy'n integreiddio cysylltedd Wi-Fi a Bluetoothr (LE), ac yna ESP32-S3 wedi'i gyfarparu gan gyflymiad AI, nid yw Espressif byth yn stopio ymchwilio a datblygu cynhyrchion ar gyfer datrysiadau AIoT. Gyda'n meddalwedd ffynhonnell agored, fel Fframwaith Datblygu IoT ESP-IDF, Fframwaith Datblygu Rhwyll ESP-MDF, a Platfform Cysylltedd Dyfais ESP RainMaker, rydym wedi creu fframwaith annibynnol ar gyfer adeiladu cymwysiadau AIoT.
Ym mis Gorffennaf 2022, mae'r llwythi cronnol o chipsets IoT Espressif wedi rhagori ar 800 miliwn, gan arwain yn y farchnad MCU Wi-Fi a phweru nifer enfawr o ddyfeisiau cysylltiedig ledled y byd. Mae mynd ar drywydd rhagoriaeth yn gwneud pob cynnyrch Espressif yn llwyddiant mawr am ei lefel uchel o integreiddio a chost effeithlonrwydd. Mae rhyddhau ESP32-C3 yn garreg filltir arwyddocaol o dechnoleg hunanddatblygedig Espressif. Mae'n MCU un craidd, 32-did, wedi'i seilio ar RISC-V gyda 400KB o SRAM, a all redeg ar 160MHz. Mae wedi integreiddio Wi-Fi 2.4 GHz a Bluetooth 5 (LE) gyda chefnogaeth ystod hir. Mae'n taro cydbwysedd manwl o bŵer, galluoedd I / O, a diogelwch, gan gynnig yr ateb cost-effeithiol gorau posibl ar gyfer dyfeisiau cysylltiedig. Yn seiliedig ar ESP32-C3 mor bwerus, bwriad y llyfr hwn yw helpu darllenwyr i ddeall gwybodaeth sy'n gysylltiedig â IoT gyda darlunio manwl a chyn ymarferol.amples.
Pam wnaethon ni ysgrifennu'r llyfr hwn?
Mae Espressif Systems yn fwy na chwmni lled-ddargludyddion. Mae hefyd yn gwmni platfform IoT, sydd bob amser yn ymdrechu i gael datblygiadau arloesol ac arloesi ym maes technoleg. Ar yr un pryd, mae Espressif wedi ffynhonnell agored ac wedi rhannu ei system weithredu a'i fframwaith meddalwedd hunanddatblygedig gyda'r gymuned, gan ffurfio ecosystem unigryw. Mae peirianwyr, gwneuthurwyr a selogion technoleg wrthi'n datblygu cymwysiadau meddalwedd newydd yn seiliedig ar gynhyrchion Espressif, yn cyfathrebu'n rhydd, ac yn rhannu eu profiad. Gallwch weld syniadau hynod ddiddorol datblygwyr ar lwyfannau amrywiol drwy'r amser, megis YouTube a GitHub. Mae poblogrwydd cynhyrchion Espressif wedi ysgogi nifer cynyddol o awduron sydd wedi cynhyrchu dros 100 o lyfrau yn seiliedig ar sglodion Espressif, mewn mwy na deg iaith, gan gynnwys Saesneg, Tsieinëeg, Almaeneg, Ffrangeg a Japaneeg.
Cefnogaeth ac ymddiriedaeth partneriaid cymunedol sy'n annog arloesedd parhaus Espressif. “Rydym yn ymdrechu i wneud ein sglodion, systemau gweithredu, fframweithiau, datrysiadau, Cwmwl, arferion busnes, offer, dogfennaeth, ysgrifeniadau, syniadau, ac ati, yn fwyfwy perthnasol i'r atebion sydd eu hangen ar bobl ym mhroblemau mwyaf enbyd bywyd cyfoes. Dyma uchelgais a chwmpawd moesol uchaf Espressif.” meddai Mr Teo Swee Ann, Sylfaenydd a Phrif Swyddog Gweithredol Espressif.
Mae Espressif yn gwerthfawrogi darllen a syniadau. Gan fod uwchraddio parhaus technoleg IoT yn gosod gofynion uwch ar beirianwyr, sut allwn ni helpu mwy o bobl i feistroli sglodion IoT, systemau gweithredu, fframweithiau meddalwedd, cynlluniau cymhwysiad a chynhyrchion gwasanaeth cwmwl yn gyflym? Fel y dywed y dywediad, mae'n well dysgu dyn sut i bysgota na rhoi pysgod iddo. Mewn sesiwn trafod syniadau, daeth yn amlwg i ni y gallem ysgrifennu llyfr i roi trefn systematig ar y wybodaeth allweddol am ddatblygiad IoT. Fe wnaethon ni ei daro i ffwrdd, casglwyd grŵp o uwch beirianwyr yn gyflym, a chyfunwyd profiad y tîm technegol mewn rhaglennu wedi'i fewnosod, datblygu caledwedd a meddalwedd IoT, i gyd yn cyfrannu at gyhoeddi'r llyfr hwn. Yn y broses o ysgrifennu, gwnaethom ein gorau i fod yn wrthrychol a theg, tynnu'r cocŵn, a defnyddio ymadroddion cryno i adrodd cymhlethdod a swyn Rhyngrwyd Pethau. Fe wnaethom grynhoi'r cwestiynau cyffredin yn ofalus, cyfeirio at adborth ac awgrymiadau'r gymuned, er mwyn ateb yn glir y cwestiynau a gafwyd yn y broses ddatblygu, a darparu canllawiau datblygu IoT ymarferol ar gyfer technegwyr a gwneuthurwyr penderfyniadau perthnasol.
Strwythur Llyfr
Mae'r llyfr hwn yn cymryd persbectif sy'n canolbwyntio ar beiriannydd ac yn ehangu'r wybodaeth angenrheidiol ar gyfer datblygu prosiect IoT gam wrth gam. Mae'n cynnwys pedair rhan, fel a ganlyn:
· Paratoi (Pennod 1): Mae'r rhan hon yn cyflwyno pensaernïaeth IoT, fframwaith prosiect IoT nodweddiadol, platfform cwmwl ESP RainMakerr, a'r amgylchedd datblygu ESP-IDF, er mwyn gosod sylfaen gadarn ar gyfer datblygu prosiect IoT.
· Datblygu Caledwedd a Gyrwyr (Pennod 5): Yn seiliedig ar y chipset ESP6-C32, mae'r rhan hon yn ymhelaethu ar y system galedwedd leiaf a datblygiad gyrrwr, ac yn gweithredu rheolaeth pylu, graddio lliw, a chyfathrebu diwifr.
· Cyfathrebu a Rheoli Di-wifr (Pennod 7): Mae'r rhan hon yn esbonio'r cynllun cyfluniad Wi-Fi deallus yn seiliedig ar sglodyn ESP11-C32, protocolau rheoli lleol a chymylau, a rheolaeth leol ac anghysbell ar ddyfeisiau. Mae hefyd yn darparu cynlluniau ar gyfer datblygu apiau ffôn clyfar, uwchraddio cadarnwedd, a rheoli fersiynau.
· Optimeiddio a Chynhyrchu Màs (Pennod 12-15): Mae'r rhan hon wedi'i bwriadu ar gyfer cymwysiadau IoT uwch, gan ganolbwyntio ar optimeiddio cynhyrchion mewn rheoli pŵer, optimeiddio pŵer isel, a gwell diogelwch. Mae hefyd yn cyflwyno llosgi firmware a phrofi mewn cynhyrchu màs, a sut i wneud diagnosis o statws rhedeg a logiau firmware dyfais trwy'r llwyfan monitro o bell ESP Insights.
Am y Cod Ffynhonnell
Gall darllenwyr redeg y cynampgyda rhaglenni yn y llyfr hwn, naill ai trwy fewnbynnu'r cod â llaw neu drwy ddefnyddio'r cod ffynhonnell sy'n cyd-fynd â'r llyfr. Rydym yn pwysleisio'r cyfuniad o theori ac ymarfer, ac felly'n gosod adran Ymarfer yn seiliedig ar y prosiect Golau Clyfar ym mron pob pennod. Mae'r holl godau yn rhai ffynhonnell agored. Mae croeso i ddarllenwyr lawrlwytho'r cod ffynhonnell a'i drafod yn yr adrannau sy'n gysylltiedig â'r llyfr hwn ar GitHub a'n fforwm swyddogol esp32.com. Mae cod ffynhonnell agored y llyfr hwn yn ddarostyngedig i delerau Trwydded Apache 2.0.
Nodyn yr Awdwr
Cynhyrchir y llyfr hwn yn swyddogol gan Espressif Systems ac fe'i hysgrifennwyd gan uwch beirianwyr y cwmni. Mae'n addas ar gyfer rheolwyr a phersonél Ymchwil a Datblygu mewn diwydiannau sy'n gysylltiedig â IoT, athrawon a myfyrwyr majors cysylltiedig, a selogion ym maes Rhyngrwyd Pethau. Gobeithiwn y gall y llyfr hwn wasanaethu fel llawlyfr gwaith, cyfeirlyfr, a llyfr erchwyn gwely, i fod fel tiwtor a ffrind da.
Wrth lunio'r llyfr hwn, cyfeiriasom at rai canlyniadau ymchwil perthnasol gan arbenigwyr, ysgolheigion, a thechnegwyr gartref a thramor, a gwnaethom ein gorau i'w dyfynnu yn unol â normau academaidd. Fodd bynnag, mae'n anochel y dylai fod rhai bylchau, felly yma hoffem fynegi ein parch a'n diolchgarwch dwfn i'r holl awduron perthnasol. Yn ogystal, rydym wedi dyfynnu gwybodaeth o'r Rhyngrwyd, felly hoffem ddiolch i'r awduron a'r cyhoeddwyr gwreiddiol ac ymddiheuro na allwn nodi ffynhonnell pob darn o wybodaeth.
Er mwyn cynhyrchu llyfr o ansawdd uchel, rydym wedi trefnu rowndiau o drafodaethau mewnol, ac wedi dysgu o awgrymiadau ac adborth darllenwyr treial a golygyddion cyhoeddwyr. Yma, hoffem ddiolch i chi eto am eich cymorth a gyfrannodd i gyd at y gwaith llwyddiannus hwn.
Yn olaf, ond yn bwysicaf oll, diolch i bawb yn Espressif sydd wedi gweithio mor galed i eni a phoblogeiddio ein cynnyrch.
Mae datblygu prosiectau IoT yn cynnwys ystod eang o wybodaeth. Yn gyfyngedig i hyd y llyfr, yn ogystal â lefel a phrofiad yr awdur, mae hepgoriadau yn anochel. Felly, gofynnwn yn garedig i arbenigwyr a darllenwyr feirniadu a chywiro ein camgymeriadau. Os oes gennych unrhyw awgrymiadau ar gyfer y llyfr hwn, cysylltwch â ni yn book@espressif.com. Edrychwn ymlaen at eich adborth.
Sut i ddefnyddio'r llyfr hwn?
Mae cod y prosiectau yn y llyfr hwn wedi bod yn ffynhonnell agored. Gallwch ei lawrlwytho o'n cadwrfa GitHub a rhannu eich syniadau a'ch cwestiynau ar ein fforwm swyddogol. GitHub: https://github.com/espressif/book-esp32c3-iot-projects Fforwm: https://www.esp32.com/bookc3 Drwy gydol y llyfr, bydd rhannau wedi'u hamlygu fel y dangosir isod.
Cod ffynhonnell Yn y llyfr hwn, rydym yn pwysleisio'r cyfuniad o theori ac ymarfer, ac felly'n gosod adran Ymarfer am y prosiect Golau Clyfar ym mron pob pennod. Bydd camau cyfatebol a thudalen ffynhonnell yn cael eu marcio rhwng dwy linell sy'n dechrau gyda'r tag Cod ffynhonnell.
NODYN/AWGRYMIADAU Dyma lle y gallwch ddod o hyd i wybodaeth hanfodol ac atgoffa ar gyfer dadfygio eich rhaglen yn llwyddiannus. Byddant yn cael eu marcio rhwng dwy linell drwchus gan ddechrau gyda'r tag NODYN neu AWGRYMIADAU.
Mae'r rhan fwyaf o'r gorchmynion yn y llyfr hwn yn cael eu gweithredu o dan Linux, wedi'u hysgogi gan y cymeriad “$”. Os oes angen breintiau superuser ar y gorchymyn i'w weithredu, bydd “#” yn cymryd lle'r anogwr. Yr anogwr gorchymyn ar systemau Mac yw “%”, fel y'i defnyddir yn Adran 4.2.3 Gosod ESP-IDF ar Mac.
Bydd y testun corff yn y llyfr hwn yn cael ei argraffu yn Siarter, tra bydd y cod examples, cydrannau, ffwythiannau, newidynnau, cod file bydd enwau, cyfeiriaduron cod, a llinynnau yn Courier New.
Bydd gorchmynion neu destunau y mae angen i'r defnyddiwr eu mewnbynnu, a gorchmynion y gellir eu mewnbynnu trwy wasgu'r allwedd “Enter” yn cael eu hargraffu mewn print trwm Courier New. Bydd logiau a blociau cod yn cael eu cyflwyno mewn blychau glas golau .
Example:
Yn ail, defnyddiwch esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py i gynhyrchu deuaidd rhaniad NVS file ar y gwesteiwr datblygu gyda'r gorchymyn canlynol:
$ python $IDF LLWYBR/components/nvs fflach/nvs generadur rhaniad/nvs rhaniad gen.py – mewnbwn màs prod.csv –allbwn màs prod.bin –size NVS PARTITION MAINT
Pennod 1
Rhagymadrodd
i
IoT
Ar ddiwedd yr 20fed ganrif, gyda chynnydd mewn rhwydweithiau cyfrifiadurol a thechnolegau cyfathrebu, mae'r Rhyngrwyd yn integreiddio'n gyflym i fywydau pobl. Wrth i dechnoleg Rhyngrwyd barhau i aeddfedu, ganwyd y syniad o Internet of Things (IoT). Yn llythrennol, mae IoT yn golygu Rhyngrwyd lle mae pethau wedi'u cysylltu. Tra bod y Rhyngrwyd gwreiddiol yn torri terfynau gofod ac amser ac yn culhau'r pellter rhwng “person a pherson”, mae IoT yn gwneud “pethau” yn gyfranogwr pwysig, gan ddod â “phobl” a “phethau” yn agosach at ei gilydd. Yn y dyfodol agos, mae IoT ar fin dod yn rym gyrru'r diwydiant gwybodaeth.
Felly, beth yw Rhyngrwyd Pethau?
Mae'n anodd diffinio Rhyngrwyd Pethau'n gywir, gan fod ei hystyr a'i chwmpas yn datblygu'n gyson. Ym 1995, magodd Bill Gates y syniad o IoT am y tro cyntaf yn ei lyfr The Road Ahead. Yn syml, mae IoT yn galluogi gwrthrychau i gyfnewid gwybodaeth â'i gilydd trwy'r Rhyngrwyd. Ei nod yn y pen draw yw sefydlu “Rhyngrwyd Popeth”. Mae hwn yn ddehongliad cynnar o IoT, yn ogystal â ffantasi o dechnoleg y dyfodol. Ddeng mlynedd ar hugain yn ddiweddarach, gyda datblygiad cyflym yr economi a thechnoleg, mae'r ffantasi yn dod i realiti. O ddyfeisiau clyfar, cartrefi craff, dinasoedd craff, Rhyngrwyd Cerbydau a dyfeisiau gwisgadwy, i'r “metaverse” a gefnogir gan dechnolegau IoT, mae cysyniadau newydd yn dod i'r amlwg yn gyson. Yn y bennod hon, byddwn yn dechrau gydag esboniad o bensaernïaeth Internet of Things, ac yna'n cyflwyno'r cymhwysiad IoT mwyaf cyffredin, y cartref craff, er mwyn eich helpu i gael dealltwriaeth glir o IoT.
1.1 Pensaernïaeth IoT
Mae Internet of Things yn cynnwys technolegau lluosog sydd ag anghenion cymhwyso a ffurfiau gwahanol mewn diwydiannau gwahanol. Er mwyn datrys y strwythur, y technolegau allweddol a nodweddion cymhwyso IoT, mae angen sefydlu pensaernïaeth unedig a system dechnegol safonol. Yn y llyfr hwn, mae pensaernïaeth IoT wedi'i rannu'n bedair haen yn syml: haen canfyddiad a rheolaeth, haen rhwydwaith, haen platfform, a haen cymhwysiad.
Haen Canfyddiad a Rheolaeth Fel elfen fwyaf sylfaenol pensaernïaeth IoT, haen canfyddiad a rheolaeth yw'r craidd i wireddu synhwyro cynhwysfawr IoT. Ei brif swyddogaeth yw casglu, nodi a rheoli gwybodaeth. Mae'n cynnwys amrywiaeth o ddyfeisiau gyda'r gallu canfyddiad,
3
adnabod, rheoli a gweithredu, ac mae'n gyfrifol am adalw a dadansoddi data megis priodweddau materol, tueddiadau ymddygiad, a statws dyfais. Yn y modd hwn, mae IoT yn dod i adnabod y byd ffisegol go iawn. Yn ogystal, mae'r haen hefyd yn gallu rheoli statws y ddyfais.
Mae dyfeisiau mwyaf cyffredin yr haen hon yn synwyryddion amrywiol, sy'n chwarae rhan bwysig wrth gasglu ac adnabod gwybodaeth. Mae synwyryddion yn debyg i organau synhwyraidd dynol, fel synwyryddion ffotosensitif sy'n cyfateb i olwg, synwyryddion acwstig i glyw, synwyryddion nwy i arogli, a synwyryddion sy'n sensitif i bwysau a thymheredd i gyffwrdd. Gyda'r holl “organau synhwyraidd hyn”, mae gwrthrychau'n dod yn “fyw” ac yn gallu dirnad, adnabod a thrin y byd ffisegol yn ddeallus.
Haen Rhwydwaith Prif swyddogaeth yr haen rhwydwaith yw trosglwyddo gwybodaeth, gan gynnwys data a gafwyd o'r haen canfyddiad a rheolaeth i darged penodedig, yn ogystal â gorchmynion a gyhoeddir o'r haen ymgeisio yn ôl i'r haen canfyddiad a rheolaeth. Mae'n gweithredu fel pont gyfathrebu bwysig sy'n cysylltu gwahanol haenau o system IoT. Er mwyn sefydlu model sylfaenol o Rhyngrwyd Pethau, mae'n cynnwys dau gam i integreiddio gwrthrychau i rwydwaith: mynediad i'r Rhyngrwyd a thrawsyriant trwy'r Rhyngrwyd.
Mae mynediad i'r Rhyngrwyd Rhyngrwyd yn galluogi rhyng-gysylltiad rhwng person a pherson, ond yn methu â chynnwys pethau yn y teulu mawr. Cyn dyfodiad IoT, nid oedd y rhan fwyaf o bethau yn “alluog i rwydweithio”. Diolch i ddatblygiad parhaus technoleg, mae IoT yn llwyddo i gysylltu pethau â'r Rhyngrwyd, gan wireddu'r rhyng-gysylltiad rhwng “pobl a phethau”, a “pethau a phethau”. Mae dwy ffordd gyffredin o weithredu cysylltiad Rhyngrwyd: mynediad rhwydwaith â gwifrau a mynediad rhwydwaith diwifr.
Mae dulliau mynediad rhwydwaith gwifrau yn cynnwys Ethernet, cyfathrebu cyfresol (ee, RS-232, RS-485) a USB, tra bod mynediad rhwydwaith diwifr yn dibynnu ar gyfathrebu di-wifr, y gellir ei rannu ymhellach yn gyfathrebu diwifr amrediad byr a chyfathrebu diwifr amrediad hir.
Mae cyfathrebu diwifr amrediad byr yn cynnwys ZigBee, Bluetoothr, Wi-Fi, Near-Field Communication (NFC), ac Adnabod Amledd Radio (RFID). Mae cyfathrebu diwifr amrediad hir yn cynnwys Cyfathrebu Math o Beiriant Gwell (eMTC), LoRa, Band Cul Rhyngrwyd Pethau (NB-IoT), 2G, 3G, 4G, 5G, ac ati.
Trosglwyddo trwy'r Rhyngrwyd Mae gwahanol ddulliau o gael mynediad i'r Rhyngrwyd yn arwain at gyswllt trosglwyddo data corfforol cyfatebol. Y peth nesaf yw penderfynu pa brotocol cyfathrebu i'w ddefnyddio i drosglwyddo'r data. O'u cymharu â therfynellau Rhyngrwyd, mae gan y mwyafrif o derfynellau IoT lai ar hyn o bryd
4 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
adnoddau sydd ar gael, megis perfformiad prosesu, gallu storio, cyfradd rhwydwaith, ac ati, felly mae angen dewis protocol cyfathrebu sy'n meddiannu llai o adnoddau mewn cymwysiadau IoT. Mae dau brotocol cyfathrebu a ddefnyddir yn eang heddiw: Cludo Telemetreg Ciwio Negeseuon (MQTT) a Phrotocol Cais Cyfyngedig (CoAP).
Haen Llwyfan Mae'r haen platfform yn cyfeirio'n bennaf at lwyfannau cwmwl IoT. Pan fydd yr holl derfynellau IoT wedi'u rhwydweithio, mae angen cydgrynhoi eu data ar lwyfan cwmwl IoT i'w gyfrifo a'u storio. Mae haen y platfform yn cefnogi cymwysiadau IoT yn bennaf wrth hwyluso mynediad a rheolaeth o ddyfeisiau enfawr. Mae'n cysylltu terfynellau IoT â'r platfform cwmwl, yn casglu data terfynell, ac yn rhoi gorchmynion i derfynellau, er mwyn gweithredu rheolaeth bell. Fel gwasanaeth canolraddol i aseinio offer i gymwysiadau diwydiant, mae haen y platfform yn chwarae rhan gysylltiol yn y bensaernïaeth IoT gyfan, gan gario rhesymeg busnes haniaethol a model data craidd safonol, a all nid yn unig wireddu mynediad cyflym o ddyfeisiau, ond hefyd yn darparu galluoedd modiwlaidd pwerus i ddiwallu anghenion amrywiol mewn senarios cais diwydiant. Mae haen y platfform yn bennaf yn cynnwys modiwlau swyddogaethol megis mynediad dyfais, rheoli dyfeisiau, rheoli diogelwch, cyfathrebu negeseuon, monitro gweithrediad a chynnal a chadw, a chymwysiadau data.
· Mynediad dyfais, gan sylweddoli'r cysylltiad a'r cyfathrebu rhwng terfynellau a llwyfannau cwmwl IoT.
· Rheoli dyfeisiau, gan gynnwys swyddogaethau megis creu dyfeisiau, cynnal a chadw dyfeisiau, trosi data, cydamseru data, a dosbarthu dyfeisiau.
· Rheoli diogelwch, gan sicrhau diogelwch trosglwyddo data IoT o safbwyntiau dilysu diogelwch a diogelwch cyfathrebu.
· Cyfathrebu neges, gan gynnwys tri chyfeiriad trosglwyddo, hynny yw, mae'r derfynell yn anfon data i'r platfform cwmwl IoT, mae platfform cwmwl IoT yn anfon data i ochr y gweinydd neu lwyfannau cwmwl IoT eraill, ac mae ochr y gweinydd yn rheoli dyfeisiau IoT o bell.
· Monitro O&M, gan gynnwys monitro a diagnosis, uwchraddio cadarnwedd, dadfygio ar-lein, gwasanaethau log, ac ati.
· Cymwysiadau data, sy'n cynnwys storio, dadansoddi a chymhwyso data.
Haen y Cymhwysiad Mae'r haen cymhwysiad yn defnyddio'r data o haen y platfform i reoli'r cymhwysiad, gan eu hidlo a'u prosesu ag offer megis cronfeydd data a meddalwedd dadansoddi. Gellir defnyddio'r data canlyniadol ar gyfer cymwysiadau IoT yn y byd go iawn fel gofal iechyd craff, amaethyddiaeth glyfar, cartrefi craff, a dinasoedd craff.
Wrth gwrs, gellir rhannu pensaernïaeth IoT yn fwy o haenau, ond ni waeth faint o haenau y mae'n eu cynnwys, mae'r egwyddor sylfaenol yn aros yr un peth yn y bôn. Dysgu
Pennod 1. Cyflwyniad i IoT 5
am bensaernïaeth IoT yn helpu i ddyfnhau ein dealltwriaeth o dechnolegau IoT ac adeiladu prosiectau IoT cwbl weithredol.
1.2 Cymhwysiad IoT mewn Cartrefi Clyfar
Mae IoT wedi treiddio i bob cefndir, a'r cymhwysiad IoT sydd â'r cysylltiad agosaf â ni yw'r cartref craff. Bellach mae gan lawer o offer traddodiadol un neu fwy o ddyfeisiau IoT, ac mae llawer o dai newydd eu hadeiladu wedi'u dylunio gyda thechnolegau IoT o'r cychwyn cyntaf. Mae Ffigur 1.1 yn dangos rhai dyfeisiau cartref clyfar cyffredin.
Ffigur 1.1. Dyfeisiau cartref smart cyffredin Gellir rhannu datblygiad cartref smart yn syml yn gynnyrch smart stage, cydgysylltiad golygfa stage a deallus stage, fel y dangosir yn Ffigur 1.2.
Ffigur 1.2. Datblygiad stage o gartref craff 6 ESP32-C3 Antur Di-wifr: Canllaw Cynhwysfawr i IoT
Mae'r stagMae e yn ymwneud â chynhyrchion smart. Yn wahanol i gartrefi traddodiadol, mewn cartrefi smart, mae dyfeisiau IoT yn derbyn signalau gyda synwyryddion, ac yn cael eu rhwydweithio trwy dechnolegau cyfathrebu diwifr fel Wi-Fi, Bluetooth LE, a ZigBee. Gall defnyddwyr reoli cynhyrchion smart mewn amrywiaeth o ffyrdd, megis apps ffôn clyfar, cynorthwywyr llais, rheolaeth siaradwr smart, ac ati Yr ail stage canolbwyntio ar ryng-gysylltiad golygfa. Yn yr stage, nid yw datblygwyr bellach yn ystyried rheoli cynnyrch smart sengl, ond yn rhyng-gysylltu dau neu fwy o gynhyrchion smart, awtomeiddio i raddau, ac yn olaf ffurfio modd golygfa arferol. Am gynampLe, pan fydd y defnyddiwr yn pwyso unrhyw botwm modd golygfa, bydd y goleuadau, y llenni, a'r cyflyrwyr aer yn cael eu haddasu'n awtomatig i'r rhagosodiadau. Wrth gwrs, mae'n hanfodol bod y rhesymeg cysylltu yn cael ei sefydlu'n hawdd, gan gynnwys amodau sbarduno a chamau gweithredu. Dychmygwch fod y modd gwresogi aerdymheru yn cael ei sbarduno pan fydd y tymheredd dan do yn disgyn o dan 10 ° C; bod cerddoriaeth yn cael ei chwarae am 7 o'r gloch y bore i ddeffro'r defnyddiwr, bod llenni smart yn cael eu hagor, ac mae'r popty reis neu'r tostiwr bara yn cychwyn trwy soced smart; wrth i'r defnyddiwr godi a gorffen golchi, mae brecwast eisoes yn cael ei weini, fel na fydd unrhyw oedi cyn mynd i'r gwaith. Mor gyfleus yw ein bywyd ni ! Y trydydd stage mynd i ddeallusrwydd stage. Wrth i fwy o ddyfeisiau cartref clyfar gael eu cyrchu, felly hefyd y mathau o ddata a gynhyrchir. Gyda chymorth cyfrifiadura cwmwl, data mawr a deallusrwydd artiffisial, mae fel bod “ymennydd callach” wedi'i blannu mewn cartrefi craff, nad oes angen gorchmynion aml gan y defnyddiwr arnynt mwyach. Maent yn casglu data o ryngweithio blaenorol ac yn dysgu patrymau ymddygiad a hoffterau'r defnyddiwr, er mwyn awtomeiddio gweithgareddau, gan gynnwys darparu argymhellion ar gyfer gwneud penderfyniadau. Ar hyn o bryd, mae'r rhan fwyaf o gartrefi smart yn y lleoliad rhyng-gysylltiadau stage. Wrth i gyfradd treiddiad a gwybodaeth cynhyrchion clyfar gynyddu, mae rhwystrau rhwng protocolau cyfathrebu yn cael eu dileu. Yn y dyfodol, mae cartrefi craff yn sicr o ddod yn “glyfar” mewn gwirionedd, yn union fel y system AI Jarvis yn Iron Man, a all nid yn unig helpu'r defnyddiwr i reoli dyfeisiau amrywiol, trin materion dyddiol, ond sydd hefyd â phwer uwch-gyfrifiadura a gallu meddwl. Yn y deallus stage, bydd bodau dynol yn derbyn gwell gwasanaethau o ran maint ac ansawdd.
Pennod 1. Cyflwyniad i IoT 7
8 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Pennod Cyflwyniad ac Arfer 2 Brosiect IoT
Ym Mhennod 1, fe wnaethom gyflwyno pensaernïaeth IoT, a rolau a rhyngberthnasoedd yr haen canfyddiad a rheolaeth, haen rhwydwaith, haen platfform, a haen cymhwyso, yn ogystal â datblygiad cartref craff. Fodd bynnag, yn union fel pan fyddwn yn dysgu paentio, mae gwybod y wybodaeth ddamcaniaethol ymhell o fod yn ddigon. Mae'n rhaid i ni “gael ein dwylo'n fudr” i roi prosiectau IoT ar waith er mwyn meistroli'r dechnoleg yn wirioneddol. Yn ogystal, pan fydd prosiect yn symud i'r cynhyrchiad màs stage, mae angen ystyried mwy o ffactorau megis cysylltiad rhwydwaith, cyfluniad, rhyngweithio llwyfan cwmwl IoT, rheoli firmware a diweddariadau, rheoli cynhyrchu màs, a chyfluniad diogelwch. Felly, beth sydd angen i ni roi sylw iddo wrth ddatblygu prosiect IoT cyflawn? Ym Mhennod 1, soniasom fod cartref smart yn un o'r senarios cais IoT mwyaf cyffredin, ac mae goleuadau smart yn un o'r offer mwyaf sylfaenol ac ymarferol, y gellir eu defnyddio mewn cartrefi, gwestai, campfeydd, ysbytai, ac ati. y llyfr hwn, byddwn yn cymryd adeiladu prosiect golau smart fel y man cychwyn, yn esbonio ei gydrannau a'i nodweddion, ac yn darparu arweiniad ar ddatblygu prosiect. Gobeithiwn y gallwch ddod i gasgliadau o'r achos hwn i greu mwy o gymwysiadau IoT.
2.1 Cyflwyniad i Brosiectau IoT Nodweddiadol
O ran datblygiad, gellir dosbarthu modiwlau swyddogaethol sylfaenol prosiectau IoT yn ddatblygiad meddalwedd a chaledwedd dyfeisiau IoT, datblygu cymwysiadau cleientiaid, a datblygu platfform cwmwl IoT. Mae'n bwysig egluro'r modiwlau swyddogaethol sylfaenol, a fydd yn cael eu disgrifio ymhellach yn yr adran hon.
2.1.1 Modiwlau Sylfaenol ar gyfer Dyfeisiau IoT Cyffredin
Mae datblygu meddalwedd a chaledwedd dyfeisiau IoT yn cynnwys y modiwlau sylfaenol canlynol: Casglu data
Fel haen waelod pensaernïaeth IoT, mae dyfeisiau IoT yr haen canfyddiad a rheolaeth yn cysylltu synwyryddion a dyfeisiau trwy eu sglodion a'u perifferolion i gyflawni casglu data a rheoli gweithrediad.
9
Rhwymo cyfrif a chyfluniad cychwynnol Ar gyfer y rhan fwyaf o ddyfeisiau IoT, cwblheir rhwymo cyfrif a ffurfweddiad cychwynnol mewn un broses weithredol, ar gyfer example, cysylltu dyfeisiau â defnyddwyr trwy ffurfweddu rhwydwaith Wi-Fi.
Rhyngweithio â llwyfannau cwmwl IoT Er mwyn monitro a rheoli dyfeisiau IoT, mae hefyd angen eu cysylltu â llwyfannau cwmwl IoT, er mwyn rhoi gorchmynion a statws adrodd trwy ryngweithio rhwng ei gilydd.
Rheoli dyfeisiau Pan fyddant wedi'u cysylltu â llwyfannau cwmwl IoT, gall dyfeisiau gyfathrebu â'r cwmwl a chael eu cofrestru, eu rhwymo neu eu rheoli. Gall defnyddwyr gwestiynu statws cynnyrch a chyflawni gweithrediadau eraill ar yr ap ffôn clyfar trwy lwyfannau cwmwl IoT neu brotocolau cyfathrebu lleol.
Gall dyfeisiau IoT uwchraddio cadarnwedd hefyd gyflawni uwchraddio firmware yn seiliedig ar anghenion gweithgynhyrchwyr. Trwy dderbyn gorchmynion a anfonwyd gan y cwmwl, bydd uwchraddio firmware a rheoli fersiwn yn cael eu gwireddu. Gyda'r nodwedd uwchraddio firmware hon, gallwch chi wella swyddogaethau dyfeisiau IoT yn barhaus, trwsio diffygion, a gwella profiad y defnyddiwr.
2.1.2 Modiwlau Sylfaenol Cymwysiadau Cleientiaid
Mae cymwysiadau cleient (ee, apiau ffôn clyfar) yn cynnwys y modiwlau sylfaenol canlynol yn bennaf:
System ac awdurdodiad cyfrif Mae'n cefnogi awdurdodi cyfrif a dyfais.
Rheoli dyfeisiau Mae gan apiau ffôn clyfar swyddogaethau rheoli fel arfer. Gall defnyddwyr gysylltu â dyfeisiau IoT yn hawdd, a'u rheoli unrhyw bryd, unrhyw le trwy apiau ffôn clyfar. Mewn cartref craff yn y byd go iawn, mae dyfeisiau'n cael eu rheoli'n bennaf trwy apiau ffôn clyfar, sydd nid yn unig yn galluogi rheolaeth ddeallus o ddyfeisiau, ond hefyd yn arbed cost gweithlu. Felly, mae rheolaeth dyfais yn hanfodol ar gyfer cymwysiadau cleientiaid, megis rheoli nodweddion swyddogaeth dyfais, rheoli golygfa, amserlennu, rheolaeth bell, cysylltiad dyfais, ac ati Gall defnyddwyr cartref craff hefyd addasu golygfeydd yn ôl anghenion personol, rheoli goleuadau, offer cartref, mynedfa , ac ati, i wneud bywyd cartref yn fwy cyfforddus a chyfleus. Gallant amseru aerdymheru, ei ddiffodd o bell, gosod golau'r cyntedd ymlaen yn awtomatig unwaith y bydd y drws wedi'i ddatgloi, neu newid i'r modd “theatr” gydag un botwm sengl.
Hysbysu Mae cymwysiadau cleient yn diweddaru statws amser real dyfeisiau IoT, ac yn anfon rhybuddion pan fydd dyfeisiau'n mynd yn annormal.
10 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Gall apiau ffôn clyfar gwasanaeth cwsmeriaid ôl-werthu ddarparu gwasanaethau ôl-werthu ar gyfer cynhyrchion, i ddatrys problemau sy'n ymwneud â methiannau dyfeisiau IoT a gweithrediadau technegol mewn modd amserol.
Swyddogaethau dan sylw Er mwyn diwallu anghenion gwahanol ddefnyddwyr, gellir ychwanegu swyddogaethau eraill, megis Shake, NFC, GPS, ac ati Gall GPS helpu i osod cywirdeb gweithrediadau golygfa yn ôl lleoliad a phellter, tra bod y swyddogaeth Shake yn caniatáu i ddefnyddwyr osod y gorchmynion i'w gweithredu ar gyfer dyfais neu olygfa benodol trwy ysgwyd.
2.1.3 Cyflwyniad i Lwyfannau Cwmwl IoT Cyffredin
Mae platfform cwmwl IoT yn blatfform popeth-mewn-un sy'n integreiddio swyddogaethau fel rheoli dyfeisiau, cyfathrebu diogelwch data, a rheoli hysbysiadau. Yn ôl eu grŵp targed a hygyrchedd, gellir rhannu llwyfannau cwmwl IoT yn lwyfannau cwmwl IoT cyhoeddus (y cyfeirir atynt yma wedi hyn fel “cwmwl cyhoeddus”) a llwyfannau cwmwl IoT preifat (y cyfeirir ati yma wedi hyn fel “cwmwl preifat”).
Mae cwmwl cyhoeddus fel arfer yn nodi llwyfannau cwmwl IoT a rennir ar gyfer mentrau neu unigolion, sy'n cael eu gweithredu a'u cynnal gan ddarparwyr platfformau, a'u rhannu trwy'r Rhyngrwyd. Gall fod yn rhad ac am ddim neu'n gost isel, ac mae'n darparu gwasanaethau ledled y rhwydwaith cyhoeddus agored, megis Alibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT, ac ati Fel llwyfan ategol, gall cwmwl cyhoeddus integreiddio darparwyr gwasanaeth i fyny'r afon a defnyddwyr terfynol i lawr yr afon i greu cadwyn werth ac ecosystem newydd.
Mae cwmwl preifat wedi'i adeiladu at ddefnydd menter yn unig, gan warantu'r rheolaeth orau dros ddata, diogelwch ac ansawdd gwasanaeth. Mae ei wasanaethau a'i seilwaith yn cael eu cynnal ar wahân gan fentrau, ac mae'r caledwedd a'r meddalwedd ategol hefyd yn ymroddedig i ddefnyddwyr penodol. Gall mentrau addasu gwasanaethau cwmwl i ddiwallu anghenion eu busnes. Ar hyn o bryd, mae rhai gweithgynhyrchwyr cartrefi craff eisoes wedi cael llwyfannau cwmwl IoT preifat ac wedi datblygu cymwysiadau cartref craff yn seiliedig arnynt.
Mae gan gwmwl cyhoeddus a chwmwl preifat eu hadvan eu hunaintages, a fydd yn cael ei esbonio yn nes ymlaen.
Er mwyn cyflawni cysylltedd cyfathrebu, mae angen cwblhau o leiaf datblygiad wedi'i fewnosod ar ochr y ddyfais, ynghyd â gweinyddwyr busnes, llwyfannau cwmwl IoT, ac apiau ffôn clyfar. Yn wynebu prosiect mor enfawr, mae cwmwl cyhoeddus fel arfer yn darparu citiau datblygu meddalwedd ar gyfer apiau ochr dyfeisiau a ffonau clyfar i gyflymu'r broses. Mae cwmwl cyhoeddus a phreifat yn darparu gwasanaethau gan gynnwys mynediad i ddyfeisiau, rheoli dyfeisiau, cysgodi dyfeisiau, a gweithredu a chynnal a chadw.
Mynediad dyfais Mae angen i lwyfannau cwmwl IoT ddarparu nid yn unig rhyngwynebau ar gyfer mynediad dyfais gan ddefnyddio protocolau
Pennod 2. Cyflwyniad ac Arfer Prosiectau IoT 11
megis MQTT, CoAP, HTTPS, a WebSoced, ond hefyd swyddogaeth dilysu diogelwch dyfeisiau i rwystro dyfeisiau ffug ac anghyfreithlon, gan leihau'r risg o gael eu peryglu yn effeithiol. Mae dilysu o'r fath fel arfer yn cefnogi gwahanol fecanweithiau, felly pan fydd dyfeisiau'n cael eu masgynhyrchu, mae angen rhag-neilltuo tystysgrif y ddyfais yn ôl y mecanwaith dilysu a ddewiswyd a'i losgi i'r dyfeisiau.
Rheoli dyfeisiau Gall y swyddogaeth rheoli dyfeisiau a ddarperir gan lwyfannau cwmwl IoT nid yn unig helpu gweithgynhyrchwyr i fonitro statws actifadu a statws ar-lein eu dyfeisiau mewn amser real, ond hefyd yn caniatáu opsiynau megis ychwanegu / dileu dyfeisiau, adalw, ychwanegu / dileu grwpiau, uwchraddio firmware , a rheoli fersiynau.
Gall llwyfannau cwmwl IoT cysgodi dyfais greu fersiwn rithwir barhaus (cysgod dyfais) ar gyfer pob dyfais, a gall statws cysgod y ddyfais gael ei gydamseru a'i gael gan ap ffôn clyfar neu ddyfeisiau eraill trwy brotocolau trosglwyddo Rhyngrwyd. Mae cysgod dyfais yn storio'r statws adroddedig diweddaraf a statws disgwyliedig pob dyfais, a hyd yn oed os yw'r ddyfais all-lein, gall ddal i gael y statws trwy ffonio APIs. Mae cysgod dyfais yn darparu APIs bob amser, sy'n ei gwneud hi'n haws adeiladu apiau ffôn clyfar sy'n rhyngweithio â dyfeisiau.
Gweithredu a chynnal a chadw Mae'r swyddogaeth O&M yn cynnwys tair agwedd: · Arddangos gwybodaeth ystadegol am ddyfeisiau a hysbysiadau IoT. · Mae rheoli log yn caniatáu adalw gwybodaeth am ymddygiad dyfais, llif negeseuon i fyny / i lawr, a chynnwys neges. · Mae dadfygio dyfais yn cefnogi cyflwyno gorchymyn, diweddaru cyfluniad, a gwirio'r rhyngweithio rhwng llwyfannau cwmwl IoT a negeseuon dyfais.
2.2 Ymarfer: Prosiect Golau Clyfar
Ar ôl y cyflwyniad damcaniaethol ym mhob pennod, fe welwch adran ymarfer yn ymwneud â'r prosiect Smart Light i'ch helpu i gael profiad ymarferol. Mae'r prosiect yn seiliedig ar sglodyn ESP32-C3 Espressif a Llwyfan Cwmwl IoT RainMaker ESP, ac mae'n cwmpasu caledwedd modiwl diwifr mewn cynhyrchion golau craff, meddalwedd wedi'i fewnosod ar gyfer dyfeisiau smart yn seiliedig ar ESP32C3, apps ffôn clyfar, a rhyngweithio ESP RainMaker.
Cod ffynhonnell Er mwyn dysgu a datblygu profiad gwell, mae'r prosiect yn y llyfr hwn wedi'i ffynhonnell agored. Gallwch chi lawrlwytho'r cod ffynhonnell o'n cadwrfa GitHub yn https://github. com/espressif/book-esp32c3-iot-prosiectau.
12 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
2.2.1 Strwythur y Prosiect
Mae'r prosiect Golau Clyfar yn cynnwys tair rhan: i. Dyfeisiau golau craff yn seiliedig ar ESP32-C3, sy'n gyfrifol am ryngweithio â llwyfannau cwmwl IoT, a rheoli switsh, disgleirdeb a thymheredd lliw y LED lamp gleiniau. ii. Apiau ffôn clyfar (gan gynnwys apiau llechen sy'n rhedeg ar Android ac iOS), sy'n gyfrifol am ffurfweddu rhwydwaith cynhyrchion golau clyfar, yn ogystal â holi a rheoli eu statws.
iii. Llwyfan cwmwl IoT yn seiliedig ar ESP RainMaker. Er mwyn symleiddio, rydym yn ystyried platfform cwmwl IoT a gweinydd busnes yn ei gyfanrwydd yn y llyfr hwn. Rhoddir manylion am ESP RainMaker ym Mhennod 3.
Dangosir yr ohebiaeth rhwng strwythur y prosiect Golau Clyfar a phensaernïaeth IoT yn Ffigur 2.1.
Ffigur 2.1. Strwythur y prosiect golau smart
2.2.2 Swyddogaethau Prosiect
Wedi'i rannu yn ôl y strwythur, mae swyddogaethau pob rhan fel a ganlyn. Dyfeisiau golau smart
· Cyfluniad rhwydwaith a chysylltiad. · Rheolaeth PWM LED, megis switsh, disgleirdeb, tymheredd lliw, ac ati. · Awtomatiaeth neu reolaeth olygfa, ee switsh amser. · Amgryptio a chist ddiogel y Flash. · Uwchraddio cadarnwedd a rheoli fersiynau.
Pennod 2. Cyflwyniad ac Arfer Prosiectau IoT 13
Apiau ffôn clyfar · Cyfluniad rhwydwaith a rhwymo dyfeisiau. · Rheolaeth glyfar ar gynnyrch golau, megis switsh, disgleirdeb, tymheredd lliw, ac ati. · Gosodiadau awtomeiddio neu olygfa, ee switsh amser. · Rheolaeth leol/o bell. · Cofrestru defnyddiwr, mewngofnodi, ac ati.
Llwyfan cwmwl ESP RainMaker IoT · Galluogi mynediad dyfais IoT. · Darparu API gweithredu dyfais sy'n hygyrch i apiau ffôn clyfar. · Uwchraddio cadarnwedd a rheoli fersiynau.
2.2.3 Paratoi Caledwedd
Os oes gennych ddiddordeb mewn rhoi'r prosiect ar waith, bydd angen y caledwedd canlynol arnoch hefyd: goleuadau smart, ffonau smart, llwybryddion Wi-Fi, a chyfrifiadur sy'n bodloni gofynion gosod yr amgylchedd datblygu. Goleuadau smart
Mae goleuadau smart yn fath newydd o fylbiau, y mae eu siâp yr un fath â'r bwlb gwynias cyffredinol. Mae golau smart yn cynnwys cyflenwad pŵer wedi'i reoleiddio cam-i-lawr cynhwysydd, modiwl diwifr (gydag ESP32-C3 adeiledig), rheolydd LED a matrics RGB LED. Pan fydd wedi'i gysylltu â phŵer, mae'r 15 V DC cyftage allbwn ar ôl cam-lawr cynhwysydd, cywiro deuod, a rheoleiddio yn darparu ynni i'r rheolydd LED a matrics LED. Gall y rheolydd LED anfon lefelau uchel ac isel yn awtomatig ar adegau penodol, gan newid y matrics RGB LED rhwng caeedig (goleuadau) ac agored (goleuadau i ffwrdd), fel y gall allyrru cyan, melyn, gwyrdd, porffor, glas, coch, a golau gwyn. Mae'r modiwl diwifr yn gyfrifol am gysylltu â'r llwybrydd Wi-Fi, derbyn ac adrodd am statws goleuadau smart, ac anfon gorchmynion i reoli'r LED.
Ffigur 2.2. Mae golau smart efelychiad
Yn y datblygiad cynnar stage, gallwch chi efelychu golau smart gan ddefnyddio'r bwrdd ESP32-C3DevKitM-1 sy'n gysylltiedig â RGB LED lamp gleiniau (gweler Ffigur 2.2). Ond dylech chi
14 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Sylwch nad dyma'r unig ffordd i gydosod golau smart. Mae dyluniad caledwedd y prosiect yn y llyfr hwn yn cynnwys modiwl diwifr yn unig (gydag ESP32-C3 adeiledig), ond nid dyluniad caledwedd golau smart cyflawn. Yn ogystal, mae Espressif hefyd yn cynhyrchu bwrdd datblygu sain ESP32-C3 ESP32C3-Lyra ar gyfer rheoli goleuadau gyda sain. Mae gan y bwrdd ryngwynebau ar gyfer meicroffonau a siaradwyr a gall reoli stribedi LED. Gellir ei ddefnyddio ar gyfer datblygu darlledwyr sain perfformiad uchel, cost isel iawn a stribedi golau rhythm. Mae Ffigur 2.3 yn dangos bwrdd ESP32-C3Lyra wedi'i gysylltu â stribed o 40 o oleuadau LED.
Ffigur 2.3. ESP32-C3-Lyra wedi'i gysylltu â stribed o 40 o oleuadau LED
Ffonau Clyfar (Android/iOS) Mae'r prosiect Smart Light yn ymwneud â datblygu ap ffôn clyfar ar gyfer sefydlu a rheoli cynhyrchion golau clyfar.
Llwybryddion Wi-Fi Mae llwybryddion Wi-Fi yn trosi signalau rhwydwaith gwifrau a signalau rhwydwaith symudol yn signalau rhwydwaith diwifr, ar gyfer cyfrifiaduron, ffonau smart, tabledi a dyfeisiau diwifr eraill i gysylltu â'r rhwydwaith. Am gynampLe, dim ond i lwybrydd Wi-Fi y mae angen cysylltu band eang yn y cartref er mwyn sicrhau bod dyfeisiau Wi-Fi yn rhwydweithio'n ddi-wifr. Y safon protocol prif ffrwd a gefnogir gan lwybryddion Wi-Fi yw IEEE 802.11n, gyda chyfradd TxRate o 300 Mbps ar gyfartaledd, neu 600 Mbps ar y mwyaf. Maent yn gydnaws yn ôl ag IEEE 802.11b ac IEEE 802.11g. Mae'r sglodyn ESP32-C3 gan Espressif yn cefnogi IEEE 802.11b/g/n, felly gallwch ddewis llwybrydd Wi-Fi un band (2.4 GHz) neu fand deuol (2.4 GHz a 5 GHz).
Cyflwynir amgylchedd datblygu cyfrifiaduron (Linux/macOS/Windows) ym Mhennod 4. Pennod 2. Cyflwyniad ac Arfer Prosiectau IoT 15
2.2.4 Proses Ddatblygu
Ffigur 2.4. Camau datblygu'r prosiect Golau Clyfar
Dylunio caledwedd Mae dylunio caledwedd dyfeisiau IoT yn hanfodol i brosiect IoT. Bwriedir prosiect golau smart cyflawn i gynhyrchu alamp gweithio o dan y prif gyflenwad. Mae gweithgynhyrchwyr gwahanol yn cynhyrchu lamps o wahanol arddulliau a mathau o yrwyr, ond mae eu modiwlau diwifr fel arfer o'r un swyddogaeth. Er mwyn symleiddio proses ddatblygu'r prosiect Smart Light, dim ond dylunio caledwedd a datblygu meddalwedd modiwlau diwifr y mae'r llyfr hwn yn ei gynnwys.
Cyfluniad platfform cwmwl IoT I ddefnyddio llwyfannau cwmwl IoT, mae angen i chi ffurfweddu prosiectau ar y backend, megis creu cynhyrchion, creu dyfeisiau, gosod priodweddau dyfais, ac ati.
Datblygu meddalwedd mewnosodedig ar gyfer dyfeisiau IoT Gweithredu swyddogaethau disgwyliedig gydag ESP-IDF, SDK ochr dyfais Espressif, gan gynnwys cysylltu â llwyfannau cwmwl IoT, datblygu gyrwyr LED, ac uwchraddio firmware.
Datblygu ap ffôn clyfar Datblygu apiau ffôn clyfar ar gyfer systemau Android ac iOS i wireddu cofrestriad a mewngofnodi defnyddwyr, rheoli dyfeisiau a swyddogaethau eraill.
Optimeiddio dyfeisiau IoT Unwaith y bydd datblygiad sylfaenol swyddogaethau dyfais IoT wedi'i gwblhau, gallwch droi at dasgau optimeiddio, megis optimeiddio pŵer.
Profi masgynhyrchu Cynnal profion masgynhyrchu yn unol â safonau cysylltiedig, megis prawf swyddogaeth offer, prawf heneiddio, prawf RF, ac ati.
Er gwaethaf y camau a restrir uchod, nid yw prosiect Golau Clyfar o reidrwydd yn ddarostyngedig i weithdrefn o'r fath oherwydd gellir cyflawni gwahanol dasgau ar yr un pryd hefyd. Am gynampLe, gellir datblygu meddalwedd wedi'i fewnosod ac apiau ffôn clyfar ochr yn ochr. Efallai y bydd angen ailadrodd rhai camau hefyd, megis optimeiddio dyfeisiau IoT a phrofi masgynhyrchu.
16 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
2.3 Crynodeb
Yn y bennod hon, fe wnaethom esbonio yn gyntaf gydrannau sylfaenol a modiwlau swyddogaethol prosiect IoT, yna cyflwyno'r achos Smart Light ar gyfer ymarfer, gan gyfeirio at ei strwythur, swyddogaethau, paratoi caledwedd, a phroses datblygu. Gall darllenwyr ddod i gasgliadau o'r arfer a dod yn hyderus i gyflawni prosiectau IoT heb fawr o gamgymeriadau yn y dyfodol.
Pennod 2. Cyflwyniad ac Arfer Prosiectau IoT 17
18 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Pennod 3
Rhagymadrodd
i
ESP
Gwneuthurwr Glaw
Mae Rhyngrwyd Pethau (IoT) yn cynnig posibiliadau diddiwedd i newid y ffordd y mae pobl yn byw, ac eto mae datblygiad peirianneg IoT yn llawn heriau. Gyda chymylau cyhoeddus, gall gweithgynhyrchwyr terfynell weithredu ymarferoldeb cynnyrch trwy'r atebion canlynol:
Yn seiliedig ar lwyfannau cwmwl darparwyr datrysiadau Yn y modd hwn, dim ond caledwedd y cynnyrch y mae angen i weithgynhyrchwyr terfynell ei ddylunio, yna cysylltu'r caledwedd i'r cwmwl gan ddefnyddio modiwl cyfathrebu a ddarperir, a ffurfweddu swyddogaethau'r cynnyrch gan ddilyn y canllawiau. Mae hwn yn ddull effeithlon gan ei fod yn dileu'r angen am ddatblygiad a gweithrediadau a chynnal a chadw ochr y gweinydd ac ochr y cais (O&M). Mae'n caniatáu i weithgynhyrchwyr terfynell ganolbwyntio ar ddylunio caledwedd heb orfod ystyried gweithredu cwmwl. Fodd bynnag, yn gyffredinol nid yw datrysiadau o'r fath (ee, firmware dyfais ac App) yn ffynhonnell agored, felly bydd swyddogaethau'r cynnyrch yn cael eu cyfyngu gan lwyfan cwmwl y darparwr na ellir ei addasu. Yn y cyfamser, mae'r data defnyddiwr a dyfais hefyd yn perthyn i'r llwyfan cwmwl.
Yn seiliedig ar gynhyrchion cwmwl Yn yr ateb hwn, ar ôl cwblhau'r dyluniad caledwedd, nid yn unig y mae angen i weithgynhyrchwyr terfynell weithredu swyddogaethau cwmwl gan ddefnyddio un neu fwy o gynhyrchion cwmwl a ddarperir gan y cwmwl cyhoeddus, ond mae angen iddynt hefyd gysylltu'r caledwedd â'r cwmwl. Am gynample, i gysylltu ag Amazon Web Gwasanaethau (AWS), mae angen i weithgynhyrchwyr terfynell ddefnyddio cynhyrchion AWS fel Amazon API Gateway, AWS IoT Core, ac AWS Lambda i alluogi mynediad dyfais, rheolaeth bell, storio data, rheoli defnyddwyr, a swyddogaethau sylfaenol eraill. Mae nid yn unig yn gofyn i weithgynhyrchwyr terfynell ddefnyddio a ffurfweddu cynhyrchion cwmwl yn hyblyg gyda dealltwriaeth fanwl a phrofiad cyfoethog, ond mae hefyd yn ei gwneud yn ofynnol iddynt ystyried y gost adeiladu a chynnal a chadw ar gyfer s cychwynnol a diweddarach.tags Mae hyn yn gosod heriau mawr i egni ac adnoddau'r cwmni.
O'i gymharu â chymylau cyhoeddus, mae cymylau preifat fel arfer yn cael eu hadeiladu ar gyfer prosiectau a chynhyrchion penodol. Mae datblygwyr cwmwl preifat yn cael y lefel uchaf o ryddid wrth ddylunio protocol a gweithredu rhesymeg busnes. Gall gweithgynhyrchwyr terfynell wneud cynhyrchion a chynlluniau dylunio yn ôl ewyllys, ac integreiddio a grymuso data defnyddwyr yn hawdd. Cyfuno diogelwch uchel, scalability a dibynadwyedd cwmwl cyhoeddus gyda'r advantages o gwmwl preifat, lansiodd Espressif ESP
19
RainMaker, datrysiad cwmwl preifat integredig dwfn yn seiliedig ar gwmwl Amazon. Gall defnyddwyr ddefnyddio ESP RainMaker ac adeiladu cwmwl preifat yn syml gyda chyfrif AWS.
3.1 Beth yw ESP RainMaker?
Mae ESP RainMaker yn blatfform AIoT cyflawn wedi'i adeiladu gyda chynhyrchion AWS aeddfed lluosog. Mae'n darparu gwasanaethau amrywiol sy'n ofynnol ar gyfer cynhyrchu màs megis mynediad cwmwl dyfeisiau, uwchraddio dyfeisiau, rheoli backend, mewngofnodi trydydd parti, integreiddio llais, a rheoli defnyddwyr. Trwy ddefnyddio'r Storfa Gymhwysiad Di-weinydd (SAR) a ddarperir gan AWS, gall gweithgynhyrchwyr terfynell ddefnyddio ESP RainMaker yn gyflym i'w cyfrifon AWS, sy'n amser-effeithlon ac yn hawdd i'w gweithredu. Wedi'i reoli a'i gynnal gan Espressif, mae'r SAR a ddefnyddir gan ESP RainMaker yn helpu datblygwyr i leihau costau cynnal a chadw cwmwl a chyflymu datblygiad cynhyrchion AIoT, gan adeiladu datrysiadau AIoT diogel, sefydlog ac addasadwy. Mae Ffigur 3.1 yn dangos pensaernïaeth ESP RainMaker.
Ffigur 3.1. Pensaernïaeth ESP RainMaker
Mae gweinydd cyhoeddus ESP RainMaker gan Espressif yn rhad ac am ddim i holl selogion, gwneuthurwyr ac addysgwyr ESP ar gyfer gwerthuso datrysiadau. Gall datblygwyr fewngofnodi gyda chyfrifon Apple, Google, neu GitHub, ac adeiladu eu prototeipiau cais IoT eu hunain yn gyflym. Mae'r gweinydd cyhoeddus yn integreiddio Alexa a Google Home, ac yn darparu gwasanaethau rheoli llais, a gefnogir gan Alexa Skill a Google Actions. Mae ei swyddogaeth cydnabod semantig hefyd yn cael ei bweru gan drydydd partïon. Mae dyfeisiau IoT RainMaker yn ymateb i gamau gweithredu penodol yn unig. Am restr gynhwysfawr o orchmynion llais a gefnogir, gwiriwch y llwyfannau trydydd parti. Yn ogystal, mae Espressif yn cynnig App RainMaker cyhoeddus i ddefnyddwyr reoli'r cynhyrchion trwy ffonau smart. 20 Antur Diwifr ESP32-C3: Canllaw Cynhwysfawr i IoT
3.2 Gweithredu RainMaker ESP
Fel y dangosir yn Ffigur 3.2, mae ESP RainMaker yn cynnwys pedair rhan: · Y Gwasanaeth Hawlio, sy'n galluogi dyfeisiau RainMaker i gael tystysgrifau yn ddeinamig. · RainMaker Cloud (a elwir hefyd yn backend cwmwl), sy'n darparu gwasanaethau fel hidlo negeseuon, rheoli defnyddwyr, storio data, ac integreiddiadau trydydd parti. · Asiant RainMaker, sy'n galluogi dyfeisiau RainMaker i gysylltu â RainMaker Cloud. · Cleient RainMaker (App RainMaker neu sgriptiau CLI), ar gyfer darparu, creu defnyddwyr, cysylltu a rheoli dyfeisiau, ac ati.
Ffigur 3.2. Strwythur ESP RainMaker
Mae ESP RainMaker yn darparu set gyflawn o offer ar gyfer datblygu cynnyrch a chynhyrchu màs, gan gynnwys: RainMaker SDK
Mae RainMaker SDK wedi'i seilio ar ESP-IDF ac mae'n darparu cod ffynhonnell asiant ochr y ddyfais a C APIs cysylltiedig ar gyfer datblygu firmware. Nid oes ond angen i ddatblygwyr ysgrifennu rhesymeg y cais a gadael y gweddill i fframwaith RainMaker. I gael rhagor o wybodaeth am C APIs, ewch i https://bookc3.espressif.com/rm/c-api-reference. App RainMaker Mae'r fersiwn cyhoeddus o RainMaker App yn galluogi datblygwyr i gwblhau darpariaeth dyfeisiau, a rheoli a chwestiynu statws dyfeisiau (ee, cynhyrchion goleuo craff). Mae ar gael ar siopau app iOS ac Android. Am ragor o fanylion, cyfeiriwch at Bennod 10. APIs REST Mae APIs REST yn helpu defnyddwyr i adeiladu eu rhaglenni eu hunain yn debyg i'r RainMaker App. Am ragor o wybodaeth, ewch i https://swaggerapis.rainmaker.espressif.com/.
Pennod 3. Cyflwyniad i ESP RainMaker 21
APIs Python Darperir CLI sy'n seiliedig ar Python, sy'n dod gyda'r RainMaker SDK, i weithredu'r holl swyddogaethau tebyg i nodweddion ffôn clyfar. I gael rhagor o wybodaeth am APIs Python, ewch i https://bookc3.espressif.com/rm/python-api-reference.
Gweinyddol CLI Admin CLI, gyda lefel uwch o fynediad, yn cael ei ddarparu ar gyfer defnydd preifat ESP RainMaker i gynhyrchu tystysgrifau dyfais mewn swmp.
3.2.1 Gwasanaeth Hawlio
Mae'r holl gyfathrebu rhwng dyfeisiau RainMaker a chefn y cwmwl yn cael ei wneud trwy MQTT + TLS. Yng nghyd-destun ESP RainMaker, “Hawlio” yw'r broses lle mae dyfeisiau'n cael tystysgrifau gan y Gwasanaeth Hawlio i gysylltu â chefn y cwmwl. Sylwch fod y Gwasanaeth Hawlio yn berthnasol i'r gwasanaeth RainMaker cyhoeddus yn unig, tra ar gyfer defnydd preifat, mae angen cynhyrchu'r tystysgrifau dyfais mewn swmp trwy Admin CLI. Mae ESP RainMaker yn cefnogi tri math o Wasanaeth Hawlio: Hunan-Hawlio
Mae'r ddyfais ei hun yn nôl y tystysgrifau trwy allwedd gyfrinachol sydd wedi'i rhag-raglennu yn eFuse ar ôl cysylltu â'r Rhyngrwyd. Hawlio Wedi'i Gyrru gan y Gwesteiwr Mae'r tystysgrifau'n cael eu sicrhau gan y gwesteiwr datblygu gyda'r cyfrif RainMaker. Hawlio â Chymorth Ceir y tystysgrifau trwy gymwysiadau ffôn clyfar yn ystod y ddarpariaeth.
3.2.2 Asiant RainMaker
Ffigur 3.3. Strwythur SDK RainMaker Prif swyddogaeth yr Asiant RainMaker yw darparu cysylltedd a chynorthwyo'r haen cymhwysiad i brosesu data cwmwl uplink/downlink. Mae wedi'i adeiladu trwy'r RainMaker SDK 22 Antur Diwifr ESP32-C3: Canllaw Cynhwysfawr i IoT
ac a ddatblygwyd yn seiliedig ar y fframwaith ESP-IDF profedig, gan ddefnyddio cydrannau ESP-IDF megis RTOS, NVS, a MQTT. Mae Ffigur 3.3 yn dangos strwythur y SDK RainMaker.
Mae'r SDK RainMaker yn cynnwys dwy nodwedd fawr.
Cysylltiad
ff. Cydweithredu â'r Gwasanaeth Hawlio i gael tystysgrifau dyfais.
ii. Cysylltu â backend y cwmwl gan ddefnyddio'r protocol MQTT diogel i ddarparu cysylltedd o bell a gweithredu rheolaeth bell, adrodd negeseuon, rheoli defnyddwyr, rheoli dyfeisiau, ac ati Mae'n defnyddio'r gydran MQTT yn ESP-IDF yn ddiofyn ac yn darparu haen tynnu i ryngwynebu ag eraill staciau protocol.
iii. Darparu elfen darparu wifi ar gyfer cysylltiad a darpariaeth Wi-Fi, esp https ota cydran ar gyfer uwchraddio OTA, ac esp cydran ctrl leol ar gyfer darganfod dyfeisiau lleol a chysylltu. Gellir cyflawni'r holl amcanion hyn trwy gyfluniad syml.
Prosesu data
ff. Storio'r tystysgrifau dyfais a gyhoeddwyd gan y Gwasanaeth Hawlio a'r data sydd ei angen wrth redeg RainMaker, yn ddiofyn gan ddefnyddio'r rhyngwyneb a ddarperir gan y gydran fflach nvs, a darparu APIs i ddatblygwyr i'w defnyddio'n uniongyrchol.
ii. Defnyddio'r mecanwaith galw'n ôl i brosesu data cwmwl uplink/downlink a dadflocio'r data yn awtomatig i'r haen cymhwysiad i'w brosesu'n hawdd gan ddatblygwyr. Am gynampLe, mae'r RainMaker SDK yn darparu rhyngwynebau cyfoethog ar gyfer sefydlu data TSL (Iaith Manyleb Peth), sy'n ofynnol i ddiffinio modelau TSL i ddisgrifio dyfeisiau IoT a gweithredu swyddogaethau megis amseru, cyfrif i lawr, a rheoli llais. Ar gyfer nodweddion rhyngweithiol sylfaenol fel amseru, mae RainMaker SDK yn darparu datrysiad di-ddatblygiad y gellir ei alluogi yn syml pan fo angen. Yna, bydd yr Asiant RainMaker yn prosesu'r data yn uniongyrchol, yn ei anfon i'r cwmwl trwy'r pwnc MQTT cysylltiedig, ac yn bwydo'r newidiadau data yn ôl-ben y cwmwl trwy fecanwaith galw'n ôl.
3.2.3 Backend Cwmwl
Mae backend y cwmwl wedi'i adeiladu ar AWS Serverless Computing a'i gyflawni trwy AWS Cognito (system rheoli hunaniaeth), Amazon API Gateway, AWS Lambda (gwasanaeth cyfrifiadura di-weinydd), Amazon DynamoDB (cronfa ddata NoSQL), AWS IoT Core (craidd mynediad IoT sy'n darparu mynediad MQTT a hidlo rheolau), Gwasanaeth E-bost Syml Amazon (gwasanaeth post syml SES), Amazon CloudFront (rhwydwaith dosbarthu cyflym), Gwasanaeth Ciw Syml Amazon (ciwio neges SQS), ac Amazon S3 (gwasanaeth storio bwced). Ei nod yw gwneud y gorau o scalability a diogelwch. Gydag ESP RainMaker, gall datblygwyr reoli dyfeisiau heb orfod ysgrifennu cod yn y cwmwl. Mae negeseuon a adroddir gan ddyfeisiau yn cael eu trosglwyddo'n dryloyw i
Pennod 3. Cyflwyniad i ESP RainMaker 23
cleientiaid cais neu wasanaethau trydydd parti eraill. Mae Tabl 3.1 yn dangos cynhyrchion a swyddogaethau cwmwl AWS a ddefnyddir yng nghefn y cwmwl, gyda mwy o gynhyrchion a nodweddion yn cael eu datblygu.
Tabl 3.1. Cynhyrchion a swyddogaethau cwmwl AWS a ddefnyddir gan gefn y cwmwl
Cynnyrch Cwmwl AWS a Ddefnyddir gan RainMaker
Swyddogaeth
AWS Cognito
Rheoli tystlythyrau defnyddwyr a chefnogi mewngofnodi trydydd parti
AWS Lambda
Gweithredu rhesymeg busnes craidd backend y cwmwl
Amazon Timestream Storio data cyfres amser
Amazon DynamoDB Yn storio gwybodaeth breifat cwsmeriaid
Craidd IoT AWS
Cefnogi cyfathrebu MQTT
Amazon SES
Darparu gwasanaethau anfon e-bost
Amazon CloudFront Cyflymu rheolaeth backend webmynediad i'r safle
SQS Amazon
Anfon negeseuon ymlaen o AWS IoT Core
3.2.4 Cleient RainMaker
Mae cleientiaid RainMaker, fel App a CLI, yn cyfathrebu â chefnlen y cwmwl trwy REST APIs. Gellir dod o hyd i wybodaeth fanwl a chyfarwyddiadau am REST APIs yn y ddogfennaeth Swagger a ddarparwyd gan Espressif. Mae cleient cymhwysiad symudol RainMaker ar gael ar gyfer systemau iOS ac Android. Mae'n caniatáu darparu, rheoli a rhannu dyfeisiau, yn ogystal â chreu a galluogi tasgau cyfrif i lawr a chysylltu â llwyfannau trydydd parti. Gall lwytho UI ac eiconau yn awtomatig yn ôl y cyfluniad a adroddwyd gan y dyfeisiau ac arddangos TSL y ddyfais yn llawn.
Am gynample, os yw golau smart yn cael ei adeiladu ar y RainMaker SDK a ddarperir examples, bydd eicon a UI y golau bwlb yn cael eu llwytho'n awtomatig pan fydd y ddarpariaeth wedi'i chwblhau. Gall defnyddwyr newid lliw a disgleirdeb y golau trwy'r rhyngwyneb a chyflawni rheolaeth trydydd parti trwy gysylltu Alexa Smart Home Skill neu Google Smart Home Actions â'u cyfrifon ESP RainMaker. Mae Ffigur 3.4 yn dangos yr eicon a'r UI exampllai o'r golau bwlb yn y drefn honno ar Alexa, Google Home, ac ESP RainMaker App.
24 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
(a) Example - Alexa
(b) Example – Cartref Google
(c) Example – ESP RainMaker
Ffigur 3.4. Exampllai o eicon a UI y golau bwlb ar Alexa, Google Home, ac ESP RainMaker App
3.3 Arfer: Pwyntiau Allweddol ar gyfer Datblygu gyda ESP RainMaker
Unwaith y bydd haen gyrrwr y ddyfais wedi'i chwblhau, gall datblygwyr ddechrau creu modelau TSL a phrosesu data downlink gan ddefnyddio'r APIs a ddarperir gan RainMaker SDK, a galluogi gwasanaethau sylfaenol ESP RainMaker yn seiliedig ar ddiffiniad a gofynion y cynnyrch.
Pennod 3. Cyflwyniad i ESP RainMaker 25
Bydd Adran 9.4 y llyfr hwn yn esbonio gweithrediad y golau smart LED yn RainMaker. Yn ystod dadfygio, gall datblygwyr ddefnyddio'r offer CLI yn y RainMaker SDK i gyfathrebu â'r golau craff (neu ffoniwch REST APIs gan Swagger).
Bydd Pennod 10 yn ymhelaethu ar y defnydd o REST APIs wrth ddatblygu cymwysiadau ffôn clyfar. Ymdrinnir ag uwchraddio OTA o oleuadau smart LED ym Mhennod 11. Os yw datblygwyr wedi galluogi monitro o bell ESP Insights, bydd backend rheoli RainMaker ESP yn arddangos data ESP Insights. Cyflwynir y manylion ym Mhennod 15.
Mae ESP RainMaker yn cefnogi defnydd preifat, sy'n wahanol i weinydd cyhoeddus RainMaker yn y ffyrdd canlynol:
Gwasanaeth Hawlio Er mwyn cynhyrchu tystysgrifau mewn lleoliadau preifat, mae'n ofynnol defnyddio CLI Gweinyddol RainMaker yn lle Hawlio. Gyda gweinydd cyhoeddus, rhaid rhoi hawliau gweinyddol i ddatblygwyr weithredu uwchraddio cadarnwedd, ond mae'n annymunol mewn gosodiadau masnachol. Felly, ni ellir darparu gwasanaeth dilysu ar wahân ar gyfer hunan-hawlio, na hawliau gweinyddol ar gyfer hawlio a yrrir gan westeiwr neu hawlio cymorth.
Apiau ffôn Mewn gosodiadau preifat, mae angen ffurfweddu rhaglenni a'u llunio ar wahân i sicrhau nad yw'r systemau cyfrif yn rhyngweithredol.
Mewngofnodi trydydd parti ac integreiddio llais Mae'n rhaid i ddatblygwyr ffurfweddu ar wahân trwy gyfrifon Google ac Apple Developer i alluogi mewngofnodi trydydd parti, yn ogystal ag integreiddio Alexa Skill a Chynorthwyydd Llais Google.
AWGRYMIADAU I gael manylion am ddefnyddio cwmwl, ewch i https://customer.rainmaker.espressif. com. O ran firmware, dim ond amnewid tystysgrifau dyfais y mae mudo o weinydd cyhoeddus i weinydd preifat, sy'n gwella effeithlonrwydd mudo yn fawr ac yn lleihau cost mudo a difa chwilod eilaidd.
3.4 Nodweddion ESP RainMaker
Mae nodweddion ESP RainMaker wedi'u targedu'n bennaf at dair agwedd - rheoli defnyddwyr, defnyddwyr terfynol, a gweinyddwyr. Cefnogir yr holl nodweddion mewn gweinyddwyr cyhoeddus a phreifat oni nodir yn wahanol.
3.4.1 Rheoli Defnyddwyr
Mae'r nodweddion rheoli defnyddwyr yn caniatáu i ddefnyddwyr terfynol gofrestru, mewngofnodi, newid cyfrineiriau, adalw cyfrineiriau, ac ati.
26 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Cofrestru a mewngofnodi Mae'r dulliau cofrestru a mewngofnodi a gefnogir gan RainMaker yn cynnwys: · ID e-bost + Cyfrinair · Rhif ffôn + Cyfrinair · Cyfrif Google · Cyfrif Apple · Cyfrif GitHub (gweinydd cyhoeddus yn unig) · Cyfrif Amazon (gweinydd preifat yn unig)
NODYN Cofrestrwch gan ddefnyddio Google/Amazon yn rhannu cyfeiriad e-bost y defnyddiwr gyda RainMaker. Cofrestrwch gan ddefnyddio Apple yn rhannu cyfeiriad ffug y mae Apple yn ei neilltuo ar gyfer y defnyddiwr yn benodol ar gyfer y gwasanaeth RainMaker. Bydd cyfrif RainMaker yn cael ei greu yn awtomatig ar gyfer defnyddwyr sy'n mewngofnodi gyda chyfrif Google, Apple, neu Amazon am y tro cyntaf.
Newid cyfrinair Yn ddilys ar gyfer mewngofnodi e-bost/rhif ffôn yn unig. Bydd yr holl sesiynau gweithredol eraill yn cael eu hallgofnodi ar ôl i'r cyfrinair gael ei newid. Yn unol ag ymddygiad Cognito AWS, gall y sesiynau allgofnodi aros yn actif hyd at 1 awr.
Adalw cyfrinair Yn ddilys ar gyfer mewngofnodi e-bost/rhif ffôn yn unig.
3.4.2 Nodweddion Defnyddiwr Terfynol
Ymhlith y nodweddion sy'n agored i ddefnyddwyr terfynol mae rheolaeth a monitro lleol ac o bell, amserlennu, grwpio dyfeisiau, rhannu dyfeisiau, hysbysiadau gwthio, ac integreiddiadau trydydd parti.
Rheoli a monitro o bell · Cyfluniad ymholiad, gwerthoedd paramedr, a statws cysylltiad un neu bob dyfais. · Gosod paramedrau ar gyfer dyfeisiau sengl neu lluosog.
Rheoli a monitro lleol Mae angen cysylltu ffôn symudol a'r ddyfais â'r un rhwydwaith ar gyfer rheolaeth leol.
Amserlennu · Mae defnyddwyr yn rhag-osod rhai gweithredoedd ar amser penodol. · Nid oes angen cysylltiad Rhyngrwyd ar gyfer y ddyfais wrth weithredu'r amserlen. · Un tro neu ailadrodd (drwy nodi dyddiau) ar gyfer dyfeisiau sengl neu luosog.
Grwpio dyfeisiau Yn cefnogi grwpio haniaethol aml-lefel Gellir defnyddio metadata grŵp i greu strwythur Ystafell Gartref.
Pennod 3. Cyflwyniad i ESP RainMaker 27
Rhannu dyfeisiau Gellir rhannu un neu fwy o ddyfeisiau ag un neu fwy o ddefnyddwyr.
Hysbysiadau gwthio Bydd defnyddwyr terfynol yn derbyn hysbysiadau gwthio ar gyfer digwyddiadau megis · Dyfais(au) newydd wedi'u hychwanegu / eu tynnu · Dyfais wedi'i chysylltu â'r cwmwl · Dyfais wedi'i datgysylltu o'r cwmwl · Ceisiadau rhannu dyfeisiau wedi'u creu / derbyn / gwrthod · Negeseuon rhybudd wedi'u hadrodd gan ddyfeisiau
Integreiddiadau trydydd parti Cefnogir Alexa a Google Voice Assistant i reoli dyfeisiau RainMaker, gan gynnwys goleuadau, switshis, socedi, ffaniau a synwyryddion tymheredd.
3.4.3 Nodweddion Gweinyddol
Mae nodweddion gweinyddol yn caniatáu i weinyddwyr weithredu cofrestru dyfeisiau, grwpio dyfeisiau, ac uwchraddio OTA, ac i view ystadegau a data Insights ESP.
Cofrestru dyfais Cynhyrchu tystysgrifau dyfais a chofrestru gyda Gweinyddwr CLI (gweinydd preifat yn unig).
Grwpio dyfeisiau Creu grwpiau haniaethol neu strwythuredig yn seiliedig ar wybodaeth dyfais (gweinydd preifat yn unig).
Uwchraddiadau Dros yr Awyr (OTA) Llwythwch firmware yn seiliedig ar fersiwn a model, i un neu fwy o ddyfeisiau neu grŵp Monitro, canslo, neu archifo swyddi OTA.
View ystadegau Viewmae ystadegau galluog yn cynnwys: · Cofrestriadau dyfeisiau (tystysgrifau a gofrestrwyd gan y gweinyddwr) · Gweithrediadau dyfais (dyfais wedi'i chysylltu am y tro cyntaf) · Cyfrifon defnyddwyr · Cymdeithas dyfais defnyddiwr
View Data Insights ESP ViewMae data Insights ESP galluog yn cynnwys: · Gwallau, rhybuddion, a logiau arfer · Adroddiadau damwain a dadansoddiadau · Rhesymau ailgychwyn · Metrigau fel defnydd cof, RSSI, ac ati · Metrigau a newidynnau personol
28 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
3.5 Crynodeb
Yn y bennod hon, fe wnaethom gyflwyno rhai gwahaniaethau allweddol rhwng y defnydd cyhoeddus o RainMaker a'r defnydd preifat. Mae'r datrysiad preifat ESP RainMaker a lansiwyd gan Espressif yn hynod ddibynadwy ac estynadwy. Mae holl sglodion cyfres ESP32 wedi'u cysylltu a'u haddasu i AWS, sy'n lleihau'r gost yn fawr. Gall datblygwyr ganolbwyntio ar ddilysu prototeip heb orfod dysgu am gynhyrchion cwmwl AWS. Fe wnaethom hefyd esbonio gweithrediad a nodweddion ESP RainMaker, a rhai pwyntiau allweddol i'w datblygu gan ddefnyddio'r platfform.
Sganiwch i lawrlwytho ESP RainMaker ar gyfer Android Sganiwch i lawrlwytho ESP RainMaker ar gyfer iOS
Pennod 3. Cyflwyniad i ESP RainMaker 29
30 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Pennod Sefydlu 4 Amgylchedd Datblygu
Mae'r bennod hon yn canolbwyntio ar ESP-IDF, y fframwaith datblygu meddalwedd swyddogol ar gyfer ESP32-C3. Byddwn yn esbonio sut i sefydlu'r amgylchedd ar systemau gweithredu amrywiol, a chyflwyno strwythur y prosiect a system adeiladu ESP-IDF, yn ogystal â'r defnydd o offer datblygu cysylltiedig. Yna byddwn yn cyflwyno proses llunio a rhedeg cynample project, tra'n cynnig esboniad manwl o'r log allbwn ym mhob stage.
4.1 ESP-IDF Drosoddview
Mae ESP-IDF (Fframwaith Datblygu IoT Espressif) yn fframwaith datblygu IoT un-stop a ddarperir gan Espressif Technology. Mae'n defnyddio C/C++ fel y brif iaith ddatblygu ac mae'n cefnogi traws-grynhoi o dan systemau gweithredu prif ffrwd fel Linux, Mac, a Windows. Mae'r cynample mae rhaglenni sydd wedi'u cynnwys yn y llyfr hwn yn cael eu datblygu gan ddefnyddio ESP-IDF, sy'n cynnig y nodweddion canlynol: · Gyrwyr lefel system SoC. Mae ESP-IDF yn cynnwys gyrwyr ar gyfer ESP32, ESP32-S2, ESP32-C3,
a sglodion eraill. Mae'r gyrwyr hyn yn cwmpasu llyfrgell lefel isel ymylol (LL), llyfrgell haen tynnu caledwedd (HAL), cefnogaeth RTOS a meddalwedd gyrrwr haen uwch, ac ati · Cydrannau hanfodol. Mae ESP-IDF yn ymgorffori'r cydrannau sylfaenol sydd eu hangen ar gyfer datblygiad IoT. Mae hyn yn cynnwys pentyrrau protocol rhwydwaith lluosog fel HTTP a MQTT, fframwaith rheoli pŵer gyda modiwleiddio amlder deinamig, a nodweddion fel Amgryptio Flash a Secure Boot, ac ati. · Offer datblygu a chynhyrchu. Mae ESP-IDF yn darparu offer a ddefnyddir yn gyffredin ar gyfer adeiladu, fflachio a dadfygio yn ystod datblygiad a chynhyrchu màs (gweler Ffigur 4.1), megis y system adeiladu yn seiliedig ar CMake, y gadwyn offer traws-grynhoi yn seiliedig ar GCC, a'r JTAG offeryn dadfygio yn seiliedig ar OpenOCD, ac ati Mae'n werth nodi bod y cod ESP-IDF yn bennaf yn cadw at drwydded ffynhonnell agored Apache 2.0. Gall defnyddwyr ddatblygu meddalwedd personol neu fasnachol heb gyfyngiadau tra'n cydymffurfio â thelerau'r drwydded ffynhonnell agored. Yn ogystal, mae defnyddwyr yn cael trwyddedau patent parhaol yn rhad ac am ddim, heb rwymedigaeth i ffynhonnell agored unrhyw addasiadau a wneir i'r cod ffynhonnell.
31
Ffigur 4.1.
Adeiladu, fflachio, a dadfygio-
offer ging ar gyfer datblygu a chynhyrchu màs
4.1.1 Fersiynau ESP-IDF
Mae'r cod ESP-IDF yn cael ei gynnal ar GitHub fel prosiect ffynhonnell agored. Ar hyn o bryd, mae tair prif fersiwn ar gael: v3, v4, a v5. Mae pob fersiwn mawr fel arfer yn cynnwys amrywiol isfersiynau, megis v4.2, v4.3, ac ati. Mae Espressif Systems yn sicrhau cefnogaeth 30 mis ar gyfer atgyweiriadau bygiau a chlytiau diogelwch ar gyfer pob is-fersiwn a ryddhawyd. Felly, mae diwygiadau o subversions hefyd yn cael eu rhyddhau'n rheolaidd, megis v4.3.1, v4.2.2, ac ati Mae Tabl 4.1 yn dangos statws cefnogi gwahanol fersiynau ESP-IDF ar gyfer sglodion Espressif, gan nodi a ydynt mewn rhagosodiadview stage (yn cynnig cymorth ar gyfer cynview fersiynau, a all fod yn brin o nodweddion neu ddogfennaeth benodol) neu a gefnogir yn swyddogol.
Tabl 4.1. Statws cefnogi gwahanol fersiynau ESP-IDF ar gyfer sglodion Espressif
Cyfres ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2
v4.1 cefnogi
v4.2 cefnogi cefnogi
v4.3 cefnogi cefnogi cefnogi
v4.4 cefnogi cefnogi cefnogi cefnogi
rhagview
v5.0 cefnogi cefnogi cefnogi cynview
32 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Mae ailadrodd fersiynau mawr yn aml yn cynnwys addasiadau i strwythur y fframwaith a diweddaru'r system grynhoi. Am gynample, y newid mawr o f3.* i v4.* oedd ymfudiad graddol y system adeiladu o Make i CMake. Ar y llaw arall, mae ailadrodd mân fersiynau fel arfer yn golygu ychwanegu nodweddion newydd neu gefnogi sglodion newydd.
Mae'n bwysig gwahaniaethu a deall y berthynas rhwng fersiynau sefydlog a changhennau GitHub. Mae fersiynau wedi'u labelu fel v*.* neu v* yn cynrychioli fersiynau sefydlog sydd wedi pasio prawf mewnol cyflawn gan Espressif. Ar ôl eu gosod, mae'r cod, y gadwyn offer, a'r dogfennau rhyddhau ar gyfer yr un fersiwn yn aros heb eu newid. Fodd bynnag, mae canghennau GitHub (ee, cangen rhyddhau / v4.3) yn destun ymrwymiadau cod aml, yn aml yn ddyddiol. Felly, gall dau byt cod o dan yr un gangen fod yn wahanol, gan olygu bod angen i ddatblygwyr ddiweddaru eu cod yn brydlon yn unol â hynny.
4.1.2 Llif Gwaith Git ESP-IDF
Mae Espressif yn dilyn llif gwaith Git penodol ar gyfer ESP-IDF, a amlinellir fel a ganlyn:
· Gwneir newidiadau newydd i'r brif gangen, sy'n gweithredu fel y brif gangen ddatblygu. Mae fersiwn ESP-IDF ar y brif gangen bob amser yn cynnwys -dev tag i nodi ei fod yn cael ei ddatblygu ar hyn o bryd, megis v4.3-dev. Bydd newidiadau ar y brif gangen yn ailviewed a'i brofi yn ystorfa fewnol Espressif, ac yna gwthio i GitHub ar ôl cwblhau profion awtomataidd.
· Unwaith y bydd fersiwn newydd wedi cwblhau datblygiad nodwedd ar y brif gangen ac wedi bodloni'r meini prawf ar gyfer mynd i mewn i brofion beta, mae'n trosglwyddo i gangen newydd, fel rhyddhau / v4.3. Yn ogystal, mae'r gangen newydd hon tagged fel fersiwn cyn-rhyddhau, fel v4.3-beta1. Gall datblygwyr gyfeirio at y platfform GitHub i gael mynediad at y rhestr gyflawn o ganghennau a tags ar gyfer ESP-IDF. Mae'n bwysig nodi y gallai fod gan y fersiwn beta (fersiwn cyn rhyddhau) nifer sylweddol o faterion hysbys o hyd. Wrth i'r fersiwn beta gael ei phrofi'n barhaus, ychwanegir atgyweiriadau nam at y fersiwn hon a'r brif gangen ar yr un pryd. Yn y cyfamser, efallai bod y brif gangen eisoes wedi dechrau datblygu nodweddion newydd ar gyfer y fersiwn nesaf. Pan fydd y profion bron wedi'u cwblhau, ychwanegir label ymgeisydd rhyddhau (rc) at y gangen, sy'n nodi ei fod yn ymgeisydd posibl ar gyfer y datganiad swyddogol, fel v4.3-rc1. Ar hyn stage, mae'r gangen yn parhau i fod yn fersiwn cyn-rhyddhau.
· Os na chaiff unrhyw fygiau mawr eu darganfod neu eu hadrodd, mae'r fersiwn cyn rhyddhau yn y pen draw yn derbyn label fersiwn mawr (ee, v5.0) neu label fersiwn llai (ee, v4.3) ac yn dod yn fersiwn rhyddhau swyddogol, sy'n cael ei ddogfennu yn y dudalen nodiadau rhyddhau. O ganlyniad, mae unrhyw fygiau a nodir yn y fersiwn hon yn cael eu gosod ar y gangen rhyddhau. Ar ôl cwblhau profion â llaw, rhoddir label fersiwn trwsio byg i'r gangen (ee, v4.3.2), a adlewyrchir hefyd ar y dudalen nodiadau rhyddhau.
Pennod 4. Sefydlu Amgylchedd Datblygu 33
4.1.3 Dewis Fersiwn Addas
Ers i ESP-IDF ddechrau cefnogi ESP32-C3 yn swyddogol o fersiwn v4.3, ac nid yw v4.4 wedi'i ryddhau'n swyddogol eto ar adeg ysgrifennu'r llyfr hwn, y fersiwn a ddefnyddir yn y llyfr hwn yw v4.3.2, sy'n fersiwn ddiwygiedig o v4.3. Fodd bynnag, mae'n bwysig nodi erbyn i chi ddarllen y llyfr hwn, efallai y bydd v4.4 neu fersiynau mwy diweddar eisoes ar gael. Wrth ddewis fersiwn, rydym yn argymell y canlynol:
· Ar gyfer datblygwyr lefel mynediad, fe'ch cynghorir i ddewis y fersiwn v4.3 sefydlog neu ei fersiwn ddiwygiedig, sy'n cyd-fynd â'r fersiwn flaenorolampgyda fersiwn a ddefnyddir yn y llyfr hwn.
· At ddibenion masgynhyrchu, argymhellir defnyddio'r fersiwn sefydlog ddiweddaraf i elwa ar y cymorth technegol mwyaf diweddar.
· Os ydych yn bwriadu arbrofi gyda sglodion newydd neu archwilio nodweddion cynnyrch newydd, defnyddiwch y brif gangen. Mae'r fersiwn diweddaraf yn cynnwys yr holl nodweddion diweddaraf, ond cofiwch y gall fod bygiau hysbys neu anhysbys yn bresennol.
· Os nad yw'r fersiwn sefydlog a ddefnyddir yn cynnwys y nodweddion newydd a ddymunir a'ch bod yn dymuno lleihau'r risgiau sy'n gysylltiedig â'r brif gangen, ystyriwch ddefnyddio'r gangen ryddhau gyfatebol, megis y gangen rhyddhau/v4.4. Bydd ystorfa GitHub Espressif yn creu'r gangen rhyddhau / v4.4 yn gyntaf ac yna'n rhyddhau'r fersiwn v4.4 sefydlog yn seiliedig ar giplun hanesyddol penodol o'r gangen hon, ar ôl cwblhau'r holl waith datblygu a phrofi nodwedd.
4.1.4 Drosview o ESP-IDF SDK Cyfeiriadur
Mae'r ESP-IDF SDK yn cynnwys dau brif gyfeiriadur: esp-idf a .espressif. Mae'r cyntaf yn cynnwys cod ffynhonnell ystorfa ESP-IDF files a sgriptiau llunio, tra bod yr olaf yn storio cadwyni offer llunio a meddalwedd arall yn bennaf. Bydd bod yn gyfarwydd â'r ddau gyfeiriadur hyn yn helpu datblygwyr i wneud gwell defnydd o'r adnoddau sydd ar gael a chyflymu'r broses ddatblygu. Disgrifir strwythur cyfeiriadur ESP-IDF isod:
(1) Cyfeiriadur cod ystorfa ESP-IDF (/ esp/esp-idf), fel y dangosir yn Ffigur 4.2.
a. Cydrannau cyfeiriadur cydran
Mae'r cyfeiriadur craidd hwn yn integreiddio nifer o gydrannau meddalwedd hanfodol ESP-IDF. Ni ellir llunio unrhyw god prosiect heb ddibynnu ar y cydrannau yn y cyfeiriadur hwn. Mae'n cynnwys cefnogaeth gyrrwr ar gyfer amrywiol sglodion Espressif. O ryngwynebau llyfrgell LL a llyfrgell HAL ar gyfer perifferolion i'r Gyrrwr a Rhithwir lefel uwch File Cefnogaeth haen System (VFS), gall datblygwyr ddewis y cydrannau priodol ar wahanol lefelau ar gyfer eu hanghenion datblygu. Mae ESP-IDF hefyd yn cefnogi staciau protocol rhwydwaith safonol lluosog fel TCP / IP, HTTP, MQTT, WebSoced, ac ati Gall datblygwyr ddefnyddio rhyngwynebau cyfarwydd fel Socket i adeiladu cymwysiadau rhwydwaith. Mae cydrannau'n darparu dealltwriaeth-
34 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Ffigur 4.2. Cyfeiriadur cod ystorfa ESP-IDF
ymarferoldeb sive a gellir ei integreiddio'n hawdd i gymwysiadau, gan ganiatáu i ddatblygwyr ganolbwyntio'n unig ar y rhesymeg busnes. Mae rhai cydrannau cyffredin yn cynnwys: · gyrrwr: Mae'r gydran hon yn cynnwys rhaglenni gyrrwr ymylol ar gyfer amrywiol Espressif
cyfres sglodion, megis GPIO, I2C, SPI, UART, LEDC (PWM), ac ati Mae'r rhaglenni gyrrwr ymylol yn y gydran hon yn cynnig rhyngwynebau haniaethol sglodion-annibynnol. Mae gan bob ymylol bennawd cyffredin file (fel gpio.h), gan ddileu'r angen i ddelio â gwahanol gwestiynau cymorth sglodion-benodol. · esp_wifi: Mae Wi-Fi, fel ymylol arbennig, yn cael ei drin fel cydran ar wahân. Mae'n cynnwys APIs lluosog megis cychwyn amrywiol ddulliau gyrrwr Wi-Fi, cyfluniad paramedr, a phrosesu digwyddiadau. Darperir rhai swyddogaethau'r gydran hon ar ffurf llyfrgelloedd cyswllt sefydlog. Mae ESP-IDF hefyd yn darparu dogfennaeth gyrrwr gynhwysfawr er hwylustod.
Pennod 4. Sefydlu Amgylchedd Datblygu 35
· freertos: Mae'r gydran hon yn cynnwys y cod FreeRTOS cyflawn. Ar wahân i ddarparu cefnogaeth gynhwysfawr i'r system weithredu hon, mae Espressif hefyd wedi ymestyn ei gefnogaeth i sglodion craidd deuol. Ar gyfer sglodion craidd deuol fel ESP32 ac ESP32-S3, gall defnyddwyr greu tasgau ar greiddiau penodol.
b. Dogfennau cyfeiriadur dogfennau
Mae'r cyfeiriadur hwn yn cynnwys dogfennau datblygu cysylltiedig ag ESP-IDF, gan gynnwys y Canllaw Cychwyn Arni, Llawlyfr Cyfeirio API, Canllaw Datblygu, ac ati.
NODYN Ar ôl cael ei lunio gan offer awtomataidd, mae cynnwys y cyfeiriadur hwn yn cael ei ddefnyddio yn https://docs.espressif.com/projects/esp-idf. Sicrhewch eich bod yn newid targed y ddogfen i ESP32-C3 a dewis y fersiwn ESP-IDF penodedig.
c. Offer offer sgript
Mae'r cyfeiriadur hwn yn cynnwys offer pen blaen casglu a ddefnyddir yn gyffredin fel idf.py, a'r teclyn terfynell monitor idf_monitor.py, ac ati Mae cmake yr is-gyfeiriadur hefyd yn cynnwys sgript graidd files y system grynhoi, gan wasanaethu fel y sylfaen ar gyfer gweithredu rheolau llunio ESP-IDF. Wrth ychwanegu'r newidynnau amgylchedd, mae'r cynnwys yn y cyfeiriadur offer yn cael ei ychwanegu at y newidyn amgylchedd system, gan ganiatáu i idf.py gael ei weithredu'n uniongyrchol o dan lwybr y prosiect.
d. Example cyfeiriadur rhaglen examples
Mae'r cyfeiriadur hwn yn cynnwys casgliad helaeth o ESP-IDF examprhaglenni sy'n dangos y defnydd o APIs cydrannau. Mae'r cynampmae les wedi'u trefnu'n is-gyfeiriaduron amrywiol yn seiliedig ar eu categorïau:
· cychwyn arni: Mae'r is-gyfeiriadur hwn yn cynnwys lefel mynediad examples fel “helo world” a “blink” i helpu defnyddwyr i ddeall y pethau sylfaenol.
· bluetooth: Gallwch ddod o hyd i gyn sy'n gysylltiedig â Bluetoothamples yma, gan gynnwys Bluetooth LE Mesh, Bluetooth LE HID, BluFi, a mwy.
· wifi: Mae'r is-gyfeiriadur hwn yn canolbwyntio ar Wi-Fi examples, gan gynnwys rhaglenni sylfaenol fel Wi-Fi SoftAP, Gorsaf Wi-Fi, espnow, yn ogystal â phrotocol cyfathrebu perchnogol examples o Espressif. Mae hefyd yn cynnwys cais lluosog haen examples yn seiliedig ar Wi-Fi, megis Iperf, Sniffer, a Smart Config.
· perifferolion: Rhennir yr is-gyfeiriadur helaeth hwn ymhellach yn is-ffolderi niferus yn seiliedig ar enwau perifferol. Mae'n bennaf yn cynnwys gyrrwr ymylol examples ar gyfer sglodion Espressif, gyda phob example yn cynnwys nifer o is-gynamples. Er enghraifft, mae'r is-gyfeiriadur gpio yn cynnwys dau gynamples: GPIO a GPIO bysellfwrdd matrics. Mae'n bwysig nodi nad yw pob cynampmae les yn y cyfeiriadur hwn yn berthnasol i ESP32-C3.
36 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Am gynample, yr exampmae les yn usb/host ond yn berthnasol i berifferolion gyda chaledwedd USB Host (fel ESP32-S3), ac nid oes gan ESP32-C3 yr ymylol hwn. Mae'r system grynhoi fel arfer yn darparu awgrymiadau wrth osod y targed. Y README file o bob cynampMae le yn rhestru'r sglodion a gefnogir. · protocolau: Mae'r is-gyfeiriadur hwn yn cynnwys examples ar gyfer protocolau cyfathrebu amrywiol, gan gynnwys MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP, sy'n cwmpasu ystod eang o brotocol cyfathrebu cynampllai angenrheidiol ar gyfer datblygiad IoT. · darparu: Yma, fe welwch provisioning examples ar gyfer gwahanol ddulliau, megis darparu Wi-Fi a darpariaeth Bluetooth LE. · system: Mae'r is-gyfeiriadur hwn yn cynnwys dadfygio system examples (ee, olrhain pentwr, olrhain amser rhedeg, monitro tasgau), rheoli pŵer cynamples (ee, amrywiol ddulliau cysgu, cyd-broseswyr), a chynampllai cysylltiedig â chydrannau system cyffredin fel terfynell consol, dolen digwyddiad, ac amserydd system. · storio: O fewn yr is-gyfeiriadur hwn, byddwch yn darganfod exampllai o bawb file systemau a mecanweithiau storio a gefnogir gan ESP-IDF (fel darllen ac ysgrifennu Flash, cerdyn SD a chyfryngau storio eraill), yn ogystal â chynampllai o storfa anweddol (NVS), FatFS, SPIFFS ac eraill file gweithrediadau system. · diogelwch: Mae'r is-gyfeiriadur hwn yn cynnwys exampllai cysylltiedig ag amgryptio fflach. (2) Cyfeiriadur cadwyn offer llunio ESP-IDF (/.espressif), fel y dangosir yn Ffigur 4.3.
Ffigur 4.3. Cyfeiriadur cadwyn offer llunio ESP-IDF
Pennod 4. Sefydlu Amgylchedd Datblygu 37
a. Cyfeiriadur dosbarthu meddalwedd dist
Mae cadwyn offer ESP-IDF a meddalwedd eraill yn cael eu dosbarthu ar ffurf pecynnau cywasgedig. Yn ystod y broses osod, mae'r offeryn gosod yn lawrlwytho'r pecyn cywasgedig i'r cyfeiriadur dist yn gyntaf, ac yna'n ei dynnu i'r cyfeiriadur penodedig. Unwaith y bydd y gosodiad wedi'i gwblhau, gellir tynnu'r cynnwys yn y cyfeiriadur hwn yn ddiogel.
b. Cyfeiriadur amgylchedd rhithwir Python python env
Mae fersiynau gwahanol o ESP-IDF yn dibynnu ar fersiynau penodol o becynnau Python. Gall gosod y pecynnau hyn yn uniongyrchol ar yr un gwesteiwr arwain at wrthdaro rhwng fersiynau pecyn. I fynd i'r afael â hyn, mae ESP-IDF yn defnyddio amgylcheddau rhithwir Python i ynysu gwahanol fersiynau pecyn. Gyda'r mecanwaith hwn, gall datblygwyr osod fersiynau lluosog o ESP-IDF ar yr un gwesteiwr a newid yn hawdd rhyngddynt trwy fewnforio gwahanol newidynnau amgylchedd.
c. Offer cyfeiriadur cadwyn offeryn llunio ESP-IDF
Mae'r cyfeiriadur hwn yn bennaf yn cynnwys offer traws-grynhoi sydd eu hangen i lunio prosiectau ESP-IDF, megis offer CMake, offer adeiladu Ninja, a'r gadwyn offer gcc sy'n cynhyrchu'r rhaglen gyflawnadwy derfynol. Yn ogystal, mae'r cyfeiriadur hwn yn gartref i lyfrgell safonol yr iaith C / C ++ ynghyd â'r pennawd cyfatebol files. Os yw rhaglen yn cyfeirio at bennawd system file fel #cynnwys , bydd y gadwyn offer llunio yn lleoli'r stdio.h file o fewn y cyfeiriadur hwn.
4.2 Sefydlu Amgylchedd Datblygu ESP-IDF
Mae amgylchedd datblygu ESP-IDF yn cefnogi systemau gweithredu prif ffrwd fel Windows, Linux, a macOS. Bydd yr adran hon yn cyflwyno sut i sefydlu'r amgylchedd datblygu ar bob system. Argymhellir datblygu system ESP32-C3 ar Linux, a gyflwynir yn fanwl yma. Mae llawer o gyfarwyddiadau yn berthnasol ar draws llwyfannau oherwydd tebygrwydd yr offer datblygu. Felly, fe'ch cynghorir i ddarllen cynnwys yr adran hon yn ofalus.
NODYN Gallwch gyfeirio at y dogfennau ar-lein sydd ar gael yn https://bookc3.espressif.com/esp32c3, sy'n darparu'r gorchmynion a grybwyllir yn yr adran hon.
4.2.1 Sefydlu Amgylchedd Datblygu ESP-IDF ar Linux
Mae'r offer datblygu a dadfygio GNU sydd eu hangen ar gyfer amgylchedd datblygu ESP-IDF yn frodorol i'r system Linux. Yn ogystal, mae'r derfynell llinell orchymyn yn Linux yn bwerus ac yn hawdd ei defnyddio, gan ei gwneud yn ddewis delfrydol ar gyfer datblygiad ESP32-C3. Gallwch chi
38 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
dewiswch eich dosbarthiad Linux dewisol, ond rydym yn argymell defnyddio Ubuntu neu systemau Debian eraill. Mae'r adran hon yn rhoi arweiniad ar sefydlu amgylchedd datblygu ESP-IDF ar Ubuntu 20.04.
1. Gosod pecynnau gofynnol
Agor terfynell newydd a gweithredu'r gorchymyn canlynol i osod yr holl becynnau angenrheidiol. Bydd y gorchymyn yn hepgor pecynnau sydd eisoes wedi'u gosod yn awtomatig.
$ sudo apt-get install git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-adeiladu ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
AWGRYMIADAU Mae angen i chi ddefnyddio'r cyfrif gweinyddwr a'r cyfrinair ar gyfer y gorchymyn uchod. Yn ddiofyn, ni fydd unrhyw wybodaeth yn cael ei harddangos wrth nodi'r cyfrinair. Yn syml, pwyswch yr allwedd “Enter” i barhau â'r weithdrefn.
Mae Git yn offeryn rheoli cod allweddol yn ESP-IDF. Ar ôl sefydlu'r amgylchedd datblygu yn llwyddiannus, gallwch ddefnyddio'r gorchymyn log git i view pob newid cod a wnaed ers creu ESP-IDF. Yn ogystal, defnyddir Git hefyd yn ESP-IDF i gadarnhau gwybodaeth fersiwn, sy'n angenrheidiol ar gyfer gosod y gadwyn offer gywir sy'n cyfateb i fersiynau penodol. Ynghyd â Git, mae offer system pwysig eraill yn cynnwys Python. Mae ESP-IDF yn ymgorffori nifer o sgriptiau awtomeiddio a ysgrifennwyd yn Python. Mae offer fel CMake, Ninja-build, a Ccache yn cael eu defnyddio'n helaeth mewn prosiectau C / C ++ ac yn gwasanaethu fel yr offer casglu ac adeiladu cod rhagosodedig yn ESP-IDF. libusb-1.0-0 a dfu-util yw'r prif yrwyr a ddefnyddir ar gyfer cyfathrebu cyfresol USB a llosgi firmware. Unwaith y bydd y pecynnau meddalwedd wedi'u gosod, gallwch ddefnyddio'r sioe addas gorchymyn i gael disgrifiadau manwl o bob pecyn. Am gynample, defnyddiwch apt show git i argraffu'r wybodaeth ddisgrifio ar gyfer yr offeryn Git.
C: Beth i'w wneud os na chefnogir y fersiwn Python? A: Mae ESP-IDF v4.3 yn gofyn am fersiwn Python nad yw'n is na v3.6. Ar gyfer fersiynau hŷn o Ubuntu, lawrlwythwch a gosodwch fersiwn uwch o Python â llaw a gosodwch Python3 fel yr amgylchedd Python diofyn. Gallwch ddod o hyd i gyfarwyddiadau manwl trwy chwilio am y python diweddaru allweddair-amgen.
2. Lawrlwythwch cod ystorfa ESP-IDF
Agor terfynell a chreu ffolder o'r enw esp yn eich cyfeiriadur cartref gan ddefnyddio'r gorchymyn mkdir. Gallwch ddewis enw gwahanol ar gyfer y ffolder os yw'n well gennych. Defnyddiwch y gorchymyn cd i fynd i mewn i'r ffolder.
Pennod 4. Sefydlu Amgylchedd Datblygu 39
$ mkdir -p / esp $ cd / esp
Defnyddiwch y gorchymyn clone git i lawrlwytho'r cod ystorfa ESP-IDF, fel y dangosir isod:
$ git clôn -b v4.3.2 –recursive https://github.com/espressif/esp-idf.git
Yn y gorchymyn uchod, mae'r paramedr -b v4.3.2 yn pennu'r fersiwn i'w lawrlwytho (yn yr achos hwn, fersiwn 4.3.2). Mae'r paramedr -recursive yn sicrhau bod holl is-ystorfeydd ESP-IDF yn cael eu llwytho i lawr yn rheolaidd. Ceir gwybodaeth am is-storfeydd yn y .gitmodules file.
3. Gosod y gadwyn offer datblygu ESP-IDF
Mae Espressif yn darparu install.sh sgript awtomataidd i lawrlwytho a gosod y gadwyn offer. Mae'r sgript hon yn gwirio fersiwn gyfredol ESP-IDF ac amgylchedd y system weithredu, ac yna'n llwytho i lawr ac yn gosod fersiwn priodol o becynnau offer Python a chadwyni offer llunio. Y llwybr gosod rhagosodedig ar gyfer y gadwyn offer yw /.espressif. Y cyfan sydd angen i chi ei wneud yw llywio i'r cyfeiriadur esp-idf a rhedeg install.sh.
$ cd /esp/esp-idf $ ./install.sh
Os gosodwch y gadwyn offer yn llwyddiannus, bydd y derfynell yn dangos:
Pawb wedi'i wneud!
Ar y pwynt hwn, rydych wedi sefydlu amgylchedd datblygu ESP-IDF yn llwyddiannus.
4.2.2 Sefydlu Amgylchedd Datblygu ESP-IDF ar Windows
1. Lawrlwythwch gosodwr offer ESP-IDF
AWGRYMIADAU Argymhellir sefydlu amgylchedd datblygu ESP-IDF ar Windows 10 neu uwch. Gallwch chi lawrlwytho'r gosodwr o https://dl.espressif.com/dl/esp-idf/. Mae'r gosodwr hefyd yn feddalwedd ffynhonnell agored, a gall ei god ffynhonnell fod viewgol yn https://github.com/espressif/idf-installer.
· Gosodwr offer ESP-IDF ar-lein
Mae'r gosodwr hwn yn gymharol fach, tua 4 MB o faint, a bydd pecynnau a chod eraill yn cael eu lawrlwytho yn ystod y broses osod. Yr advantage o'r gosodwr ar-lein yw nid yn unig y gellir lawrlwytho pecynnau meddalwedd a chod ar alw yn ystod y broses osod, ond hefyd yn caniatáu gosod yr holl ddatganiadau sydd ar gael o ESP-IDF a'r gangen ddiweddaraf o god GitHub (fel y brif gangen) . Yr disadvantage yw ei fod yn gofyn am gysylltiad rhwydwaith yn ystod y broses osod, a all achosi methiant gosod oherwydd problemau rhwydwaith.
40 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
· Gosodwr offer ESP-IDF all-lein Mae'r gosodwr hwn yn fwy, tua 1 GB o faint, ac mae'n cynnwys yr holl becynnau meddalwedd a chod sydd eu hangen ar gyfer gosod yr amgylchedd. Y prif advantage o'r gosodwr all-lein yw y gellir ei ddefnyddio ar gyfrifiaduron heb fynediad i'r Rhyngrwyd, ac yn gyffredinol mae ganddo gyfradd llwyddiant gosod uwch. Dylid nodi mai dim ond datganiadau sefydlog o ESP-IDF a nodir gan v*.* neu v* y gall y gosodwr all-lein osod.
2. Rhedeg gosodwr offer ESP-IDF Ar ôl lawrlwytho fersiwn addas o'r gosodwr (cymerwch ESP-IDF Tools Offline 4.3.2 ar gyfer exampLe yma), dwbl-gliciwch yr exe file i lansio'r rhyngwyneb gosod ESP-IDF. Mae'r canlynol yn dangos sut i osod fersiwn sefydlog ESP-IDF v4.3.2 gan ddefnyddio'r gosodwr all-lein.
(1) Yn y rhyngwyneb “Dewis iaith gosod” a ddangosir yn Ffigur 4.4, dewiswch yr iaith i'w defnyddio o'r gwymplen.
Ffigur 4.4. Rhyngwyneb “Dewis iaith gosod” (2) Ar ôl dewis yr iaith, cliciwch “OK” i agor y rhyngwyneb “Cytundeb trwydded”
(gweler Ffigur 4.5). Ar ôl darllen y cytundeb trwydded gosod yn ofalus, dewiswch "Rwy'n derbyn y cytundeb" a chliciwch ar "Nesaf".
Ffigur 4.5. Rhyngwyneb “cytundeb trwydded” Pennod 4. Sefydlu Amgylchedd Datblygu 41
(3) Parview cyfluniad y system yn y rhyngwyneb “Gwirio system cyn gosod” (gweler Ffigur 4.6). Gwiriwch y fersiwn Windows a'r wybodaeth meddalwedd gwrthfeirws wedi'i osod. Cliciwch “Nesaf” os yw'r holl eitemau ffurfweddu yn normal. Fel arall, gallwch glicio “Log llawn” am atebion yn seiliedig ar eitemau allweddol.
Ffigur 4.6. “Gwirio system cyn gosod” AWGRYMIADAU rhyngwyneb
Gallwch gyflwyno logiau i https://github.com/espressif/idf-installer/issues am help. (4) Dewiswch y cyfeiriadur gosod ESP-IDF. Yma, dewiswch D:/.espressif, fel y dangosir yn
Ffigur 4.7, a chliciwch “Nesaf”. Sylwch fod .espressif yma yn gyfeiriadur cudd. Ar ôl cwblhau'r gosodiad, gallwch chi view cynnwys penodol y cyfeiriadur hwn trwy agor y file rheolwr ac arddangos eitemau cudd.
Ffigur 4.7. Dewiswch gyfeiriadur gosod ESP-IDF 42 ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT
(5) Gwiriwch y cydrannau y mae angen eu gosod, fel y dangosir yn Ffigur 4.8. Argymhellir defnyddio'r opsiwn diofyn, hynny yw, cwblhau'r gosodiad, ac yna cliciwch "Nesaf".
Ffigur 4.8. Dewiswch y cydrannau i'w gosod (6) Cadarnhewch y cydrannau i'w gosod a chliciwch "Gosod" i gychwyn y mewn- awtomataidd.
proses arafu, fel y dangosir yn Ffigur 4.9. Gall y broses osod bara degau o funudau a dangosir bar cynnydd y broses osod yn Ffigur 4.10. Arhoswch yn amyneddgar.
Ffigur 4.9. Paratoi ar gyfer gosod (7) Ar ôl i'r gosodiad gael ei gwblhau, argymhellir gwirio “Cofrestrwch yr ESP-IDF
Offer gweithredadwy fel gwaharddiadau Windows Defender…” i atal meddalwedd gwrthfeirws rhag dileu files. Gall ychwanegu eitemau gwahardd hefyd hepgor sganiau aml gan wrthfeirws
Pennod 4. Sefydlu Amgylchedd Datblygu 43
Ffigur 4.10. Meddalwedd bar cynnydd gosod, gan wella effeithlonrwydd llunio cod system Windows yn fawr. Cliciwch “Gorffen” i gwblhau gosod yr amgylchedd datblygu, fel y dangosir yn Ffigur 4.11. Gallwch ddewis gwirio “Run ESP-IDF PowerShell environment” neu “Run ESP-IDF command prompt”. Rhedeg y ffenestr gasglu yn uniongyrchol ar ôl ei gosod i sicrhau bod yr amgylchedd datblygu yn gweithredu'n normal.
Ffigur 4.11. Gosod wedi'i gwblhau (8) Agorwch yr amgylchedd datblygu gosodedig yn y rhestr rhaglenni (naill ai ESP-IDF 4.3
Bydd terfynell CMD neu ESP-IDF 4.3 PowerShell, fel y dangosir yn Ffigur 4.12), a newidyn amgylchedd ESP-IDF yn cael eu hychwanegu'n awtomatig wrth redeg yn y derfynell. Ar ôl hynny, gallwch ddefnyddio'r gorchymyn idf.py ar gyfer gweithrediadau. Dangosir yr ESP-IDF 4.3 CMD a agorwyd yn Ffigur 4.13. 44 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Ffigur 4.12. Amgylchedd datblygu wedi'i osod
Ffigur 4.13. ESP-IDF 4.3 CMD
4.2.3 Sefydlu Amgylchedd Datblygu ESP-IDF ar Mac
Mae'r broses o osod amgylchedd datblygu ESP-IDF ar system Mac yr un fath â'r un ar system Linux. Mae'r gorchmynion ar gyfer lawrlwytho'r cod ystorfa a gosod y gadwyn offer yn union yr un fath. Dim ond y gorchmynion ar gyfer gosod pecynnau dibyniaeth sydd ychydig yn wahanol. 1. Gosod pecynnau dibyniaeth Agor terfynell, a gosod pip, yr offeryn rheoli pecyn Python, trwy redeg y gorchymyn canlynol:
% sudo hawdd gosod pip
Gosod Homebrew, offeryn rheoli pecyn ar gyfer macOS, trwy redeg y gorchymyn canlynol:
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
Gosodwch y pecynnau dibyniaeth gofynnol trwy redeg y gorchymyn canlynol:
% bragu python3 gosod cmake ninja ccache dfu-util
2. Lawrlwythwch cod ystorfa ESP-IDF Dilynwch y cyfarwyddiadau a ddarperir yn adran 4.2.1 i lawrlwytho cod ystorfa ESP-IDF. Mae'r camau yr un peth ag ar gyfer llwytho i lawr ar system Linux.
Pennod 4. Sefydlu Amgylchedd Datblygu 45
3. Gosod y gadwyn offer datblygu ESP-IDF
Dilynwch y cyfarwyddiadau a ddarperir yn adran 4.2.1 i osod cadwyn offer datblygu ESP-IDF. Mae'r camau yr un peth ag ar gyfer gosod ar system Linux.
4.2.4 Gosod Cod VS
Yn ddiofyn, nid yw'r ESP-IDF SDK yn cynnwys offeryn golygu cod (er bod y gosodwr ESP-IDF diweddaraf ar gyfer Windows yn cynnig yr opsiwn i osod ESP-IDF Eclipse). Gallwch ddefnyddio unrhyw offeryn golygu testun o'ch dewis i olygu'r cod ac yna ei lunio gan ddefnyddio gorchmynion terfynell.
Un offeryn golygu cod poblogaidd yw VS Code (Cod Stiwdio Gweledol), sy'n olygydd cod rhad ac am ddim a llawn nodweddion gyda rhyngwyneb hawdd ei ddefnyddio. Mae'n cynnig amrywiol plugins sy'n darparu swyddogaethau megis llywio cod, amlygu cystrawen, rheoli fersiwn Git, ac integreiddio terfynell. Yn ogystal, mae Espressif wedi datblygu ategyn pwrpasol o'r enw Espressif IDF ar gyfer Cod VS, sy'n symleiddio ffurfweddiad prosiect a dadfygio.
Gallwch ddefnyddio'r gorchymyn cod yn y derfynell i agor y ffolder gyfredol yn VS Code yn gyflym. Fel arall, gallwch ddefnyddio'r llwybr byr Ctrl + i agor consol terfynell rhagosodedig y system o fewn Cod VS.
AWGRYMIADAU Argymhellir defnyddio Cod VS ar gyfer datblygu cod ESP32-C3. Dadlwythwch a gosodwch y fersiwn ddiweddaraf o God VS yn https://code.visualstudio.com/.
4.2.5 Cyflwyniad i Amgylcheddau Datblygu Trydydd Parti
Yn ogystal â'r amgylchedd datblygu swyddogol ESP-IDF, sy'n defnyddio'r iaith C yn bennaf, mae ESP32-C3 hefyd yn cefnogi ieithoedd rhaglennu prif ffrwd eraill ac ystod eang o amgylcheddau datblygu trydydd parti. Mae rhai opsiynau nodedig yn cynnwys:
Arduino: llwyfan ffynhonnell agored ar gyfer caledwedd a meddalwedd, sy'n cefnogi microreolwyr amrywiol, gan gynnwys ESP32-C3.
Mae'n defnyddio'r iaith C ++ ac yn cynnig API symlach a safonol, y cyfeirir ati'n gyffredin fel yr iaith Arduino. Defnyddir Arduino yn eang mewn datblygu prototeip a chyd-destunau addysgol. Mae'n darparu pecyn meddalwedd estynadwy a DRhA sy'n caniatáu ar gyfer casglu a fflachio hawdd.
MicroPython: dehonglydd iaith Python 3 sydd wedi'i gynllunio i redeg ar lwyfannau microreolwyr wedi'u mewnosod.
Gydag iaith sgript syml, gall gael mynediad uniongyrchol i adnoddau ymylol ESP32-C3 (fel UART, SPI, ac I2C) a swyddogaethau cyfathrebu (fel Wi-Fi a Bluetooth LE).
46 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
Mae hyn yn symleiddio rhyngweithio caledwedd. Mae MicroPython, ynghyd â llyfrgell gweithredu mathemategol helaeth Python, yn galluogi gweithredu algorithmau cymhleth ar ESP32-C3, gan hwyluso datblygiad cymwysiadau sy'n gysylltiedig â AI. Fel iaith sgript, nid oes angen ei chrynhoi dro ar ôl tro; gellir gwneud addasiadau a gellir gweithredu sgriptiau'n uniongyrchol.
NodeMCU: dehonglydd iaith LUA a ddatblygwyd ar gyfer sglodion cyfres ESP.
Mae'n cefnogi bron pob swyddogaeth ymylol o sglodion ESP ac mae'n ysgafnach na MicroPython. Yn debyg i MicroPython, mae NodeMCU yn defnyddio iaith sgript, gan ddileu'r angen am grynhoi dro ar ôl tro.
Ar ben hynny, mae ESP32-C3 hefyd yn cefnogi systemau gweithredu NuttX a Zephyr. Mae NuttX yn system weithredu amser real sy'n darparu rhyngwynebau sy'n gydnaws â POSIX, gan wella hygludedd cymwysiadau. Mae Zephyr yn system weithredu amser real fach sydd wedi'i chynllunio'n benodol ar gyfer cymwysiadau IoT. Mae'n cynnwys nifer o lyfrgelloedd meddalwedd sydd eu hangen ar gyfer datblygu IoT, gan esblygu'n raddol i ecosystem meddalwedd gynhwysfawr.
Nid yw'r llyfr hwn yn darparu cyfarwyddiadau gosod manwl ar gyfer yr amgylcheddau datblygu a grybwyllwyd uchod. Gallwch osod amgylchedd datblygu yn seiliedig ar eich gofynion trwy ddilyn y dogfennau a'r cyfarwyddiadau priodol.
4.3 System Casglu ESP-IDF
4.3.1 Cysyniadau Sylfaenol System Crynhoi
Mae prosiect ESP-IDF yn gasgliad o brif raglen gyda swyddogaeth mynediad a chydrannau swyddogaethol annibynnol lluosog. Am gynampLe, mae prosiect sy'n rheoli switshis LED yn bennaf yn cynnwys prif raglen mynediad ac elfen gyrrwr sy'n rheoli GPIO. Os ydych chi am wireddu'r teclyn rheoli o bell LED, mae angen i chi hefyd ychwanegu Wi-Fi, pentwr protocol TCP/IP, ac ati.
Gall y system grynhoi gasglu, cysylltu a chynhyrchu gweithredadwy files (.bin) ar gyfer y cod trwy set o reolau adeiladu. Mae system grynhoi fersiynau ESP-IDF v4.0 ac uwch yn seiliedig ar CMake yn ddiofyn, a gellir defnyddio'r sgript crynhoi CMakeLists.txt i reoli ymddygiad llunio'r cod. Yn ogystal â chefnogi cystrawen sylfaenol CMake, mae system grynhoi ESP-IDF hefyd yn diffinio set o reolau casglu rhagosodedig a swyddogaethau CMake, a gallwch chi ysgrifennu'r sgript llunio gyda datganiadau syml.
4.3.2 Prosiect File Strwythur
Mae prosiect yn ffolder sy'n cynnwys prif raglen mynediad, cydrannau wedi'u diffinio gan ddefnyddwyr, a files sy'n ofynnol i adeiladu cymwysiadau gweithredadwy, megis sgriptiau llunio, cyfluniad
Pennod 4. Sefydlu Amgylchedd Datblygu 47
files, tablau rhaniad, ac ati Gellir copïo a throsglwyddo prosiectau, a'r un gweithredadwy file gellir ei lunio a'i gynhyrchu mewn peiriannau gyda'r un fersiwn o amgylchedd datblygu ESP-IDF. Prosiect ESP-IDF nodweddiadol file dangosir y strwythur yn Ffigur 4.14.
Ffigur 4.14. Prosiect ESP-IDF nodweddiadol file strwythur Gan fod ESP-IDF yn cefnogi sglodion IoT lluosog o Espressif, gan gynnwys ESP32, cyfres ESP32-S, cyfres ESP32-C, cyfres ESP32-H, ac ati, mae angen pennu targed cyn llunio'r cod. Y targed yw'r ddyfais caledwedd sy'n rhedeg y rhaglen gais a tharged adeiladu'r system grynhoi. Yn dibynnu ar eich anghenion, gallwch nodi un neu fwy o dargedau ar gyfer eich prosiect. Am gynampLe, trwy orchymyn idf.py set-target esp32c3, gallwch osod y targed llunio i ESP32-C3, yn ystod y bydd y paramedrau rhagosodedig a llwybr cadwyn offeryn llunio ar gyfer ESP32C3 yn cael eu llwytho. Ar ôl ei llunio, gellir cynhyrchu rhaglen weithredadwy ar gyfer ESP32C3. Gallwch hefyd redeg y gorchymyn gosod-targed eto i osod targed gwahanol, a bydd y system grynhoi yn glanhau ac ail-ffurfweddu yn awtomatig. Cydrannau
Mae cydrannau yn ESP-IDF yn unedau cod modiwlaidd ac annibynnol a reolir o fewn y system grynhoi. Fe'u trefnir fel ffolderi, gydag enw'r ffolder yn cynrychioli enw'r gydran yn ddiofyn. Mae gan bob cydran ei sgript grynhoi ei hun sy'n 48 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
yn nodi ei baramedrau llunio a'i ddibyniaethau. Yn ystod y broses grynhoi, caiff cydrannau eu crynhoi mewn llyfrgelloedd sefydlog ar wahân (.a files) ac yn y pen draw wedi'i gyfuno â chydrannau eraill i ffurfio'r rhaglen ymgeisio.
Mae ESP-IDF yn darparu swyddogaethau hanfodol, megis y system weithredu, gyrwyr ymylol, a stac protocol rhwydwaith, ar ffurf cydrannau. Mae'r cydrannau hyn yn cael eu storio yn y cyfeiriadur cydrannau sydd wedi'i leoli o fewn cyfeiriadur gwraidd ESP-IDF. Nid oes angen i ddatblygwyr gopïo'r cydrannau hyn i gyfeiriadur cydrannau myProject. Yn hytrach, nid oes ond angen iddynt nodi perthnasoedd dibyniaeth y cydrannau hyn yn CMakeLists.txt y prosiect file gan ddefnyddio cyfarwyddebau REQUIRES neu PRIV_REQUIRES. Bydd y system grynhoi yn lleoli ac yn llunio'r cydrannau gofynnol yn awtomatig.
Felly, nid yw'r cyfeiriadur cydrannau o dan myProject yn angenrheidiol. Fe'i defnyddir i gynnwys rhai cydrannau arferiad o'r prosiect yn unig, a all fod yn llyfrgelloedd trydydd parti neu'n god a ddiffinnir gan ddefnyddwyr. Yn ogystal, gellir cyrchu cydrannau o unrhyw gyfeiriadur heblaw ESP-IDF neu'r prosiect cyfredol, megis o brosiect ffynhonnell agored sydd wedi'i gadw mewn cyfeiriadur arall. Yn yr achos hwn, dim ond trwy osod y newidyn EXTRA_COMPONENT_DIRS yn y CMakeLists.txt o dan y cyfeiriadur gwraidd y mae angen i chi ychwanegu llwybr y gydran. Bydd y cyfeiriadur hwn yn diystyru unrhyw gydran ESP-IDF gyda'r un enw, gan sicrhau bod y gydran gywir yn cael ei defnyddio.
Prif gyfeiriadur rhaglen mynediad Mae'r prif gyfeiriadur o fewn y prosiect yn dilyn yr un peth file strwythur fel cydrannau eraill (ee, cydran1). Fodd bynnag, mae iddo arwyddocâd arbennig gan ei fod yn gydran orfodol y mae'n rhaid iddo fodoli ym mhob prosiect. Mae'r prif gyfeiriadur yn cynnwys cod ffynhonnell y prosiect a man mynediad y rhaglen ddefnyddwyr, a elwir yn nodweddiadol yn app_main. Yn ddiofyn, mae gweithrediad y rhaglen defnyddiwr yn cychwyn o'r pwynt mynediad hwn. Mae'r brif gydran hefyd yn wahanol gan ei fod yn dibynnu'n awtomatig ar yr holl gydrannau o fewn y llwybr chwilio. Felly, nid oes angen nodi dibyniaethau'n benodol gan ddefnyddio'r cyfarwyddebau REQUIRES neu PRIV_REQUIRES yn y CMakeLists.txt file.
Cyfluniad file Mae cyfeiriadur gwraidd y prosiect yn cynnwys ffurfweddiad file o'r enw sdkconfig, sy'n cynnwys y paramedrau cyfluniad ar gyfer yr holl gydrannau o fewn y prosiect. Mae'r sdkconfig file yn cael ei gynhyrchu'n awtomatig gan y system grynhoi a gellir ei addasu a'i adfywio gan y gorchymyn idf.py menuconfig. Mae'r opsiynau menuconfig yn deillio'n bennaf o Kconfig.projbuild y prosiect a Kconfig y cydrannau. Yn gyffredinol, mae datblygwyr cydran yn ychwanegu eitemau ffurfweddu yn Kconfig i wneud y gydran yn hyblyg ac yn ffurfweddadwy.
Adeiladu cyfeiriadur Yn ddiofyn, mae'r cyfeiriadur adeiladu o fewn y prosiect yn storio canolradd files a'r fi-
Pennod 4. Sefydlu Amgylchedd Datblygu 49
rhaglenni gweithredadwy nal a gynhyrchir gan y gorchymyn adeiladu idf.py. Yn gyffredinol, nid oes angen cyrchu cynnwys y cyfeiriadur adeiladu yn uniongyrchol. Mae ESP-IDF yn darparu gorchmynion rhagddiffiniedig i ryngweithio â'r cyfeiriadur, megis defnyddio'r gorchymyn fflach idf.py i leoli'r deuaidd a luniwyd yn awtomatig file a'i fflachio i'r cyfeiriad fflach penodedig, neu ddefnyddio'r gorchymyn idf.py fullclean i lanhau'r cyfeiriadur adeiladu cyfan.
Tabl rhaniad (partitions.csv) Mae angen tabl rhaniad ar bob prosiect i rannu gofod y fflach a nodi maint a chyfeiriad cychwyn y rhaglen weithredadwy a gofod data defnyddwyr. Bydd fflachia gorchymyn idf.py neu raglen uwchraddio OTA yn fflachio'r firmware i'r cyfeiriad cyfatebol yn ôl y tabl hwn. Mae ESP-IDF yn darparu nifer o dablau rhaniad rhagosodedig mewn cydrannau/partition_table, megis rhaniadau_singleapp.csv a rhaniadau_two_ ota.csv, y gellir eu dewis yn menuconfig.
Os na all tabl rhaniad rhagosodedig y system fodloni gofynion y prosiect, gellir ychwanegu partitions.csv arferol i gyfeiriadur y prosiect a'i ddewis yn menuconfig.
4.3.3 Rheolau Adeiladu Rhagosodedig y System Casglu
Rheolau ar gyfer diystyru cydrannau â'r un enw Yn ystod y broses chwilio cydrannau, mae'r system grynhoi yn dilyn trefn benodol. Yn gyntaf mae'n chwilio am gydrannau mewnol ESP-IDF, yna'n edrych am gydrannau'r prosiect defnyddiwr, ac yn olaf yn chwilio am gydrannau yn EXTRA_COMPONENT_DIRS. Mewn achosion lle mae cyfeiriaduron lluosog yn cynnwys cydrannau gyda'r un enw, bydd y gydran a geir yn y cyfeiriadur diwethaf yn diystyru unrhyw gydrannau blaenorol gyda'r un enw. Mae'r rheol hon yn caniatáu ar gyfer addasu cydrannau ESP-IDF o fewn y prosiect defnyddiwr, tra'n cadw'r cod ESP-IDF gwreiddiol yn gyfan.
Rheolau ar gyfer cynnwys cydrannau cyffredin yn ddiofyn Fel y crybwyllwyd yn adran 4.3.2, mae angen i gydrannau nodi'n benodol eu dibyniaeth ar gydrannau eraill yn y CMakeLists.txt. Fodd bynnag, mae cydrannau cyffredin fel freertos yn cael eu cynnwys yn awtomatig yn y system adeiladu yn ddiofyn, hyd yn oed os nad yw eu perthnasoedd dibyniaeth wedi'u diffinio'n benodol yn y sgript llunio. Mae cydrannau cyffredin ESP-IDF yn cynnwys freertos, Newlib, heap, log, soc, esp_rom, esp_common, xtensa/riscv, a cxx. Mae defnyddio'r cydrannau cyffredin hyn yn osgoi gwaith ailadroddus wrth ysgrifennu CMakeLists.txt a'i wneud yn fwy cryno.
Rheolau ar gyfer diystyru eitemau cyfluniad Gall datblygwyr ychwanegu paramedrau cyfluniad rhagosodedig trwy ychwanegu cyfluniad rhagosodedig file a enwir sdkconfig.defaults i'r prosiect. Am gynample, ychwanegu CONFIG_LOG_
50 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
DEFAULT_LEVEL_NONE = y gall ffurfweddu rhyngwyneb UART i beidio argraffu data log yn ddiofyn. Ar ben hynny, os oes angen gosod paramedrau penodol ar gyfer targed penodol, cyfluniad file o'r enw sdkconfig.defaults.TARGET_NAME gellir ei ychwanegu, lle gall TARGET_NAME fod yn esp32s2, esp32c3, ac ati. Mae'r rhain yn cyfluniad files yn cael eu mewnforio i'r sdkconfig yn ystod y gwaith llunio, gyda'r ffurfweddiad rhagosodedig cyffredinol file sdkconfig.defaults yn cael eu mewnforio yn gyntaf, ac yna'r ffurfwedd targed-benodol file, megis sdkconfig.defaults.esp32c3. Mewn achosion lle mae eitemau cyfluniad gyda'r un enw, y ffurfweddiad olaf file bydd yn diystyru y cyntaf.
4.3.4 Cyflwyniad i'r Sgript Crynhoi
Wrth ddatblygu prosiect gan ddefnyddio ESP-IDF, mae angen i ddatblygwyr nid yn unig ysgrifennu cod ffynhonnell ond mae angen iddynt hefyd ysgrifennu CMakeLists.txt ar gyfer y prosiect a'r cydrannau. Testun yw CMakeLists.txt file, a elwir hefyd yn sgript crynhoi, sy'n diffinio cyfres o wrthrychau casglu, eitemau cyfluniad llunio, a gorchmynion i arwain proses lunio'r cod ffynhonnell. Mae system grynhoi ESP-IDF v4.3.2 yn seiliedig ar CMake. Yn ogystal â chefnogi swyddogaethau a gorchmynion CMake brodorol, mae hefyd yn diffinio cyfres o swyddogaethau arfer, gan ei gwneud hi'n llawer haws ysgrifennu sgriptiau crynhoi.
Mae'r sgriptiau crynhoi yn ESP-IDF yn bennaf yn cynnwys sgript llunio'r prosiect a'r sgriptiau llunio cydrannau. Gelwir y CMakeLists.txt yng nghyfeiriadur gwraidd y prosiect yn sgript llunio'r prosiect, sy'n arwain proses lunio'r prosiect cyfan. Mae sgript llunio prosiect sylfaenol fel arfer yn cynnwys y tair llinell ganlynol:
1. cmake_minimum_required(VERSION 3.5) 2. cynnwys($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. project(myProject)
Yn eu plith, rhaid gosod y cmake_minimum_required (VERSION 3.5) ar y llinell gyntaf, a ddefnyddir i nodi'r rhif fersiwn CMake lleiaf sy'n ofynnol gan y prosiect. Yn gyffredinol, mae fersiynau mwy newydd o CMake yn gydnaws yn ôl â fersiynau hŷn, felly addaswch rif y fersiwn yn unol â hynny wrth ddefnyddio gorchmynion CMake mwy newydd i sicrhau cydnawsedd.
cynnwys ($ENV {IDF_PATH}/tools/cmake/project.cmake) yn mewnforio eitemau ffurfweddu a ddiffiniwyd ymlaen llaw a gorchmynion system grynhoi ESP-IDF, gan gynnwys rheolau adeiladu rhagosodedig y system grynhoi a ddisgrifir yn Adran 4.3.3. project(myProject) sy'n creu'r prosiect ei hun ac yn pennu ei enw. Bydd yr enw hwn yn cael ei ddefnyddio fel y deuaidd allbwn terfynol file enw, hy, myProject.elf a myProject.bin.
Gall prosiect gynnwys sawl cydran, gan gynnwys y brif gydran. Mae cyfeiriadur lefel uchaf pob cydran yn cynnwys CMakeLists.txt file, a elwir yn sgript llunio cydran. Defnyddir sgriptiau llunio cydran yn bennaf i nodi dibyniaethau cydrannau, paramedrau cyfluniad, cod ffynhonnell files, ac yn cynnwys penawd files ar gyfer
Pennod 4. Sefydlu Amgylchedd Datblygu 51
crynhoad. Gyda swyddogaeth arferiad ESP-IDF idf_component_register, mae'r cod lleiaf sydd ei angen ar gyfer sgript crynhoi cydran fel a ganlyn:
1. idf_component_register(SRCS "src1.c"
2.
INCLUDE_DIRS “cynnwys”
3.
ANGEN cydran 1)
Mae paramedr SRCS yn darparu rhestr o ffynhonnell files yn y gydran, wedi'u gwahanu gan fylchau os oes lluosog files. Mae'r paramedr INCLUDE_DIRS yn darparu rhestr o bennawd cyhoeddus file cyfeiriaduron ar gyfer y gydran, a fydd yn cael eu hychwanegu at y llwybr chwilio cynnwys am gydrannau eraill sy'n dibynnu ar y gydran gyfredol. Mae'r paramedr REQUIRES yn nodi'r dibyniaethau cydran cyhoeddus ar gyfer y gydran gyfredol. Mae angen i gydrannau ddatgan yn benodol pa gydrannau y maent yn dibynnu arnynt, megis cydran 2 yn dibynnu ar gydran1. Fodd bynnag, ar gyfer y brif gydran, sy'n dibynnu ar yr holl gydrannau yn ddiofyn, gellir hepgor y paramedr REQUIRES.
Yn ogystal, gellir defnyddio gorchmynion CMake brodorol hefyd yn y sgript llunio. Am gynample, defnyddiwch y set gorchymyn i osod newidynnau, megis set (AMRYWOL “GWERTH”).
4.3.5 Cyflwyniad i Orchmynion Cyffredin
Mae ESP-IDF yn defnyddio CMake (offeryn cyfluniad prosiect), Ninja (offeryn adeiladu prosiect) ac esptool (offeryn fflach) yn y broses o lunio cod. Mae pob offeryn yn chwarae rhan wahanol yn y broses o lunio, adeiladu a fflachio, ac mae hefyd yn cefnogi gwahanol orchmynion gweithredu. Er mwyn hwyluso gweithrediad defnyddwyr, mae ESP-IDF yn ychwanegu idf.py pen blaen unedig sy'n caniatáu i'r gorchmynion uchod gael eu galw'n gyflym.
Cyn defnyddio idf.py, gwnewch yn siŵr:
· Mae'r newidyn amgylchedd IDF_PATH o ESP-IDF wedi'i ychwanegu at y derfynell gyfredol. · Y cyfeiriadur gweithredu gorchymyn yw cyfeiriadur gwraidd y prosiect, sy'n cynnwys y
sgript llunio'r prosiect CMakeLists.txt.
Mae gorchmynion cyffredin idf.py fel a ganlyn:
· idf.py –help: yn dangos rhestr o orchmynion a'u cyfarwyddiadau defnyddio. · idf.py gosod-targed : gosod y crynhoad taidf.py fullcleanrget, such
fel disodli ag esp32c3. · idf.py menuconfig: lansio menuconfig, ffurfweddiad graffigol terfynell
offeryn, sy'n gallu dewis neu addasu opsiynau cyfluniad, ac mae'r canlyniadau cyfluniad yn cael eu cadw yn y sdkconfig file. · adeiladu idf.py: cychwyn casglu cod. Y canolradd files a bydd y rhaglen gyflawnadwy terfynol a gynhyrchir gan y casgliad yn cael ei gadw yng nghyfeirlyfr adeiladu'r prosiect yn ddiofyn. Mae'r broses gasglu yn gynyddrannol, sy'n golygu os mai dim ond un ffynhonnell file yn cael ei addasu, dim ond yr addasedig file yn cael ei lunio y tro nesaf.
52 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
· idf.py lân: glanhau'r canolradd files a gynhyrchir gan gasgliad y prosiect. Bydd y prosiect cyfan yn cael ei orfodi i lunio yn y casgliad nesaf. Sylwch na fydd y cyfluniad CMake a'r addasiadau cyfluniad a wneir gan menuconfig yn cael eu dileu yn ystod glanhau.
· idf.py fullclean: dileu'r cyfeiriadur adeiladu cyfan, gan gynnwys holl allbwn cyfluniad CMake files. Wrth adeiladu'r prosiect eto, bydd CMake yn ffurfweddu'r prosiect o'r dechrau. Sylwch y bydd y gorchymyn hwn yn dileu pob un yn rheolaidd files yn y cyfeiriadur adeiladu, felly defnyddiwch ef yn ofalus, a chyfluniad y prosiect file ni fydd yn cael ei ddileu.
· fflach idf.py: fflachio'r rhaglen weithredadwy deuaidd file a gynhyrchir gan adeiladu i'r targed ESP32-C3. Mae'r opsiynau -p ac -b yn cael eu defnyddio i osod enw dyfais y porthladd cyfresol a'r gyfradd baud ar gyfer fflachio, yn y drefn honno. Os na nodir y ddau opsiwn hyn, bydd y porthladd cyfresol yn cael ei ganfod yn awtomatig a bydd y gyfradd baud rhagosodedig yn cael ei defnyddio.
· monitor idf.py: arddangos allbwn porthladd cyfresol y targed ESP32-C3. Gellir defnyddio'r opsiwn -p i nodi enw dyfais y porth cyfresol ochr y gwesteiwr. Yn ystod argraffu porth cyfresol, pwyswch y cyfuniad allweddol Ctrl+] i adael y monitor.
Gellir cyfuno'r gorchmynion uchod hefyd yn ôl yr angen. Am gynample, bydd y gorchymyn idf.py adeiladu monitor fflach yn perfformio llunio cod, fflachio, ac agor y monitor porthladd cyfresol yn eu trefn.
Gallwch ymweld â https://bookc3.espressif.com/build-system i wybod mwy am system llunio ESP-IDF.
4.4 Arfer: Llunio Exampgyda Rhaglen “Blink”
4.4.1 Example Dadansoddi
Bydd yr adran hon yn cymryd y rhaglen Blink fel example i ddadansoddi'r file strwythur a rheolau codio prosiect go iawn yn fanwl. Mae'r rhaglen Blink yn gweithredu'r effaith amrantu LED, ac mae'r prosiect wedi'i leoli yn y cyfeiriadur examples/get-started/blink, sy'n cynnwys ffynhonnell file, cyfluniad files, a nifer o sgriptiau casglu.
Mae'r prosiect golau smart a gyflwynir yn y llyfr hwn yn seiliedig ar y cynampgyda rhaglen. Bydd swyddogaethau'n cael eu hychwanegu'n raddol mewn penodau diweddarach i'w chwblhau o'r diwedd.
Cod ffynhonnell Er mwyn dangos y broses ddatblygu gyfan, mae'r rhaglen Blink wedi'i chopïo i esp32c3-iot-projects/device firmware/1 blink.
Strwythur cyfeiriadur y prosiect blincio files yn Ffigur 4.15.
Mae'r prosiect blincio yn cynnwys dim ond un prif gyfeiriadur, sy'n elfen arbennig hynny
Pennod 4. Sefydlu Amgylchedd Datblygu 53
Ffigur 4.15. File strwythur cyfeiriadur y prosiect blincio
rhaid ei gynnwys fel y disgrifir yn adran 4.3.2. Defnyddir y prif gyfeiriadur yn bennaf i storio gweithrediad y swyddogaeth app_main(), sef y pwynt mynediad i'r rhaglen defnyddiwr. Nid yw'r prosiect blincio yn cynnwys y cyfeiriadur cydrannau, oherwydd mae hyn yn gynampDim ond y cydrannau sy'n dod gydag ESP-IDF sydd angen i le eu defnyddio ac nid oes angen cydrannau ychwanegol arnynt. Defnyddir y CMakeLists.txt a gynhwysir yn y prosiect blincio i arwain y broses grynhoi, tra defnyddir Kconfig.projbuild i ychwanegu eitemau cyfluniad ar gyfer y cynampgyda rhaglen yn menuconfig. Eraill yn ddiangen files ni fydd yn effeithio ar lunio'r cod, felly ni fyddant yn cael eu trafod yma. Cyflwyniad manwl i'r prosiect blincio files fel a ganlyn.
1. Mae /*blink.c yn cynnwys y pennawd canlynol files*/
2. #cynnwys
//Pennawd llyfrgell Safonol C file
3. #cynnwys “freertos/freeRTOS.h” //FreeRTOS prif bennawd file
4. #cynnwys “freertos/task.h”
// Pennawd Tasg FreeRTOS file
5. #cynnwys "sdkconfig.h"
// Pennawd cyfluniad file a gynhyrchir gan kconfig
6. #cynnwys “driver/gpio.h”
// Pennawd gyrrwr GPIO file
Y ffynhonnell file blink.c yn cynnwys cyfres o bennawd files sy'n cyfateb i swyddogaeth datgan-
adau. Yn gyffredinol, mae ESP-IDF yn dilyn trefn cynnwys pennawd safonol y llyfrgell files, FreeR-
pennawd TOS files, pennawd gyrrwr files, pennawd cydran arall files, a phennawd y prosiect files.
Y drefn ym mha bennawd files yn cael eu cynnwys yn effeithio ar ganlyniad y casgliad terfynol, felly ceisiwch
dilyn y rheolau diofyn. Dylid nodi bod sdkconfig.h yn cael ei gynhyrchu'n awtomatig
gan kconfig a dim ond trwy'r gorchymyn idf.py menuconfig y gellir ei ffurfweddu.
Addasiad uniongyrchol o'r pennawd hwn file yn cael ei drosysgrifo.
1. /* Gallwch ddewis y GPIO sy'n cyfateb i'r LED yn idf.py menuconfig, a chanlyniad addasu menuconfig yw bod gwerth CONFIG_BLINK
Bydd _GPIO yn cael ei newid. Gallwch hefyd addasu'r diffiniad macro yn uniongyrchol
yma, a newid CONFIG_BLINK_GPIO i werth sefydlog.*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO
3. app_main(gwag) gwag
4. {
5.
/* Ffurfweddu IO fel swyddogaeth ddiofyn GPIO, galluogi modd tynnu i fyny, a
6.
analluogi dulliau mewnbwn ac allbwn*/
7.
gpio_reset_pin(BLINK_GPIO);
54 Antur Di-wifr ESP32-C3: Canllaw Cynhwysfawr i IoT
8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. }
/* Gosod GPIO i'r modd allbwn*/ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); tra (1) {
/* Argraffu log */ printf (“Diffodd y LEDn”); /* Diffoddwch y LED (allbwn lefel isel)*/ gpio_set_level(BLINK_GPIO, 0); /* Oedi (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf (“Troi'r LEDn ymlaen”); /* Trowch y LED ymlaen (allbwn lefel uchel)*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }
Mae'r swyddogaeth app_main () yn y Blink exampMae'r rhaglen yn gweithredu fel y pwynt mynediad ar gyfer rhaglenni defnyddwyr. Mae'n swyddogaeth syml heb unrhyw baramedrau a dim gwerth dychwelyd. Gelwir y swyddogaeth hon ar ôl i'r system orffen cychwyn, sy'n cynnwys tasgau megis cychwyn y porth cyfresol log, ffurfweddu craidd sengl/deuol, a ffurfweddu'r corff gwarchod.
Mae'r swyddogaeth app_main () yn rhedeg yng nghyd-destun tasg o'r enw prif. Gellir addasu maint pentwr a blaenoriaeth y dasg hon yn menuconfig Componentconfig Common ESP-related.
Ar gyfer tasgau syml fel blincio LED, gellir gweithredu'r holl god angenrheidiol yn uniongyrchol yn y swyddogaeth app_main (). Mae hyn fel arfer yn golygu cychwyn y GPIO sy'n cyfateb i'r LED a defnyddio dolen ychydig (1) i doglo'r LED ymlaen ac i ffwrdd. Fel arall, gallwch ddefnyddio FreeRTOS API i greu tasg newydd sy'n delio â'r amrantu LED. Unwaith y bydd y dasg newydd wedi'i chreu'n llwyddiannus, gallwch chi adael y swyddogaeth app_main ().
Mae cynnwys prif/CMakeLists.txt file, sy'n arwain y broses o lunio'r brif gydran, fel a ganlyn:
1. idf_component_register(SRCS “blink.c” INCLUDE_DIRS “.” )
Yn eu plith, dim ond un swyddogaeth system crynhoi y mae prif/CMakeLists.txt yn ei galw, hynny yw idf_component_register. Yn debyg i'r CMakeLists.txt ar gyfer y rhan fwyaf o gydrannau eraill, mae blink.c yn cael ei ychwanegu at SRCS, a'r ffynhonnell files ychwanegu at SRCS yn cael ei lunio. Ar yr un pryd, dylid ychwanegu “.”, sy'n cynrychioli'r llwybr lle mae CMakeLists.txt wedi'i leoli, at INCLUDE_DIRS fel y cyfeiriaduron chwilio ar gyfer pennawd files. Mae cynnwys CMakeLists.txt fel a ganlyn:
1. #Nodwch v3.5 fel y fersiwn CMake hynaf a gefnogir gan y prosiect cyfredol 2. Rhaid uwchraddio #Fersiynau sy'n is na v3.5 cyn i'r crynhoi barhau 3. cmake_minimum_required(FERSION 3.5) 4. #Cynnwys ffurfwedd CMake rhagosodedig yr ESP -System llunio IDF
Pennod 4. Sefydlu Amgylchedd Datblygu 55
5. cynnwys($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Creu prosiect o'r enw “blink” 7. project(myProject)
Yn eu plith, mae'r CMakeLists.txt yn y cyfeiriadur gwraidd yn bennaf yn cynnwys $ENV{IDF_ PATH}/tools/cmake/project.cmake, sef y prif ffurfweddiad CMake file a ddarperir gan ESP-IDF. Mae'n cael ei ddefnyddio i con
Dogfennau / Adnoddau
![]() |
Espressif Systems ESP32-C3 Antur Di-wifr [pdfCanllaw Defnyddiwr Antur Di-wifr ESP32-C3, ESP32-C3, Antur Di-wifr, Antur |