ເນື້ອໃນ ເຊື່ອງ
2 ການຜະຈົນໄພໄຮ້ສາຍ ESP32-C3
2.1 ຄູ່ມືທີ່ສົມບູນແບບກ່ຽວກັບ IoT

ການຜະຈົນໄພໄຮ້ສາຍ ESP32-C3

ການຜະຈົນໄພໄຮ້ສາຍ ESP32-C3

ຄູ່ມືທີ່ສົມບູນແບບກ່ຽວກັບ IoT

Espressif Systems ວັນທີ 12 ມິຖຸນາ 2023

ຂໍ້ມູນຈໍາເພາະ

  • ຜະລິດຕະພັນ: ESP32-C3 Wireless Adventure
  • ຜູ້ຜະລິດ: Espressif Systems
  • ວັນທີ: 12 ມິຖຸນາ 2023

ຄໍາແນະນໍາການນໍາໃຊ້ຜະລິດຕະພັນ

ການກະກຽມ

ກ່ອນທີ່ຈະໃຊ້ ESP32-C3 Wireless Adventure, ໃຫ້ແນ່ໃຈວ່າທ່ານເປັນ
ຄຸ້ນເຄີຍກັບແນວຄວາມຄິດ ແລະສະຖາປັດຕະຍະກຳຂອງ IoT. ນີ້ຈະຊ່ວຍໃຫ້
ທ່ານເຂົ້າໃຈວິທີທີ່ອຸປະກອນເຫມາະກັບລະບົບນິເວດ IoT ທີ່ໃຫຍ່ກວ່າ
ແລະຄໍາຮ້ອງສະຫມັກທີ່ມີທ່າແຮງຂອງມັນຢູ່ໃນເຮືອນ smart.

ການແນະນໍາແລະການປະຕິບັດໂຄງການ IoT

ໃນພາກນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ກ່ຽວກັບໂຄງການ IoT ປົກກະຕິ,
ລວມທັງໂມດູນພື້ນຖານສໍາລັບອຸປະກອນ IoT ທົ່ວໄປ, ໂມດູນພື້ນຖານ
ຂອງແອັບພລິເຄຊັນລູກຄ້າ, ແລະແພລະຕະຟອມຟັງ IoT ທົ່ວໄປ. ນີ້ຈະ
ໃຫ້ທ່ານມີພື້ນຖານສໍາລັບຄວາມເຂົ້າໃຈແລະການສ້າງຂອງທ່ານ
ໂຄງການ IoT ຂອງຕົນເອງ.

ການປະຕິບັດ: ໂຄງການ Smart Light

ໃນໂຄງການປະຕິບັດນີ້, ທ່ານຈະຮຽນຮູ້ວິທີການສ້າງ smart
ແສງສະຫວ່າງໂດຍໃຊ້ ESP32-C3 Wireless Adventure. ໂຄງ​ປະ​ກອບ​ການ​,
ຫນ້າທີ່, ການກະກຽມຮາດແວ, ແລະຂະບວນການພັດທະນາຈະເປັນ
ອະທິບາຍລະອຽດ.

ໂຄງສ້າງໂຄງການ

ໂຄງການປະກອບດ້ວຍຫຼາຍອົງປະກອບ, ລວມທັງ
ESP32-C3 Wireless Adventure, ໄຟ LED, ເຊັນເຊີ, ແລະຟັງ
ເບື້ອງຫຼັງ.

ຫນ້າທີ່ໂຄງການ

ໂຄງການແສງສະຫວ່າງ smart ອະນຸຍາດໃຫ້ທ່ານສາມາດຄວບຄຸມຄວາມສະຫວ່າງແລະ
ສີຂອງ LEDs ຫ່າງໄກສອກຫຼີກໂດຍຜ່ານ app ໂທລະສັບມືຖືຫຼື web
ການໂຕ້ຕອບ.

ການກະກຽມຮາດແວ

ເພື່ອກະກຽມສໍາລັບໂຄງການ, ທ່ານຈະຕ້ອງໄດ້ລວບລວມ
ອົງປະກອບຮາດແວທີ່ຈໍາເປັນ, ເຊັ່ນ ESP32-C3 Wireless
ກະດານຜະຈົນໄພ, ໄຟ LED, ຕົວຕ້ານທານ, ແລະການສະຫນອງພະລັງງານ.

ຂະບວນການພັດທະນາ

ຂະບວນການພັດທະນາປະກອບດ້ວຍການສ້າງຕັ້ງການພັດທະນາ
ສະພາບແວດລ້ອມ, ການຂຽນລະຫັດເພື່ອຄວບຄຸມ LEDs, ການເຊື່ອມຕໍ່ກັບ
cloud backend, ແລະການທົດສອບການເຮັດວຽກຂອງ smart ໄດ້
ແສງສະຫວ່າງ.

ແນະນໍາ ESP RainMaker

ESP RainMaker ເປັນກອບທີ່ມີປະສິດທິພາບໃນການພັດທະນາ IoT
ອຸປະກອນ. ໃນພາກນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວ່າ ESP RainMaker ແມ່ນຫຍັງແລະ
ມັນສາມາດໄດ້ຮັບການປະຕິບັດໃນໂຄງການຂອງທ່ານແນວໃດ.

ESP RainMaker ແມ່ນຫຍັງ?

ESP RainMaker ເປັນແພລະຕະຟອມທີ່ອີງໃສ່ເມຄທີ່ສະຫນອງຊຸດຂອງ
ເຄື່ອງມື ແລະການບໍລິການສໍາລັບການກໍ່ສ້າງ ແລະການຄຸ້ມຄອງອຸປະກອນ IoT.

ການປະຕິບັດຂອງ ESP RainMaker

ພາກນີ້ອະທິບາຍເຖິງອົງປະກອບທີ່ແຕກຕ່າງກັນທີ່ກ່ຽວຂ້ອງ
ການປະຕິບັດ ESP RainMaker, ລວມທັງການບໍລິການອ້າງສິດ,
RainMaker Agent, cloud backend, ແລະ RainMaker Client.

ການປະຕິບັດ: ຈຸດສໍາຄັນສໍາລັບການພັດທະນາກັບ ESP RainMaker

ໃນພາກປະຕິບັດນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ກ່ຽວກັບຈຸດສໍາຄັນທີ່ຈະ
ພິຈາລະນາເມື່ອພັດທະນາກັບ ESP RainMaker. ນີ້ປະກອບມີອຸປະກອນ
ການອ້າງສິດ, ການຊິ້ງຂໍ້ມູນຂໍ້ມູນ ແລະການຄຸ້ມຄອງຜູ້ໃຊ້.

ຄຸນນະສົມບັດຂອງ ESP RainMaker

ESP RainMaker ສະເຫນີລັກສະນະຕ່າງໆສໍາລັບການຄຸ້ມຄອງຜູ້ໃຊ້, ສິ້ນສຸດ
ຜູ້ໃຊ້, ແລະຜູ້ບໍລິຫານ. ຄຸນນະສົມບັດເຫຼົ່ານີ້ອະນຸຍາດໃຫ້ອຸປະກອນງ່າຍ
ການຕິດຕັ້ງ, ການຄວບຄຸມໄລຍະໄກ, ແລະການຕິດຕາມ.

ການສ້າງຕັ້ງສະພາບແວດລ້ອມການພັດທະນາ

ພາກນີ້ໃຫ້ຫຼາຍກວ່າview ຂອງ ESP-IDF (Espressif IoT
ຂອບການພັດທະນາ), ເຊິ່ງເປັນກອບການພັດທະນາຢ່າງເປັນທາງການ
ສໍາລັບອຸປະກອນທີ່ໃຊ້ ESP32. ມັນອະທິບາຍສະບັບທີ່ແຕກຕ່າງກັນຂອງ
ESP-IDF ແລະວິທີການສ້າງຕັ້ງສະພາບແວດລ້ອມການພັດທະນາ.

ການພັດທະນາຮາດແວແລະໄດເວີ

ການອອກແບບຮາດແວຂອງຜະລິດຕະພັນແສງສະຫວ່າງອັດສະລິຍະໂດຍອີງໃສ່ ESP32-C3

ພາກນີ້ເນັ້ນໃສ່ການອອກແບບຮາດແວຂອງແສງສະຫຼາດ
ຜະລິດຕະພັນໂດຍອີງໃສ່ ESP32-C3 Wireless Adventure. ມັນກວມເອົາ
ຄຸນນະສົມບັດແລະອົງປະກອບຂອງຜະລິດຕະພັນແສງສະຫວ່າງ smart, ເຊັ່ນດຽວກັນກັບ
ການອອກແບບຮາດແວຂອງລະບົບຫຼັກ ESP32-C3.

ຄຸນນະສົມບັດແລະອົງປະກອບຂອງຜະລິດຕະພັນແສງສະຫວ່າງ smart

ພາກສ່ວນຍ່ອຍນີ້ອະທິບາຍລັກສະນະ ແລະອົງປະກອບທີ່ເຮັດໃຫ້
ເຖິງຜະລິດຕະພັນແສງສະຫວ່າງ smart. ມັນສົນທະນາກ່ຽວກັບຫນ້າທີ່ທີ່ແຕກຕ່າງກັນ
ແລະການພິຈາລະນາການອອກແບບສໍາລັບການສ້າງໄຟອັດສະລິຍະ.

ການອອກແບບຮາດແວຂອງລະບົບຫຼັກ ESP32-C3

ການອອກແບບຮາດແວຂອງລະບົບຫຼັກ ESP32-C3 ປະກອບມີພະລັງງານ
ການສະໜອງ, ລຳດັບການເປີດເຄື່ອງ, ການຣີເຊັດລະບົບ, SPI flash, ແຫຼ່ງໂມງ,
ແລະການພິຈາລະນາ RF ແລະເສົາອາກາດ. ພາກສ່ວນຍ່ອຍນີ້ໃຫ້
ຂໍ້ມູນລະອຽດກ່ຽວກັບລັກສະນະເຫຼົ່ານີ້.

FAQ

Q: ESP RainMaker ແມ່ນຫຍັງ?

A: ESP RainMaker ເປັນແພລະຕະຟອມທີ່ອີງໃສ່ເມຄທີ່ສະຫນອງເຄື່ອງມື
ແລະການບໍລິການສໍາລັບການກໍ່ສ້າງແລະການຄຸ້ມຄອງອຸປະກອນ IoT. ມັນເຮັດໃຫ້ງ່າຍດາຍ
ຂະບວນການພັດທະນາແລະອະນຸຍາດໃຫ້ຕິດຕັ້ງອຸປະກອນງ່າຍ, ຫ່າງໄກສອກຫຼີກ
ການ​ຄວບ​ຄຸມ​, ແລະ​ການ​ຕິດ​ຕາມ​ກວດ​ກາ​.

ຖາມ: ຂ້ອຍສາມາດກໍານົດສະພາບແວດລ້ອມການພັດທະນາສໍາລັບ
ESP32-C3?

A: ເພື່ອຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາສໍາລັບ ESP32-C3, ທ່ານຕ້ອງການ
ການຕິດຕັ້ງ ESP-IDF (Espressif IoT Development Framework) ແລະ
ຕັ້ງຄ່າມັນຕາມຄໍາແນະນໍາທີ່ສະຫນອງໃຫ້. ESP-IDF ແມ່ນ
ກອບການພັດທະນາຢ່າງເປັນທາງການສໍາລັບອຸປະກອນທີ່ໃຊ້ ESP32.

Q: ຄຸນສົມບັດຂອງ ESP RainMaker ແມ່ນຫຍັງ?

A: ESP RainMaker ສະເຫນີລັກສະນະຕ່າງໆ, ລວມທັງຜູ້ໃຊ້
ການຈັດການ, ຄຸນສົມບັດຂອງຜູ້ໃຊ້ສຸດທ້າຍ, ແລະຄຸນສົມບັດຂອງຜູ້ເບິ່ງແຍງລະບົບ. ການຄຸ້ມຄອງຜູ້ໃຊ້
ອະ​ນຸ​ຍາດ​ໃຫ້​ສໍາ​ລັບ​ການ​ອຸ​ປະ​ກອນ​ງ່າຍ​ການ​ຮ້ອງ​ຂໍ​ແລະ synchronization ຂໍ້​ມູນ​. ຜູ້ໃຊ້ສຸດທ້າຍ
ຄຸນນະສົມບັດເຮັດໃຫ້ການຄວບຄຸມຫ່າງໄກສອກຫຼີກຂອງອຸປະກອນໂດຍຜ່ານ app ໂທລະສັບມືຖືຫຼື
web ການໂຕ້ຕອບ. ຄຸນສົມບັດຂອງຜູ້ເບິ່ງແຍງລະບົບໃຫ້ເຄື່ອງມືໃນການຕິດຕາມອຸປະກອນ
ແລະການຄຸ້ມຄອງ.

ການຜະຈົນໄພໄຮ້ສາຍ ESP32-C3
ຄູ່ມືທີ່ສົມບູນແບບກ່ຽວກັບ IoT
Espressif Systems ວັນທີ 12 ມິຖຸນາ 2023

ເນື້ອໃນ

ຂ້າ​ພະ​ເຈົ້າ​ກະ​ກຽມ​

1

1 ບົດແນະນຳກ່ຽວກັບ IoT

3

1.1 ສະຖາປັດຕະຍະກຳ IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 ຄໍາຮ້ອງສະຫມັກ IoT ໃນເຮືອນອັດສະລິຍະ . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 ການແນະນໍາ ແລະການປະຕິບັດໂຄງການ IoT

9

2.1 ການແນະນຳໂຄງການ IoT ທົ່ວໄປ. . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 ໂມດູນພື້ນຖານສໍາລັບອຸປະກອນ IoT ທົ່ວໄປ . . . . . . . . . . . . . . . . . 9

2.1.2 ໂມດູນພື້ນຖານຂອງແອັບພລິເຄຊັນລູກຄ້າ . . . . . . . . . . . . . . . . . . . 10

2.1.3 ການແນະນຳແພລດຟອມ IoT Cloud ທົ່ວໄປ. . . . . . . . . . . . . . 11

2.2 ການປະຕິບັດ: ໂຄງການ Smart Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 ໂຄງສ້າງໂຄງການ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 ໜ້າທີ່ຂອງໂຄງການ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.3 ການກະກຽມຮາດແວ. . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.4 ຂະບວນການພັດທະນາ. . . . . . . . . . . . . . . . . . . . . . . . . . . . ໑໖

2.3 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 ແນະນໍາ ESP RainMaker

19

3.1 ESP RainMaker ແມ່ນຫຍັງ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 ການຈັດຕັ້ງປະຕິບັດ ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . 21

3.2.1 ບໍລິການອ້າງສິດ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.2 ຕົວແທນ RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.3 Cloud Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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

3.3 ການປະຕິບັດ: ຈຸດສໍາຄັນສໍາລັບການພັດທະນາກັບ ESP RainMaker . . . . . . . . . . . . 25

3.4 ຄຸນສົມບັດຂອງ ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.1 ການຄຸ້ມຄອງຜູ້ໃຊ້ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2 ຄຸນສົມບັດຜູ້ໃຊ້ສຸດທ້າຍ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4.3 ຄຸນສົມບັດຂອງຜູ້ເບິ່ງແຍງລະບົບ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.5 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 ການສ້າງສະພາບແວດລ້ອມການພັດທະນາ

31

4.1 ESP-IDF ເກີນview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 ລຸ້ນ ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3

4.1.2 ESP-IDF Git Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 ການເລືອກລຸ້ນທີ່ເຫມາະສົມ . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 ເກີນview ຂອງ ESP-IDF SDK Directory . . . . . . . . . . . . . . . . . . . . 34 4.2 ການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF . . . . . . . . . . . . . . . . . 38 4.2.1 ການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ໃນ Linux . . . . . . . . 38 4.2.2 ການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ເທິງ Windows . . . . . . 40 4.2.3 ການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ໃນ Mac . . . . . . . . . 45 4.2.4 ການຕິດຕັ້ງ VS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 ການແນະນຳສະພາບແວດລ້ອມການພັດທະນາຂອງພາກສ່ວນທີສາມ. . . . . . . . 46 4.3 ລະບົບການລວບລວມ ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 ແນວຄວາມຄິດພື້ນຖານຂອງລະບົບການລວບລວມ. . . . . . . . . . . . . . . . . . 47 4.3.2 ໂຄງການ File ໂຄງສ້າງ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 ກົດລະບຽບການສ້າງມາດຕະຖານຂອງລະບົບການລວບລວມ. . . . . . . . . . . . . 50 4.3.4 ການນໍາສະເໜີກ່ຽວກັບ Script Compilation . . . . . . . . . . . . . . . . . . 51 4.3.5 ຄໍາແນະນໍາກ່ຽວກັບຄໍາສັ່ງທົ່ວໄປ . . . . . . . . . . . . . . . . . . . 52 4.4 ການປະຕິບັດ: ການລວບລວມ Exampໃນໂຄງການ "ກະພິບ". . . . . . . . . . . . . . . . . . 53 4.4.1 Exampການ​ວິ​ເຄາະ​. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 ການລວບລວມໂປຣແກຣມ Blink . . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 ການກະພິບໂປແກມກະພິບ. . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 ການວິເຄາະບັນທຶກຂອງ Serial Port ຂອງໂປຣແກຣມ Blink . . . . . . . . . . . . . . 60 4.5 ສັງລວມ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

II ການພັດທະນາຮາດແວ ແລະໄດເວີ

65

5 ການອອກແບບຮາດແວຂອງຜະລິດຕະພັນແສງສະຫຼາດໂດຍອີງໃສ່ ESP32-C3

67

5.1 ຄຸນສົມບັດ ແລະອົງປະກອບຂອງຜະລິດຕະພັນແສງອັດສະລິຍະ . . . . . . . . . . . . . . . 67

5.2 ການອອກແບບຮາດແວຂອງລະບົບຫຼັກ ESP32-C3 . . . . . . . . . . . . . . . . . . . 70

5.2.1 ການສະຫນອງພະລັງງານ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2.2 ລຳດັບການເປີດເຄື່ອງ ແລະ ການຕັ້ງລະບົບຄືນໃໝ່ . . . . . . . . . . . . . . . . . . 74

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

5.2.4 ທີ່ມາຂອງໂມງ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.5 RF ແລະເສົາອາກາດ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.6 ເຂັມຂັດ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2.7 GPIO ແລະ PWM Controller . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 ການປະຕິບັດ: ການສ້າງລະບົບໄຟອັດສະລິຍະດ້ວຍ ESP32-C3 . . . . . . . . . . . . . 80

5.3.1 ການເລືອກໂມດູນ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.3.2 ການຕັ້ງຄ່າ GPIOs ຂອງສັນຍານ PWM . . . . . . . . . . . . . . . . . . . . 82

5.3.3 ການດາວໂຫຼດເຟີມແວ ແລະການໂຕ້ຕອບການດີບັກ. . . . . . . . . . . . 82

5.3.4 ຄໍາແນະນໍາສໍາລັບການອອກແບບ RF . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 ຄໍາແນະນໍາສໍາລັບການອອກແບບການສະຫນອງພະລັງງານ . . . . . . . . . . . . . . . . . . . 86 5.4 ສັງລວມ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6 ການພັດທະນາຄົນຂັບ

87

6.1 ຂະບວນການພັດທະນາຄົນຂັບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.2 ESP32-C3 ແອັບພລິເຄຊັ່ນຕໍ່ຂ້າງ . . . . . . . . . . . . . . . . . . . . . . . . . 88

6.3 ພື້ນຖານໄດເວີ LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.1 ພື້ນທີ່ສີ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.3.2 ໄດເວີ LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

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

6.3.4 ການແນະນຳ PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.4 LED Dimming Driver ພັດທະນາ. . . . . . . . . . . . . . . . . . . . . . . . 96

6.4.1 ການເກັບຮັກສາທີ່ບໍ່ປ່ຽນແປງ (NVS). . . . . . . . . . . . . . . . . . . . . . . . 97

6.4.2 ຕົວຄວບຄຸມ LED PWM (LEDC). . . . . . . . . . . . . . . . . . . . . . . 98

6.4.3 ການຂຽນໂປຣແກຣມ LED PWM . . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.5 ການປະຕິບັດ: ການເພີ່ມ Drivers ໃນໂຄງການ Smart Light . . . . . . . . . . . . . . . . . 103

6.5.1 ປຸ່ມໄດເວີ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

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

6.6 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

III ການສື່ສານໄຮ້ສາຍແລະການຄວບຄຸມ

109

7 ການຕັ້ງຄ່າ Wi-Fi ແລະການເຊື່ອມຕໍ່

111

7.1 ພື້ນຖານຂອງ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ໑໑໑

7.1.1 ການແນະນຳ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . ໑໑໑

7.1.2 ວິວັດທະນາການຂອງ IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . ໑໑໑

7.1.3 ແນວຄວາມຄິດ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.1.4 ການເຊື່ອມຕໍ່ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.2 ພື້ນຖານຂອງ Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ໑໒໒

7.2.1 ການແນະນຳ Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . ໑໒໓

7.2.2 ແນວຄວາມຄິດ Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.2.3 ການເຊື່ອມຕໍ່ Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . 127

7.3 ການຕັ້ງຄ່າເຄືອຂ່າຍ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . ໑໓໑

7.3.1 ຄູ່ມືການຕັ້ງຄ່າເຄືອຂ່າຍ Wi-Fi . . . . . . . . . . . . . . . . . . . . ໑໓໑

7.3.2 SoftAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ໑໓໒

7.3.3 SmartConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ໑໓໒

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

7.3.5 ວິທີການອື່ນໆ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7.4 ໂປຣແກຣມ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 ອົງປະກອບ Wi-Fi ໃນ ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 ການຝຶກຫັດ: ການເຊື່ອມຕໍ່ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 ອອກກໍາລັງກາຍ: ການເຊື່ອມຕໍ່ Wi-Fi ອັດສະລິຍະ . . . . . . . . . . . . . . . . . . . . . 145
7.5 ການປະຕິບັດ: ການຕັ້ງຄ່າ Wi-Fi ໃນໂຄງການ Smart Light . . . . . . . . . . . . . . . 156 7.5.1 ການເຊື່ອມຕໍ່ Wi-Fi ໃນໂຄງການ Smart Light . . . . . . . . . . . . . . . . . 156 7.5.2 ການຕັ້ງຄ່າ Smart Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.6 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

8 ການຄວບຄຸມທ້ອງຖິ່ນ

159

8.1 ການແນະນໍາການຄວບຄຸມທ້ອງຖິ່ນ . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

8.1.1 ການນຳໃຊ້ການຄວບຄຸມທ້ອງຖິ່ນ . . . . . . . . . . . . . . . . . . . . . . . . ໑໖໑

Advan ປີ 8.1.2tages ຂອງ​ການ​ຄວບ​ຄຸມ​ທ້ອງ​ຖິ່ນ​. . . . . . . . . . . . . . . . . . . . . . . . ໑໖໑

8.1.3 ການຄົ້ນພົບອຸປະກອນຄວບຄຸມຜ່ານໂທລະສັບສະຫຼາດ . . . . . . . . . . ໑໖໑

8.1.4 ການສື່ສານຂໍ້ມູນລະຫວ່າງໂທລະສັບສະຫຼາດແລະອຸປະກອນ. . . . . . . . ໑໖໒

8.2 ວິທີການຄົ້ນພົບທ້ອງຖິ່ນທົ່ວໄປ . . . . . . . . . . . . . . . . . . . . . . . . ໑໖໒

8.2.1 ການອອກອາກາດ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ໑໖໓

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

8.2.3 ການປຽບທຽບລະຫວ່າງ Broadcast ແລະ Multicast . . . . . . . . . . . . . . 176

8.2.4 Multicast Application Protocol mDNS ສໍາລັບການຄົ້ນພົບທ້ອງຖິ່ນ . . . . . . . . 176

8.3 ອະນຸສັນຍາການສື່ສານທົ່ວໄປສໍາລັບຂໍ້ມູນທ້ອງຖິ່ນ . . . . . . . . . . . . . . . 179

8.3.1 Transmission Control Protocol (TCP). . . . . . . . . . . . . . . . . . . 179

8.3.2 HyperText Transfer Protocol (HTTP). . . . . . . . . . . . . . . . . . . 185

8.3.3 ຜູ້ໃຊ້ Datagram Protocol (UDP). . . . . . . . . . . . . . . . . . . . . . 189

8.3.4 Constrained Application Protocol (CoAP). . . . . . . . . . . . . . . . 192

8.3.5 Bluetooth Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

8.3.6 ສະຫຼຸບຂອງໂປຣໂຕຄອນການສື່ສານຂໍ້ມູນ . . . . . . . . . . . . . . . 203

8.4 ການຄໍ້າປະກັນຄວາມປອດໄພຂອງຂໍ້ມູນ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

8.4.1 ການແນະນໍາຄວາມປອດໄພຊັ້ນການຂົນສົ່ງ (TLS). . . . . . . . . . . . . 207

8.4.2 ແນະນໍາ Datagram Transport Layer Security (DTLS). . . . . . . 213

8.5 ການປະຕິບັດ: ການຄວບຄຸມທ້ອງຖິ່ນໃນໂຄງການ Smart Light . . . . . . . . . . . . . . . . . . 217

8.5.1 ການສ້າງເຄື່ອງແມ່ຂ່າຍການຄວບຄຸມທ້ອງຖິ່ນທີ່ອີງໃສ່ Wi-Fi . . . . . . . . . . . . . . . 217

8.5.2 ການກວດສອບການທໍາງານຂອງການຄວບຄຸມທ້ອງຖິ່ນໂດຍໃຊ້ Scripts . . . . . . . . . . . 221

8.5.3 ການສ້າງເຊີບເວີຄວບຄຸມທ້ອງຖິ່ນທີ່ໃຊ້ Bluetooth . . . . . . . . . . . . 222

8.6 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

9 ການຄວບຄຸມຄລາວ

225

9.1 ການແນະນໍາການຄວບຄຸມໄລຍະໄກ. . . . . . . . . . . . . . . . . . . . . . . . . . 225

9.2 Cloud Data Communication Protocols . . . . . . . . . . . . . . . . . . . . . . 226

9.2.1 MQTT ບົດນໍາ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 ຫຼັກການ MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 ຮູບແບບຂໍ້ຄວາມ MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 ການປຽບທຽບອະນຸສັນຍາ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 ການຕິດຕັ້ງ MQTT Broker ໃນ Linux ແລະ Windows . . . . . . . . . . . . 233 9.2.6 ການຕັ້ງຄ່າລູກຄ້າ MQTT ໂດຍອີງໃສ່ ESP-IDF . . . . . . . . . . . . . . . . 235 9.3 ຮັບປະກັນຄວາມປອດໄພຂອງຂໍ້ມູນ MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 ຄວາມໝາຍ ແລະໜ້າທີ່ຂອງໃບຢັ້ງຢືນ . . . . . . . . . . . . . . . . . . . 237 9.3.2 ການສ້າງໃບຢັ້ງຢືນທ້ອງຖິ່ນ . . . . . . . . . . . . . . . . . . . . . . 239 9.3.3 ການກຳນົດຄ່າ MQTT Broker . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3.4 ການກຳນົດຄ່າ MQTT Client . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 ການປະຕິບັດ: ການຄວບຄຸມໄລຍະໄກຜ່ານ ESP RainMaker . . . . . . . . . . . . . . . . 243 9.4.1 ພື້ນຖານ ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.2 Node ແລະ Cloud Backend Communication Protocol . . . . . . . . . . . 244 9.4.3 ການສື່ສານລະຫວ່າງ Client ແລະ Cloud Backend . . . . . . . . . . . 249 9.4.4 ບົດບາດຂອງຜູ້ໃຊ້ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 ການບໍລິການພື້ນຖານ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.4.6 Smart Light Exampເລ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 ແອັບ RainMaker ແລະການລວມຕົວຂອງພາກສ່ວນທີສາມ . . . . . . . . . . . . . . . 262 9.5 ສັງລວມ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

10 ການພັດທະນາແອັບຯໂທລະສັບສະຫຼາດ

269

10.1 ການແນະນໍາການພັດທະນາແອັບຯໂທລະສັບສະຫຼາດ . . . . . . . . . . . . . . . . . . 269

10.1.1 ເກີນview ຂອງ​ການ​ພັດ​ທະ​ນາ App ໂທລະ​ສັບ​ສະ​ຫຼາດ​. . . . . . . . . . . . . . . 270

10.1.2 ໂຄງສ້າງຂອງໂຄງການ Android . . . . . . . . . . . . . . . . . . . . . . 270

10.1.3 ໂຄງສ້າງຂອງໂຄງການ iOS . . . . . . . . . . . . . . . . . . . . . . . . 271

10.1.4 ວົງຈອນຊີວິດຂອງກິດຈະກໍາ Android . . . . . . . . . . . . . . . . . . . . . . 272

10.1.5 ວົງຈອນຊີວິດຂອງ iOS Viewຕົວຄວບຄຸມ. . . . . . . . . . . . . . . . . . . . . . 273

10.2 ການສ້າງໂຄງການແອັບຯໂທລະສັບສະຫຼາດໃຫມ່ . . . . . . . . . . . . . . . . . . . . . 275

10.2.1 ການກະກຽມສໍາລັບການພັດທະນາ Android . . . . . . . . . . . . . . . . . . . 275

10.2.2 ການສ້າງໂຄງການ Android ໃໝ່ . . . . . . . . . . . . . . . . . . . . . . 275

10.2.3 ການເພີ່ມຄວາມເພິ່ງພາອາໄສສໍາລັບ MyRainmaker . . . . . . . . . . . . . . . . . 276

10.2.4 ການຮ້ອງຂໍການອະນຸຍາດໃນ Android . . . . . . . . . . . . . . . . . . . . . . 277

10.2.5 ການກະກຽມສໍາລັບການພັດທະນາ iOS . . . . . . . . . . . . . . . . . . . . . . 277

10.2.6 ການສ້າງໂຄງການ iOS ໃຫມ່ . . . . . . . . . . . . . . . . . . . . . . . . 278

10.2.7 ການເພີ່ມຄວາມເພິ່ງພາອາໄສສໍາລັບ MyRainmaker . . . . . . . . . . . . . . . . . 279

10.2.8 ການຮ້ອງຂໍການອະນຸຍາດໃນ iOS . . . . . . . . . . . . . . . . . . . . . . . . . 280

10.3 ການ​ວິ​ເຄາະ​ຂໍ້​ກໍາ​ນົດ​ການ​ທໍາ​ງານ​ຂອງ App . . . . . . . . . . . . . . . . . . 281

10.3.1 ການ​ວິ​ເຄາະ​ຂໍ້​ກໍາ​ນົດ​ຫນ້າ​ທີ່​ຂອງ​ໂຄງ​ການ​. . . . . . . . . . . . 282

10.3.2 ການວິເຄາະຄວາມຕ້ອງການການຄຸ້ມຄອງຜູ້ໃຊ້ . . . . . . . . . . . . . . . 282 10.3.3 ການວິເຄາະການສະໜອງອຸປະກອນ ແລະການຜູກມັດຄວາມຕ້ອງການ. . . . . . . 283 10.3.4 ການວິເຄາະຄວາມຕ້ອງການຄວບຄຸມໄລຍະໄກ. . . . . . . . . . . . . . . . 283 10.3.5 ການວິເຄາະເງື່ອນໄຂການກໍານົດເວລາ. . . . . . . . . . . . . . . . . . . 284 10.3.6 ການວິເຄາະຄວາມຕ້ອງການສູນຜູ້ໃຊ້ . . . . . . . . . . . . . . . . . . 285 10.4 ການພັດທະນາການຄຸ້ມຄອງຜູ້ໃຊ້ . . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 ການແນະນຳ RainMaker APIs . . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 ການລິເລີ່ມການສື່ສານຜ່ານສະມາດໂຟນ . . . . . . . . . . . . . . . . 286 10.4.3 ການລົງທະບຽນບັນຊີ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 ເຂົ້າສູ່ລະບົບບັນຊີ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 ການພັດທະນາການສະໜອງອຸປະກອນ . . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 ອຸປະກອນການສະແກນ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 ອຸປະກອນເຊື່ອມຕໍ່ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 ການສ້າງກະແຈລັບ . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 ການຮັບ Node ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 ການສະໜອງອຸປະກອນ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 ການພັດທະນາການຄວບຄຸມອຸປະກອນ . . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 ການຜູກມັດອຸປະກອນກັບບັນຊີຄລາວ . . . . . . . . . . . . . . . . . . . . 303 10.6.2 ການຮັບລາຍການອຸປະກອນ . . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 ການໄດ້ຮັບສະຖານະອຸປະກອນ . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 ການປ່ຽນສະຖານະອຸປະກອນ . . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 ການພັດທະນາຕາຕະລາງ ແລະສູນຜູ້ໃຊ້ . . . . . . . . . . . . . . . . . . . 313 10.7.1 ການປະຕິບັດຫນ້າທີ່ກໍານົດເວລາ. . . . . . . . . . . . . . . . . . . . 313 10.7.2 ການຈັດຕັ້ງປະຕິບັດສູນຜູ້ໃຊ້ . . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 Cloud APIs ເພີ່ມເຕີມ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 ສັງລວມ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

11 ການຍົກລະດັບເຟີມແວ ແລະການຈັດການເວີຊັນ

321

11.1 ການຍົກລະດັບເຟີມແວ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.1.1 ເກີນview ຂອງ​ຕາ​ຕະ​ລາງ​ການ​ແບ່ງ​ປັນ​. . . . . . . . . . . . . . . . . . . . . . . . 322

11.1.2 ຂະບວນການ Boot ເຟີມແວ . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

11.1.3 ເກີນview ຂອງ​ກົນ​ໄກ OTA​. . . . . . . . . . . . . . . . . . . . . 326

11.2 ການຈັດການເວີຊັ່ນເຟີມແວ . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.1 ການໝາຍເຟີມແວ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

11.2.2 Rollback ແລະ Anti-Rollback . . . . . . . . . . . . . . . . . . . . . . . . 331

11.3 ການປະຕິບັດ: Over-the-air (OTA) Exampເລ . . . . . . . . . . . . . . . . . . . . . . . 332

11.3.1 ອັບເກຣດເຟີມແວຜ່ານໂຮດທ້ອງຖິ່ນ . . . . . . . . . . . . . . . . . 332

11.3.2 ອັບເກຣດເຟີມແວຜ່ານ ESP RainMaker . . . . . . . . . . . . . . . 335

11.4 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

IV Optimization and Mass Production

343

12 ການຄຸ້ມຄອງພະລັງງານແລະການເພີ່ມປະສິດທິພາບພະລັງງານຕ່ໍາ

345

12.1 ການຈັດການພະລັງງານ ESP32-C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

12.1.1 ການປັບຂະໜາດຄວາມຖີ່ແບບໄດນາມິກ . . . . . . . . . . . . . . . . . . . . . . . . 346

12.1.2 ການຕັ້ງຄ່າການຈັດການພະລັງງານ . . . . . . . . . . . . . . . . . . . . 348

12.2 ໂໝດພະລັງງານຕໍ່າ ESP32-C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

12.2.1 Modem-sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

12.2.2 ໂໝດນອນຫຼັບເບົາ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

12.2.3 ໂໝດການນອນເລິກ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

12.2.4 ການບໍລິໂພກໃນປະຈຸບັນໃນຮູບແບບພະລັງງານທີ່ແຕກຕ່າງກັນ . . . . . . . . . . . . . 358

12.3 ການ​ຄຸ້ມ​ຄອງ​ພະ​ລັງ​ງານ​ແລະ Debugging ພະ​ລັງ​ງານ​ຕ​່​ໍ​າ . . . . . . . . . . . . . . . . . 359

12.3.1 ການດີບັກບັນທຶກ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

12.3.2 ການດີບັກ GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

12.4 ການປະຕິບັດ: ການຄຸ້ມຄອງພະລັງງານໃນໂຄງການ Smart Light. . . . . . . . . . . . . . . 363

12.4.1 ການຕັ້ງຄ່າຄຸນສົມບັດການຈັດການພະລັງງານ . . . . . . . . . . . . . . . . . 364

12.4.2 ໃຊ້ລັອກການຈັດການພະລັງງານ . . . . . . . . . . . . . . . . . . . . . . 365

12.4.3 ການກວດສອບການຊົມໃຊ້ພະລັງງານ . . . . . . . . . . . . . . . . . . . . . . . 366

12.5 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

13 ປັບປຸງຄຸນສົມບັດຄວາມປອດໄພຂອງອຸປະກອນ

369

13.1 ເກີນview ຂອງ IoT Device Data Security . . . . . . . . . . . . . . . . . . . . . . . 369

13.1.1 ເປັນຫຍັງການຮັບປະກັນຂໍ້ມູນອຸປະກອນ IoT? . . . . . . . . . . . . . . . . . . . . . . 370

13.1.2 ຄວາມຕ້ອງການພື້ນຖານສໍາລັບຄວາມປອດໄພຂໍ້ມູນອຸປະກອນ IoT . . . . . . . . . . . . 371

13.2 ການປົກປ້ອງຄວາມສົມບູນຂອງຂໍ້ມູນ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

13.2.1 ການແນະນຳວິທີການກວດສອບຄວາມຖືກຕ້ອງ. . . . . . . . . . . . . . 372

13.2.2 ການກວດສອບຄວາມຖືກຕ້ອງຂອງຂໍ້ມູນເຟີມແວ . . . . . . . . . . . . . . . . . . 373

13.2.3 ຕົວຢ່າງampເລ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3 ການປົກປ້ອງຄວາມລັບຂໍ້ມູນ . . . . . . . . . . . . . . . . . . . . . . . . . . 374

13.3.1 ການແນະນຳການເຂົ້າລະຫັດຂໍ້ມູນ . . . . . . . . . . . . . . . . . . . . . . 374

13.3.2 ການແນະນຳຮູບແບບການເຂົ້າລະຫັດ Flash . . . . . . . . . . . . . . . . . 376

13.3.3 ການເກັບຮັກສາກະແຈການເຂົ້າລະຫັດ Flash . . . . . . . . . . . . . . . . . . . . . . . 379

13.3.4 ຮູບແບບການເຮັດວຽກຂອງການເຂົ້າລະຫັດ Flash . . . . . . . . . . . . . . . . . . . . 380

13.3.5 ຂະບວນການເຂົ້າລະຫັດ Flash . . . . . . . . . . . . . . . . . . . . . . . . . . 381

13.3.6 ການແນະນຳການເຂົ້າລະຫັດ NVS . . . . . . . . . . . . . . . . . . . . . . 383

13.3.7 ຕົວຢ່າງamples ຂອງ Flash Encryption ແລະ NVS Encryption . . . . . . . . . . . 384

13.4 ການປົກປ້ອງຂໍ້ມູນທີ່ຖືກຕ້ອງຕາມກົດໝາຍ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

13.4.1 ການແນະນຳລາຍເຊັນດິຈິຕອນ . . . . . . . . . . . . . . . . . . . . . 386

13.4.2 ເກີນview ຂອງ Secure Boot Scheme . . . . . . . . . . . . . . . . . . . . . 388

13.4.3 ແນະນຳກ່ຽວກັບ Software Secure Boot . . . . . . . . . . . . . . . . . . . 388 13.4.4 ການແນະນຳ Hardware Secure Boot . . . . . . . . . . . . . . . . . . 390 13.4.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 ການປະຕິບັດ: ລັກສະນະຄວາມປອດໄພໃນການຜະລິດມະຫາຊົນ . . . . . . . . . . . . . . . . . . 396 13.5.1 ການເຂົ້າລະຫັດ Flash ແລະ Secure Boot . . . . . . . . . . . . . . . . . . . . . 396 13.5.2 ການເປີດໃຊ້ງານການເຂົ້າລະຫັດ Flash ແລະ Boot ທີ່ປອດໄພດ້ວຍ Batch Flash Tools . . 397 13.5.3 ການເປີດໃຊ້ງານການເຂົ້າລະຫັດ Flash ແລະ Boot ທີ່ປອດໄພໃນໂຄງການ Smart Light . . . 398 13.6 ສັງລວມ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

14 ການເຜົາໄຫມ້ເຟີມແວແລະການທົດສອບການຜະລິດຈໍານວນຫລາຍ

399

14.1 ການເຜົາໄຫມ້ເຟີມແວໃນການຜະລິດຈໍານວນຫລາຍ . . . . . . . . . . . . . . . . . . . . . . 399

14.1.1 ການກໍານົດພາທິຊັນຂໍ້ມູນ . . . . . . . . . . . . . . . . . . . . . . . . . . 399

14.1.2 ການເຜົາໄຫມ້ເຟີມແວ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

14.2 ການທົດສອບການຜະລິດມະຫາຊົນ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

14.3 ການປະຕິບັດ: ຂໍ້ມູນການຜະລິດມະຫາຊົນໃນໂຄງການ Smart Light . . . . . . . . . . . . . 404

14.4 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

15 ESP Insights: ເວທີການຕິດຕາມໄລຍະໄກ

405

15.1 ການແນະນໍາກ່ຽວກັບ ESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

15.2 ການເລີ່ມຕົ້ນດ້ວຍ ESP Insights . . . . . . . . . . . . . . . . . . . . . . . . . 409

15.2.1 ການເລີ່ມຕົ້ນດ້ວຍ ESP Insights ໃນໂຄງການ esp-insights . . . . . . 409

15.2.2 ແລ່ນ Example ໃນໂຄງການ esp-insights . . . . . . . . . . . . . . . 411

15.2.3 ການລາຍງານຂໍ້ມູນ Coredump . . . . . . . . . . . . . . . . . . . . . 411

15.2.4 ການປັບແຕ່ງບັນທຶກຄວາມສົນໃຈ. . . . . . . . . . . . . . . . . . . . . . . . 412

15.2.5 ລາຍງານເຫດຜົນ reboot . . . . . . . . . . . . . . . . . . . . . . . . . 413

15.2.6 ລາຍງານການວັດແທກແບບກຳນົດເອງ . . . . . . . . . . . . . . . . . . . . . . . . . 413

15.3 ການປະຕິບັດ: ການນໍາໃຊ້ຄວາມເຂົ້າໃຈ ESP ໃນໂຄງການ Smart Light . . . . . . . . . . . . . . . 416

15.4 ບົດສະຫຼຸບ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

ແນະນຳ
ESP32-C3 ເປັນ Wi-Fi ຫຼັກດຽວ ແລະ Bluetooth 5 (LE) microcontroller SoC, ອີງໃສ່ສະຖາປັດຕະຍະກຳ RISC-V ແຫຼ່ງເປີດ. ມັນເຮັດໃຫ້ການດຸ່ນດ່ຽງພະລັງງານທີ່ເຫມາະສົມ, ຄວາມສາມາດຂອງ I/O, ແລະຄວາມປອດໄພ, ດັ່ງນັ້ນຈຶ່ງສະເຫນີການແກ້ໄຂທີ່ມີປະສິດທິພາບດ້ານຄ່າໃຊ້ຈ່າຍທີ່ດີທີ່ສຸດສໍາລັບອຸປະກອນທີ່ເຊື່ອມຕໍ່. ເພື່ອສະແດງໃຫ້ເຫັນການນໍາໃຊ້ຕ່າງໆຂອງຄອບຄົວ ESP32-C3, ປື້ມນີ້ໂດຍ Espressif ຈະນໍາທ່ານໄປສູ່ການເດີນທາງທີ່ຫນ້າສົນໃຈໂດຍຜ່ານ AIoT, ເລີ່ມຕົ້ນຈາກພື້ນຖານຂອງການພັດທະນາໂຄງການ IoT ແລະການຕັ້ງຄ່າສະພາບແວດລ້ອມໄປສູ່ການປະຕິບັດຕົວຈິງ.amples. ສີ່ບົດທໍາອິດເວົ້າກ່ຽວກັບ IoT, ESP RainMaker ແລະ ESP-IDF. ບົດທີ 5 ແລະ 6 ໂດຍຫຍໍ້ກ່ຽວກັບການອອກແບບຮາດແວ ແລະ ການພັດທະນາໄດເວີ. ໃນຂະນະທີ່ທ່ານກ້າວໄປ, ທ່ານຈະຄົ້ນພົບວິທີຕັ້ງຄ່າໂຄງການຂອງທ່ານຜ່ານເຄືອຂ່າຍ Wi-Fi ແລະແອັບຯມືຖື. ສຸດທ້າຍ, ທ່ານຈະໄດ້ຮຽນຮູ້ທີ່ຈະເພີ່ມປະສິດທິພາບໂຄງການຂອງທ່ານແລະເຮັດໃຫ້ມັນເຂົ້າໄປໃນການຜະລິດຈໍານວນຫລາຍ.
ຖ້າທ່ານເປັນວິສະວະກອນໃນສາຂາທີ່ກ່ຽວຂ້ອງ, ສະຖາປະນິກຊອບແວ, ຄູສອນ, ນັກຮຽນ, ຫຼືຜູ້ທີ່ມີຄວາມສົນໃຈໃນ IoT, ປື້ມນີ້ແມ່ນສໍາລັບທ່ານ.
ທ່ານສາມາດດາວໂຫລດລະຫັດ example ໃຊ້ໃນປື້ມນີ້ຈາກເວັບໄຊທ໌ຂອງ Espressif ໃນ GitHub. ສໍາລັບຂໍ້ມູນຫຼ້າສຸດກ່ຽວກັບການພັດທະນາ IoT, ກະລຸນາຕິດຕາມບັນຊີຢ່າງເປັນທາງການຂອງພວກເຮົາ.

ຄໍານໍາ
ໂລກຂໍ້ມູນຂ່າວສານ
ຂັບເຄື່ອນຄື້ນຂອງອິນເຕີເນັດ, Internet of Things (IoT) ໄດ້ເປີດຕົວຄັ້ງໃຫຍ່ທີ່ຈະກາຍເປັນໂຄງສ້າງພື້ນຖານໃຫມ່ໃນເສດຖະກິດດິຈິຕອນ. ເພື່ອນໍາເອົາເທກໂນໂລຍີໃກ້ຊິດກັບປະຊາຊົນ, Espressif Systems ເຮັດວຽກສໍາລັບວິໄສທັດທີ່ນັກພັດທະນາຈາກທຸກຊັ້ນຄົນສາມາດນໍາໃຊ້ IoT ເພື່ອແກ້ໄຂບັນຫາທີ່ກົດດັນທີ່ສຸດໃນຍຸກຂອງພວກເຮົາ. ໂລກຂອງ "ເຄືອຂ່າຍອັດສະລິຍະຂອງທຸກສິ່ງ" ແມ່ນສິ່ງທີ່ພວກເຮົາຄາດຫວັງຈາກອະນາຄົດ.
ການອອກແບບຊິບຂອງພວກເຮົາເອງເຮັດໃຫ້ເປັນອົງປະກອບທີ່ສໍາຄັນຂອງວິໄສທັດນັ້ນ. ມັນແມ່ນການແລ່ນມາລາທອນ, ຮຽກຮ້ອງໃຫ້ມີການບຸກທະລຸຢ່າງຕໍ່ເນື່ອງຕໍ່ກັບຂອບເຂດເຕັກໂນໂລຢີ. ຈາກ "Game Changer" ESP8266 ໄປຫາຊຸດ ESP32 ທີ່ປະສົມປະສານການເຊື່ອມຕໍ່ Wi-Fi ແລະ Bluetoothr (LE), ຕິດຕາມດ້ວຍ ESP32-S3 ທີ່ຕິດຕັ້ງໂດຍການເລັ່ງ AI, Espressif ບໍ່ເຄີຍຢຸດການຄົ້ນຄວ້າແລະພັດທະນາຜະລິດຕະພັນສໍາລັບການແກ້ໄຂ AIoT. ດ້ວຍຊອບແວ open-source ຂອງພວກເຮົາ, ເຊັ່ນ: IoT Development Framework ESP-IDF, Mesh Development Framework ESP-MDF, ແລະ Device Connectivity Platform ESP RainMaker, ພວກເຮົາໄດ້ສ້າງກອບເອກະລາດສໍາລັບການກໍ່ສ້າງຄໍາຮ້ອງສະຫມັກ AIoT.
ມາຮອດເດືອນກໍລະກົດປີ 2022, ການຂົນສົ່ງສະສົມຂອງຊິບເຊັດ IoT ຂອງ Espressif ໄດ້ເກີນ 800 ລ້ານເຄື່ອງ, ເປັນຜູ້ນໍາໃນຕະຫຼາດ Wi-Fi MCU ແລະເພີ່ມພະລັງງານອຸປະກອນເຊື່ອມຕໍ່ຈໍານວນຫຼວງຫຼາຍໃນທົ່ວໂລກ. ການສະແຫວງຫາຄວາມເປັນເລີດເຮັດໃຫ້ທຸກຜະລິດຕະພັນ Espressif ໄດ້ຮັບການຕີອັນໃຫຍ່ຫຼວງສໍາລັບການເຊື່ອມໂຍງລະດັບສູງແລະປະສິດທິພາບຄ່າໃຊ້ຈ່າຍ. ການປ່ອຍ ESP32-C3 ເປັນຂີດໝາຍອັນສຳຄັນຂອງເທັກໂນໂລຍີທີ່ພັດທະນາຕົນເອງຂອງ Espressif. ມັນເປັນ MCU ຫຼັກດຽວ, 32-bit, RISC-V ກັບ 400KB ຂອງ SRAM, ເຊິ່ງສາມາດແລ່ນຢູ່ທີ່ 160MHz. ມັນໄດ້ປະສົມປະສານ 2.4 GHz Wi-Fi ແລະ Bluetooth 5 (LE) ດ້ວຍການຮອງຮັບໄລຍະໄກ. ມັນເຮັດໃຫ້ການດຸ່ນດ່ຽງຂອງພະລັງງານ, ຄວາມສາມາດ I/O, ແລະຄວາມປອດໄພ, ດັ່ງນັ້ນຈຶ່ງສະເຫນີການແກ້ໄຂທີ່ມີປະສິດທິພາບດ້ານຄ່າໃຊ້ຈ່າຍທີ່ດີທີ່ສຸດສໍາລັບອຸປະກອນທີ່ເຊື່ອມຕໍ່. ອີງໃສ່ ESP32-C3 ທີ່ມີປະສິດທິພາບດັ່ງກ່າວ, ປຶ້ມຫົວນີ້ມີຈຸດປະສົງເພື່ອຊ່ວຍໃຫ້ຜູ້ອ່ານເຂົ້າໃຈຄວາມຮູ້ທີ່ກ່ຽວຂ້ອງກັບ IoT ພ້ອມກັບຮູບຕົວຢ່າງລະອຽດ ແລະການປະຕິບັດຕົວຈິງ.amples.
ເປັນຫຍັງພວກເຮົາຈຶ່ງຂຽນປຶ້ມຫົວນີ້?
Espressif Systems ແມ່ນຫຼາຍກ່ວາບໍລິສັດ semiconductor. ມັນຍັງເປັນບໍລິສັດເວທີ IoT, ເຊິ່ງສະເຫມີພະຍາຍາມເພື່ອຄວາມກ້າວຫນ້າແລະການປະດິດສ້າງໃນຂົງເຂດເຕັກໂນໂລຢີ. ໃນເວລາດຽວກັນ, Espressif ໄດ້ເປີດແຫຼ່ງແລະແບ່ງປັນລະບົບປະຕິບັດການທີ່ພັດທະນາຕົນເອງແລະກອບຊອບແວກັບຊຸມຊົນ, ປະກອບເປັນລະບົບນິເວດທີ່ເປັນເອກະລັກ. ວິສະວະກອນ, ຜູ້ຜະລິດ, ແລະຜູ້ທີ່ມີຄວາມກະຕືລືລົ້ນດ້ານເຕັກໂນໂລຢີພັດທະນາຄໍາຮ້ອງສະຫມັກຊອບແວໃຫມ່ໂດຍອີງໃສ່ຜະລິດຕະພັນຂອງ Espressif, ສື່ສານຢ່າງເສລີ, ແລະແບ່ງປັນປະສົບການຂອງເຂົາເຈົ້າ. ທ່ານສາມາດເບິ່ງແນວຄວາມຄິດທີ່ຫນ້າສົນໃຈຂອງນັກພັດທະນາໃນເວທີຕ່າງໆຕະຫຼອດເວລາເຊັ່ນ YouTube ແລະ GitHub. ຄວາມນິຍົມຂອງຜະລິດຕະພັນຂອງ Espressif ໄດ້ກະຕຸ້ນໃຫ້ມີຈໍານວນນັກຂຽນທີ່ເພີ່ມຂຶ້ນທີ່ຜະລິດຫນັງສືຫຼາຍກວ່າ 100 ໂດຍອີງໃສ່ຊິບ Espressif, ໃນຫຼາຍກວ່າສິບພາສາ, ລວມທັງພາສາອັງກິດ, ຈີນ, ເຢຍລະມັນ, ຝຣັ່ງ, ແລະຍີ່ປຸ່ນ.

ມັນແມ່ນການສະຫນັບສະຫນູນແລະຄວາມໄວ້ວາງໃຈຂອງຄູ່ຮ່ວມງານຂອງຊຸມຊົນທີ່ສົ່ງເສີມການປະດິດສ້າງຢ່າງຕໍ່ເນື່ອງຂອງ Espressif. "ພວກເຮົາພະຍາຍາມເຮັດໃຫ້ຊິບຂອງພວກເຮົາ, ລະບົບປະຕິບັດການ, ກອບ, ການແກ້ໄຂ, Cloud, ການປະຕິບັດທຸລະກິດ, ເຄື່ອງມື, ເອກະສານ, ການຂຽນ, ແນວຄວາມຄິດ, ແລະອື່ນໆ, ມີຄວາມກ່ຽວຂ້ອງກັບຄໍາຕອບທີ່ຄົນຕ້ອງການໃນບັນຫາທີ່ຫຍຸ້ງຍາກທີ່ສຸດຂອງຊີວິດໃນຍຸກປະຈຸບັນ. ນີ້ແມ່ນຄວາມທະເຍີທະຍານສູງສຸດຂອງ Espressif ແລະເຂັມທິດສົມບັດສິນທໍາ.” ທ່ານ Teo Swee Ann, ຜູ້ກໍ່ຕັ້ງ ແລະ CEO ຂອງ Espressif ກ່າວ.
Espressif ໃຫ້ຄຸນຄ່າການອ່ານແລະແນວຄວາມຄິດ. ເນື່ອງຈາກການຍົກລະດັບເຕັກໂນໂລຢີ IoT ຢ່າງຕໍ່ເນື່ອງເຮັດໃຫ້ຄວາມຕ້ອງການດ້ານວິສະວະກອນສູງຂຶ້ນ, ພວກເຮົາສາມາດຊ່ວຍຄົນໃຫ້ຫຼາຍກວ່າເກົ່າເພື່ອເຮັດຫນ້າທີ່ເປັນຊິບ IoT, ລະບົບປະຕິບັດການ, ກອບຊອບແວ, ໂຄງຮ່າງການຄໍາຮ້ອງສະຫມັກແລະຜະລິດຕະພັນການບໍລິການຄລາວໄດ້ແນວໃດ? ດັ່ງຄຳເວົ້າທີ່ວ່າ, ການສອນຜູ້ຊາຍໃຫ້ຫາປາ ດີກວ່າໃຫ້ປາ. ໃນກອງປະຊຸມລະດົມສະຫມອງ, ມັນໄດ້ເກີດຂຶ້ນກັບພວກເຮົາທີ່ພວກເຮົາສາມາດຂຽນປື້ມເພື່ອຈັດລຽງຄວາມຮູ້ທີ່ສໍາຄັນຂອງການພັດທະນາ IoT ຢ່າງເປັນລະບົບ. ພວກເຮົາຕີມັນອອກໄປ, ລວບລວມກຸ່ມວິສະວະກອນອາວຸໂສຢ່າງໄວວາ, ແລະປະສົມປະສານປະສົບການຂອງທີມງານດ້ານວິຊາການໃນການຂຽນໂປລແກລມຝັງຕົວ, ຮາດແວ IoT ແລະການພັດທະນາຊອບແວ, ທັງຫມົດປະກອບສ່ວນເຂົ້າໃນການພິມເຜີຍແຜ່ປື້ມນີ້. ໃນຂະບວນການຂຽນ, ພວກເຮົາພະຍາຍາມສຸດຄວາມສາມາດເພື່ອຈຸດປະສົງແລະຍຸຕິທໍາ, ລອກເອົາເປືອກຂອງ cocoon, ແລະໃຊ້ການສະແດງອອກທີ່ຊັດເຈນເພື່ອບອກເຖິງຄວາມສັບສົນແລະສະເຫນ່ຂອງອິນເຕີເນັດຂອງສິ່ງຕ່າງໆ. ພວກເຮົາໄດ້ສະຫຼຸບຄໍາຖາມທົ່ວໄປຢ່າງລະມັດລະວັງ, ອ້າງອີງໃສ່ຄໍາຄຶດຄໍາເຫັນແລະຄໍາແນະນໍາຂອງຊຸມຊົນ, ເພື່ອຕອບຄໍາຖາມທີ່ພົບໃນຂະບວນການພັດທະນາຢ່າງຈະແຈ້ງ, ແລະໃຫ້ຄໍາແນະນໍາການພັດທະນາ IoT ຕົວຈິງສໍາລັບນັກວິຊາການທີ່ກ່ຽວຂ້ອງແລະຜູ້ຕັດສິນໃຈ.
ໂຄງສ້າງປື້ມ
ປຶ້ມຫົວນີ້ໃຊ້ທັດສະນະທີ່ເນັ້ນໜັກທາງດ້ານວິສະວະກອນ ແລະອະທິບາຍຄວາມຮູ້ທີ່ຈຳເປັນສຳລັບການພັດທະນາໂຄງການ IoT ແຕ່ລະເທື່ອ. ມັນ​ປະ​ກອບ​ດ້ວຍ​ສີ່​ພາກ​ສ່ວນ​, ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:
· ການກະກຽມ (ບົດທີ 1): ພາກສ່ວນນີ້ແນະນໍາສະຖາປັດຕະຍະກໍາຂອງ IoT, ກອບໂຄງການ IoT ປົກກະຕິ, ແພລະຕະຟອມເມຄ ESP RainMakerr, ແລະສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF, ເພື່ອວາງພື້ນຖານອັນແຂງແກ່ນສໍາລັບການພັດທະນາໂຄງການ IoT.
· ການພັດທະນາຮາດແວ ແລະໄດເວີ (ບົດທີ 5): ອີງໃສ່ຊິບເຊັດ ESP6-C32, ພາກສ່ວນນີ້ອະທິບາຍລະອຽດກ່ຽວກັບລະບົບຮາດແວຂັ້ນຕ່ຳ ແລະການພັດທະນາໄດເວີ, ແລະປະຕິບັດການຄວບຄຸມການເຮັດໃຫ້ມືດມົວ, ການຈັດລະດັບສີ ແລະການສື່ສານໄຮ້ສາຍ.
· ການສື່ສານ ແລະການຄວບຄຸມໄຮ້ສາຍ (ບົດທີ 7): ພາກສ່ວນນີ້ອະທິບາຍເຖິງລະບົບການຕັ້ງຄ່າ Wi-Fi ອັດສະລິຍະໂດຍອີງໃສ່ຊິບ ESP11-C32, ໂປຣໂຕຄໍຄວບຄຸມທ້ອງຖິ່ນ ແລະຄລາວ, ແລະອຸປະກອນຄວບຄຸມທ້ອງຖິ່ນ ແລະທາງໄກ. ມັນຍັງສະຫນອງໂຄງການສໍາລັບການພັດທະນາແອັບຯໂທລະສັບສະຫຼາດ, ການຍົກລະດັບເຟີມແວ, ແລະການຄຸ້ມຄອງສະບັບ.
· ການເພີ່ມປະສິດທິພາບແລະການຜະລິດມະຫາຊົນ (ບົດທີ 12-15): ພາກສ່ວນນີ້ແມ່ນມີຈຸດປະສົງສໍາລັບຄໍາຮ້ອງສະຫມັກ IoT ຂັ້ນສູງ, ສຸມໃສ່ການເພີ່ມປະສິດທິພາບຂອງຜະລິດຕະພັນໃນການຄຸ້ມຄອງພະລັງງານ, ການເພີ່ມປະສິດທິພາບພະລັງງານຕ່ໍາແລະຄວາມປອດໄພທີ່ເພີ່ມຂຶ້ນ. ມັນຍັງແນະນໍາການເຜົາໄຫມ້ເຟີມແວແລະການທົດສອບໃນການຜະລິດຈໍານວນຫລາຍ, ແລະວິທີການວິນິດໄສສະຖານະການແລ່ນແລະບັນທຶກຂອງເຟີມແວຂອງອຸປະກອນໂດຍຜ່ານເວທີການກວດສອບທາງໄກ ESP Insights.

ກ່ຽວກັບລະຫັດແຫຼ່ງ
ຜູ້ອ່ານສາມາດດໍາເນີນການ example ບັນດາໂຄງການຢູ່ໃນປຶ້ມຫົວນີ້, ບໍ່ວ່າຈະໂດຍການໃສ່ລະຫັດດ້ວຍຕົນເອງ ຫຼືໂດຍໃຊ້ລະຫັດແຫຼ່ງທີ່ມາກັບປຶ້ມ. ພວກເຮົາເນັ້ນຫນັກໃສ່ການປະສົມປະສານຂອງທິດສະດີແລະການປະຕິບັດ, ແລະດັ່ງນັ້ນຈຶ່ງກໍານົດພາກປະຕິບັດໂດຍອີງໃສ່ໂຄງການ Smart Light ໃນເກືອບທຸກໆບົດ. ລະຫັດທັງໝົດແມ່ນເປັນແຫຼ່ງເປີດ. ຜູ້ອ່ານຍິນດີທີ່ຈະດາວໂຫລດລະຫັດແຫຼ່ງແລະປຶກສາຫາລືໃນສ່ວນທີ່ກ່ຽວຂ້ອງກັບຫນັງສືເຫຼັ້ມນີ້ໃນ GitHub ແລະກອງປະຊຸມທາງການຂອງພວກເຮົາ esp32.com. ລະຫັດແຫຼ່ງເປີດຂອງປຶ້ມນີ້ແມ່ນຂຶ້ນກັບເງື່ອນໄຂຂອງ Apache License 2.0.
ບັນທຶກຂອງຜູ້ຂຽນ
ປື້ມນີ້ແມ່ນຜະລິດຢ່າງເປັນທາງການໂດຍ Espressif Systems ແລະຂຽນໂດຍວິສະວະກອນອາວຸໂສຂອງບໍລິສັດ. ມັນເຫມາະສົມສໍາລັບຜູ້ຈັດການແລະ R&D ບຸກຄະລາກອນໃນອຸດສາຫະກໍາທີ່ກ່ຽວຂ້ອງກັບ IoT, ຄູອາຈານແລະນັກສຶກສາຂອງສາຂາທີ່ກ່ຽວຂ້ອງ, ແລະຜູ້ທີ່ກະຕືລືລົ້ນໃນພາກສະຫນາມຂອງ Internet of Things. ພວກ​ເຮົາ​ຫວັງ​ວ່າ​ປື້ມ​ບັນ​ນີ້​ສາ​ມາດ​ເຮັດ​ເປັນ​ຄູ່​ມື​ການ​ເຮັດ​ວຽກ​, ກະ​ສານ​ອ້າງ​ອີງ​, ແລະ​ຫນັງ​ສື​ຂ້າງ​ນອນ​, ເພື່ອ​ເປັນ​ຄື​ຄູ​ສອນ​ທີ່​ດີ​ແລະ​ຫມູ່​ເພື່ອນ​.
ໃນຂະນະທີ່ລວບລວມຫນັງສືເຫຼັ້ມນີ້, ພວກເຮົາໄດ້ອ້າງອີງເຖິງບາງຜົນການຄົ້ນຄວ້າທີ່ກ່ຽວຂ້ອງຂອງຜູ້ຊ່ຽວຊານ, ນັກວິຊາການ, ແລະນັກວິຊາການພາຍໃນແລະຕ່າງປະເທດ, ແລະພວກເຮົາໄດ້ເຮັດດີທີ່ສຸດເພື່ອອ້າງເຖິງມັນຕາມມາດຕະຖານທາງວິຊາການ. ແນວໃດກໍ່ຕາມ, ມັນຫຼີກລ່ຽງບໍ່ໄດ້ທີ່ຄວນຈະມີການລະເວັ້ນບາງອັນ, ດັ່ງນັ້ນ, ໃນທີ່ນີ້ພວກເຮົາຂໍສະແດງຄວາມເຄົາລົບນັບຖືແລະຄວາມຮູ້ບຸນຄຸນຢ່າງເລິກເຊິ່ງຕໍ່ຜູ້ຂຽນທີ່ກ່ຽວຂ້ອງທັງຫມົດ. ນອກຈາກນັ້ນ, ພວກເຮົາໄດ້ອ້າງອີງຂໍ້ມູນຈາກອິນເຕີເນັດ, ດັ່ງນັ້ນພວກເຮົາຕ້ອງຂໍຂອບໃຈຜູ້ຂຽນແລະຜູ້ເຜີຍແຜ່ຕົ້ນສະບັບແລະຂໍອະໄພທີ່ພວກເຮົາບໍ່ສາມາດຊີ້ບອກແຫຼ່ງທີ່ມາຂອງຂໍ້ມູນທັງຫມົດ.
ເພື່ອຜະລິດປື້ມທີ່ມີຄຸນນະພາບສູງ, ພວກເຮົາໄດ້ຈັດຕັ້ງການສົນທະນາພາຍໃນ, ແລະໄດ້ຮຽນຮູ້ຈາກຄໍາແນະນໍາແລະຄວາມຄິດເຫັນຂອງຜູ້ອ່ານທົດລອງແລະບັນນາທິການຂອງຜູ້ຈັດພິມ. ທີ່ນີ້, ພວກເຮົາຕ້ອງຂໍຂອບໃຈທ່ານອີກເທື່ອຫນຶ່ງສໍາລັບການຊ່ວຍເຫຼືອຂອງທ່ານທັງຫມົດທີ່ປະກອບສ່ວນເຂົ້າໃນວຽກງານນີ້ປະສົບຜົນສໍາເລັດ.
ສຸດທ້າຍ, ແຕ່ສໍາຄັນທີ່ສຸດ, ຂອບໃຈທຸກຄົນທີ່ Espressif ທີ່ໄດ້ເຮັດວຽກຫນັກເພື່ອການເກີດແລະຄວາມນິຍົມຂອງຜະລິດຕະພັນຂອງພວກເຮົາ.
ການພັດທະນາໂຄງການ IoT ປະກອບດ້ວຍຄວາມຮູ້ທີ່ກວ້າງຂວາງ. ຈໍາກັດກັບຄວາມຍາວຂອງປຶ້ມ, ເຊັ່ນດຽວກັນກັບລະດັບແລະປະສົບການຂອງຜູ້ຂຽນ, ການລະເວັ້ນແມ່ນຫຼີກລ່ຽງບໍ່ໄດ້. ດັ່ງນັ້ນ, ພວກເຮົາຂໍຄວາມກະລຸນາໃຫ້ຜູ້ຊ່ຽວຊານແລະຜູ້ອ່ານວິຈານແລະແກ້ໄຂຄວາມຜິດພາດຂອງພວກເຮົາ. ຖ້າ​ຫາກ​ທ່ານ​ມີ​ຄໍາ​ແນະ​ນໍາ​ສໍາ​ລັບ​ປຶ້ມ​ນີ້​, ກະ​ລຸ​ນາ​ຕິດ​ຕໍ່​ຫາ​ພວກ​ເຮົາ​ທີ່ book@espressif.com​. ພວກເຮົາຫວັງວ່າຈະໄດ້ຄໍາຕິຊົມຂອງທ່ານ.

ໃຊ້ປຶ້ມຫົວນີ້ແນວໃດ?
ລະ​ຫັດ​ຂອງ​ໂຄງ​ການ​ຢູ່​ໃນ​ປຶ້ມ​ນີ້​ໄດ້​ຮັບ​ການ​ເປີດ​ແຫຼ່ງ​. ທ່ານສາມາດດາວໂຫລດໄດ້ຈາກບ່ອນເກັບມ້ຽນ GitHub ຂອງພວກເຮົາແລະແບ່ງປັນຄວາມຄິດແລະຄໍາຖາມຂອງທ່ານໃນເວທີທີ່ເປັນທາງການຂອງພວກເຮົາ. GitHub: https://github.com/espressif/book-esp32c3-iot-projects Forum: https://www.esp32.com/bookc3 ຕະຫຼອດປື້ມ, ຈະມີສ່ວນທີ່ເນັ້ນໃສ່ດັ່ງຮູບຂ້າງລຸ່ມນີ້.
ລະຫັດແຫຼ່ງໃນຫນັງສືເຫຼັ້ມນີ້, ພວກເຮົາເນັ້ນຫນັກໃສ່ການປະສົມປະສານຂອງທິດສະດີແລະການປະຕິບັດ, ແລະດັ່ງນັ້ນຈຶ່ງກໍານົດພາກປະຕິບັດກ່ຽວກັບໂຄງການ Smart Light ໃນເກືອບທຸກໆບົດ. ຂັ້ນຕອນທີ່ສອດຄ້ອງກັນແລະຫນ້າແຫຼ່ງຈະຖືກຫມາຍລະຫວ່າງສອງແຖວເລີ່ມຕົ້ນດ້ວຍ tag ລະຫັດແຫຼ່ງ.
ຫມາຍເຫດ/ຄໍາແນະນໍາ ນີ້ແມ່ນບ່ອນທີ່ເຈົ້າອາດຈະຊອກຫາບາງຂໍ້ມູນທີ່ສໍາຄັນ ແລະເຕືອນສໍາລັບການດີບັກໂຄງການຂອງທ່ານສົບຜົນສໍາເລັດ. ພວກເຂົາເຈົ້າຈະຖືກຫມາຍລະຫວ່າງສອງເສັ້ນຫນາເລີ່ມຕົ້ນດ້ວຍ tag ຫມາຍເຫດຫຼືຄໍາແນະນໍາ.
ຄໍາສັ່ງສ່ວນໃຫຍ່ໃນປຶ້ມນີ້ແມ່ນຖືກປະຕິບັດພາຍໃຕ້ Linux, ກະຕຸ້ນໂດຍຕົວອັກສອນ “$”. ຖ້າຄໍາສັ່ງຕ້ອງການສິດທິ superuser ເພື່ອປະຕິບັດ, prompt ຈະຖືກແທນທີ່ດ້ວຍ "#". ການເຕືອນຄໍາສັ່ງໃນລະບົບ Mac ແມ່ນ “%”, ຕາມທີ່ໃຊ້ໃນພາກ 4.2.3 ການຕິດຕັ້ງ ESP-IDF ໃນ Mac.
ຂໍ້ຄວາມໃນປຶ້ມຫົວນີ້ຈະຖືກພິມອອກໃນ Charter, ໃນຂະນະທີ່ລະຫັດ examples, ອົງປະກອບ, ຫນ້າທີ່, ຕົວແປ, ລະຫັດ file ຊື່, ລາຍການລະຫັດ, ແລະສະຕຣິງຈະຢູ່ໃນ Courier New.
ຄໍາສັ່ງຫຼືຂໍ້ຄວາມທີ່ຕ້ອງການໃຫ້ຜູ້ໃຊ້ເຂົ້າມາ, ແລະຄໍາສັ່ງທີ່ສາມາດເຂົ້າໄດ້ໂດຍການກົດປຸ່ມ "Enter" ຈະຖືກພິມອອກໃນ Courier New bold. ບັນທຶກແລະບລັອກລະຫັດຈະຖືກນໍາສະເຫນີຢູ່ໃນກ່ອງສີຟ້າອ່ອນ.
Example:
ອັນທີສອງ, ໃຊ້ esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py ເພື່ອສ້າງ NVS partition binary file ຢູ່ໃນໂຮດການພັດທະນາດ້ວຍຄໍາສັ່ງຕໍ່ໄປນີ້:
$ python $IDF PATH/components/nvs flash/nvs partition generator/nvs partition gen.py –input mass prod.csv –output mass prod.bin –size NVS PARTITION SIZE

ບົດທີ 1

ແນະນຳ

ກັບ

IoT

ໃນຕອນທ້າຍຂອງສະຕະວັດທີ 20, ດ້ວຍການຂະຫຍາຍຕົວຂອງເຄືອຂ່າຍຄອມພິວເຕີແລະເຕັກໂນໂລຢີການສື່ສານ, ອິນເຕີເນັດໄດ້ປະສົມປະສານຢ່າງໄວວາເຂົ້າໃນຊີວິດຂອງຄົນ. ໃນຂະນະທີ່ເຕັກໂນໂລຢີອິນເຕີເນັດສືບຕໍ່ເຕີບໃຫຍ່, ແນວຄວາມຄິດຂອງ Internet of Things (IoT) ໄດ້ເກີດມາ. ແທ້ຈິງແລ້ວ, IoT ຫມາຍເຖິງອິນເຕີເນັດທີ່ສິ່ງທີ່ເຊື່ອມຕໍ່ກັນ. ໃນຂະນະທີ່ອິນເຕີເນັດຕົ້ນສະບັບທໍາລາຍຂໍ້ຈໍາກັດຂອງພື້ນທີ່ແລະເວລາແລະຈໍາກັດໄລຍະຫ່າງລະຫວ່າງ "ຄົນແລະຄົນ", IoT ເຮັດໃຫ້ "ສິ່ງ" ມີສ່ວນຮ່ວມທີ່ສໍາຄັນ, ເຮັດໃຫ້ "ຄົນ" ແລະ "ສິ່ງ" ໃກ້ຊິດກັນ. ໃນອະນາຄົດອັນໃກ້ນີ້, IoT ຖືກກໍານົດໃຫ້ກາຍເປັນກໍາລັງຂັບເຄື່ອນຂອງອຸດສາຫະກໍາຂໍ້ມູນຂ່າວສານ.
ດັ່ງນັ້ນ, ອິນເຕີເນັດຂອງສິ່ງຕ່າງໆແມ່ນຫຍັງ?
ມັນເປັນການຍາກທີ່ຈະກໍານົດຢ່າງຖືກຕ້ອງກ່ຽວກັບອິນເຕີເນັດຂອງສິ່ງຕ່າງໆ, ເນື່ອງຈາກວ່າຄວາມຫມາຍແລະຂອບເຂດຂອງມັນພັດທະນາຢ່າງຕໍ່ເນື່ອງ. ໃນປີ 1995, Bill Gates ທໍາອິດໄດ້ນໍາເອົາແນວຄວາມຄິດຂອງ IoT ໃນຫນັງສືຂອງລາວ The Road Ahead. ເວົ້າງ່າຍໆ, IoT ຊ່ວຍໃຫ້ວັດຖຸສາມາດແລກປ່ຽນຂໍ້ມູນເຊິ່ງກັນແລະກັນຜ່ານອິນເຕີເນັດ. ເປົ້າຫມາຍສຸດທ້າຍຂອງມັນແມ່ນການສ້າງ "ອິນເຕີເນັດຂອງທຸກສິ່ງທຸກຢ່າງ". ນີ້ແມ່ນການຕີຄວາມເບື້ອງຕົ້ນຂອງ IoT, ເຊັ່ນດຽວກັນກັບຈິນຕະນາການຂອງເຕັກໂນໂລຢີໃນອະນາຄົດ. ສາມສິບປີຕໍ່ມາ, ດ້ວຍການພັດທະນາຢ່າງໄວວາຂອງເສດຖະກິດແລະເຕັກໂນໂລຢີ, ຈິນຕະນາການກໍາລັງເຂົ້າສູ່ຄວາມເປັນຈິງ. ຈາກອຸປະກອນອັດສະລິຍະ, ເຮືອນອັດສະລິຍະ, ນະຄອນອັດສະລິຍະ, ອິນເຕີເນັດຂອງຍານພາຫະນະ ແລະອຸປະກອນສວມໃສ່, ໄປສູ່ “ການປ່ຽນໃຈເຫລື້ອມໃສ” ທີ່ສະໜັບສະໜຸນໂດຍເຕັກໂນໂລຊີ IoT, ແນວຄວາມຄິດໃໝ່ໆແມ່ນປະກົດຂຶ້ນຢ່າງຕໍ່ເນື່ອງ. ໃນບົດນີ້, ພວກເຮົາຈະເລີ່ມຕົ້ນດ້ວຍຄໍາອະທິບາຍກ່ຽວກັບສະຖາປັດຕະຍະກໍາຂອງ Internet of Things, ແລະຫຼັງຈາກນັ້ນແນະນໍາຄໍາຮ້ອງສະຫມັກ IoT ທົ່ວໄປທີ່ສຸດ, ເຮືອນສະຫມາດ, ເພື່ອຊ່ວຍໃຫ້ທ່ານໄດ້ຮັບຄວາມເຂົ້າໃຈທີ່ຊັດເຈນກ່ຽວກັບ IoT.
1.1 ສະຖາປັດຕະຍະກຳຂອງ IoT
Internet of Things ກ່ຽວຂ້ອງກັບເທັກໂນໂລຍີທີ່ຫຼາກຫຼາຍທີ່ມີຄວາມຕ້ອງການ ແລະຮູບແບບການໃຊ້ງານທີ່ແຕກຕ່າງກັນໃນອຸດສາຫະກໍາຕ່າງໆ. ເພື່ອຈັດລຽງໂຄງສ້າງ, ເຕັກໂນໂລຢີທີ່ສໍາຄັນແລະຄຸນລັກສະນະຂອງຄໍາຮ້ອງສະຫມັກຂອງ IoT, ມັນຈໍາເປັນຕ້ອງສ້າງຖາປັດຕະຍະທີ່ເປັນເອກະພາບແລະລະບົບເຕັກນິກມາດຕະຖານ. ໃນຫນັງສືເຫຼັ້ມນີ້, ສະຖາປັດຕະຍະກໍາຂອງ IoT ແມ່ນແບ່ງອອກເປັນສີ່ຊັ້ນ: ຊັ້ນການຮັບຮູ້ແລະການຄວບຄຸມ, ຊັ້ນເຄືອຂ່າຍ, ຊັ້ນເວທີ, ແລະຊັ້ນຄໍາຮ້ອງສະຫມັກ.
Perception & Control Layer ໃນຖານະເປັນອົງປະກອບພື້ນຖານທີ່ສຸດຂອງສະຖາປັດຕະຍະກໍາ IoT, ຊັ້ນການຮັບຮູ້ແລະການຄວບຄຸມແມ່ນຫຼັກທີ່ຈະຮັບຮູ້ຄວາມຮູ້ສຶກທີ່ສົມບູນແບບຂອງ IoT. ຫນ້າທີ່ຕົ້ນຕໍຂອງມັນແມ່ນການເກັບກໍາ, ກໍານົດແລະຄວບຄຸມຂໍ້ມູນ. ມັນປະກອບດ້ວຍອຸປະກອນຕ່າງໆທີ່ມີຄວາມສາມາດໃນການຮັບຮູ້,
3

ການກໍານົດ, ການຄວບຄຸມແລະການປະຕິບັດ, ແລະຮັບຜິດຊອບສໍາລັບການດຶງຂໍ້ມູນແລະການວິເຄາະຂໍ້ມູນເຊັ່ນ: ຄຸນສົມບັດວັດສະດຸ, ແນວໂນ້ມພຶດຕິກໍາ, ແລະສະຖານະອຸປະກອນ. ດ້ວຍວິທີນີ້, IoT ໄດ້ຮັບການຮັບຮູ້ໂລກທາງດ້ານຮ່າງກາຍທີ່ແທ້ຈິງ. ນອກຈາກນັ້ນ, ຊັ້ນຍັງສາມາດຄວບຄຸມສະຖານະຂອງອຸປະກອນ.
ອຸປະກອນທົ່ວໄປທີ່ສຸດຂອງຊັ້ນນີ້ແມ່ນເຊັນເຊີຕ່າງໆ, ເຊິ່ງມີບົດບາດສໍາຄັນໃນການເກັບກໍາຂໍ້ມູນແລະການກໍານົດ. ເຊັນເຊີແມ່ນຄ້າຍຄືອະໄວຍະວະຮັບຮູ້ຂອງມະນຸດ, ເຊັ່ນ: ເຊັນເຊີ photosensitive ເທົ່າກັບການເບິ່ງເຫັນ, ເຊັນເຊີສຽງເພື່ອໄດ້ຍິນ, ເຊັນເຊີອາຍແກັສທີ່ຈະມີກິ່ນຫອມ, ແລະເຊັນເຊີຄວາມດັນແລະອຸນຫະພູມຕໍ່ການສໍາຜັດ. ດ້ວຍ "ອະໄວຍະວະ sensory" ທັງຫມົດເຫຼົ່ານີ້, ວັດຖຸກາຍເປັນ "ມີຊີວິດຢູ່" ແລະມີຄວາມສາມາດໃນການຮັບຮູ້ທີ່ສະຫລາດ, ການຮັບຮູ້ແລະການຫມູນໃຊ້ຂອງໂລກທາງດ້ານຮ່າງກາຍ.
Network Layer ຫນ້າທີ່ຕົ້ນຕໍຂອງຊັ້ນເຄືອຂ່າຍແມ່ນການສົ່ງຂໍ້ມູນ, ລວມທັງຂໍ້ມູນທີ່ໄດ້ມາຈາກຊັ້ນ perception & controller ໄປຫາເປົ້າຫມາຍທີ່ລະບຸ, ເຊັ່ນດຽວກັນກັບຄໍາສັ່ງທີ່ອອກຈາກຊັ້ນຄໍາຮ້ອງສະຫມັກກັບຄືນໄປບ່ອນຊັ້ນ perception & ການຄວບຄຸມ. ມັນເຮັດຫນ້າທີ່ເປັນຂົວການສື່ສານທີ່ສໍາຄັນເຊື່ອມຕໍ່ຊັ້ນຕ່າງໆຂອງລະບົບ IoT. ເພື່ອສ້າງຕົວແບບພື້ນຖານຂອງ Internet of Things, ມັນປະກອບມີສອງຂັ້ນຕອນເພື່ອປະສົມປະສານວັດຖຸເຂົ້າໄປໃນເຄືອຂ່າຍ: ການເຂົ້າເຖິງອິນເຕີເນັດແລະການສົ່ງຜ່ານອິນເຕີເນັດ.
ການເຂົ້າເຖິງອິນເຕີເນັດອິນເຕີເນັດເຮັດໃຫ້ການເຊື່ອມຕໍ່ກັນລະຫວ່າງຄົນກັບຄົນ, ແຕ່ບໍ່ສາມາດລວມເອົາສິ່ງຕ່າງໆເຂົ້າໄປໃນຄອບຄົວໃຫຍ່. ກ່ອນທີ່ຈະມາເຖິງຂອງ IoT, ເກືອບທັງຫມົດແມ່ນບໍ່ສາມາດ "ເຄືອຂ່າຍ". ຂໍຂອບໃຈກັບການພັດທະນາຢ່າງຕໍ່ເນື່ອງຂອງເທກໂນໂລຍີ, IoT ຈັດການການເຊື່ອມຕໍ່ສິ່ງຕ່າງໆກັບອິນເຕີເນັດ, ດັ່ງນັ້ນຈຶ່ງເຮັດໃຫ້ການເຊື່ອມຕໍ່ລະຫວ່າງ "ຄົນແລະສິ່ງຂອງ", ແລະ "ສິ່ງຂອງແລະສິ່ງຂອງ". ມີສອງວິທີທົ່ວໄປໃນການປະຕິບັດການເຊື່ອມຕໍ່ອິນເຕີເນັດ: ການເຂົ້າເຖິງເຄືອຂ່າຍມີສາຍແລະການເຂົ້າເຖິງເຄືອຂ່າຍໄຮ້ສາຍ.
ວິທີການເຂົ້າເຖິງເຄືອຂ່າຍແບບມີສາຍລວມມີອີເທີເນັດ, ການສື່ສານແບບ serial (ເຊັ່ນ: RS-232, RS-485) ແລະ USB, ໃນຂະນະທີ່ການເຂົ້າເຖິງເຄືອຂ່າຍໄຮ້ສາຍແມ່ນຂຶ້ນກັບການສື່ສານໄຮ້ສາຍ, ເຊິ່ງສາມາດແບ່ງອອກເປັນການສື່ສານໄຮ້ສາຍໄລຍະສັ້ນແລະການສື່ສານໄຮ້ສາຍໄລຍະໄກ.
ການສື່ສານໄຮ້ສາຍໄລຍະສັ້ນລວມມີ ZigBee, Bluetoothr, Wi-Fi, Near-Field Communication (NFC), ແລະ Radio Frequency Identification (RFID). ການສື່ສານໄຮ້ສາຍໄລຍະໄກລວມມີການສື່ສານປະເພດເຄື່ອງຈັກທີ່ປັບປຸງ (eMTC), LoRa, Narrow Band Internet of Things (NB-IoT), 2G, 3G, 4G, 5G, ແລະອື່ນໆ.
ການສົ່ງຜ່ານອິນເຕີເນັດວິທີການທີ່ແຕກຕ່າງກັນຂອງການເຂົ້າເຖິງອິນເຕີເນັດນໍາໄປສູ່ການເຊື່ອມຕໍ່ການສົ່ງຂໍ້ມູນທາງດ້ານຮ່າງກາຍທີ່ສອດຄ້ອງກັນ. ສິ່ງຕໍ່ໄປແມ່ນການຕັດສິນໃຈທີ່ຈະໃຊ້ໂປໂຕຄອນການສື່ສານເພື່ອສົ່ງຂໍ້ມູນ. ເມື່ອປຽບທຽບກັບສະຖານີອິນເຕີເນັດ, terminals IoT ສ່ວນໃຫຍ່ໃນປະຈຸບັນມີຫນ້ອຍ
4 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ຊັບພະຍາກອນທີ່ມີຢູ່, ເຊັ່ນປະສິດທິພາບການປຸງແຕ່ງ, ຄວາມອາດສາມາດການເກັບຮັກສາ, ອັດຕາເຄືອຂ່າຍ, ແລະອື່ນໆ, ດັ່ງນັ້ນ, ມັນຈໍາເປັນຕ້ອງເລືອກໂປໂຕຄອນການສື່ສານທີ່ຄອບຄອງຊັບພະຍາກອນຫນ້ອຍໃນຄໍາຮ້ອງສະຫມັກ IoT. ມີສອງໂປໂຕຄອນການສື່ສານທີ່ຖືກນໍາໃຊ້ຢ່າງກວ້າງຂວາງໃນມື້ນີ້: Message Queuing Telemetry Transport (MQTT) ແລະ Constrained Application Protocol (CoAP).
Platform Layer ຊັ້ນແພລະຕະຟອມສ່ວນໃຫຍ່ແມ່ນຫມາຍເຖິງເວທີຟັງ IoT. ເມື່ອ IoT terminals ທັງຫມົດແມ່ນເຄືອຂ່າຍ, ຂໍ້ມູນຂອງພວກເຂົາຕ້ອງໄດ້ຮັບການລວບລວມຢູ່ໃນເວທີ IoT cloud ເພື່ອຄິດໄລ່ແລະເກັບຮັກສາໄວ້. ຊັ້ນເວທີສ່ວນໃຫຍ່ແມ່ນສະຫນັບສະຫນູນຄໍາຮ້ອງສະຫມັກ IoT ໃນການອໍານວຍຄວາມສະດວກໃນການເຂົ້າເຖິງແລະການຄຸ້ມຄອງອຸປະກອນຂະຫນາດໃຫຍ່. ມັນເຊື່ອມຕໍ່ IoT terminals ກັບເວທີຟັງ, ເກັບກໍາຂໍ້ມູນ terminal, ແລະອອກຄໍາສັ່ງກັບ terminals, ເພື່ອປະຕິບັດການຄວບຄຸມຫ່າງໄກສອກຫຼີກ. ໃນຖານະເປັນການບໍລິການລະດັບກາງເພື່ອມອບອຸປະກອນໃຫ້ກັບຄໍາຮ້ອງສະຫມັກອຸດສາຫະກໍາ, ຊັ້ນເວທີມີບົດບາດເຊື່ອມຕໍ່ໃນສະຖາປັດຕະຍະກໍາ IoT ທັງຫມົດ, ປະຕິບັດເຫດຜົນທາງທຸລະກິດທີ່ບໍ່ມີຕົວຕົນແລະຮູບແບບຂໍ້ມູນຫຼັກມາດຕະຖານ, ເຊິ່ງບໍ່ພຽງແຕ່ສາມາດຮັບຮູ້ການເຂົ້າເຖິງໄວຂອງອຸປະກອນ, ແຕ່ຍັງໃຫ້ຄວາມສາມາດໂມດູນທີ່ມີປະສິດທິພາບ. ເພື່ອຕອບສະຫນອງຄວາມຕ້ອງການຕ່າງໆໃນສະຖານະການຄໍາຮ້ອງສະຫມັກອຸດສາຫະກໍາ. ຊັ້ນແພລະຕະຟອມສ່ວນໃຫຍ່ແມ່ນປະກອບດ້ວຍໂມດູນທີ່ເປັນປະໂຫຍດເຊັ່ນ: ການເຂົ້າເຖິງອຸປະກອນ, ການຈັດການອຸປະກອນ, ການຄຸ້ມຄອງຄວາມປອດໄພ, ການສື່ສານຂໍ້ຄວາມ, ການດໍາເນີນງານການຕິດຕາມແລະການບໍາລຸງຮັກສາ, ແລະຄໍາຮ້ອງສະຫມັກຂໍ້ມູນ.
· ການ​ເຂົ້າ​ເຖິງ​ອຸ​ປະ​ກອນ​, realizing ການ​ເຊື່ອມ​ຕໍ່​ແລະ​ການ​ສື່​ສານ​ລະ​ຫວ່າງ terminals ແລະ​ເວ​ທີ​ຟັງ IoT​.
· ການ​ຄຸ້ມ​ຄອງ​ອຸ​ປະ​ກອນ​, ລວມ​ທັງ​ຫນ້າ​ທີ່​ເຊັ່ນ​: ການ​ສ້າງ​ອຸ​ປະ​ກອນ​, ການ​ບໍາ​ລຸງ​ຮັກ​ສາ​ອຸ​ປະ​ກອນ​, ການ​ປ່ຽນ​ແປງ​ຂໍ້​ມູນ​, synchronization​ຂໍ້​ມູນ​, ແລະ​ການ​ແຜ່​ກະ​ຈາຍ​ອຸ​ປະ​ກອນ​.
·ການຄຸ້ມຄອງຄວາມປອດໄພ, ຮັບປະກັນຄວາມປອດໄພຂອງການສົ່ງຂໍ້ມູນ IoT ຈາກທັດສະນະຂອງການກວດສອບຄວາມປອດໄພແລະຄວາມປອດໄພການສື່ສານ.
· ການສື່ສານຂໍ້ຄວາມ, ລວມທັງສາມທິດທາງການສົ່ງ, ນັ້ນແມ່ນ, terminal ສົ່ງຂໍ້ມູນໄປຍັງແພລະຕະຟອມຟັງ IoT, ແພລະຕະຟອມຟັງ IoT ສົ່ງຂໍ້ມູນໄປຫາຝ່າຍເຊີຟເວີຫຼືເວທີຟັງ IoT ອື່ນໆ, ແລະຝ່າຍເຊີຟເວີຄວບຄຸມອຸປະກອນ IoT ຫ່າງໄກສອກຫຼີກ.
· ການຕິດຕາມ O&M, ກ່ຽວຂ້ອງກັບການຕິດຕາມແລະການວິນິດໄສ, ການຍົກລະດັບເຟີມແວ, ການດີບັກອອນໄລນ໌, ບໍລິການບັນທຶກ, ແລະອື່ນໆ.
· ການ​ນໍາ​ໃຊ້​ຂໍ້​ມູນ​, ກ່ຽວ​ກັບ​ການ​ເກັບ​ຮັກ​ສາ​, ການ​ວິ​ເຄາະ​ແລະ​ການ​ນໍາ​ໃຊ້​ຂໍ້​ມູນ​.
Application Layer ຊັ້ນແອັບພລິເຄຊັນໃຊ້ຂໍ້ມູນຈາກຊັ້ນແພລດຟອມເພື່ອຈັດການແອັບພລິເຄຊັນ, ການກັ່ນຕອງ ແລະປະມວນຜົນພວກມັນດ້ວຍເຄື່ອງມືເຊັ່ນ: ຖານຂໍ້ມູນ ແລະຊອບແວການວິເຄາະ. ຂໍ້ມູນຜົນໄດ້ຮັບສາມາດຖືກນໍາໃຊ້ສໍາລັບຄໍາຮ້ອງສະຫມັກ IoT ໃນໂລກທີ່ແທ້ຈິງເຊັ່ນ: ການດູແລສຸຂະພາບອັດສະລິຍະ, ການກະສິກໍາອັດສະລິຍະ, ເຮືອນອັດສະລິຍະ, ແລະຕົວເມືອງອັດສະລິຍະ.
ແນ່ນອນ, ສະຖາປັດຕະຍະກໍາຂອງ IoT ສາມາດແບ່ງອອກເປັນຫຼາຍຊັ້ນ, ແຕ່ບໍ່ວ່າມັນປະກອບດ້ວຍຫຼາຍຊັ້ນ, ຫຼັກການພື້ນຖານຍັງຄົງຢູ່ຄືກັນ. ການຮຽນຮູ້
ບົດທີ 1. ການນຳສະເໜີກ່ຽວກັບ IoT 5

ກ່ຽວກັບສະຖາປັດຕະຍະກໍາຂອງ IoT ຊ່ວຍໃຫ້ຄວາມເຂົ້າໃຈຂອງພວກເຮົາເລິກເຊິ່ງກ່ຽວກັບເຕັກໂນໂລຢີ IoT ແລະສ້າງໂຄງການ IoT ທີ່ເປັນປະໂຫຍດຢ່າງເຕັມສ່ວນ.
1.2 ແອັບພລິເຄຊັນ IoT ໃນເຮືອນອັດສະລິຍະ
IoT ໄດ້ເຂົ້າໄປໃນທຸກຊັ້ນຄົນຂອງຊີວິດ, ແລະຄໍາຮ້ອງສະຫມັກ IoT ທີ່ກ່ຽວຂ້ອງທີ່ສຸດກັບພວກເຮົາແມ່ນເຮືອນອັດສະລິຍະ. ປະຈຸບັນ, ເຄື່ອງໃຊ້ພື້ນເມືອງຈໍານວນຫຼາຍໄດ້ຖືກຕິດຕັ້ງດ້ວຍອຸປະກອນ IoT ຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນ, ແລະເຮືອນທີ່ສ້າງຂຶ້ນໃຫມ່ຈໍານວນຫຼາຍໄດ້ຖືກອອກແບບດ້ວຍເຕັກໂນໂລຢີ IoT ຕັ້ງແຕ່ເລີ່ມຕົ້ນ. ຮູບ 1.1 ສະແດງອຸປະກອນ smart home ບາງອັນ.
ຮູບທີ 1.1. ອຸ​ປະ​ກອນ smart home ທົ່ວ​ໄປ​ການ​ພັດ​ທະ​ນາ​ຂອງ smart ເຮືອນ​ສາ​ມາດ​ແບ່ງ​ອອກ​ຢ່າງ​ງ່າຍ​ດາຍ​ເປັນ smart product s​tage, scene interconnection stage ແລະອັດສະລິຍະ stage, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 1.2.
ຮູບທີ 1.2. ການພັດທະນາ stage of smart home 6 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ທໍາອິດ stage ແມ່ນກ່ຽວກັບຜະລິດຕະພັນ smart. ແຕກຕ່າງຈາກເຮືອນແບບດັ້ງເດີມ, ໃນເຮືອນອັດສະລິຍະ, ອຸປະກອນ IoT ໄດ້ຮັບສັນຍານທີ່ມີເຊັນເຊີ, ແລະຖືກເຊື່ອມຕໍ່ຜ່ານເຕັກໂນໂລຢີການສື່ສານໄຮ້ສາຍເຊັ່ນ Wi-Fi, Bluetooth LE, ແລະ ZigBee. ຜູ້​ໃຊ້​ສາ​ມາດ​ຄວບ​ຄຸມ​ຜະ​ລິດ​ຕະ​ພັນ smart ໃນ​ຫຼາຍ​ວິ​ທີ​, ເຊັ່ນ​: ກິດ​ໂທລະ​ສັບ​ສະ​ຫຼາດ​, ການ​ຊ່ວຍ​ເຫຼືອ​ສຽງ​, ການ​ຄວບ​ຄຸມ​ລໍາ​ໂພງ smart​, ແລະ​ອື່ນໆ​.tage ສຸມໃສ່ການເຊື່ອມຕໍ່ລະຫວ່າງ scene. ໃນນີ້ stage, ນັກພັດທະນາບໍ່ໄດ້ພິຈາລະນາການຄວບຄຸມຜະລິດຕະພັນ smart ດຽວ, ແຕ່ເຊື່ອມຕໍ່ສອງຜະລິດຕະພັນ smart, ອັດຕະໂນມັດໃນລະດັບໃດຫນຶ່ງ, ແລະສຸດທ້າຍກໍ່ປະກອບເປັນຮູບແບບ scene ທີ່ກໍາຫນົດເອງ. ຕົວຢ່າງampໃນ​ເວ​ລາ​ທີ່​ຜູ້​ໃຊ້​ກົດ​ປຸ່ມ​ຮູບ​ແບບ scene ໃດ​ຫນຶ່ງ​, ໄຟ​, curtains​, ແລະ​ເຄື່ອງ​ປັບ​ອາ​ກາດ​ຈະ​ໄດ້​ຮັບ​ການ​ປັບ​ອັດ​ຕະ​ໂນ​ມັດ​ກັບ presets​. ແນ່ນອນ, ມີເງື່ອນໄຂເບື້ອງຕົ້ນທີ່ເຫດຜົນຂອງການເຊື່ອມໂຍງຖືກຕັ້ງໄວ້ພ້ອມ, ລວມທັງເງື່ອນໄຂການກະຕຸ້ນແລະການປະຕິບັດການປະຕິບັດ. ຈິນຕະນາການວ່າຮູບແບບການໃຫ້ຄວາມຮ້ອນເຄື່ອງປັບອາກາດຖືກກະຕຸ້ນເມື່ອອຸນຫະພູມພາຍໃນເຮືອນຫຼຸດລົງຕໍ່າກວ່າ 10 ອົງສາເຊ; ໃນເວລາ 7 ໂມງເຊົ້າ, ມີການເປີດດົນຕີເພື່ອປຸກຜູ້ໃຊ້, ຜ້າມ່ານອັດສະລິຍະໄດ້ເປີດ, ແລະຫມໍ້ຫຸງເຂົ້າຫຼືເຄື່ອງເຮັດເຂົ້າຈີ່ຈະເລີ້ມຜ່ານເຕົ້າສຽບ smart; ເມື່ອຜູ້ໃຊ້ລຸກຂຶ້ນແລະລ້າງໃຫ້ສໍາເລັດ, ອາຫານເຊົ້າແມ່ນໄດ້ໃຫ້ບໍລິການແລ້ວ, ເພື່ອບໍ່ໃຫ້ມີການຊັກຊ້າໃນການໄປເຮັດວຽກ. ຊີວິດ​ຂອງ​ເຮົາ​ມີ​ຄວາມ​ສະດວກ​ສະບາຍ​ພຽງ​ໃດ! ທີສາມ stage ໄປທາງປັນຍາ stage. ເມື່ອອຸປະກອນໃນເຮືອນອັດສະລິຍະມີການເຂົ້າເຖິງຫຼາຍ, ປະເພດຂອງຂໍ້ມູນທີ່ສ້າງຂຶ້ນ. ດ້ວຍການຊ່ວຍເຫຼືອຂອງຄອມພິວເຕີ້ຟັງ, ຂໍ້ມູນໃຫຍ່ແລະປັນຍາປະດິດ, ມັນຄ້າຍຄືກັບ "ສະ ໝອງ ທີ່ສະຫຼາດກວ່າ" ໄດ້ຖືກປູກເຂົ້າໃນເຮືອນທີ່ສະຫຼາດ, ເຊິ່ງບໍ່ຕ້ອງການ ຄຳ ສັ່ງເລື້ອຍໆຈາກຜູ້ໃຊ້ອີກຕໍ່ໄປ. ພວກເຂົາເກັບກໍາຂໍ້ມູນຈາກການໂຕ້ຕອບທີ່ຜ່ານມາແລະຮຽນຮູ້ຮູບແບບພຶດຕິກໍາແລະຄວາມມັກຂອງຜູ້ໃຊ້, ເພື່ອເຮັດໃຫ້ກິດຈະກໍາອັດຕະໂນມັດ, ລວມທັງການໃຫ້ຄໍາແນະນໍາສໍາລັບການຕັດສິນໃຈ. ໃນປັດຈຸບັນ, ເຮືອນ smart ສ່ວນໃຫຍ່ແມ່ນຢູ່ໃນ scene interconnection stage. ໃນຂະນະທີ່ອັດຕາການເຈາະແລະປັນຍາຂອງຜະລິດຕະພັນສະຫມາດເພີ່ມຂຶ້ນ, ສິ່ງກີດຂວາງລະຫວ່າງໂປໂຕຄອນການສື່ສານກໍາລັງຖືກໂຍກຍ້າຍ. ໃນອະນາຄົດ, ເຮືອນອັດສະລິຍະຖືກຜູກມັດໃຫ້ກາຍເປັນ "ສະຫຼາດ", ຄືກັນກັບລະບົບ AI Jarvis ໃນ Iron Man, ເຊິ່ງບໍ່ພຽງແຕ່ຊ່ວຍໃຫ້ຜູ້ໃຊ້ຄວບຄຸມອຸປະກອນຕ່າງໆ, ຈັດການກັບວຽກງານປະຈໍາວັນ, ແຕ່ຍັງມີຄວາມສາມາດຄອມພິວເຕີ້ສູງແລະຄວາມສາມາດໃນການຄິດ. ໃນອັດສະລິຍະ stage, ມະນຸດຈະໄດ້ຮັບການບໍລິການທີ່ດີກວ່າທັງດ້ານປະລິມານແລະຄຸນນະພາບ.
ບົດທີ 1. ການນຳສະເໜີກ່ຽວກັບ IoT 7

8 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ບົດແນະນໍາ ແລະການປະຕິບັດ 2 ໂຄງການ IoT
ໃນບົດທີ 1, ພວກເຮົາໄດ້ນໍາສະເຫນີສະຖາປັດຕະຍະກໍາຂອງ IoT, ແລະບົດບາດແລະຄວາມກ່ຽວຂ້ອງກັນຂອງຊັ້ນການຮັບຮູ້ແລະການຄວບຄຸມ, ຊັ້ນເຄືອຂ່າຍ, ຊັ້ນເວທີ, ແລະຊັ້ນຄໍາຮ້ອງສະຫມັກ, ເຊັ່ນດຽວກັນກັບການພັດທະນາຂອງເຮືອນອັດສະລິຍະ. ຢ່າງໃດກໍ່ຕາມ, ຄືກັນກັບເວລາເຮົາຮຽນສີ, ການຮູ້ຄວາມຮູ້ທາງທິດສະດີແມ່ນຢູ່ໄກພໍສົມຄວນ. ພວກເຮົາຕ້ອງ "ເຮັດໃຫ້ມືຂອງພວກເຮົາເປື້ອນ" ເພື່ອເອົາໂຄງການ IoT ເຂົ້າໄປໃນການປະຕິບັດເພື່ອໃຫ້ສາມາດເປັນເຈົ້າຂອງເຕັກໂນໂລຢີຢ່າງແທ້ຈິງ. ນອກຈາກນັ້ນ, ໃນເວລາທີ່ໂຄງການຍ້າຍໄປສູ່ການຜະລິດມະຫາຊົນ stage, ມັນຈໍາເປັນຕ້ອງພິຈາລະນາປັດໃຈເພີ່ມເຕີມເຊັ່ນ: ການເຊື່ອມຕໍ່ເຄືອຂ່າຍ, ການຕັ້ງຄ່າ, ການໂຕ້ຕອບຂອງເວທີຟັງ IoT, ການຈັດການເຟີມແວແລະການປັບປຸງ, ການຄຸ້ມຄອງການຜະລິດຈໍານວນຫລາຍ, ແລະການຕັ້ງຄ່າຄວາມປອດໄພ. ດັ່ງນັ້ນ, ສິ່ງທີ່ພວກເຮົາຈໍາເປັນຕ້ອງໄດ້ເອົາໃຈໃສ່ໃນເວລາທີ່ການພັດທະນາໂຄງການ IoT ສໍາເລັດ? ໃນບົດທີ 1, ພວກເຮົາໄດ້ກ່າວເຖິງວ່າເຮືອນອັດສະລິຍະແມ່ນຫນຶ່ງໃນສະຖານະການຄໍາຮ້ອງສະຫມັກ IoT ທົ່ວໄປທີ່ສຸດ, ແລະໄຟອັດສະລິຍະແມ່ນຫນຶ່ງໃນເຄື່ອງໃຊ້ພື້ນຖານແລະປະຕິບັດໄດ້ຫຼາຍທີ່ສຸດ, ເຊິ່ງສາມາດນໍາໃຊ້ໃນເຮືອນ, ໂຮງແຮມ, ຫ້ອງອອກກໍາລັງກາຍ, ໂຮງຫມໍ, ແລະອື່ນໆ. ປື້ມຫົວນີ້, ພວກເຮົາຈະເອົາການກໍ່ສ້າງໂຄງການແສງສະຫວ່າງ smart ເປັນຈຸດເລີ່ມຕົ້ນ, ອະທິບາຍອົງປະກອບແລະລັກສະນະຂອງມັນ, ແລະໃຫ້ຄໍາແນະນໍາໃນການພັດທະນາໂຄງການ. ພວກເຮົາຫວັງວ່າທ່ານຈະສາມາດແຕ້ມ inferences ຈາກກໍລະນີນີ້ເພື່ອສ້າງຄໍາຮ້ອງສະຫມັກ IoT ຫຼາຍ.
2.1 ການແນະນໍາໂຄງການ IoT ປົກກະຕິ
ໃນແງ່ຂອງການພັດທະນາ, ໂມດູນທີ່ເປັນປະໂຫຍດພື້ນຖານຂອງໂຄງການ IoT ສາມາດແບ່ງອອກເປັນຊອບແວແລະການພັດທະນາຮາດແວຂອງອຸປະກອນ IoT, ການພັດທະນາຄໍາຮ້ອງສະຫມັກຂອງລູກຄ້າແລະການພັດທະນາແພລະຕະຟອມຟັງ IoT. ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະຊີ້ແຈງກ່ຽວກັບໂມດູນທີ່ເປັນປະໂຫຍດພື້ນຖານ, ເຊິ່ງຈະຖືກອະທິບາຍຕື່ມອີກໃນພາກນີ້.
2.1.1 ໂມດູນພື້ນຖານສໍາລັບອຸປະກອນ IoT ທົ່ວໄປ
ການພັດທະນາຊອບແວແລະຮາດແວຂອງອຸປະກອນ IoT ປະກອບມີໂມດູນພື້ນຖານດັ່ງຕໍ່ໄປນີ້: ການເກັບກໍາຂໍ້ມູນ
ໃນຖານະເປັນຊັ້ນລຸ່ມຂອງສະຖາປັດຕະຍະກໍາ IoT, ອຸປະກອນ IoT ຂອງຊັ້ນການຮັບຮູ້ແລະການຄວບຄຸມເຊື່ອມຕໍ່ເຊັນເຊີແລະອຸປະກອນຜ່ານຊິບແລະອຸປະກອນຕໍ່ອຸປະກອນເພື່ອບັນລຸການເກັບກໍາຂໍ້ມູນແລະການຄວບຄຸມການດໍາເນີນງານ.
9

ການຜູກມັດບັນຊີ ແລະການຕັ້ງຄ່າເບື້ອງຕົ້ນ ສໍາລັບອຸປະກອນ IoT ສ່ວນໃຫຍ່, ການຜູກມັດບັນຊີ ແລະການຕັ້ງຄ່າເບື້ອງຕົ້ນແມ່ນສໍາເລັດໃນຂະບວນການປະຕິບັດການຫນຶ່ງ, ສໍາລັບການຍົກຕົວຢ່າງ.ample, ການເຊື່ອມຕໍ່ອຸປະກອນກັບຜູ້ໃຊ້ໂດຍການຕັ້ງຄ່າເຄືອຂ່າຍ Wi-Fi.
ການໂຕ້ຕອບກັບແພລະຕະຟອມຟັງ IoT ເພື່ອຕິດຕາມແລະຄວບຄຸມອຸປະກອນ IoT, ມັນຍັງມີຄວາມຈໍາເປັນທີ່ຈະເຊື່ອມຕໍ່ພວກມັນກັບແພລະຕະຟອມຟັງ IoT, ເພື່ອໃຫ້ຄໍາສັ່ງແລະລາຍງານສະຖານະການໂດຍຜ່ານການໂຕ້ຕອບລະຫວ່າງກັນແລະກັນ.
ການຄວບຄຸມອຸປະກອນ ເມື່ອເຊື່ອມຕໍ່ກັບເວທີຄລາວຂອງ IoT, ອຸປະກອນສາມາດຕິດຕໍ່ສື່ສານກັບຄລາວ ແລະຖືກລົງທະບຽນ, ຜູກມັດ ຫຼືຄວບຄຸມ. ຜູ້​ໃຊ້​ສາ​ມາດ​ສອບ​ຖາມ​ສະ​ຖາ​ນະ​ພາບ​ຜະ​ລິດ​ຕະ​ພັນ​ແລະ​ປະ​ຕິ​ບັດ​ການ​ປະ​ຕິ​ບັດ​ການ​ອື່ນໆ​ຢູ່​ໃນ app ໂທລະ​ສັບ​ສະ​ຫຼາດ​ໂດຍ​ຜ່ານ​ເວ​ທີ IoT cloud ຫຼື​ໂຄງ​ການ​ການ​ສື່​ສານ​ທ້ອງ​ຖິ່ນ​.
ການຍົກລະດັບເຟີມແວອຸປະກອນ IoT ຍັງສາມາດບັນລຸການຍົກລະດັບເຟີມແວໂດຍອີງໃສ່ຄວາມຕ້ອງການຂອງຜູ້ຜະລິດ. ໂດຍການໄດ້ຮັບຄໍາສັ່ງທີ່ສົ່ງໂດຍຄລາວ, ການຍົກລະດັບເຟີມແວແລະການຄຸ້ມຄອງເວີຊັນຈະຖືກຮັບຮູ້. ດ້ວຍຄຸນສົມບັດການອັບເກຣດເຟີມແວນີ້, ທ່ານສາມາດປັບປຸງການເຮັດວຽກຂອງອຸປະກອນ IoT ຢ່າງຕໍ່ເນື່ອງ, ແກ້ໄຂຂໍ້ບົກພ່ອງ ແລະປັບປຸງປະສົບການຂອງຜູ້ໃຊ້.
2.1.2 ໂມດູນພື້ນຖານຂອງແອັບພລິເຄຊັນລູກຄ້າ
ແອັບພລິເຄຊັນລູກຄ້າ (ເຊັ່ນ: ແອັບຯສະມາດໂຟນ) ສ່ວນໃຫຍ່ປະກອບມີໂມດູນພື້ນຖານຕໍ່ໄປນີ້:
ລະບົບບັນຊີແລະການອະນຸຍາດ ມັນສະຫນັບສະຫນູນບັນຊີແລະການອະນຸຍາດອຸປະກອນ.
ການຄວບຄຸມອຸປະກອນ ແອັບຯ Smartphone ປົກກະຕິແລ້ວມີຫນ້າທີ່ຄວບຄຸມ. ຜູ້​ໃຊ້​ສາ​ມາດ​ເຊື່ອມ​ຕໍ່​ກັບ​ອຸ​ປະ​ກອນ IoT ໄດ້​ຢ່າງ​ງ່າຍ​ດາຍ​, ແລະ​ຈັດ​ການ​ໃຫ້​ເຂົາ​ເຈົ້າ​ທຸກ​ເວ​ລາ​, ທຸກ​ແຫ່ງ​ຫົນ​ໂດຍ​ຜ່ານ​ກິດ​ໂທລະ​ສັບ​ສະ​ຫຼາດ​. ຢູ່ໃນເຮືອນອັດສະລິຍະທີ່ແທ້ຈິງ, ອຸປະກອນສ່ວນໃຫຍ່ຖືກຄວບຄຸມຜ່ານແອັບຯສະມາດໂຟນ, ເຊິ່ງບໍ່ພຽງແຕ່ເຮັດໃຫ້ການຈັດການອຸປະກອນອັດສະລິຍະ, ແຕ່ຍັງປະຫຍັດຄ່າໃຊ້ຈ່າຍຂອງກໍາລັງຄົນ. ດັ່ງນັ້ນ, ການຄວບຄຸມອຸປະກອນແມ່ນຈໍາເປັນສໍາລັບຄໍາຮ້ອງສະຫມັກຂອງລູກຄ້າ, ເຊັ່ນ: ການຄວບຄຸມຄຸນລັກສະນະຂອງອຸປະກອນ, ການຄວບຄຸມ scene, ການກໍານົດເວລາ, ການຄວບຄຸມຫ່າງໄກສອກຫຼີກ, ການເຊື່ອມໂຍງອຸປະກອນ, ແລະອື່ນໆ, ຜູ້ໃຊ້ smart home ຍັງສາມາດປັບແຕ່ງ scenes ຕາມຄວາມຕ້ອງການສ່ວນບຸກຄົນ, ການຄວບຄຸມແສງສະຫວ່າງ, ເຄື່ອງໃຊ້ໃນເຮືອນ, ປະຕູທາງເຂົ້າ. ເປັນຕົ້ນ ເພື່ອເຮັດໃຫ້ຊີວິດການເປັນຢູ່ພາຍໃນບ້ານມີຄວາມສະດວກສະບາຍ ແລະ ສະດວກຂຶ້ນ. ພວກ​ເຂົາ​ເຈົ້າ​ສາ​ມາດ​ໃຊ້​ເວ​ລາ​ປັບ​ອາ​ກາດ​, ປິດ​ມັນ​ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​, ຕັ້ງ​ແສງ​ສະ​ຫວ່າງ​ຫ້ອງ​ໂຖ​ປັດ​ສະ​ວະ​ອັດ​ຕະ​ໂນ​ມັດ​ເມື່ອ​ປະ​ຕູ​ໄດ້​ຖືກ​ປົດ​ລັອກ​, ຫຼື​ສະ​ຫຼັບ​ກັບ​ຮູບ​ແບບ "ໂຮງ​ຮູບ​ພາບ​" ດ້ວຍ​ປຸ່ມ​ດຽວ​.
ແອັບພລິເຄຊັນການແຈ້ງເຕືອນລູກຄ້າອັບເດດສະຖານະເວລາຈິງຂອງອຸປະກອນ IoT, ແລະສົ່ງການແຈ້ງເຕືອນເມື່ອອຸປະກອນຜິດປົກກະຕິ.
10 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ການບໍລິການລູກຄ້າຫລັງການຂາຍແອັບຯໂທລະສັບສະຫຼາດສາມາດໃຫ້ບໍລິການຫລັງການຂາຍສໍາລັບຜະລິດຕະພັນ, ເພື່ອແກ້ໄຂບັນຫາທີ່ກ່ຽວຂ້ອງກັບຄວາມລົ້ມເຫຼວຂອງອຸປະກອນ IoT ແລະການດໍາເນີນງານດ້ານວິຊາການຢ່າງທັນເວລາ.
ຫນ້າທີ່ແນະນໍາເພື່ອຕອບສະຫນອງຄວາມຕ້ອງການຂອງຜູ້ໃຊ້ທີ່ແຕກຕ່າງກັນ, ຟັງຊັນອື່ນໆອາດຈະຖືກເພີ່ມເຊັ່ນ Shake, NFC, GPS, ແລະອື່ນໆ GPS ສາມາດຊ່ວຍກໍານົດຄວາມຖືກຕ້ອງຂອງການດໍາເນີນການ scene ຕາມສະຖານທີ່ແລະໄລຍະຫ່າງ, ໃນຂະນະທີ່ຟັງຊັນ Shake ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດຕັ້ງຄ່າໄດ້. ຄໍາສັ່ງທີ່ຈະປະຕິບັດສໍາລັບອຸປະກອນສະເພາະໃດຫນຶ່ງຫຼື scene ໂດຍການສັ່ນສະເທືອນ.
2.1.3 ການແນະນຳແພລດຟອມ IoT Cloud ທົ່ວໄປ
ແພລດຟອມຄລາວຂອງ IoT ເປັນແພລດຟອມທັງໝົດໃນໜຶ່ງດຽວ ເຊິ່ງລວມເອົາໜ້າທີ່ຕ່າງໆ ເຊັ່ນ: ການຈັດການອຸປະກອນ, ການສື່ສານຄວາມປອດໄພຂໍ້ມູນ ແລະ ການຈັດການການແຈ້ງເຕືອນ. ອີງຕາມກຸ່ມເປົ້າຫມາຍແລະການເຂົ້າເຖິງຂອງພວກເຂົາ, ແພລະຕະຟອມຟັງ IoT ສາມາດແບ່ງອອກເປັນແພລະຕະຟອມຟັງ IoT ສາທາລະນະ (ຕໍ່ໄປນີ້ເອີ້ນວ່າ "ຄລາວສາທາລະນະ") ແລະແພລະຕະຟອມຟັງ IoT ສ່ວນຕົວ (ຕໍ່ໄປນີ້ເອີ້ນວ່າ "ຄລາວສ່ວນຕົວ").
ສາທາລະນະຄລາວປົກກະຕິແລ້ວຊີ້ໃຫ້ເຫັນແພລະຕະຟອມຟັງ IoT ທີ່ໃຊ້ຮ່ວມກັນສໍາລັບວິສາຫະກິດຫຼືບຸກຄົນ, ດໍາເນີນການແລະຮັກສາໂດຍຜູ້ໃຫ້ບໍລິການແພລະຕະຟອມ, ແລະແບ່ງປັນຜ່ານອິນເຕີເນັດ. ມັນສາມາດບໍ່ເສຍຄ່າຫຼືລາຄາຖືກ, ແລະໃຫ້ບໍລິການໃນທົ່ວເຄືອຂ່າຍສາທາລະນະທີ່ເປີດ, ເຊັ່ນ Alibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT, ແລະອື່ນໆ. ໃນຖານະເປັນເວທີສະຫນັບສະຫນູນ, cloud ສາທາລະນະສາມາດປະສົມປະສານກັບຜູ້ໃຫ້ບໍລິການດ້ານເທິງແລະ ຜູ້ໃຊ້ສຸດທ້າຍເພື່ອສ້າງລະບົບຕ່ອງໂສ້ມູນຄ່າແລະລະບົບນິເວດໃຫມ່.
ຟັງສ່ວນຕົວແມ່ນສ້າງຂຶ້ນເພື່ອໃຊ້ໃນວິສາຫະກິດເທົ່ານັ້ນ, ດັ່ງນັ້ນຈຶ່ງຮັບປະກັນການຄວບຄຸມຂໍ້ມູນ, ຄວາມປອດໄພ ແລະຄຸນນະພາບການບໍລິການທີ່ດີທີ່ສຸດ. ການບໍລິການແລະໂຄງສ້າງພື້ນຖານຂອງມັນໄດ້ຖືກຮັກສາໄວ້ແຍກຕ່າງຫາກໂດຍວິສາຫະກິດ, ແລະຮາດແວແລະຊອບແວທີ່ສະຫນັບສະຫນູນແມ່ນຍັງອຸທິດໃຫ້ຜູ້ໃຊ້ສະເພາະ. ວິສາຫະກິດສາມາດປັບແຕ່ງການບໍລິການຄລາວເພື່ອຕອບສະໜອງຄວາມຕ້ອງການຂອງທຸລະກິດຂອງເຂົາເຈົ້າ. ໃນປັດຈຸບັນ, ຜູ້ຜະລິດເຮືອນອັດສະລິຍະບາງຄົນມີແພລະຕະຟອມຟັງ IoT ສ່ວນຕົວແລ້ວແລະພັດທະນາຄໍາຮ້ອງສະຫມັກເຮືອນ smart ໂດຍອີງໃສ່ພວກມັນ.
ຟັງສາທາລະນະແລະຄລາວສ່ວນຕົວມີ advan ຂອງຕົນເອງtages, ເຊິ່ງຈະຖືກອະທິບາຍຕໍ່ມາ.
ເພື່ອບັນລຸການເຊື່ອມຕໍ່ການສື່ສານ, ມັນຈໍາເປັນຕ້ອງເຮັດສໍາເລັດຢ່າງຫນ້ອຍການພັດທະນາຝັງຢູ່ໃນອຸປະກອນ, ຄຽງຄູ່ກັບເຄື່ອງແມ່ຂ່າຍທຸລະກິດ, ເວທີຟັງ IoT, ແລະກິດໂທລະສັບສະຫຼາດ. ປະເຊີນຫນ້າກັບໂຄງການຂະຫນາດໃຫຍ່ດັ່ງກ່າວ, ຟັງສາທາລະນະປົກກະຕິສະຫນອງຊຸດການພັດທະນາຊອບແວສໍາລັບອຸປະກອນຂ້າງຄຽງແລະແອັບຯໂທລະສັບສະຫຼາດເພື່ອເຮັດໃຫ້ຂະບວນການໄວຂຶ້ນ. ທັງສາທາລະນະແລະເອກະຊົນຄລາວໃຫ້ບໍລິການລວມທັງການເຂົ້າເຖິງອຸປະກອນ, ການຈັດການອຸປະກອນ, ເງົາອຸປະກອນ, ແລະການດໍາເນີນງານແລະການບໍາລຸງຮັກສາ.
ການເຂົ້າເຖິງອຸປະກອນ IoT cloud platforms ຕ້ອງການໃຫ້ບໍ່ພຽງແຕ່ການໂຕ້ຕອບສໍາລັບການເຂົ້າເຖິງອຸປະກອນໂດຍໃຊ້ໂປໂຕຄອນ
ບົດທີ 2. ການແນະນຳ ແລະ ການປະຕິບັດໂຄງການ IoT 11

ເຊັ່ນ: MQTT, CoAP, HTTPS, ແລະ Webເຕົ້າຮັບ, ແຕ່ຍັງຫນ້າທີ່ຂອງການກວດສອບຄວາມປອດໄພອຸປະກອນເພື່ອສະກັດອຸປະກອນ forged ແລະຜິດກົດຫມາຍ, ປະສິດທິຜົນຫຼຸດຜ່ອນຄວາມສ່ຽງຕໍ່ການຖືກທໍາລາຍ. ການກວດສອບຄວາມຖືກຕ້ອງດັ່ງກ່າວມັກຈະສະຫນັບສະຫນູນກົນໄກທີ່ແຕກຕ່າງກັນ, ດັ່ງນັ້ນເມື່ອອຸປະກອນມີການຜະລິດຈໍານວນຫລາຍ, ມັນຈໍາເປັນຕ້ອງໄດ້ມອບໃບຢັ້ງຢືນອຸປະກອນໄວ້ລ່ວງຫນ້າຕາມກົນໄກການກວດສອບທີ່ເລືອກແລະເຜົາມັນເຂົ້າໄປໃນອຸປະກອນຕ່າງໆ.
ການຈັດການອຸປະກອນ ຟັງຊັນການຈັດການອຸປະກອນທີ່ສະໜອງໃຫ້ໂດຍເວທີຄລາວຂອງ IoT ບໍ່ພຽງແຕ່ຊ່ວຍໃຫ້ຜູ້ຜະລິດກວດສອບສະຖານະການເປີດໃຊ້ງານ ແລະສະຖານະອອນລາຍຂອງອຸປະກອນຂອງເຂົາເຈົ້າໃນເວລາຈິງເທົ່ານັ້ນ, ແຕ່ຍັງອະນຸຍາດໃຫ້ມີທາງເລືອກຕ່າງໆເຊັ່ນ: ເພີ່ມ/ຖອດອຸປະກອນ, ດຶງຂໍ້ມູນ, ເພີ່ມ/ລຶບກຸ່ມ, ອັບເກຣດເຟີມແວ , ແລະການຄຸ້ມຄອງສະບັບ.
shadow Device IoT cloud platforms can create a persistent virtual version (device shadow) for each device, and the status of the device shadow can be synchronized and get by smartphone app or other devices through Internet transmission protocols. ເງົາອຸປະກອນເກັບຮັກສາສະຖານະລາຍງານຫຼ້າສຸດ ແລະສະຖານະທີ່ຄາດໄວ້ຂອງແຕ່ລະອຸປະກອນ, ແລະເຖິງແມ່ນວ່າອຸປະກອນຈະອອບລາຍຢູ່, ມັນຍັງສາມາດໄດ້ຮັບສະຖານະໂດຍການໂທຫາ APIs. ເງົາອຸປະກອນໃຫ້ APIs ຢູ່ສະເໝີ, ເຊິ່ງເຮັດໃຫ້ມັນງ່າຍຂຶ້ນໃນການສ້າງແອັບສະມາດໂຟນທີ່ພົວພັນກັບອຸປະກອນ.
ການດໍາເນີນງານແລະການບໍາລຸງຮັກສາ ຟັງຊັນ O&M ປະກອບມີສາມດ້ານ: · ການສະແດງຂໍ້ມູນສະຖິຕິກ່ຽວກັບອຸປະກອນ IoT ແລະການແຈ້ງເຕືອນ. · ການ​ຄຸ້ມ​ຄອງ​ບັນ​ທຶກ​ອະ​ນຸ​ຍາດ​ໃຫ້​ດຶງ​ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ພຶດ​ຕິ​ກໍາ​ອຸ​ປະ​ກອນ​, ການ​ໄຫຼ​ຂອງ​ຂໍ້​ຄວາມ​ຂຶ້ນ / ລົງ​, ແລະ​ເນື້ອ​ໃນ​ຂໍ້​ຄວາມ​. · ການດີບັກອຸປະກອນຮອງຮັບການຈັດສົ່ງຄຳສັ່ງ, ການອັບເດດການຕັ້ງຄ່າ ແລະການກວດສອບການໂຕ້ຕອບລະຫວ່າງເວທີຄລາວຂອງ IoT ແລະຂໍ້ຄວາມອຸປະກອນ.
2.2 ການປະຕິບັດ: ໂຄງການ Smart Light
ຫຼັງຈາກການແນະນໍາທາງທິດສະດີໃນແຕ່ລະບົດ, ທ່ານຈະພົບເຫັນພາກປະຕິບັດທີ່ກ່ຽວຂ້ອງກັບໂຄງການ Smart Light ເພື່ອຊ່ວຍໃຫ້ທ່ານມີປະສົບການໃນມື. ໂຄງການດັ່ງກ່າວແມ່ນອີງໃສ່ຊິບ ESP32-C3 ຂອງ Espressif ແລະ ESP RainMaker IoT Cloud Platform, ແລະກວມເອົາຮາດແວໂມດູນໄຮ້ສາຍໃນຜະລິດຕະພັນແສງສະຫວ່າງອັດສະລິຍະ, ຊອບແວທີ່ຝັງໄວ້ສໍາລັບອຸປະກອນສະຫມາດໂດຍອີງໃສ່ ESP32C3, ແອັບຯໂທລະສັບສະຫຼາດ, ແລະການໂຕ້ຕອບ ESP RainMaker.
ລະຫັດແຫຼ່ງສໍາລັບການຮຽນຮູ້ແລະການພັດທະນາປະສົບການທີ່ດີກວ່າ, ໂຄງການໃນປື້ມນີ້ໄດ້ຖືກ opensourced. ທ່ານສາມາດດາວໂຫລດລະຫັດແຫຼ່ງຈາກບ່ອນເກັບຂໍ້ມູນ GitHub ຂອງພວກເຮົາທີ່ https://github. com/espressif/book-esp32c3-iot-projects.
12 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

2.2.1 ໂຄງສ້າງໂຄງການ
ໂຄງການ Smart Light ປະກອບດ້ວຍສາມພາກສ່ວນ: i. ອຸ​ປະ​ກອນ​ແສງ​ສະ​ຫຼາດ​ອີງ​ໃສ່ ESP32-C3, ຮັບ​ຜິດ​ຊອບ​ສໍາ​ລັບ​ການ​ພົວ​ພັນ​ກັບ​ເວ​ທີ​ຟັງ IoT, ແລະ​ການ​ຄວບ​ຄຸມ​ສະ​ວິດ, ຄວາມ​ສະ​ຫວ່າງ​ແລະ​ອຸນ​ຫະ​ພູມ​ສີ​ຂອງ LED lamp ລູກປັດ. ii. ແອັບຯໂທລະສັບສະຫຼາດ (ລວມທັງແອັບຯແທັບເລັດທີ່ເຮັດວຽກຢູ່ໃນ Android ແລະ iOS), ຮັບຜິດຊອບສໍາລັບການຕັ້ງຄ່າເຄືອຂ່າຍຂອງຜະລິດຕະພັນແສງສະຫວ່າງອັດສະລິຍະ, ເຊັ່ນດຽວກັນກັບການສອບຖາມແລະຄວບຄຸມສະຖານະຂອງເຂົາເຈົ້າ.
iii. ເວທີຄລາວ IoT ໂດຍອີງໃສ່ ESP RainMaker. ເພື່ອຄວາມງ່າຍດາຍ, ພວກເຮົາພິຈາລະນາແພລະຕະຟອມຟັງ IoT ແລະເຄື່ອງແມ່ຂ່າຍທຸລະກິດໂດຍລວມໃນຫນັງສືເຫຼັ້ມນີ້. ລາຍລະອຽດກ່ຽວກັບ ESP RainMaker ຈະຖືກສະໜອງໃຫ້ໃນບົດທີ 3.
ການຕິດຕໍ່ກັນລະຫວ່າງໂຄງສ້າງໂຄງການ Smart Light ແລະສະຖາປັດຕະຍະກໍາຂອງ IoT ແມ່ນສະແດງຢູ່ໃນຮູບ 2.1.
ຮູບທີ 2.1. ໂຄງສ້າງຂອງໂຄງການແສງສະຫຼາດ
2.2.2 ໜ້າທີ່ຂອງໂຄງການ
ແບ່ງອອກຕາມໂຄງສ້າງ, ໜ້າທີ່ຂອງແຕ່ລະພາກສ່ວນມີດັ່ງນີ້. ອຸປະກອນໄຟອັດສະລິຍະ
·​ການ​ຕັ້ງ​ຄ່າ​ເຄືອ​ຂ່າຍ​ແລະ​ການ​ເຊື່ອມ​ຕໍ່​. · LED PWM ຄວບຄຸມ, ເຊັ່ນ: ສະຫຼັບ, ຄວາມສະຫວ່າງ, ອຸນຫະພູມສີ, ແລະອື່ນໆ · ອັດຕະໂນມັດຫຼືການຄວບຄຸມ scene, ຕົວຢ່າງ, ສະຫຼັບທີ່ໃຊ້ເວລາ. · ການເຂົ້າລະຫັດ ແລະ boot ທີ່ປອດໄພຂອງ Flash. ·ການຍົກລະດັບເຟີມແວແລະການຄຸ້ມຄອງສະບັບ.
ບົດທີ 2. ການແນະນຳ ແລະ ການປະຕິບັດໂຄງການ IoT 13

ແອັບໂທລະສັບສະມາດໂຟນ · ການຕັ້ງຄ່າເຄືອຂ່າຍ ແລະ ການຜູກມັດອຸປະກອນ. · ການ​ຄວບ​ຄຸມ​ຜະ​ລິດ​ຕະ​ພັນ​ແສງ​ສະ​ຫຼາດ​, ເຊັ່ນ​: ສະ​ຫຼັບ​, ຄວາມ​ສະ​ຫວ່າງ​, ອຸນ​ຫະ​ພູມ​ສີ​, ແລະ​ອື່ນໆ · ອັດ​ຕະ​ໂນ​ມັດ​ຫຼື​ການ​ຕັ້ງ​ຄ່າ scene​, ຕົວ​ຢ່າງ​, ສະ​ຫຼັບ​ທີ່​ໃຊ້​ເວ​ລາ​. · ການ​ຄວບ​ຄຸມ​ທ້ອງ​ຖິ່ນ / ໄລ​ຍະ​ໄກ​. ·ການລົງທະບຽນຜູ້ໃຊ້, ເຂົ້າສູ່ລະບົບ, ແລະອື່ນໆ.
ESP RainMaker IoT cloud platform · ເຮັດໃຫ້ການເຂົ້າເຖິງອຸປະກອນ IoT. ·ສະຫນອງ APIs ການດໍາເນີນງານອຸປະກອນທີ່ສາມາດເຂົ້າເຖິງແອັບຯໂທລະສັບສະຫຼາດ. ·ການຍົກລະດັບເຟີມແວແລະການຄຸ້ມຄອງສະບັບ.
2.2.3 ການກະກຽມຮາດແວ
ຖ້າມີຄວາມສົນໃຈໃນການປະຕິບັດໂຄງການ, ທ່ານຍັງຕ້ອງການຮາດແວດັ່ງຕໍ່ໄປນີ້: ແສງສະຫມາດ, ໂທລະສັບສະຫຼາດ, routers Wi-Fi, ແລະຄອມພິວເຕີທີ່ຕອບສະຫນອງຄວາມຕ້ອງການການຕິດຕັ້ງຂອງສະພາບແວດລ້ອມການພັດທະນາ. ດອກໄຟອັດສະລິຍະ
ໂຄມໄຟອັດສະລິຍະເປັນຫລອດໄຟຊະນິດໃໝ່, ເຊິ່ງມີຮູບຮ່າງຄືກັນກັບຫລອດໄຟທົ່ວໄປ. ແສງສະຫວ່າງອັດສະລິຍະປະກອບດ້ວຍຕົວເກັບປະຈຸ, ການສະຫນອງພະລັງງານທີ່ມີການຄວບຄຸມ, ໂມດູນໄຮ້ສາຍ (ມີ ESP32-C3 ໃນຕົວ), ຕົວຄວບຄຸມ LED ແລະ RGB LED matrix. ເມື່ອເຊື່ອມຕໍ່ກັບພະລັງງານ, ໄດ້ 15 V DC voltage ຜົນຜະລິດຫຼັງຈາກ capacitor step-down, diode rectification, ແລະລະບຽບການສະຫນອງພະລັງງານກັບ LED controller ແລະ LED matrix. ຕົວຄວບຄຸມ LED ສາມາດສົ່ງອັດຕະໂນມັດໃນລະດັບສູງແລະຕ່ໍາໃນຊ່ວງເວລາໃດຫນຶ່ງ, ປ່ຽນ RGB LED matrix ລະຫວ່າງປິດ (ໄຟເປີດ) ແລະເປີດ (ໄຟປິດ), ດັ່ງນັ້ນມັນສາມາດປ່ອຍແສງສີຟ້າ, ສີເຫຼືອງ, ສີຂຽວ, ສີມ່ວງ, ສີຟ້າ, ສີແດງ, ແລະ. ແສງ​ສະ​ຫວ່າງ​ສີ​ຂາວ​. ໂມດູນໄຮ້ສາຍແມ່ນຮັບຜິດຊອບຕໍ່ການເຊື່ອມຕໍ່ກັບເລົາເຕີ Wi-Fi, ຮັບແລະລາຍງານສະຖານະຂອງໄຟອັດສະລິຍະ, ແລະການສົ່ງຄໍາສັ່ງເພື່ອຄວບຄຸມ LED.
ຮູບທີ 2.2. ແສງອັດສະລິຍະຈຳລອງ
ໃນ​ການ​ພັດ​ທະ​ນາ​ຕົ້ນ​tage, ທ່ານສາມາດຈໍາລອງໄຟອັດສະລິຍະໂດຍໃຊ້ກະດານ ESP32-C3DevKitM-1 ທີ່ເຊື່ອມຕໍ່ກັບ RGB LED lamp beads (ເບິ່ງຮູບ 2.2). ແຕ່ທ່ານຄວນ
14 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ໃຫ້ສັງເກດວ່ານີ້ບໍ່ແມ່ນວິທີດຽວທີ່ຈະປະກອບໄຟອັດສະລິຍະ. ການອອກແບບຮາດແວຂອງໂຄງການໃນຫນັງສືເຫຼັ້ມນີ້ມີພຽງແຕ່ໂມດູນໄຮ້ສາຍ (ມີ ESP32-C3 ທີ່ມີໃນຕົວ), ແຕ່ບໍ່ແມ່ນການອອກແບບຮາດແວແສງສະຫວ່າງທີ່ສະຫລາດທີ່ສົມບູນ. ນອກຈາກນັ້ນ, Espressif ຍັງຜະລິດກະດານພັດທະນາສຽງທີ່ອີງໃສ່ ESP32-C3 ESP32C3-Lyra ສໍາລັບການຄວບຄຸມໄຟທີ່ມີສຽງ. ກະດານມີການໂຕ້ຕອບສໍາລັບໄມໂຄໂຟນແລະລໍາໂພງແລະສາມາດຄວບຄຸມແຖບ LED. ມັນສາມາດຖືກນໍາໃຊ້ສໍາລັບການພັດທະນາ ultra-low-cost, ກະຈາຍສຽງສຽງປະສິດທິພາບສູງແລະແຖບແສງສະຫວ່າງຈັງຫວະ. ຮູບທີ 2.3 ສະແດງກະດານ ESP32-C3Lyra ທີ່ເຊື່ອມຕໍ່ດ້ວຍແຖບໄຟ LED 40 ອັນ.
ຮູບທີ 2.3. ESP32-C3-Lyra ເຊື່ອມຕໍ່ດ້ວຍສາຍໄຟ LED 40 ອັນ
ໂທລະສັບສະມາດໂຟນ (Android/iOS) ໂຄງການ Smart Light ກ່ຽວຂ້ອງກັບການພັດທະນາແອັບສະມາດໂຟນສຳລັບການຕັ້ງຄ່າ ແລະຄວບຄຸມຜະລິດຕະພັນແສງອັດສະລິຍະ.
ເຣົາເຕີ Wi-Fi ເຣົາເຕີ Wi-Fi ປ່ຽນສັນຍານເຄືອຂ່າຍແບບມີສາຍ ແລະສັນຍານເຄືອຂ່າຍມືຖືເປັນສັນຍານເຄືອຂ່າຍໄຮ້ສາຍ, ສໍາລັບຄອມພິວເຕີ, ໂທລະສັບສະຫຼາດ, ແທັບເລັດ ແລະອຸປະກອນໄຮ້ສາຍອື່ນໆເພື່ອເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍ. ຕົວຢ່າງampດັ່ງນັ້ນ, ຄວາມກວ້າງໃຫຍ່ໃນເຮືອນພຽງແຕ່ຕ້ອງການເຊື່ອມຕໍ່ກັບ router Wi-Fi ເພື່ອບັນລຸເຄືອຂ່າຍໄຮ້ສາຍຂອງອຸປະກອນ Wi-Fi. ມາດຕະຖານໂປຣໂຕຄໍຫຼັກທີ່ຮອງຮັບໂດຍເລົາເຕີ Wi-Fi ແມ່ນ IEEE 802.11n, ໂດຍມີ TxRate ສະເລ່ຍ 300 Mbps, ຫຼື 600 Mbps ສູງສຸດ. ພວກມັນເຂົ້າກັນໄດ້ກັບ IEEE 802.11b ແລະ IEEE 802.11g. ຊິບ ESP32-C3 ໂດຍ Espressif ຮອງຮັບ IEEE 802.11b/g/n, ດັ່ງນັ້ນທ່ານສາມາດເລືອກເຣົາເຕີ Wi-Fi ແຖບດຽວ (2.4 GHz) ຫຼືສອງແຖບ (2.4 GHz ແລະ 5 GHz).
ສະພາບແວດລ້ອມການພັດທະນາຄອມພິວເຕີ (Linux/macOS/Windows) ຈະຖືກນຳສະເໜີໃນບົດທີ 4. ບົດທີ 2. ການແນະນຳ ແລະ ການປະຕິບັດໂຄງການ IoT 15.

2.2.4 ຂະບວນການພັດທະນາ
ຮູບທີ 2.4. ຂັ້ນຕອນການພັດທະນາໂຄງການ Smart Light
ການອອກແບບຮາດແວ ການອອກແບບຮາດແວຂອງອຸປະກອນ IoT ເປັນສິ່ງຈໍາເປັນຕໍ່ໂຄງການ IoT. ໂຄງການແສງສະຫວ່າງ smart ສໍາເລັດແມ່ນມີຈຸດປະສົງເພື່ອຜະລິດ alamp ເຮັດວຽກພາຍໃຕ້ການສະຫນອງຕົ້ນຕໍ. ຜູ້ຜະລິດທີ່ແຕກຕ່າງກັນຜະລິດ lamps ຂອງຮູບແບບທີ່ແຕກຕ່າງກັນແລະປະເພດໄດເວີ, ແຕ່ໂມດູນໄຮ້ສາຍຂອງພວກມັນມັກຈະມີຫນ້າທີ່ດຽວກັນ. ເພື່ອເຮັດໃຫ້ຂະບວນການພັດທະນາໂຄງການ Smart Ligh ງ່າຍຂຶ້ນ, ປຶ້ມຫົວນີ້ກວມເອົາພຽງແຕ່ການອອກແບບຮາດແວ ແລະການພັດທະນາຊອບແວຂອງໂມດູນໄຮ້ສາຍເທົ່ານັ້ນ.
ການຕັ້ງຄ່າແພລະຕະຟອມຄລາວຂອງ IoT ເພື່ອໃຊ້ແພລະຕະຟອມຄລາວຂອງ IoT, ທ່ານຈໍາເປັນຕ້ອງຕັ້ງຄ່າໂຄງການໃນ backend, ເຊັ່ນ: ການສ້າງຜະລິດຕະພັນ, ການສ້າງອຸປະກອນ, ການຕັ້ງຄ່າຄຸນສົມບັດອຸປະກອນ, ແລະອື່ນໆ.
ການພັດທະນາຊອບແວຝັງຕົວສໍາລັບອຸປະກອນ IoT ປະຕິບັດຫນ້າທີ່ຄາດວ່າຈະມີ ESP-IDF, SDK ຂ້າງອຸປະກອນຂອງ Espressif, ລວມທັງການເຊື່ອມຕໍ່ກັບເວທີຄລາວຂອງ IoT, ການພັດທະນາໄດເວີ LED, ແລະການຍົກລະດັບເຟີມແວ.
ການພັດທະນາແອັບຯໂທລະສັບສະຫຼາດ ພັດທະນາແອັບຯໂທລະສັບສະຫຼາດສໍາລັບລະບົບ Android ແລະ iOS ເພື່ອຮັບຮູ້ການລົງທະບຽນຜູ້ໃຊ້ແລະການເຂົ້າສູ່ລະບົບ, ການຄວບຄຸມອຸປະກອນແລະຫນ້າທີ່ອື່ນໆ.
ການເພີ່ມປະສິດທິພາບອຸປະກອນ IoT ເມື່ອການພັດທະນາພື້ນຖານຂອງຫນ້າທີ່ອຸປະກອນ IoT ສໍາເລັດແລ້ວ, ທ່ານອາດຈະຫັນໄປຫາວຽກງານການເພີ່ມປະສິດທິພາບ, ເຊັ່ນ: ການເພີ່ມປະສິດທິພາບພະລັງງານ.
ການທົດສອບການຜະລິດມະຫາຊົນດໍາເນີນການທົດສອບການຜະລິດມະຫາຊົນຕາມມາດຕະຖານທີ່ກ່ຽວຂ້ອງ, ເຊັ່ນ: ການທົດສອບການທໍາງານຂອງອຸປະກອນ, ການທົດສອບຜູ້ສູງອາຍຸ, ການທົດສອບ RF, ແລະອື່ນໆ.
ເຖິງວ່າຈະມີຂັ້ນຕອນທີ່ລະບຸໄວ້ຂ້າງເທິງ, ໂຄງການ Smart Light ບໍ່ຈໍາເປັນຕ້ອງມີຂັ້ນຕອນດັ່ງກ່າວຍ້ອນວ່າວຽກງານທີ່ແຕກຕ່າງກັນຍັງສາມາດປະຕິບັດໄດ້ໃນເວລາດຽວກັນ. ຕົວຢ່າງample, ຊອບແວທີ່ຝັງຕົວແລະແອັບຯໂທລະສັບສະຫຼາດສາມາດພັດທະນາແບບຂະຫນານໄດ້. ບາງຂັ້ນຕອນອາດຈະຈໍາເປັນຕ້ອງເຮັດຊ້ໍາອີກ, ເຊັ່ນ: ການເພີ່ມປະສິດທິພາບອຸປະກອນ IoT ແລະການທົດສອບການຜະລິດຈໍານວນຫລາຍ.
16 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

2.3 ບົດສະຫຼຸບ
ໃນບົດນີ້, ພວກເຮົາໄດ້ອະທິບາຍຄັ້ງທໍາອິດກ່ຽວກັບອົງປະກອບພື້ນຖານແລະໂມດູນທີ່ເປັນປະໂຫຍດຂອງໂຄງການ IoT, ຫຼັງຈາກນັ້ນໄດ້ນໍາສະເຫນີກໍລະນີ Smart Light ສໍາລັບການປະຕິບັດ, ໂດຍອ້າງອີງໃສ່ໂຄງສ້າງ, ຫນ້າທີ່, ການກະກຽມຮາດແວແລະຂະບວນການພັດທະນາ. ຜູ້ອ່ານສາມາດແຕ້ມ inferences ຈາກການປະຕິບັດແລະກາຍເປັນຄວາມຫມັ້ນໃຈທີ່ຈະດໍາເນີນໂຄງການ IoT ທີ່ມີຄວາມຜິດພາດຂັ້ນຕ່ໍາໃນອະນາຄົດ.
ບົດທີ 2. ການແນະນຳ ແລະ ການປະຕິບັດໂຄງການ IoT 17

18 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ບົດທີ 3

ແນະນຳ

ກັບ

ESP

RainMaker

ອິນເຕີເນັດຂອງສິ່ງຕ່າງໆ (IoT) ສະເຫນີຄວາມເປັນໄປໄດ້ທີ່ບໍ່ສິ້ນສຸດໃນການປ່ຽນແປງວິທີການດໍາລົງຊີວິດຂອງປະຊາຊົນ, ແຕ່ການພັດທະນາຂອງວິສະວະກໍາ IoT ແມ່ນເຕັມໄປດ້ວຍສິ່ງທ້າທາຍ. ດ້ວຍເມຄສາທາລະນະ, ຜູ້ຜະລິດເຄື່ອງໃຊ້ໄຟຟ້າສາມາດປະຕິບັດການທໍາງານຂອງຜະລິດຕະພັນໂດຍຜ່ານວິທີແກ້ໄຂຕໍ່ໄປນີ້:
ອີງໃສ່ແພລະຕະຟອມຄລາວຂອງຜູ້ໃຫ້ບໍລິການແກ້ໄຂດ້ວຍວິທີນີ້, ຜູ້ຜະລິດ terminal ພຽງແຕ່ຕ້ອງການອອກແບບຮາດແວຂອງຜະລິດຕະພັນ, ຫຼັງຈາກນັ້ນເຊື່ອມຕໍ່ຮາດແວກັບຄລາວໂດຍໃຊ້ໂມດູນການສື່ສານທີ່ສະຫນອງໃຫ້, ແລະກໍານົດຫນ້າທີ່ຜະລິດຕະພັນຕາມຄໍາແນະນໍາ. ນີ້​ແມ່ນ​ວິ​ທີ​ການ​ທີ່​ມີ​ປະ​ສິດ​ທິ​ພາບ​ເນື່ອງ​ຈາກ​ວ່າ​ມັນ​ຈະ​ລົບ​ລ້າງ​ຄວາມ​ຕ້ອງ​ການ​ສໍາ​ລັບ​ການ​ພັດ​ທະ​ນາ​ແລະ​ການ​ປະ​ຕິ​ບັດ​ງານ​ແລະ​ການ​ບໍາ​ລຸງ​ຮັກ​ສາ (O&M ຂ້າງ​ເຊີ​ເວີ​ແລະ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​)​. ມັນອະນຸຍາດໃຫ້ຜູ້ຜະລິດ terminal ສຸມໃສ່ການອອກແບບຮາດແວໂດຍບໍ່ຈໍາເປັນຕ້ອງພິຈາລະນາການປະຕິບັດຟັງ. ແນວໃດກໍ່ຕາມ, ການແກ້ໄຂດັ່ງກ່າວ (ເຊັ່ນ: ເຟີມແວອຸປະກອນ ແລະແອັບ) ໂດຍທົ່ວໄປບໍ່ແມ່ນແຫຼ່ງເປີດ, ສະນັ້ນ ໜ້າທີ່ຂອງຜະລິດຕະພັນຈະຖືກຈຳກັດໂດຍແພລດຟອມຄລາວຂອງຜູ້ໃຫ້ບໍລິການ ເຊິ່ງບໍ່ສາມາດປັບແຕ່ງໄດ້. ໃນຂະນະດຽວກັນ, ຂໍ້ມູນຜູ້ໃຊ້ ແລະອຸປະກອນຍັງເປັນຂອງເວທີຄລາວ.
ອີງໃສ່ຜະລິດຕະພັນ cloud ໃນການແກ້ໄຂນີ້, ຫຼັງຈາກສໍາເລັດການອອກແບບຮາດແວ, ຜູ້ຜະລິດ terminal ບໍ່ພຽງແຕ່ຕ້ອງປະຕິບັດຫນ້າທີ່ຟັງໂດຍນໍາໃຊ້ຫນຶ່ງຫຼືຫຼາຍຜະລິດຕະພັນຟັງທີ່ສະຫນອງໃຫ້ໂດຍສາທາລະນະຟັງ, ແຕ່ຍັງຈໍາເປັນຕ້ອງເຊື່ອມຕໍ່ຮາດແວກັບຄລາວ. ຕົວຢ່າງample, ເພື່ອເຊື່ອມຕໍ່ກັບ Amazon Web ການບໍລິການ (AWS), ຜູ້ຜະລິດ terminal ຈໍາເປັນຕ້ອງໃຊ້ຜະລິດຕະພັນຂອງ AWS ເຊັ່ນ Amazon API Gateway, AWS IoT Core, ແລະ AWS Lambda ເພື່ອເປີດໃຊ້ການເຂົ້າເຖິງອຸປະກອນ, ການຄວບຄຸມໄລຍະໄກ, ການເກັບຮັກສາຂໍ້ມູນ, ການຄຸ້ມຄອງຜູ້ໃຊ້, ແລະຫນ້າທີ່ພື້ນຖານອື່ນໆ. ມັນບໍ່ພຽງແຕ່ຂໍໃຫ້ຜູ້ຜະລິດ terminal ໃຊ້ຄວາມຍືດຫຍຸ່ນແລະ configure ຜະລິດຕະພັນຟັງດ້ວຍຄວາມເຂົ້າໃຈເລິກເຊິ່ງແລະປະສົບການທີ່ອຸດົມສົມບູນ, ແຕ່ຍັງຮຽກຮ້ອງໃຫ້ພວກເຂົາພິຈາລະນາຄ່າໃຊ້ຈ່າຍໃນການກໍ່ສ້າງແລະບໍາລຸງຮັກສາສໍາລັບເບື້ອງຕົ້ນແລະຕໍ່ມາ.tages ນີ້ສ້າງສິ່ງທ້າທາຍອັນໃຫຍ່ຫຼວງຕໍ່ພະລັງງານແລະຊັບພະຍາກອນຂອງບໍລິສັດ.
ເມື່ອປຽບທຽບກັບເມຄສາທາລະນະ, ເມຄສ່ວນຕົວມັກຈະຖືກສ້າງຂຶ້ນສໍາລັບໂຄງການແລະຜະລິດຕະພັນສະເພາະ. ນັກພັດທະນາຄລາວສ່ວນຕົວໄດ້ຮັບສິດເສລີພາບໃນລະດັບສູງສຸດໃນການອອກແບບໂປຣໂຕຄໍ ແລະການປະຕິບັດເຫດຜົນທາງທຸລະກິດ. ຜູ້ຜະລິດຢູ່ປາຍຍອດສາມາດເຮັດໃຫ້ຜະລິດຕະພັນແລະໂຄງການອອກແບບຕາມຄວາມຕັ້ງໃຈ, ແລະປະສົມປະສານແລະສ້າງຄວາມເຂັ້ມແຂງຂໍ້ມູນຜູ້ໃຊ້ໄດ້ຢ່າງງ່າຍດາຍ. ການລວມເອົາຄວາມປອດໄພສູງ, ຂະຫນາດແລະຄວາມຫນ້າເຊື່ອຖືຂອງຟັງສາທາລະນະກັບ advantages ຂອງຄລາວສ່ວນຕົວ, Espressif ເປີດຕົວ ESP
19

RainMaker, ການແກ້ໄຂຄລາວສ່ວນຕົວທີ່ປະສົມປະສານຢ່າງເລິກເຊິ່ງໂດຍອີງໃສ່ Amazon cloud. ຜູ້ໃຊ້ສາມາດນຳໃຊ້ ESP RainMaker ແລະສ້າງຄລາວສ່ວນຕົວໄດ້ງ່າຍໆດ້ວຍບັນຊີ AWS.
3.1 ESP RainMaker ແມ່ນຫຍັງ?
ESP RainMaker ເປັນແພລະຕະຟອມ AIoT ທີ່ສົມບູນທີ່ສ້າງຂຶ້ນດ້ວຍຜະລິດຕະພັນ AWS ທີ່ເປັນຜູ້ໃຫຍ່ຫຼາຍຊະນິດ. ມັນສະຫນອງການບໍລິການຕ່າງໆທີ່ຈໍາເປັນສໍາລັບການຜະລິດຈໍານວນຫລາຍເຊັ່ນ: ການເຂົ້າເຖິງເມຄຂອງອຸປະກອນ, ການຍົກລະດັບອຸປະກອນ, ການຈັດການ backend, ການເຂົ້າສູ່ລະບົບຂອງພາກສ່ວນທີສາມ, ການເຊື່ອມໂຍງສຽງ, ແລະການຄຸ້ມຄອງຜູ້ໃຊ້. ໂດຍໃຊ້ Serverless Application Repository (SAR) ທີ່ສະໜອງໃຫ້ໂດຍ AWS, ຜູ້ຜະລິດເຄື່ອງອຸປະກອນສາມາດນຳໃຊ້ ESP RainMaker ໄປຫາບັນຊີ AWS ຂອງເຂົາເຈົ້າໄດ້ໄວ, ເຊິ່ງໃຊ້ເວລາປະສິດຕິຜົນ ແລະ ໃຊ້ງານງ່າຍ. ຄຸ້ມຄອງແລະຮັກສາໂດຍ Espressif, SAR ທີ່ໃຊ້ໂດຍ ESP RainMaker ຊ່ວຍໃຫ້ນັກພັດທະນາຫຼຸດຜ່ອນຄ່າໃຊ້ຈ່າຍໃນການບໍາລຸງຮັກສາຄລາວແລະເລັ່ງການພັດທະນາຜະລິດຕະພັນ AIoT, ດັ່ງນັ້ນຈຶ່ງສ້າງການແກ້ໄຂ AIoT ທີ່ປອດໄພ, ສະຖຽນລະພາບ, ແລະປັບແຕ່ງໄດ້. ຮູບ 3.1 ສະແດງສະຖາປັດຕະຍະກໍາຂອງ ESP RainMaker.
ຮູບທີ 3.1. ສະຖາປັດຕະຍະກໍາຂອງ ESP RainMaker
ເຊີບເວີສາທາລະນະ ESP RainMaker ໂດຍ Espressif ແມ່ນບໍ່ເສຍຄ່າສໍາລັບຜູ້ກະຕືລືລົ້ນ ESP ທັງຫມົດ, ຜູ້ຜະລິດ, ແລະການສຶກສາສໍາລັບການປະເມີນຜົນການແກ້ໄຂ. ນັກພັດທະນາສາມາດເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Apple, Google, ຫຼື GitHub, ແລະສ້າງຕົວແບບແອັບພລິເຄຊັນ IoT ຂອງຕົນເອງໄດ້ຢ່າງວ່ອງໄວ. ເຊີບເວີສາທາລະນະປະສົມປະສານ Alexa ແລະ Google Home, ແລະໃຫ້ບໍລິການຄວບຄຸມສຽງ, ເຊິ່ງສະຫນັບສະຫນູນໂດຍ Alexa Skill ແລະ Google Actions. ຟັງຊັນການຮັບຮູ້ semantic ຂອງມັນຍັງຂັບເຄື່ອນໂດຍພາກສ່ວນທີສາມ. ອຸປະກອນ RainMaker IoT ພຽງແຕ່ຕອບສະຫນອງຕໍ່ການປະຕິບັດສະເພາະ. ສໍາລັບບັນຊີລາຍຊື່ຄົບຖ້ວນຂອງຄໍາສັ່ງສຽງທີ່ສະຫນັບສະຫນູນ, ກະລຸນາກວດເບິ່ງແພລະຕະຟອມພາກສ່ວນທີສາມ. ນອກຈາກນັ້ນ, Espressif ສະເຫນີໃຫ້ RainMaker App ສາທາລະນະສໍາລັບຜູ້ໃຊ້ສາມາດຄວບຄຸມຜະລິດຕະພັນຜ່ານໂທລະສັບສະຫຼາດ. 20 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

3.2 ການຈັດຕັ້ງປະຕິບັດ ESP RainMaker
ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 3.2, ESP RainMaker ປະກອບດ້ວຍສີ່ພາກສ່ວນ: · ການບໍລິການອ້າງສິດ, ເຮັດໃຫ້ອຸປະກອນ RainMaker ສາມາດໄດ້ຮັບໃບຢັ້ງຢືນແບບເຄື່ອນໄຫວ. · RainMaker Cloud (ຍັງເອີ້ນວ່າ backend ຟັງ), ໃຫ້ບໍລິການເຊັ່ນການກັ່ນຕອງຂໍ້ຄວາມ, ການຄຸ້ມຄອງຜູ້ໃຊ້, ການເກັບຮັກສາຂໍ້ມູນ, ແລະການເຊື່ອມໂຍງພາກສ່ວນທີສາມ. · RainMaker Agent, ເຮັດໃຫ້ອຸປະກອນ RainMaker ເຊື່ອມຕໍ່ກັບ RainMaker Cloud. · RainMaker Client (RainMaker App ຫຼື CLI scripts), ສໍາລັບການສະຫນອງ, ການສ້າງຜູ້ໃຊ້, ສະມາຄົມອຸປະກອນແລະການຄວບຄຸມ, ແລະອື່ນໆ.
ຮູບທີ 3.2. ໂຄງສ້າງຂອງ ESP RainMaker
ESP RainMaker ສະຫນອງຊຸດເຄື່ອງມືທີ່ສົມບູນສໍາລັບການພັດທະນາຜະລິດຕະພັນແລະການຜະລິດຈໍານວນຫລາຍ, ລວມທັງ: RainMaker SDK
RainMaker SDK ແມ່ນອີງໃສ່ ESP-IDF ແລະສະຫນອງລະຫັດແຫຼ່ງຂອງຕົວແທນດ້ານອຸປະກອນແລະ C APIs ທີ່ກ່ຽວຂ້ອງສໍາລັບການພັດທະນາເຟີມແວ. ນັກພັດທະນາພຽງແຕ່ຕ້ອງການຂຽນເຫດຜົນຂອງແອັບພລິເຄຊັນແລະປ່ອຍໃຫ້ສ່ວນທີ່ເຫຼືອຢູ່ໃນກອບ RainMaker. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ C APIs, ກະລຸນາເຂົ້າໄປທີ່ https://bookc3.espressif.com/rm/c-api-reference. RainMaker App ເວີຊັ່ນສາທາລະນະຂອງ RainMaker App ອະນຸຍາດໃຫ້ນັກພັດທະນາເຮັດສຳເລັດການຈັດຫາອຸປະກອນ, ແລະຄວບຄຸມ ແລະສອບຖາມສະຖານະຂອງອຸປະກອນ (ເຊັ່ນ: ຜະລິດຕະພັນແສງສະຫຼາດ). ມັນມີຢູ່ໃນຮ້ານ app ທັງ iOS ແລະ Android. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ກະລຸນາເບິ່ງໃນບົດທີ 10. REST APIs REST APIs ຊ່ວຍໃຫ້ຜູ້ໃຊ້ສ້າງຄໍາຮ້ອງສະຫມັກຂອງຕົນເອງທີ່ຄ້າຍຄືກັນກັບ RainMaker App. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ກະລຸນາຢ້ຽມຊົມ https://swaggerapis.rainmaker.espressif.com/.
ບົດທີ 3. ບົດແນະນຳກ່ຽວກັບ ESP RainMaker 21

Python APIs A Python-based CLI, ເຊິ່ງມາພ້ອມກັບ RainMaker SDK, ໄດ້ຖືກສະຫນອງໃຫ້ເພື່ອປະຕິບັດຫນ້າທີ່ທັງຫມົດທີ່ຄ້າຍຄືກັນກັບຄຸນສົມບັດຂອງໂທລະສັບສະຫຼາດ. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ Python APIs, ກະລຸນາເຂົ້າໄປທີ່ https://bookc3.espressif.com/rm/python-api-reference.
Admin CLI Admin CLI, ທີ່ມີລະດັບການເຂົ້າເຖິງສູງກວ່າ, ແມ່ນສະຫນອງໃຫ້ສໍາລັບການນໍາໃຊ້ເອກະຊົນ ESP RainMaker ເພື່ອສ້າງໃບຢັ້ງຢືນອຸປະກອນເປັນຈໍານວນຫລາຍ.
3.2.1 ການບໍລິການອ້າງສິດ
ການສື່ສານທັງໝົດລະຫວ່າງອຸປະກອນ RainMaker ແລະ cloud backend ແມ່ນດໍາເນີນຜ່ານ MQTT+TLS. ໃນສະພາບການຂອງ ESP RainMaker, "ການອ້າງສິດ" ແມ່ນຂະບວນການທີ່ອຸປະກອນໄດ້ຮັບໃບຢັ້ງຢືນຈາກການບໍລິການອ້າງສິດເພື່ອເຊື່ອມຕໍ່ກັບ backend ຟັງ. ໃຫ້ສັງເກດວ່າການບໍລິການອ້າງສິດແມ່ນໃຊ້ໄດ້ກັບບໍລິການ RainMaker ສາທາລະນະເທົ່ານັ້ນ, ໃນຂະນະທີ່ສໍາລັບການນໍາໃຊ້ເອກະຊົນ, ໃບຢັ້ງຢືນອຸປະກອນຈໍາເປັນຕ້ອງຖືກສ້າງຂື້ນເປັນຈໍານວນຫລາຍໂດຍຜ່ານ Admin CLI. ESP RainMaker ສະຫນັບສະຫນູນສາມປະເພດຂອງການບໍລິການອ້າງສິດ: ການຮຽກຮ້ອງດ້ວຍຕົນເອງ
ອຸປະກອນຕົວມັນເອງດຶງເອົາໃບຮັບຮອງຜ່ານກະແຈລັບທີ່ຕັ້ງໄວ້ກ່ອນໂຄງການໃນ eFuse ຫຼັງຈາກເຊື່ອມຕໍ່ອິນເຕີເນັດ. Host Driven Claiming ໃບຢັ້ງຢືນແມ່ນໄດ້ມາຈາກເຈົ້າພາບພັດທະນາດ້ວຍບັນຊີ RainMaker. ການຮ້ອງຂໍການຊ່ວຍເຫຼືອ ໃບຢັ້ງຢືນແມ່ນໄດ້ຮັບຜ່ານຄໍາຮ້ອງສະຫມັກໂທລະສັບສະຫຼາດໃນລະຫວ່າງການສະຫນອງ.
3.2.2 ຕົວແທນ RainMaker
ຮູບທີ 3.3. ໂຄງສ້າງຂອງ RainMaker SDK ຫນ້າທີ່ຕົ້ນຕໍຂອງ RainMaker Agent ແມ່ນເພື່ອສະຫນອງການເຊື່ອມຕໍ່ແລະຊ່ວຍຊັ້ນຄໍາຮ້ອງສະຫມັກໃນການປະມວນຜົນຂໍ້ມູນຄລາວ uplink / downlink. ມັນຖືກສ້າງຂຶ້ນໂດຍຜ່ານ RainMaker SDK 22 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ແລະພັດທະນາໂດຍອີງໃສ່ກອບ ESP-IDF ທີ່ພິສູດແລ້ວ, ໂດຍໃຊ້ອົງປະກອບ ESP-IDF ເຊັ່ນ RTOS, NVS, ແລະ MQTT. ຮູບ 3.3 ສະແດງໂຄງສ້າງຂອງ RainMaker SDK.
RainMaker SDK ປະກອບມີສອງລັກສະນະທີ່ສໍາຄັນ.
ການເຊື່ອມຕໍ່
i. ຮ່ວມມືກັບການບໍລິການອ້າງສິດເພື່ອໃຫ້ໄດ້ໃບຢັ້ງຢືນອຸປະກອນ.
ii. ການເຊື່ອມຕໍ່ກັບ backend ຟັງໂດຍໃຊ້ໂປໂຕຄອນ MQTT ທີ່ປອດໄພເພື່ອສະຫນອງການເຊື່ອມຕໍ່ຫ່າງໄກສອກຫຼີກແລະປະຕິບັດການຄວບຄຸມຫ່າງໄກສອກຫຼີກ, ການລາຍງານຂໍ້ຄວາມ, ການຄຸ້ມຄອງຜູ້ໃຊ້, ການຈັດການອຸປະກອນ, ແລະອື່ນໆ. ມັນໃຊ້ອົງປະກອບ MQTT ໃນ ESP-IDF ໂດຍຄ່າເລີ່ມຕົ້ນແລະສະຫນອງຊັ້ນ abstraction ເພື່ອໂຕ້ຕອບກັບສິ່ງອື່ນໆ. stacks ໂປໂຕຄອນ.
iii. ການສະຫນອງອົງປະກອບການສະຫນອງ wifi ສໍາລັບການເຊື່ອມຕໍ່ Wi-Fi ແລະການສະຫນອງ, ອົງປະກອບ esp https ota ສໍາລັບການຍົກລະດັບ OTA, ແລະອົງປະກອບ esp ctrl ທ້ອງຖິ່ນສໍາລັບການຄົ້ນພົບອຸປະກອນທ້ອງຖິ່ນແລະການເຊື່ອມຕໍ່. ຈຸດປະສົງທັງຫມົດເຫຼົ່ານີ້ສາມາດບັນລຸໄດ້ໂດຍຜ່ານການຕັ້ງຄ່າງ່າຍດາຍ.
ການປະມວນຜົນຂໍ້ມູນ
i. ການເກັບຮັກສາໃບຢັ້ງຢືນອຸປະກອນທີ່ອອກໃຫ້ໂດຍການບໍລິການອ້າງສິດແລະຂໍ້ມູນທີ່ຈໍາເປັນໃນເວລາແລ່ນ RainMaker, ໂດຍຄ່າເລີ່ມຕົ້ນໂດຍນໍາໃຊ້ການໂຕ້ຕອບທີ່ສະຫນອງໃຫ້ໂດຍອົງປະກອບ nvs flash, ແລະສະຫນອງ APIs ສໍາລັບນັກພັດທະນາສໍາລັບການນໍາໃຊ້ໂດຍກົງ.
ii. ການນໍາໃຊ້ກົນໄກການໂທຫາກັບຄືນໄປບ່ອນເພື່ອປະມວນຜົນຂໍ້ມູນຄລາວ uplink / downlink ແລະອັດຕະໂນມັດ unblock ຂໍ້ມູນໄປຍັງຊັ້ນຄໍາຮ້ອງສະຫມັກສໍາລັບການປະມວນຜົນງ່າຍໂດຍນັກພັດທະນາ. ຕົວຢ່າງampດັ່ງນັ້ນ, RainMaker SDK ສະຫນອງການໂຕ້ຕອບທີ່ອຸດົມສົມບູນສໍາລັບການສ້າງຕັ້ງຂໍ້ມູນ TSL (Thing Specification Language), ເຊິ່ງຈໍາເປັນຕ້ອງກໍານົດຕົວແບບ TSL ເພື່ອອະທິບາຍອຸປະກອນ IoT ແລະປະຕິບັດຫນ້າທີ່ເຊັ່ນ: ເວລາ, ການນັບຖອຍຫລັງ, ແລະການຄວບຄຸມສຽງ. ສໍາລັບລັກສະນະການໂຕ້ຕອບພື້ນຖານເຊັ່ນ: ເວລາ, RainMaker SDK ສະຫນອງການແກ້ໄຂທີ່ບໍ່ມີການພັດທະນາເຊິ່ງສາມາດເປີດໃຊ້ໄດ້ງ່າຍໆເມື່ອຈໍາເປັນ. ຫຼັງຈາກນັ້ນ, ຕົວແທນ RainMaker ຈະປະມວນຜົນຂໍ້ມູນໂດຍກົງ, ສົ່ງມັນໄປຫາຄລາວໂດຍຜ່ານຫົວຂໍ້ MQTT ທີ່ກ່ຽວຂ້ອງ, ແລະສົ່ງຄືນການປ່ຽນແປງຂໍ້ມູນໃນ cloud backend ຜ່ານກົນໄກການໂທຄືນ.
3.2.3 Cloud Backend
backend cloud ຖືກສ້າງຂຶ້ນໃນ AWS Serverless Computing ແລະບັນລຸໄດ້ໂດຍຜ່ານ AWS Cognito (ລະບົບການຈັດການຕົວຕົນ), Amazon API Gateway, AWS Lambda (ບໍລິການຄອມພິວເຕີເຊີບເວີ), Amazon DynamoDB (ຖານຂໍ້ມູນ NoSQL), AWS IoT Core (IoT access core ທີ່ສະຫນອງການເຂົ້າເຖິງ MQTT. ແລະການກັ່ນຕອງກົດລະບຽບ), Amazon Simple Email Service (SES simple mail service), Amazon CloudFront (ເຄືອຂ່າຍການຈັດສົ່ງທີ່ໄວ), Amazon Simple Queue Service (SQS message queuing), ແລະ Amazon S3 (ບໍລິການເກັບຮັກສາ bucket). ມັນມີຈຸດປະສົງເພື່ອເພີ່ມປະສິດທິພາບການຂະຫຍາຍແລະຄວາມປອດໄພ. ດ້ວຍ ESP RainMaker, ຜູ້ພັດທະນາສາມາດຈັດການອຸປະກອນໄດ້ໂດຍບໍ່ຕ້ອງຂຽນລະຫັດໃນຄລາວ. ຂໍ້ຄວາມລາຍງານໂດຍອຸປະກອນຖືກສົ່ງຢ່າງໂປ່ງໃສຫາ
ບົດທີ 3. ບົດແນະນຳກ່ຽວກັບ ESP RainMaker 23

ລູກຄ້າແອັບພລິເຄຊັນ ຫຼືບໍລິການພາກສ່ວນທີສາມອື່ນໆ. ຕາຕະລາງ 3.1 ສະແດງໃຫ້ເຫັນຜະລິດຕະພັນ ແລະຟັງຊັນຄລາວຂອງ AWS ທີ່ໃຊ້ໃນແບັກເອັນຄລາວ, ໂດຍມີຜະລິດຕະພັນ ແລະຄຸນສົມບັດເພີ່ມເຕີມພາຍໃຕ້ການພັດທະນາ.
ຕາຕະລາງ 3.1. ຜະລິດຕະພັນ ແລະຟັງຊັນຄລາວຂອງ AWS ທີ່ໃຊ້ໂດຍ backend ຄລາວ

AWS Cloud Product ໃຊ້ໂດຍ RainMaker

ຟັງຊັນ

AWS Cognito

ການຄຸ້ມຄອງຂໍ້ມູນປະຈໍາຕົວຂອງຜູ້ໃຊ້ແລະສະຫນັບສະຫນູນການເຂົ້າສູ່ລະບົບຂອງພາກສ່ວນທີສາມ

AWS Lambda

ການປະຕິບັດເຫດຜົນທາງທຸລະກິດຫຼັກຂອງ backend cloud

Amazon Timestream ການເກັບຮັກສາຂໍ້ມູນຊຸດເວລາ

Amazon DynamoDB ເກັບຮັກສາຂໍ້ມູນສ່ວນຕົວຂອງລູກຄ້າ

AWS IoT Core

ສະຫນັບສະຫນູນການສື່ສານ MQTT

Amazon SES

ການສະຫນອງການບໍລິການສົ່ງອີເມວ

Amazon CloudFront ເລັ່ງການຄຸ້ມຄອງ backend webການເຂົ້າເຖິງເວັບໄຊ

Amazon SQS

ການສົ່ງຕໍ່ຂໍ້ຄວາມຈາກ AWS IoT Core

3.2.4 RainMaker Client
ລູກຄ້າ RainMaker, ເຊັ່ນ App ແລະ CLI, ຕິດຕໍ່ສື່ສານກັບ cloud backend ຜ່ານ REST APIs. ຂໍ້ມູນລາຍລະອຽດແລະຄໍາແນະນໍາກ່ຽວກັບ REST APIs ສາມາດພົບໄດ້ໃນເອກະສານ Swagger ທີ່ສະຫນອງໃຫ້ໂດຍ Espressif. ລູກຄ້າແອັບພລິເຄຊັນມືຖືຂອງ RainMaker ສາມາດໃຊ້ໄດ້ທັງລະບົບ iOS ແລະ Android. ມັນອະນຸຍາດໃຫ້ການຈັດຫາອຸປະກອນ, ການຄວບຄຸມ, ແລະການແບ່ງປັນ, ເຊັ່ນດຽວກັນກັບການສ້າງແລະເປີດໃຊ້ວຽກນັບຖອຍຫລັງແລະການເຊື່ອມຕໍ່ກັບເວທີພາກສ່ວນທີສາມ. ມັນ​ສາ​ມາດ​ໂຫຼດ UI ແລະ​ໄອ​ຄອນ​ອັດ​ຕະ​ໂນ​ມັດ​ຕາມ​ການ​ຕັ້ງ​ຄ່າ​ລາຍ​ງານ​ໂດຍ​ອຸ​ປະ​ກອນ​ແລະ​ສະ​ແດງ TSL ອຸ​ປະ​ກອນ​ຢ່າງ​ເຕັມ​ທີ່​.
ຕົວຢ່າງampຖ້າ ຫາກ ວ່າ ແສງ ສະ ຫຼາດ ແມ່ນ ການ ກໍ່ ສ້າງ ໃນ RainMaker SDK , examples, ໄອຄອນ ແລະ UI ຂອງດອກໄຟຈະຖືກໂຫຼດໂດຍອັດຕະໂນມັດເມື່ອການສະໜອງສຳເລັດ. ຜູ້ໃຊ້ສາມາດປ່ຽນສີແລະຄວາມສະຫວ່າງຂອງແສງສະຫວ່າງຜ່ານການໂຕ້ຕອບແລະບັນລຸການຄວບຄຸມຂອງພາກສ່ວນທີສາມໂດຍການເຊື່ອມໂຍງ Alexa Smart Home Skill ຫຼື Google Smart Home Actions ກັບບັນຊີ ESP RainMaker ຂອງເຂົາເຈົ້າ. ຮູບ 3.4 ສະແດງໄອຄອນ ແລະ UI examples ຂອງ bulb light ຕາມລໍາດັບໃນ Alexa, Google Home, ແລະ ESP RainMaker App.

24 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

(a) ຕົວຢ່າງample – Alexa

(b) ຕົວຢ່າງample – Google Home

(c) ຕົວຢ່າງample – ESP RainMaker
ຮູບ 3.4. ຕົວຢ່າງamples of icon ແລະ UI ຂອງ bulb light ໃນ Alexa, Google Home, ແລະ ESP RainMaker App
3.3 ການປະຕິບັດ: ຈຸດສໍາຄັນສໍາລັບການພັດທະນາກັບ ESP RainMaker
ເມື່ອຊັ້ນໄດເວີອຸປະກອນສໍາເລັດແລ້ວ, ນັກພັດທະນາອາດຈະເລີ່ມສ້າງຕົວແບບ TSL ແລະປະມວນຜົນຂໍ້ມູນ downlink ໂດຍໃຊ້ APIs ທີ່ສະຫນອງໂດຍ RainMaker SDK, ແລະເປີດໃຊ້ ESP RainMaker ການບໍລິການພື້ນຖານໂດຍອີງໃສ່ຄໍານິຍາມຂອງຜະລິດຕະພັນແລະຄວາມຕ້ອງການ.
ບົດທີ 3. ບົດແນະນຳກ່ຽວກັບ ESP RainMaker 25

ພາກທີ 9.4 ຂອງປຶ້ມນີ້ຈະອະທິບາຍການຈັດຕັ້ງປະຕິບັດໄຟ LED smart ໃນ RainMaker. ໃນລະຫວ່າງການດີບັກ, ນັກພັດທະນາສາມາດໃຊ້ເຄື່ອງມື CLI ໃນ RainMaker SDK ເພື່ອຕິດຕໍ່ສື່ສານກັບແສງສະຫຼາດ (ຫຼືໂທຫາ REST APIs ຈາກ Swagger).
ບົດທີ 10 ຈະອະທິບາຍລະອຽດກ່ຽວກັບການນຳໃຊ້ REST APIs ໃນການພັດທະນາແອັບພລິເຄຊັນສະມາດໂຟນ. ການອັບເກຣດ OTA ຂອງໄຟອັດສະລິຍະ LED ຈະຖືກກວມເອົາໃນບົດທີ 11. ຖ້ານັກພັດທະນາໄດ້ເປີດໃຊ້ການກວດສອບໄລຍະໄກ ESP Insights, backend ການຈັດການ ESP RainMaker ຈະສະແດງຂໍ້ມູນ ESP Insights. ລາຍ​ລະ​ອຽດ​ຈະ​ນໍາ​ສະ​ເຫນີ​ໃນ​ບົດ​ທີ 15​.
ESP RainMaker ສະຫນັບສະຫນູນການນໍາໃຊ້ເອກະຊົນ, ເຊິ່ງແຕກຕ່າງຈາກເຄື່ອງແມ່ຂ່າຍ RainMaker ສາທາລະນະໃນວິທີການດັ່ງຕໍ່ໄປນີ້:
ການບໍລິການອ້າງສິດ ເພື່ອສ້າງໃບຢັ້ງຢືນໃນການນຳໃຊ້ເອກະຊົນ, ມັນຈໍາເປັນຕ້ອງໃຊ້ RainMaker Admin CLI ແທນການອ້າງສິດ. ດ້ວຍເຊີບເວີສາທາລະນະ, ຜູ້ພັດທະນາຕ້ອງໄດ້ຮັບການໃຫ້ສິດຜູ້ເບິ່ງແຍງເພື່ອປະຕິບັດການຍົກລະດັບເຟີມແວ, ແຕ່ມັນເປັນສິ່ງທີ່ບໍ່ຕ້ອງການໃນການນໍາໃຊ້ທາງການຄ້າ. ດັ່ງນັ້ນ, ການບໍລິການພິສູດຢືນຢັນທີ່ແຍກຕ່າງຫາກບໍ່ສາມາດໃຫ້ບໍລິການສໍາລັບການອ້າງສິດດ້ວຍຕົນເອງ, ຫຼືສິດທິຂອງຜູ້ເບິ່ງແຍງສໍາລັບການເປັນເຈົ້າພາບຂັບເຄື່ອນຫຼືການຮ້ອງຂໍການຊ່ວຍເຫຼືອ.
ແອັບໂທລະສັບໃນການນຳໃຊ້ສ່ວນຕົວ, ແອັບພລິເຄຊັ່ນຕ້ອງຖືກຕັ້ງຄ່າ ແລະ ລວບລວມແຍກຕ່າງຫາກເພື່ອຮັບປະກັນວ່າລະບົບບັນຊີບໍ່ສາມາດເຮັດວຽກຮ່ວມກັນໄດ້.
ການເຂົ້າສູ່ລະບົບຂອງພາກສ່ວນທີສາມ ແລະການເຊື່ອມໂຍງສຽງ ນັກພັດທະນາຕ້ອງຕັ້ງຄ່າແຍກຕ່າງຫາກຜ່ານບັນຊີ Google ແລະ Apple Developer ເພື່ອເປີດໃຊ້ການເຂົ້າສູ່ລະບົບຂອງພາກສ່ວນທີສາມ, ເຊັ່ນດຽວກັນກັບການລວມ Alexa Skill ແລະ Google Voice Assistant.
TIPS ສຳລັບລາຍລະອຽດກ່ຽວກັບການນຳໃຊ້ຄລາວ, ກະລຸນາເຂົ້າໄປທີ່ https://customer.rainmaker.espressif. com. ໃນແງ່ຂອງເຟີມແວ, ການເຄື່ອນຍ້າຍຈາກເຄື່ອງແມ່ຂ່າຍສາທາລະນະໄປຫາເຄື່ອງແມ່ຂ່າຍເອກະຊົນພຽງແຕ່ຕ້ອງການການທົດແທນໃບຢັ້ງຢືນອຸປະກອນ, ເຊິ່ງຊ່ວຍປັບປຸງປະສິດທິພາບການເຄື່ອນຍ້າຍຢ່າງຫຼວງຫຼາຍແລະຫຼຸດຜ່ອນຄ່າໃຊ້ຈ່າຍຂອງການເຄື່ອນຍ້າຍແລະການແກ້ບັນຫາຂັ້ນສອງ.
3.4 ຄຸນສົມບັດຂອງ ESP RainMaker
ຄຸນນະສົມບັດ ESP RainMaker ສ່ວນໃຫຍ່ແມ່ນເປົ້າຫມາຍຢູ່ໃນສາມດ້ານ - ການຄຸ້ມຄອງຜູ້ໃຊ້, ຜູ້ໃຊ້ສຸດທ້າຍ, ແລະຜູ້ເບິ່ງແຍງ. ຄຸນສົມບັດທັງໝົດແມ່ນຮອງຮັບທັງໃນເຊີບເວີສາທາລະນະ ແລະເອກະຊົນ ເວັ້ນເສຍແຕ່ໄດ້ລະບຸໄວ້ເປັນຢ່າງອື່ນ.
3.4.1 ການຄຸ້ມຄອງຜູ້ໃຊ້
ຄຸນນະສົມບັດການຄຸ້ມຄອງຜູ້ໃຊ້ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສຸດທ້າຍລົງທະບຽນ, ເຂົ້າສູ່ລະບົບ, ປ່ຽນລະຫັດຜ່ານ, ດຶງລະຫັດຜ່ານ, ແລະອື່ນໆ.
26 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ລົງ​ທະ​ບຽນ​ແລະ​ເຂົ້າ​ສູ່​ລະ​ບົບ​ວິ​ທີ​ການ​ລົງ​ທະ​ບຽນ​ແລະ​ເຂົ້າ​ສູ່​ລະ​ບົບ​ສະ​ຫນັບ​ສະ​ຫນູນ​ໂດຍ RainMaker ປະ​ກອບ​ມີ​: · Email id + ລະຫັດຜ່ານ · ເບີໂທລະສັບ + ລະຫັດຜ່ານ · ບັນຊີ Google · ບັນຊີ Apple · ບັນຊີ GitHub (ເຄື່ອງແມ່ຂ່າຍສາທາລະນະເທົ່ານັ້ນ) · ບັນຊີ Amazon (ເຄື່ອງແມ່ຂ່າຍເອກະຊົນເທົ່ານັ້ນ)
ໝາຍເຫດ ລົງທະບຽນໂດຍໃຊ້ Google/Amazon ແບ່ງປັນທີ່ຢູ່ອີເມວຂອງຜູ້ໃຊ້ກັບ RainMaker. ລົງທະບຽນໂດຍໃຊ້ Apple ແບ່ງປັນທີ່ຢູ່ dummy ທີ່ Apple ມອບຫມາຍໃຫ້ຜູ້ໃຊ້ໂດຍສະເພາະສໍາລັບການບໍລິການ RainMaker. ບັນຊີ RainMaker ຈະຖືກສ້າງໂດຍອັດຕະໂນມັດສໍາລັບຜູ້ໃຊ້ທີ່ເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Google, Apple, ຫຼື Amazon ເປັນຄັ້ງທໍາອິດ.
ການ​ປ່ຽນ​ລະ​ຫັດ​ຜ່ານ​ມີ​ພຽງ​ແຕ່​ສໍາ​ລັບ ID ອີ​ເມລ​໌ / ຫມາຍ​ເລກ​ໂທລະ​ສັບ​ທີ່​ເຂົ້າ​ສູ່​ລະ​ບົບ​. ເຊດຊັນອື່ນທັງໝົດຈະຖືກອອກຈາກລະບົບຫຼັງຈາກປ່ຽນລະຫັດຜ່ານ. ຕາມພຶດຕິກຳຂອງ AWS Cognito, ເຊດຊັນທີ່ອອກຈາກລະບົບສາມາດຢູ່ໄດ້ເຖິງ 1 ຊົ່ວໂມງ.
ດຶງເອົາລະຫັດຜ່ານໃຊ້ໄດ້ສະເພາະການເຂົ້າສູ່ລະບົບອີເມລ໌ id/ເບີໂທລະສັບ.
3.4.2 ຄຸນສົມບັດຜູ້ໃຊ້ສຸດທ້າຍ
ຄຸນສົມບັດທີ່ເປີດໃຫ້ຜູ້ໃຊ້ສຸດທ້າຍລວມມີການຄວບຄຸມ ແລະການຕິດຕາມທາງໄກໃນທ້ອງຖິ່ນ ແລະທາງໄກ, ການກຳນົດເວລາ, ການຈັດກຸ່ມອຸປະກອນ, ການແບ່ງປັນອຸປະກອນ, ການແຈ້ງເຕືອນ ແລະການເຊື່ອມໂຍງຂອງພາກສ່ວນທີສາມ.
ການ​ຄວບ​ຄຸມ​ແລະ​ການ​ຕິດ​ຕາມ​ໄລ​ຍະ​ໄກ · ການ​ຕັ້ງ​ຄ່າ​ການ​ສອບ​ຖາມ​, ຄ່າ​ພາ​ລາ​ມິ​ເຕີ​, ແລະ​ສະ​ຖາ​ນະ​ການ​ເຊື່ອມ​ຕໍ່​ສໍາ​ລັບ​ອຸ​ປະ​ກອນ​ຫນຶ່ງ​ຫຼື​ທັງ​ຫມົດ​. ·ກໍານົດພາລາມິເຕີສໍາລັບອຸປະກອນດຽວຫຼືຫຼາຍ.
ການ​ຄວບ​ຄຸມ​ທ້ອງ​ຖິ່ນ​ແລະ​ການ​ຕິດ​ຕາມ​ໂທລະ​ສັບ​ມື​ຖື​ແລະ​ອຸ​ປະ​ກອນ​ຈໍາ​ເປັນ​ຕ້ອງ​ໄດ້​ຮັບ​ການ​ເຊື່ອມ​ຕໍ່​ກັບ​ເຄືອ​ຂ່າຍ​ດຽວ​ກັນ​ສໍາ​ລັບ​ການ​ຄວບ​ຄຸມ​ທ້ອງ​ຖິ່ນ​.
ການກຳນົດເວລາ · ຜູ້ໃຊ້ກຳນົດການກະທຳບາງຢ່າງໄວ້ລ່ວງໜ້າໃນເວລາສະເພາະ. · ບໍ່ມີການເຊື່ອມຕໍ່ອິນເຕີເນັດທີ່ຕ້ອງການສໍາລັບອຸປະກອນໃນຂະນະທີ່ດໍາເນີນການກໍານົດເວລາ. ·​ຄັ້ງ​ດຽວ​ຫຼື​ເຮັດ​ເລ​ື້ມ​ຄືນ (ໂດຍ​ການ​ລະ​ບຸ​ວັນ​) ສໍາ​ລັບ​ອຸ​ປະ​ກອນ​ດຽວ​ຫຼື​ຫຼາຍ​.
ການຈັດກຸ່ມອຸປະກອນຮອງຮັບການຈັດກຸ່ມແບບບໍ່ມີຕົວຕົນຫຼາຍລະດັບ ສາມາດໃຊ້ metadata ຂອງກຸ່ມເພື່ອສ້າງໂຄງສ້າງ Home Room.
ບົດທີ 3. ບົດແນະນຳກ່ຽວກັບ ESP RainMaker 27

ການ​ແບ່ງ​ປັນ​ອຸ​ປະ​ກອນ​ສາ​ມາດ​ແບ່ງ​ປັນ​ຫນຶ່ງ​ຫຼື​ຫຼາຍ​ອຸ​ປະ​ກອນ​ກັບ​ຫນຶ່ງ​ຫຼື​ຫຼາຍ​ຜູ້​ໃຊ້​.
Push notifications ຜູ້ໃຊ້ສຸດທ້າຍຈະໄດ້ຮັບການແຈ້ງເຕືອນ Push ສໍາລັບເຫດການເຊັ່ນ · ອຸປະກອນໃຫມ່ທີ່ເພີ່ມ/ເອົາອອກ · ອຸປະກອນເຊື່ອມຕໍ່ກັບຄລາວ · ອຸປະກອນຕັດການເຊື່ອມຕໍ່ຈາກຄລາວ · ການຮ້ອງຂໍການແບ່ງປັນອຸປະກອນສ້າງ/ຍອມຮັບ/ປະຕິເສດ · ຂໍ້ຄວາມແຈ້ງເຕືອນທີ່ລາຍງານໂດຍອຸປະກອນ
ການເຊື່ອມໂຍງພາກສ່ວນທີສາມ Alexa ແລະຜູ້ຊ່ວຍ Google Voice ໄດ້ຮັບການສະຫນັບສະຫນູນເພື່ອຄວບຄຸມອຸປະກອນ RainMaker, ລວມທັງໄຟ, ສະວິດ, ເຕົ້າສຽບ, ພັດລົມ, ແລະເຊັນເຊີອຸນຫະພູມ.
3.4.3 ຄຸນສົມບັດຂອງຜູ້ເບິ່ງແຍງລະບົບ
ຄຸນສົມບັດຂອງຜູ້ເບິ່ງແຍງລະບົບອະນຸຍາດໃຫ້ຜູ້ບໍລິຫານສາມາດປະຕິບັດການລົງທະບຽນອຸປະກອນ, ການຈັດກຸ່ມອຸປະກອນ, ແລະການຍົກລະດັບ OTA, ແລະເພື່ອ view ສະຖິຕິ ແລະຂໍ້ມູນ ESP Insights.
ການລົງທະບຽນອຸປະກອນສ້າງໃບຢັ້ງຢືນອຸປະກອນ ແລະລົງທະບຽນກັບ Admin CLI (ເຊີບເວີສ່ວນຕົວເທົ່ານັ້ນ).
ການ​ຈັດ​ກຸ່ມ​ອຸ​ປະ​ກອນ​ສ້າງ​ກຸ່ມ​ບົດ​ຄັດ​ຫຍໍ້​ຫຼື​ໂຄງ​ສ້າງ​ໂດຍ​ອີງ​ໃສ່​ຂໍ້​ມູນ​ອຸ​ປະ​ກອນ (ເຊີບ​ເວີ​ສ່ວນ​ຕົວ​ເທົ່າ​ນັ້ນ​)​.
Over-the-Air (OTA) ອັບ​ເກຣດ​ອັບ​ໂຫຼດ​ເຟີມ​ແວ​ໂດຍ​ອີງ​ໃສ່​ເວີ​ຊັນ ແລະ​ແບບ​ຈຳ​ລອງ, ໄປ​ໃສ່​ອຸ​ປະ​ກອນ​ໜຶ່ງ​ຫຼື​ຫຼາຍ​ເຄື່ອງ ຫຼື​ກຸ່ມ​ຕິດ​ຕາມ, ຍົກ​ເລີກ, ຫຼື​ເກັບ​ວຽກ OTA.
View ສະຖິຕິ Viewສະຖິຕິສາມາດປະກອບມີ: · ການລົງທະບຽນອຸປະກອນ (ໃບຮັບຮອງທີ່ລົງທະບຽນໂດຍ admin) · ການເປີດໃຊ້ອຸປະກອນ (ອຸປະກອນທີ່ເຊື່ອມຕໍ່ຄັ້ງທໍາອິດ) · ບັນຊີຜູ້ໃຊ້ · ສະມາຄົມຜູ້ໃຊ້-ອຸປະກອນ
View ຂໍ້ມູນ ESP Insights Viewຂໍ້ມູນ ESP Insights ສາມາດປະກອບມີ: · ຄວາມຜິດພາດ, ການເຕືອນໄພ, ແລະບັນທຶກທີ່ກຳນົດເອງ · ລາຍງານການຂັດຂ້ອງ ແລະການວິເຄາະ · ເຫດຜົນການປິດເປີດເຄື່ອງໃໝ່ · ເມຕຣິກ ເຊັ່ນ: ການນຳໃຊ້ໜ່ວຍຄວາມຈຳ, RSSI, ແລະອື່ນໆ · ວັດແທກ ແລະຕົວແປທີ່ກຳນົດເອງ
28 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

3.5 ບົດສະຫຼຸບ
ໃນບົດນີ້, ພວກເຮົາໄດ້ນໍາສະເຫນີບາງຄວາມແຕກຕ່າງທີ່ ສຳ ຄັນລະຫວ່າງການ ນຳ ໃຊ້ RainMaker ສາທາລະນະແລະການ ນຳ ໃຊ້ສ່ວນຕົວ. ການແກ້ໄຂ ESP RainMaker ສ່ວນຕົວທີ່ເປີດຕົວໂດຍ Espressif ແມ່ນມີຄວາມຫນ້າເຊື່ອຖືສູງແລະສາມາດຂະຫຍາຍໄດ້. ຊິບຊຸດ ESP32 ທັງໝົດໄດ້ຖືກເຊື່ອມຕໍ່ ແລະປັບຕົວເຂົ້າກັບ AWS, ເຊິ່ງເຮັດໃຫ້ຄ່າໃຊ້ຈ່າຍຫຼຸດລົງຢ່າງຫຼວງຫຼາຍ. ນັກພັດທະນາສາມາດສຸມໃສ່ການຢັ້ງຢືນຕົ້ນແບບໂດຍບໍ່ຈໍາເປັນຕ້ອງຮຽນຮູ້ກ່ຽວກັບຜະລິດຕະພັນຄລາວຂອງ AWS. ພວກເຮົາຍັງໄດ້ອະທິບາຍການປະຕິບັດແລະລັກສະນະຂອງ ESP RainMaker, ແລະບາງຈຸດສໍາຄັນສໍາລັບການພັດທະນາໂດຍໃຊ້ເວທີ.
ສະແກນເພື່ອດາວໂຫລດ ESP RainMaker ສໍາລັບ Android ສະແກນເພື່ອດາວໂຫລດ ESP RainMaker ສໍາລັບ iOS
ບົດທີ 3. ບົດແນະນຳກ່ຽວກັບ ESP RainMaker 29

30 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ບົດທີ 4 ການພັດທະນາສະພາບແວດລ້ອມ
ບົດນີ້ເນັ້ນໃສ່ ESP-IDF, ກອບການພັດທະນາຊອບແວທີ່ເປັນທາງການສໍາລັບ ESP32-C3. ພວກເຮົາຈະອະທິບາຍວິທີການຕັ້ງຄ່າສະພາບແວດລ້ອມໃນລະບົບປະຕິບັດການຕ່າງໆ, ແລະແນະນໍາໂຄງສ້າງໂຄງການແລະລະບົບການສ້າງ ESP-IDF, ເຊັ່ນດຽວກັນກັບການນໍາໃຊ້ເຄື່ອງມືພັດທະນາທີ່ກ່ຽວຂ້ອງ. ຫຼັງຈາກນັ້ນ, ພວກເຮົາຈະນໍາສະເຫນີຂະບວນການລວບລວມແລະດໍາເນີນການຂອງ example project, ໃນຂະນະທີ່ສະເຫນີຄໍາອະທິບາຍລາຍລະອຽດຂອງບັນທຶກຜົນຜະລິດໃນແຕ່ລະ stage.
4.1 ESP-IDF ເກີນview
ESP-IDF (Espressif IoT Development Framework) ແມ່ນໂຄງຮ່າງການພັດທະນາ IoT ແບບດຽວທີ່ສະໜອງໃຫ້ໂດຍ Espressif Technology. ມັນໃຊ້ C/C ++ ເປັນພາສາພັດທະນາຕົ້ນຕໍ ແລະຮອງຮັບການລວບລວມຂ້າມພາຍໃຕ້ລະບົບປະຕິບັດການຫຼັກເຊັ່ນ Linux, Mac ແລະ Windows. ອະດີດample ໂປລແກລມທີ່ລວມຢູ່ໃນປື້ມນີ້ໄດ້ຖືກພັດທະນາໂດຍໃຊ້ ESP-IDF, ເຊິ່ງສະເຫນີລັກສະນະດັ່ງຕໍ່ໄປນີ້: · ໄດເວີລະດັບລະບົບ SoC. ESP-IDF ປະກອບມີໄດເວີສໍາລັບ ESP32, ESP32-S2, ESP32-C3,
ແລະຊິບອື່ນໆ. ໄດເວີເຫຼົ່ານີ້ກວມເອົາຫ້ອງສະຫມຸດລະດັບຕ່ໍາ (LL), ຮາດແວຊັ້ນ abstraction (HAL), ຫ້ອງສະຫມຸດ RTOS ແລະຊອບແວໄດເວີຊັ້ນເທິງ, ແລະອື່ນໆ · ອົງປະກອບທີ່ສໍາຄັນ. ESP-IDF ປະກອບມີອົງປະກອບພື້ນຖານທີ່ຈໍາເປັນສໍາລັບການພັດທະນາ IoT. ນີ້ປະກອບມີຫຼາຍເຄືອຂ່າຍໂປໂຕຄອນ stacks ເຊັ່ນ HTTP ແລະ MQTT, ກອບການຄຸ້ມຄອງພະລັງງານທີ່ມີໂມດູນຄວາມຖີ່ແບບໄດນາມິກ, ແລະຄຸນສົມບັດເຊັ່ນ Flash Encryption ແລະ Secure Boot, ແລະອື່ນໆ · ການພັດທະນາແລະການຜະລິດເຄື່ອງມື. ESP-IDF ສະຫນອງເຄື່ອງມືທີ່ໃຊ້ທົ່ວໄປສໍາລັບການກໍ່ສ້າງ, flash, ແລະ debugging ໃນລະຫວ່າງການພັດທະນາແລະການຜະລິດຈໍານວນຫລາຍ (ເບິ່ງຮູບ 4.1), ເຊັ່ນ: ລະບົບການກໍ່ສ້າງໂດຍອີງໃສ່ CMake, ລະບົບຕ່ອງໂສ້ເຄື່ອງມືການລວບລວມຂ້າມໂດຍອີງໃສ່ GCC, ແລະ J.TAG ເຄື່ອງມືດີບັ໊ກໂດຍອີງໃສ່ OpenOCD, ແລະອື່ນໆ. ມັນເປັນມູນຄ່າທີ່ສັງເກດວ່າລະຫັດ ESP-IDF ຕົ້ນຕໍແມ່ນປະຕິບັດຕາມໃບອະນຸຍາດເປີດ Apache 2.0. ຜູ້ໃຊ້ສາມາດພັດທະນາຊອບແວສ່ວນບຸກຄົນຫຼືການຄ້າໂດຍບໍ່ມີຂໍ້ຈໍາກັດໃນຂະນະທີ່ປະຕິບັດຕາມເງື່ອນໄຂຂອງໃບອະນຸຍາດແຫຼ່ງເປີດ. ນອກຈາກນັ້ນ, ຜູ້ໃຊ້ໄດ້ຮັບໃບອະນຸຍາດສິດທິບັດແບບຖາວອນໂດຍບໍ່ເສຍຄ່າ, ໂດຍບໍ່ມີການຜູກມັດກັບ open-source ການດັດແກ້ໃດໆທີ່ເຮັດກັບລະຫັດແຫຼ່ງ.
31

ຮູບທີ 4.1.

ການສ້າງ, ກະພິບ, ແລະດີບັກ-

ging ເຄື່ອງ​ມື​ສໍາ​ລັບ​ການ​ພັດ​ທະ​ນາ​ແລະ​ການ​ຜະ​ລິດ​ຈໍາ​ນວນ​ຫຼາຍ​

4.1.1 ລຸ້ນ ESP-IDF
ລະຫັດ ESP-IDF ແມ່ນໂຮດຢູ່ໃນ GitHub ເປັນໂຄງການ open-source. ໃນປັດຈຸບັນ, ມີສາມສະບັບທີ່ສໍາຄັນທີ່ມີຢູ່: v3, v4, ແລະ v5. ແຕ່​ລະ​ສະ​ບັບ​ທີ່​ສໍາ​ຄັນ​ໂດຍ​ປົກ​ກະ​ຕິ​ປະ​ກອບ​ດ້ວຍ subversions ຕ່າງໆ​, ເຊັ່ນ​: v4.2​, v4.3​, ແລະ​ອື່ນໆ​. Espressif Systems ຮັບປະກັນການສະຫນັບສະຫນູນ 30 ເດືອນສໍາລັບການແກ້ໄຂຂໍ້ບົກພ່ອງແລະການແກ້ໄຂຄວາມປອດໄພສໍາລັບແຕ່ລະຮຸ່ນຍ່ອຍທີ່ປ່ອຍອອກມາ. ດັ່ງນັ້ນ, ການແກ້ໄຂການໂຄ່ນລົ້ມຍັງຖືກປ່ອຍອອກມາເປັນປົກກະຕິ, ເຊັ່ນ v4.3.1, v4.2.2, ແລະອື່ນໆ. ຕາຕະລາງ 4.1 ສະແດງສະຖານະສະຫນັບສະຫນູນຂອງລຸ້ນ ESP-IDF ທີ່ແຕກຕ່າງກັນສໍາລັບຊິບ Espressif, ຊີ້ບອກວ່າພວກເຂົາຢູ່ໃນ preview stage (ສະເຫນີສະຫນັບສະຫນູນສໍາລັບ preview ຮຸ່ນ, ເຊິ່ງອາດຈະຂາດຄຸນສົມບັດຫຼືເອກະສານບາງຢ່າງ) ຫຼືໄດ້ຮັບການສະຫນັບສະຫນູນຢ່າງເປັນທາງການ.

ຕາຕະລາງ 4.1. ສະ​ຖາ​ນະ​ການ​ສະ​ຫນັບ​ສະ​ຫນູນ​ຂອງ​ສະ​ບັບ ESP-IDF ທີ່​ແຕກ​ຕ່າງ​ກັນ​ສໍາ​ລັບ​ການ​ຊິບ Espressif​

ຊຸດ ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2

v4.1 ຮອງຮັບ

v4.2 ສະ​ຫນັບ​ສະ​ຫນູນ​

v4.3 ສະຫນັບສະຫນູນສະຫນັບສະຫນູນ

v4.4 ສະຫນັບສະຫນູນສະຫນັບສະຫນູນສະຫນັບສະຫນູນ
ກ່ອນview

v5.0 ສະ​ຫນັບ​ສະ​ຫນູນ​ສະ​ຫນັບ​ສະ​ຫນູນ​ສະ​ຫນັບ​ສະ​ຫນູນ​ທາງ​ຫນ້າ​view

32 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ການ iteration ຂອງສະບັບທີ່ສໍາຄັນມັກຈະກ່ຽວຂ້ອງກັບການປັບໂຄງສ້າງຂອງກອບແລະການປັບປຸງລະບົບການລວບລວມ. ຕົວຢ່າງampດັ່ງນັ້ນ, ການປ່ຽນແປງທີ່ສໍາຄັນຈາກ v3.* ໄປ v4.* ແມ່ນການຍົກຍ້າຍເທື່ອລະກ້າວຂອງລະບົບການກໍ່ສ້າງຈາກ Make ກັບ CMake. ໃນອີກດ້ານຫນຶ່ງ, ການເຮັດຊ້ໍາກັນຂອງຮຸ່ນນ້ອຍໂດຍປົກກະຕິປະກອບມີການເພີ່ມຄຸນສົມບັດໃຫມ່ຫຼືການສະຫນັບສະຫນູນສໍາລັບຊິບໃຫມ່.
ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະຈໍາແນກແລະເຂົ້າໃຈຄວາມສໍາພັນລະຫວ່າງສະບັບທີ່ຫມັ້ນຄົງແລະສາຂາ GitHub. ລຸ້ນທີ່ມີປ້າຍກຳກັບເປັນ v*.* ຫຼື v*.*.* ເປັນຕົວແທນຂອງລຸ້ນທີ່ໝັ້ນຄົງທີ່ຜ່ານການທົດສອບພາຍໃນໂດຍ Espressif. ເມື່ອຖືກແກ້ໄຂແລ້ວ, ລະຫັດ, ລະບົບຕ່ອງໂສ້ເຄື່ອງມື, ແລະເອກະສານການປ່ອຍຕົວສໍາລັບສະບັບດຽວກັນຍັງຄົງບໍ່ປ່ຽນແປງ. ຢ່າງໃດກໍຕາມ, ສາຂາ GitHub (ຕົວຢ່າງ, ສາຂາການປ່ອຍ / v4.3) ໄດ້ຮັບການເຮັດລະຫັດເລື້ອຍໆ, ເລື້ອຍໆໃນແຕ່ລະວັນ. ດັ່ງນັ້ນ, ສອງຂໍ້ຫຍໍ້ຂອງລະຫັດພາຍໃຕ້ສາຂາດຽວກັນອາດຈະແຕກຕ່າງກັນ, ຮຽກຮ້ອງໃຫ້ຜູ້ພັດທະນາປັບປຸງລະຫັດຂອງເຂົາເຈົ້າທັນທີທັນໃດ.
4.1.2 ESP-IDF Git Workflow
Espressif ປະຕິບັດຕາມຂັ້ນຕອນການເຮັດວຽກ Git ສະເພາະສໍາລັບ ESP-IDF, ອະທິບາຍດັ່ງຕໍ່ໄປນີ້:
· ການ​ປ່ຽນ​ແປງ​ໃໝ່​ແມ່ນ​ເຮັດ​ໃຫ້​ສາຂາ​ແມ່​ບົດ, ​ເຊິ່ງ​ເປັນ​ສາຂາ​ພັດທະນາ​ຕົ້ນຕໍ. ສະບັບ ESP-IDF ຢູ່ໃນສາຂາແມ່ແບບສະເຫມີມີ -dev tag ເພື່ອຊີ້ບອກວ່າມັນຢູ່ໃນລະຫວ່າງການພັດທະນາເຊັ່ນ v4.3-dev. ການ​ປ່ຽນ​ແປງ​ໃນ​ສາ​ຂາ​ຕົ້ນ​ສະ​ບັບ​ຈະ​ເປັນ​ຄັ້ງ​ທໍາ​ອິດ​viewed ແລະທົດສອບຢູ່ໃນບ່ອນເກັບຂໍ້ມູນພາຍໃນຂອງ Espressif, ແລະຫຼັງຈາກນັ້ນ pushed ກັບ GitHub ຫຼັງຈາກການທົດສອບອັດຕະໂນມັດສໍາເລັດ.
· ເມື່ອສະບັບໃໝ່ໄດ້ສຳເລັດການພັດທະນາຄຸນສົມບັດໃນສາຂາແມ່ແບບ ແລະ ບັນລຸເງື່ອນໄຂໃນການເຂົ້າສູ່ການທົດສອບເບຕ້າ, ມັນຈະປ່ຽນໄປສູ່ສາຂາໃໝ່, ເຊັ່ນ: ລຸ້ນ/v4.3. ນອກຈາກນັ້ນ, ສາຂາໃຫມ່ນີ້ແມ່ນ tagged ເປັນເວີຊັນກ່ອນການອອກ, ເຊັ່ນ v4.3-beta1. ນັກພັດທະນາສາມາດອ້າງອີງໃສ່ແພລະຕະຟອມ GitHub ເພື່ອເຂົ້າເຖິງບັນຊີລາຍຊື່ຄົບຖ້ວນຂອງສາຂາແລະ tags ສໍາລັບ ESP-IDF. ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະສັງເກດວ່າສະບັບເບຕ້າ (ສະບັບກ່ອນການປ່ອຍ) ອາດຈະຍັງມີຈໍານວນທີ່ສໍາຄັນຂອງບັນຫາທີ່ຮູ້ຈັກ. ເນື່ອງຈາກເວີຊັນເບຕ້າໄດ້ຮັບການທົດສອບຢ່າງຕໍ່ເນື່ອງ, ການແກ້ໄຂຂໍ້ຜິດພາດຈະຖືກເພີ່ມໃສ່ທັງເວີຊັນນີ້ ແລະສາຂາແມ່ແບບພ້ອມກັນ. ໃນ​ຂະ​ນະ​ດຽວ​ກັນ​, ສາ​ຂາ​ແມ່​ບົດ​ອາດ​ຈະ​ໄດ້​ເລີ່ມ​ຕົ້ນ​ການ​ພັດ​ທະ​ນາ​ຄຸນ​ສົມ​ບັດ​ໃຫມ່​ສໍາ​ລັບ​ການ​ສະ​ບັບ​ຕໍ່​ໄປ​. ເມື່ອການທົດສອບເກືອບສໍາເລັດ, ປ້າຍຊື່ຜູ້ສະຫມັກປ່ອຍ (rc) ຈະຖືກເພີ່ມໃສ່ສາຂາ, ເຊິ່ງຊີ້ໃຫ້ເຫັນວ່າມັນເປັນຜູ້ສະຫມັກທີ່ມີທ່າແຮງສໍາລັບການເປີດຕົວຢ່າງເປັນທາງການເຊັ່ນ v4.3-rc1. ໃນນີ້ stage, ສາຂາຍັງຄົງເປັນສະບັບກ່ອນການປ່ອຍ.
· ຖ້າບໍ່ມີຂໍ້ບົກພ່ອງທີ່ໃຫຍ່ຫຼວງຖືກຄົ້ນພົບ ຫຼືລາຍງານ, ສະບັບກ່ອນອອກຈຳໜ່າຍໃນທີ່ສຸດກໍໄດ້ຮັບປ້າຍຊື່ລຸ້ນສຳຄັນ (ເຊັ່ນ: v5.0) ຫຼືປ້າຍກຳກັບເວີຊັນເລັກນ້ອຍ (ຕົວຢ່າງ: v4.3) ແລະກາຍເປັນສະບັບອອກຢ່າງເປັນທາງການ, ເຊິ່ງຖືກບັນທຶກເປັນເອກະສານ. ໃນຫນ້າບັນທຶກການປ່ອຍ. ຫຼັງຈາກນັ້ນ, ແມງໄມ້ໃດໆທີ່ລະບຸໄວ້ໃນສະບັບນີ້ແມ່ນຖືກແກ້ໄຂໃນສາຂາການປ່ອຍ. ຫຼັງ​ຈາກ​ການ​ທົດ​ສອບ​ຄູ່​ມື​ສໍາ​ເລັດ​, ສາ​ຂາ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ມອບ​ຫມາຍ​ສະ​ຫຼາກ​ການ​ແກ້​ໄຂ​ບັນ​ຫາ (ເຊັ່ນ​, v4.3.2​)​, ເຊິ່ງ​ຍັງ​ສະ​ທ້ອນ​ໃຫ້​ເຫັນ​ຢູ່​ໃນ​ຫນ້າ​ບັນ​ທຶກ​ການ​ປ່ອຍ​.
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 33

4.1.3 ການເລືອກລຸ້ນທີ່ເຫມາະສົມ
ນັບຕັ້ງແຕ່ ESP-IDF ເລີ່ມຮອງຮັບ ESP32-C3 ຢ່າງເປັນທາງການຈາກເວີຊັນ v4.3, ແລະ v4.4 ຍັງບໍ່ທັນໄດ້ອອກມາຢ່າງເປັນທາງການໃນເວລາຂຽນປຶ້ມນີ້, ສະບັບທີ່ໃຊ້ໃນປຶ້ມນີ້ແມ່ນ v4.3.2 ເຊິ່ງເປັນສະບັບປັບປຸງ. ຂອງ v4.3. ຢ່າງໃດກໍຕາມ, ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະສັງເກດວ່າໃນເວລາທີ່ທ່ານອ່ານຫນັງສືເຫຼັ້ມນີ້, v4.4 ຫຼືສະບັບໃຫມ່ກວ່າອາດຈະມີຢູ່ແລ້ວ. ເມື່ອເລືອກເວີຊັນ, ພວກເຮົາແນະນຳສິ່ງຕໍ່ໄປນີ້:
· ສໍາລັບນັກພັດທະນາລະດັບເຂົ້າ, ຄວນເລືອກເວີຊັນ v4.3 ທີ່ໝັ້ນຄົງ ຫຼືສະບັບປັບປຸງຂອງມັນ, ເຊິ່ງສອດຄ່ອງກັບ ex.ampສະບັບທີ່ໃຊ້ໃນປຶ້ມຫົວນີ້.
·ສໍາລັບຈຸດປະສົງການຜະລິດຈໍານວນຫລາຍ, ແນະນໍາໃຫ້ໃຊ້ຮຸ່ນທີ່ຫມັ້ນຄົງຫຼ້າສຸດເພື່ອປະໂຫຍດຈາກການສະຫນັບສະຫນູນດ້ານວິຊາການທີ່ທັນສະໄຫມທີ່ສຸດ.
· ຖ້າເຈົ້າຕັ້ງໃຈຈະທົດລອງຊິບໃໝ່ ຫຼືສຳຫຼວດຄຸນສົມບັດຂອງຜະລິດຕະພັນໃໝ່, ກະລຸນາໃຊ້ສາຂາແມ່ບົດ. ສະບັບຫລ້າສຸດປະກອບດ້ວຍຄຸນສົມບັດຫລ້າສຸດທັງຫມົດ, ແຕ່ຈື່ໄວ້ວ່າອາດຈະມີຂໍ້ບົກພ່ອງທີ່ຮູ້ຈັກຫຼືບໍ່ຮູ້.
· ຖ້າ​ຫາກ​ວ່າ​ສະ​ບັບ​ຄວາມ​ຫມັ້ນ​ຄົງ​ທີ່​ຖືກ​ນໍາ​ໃຊ້​ບໍ່​ໄດ້​ປະ​ກອບ​ມີ​ຄຸນ​ສົມ​ບັດ​ໃຫມ່​ທີ່​ຕ້ອງ​ການ​ແລະ​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ​ຫຼຸດ​ຜ່ອນ​ຄວາມ​ສ່ຽງ​ທີ່​ກ່ຽວ​ຂ້ອງ​ກັບ​ສາ​ຂາ​ຕົ້ນ​ສະ​ບັບ​, ພິ​ຈາ​ລະ​ນາ​ການ​ນໍາ​ໃຊ້​ສາ​ຂາ​ການ​ປ່ອຍ​ທີ່​ສອດ​ຄ້ອງ​ກັນ​ເຊັ່ນ​: ສາ​ຂາ​ປ່ອຍ / v4.4​. ພື້ນທີ່ເກັບຂໍ້ມູນ GitHub ຂອງ Espressif ທໍາອິດຈະສ້າງສາຂາການປ່ອຍ / v4.4 ແລະຫຼັງຈາກນັ້ນປ່ອຍເວີຊັນ v4.4 ທີ່ຫມັ້ນຄົງໂດຍອີງໃສ່ຮູບພາບປະຫວັດສາດສະເພາະຂອງສາຂານີ້, ຫຼັງຈາກສໍາເລັດການພັດທະນາແລະການທົດສອບຄຸນນະສົມບັດທັງຫມົດ.
4.1.4 ເກີນview ຂອງ ESP-IDF SDK Directory
ESP-IDF SDK ປະກອບດ້ວຍສອງໄດເລກະທໍລີຕົ້ນຕໍ: esp-idf ແລະ .espressif. ອະດີດມີລະຫັດແຫຼ່ງຂອງ ESP-IDF files ແລະສະຄິບການລວບລວມ, ໃນຂະນະທີ່ອັນສຸດທ້າຍເກັບຮັກສາລະບົບຕ່ອງໂສ້ເຄື່ອງມືການລວບລວມແລະຊອບແວອື່ນໆ. ຄວາມຄຸ້ນເຄີຍກັບສອງໄດເລກະທໍລີນີ້ຈະຊ່ວຍໃຫ້ນັກພັດທະນາໃຊ້ຊັບພະຍາກອນທີ່ມີຢູ່ໄດ້ດີຂຶ້ນແລະເລັ່ງຂະບວນການພັດທະນາ. ໂຄງສ້າງໄດເລກະທໍລີຂອງ ESP-IDF ແມ່ນໄດ້ອະທິບາຍໄວ້ຂ້າງລຸ່ມນີ້:
(1) ESP-IDF repository code directory (/esp/esp-idf), ດັ່ງທີ່ສະແດງໃນຮູບ 4.2.
ກ. ອົງປະກອບໄດເລກະທໍລີອົງປະກອບ
ໄດເລກະທໍລີຫຼັກນີ້ລວມເອົາອົງປະກອບຊອບແວທີ່ສໍາຄັນຈໍານວນຫລາຍຂອງ ESP-IDF. ບໍ່ມີລະຫັດໂຄງການສາມາດຖືກລວບລວມໄດ້ໂດຍບໍ່ຕ້ອງອີງໃສ່ອົງປະກອບພາຍໃນໄດເລກະທໍລີນີ້. ມັນປະກອບມີການສະຫນັບສະຫນູນຄົນຂັບສໍາລັບຊິບ Espressif ຕ່າງໆ. ຈາກຫ້ອງສະໝຸດ LL ແລະສ່ວນຕິດຕໍ່ຂອງຫ້ອງສະໝຸດ HAL ສຳລັບອຸປະກອນຕໍ່ພ່ວງໄປຫາ Driver ລະດັບເທິງ ແລະ Virtual File ສະຫນັບສະຫນູນຊັ້ນລະບົບ (VFS), ນັກພັດທະນາສາມາດເລືອກອົງປະກອບທີ່ເຫມາະສົມໃນລະດັບຕ່າງໆສໍາລັບຄວາມຕ້ອງການໃນການພັດທະນາຂອງພວກເຂົາ. ESP-IDF ຍັງຮອງຮັບຫຼາຍຊຸດໂປຣໂຕຄໍເຄືອຂ່າຍມາດຕະຖານເຊັ່ນ TCP/IP, HTTP, MQTT, Webເຕົ້າຮັບ, ແລະອື່ນໆ, ນັກພັດທະນາສາມາດນໍາໃຊ້ການໂຕ້ຕອບທີ່ຄຸ້ນເຄີຍເຊັ່ນ Socket ເພື່ອສ້າງຄໍາຮ້ອງສະຫມັກເຄືອຂ່າຍ. ອົງ​ປະ​ກອບ​ສະ​ຫນອງ​ຄວາມ​ເຂົ້າ​ໃຈ
34 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ຮູບທີ 4.2. ESP-IDF repository code directory
ການທໍາງານ sive ແລະສາມາດໄດ້ຮັບການປະສົມປະສານໄດ້ຢ່າງງ່າຍດາຍໃນຄໍາຮ້ອງສະຫມັກ, ອະນຸຍາດໃຫ້ນັກພັດທະນາສຸມໃສ່ພຽງແຕ່ກ່ຽວກັບເຫດຜົນທຸລະກິດ. ບາງອົງປະກອບທົ່ວໄປປະກອບມີ: · ໄດເວີ: ອົງປະກອບນີ້ມີໂປລແກລມໄດເວີຕໍ່ອຸປະກອນສໍາລັບ Espressif ຕ່າງໆ
ຊຸດຊິບ, ເຊັ່ນ GPIO, I2C, SPI, UART, LEDC (PWM), ແລະອື່ນໆ. ໂປລແກລມໄດເວີຂອງອຸປະກອນຕໍ່ພ່ວງໃນອົງປະກອບນີ້ໃຫ້ການໂຕ້ຕອບແບບບໍ່ມີຕົວຕົນຂອງຊິບ. ແຕ່ລະອຸປະກອນມີສ່ວນຫົວທົ່ວໄປ file (ເຊັ່ນ: gpio.h), ການກໍາຈັດຄວາມຕ້ອງການທີ່ຈະຈັດການກັບຄໍາຖາມສະຫນັບສະຫນູນສະເພາະ chip ທີ່ແຕກຕ່າງກັນ. · esp_wifi: Wi-Fi, ເປັນອຸປະກອນເສີມພິເສດ, ຖືກປະຕິບັດເປັນອົງປະກອບແຍກຕ່າງຫາກ. ມັນປະກອບມີ APIs ຫຼາຍອັນເຊັ່ນ: ການເລີ່ມຕົ້ນຂອງໂຫມດໄດເວີ Wi-Fi ຕ່າງໆ, ການຕັ້ງຄ່າພາລາມິເຕີ, ແລະການປະມວນຜົນເຫດການ. ຫນ້າທີ່ສະເພາະໃດຫນຶ່ງຂອງອົງປະກອບນີ້ແມ່ນສະຫນອງໃຫ້ໃນຮູບແບບຂອງຫ້ອງສະຫມຸດເຊື່ອມຕໍ່ແບບຄົງທີ່. ESP-IDF ຍັງໃຫ້ເອກະສານການຂັບຂີ່ທີ່ສົມບູນແບບເພື່ອຄວາມສະດວກໃນການນໍາໃຊ້.
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 35

· freertos: ອົງປະກອບນີ້ມີລະຫັດ FreeRTOS ຄົບຖ້ວນ. ນອກເຫນືອຈາກການສະຫນອງການສະຫນັບສະຫນູນທີ່ສົມບູນແບບສໍາລັບລະບົບປະຕິບັດການນີ້, Espressif ຍັງໄດ້ຂະຫຍາຍການສະຫນັບສະຫນູນກັບຊິບ dual-core. ສໍາລັບຊິບ dual-core ເຊັ່ນ ESP32 ແລະ ESP32-S3, ຜູ້ໃຊ້ສາມາດສ້າງຫນ້າວຽກກ່ຽວກັບຫຼັກສະເພາະ.
ຂ. ເອກະສານໄດເລກະທໍລີເອກະສານ
ໄດເລກະທໍລີນີ້ມີເອກະສານການພັດທະນາທີ່ກ່ຽວຂ້ອງກັບ ESP-IDF, ລວມທັງຄູ່ມືເລີ່ມຕົ້ນ, ຄູ່ມືການອ້າງອິງ API, ຄູ່ມືການພັດທະນາ, ແລະອື່ນໆ.
ຫມາຍເຫດຫຼັງຈາກຖືກລວບລວມໂດຍເຄື່ອງມືອັດຕະໂນມັດ, ເນື້ອໃນຂອງໄດເລກະທໍລີນີ້ຖືກນໍາໄປໃຊ້ຢູ່ທີ່ https://docs.espressif.com/projects/esp-idf. ກະລຸນາກວດສອບໃຫ້ແນ່ໃຈວ່າຈະປ່ຽນເປົ້າໝາຍເອກະສານເປັນ ESP32-C3 ແລະເລືອກເວີຊັນ ESP-IDF ທີ່ລະບຸໄວ້.
ຄ. ເຄື່ອງມືເຄື່ອງມື Script
ໄດເຣັກທໍຣີນີ້ມີເຄື່ອງມືການລວບລວມຂໍ້ມູນທົ່ວໄປທີ່ໃຊ້ທົ່ວໄປເຊັ່ນ: idf.py, ແລະເຄື່ອງມືຂອງຈໍສະແດງຜົນ idf_monitor.py, ແລະອື່ນໆ. ໄດເຣັກທໍຣີຍ່ອຍ cmake ຍັງມີສະຄຣິບຫຼັກ files ຂອງລະບົບການລວບລວມ, ເປັນພື້ນຖານສໍາລັບການປະຕິບັດກົດລະບຽບການລວບລວມ ESP-IDF. ເມື່ອເພີ່ມຕົວແປສະພາບແວດລ້ອມ, ເນື້ອໃນພາຍໃນໄດເລກະທໍລີເຄື່ອງມືຈະຖືກເພີ່ມໃສ່ຕົວແປສະພາບແວດລ້ອມຂອງລະບົບ, ອະນຸຍາດໃຫ້ idf.py ຖືກປະຕິບັດໂດຍກົງພາຍໃຕ້ເສັ້ນທາງໂຄງການ.
ງ. ຕົວຢ່າງample program directory examples
ໄດເລກະທໍລີນີ້ປະກອບດ້ວຍຄໍເລັກຊັນອັນໃຫຍ່ຫຼວງຂອງ ESP-IDF example ໂຄງການທີ່ສະແດງໃຫ້ເຫັນການນໍາໃຊ້ APIs ອົງປະກອບ. ອະດີດamples ຖືກຈັດເປັນໄດເລກະທໍລີຍ່ອຍຕ່າງໆໂດຍອີງໃສ່ປະເພດຂອງພວກເຂົາ:
· ເລີ່ມຕົ້ນ: ໄດເລກະທໍລີຍ່ອຍນີ້ປະກອບມີ ex entry-level examples ເຊັ່ນ "ສະບາຍດີໂລກ" ແລະ "ກະພິບ" ເພື່ອຊ່ວຍໃຫ້ຜູ້ໃຊ້ເຂົ້າໃຈພື້ນຖານ.
· bluetooth: ທ່ານສາມາດຊອກຫາ Bluetooth ທີ່ກ່ຽວຂ້ອງ examples ທີ່ນີ້, ລວມທັງ Bluetooth LE Mesh, Bluetooth LE HID, BluFi, ແລະອື່ນໆ.
· wifi: ໄດເລກະທໍລີຍ່ອຍນີ້ເນັ້ນໃສ່ Wi-Fi examples, ລວມທັງໂຄງການພື້ນຖານເຊັ່ນ Wi-Fi SoftAP, Wi-Fi Station, espnow, ເຊັ່ນດຽວກັນກັບໂປໂຕຄອນການສື່ສານທີ່ເປັນເຈົ້າຂອງ examples ຈາກ Espressif. ມັນຍັງປະກອບມີຫຼາຍຊັ້ນຄໍາຮ້ອງສະຫມັກ examples ອີງໃສ່ Wi-Fi, ເຊັ່ນ: Iperf, Sniffer, ແລະ Smart Config.
· ອຸປະກອນຕໍ່ພ່ວງ: ໄດເລກະທໍລີຍ່ອຍທີ່ກວ້າງຂວາງນີ້ໄດ້ຖືກແບ່ງອອກເປັນໂຟເດີຍ່ອຍຈໍານວນຫລາຍໂດຍອີງໃສ່ຊື່ອຸປະກອນຕໍ່ຂ້າງ. ມັນສ່ວນໃຫຍ່ແມ່ນປະກອບດ້ວຍຄົນຂັບ peripheral examples ສໍາລັບຊິບ Espressif, ກັບແຕ່ລະຄົນ example ມີການຍ່ອຍຫຼາຍ examples. ສໍາລັບຕົວຢ່າງ, ໄດເລກະທໍລີຍ່ອຍ gpio ປະກອບມີສອງ examples: ແປ້ນພິມ GPIO ແລະ GPIO matrix. ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະສັງເກດວ່າບໍ່ແມ່ນທັງຫມົດ examples ໃນໄດເລກະທໍລີນີ້ແມ່ນໃຊ້ໄດ້ກັບ ESP32-C3.
36 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ຕົວຢ່າງample, examples ໃນ usb/host ແມ່ນໃຊ້ໄດ້ກັບອຸປະກອນຕໍ່ພ່ວງທີ່ມີຮາດແວ USB Host (ເຊັ່ນ: ESP32-S3), ແລະ ESP32-C3 ບໍ່ມີອຸປະກອນຕໍ່ພ່ວງນີ້. ລະບົບການລວບລວມປົກກະຕິແລ້ວສະຫນອງການກະຕຸ້ນເຕືອນໃນເວລາທີ່ກໍານົດເປົ້າຫມາຍ. README file ຂອງແຕ່ລະຄົນ example ລາຍຊື່ຊິບທີ່ຮອງຮັບ. · ໂປໂຕຄອນ: ບັນຊີຍ່ອຍນີ້ມີ examples ສໍາລັບໂປໂຕຄອນການສື່ສານຕ່າງໆ, ລວມທັງ MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP, ກວມເອົາລະດັບຄວາມກ້ວາງຂອງໂປໂຕຄອນການສື່ສານ examples ທີ່ຈໍາເປັນສໍາລັບການພັດທະນາ IoT. · ການສະຫນອງ: ທີ່ນີ້, ທ່ານຈະພົບເຫັນການສະຫນອງ examples ສໍາລັບວິທີການທີ່ແຕກຕ່າງກັນ, ເຊັ່ນ: ການສະຫນອງ Wi-Fi ແລະການສະຫນອງ Bluetooth LE. · ລະ​ບົບ​: ບັນ​ຊີ​ຍ່ອຍ​ນີ້​ປະ​ກອບ​ມີ​ການ​ດີ​ບັກ​ລະ​ບົບ examples (eg, stack tracing, runtime tracing, task monitoring), ການຈັດການພະລັງງານ examples (ຕົວຢ່າງ, ຮູບແບບການນອນຕ່າງໆ, co-processors), ແລະ examples ກ່ຽວຂ້ອງກັບອົງປະກອບຂອງລະບົບທົ່ວໄປເຊັ່ນ: console terminal, event loop, ແລະລະບົບ timer. · ການເກັບຮັກສາ: ພາຍໃນບັນຊີຍ່ອຍນີ້, ທ່ານຈະຄົ້ນພົບ examples ຂອງທັງຫມົດ file ລະ​ບົບ​ແລະ​ກົນ​ໄກ​ການ​ເກັບ​ຮັກ​ສາ​ສະ​ຫນັບ​ສະ​ຫນູນ​ໂດຍ ESP-IDF (ເຊັ່ນ​: ການ​ອ່ານ​ແລະ​ການ​ຂຽນ Flash​, SD card ແລະ​ສື່​ມວນ​ຊົນ​ການ​ເກັບ​ຮັກ​ສາ​ອື່ນໆ​)​, ເຊັ່ນ​ດຽວ​ກັນ​ກັບ examples of non-volatile storage (NVS), FatFS, SPIFFS ແລະອື່ນໆ file ການ​ດໍາ​ເນີນ​ງານ​ລະ​ບົບ​. · ຄວາມປອດໄພ: ບັນຊີຍ່ອຍນີ້ປະກອບດ້ວຍ examples ກ່ຽວຂ້ອງກັບການເຂົ້າລະຫັດ flash. (2) ESP-IDF compilation tool chain directory (/.espressif), ດັ່ງທີ່ສະແດງໃນຮູບ 4.3.
ຮູບທີ 4.3. ລະບົບຕ່ອງໂສ້ເຄື່ອງມືການລວບລວມ ESP-IDF
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 37

ກ. ໄດເລກະທໍລີການແຈກຢາຍຊອບແວ
ລະບົບຕ່ອງໂສ້ເຄື່ອງມື ESP-IDF ແລະຊອບແວອື່ນໆແມ່ນແຈກຢາຍໃນຮູບແບບຂອງຊຸດທີ່ຖືກບີບອັດ. ໃນ​ລະ​ຫວ່າງ​ການ​ຂະ​ບວນ​ການ​ຕິດ​ຕັ້ງ​, ເຄື່ອງ​ມື​ການ​ຕິດ​ຕັ້ງ​ຄັ້ງ​ທໍາ​ອິດ​ດາວ​ນ​໌​ໂຫລດ​ຊຸດ​ການ​ບີບ​ອັດ​ໄປ​ໃນ dist directory​, ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ສະ​ກັດ​ມັນ​ໄປ​ໃນ​ລະ​ບົບ​ທີ່​ກໍາ​ນົດ​ໄວ້​. ເມື່ອການຕິດຕັ້ງສໍາເລັດແລ້ວ, ເນື້ອຫາໃນໄດເລກະທໍລີນີ້ສາມາດຖືກໂຍກຍ້າຍອອກຢ່າງປອດໄພ.
ຂ. Python ສະພາບແວດລ້ອມ virtual directory python env
ລຸ້ນຕ່າງໆຂອງ ESP-IDF ຂຶ້ນກັບຊຸດສະເພາະຂອງ Python. ການຕິດຕັ້ງແພັກເກັດເຫຼົ່ານີ້ໂດຍກົງຢູ່ໃນໂຮດດຽວກັນສາມາດນໍາໄປສູ່ການຂັດແຍ້ງລະຫວ່າງສະບັບຂອງແພັກເກັດ. ເພື່ອແກ້ໄຂບັນຫານີ້, ESP-IDF ໃຊ້ສະພາບແວດລ້ອມ virtual Python ເພື່ອແຍກແພັກເກັດທີ່ແຕກຕ່າງກັນ. ດ້ວຍກົນໄກນີ້, ນັກພັດທະນາສາມາດຕິດຕັ້ງ ESP-IDF ຫຼາຍຮຸ່ນຢູ່ໃນໂຮດດຽວກັນແລະປ່ຽນລະຫວ່າງພວກມັນໄດ້ງ່າຍໂດຍການນໍາເຂົ້າຕົວແປສະພາບແວດລ້ອມທີ່ແຕກຕ່າງກັນ.
ຄ. ເຄື່ອງມືລະບົບຕ່ອງໂສ້ການລວບລວມ ESP-IDF
ໄດເລກະທໍລີນີ້ສ່ວນໃຫຍ່ແມ່ນປະກອບດ້ວຍເຄື່ອງມືການລວບລວມຂ້າມທີ່ຕ້ອງການເພື່ອລວບລວມໂຄງການ ESP-IDF, ເຊັ່ນ: ເຄື່ອງມື CMake, ເຄື່ອງມືສ້າງ Ninja, ແລະລະບົບຕ່ອງໂສ້ເຄື່ອງມື gcc ທີ່ສ້າງໂຄງການປະຕິບັດສຸດທ້າຍ. ນອກຈາກນັ້ນ, ໄດເລກະທໍລີນີ້ມີຫ້ອງສະໝຸດມາດຕະຖານຂອງພາສາ C/C++ ພ້ອມກັບສ່ວນຫົວທີ່ສອດຄ້ອງກັນ. fileດ. ຖ້າໂຄງການອ້າງອີງສ່ວນຫົວຂອງລະບົບ file ຄື #ລວມ , ລະບົບຕ່ອງໂສ້ເຄື່ອງມືການລວບລວມຈະຊອກຫາ stdio.h file ພາຍໃນໄດເລກະທໍລີນີ້.
4.2 ການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF
ສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ຮອງຮັບລະບົບປະຕິບັດການຫຼັກເຊັ່ນ Windows, Linux ແລະ macOS. ພາກນີ້ຈະແນະນໍາວິທີການກໍານົດສະພາບແວດລ້ອມການພັດທະນາໃນແຕ່ລະລະບົບ. ມັນໄດ້ຖືກແນະນໍາໃຫ້ພັດທະນາ ESP32-C3 ໃນລະບົບ Linux, ເຊິ່ງຈະຖືກນໍາສະເຫນີໃນລາຍລະອຽດທີ່ນີ້. ຄໍາແນະນໍາຈໍານວນຫຼາຍແມ່ນໃຊ້ໄດ້ໃນທົ່ວແພລະຕະຟອມເນື່ອງຈາກຄວາມຄ້າຍຄືກັນຂອງເຄື່ອງມືພັດທະນາ. ດັ່ງນັ້ນ, ຄວນອ່ານເນື້ອໃນຂອງພາກນີ້ຢ່າງລະມັດລະວັງ.
ໝາຍເຫດ ທ່ານສາມາດອ້າງອີງເຖິງເອກະສານອອນໄລນ໌ທີ່ມີຢູ່ໃນ https://bookc3.espressif.com/esp32c3, ເຊິ່ງໃຫ້ຄໍາສັ່ງທີ່ໄດ້ກ່າວມາໃນພາກນີ້.
4.2.1 ການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ໃນ Linux
ເຄື່ອງມືພັດທະນາ ແລະແກ້ໄຂ GNU ທີ່ຕ້ອງການສໍາລັບສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ແມ່ນມາຈາກລະບົບ Linux. ນອກຈາກນັ້ນ, terminal ເສັ້ນຄໍາສັ່ງໃນ Linux ແມ່ນມີອໍານາດແລະເປັນມິດກັບຜູ້ໃຊ້, ເຮັດໃຫ້ມັນເປັນທາງເລືອກທີ່ເຫມາະສົມສໍາລັບການພັດທະນາ ESP32-C3. ເຈົ້າ​ສາ​ມາດ
38 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ເລືອກການແຈກຢາຍ Linux ທີ່ທ່ານຕ້ອງການ, ແຕ່ພວກເຮົາແນະນໍາໃຫ້ໃຊ້ Ubuntu ຫຼືລະບົບ Debianbased ອື່ນໆ. ພາກນີ້ໃຫ້ຄຳແນະນຳກ່ຽວກັບການຕັ້ງສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ໃນ Ubuntu 20.04.
1. ຕິດຕັ້ງຊຸດທີ່ຕ້ອງການ
ເປີດ terminal ໃໝ່ ແລະປະຕິບັດຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອຕິດຕັ້ງແພັກເກັດທີ່ຈໍາເປັນທັງຫມົດ. ຄໍາສັ່ງຈະຂ້າມແພັກເກັດທີ່ຕິດຕັ້ງແລ້ວໂດຍອັດຕະໂນມັດ.
$ sudo apt-get install git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
TIPS ທ່ານຈໍາເປັນຕ້ອງໃຊ້ບັນຊີຜູ້ເບິ່ງແຍງລະບົບແລະລະຫັດຜ່ານສໍາລັບຄໍາສັ່ງຂ້າງເທິງ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ບໍ່ມີຂໍ້ມູນໃດໆຈະຖືກສະແດງເມື່ອໃສ່ລະຫັດຜ່ານ. ພຽງແຕ່ກົດປຸ່ມ "Enter" ເພື່ອສືບຕໍ່ຂັ້ນຕອນ.
Git ເປັນເຄື່ອງມືຄຸ້ມຄອງລະຫັດຫຼັກໃນ ESP-IDF. ຫຼັງຈາກສໍາເລັດການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ, ທ່ານສາມາດນໍາໃຊ້ຄໍາສັ່ງ git log to view ການປ່ຽນແປງລະຫັດທັງຫມົດທີ່ເຮັດນັບຕັ້ງແຕ່ການສ້າງ ESP-IDF. ນອກຈາກນັ້ນ, Git ຍັງຖືກນໍາໃຊ້ໃນ ESP-IDF ເພື່ອຢືນຢັນຂໍ້ມູນສະບັບ, ເຊິ່ງເປັນສິ່ງຈໍາເປັນສໍາລັບການຕິດຕັ້ງລະບົບຕ່ອງໂສ້ເຄື່ອງມືທີ່ຖືກຕ້ອງທີ່ສອດຄ່ອງກັບສະບັບສະເພາະ. ຄຽງຄູ່ກັບ Git, ເຄື່ອງມືລະບົບທີ່ສໍາຄັນອື່ນໆລວມມີ Python. ESP-IDF ປະກອບມີສະຄຣິບອັດຕະໂນມັດຈໍານວນຫລາຍທີ່ຂຽນໃນ Python. ເຄື່ອງມືເຊັ່ນ: CMake, Ninja-build, ແລະ Ccache ຖືກນໍາໃຊ້ຢ່າງກວ້າງຂວາງໃນໂຄງການ C/C++ ແລະເປັນເຄື່ອງມືການລວບລວມລະຫັດເລີ່ມຕົ້ນແລະການກໍ່ສ້າງໃນ ESP-IDF. libusb-1.0-0 ແລະ dfu-util ແມ່ນໄດເວີຫຼັກທີ່ໃຊ້ສໍາລັບການສື່ສານ serial USB ແລະການເຜົາໄຫມ້ເຟີມແວ. ເມື່ອຊຸດຊອບແວໄດ້ຖືກຕິດຕັ້ງ, ທ່ານສາມາດນໍາໃຊ້ການສະແດງທີ່ເຫມາະສົມ ຄໍາສັ່ງທີ່ຈະໄດ້ຮັບຄໍາອະທິບາຍລາຍລະອຽດຂອງແຕ່ລະຊຸດ. ຕົວຢ່າງample, ໃຊ້ apt show git ເພື່ອພິມຂໍ້ມູນຄໍາອະທິບາຍສໍາລັບເຄື່ອງມື Git.
ຖາມ: ຈະເຮັດແນວໃດຖ້າເວີຊັນ Python ບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນ? A: ESP-IDF v4.3 ຕ້ອງການເວີຊັນ Python ທີ່ບໍ່ຕໍ່າກວ່າ v3.6. ສໍາລັບ Ubuntu ລຸ້ນເກົ່າ, ກະລຸນາດາວໂຫຼດ ແລະຕິດຕັ້ງ Python ເວີຊັນທີ່ສູງກວ່າດ້ວຍຕົນເອງ ແລະຕັ້ງ Python3 ເປັນສະພາບແວດລ້ອມ Python ເລີ່ມຕົ້ນ. ທ່ານສາມາດຊອກຫາຄໍາແນະນໍາຢ່າງລະອຽດໂດຍການຊອກຫາຄໍາສໍາຄັນ update-alternatives python.
2. ດາວໂຫລດລະຫັດ repository ESP-IDF
ເປີດ terminal ແລະສ້າງໂຟນເດີທີ່ມີຊື່ esp ໃນ home directory ຂອງທ່ານໂດຍໃຊ້ຄໍາສັ່ງ mkdir. ທ່ານສາມາດເລືອກຊື່ອື່ນສໍາລັບໂຟນເດີຖ້າທ່ານຕ້ອງການ. ໃຊ້ຄໍາສັ່ງ cd ເພື່ອເຂົ້າໄປໃນໂຟນເດີ.
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 39

$ mkdir -p /esp $ cd / esp
ໃຊ້ຄໍາສັ່ງ git clone ເພື່ອດາວໂຫລດລະຫັດ repository ESP-IDF, ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້:
$ git clone -b v4.3.2 –recursive https://github.com/espressif/esp-idf.git
ໃນຄໍາສັ່ງຂ້າງເທິງ, ພາລາມິເຕີ -b v4.3.2 ກໍານົດສະບັບທີ່ຈະດາວໂຫລດ (ໃນກໍລະນີນີ້, ຮຸ່ນ 4.3.2). ພາລາມິເຕີ –recursive ຮັບປະກັນວ່າທຸກ repositories ຍ່ອຍຂອງ ESP-IDF ໄດ້ຖືກດາວໂຫຼດ recursively. ຂໍ້ມູນກ່ຽວກັບບ່ອນເກັບມ້ຽນຍ່ອຍສາມາດພົບໄດ້ໃນ .gitmodules file.
3. ຕິດຕັ້ງລະບົບຕ່ອງໂສ້ເຄື່ອງມືພັດທະນາ ESP-IDF
Espressif ສະໜອງສະຄຣິບອັດຕະໂນມັດ install.sh ເພື່ອດາວໂຫລດ ແລະຕິດຕັ້ງລະບົບຕ່ອງໂສ້ເຄື່ອງມື. ສະຄຣິບນີ້ກວດເບິ່ງເວີຊັນ ESP-IDF ປະຈຸບັນ ແລະສະພາບແວດລ້ອມຂອງລະບົບປະຕິບັດການ, ແລະຫຼັງຈາກນັ້ນດາວໂຫລດ ແລະຕິດຕັ້ງຊຸດເຄື່ອງມື Python ແລະລະບົບຕ່ອງໂສ້ການລວບລວມຂໍ້ມູນທີ່ເຫມາະສົມ. ເສັ້ນທາງການຕິດຕັ້ງເລີ່ມຕົ້ນສໍາລັບຕ່ອງໂສ້ເຄື່ອງມືແມ່ນ /.espressif. ສິ່ງທີ່ທ່ານຕ້ອງເຮັດແມ່ນໄປທີ່ໄດເລກະທໍລີ esp-idf ແລະແລ່ນ install.sh.
$ cd /esp/esp-idf $ ./install.sh
ຖ້າທ່ານຕິດຕັ້ງຕ່ອງໂສ້ເຄື່ອງມືຢ່າງສໍາເລັດຜົນ, terminal ຈະສະແດງ:
ສຳເລັດແລ້ວ!
ໃນຈຸດນີ້, ທ່ານໄດ້ສໍາເລັດການສ້າງຕັ້ງສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF.
4.2.2 ການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ເທິງ Windows
1. ດາວໂຫລດຕົວຕິດຕັ້ງເຄື່ອງມື ESP-IDF
TIPS ແນະນຳໃຫ້ຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ເທິງ Windows 10 ຫຼືສູງກວ່າ. ທ່ານສາມາດດາວໂຫລດຕົວຕິດຕັ້ງຈາກ https://dl.espressif.com/dl/esp-idf/. ຕົວຕິດຕັ້ງຍັງເປັນຊອບແວເປີດ, ແລະລະຫັດແຫຼ່ງຂອງມັນສາມາດເປັນ viewed ຢູ່ https: //github.com/espressif/idf-installer.
· ຕົວຕິດຕັ້ງເຄື່ອງມື ESP-IDF ອອນລາຍ
ຕົວຕິດຕັ້ງນີ້ແມ່ນຂ້ອນຂ້າງນ້ອຍ, ປະມານ 4 MB ໃນຂະຫນາດ, ແລະແພັກເກັດແລະລະຫັດອື່ນໆຈະຖືກດາວໂຫຼດໃນລະຫວ່າງຂະບວນການຕິດຕັ້ງ. ແອັດວັນtage ຂອງຕົວຕິດຕັ້ງອອນໄລນ໌ແມ່ນວ່າບໍ່ພຽງແຕ່ສາມາດດາວໂຫລດຊຸດຊອບແວແລະລະຫັດຕາມຄວາມຕ້ອງການໃນລະຫວ່າງຂະບວນການຕິດຕັ້ງ, ແຕ່ຍັງອະນຸຍາດໃຫ້ຕິດຕັ້ງ ESP-IDF ແລະສາຂາຫລ້າສຸດຂອງລະຫັດ GitHub (ເຊັ່ນ: ສາຂາຕົ້ນສະບັບ) . Disadvan ໄດ້tage ແມ່ນວ່າມັນຮຽກຮ້ອງໃຫ້ມີການເຊື່ອມຕໍ່ເຄືອຂ່າຍໃນລະຫວ່າງຂະບວນການຕິດຕັ້ງ, ເຊິ່ງອາດຈະເຮັດໃຫ້ເກີດຄວາມລົ້ມເຫລວໃນການຕິດຕັ້ງເນື່ອງຈາກບັນຫາເຄືອຂ່າຍ.
40 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

· Offline ESP-IDF tools installer ຕົວຕິດຕັ້ງນີ້ມີຂະຫນາດໃຫຍ່ກວ່າ, ປະມານ 1 GB ໃນຂະຫນາດ, ແລະມີຊຸດຊອບແວທັງຫມົດແລະລະຫັດທີ່ຈໍາເປັນສໍາລັບການຕັ້ງຄ່າສະພາບແວດລ້ອມ. ຕົ້ນຕໍ advantage ຂອງຕົວຕິດຕັ້ງອອບໄລນ໌ແມ່ນວ່າມັນສາມາດຖືກນໍາໃຊ້ໃນຄອມພິວເຕີໂດຍບໍ່ມີການເຂົ້າເຖິງອິນເຕີເນັດ, ແລະໂດຍທົ່ວໄປແລ້ວມີອັດຕາຄວາມສໍາເລັດຂອງການຕິດຕັ້ງທີ່ສູງຂຶ້ນ. ຄວນສັງເກດວ່າຕົວຕິດຕັ້ງອອບໄລນ໌ພຽງແຕ່ສາມາດຕິດຕັ້ງການປ່ອຍຄວາມຫມັ້ນຄົງຂອງ ESP-IDF ທີ່ກໍານົດໂດຍ v*.* ຫຼື v*.*.*.
2. ດໍາເນີນການຕິດຕັ້ງເຄື່ອງມື ESP-IDF ຫຼັງຈາກດາວໂຫລດເວີຊັນທີ່ເຫມາະສົມຂອງຕົວຕິດຕັ້ງ (ເອົາ ESP-IDF Tools Offline 4.3.2 ສໍາລັບ ex.ampທີ່ນີ້), double-click the exe file ເພື່ອເປີດການໂຕ້ຕອບການຕິດຕັ້ງ ESP-IDF. ຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນວິທີການຕິດຕັ້ງ ESP-IDF ຮຸ່ນທີ່ຫມັ້ນຄົງ v4.3.2 ໂດຍໃຊ້ຕົວຕິດຕັ້ງອອບໄລນ໌.
(1) ໃນການໂຕ້ຕອບ "ເລືອກພາສາການຕິດຕັ້ງ" ສະແດງຢູ່ໃນຮູບ 4.4, ເລືອກພາສາທີ່ຈະນໍາໃຊ້ຈາກບັນຊີລາຍຊື່ເລື່ອນລົງ.
ຮູບທີ 4.4. "ເລືອກພາສາການຕິດຕັ້ງ" ການໂຕ້ຕອບ (2) ຫຼັງຈາກເລືອກພາສາ, ໃຫ້ຄລິກໃສ່ "OK" ທີ່ຈະປາກົດໃນການໂຕ້ຕອບ "ຂໍ້ຕົກລົງໃບອະນຸຍາດ"
(ເບິ່ງຮູບ 4.5). ຫຼັງ​ຈາກ​ທີ່​ລະ​ມັດ​ລະ​ວັງ​ອ່ານ​ຂໍ້​ຕົກ​ລົງ​ໃບ​ອະ​ນຸ​ຍາດ​ການ​ຕິດ​ຕັ້ງ​, ເລືອກ​ເອົາ "ຂ້າ​ພະ​ເຈົ້າ​ຍອມ​ຮັບ​ຂໍ້​ຕົກ​ລົງ​" ແລະ​ຄລິກ​ໃສ່ "ຕໍ່​ໄປ​"​.
ຮູບທີ 4.5. “ຂໍ້ຕົກລົງໃບອະນຸຍາດ” ການໂຕ້ຕອບບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມການພັດທະນາ 41

(3) Review ການຕັ້ງຄ່າລະບົບໃນການໂຕ້ຕອບ "ການກວດສອບລະບົບກ່ອນການຕິດຕັ້ງ" (ເບິ່ງຮູບ 4.6). ກວດເບິ່ງເວີຊັນ Windows ແລະຂໍ້ມູນຊອບແວປ້ອງກັນໄວຣັດທີ່ຕິດຕັ້ງໄວ້. ໃຫ້ຄລິກໃສ່ "ຕໍ່ໄປ" ຖ້າລາຍການການຕັ້ງຄ່າທັງຫມົດແມ່ນປົກກະຕິ. ຖ້າບໍ່ດັ່ງນັ້ນ, ທ່ານສາມາດຄລິກໃສ່ "ບັນທຶກເຕັມ" ສໍາລັບການແກ້ໄຂໂດຍອີງໃສ່ລາຍການທີ່ສໍາຄັນ.
ຮູບທີ 4.6. "ກວດສອບລະບົບກ່ອນການຕິດຕັ້ງ" TIPS ການໂຕ້ຕອບ
ທ່ານສາມາດສົ່ງບັນທຶກໄປທີ່ https://github.com/espressif/idf-installer/issues ເພື່ອຂໍຄວາມຊ່ວຍເຫຼືອ. (4) ເລືອກໄດເລກະທໍລີການຕິດຕັ້ງ ESP-IDF. ທີ່ນີ້, ເລືອກ D:/.espressif, ດັ່ງທີ່ສະແດງຢູ່ໃນ
ຮູບທີ 4.7, ແລະຄລິກ “ຕໍ່ໄປ”. ກະລຸນາສັງເກດວ່າ .espressif ນີ້ແມ່ນໄດເລກະທໍລີທີ່ເຊື່ອງໄວ້. ຫຼັງຈາກການຕິດຕັ້ງສໍາເລັດ, ທ່ານສາມາດເຮັດໄດ້ view ເນື້ອໃນສະເພາະຂອງໄດເລກະທໍລີນີ້ໂດຍການເປີດ file ຜູ້ຈັດການແລະສະແດງລາຍການທີ່ເຊື່ອງໄວ້.
ຮູບທີ 4.7. ເລືອກໄດເລກະທໍລີການຕິດຕັ້ງ ESP-IDF 42 ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT

(5) ກວດເບິ່ງອົງປະກອບທີ່ຕ້ອງການຕິດຕັ້ງ, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 4.8. ມັນແນະນໍາໃຫ້ໃຊ້ທາງເລືອກເລີ່ມຕົ້ນ, ນັ້ນແມ່ນ, ການຕິດຕັ້ງສໍາເລັດ, ແລະຫຼັງຈາກນັ້ນໃຫ້ຄລິກໃສ່ "ຕໍ່ໄປ".
ຮູບທີ 4.8. ເລືອກ​ອົງ​ປະ​ກອບ​ທີ່​ຈະ​ຕິດ​ຕັ້ງ (6​) ຢືນ​ຢັນ​ອົງ​ປະ​ກອບ​ທີ່​ຈະ​ຕິດ​ຕັ້ງ​ແລະ​ໃຫ້​ຄລິກ​ໃສ່ "ຕິດ​ຕັ້ງ​" ເພື່ອ​ເລີ່ມ​ຕົ້ນ​ການ​ອັດ​ຕະ​ໂນ​ມັດ in-
ຂະບວນການ stallation, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 4.9. ຂະບວນການຕິດຕັ້ງອາດຈະໃຊ້ເວລາຫຼາຍສິບນາທີແລະແຖບຄວາມຄືບຫນ້າຂອງຂະບວນການຕິດຕັ້ງແມ່ນສະແດງຢູ່ໃນຮູບ 4.10. ກະລຸນາລໍຖ້າດ້ວຍຄວາມອົດທົນ.
ຮູບທີ 4.9. ການກະກຽມການຕິດຕັ້ງ (7) ຫຼັງຈາກການຕິດຕັ້ງສໍາເລັດ, ມັນແນະນໍາໃຫ້ກວດເບິ່ງ "ລົງທະບຽນ ESP-IDF.
ເຄື່ອງ​ມື​ທີ່​ສາ​ມາດ​ປະ​ຕິ​ບັດ​ເປັນ Windows Defender exclusions…” ເພື່ອ​ປ້ອງ​ກັນ​ບໍ່​ໃຫ້​ຊອບ​ແວ antivirus ຈາກ​ການ​ລຶບ fileດ. ການເພີ່ມລາຍການຍົກເວັ້ນຍັງສາມາດຂ້າມການສະແກນເລື້ອຍໆໂດຍ antivirus
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 43

ຮູບທີ 4.10. ຊອບແວແຖບຄວາມຄືບໜ້າການຕິດຕັ້ງ, ປັບປຸງປະສິດທິພາບການລວບລວມລະຫັດຂອງລະບົບ Windows ຢ່າງຫຼວງຫຼາຍ. ໃຫ້ຄລິກໃສ່ "ສໍາເລັດຮູບ" ເພື່ອສໍາເລັດການຕິດຕັ້ງສະພາບແວດລ້ອມການພັດທະນາ, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 4.11. ທ່ານ​ສາ​ມາດ​ເລືອກ​ທີ່​ຈະ​ກວດ​ສອບ "ແລ່ນ​ສະ​ພາບ​ແວດ​ລ້ອມ ESP-IDF PowerShell​" ຫຼື "ແລ່ນ ESP-IDF command prompt​"​. ດໍາເນີນການປ່ອງຢ້ຽມການລວບລວມຂໍ້ມູນໂດຍກົງຫຼັງຈາກການຕິດຕັ້ງເພື່ອຮັບປະກັນວ່າສະພາບແວດລ້ອມການພັດທະນາເຮັດວຽກຕາມປົກກະຕິ.
ຮູບທີ 4.11. ການ​ຕິດ​ຕັ້ງ​ສໍາ​ເລັດ (8​) ເປີດ​ສະ​ພາບ​ແວດ​ລ້ອມ​ການ​ພັດ​ທະ​ນາ​ທີ່​ຕິດ​ຕັ້ງ​ຢູ່​ໃນ​ລາຍ​ການ​ໂຄງ​ການ (ທັງ ESP-IDF 4.3​
CMD ຫຼື ESP-IDF 4.3 terminal PowerShell, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 4.12), ແລະຕົວແປສະພາບແວດລ້ອມ ESP-IDF ຈະຖືກເພີ່ມໂດຍອັດຕະໂນມັດເມື່ອແລ່ນຢູ່ໃນເຄື່ອງໃຊ້ໄຟຟ້າ. ຫຼັງຈາກນັ້ນ, ທ່ານສາມາດນໍາໃຊ້ຄໍາສັ່ງ idf.py ສໍາລັບການດໍາເນີນງານ. ESP-IDF 4.3 CMD ທີ່ເປີດແມ່ນສະແດງຢູ່ໃນຮູບ 4.13. 44 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ຮູບທີ 4.12. ສະພາບແວດລ້ອມການພັດທະນາຕິດຕັ້ງ
ຮູບທີ 4.13. ESP-IDF 4.3 CMD
4.2.3 ການຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ໃນ Mac
ຂະບວນການຕິດຕັ້ງສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ໃນລະບົບ Mac ແມ່ນຄືກັນກັບໃນລະບົບ Linux. ຄໍາສັ່ງສໍາລັບການດາວໂຫຼດລະຫັດ repository ແລະການຕິດຕັ້ງລະບົບຕ່ອງໂສ້ເຄື່ອງມືແມ່ນຄືກັນແທ້. ພຽງແຕ່ຄໍາສັ່ງສໍາລັບການຕິດຕັ້ງແພັກເກັດການເພິ່ງພາອາໄສແມ່ນແຕກຕ່າງກັນເລັກນ້ອຍ. 1. ຕິດຕັ້ງແພັກເກັດການເພິ່ງພາອາໄສ ເປີດ terminal, ແລະຕິດຕັ້ງ pip, ເຄື່ອງມືການຈັດການແພັກເກັດ Python, ໂດຍການແລ່ນຄໍາສັ່ງຕໍ່ໄປນີ້:
% sudo ຕິດຕັ້ງ pip ງ່າຍ
ຕິດຕັ້ງ Homebrew, ເຄື່ອງມືການຈັດການຊຸດສໍາລັບ macOS, ໂດຍການແລ່ນຄໍາສັ່ງຕໍ່ໄປນີ້:
% /bin/bash -c “$(ຄurl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)”
ຕິດຕັ້ງແພັກເກັດການເພິ່ງພາອາໄສທີ່ຕ້ອງການໂດຍການແລ່ນຄໍາສັ່ງຕໍ່ໄປນີ້:
% brew python3 ຕິດຕັ້ງ cmake ninja ccache dfu-util
2. ດາວໂຫລດລະຫັດບ່ອນເກັບຂໍ້ມູນ ESP-IDF ປະຕິບັດຕາມຄໍາແນະນໍາທີ່ລະບຸໄວ້ໃນພາກ 4.2.1 ເພື່ອດາວໂຫລດລະຫັດບ່ອນເກັບຂໍ້ມູນ ESP-IDF. ຂັ້ນຕອນແມ່ນຄືກັນກັບການດາວໂຫຼດຢູ່ໃນລະບົບ Linux.
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 45

3. ຕິດຕັ້ງລະບົບຕ່ອງໂສ້ເຄື່ອງມືພັດທະນາ ESP-IDF
ປະຕິບັດຕາມຄໍາແນະນໍາທີ່ລະບຸໄວ້ໃນພາກ 4.2.1 ເພື່ອຕິດຕັ້ງລະບົບຕ່ອງໂສ້ເຄື່ອງມືພັດທະນາ ESP-IDF. ຂັ້ນຕອນແມ່ນຄືກັນກັບການຕິດຕັ້ງໃນລະບົບ Linux.
4.2.4 ການຕິດຕັ້ງ VS Code
ໂດຍຄ່າເລີ່ມຕົ້ນ, ESP-IDF SDK ບໍ່ປະກອບມີເຄື່ອງມືແກ້ໄຂລະຫັດ (ເຖິງແມ່ນວ່າຕົວຕິດຕັ້ງ ESP-IDF ຫຼ້າສຸດສໍາລັບ Windows ສະເຫນີທາງເລືອກໃນການຕິດຕັ້ງ ESP-IDF Eclipse). ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້​ເຄື່ອງ​ມື​ການ​ແກ້​ໄຂ​ຂໍ້​ຄວາມ​ໃດ​ຫນຶ່ງ​ທີ່​ທ່ານ​ເລືອກ​ເພື່ອ​ແກ້​ໄຂ​ລະ​ຫັດ​ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ສັງ​ລວມ​ມັນ​ໂດຍ​ໃຊ້​ຄໍາ​ສັ່ງ terminal​.
ເຄື່ອງມືແກ້ໄຂລະຫັດທີ່ນິຍົມອັນໜຶ່ງແມ່ນ VS Code (Visual Studio Code), ເຊິ່ງເປັນຕົວແກ້ໄຂລະຫັດທີ່ບໍ່ເສຍຄ່າ ແລະ ມີຄຸນສົມບັດທີ່ມີການໂຕ້ຕອບຜູ້ເປັນມິດ. ມັນສະຫນອງຕ່າງໆ plugins ທີ່ສະຫນອງການທໍາງານຕ່າງໆເຊັ່ນການນໍາທາງລະຫັດ, ການເນັ້ນໄວຍະກອນ, ການຄວບຄຸມສະບັບ Git, ແລະການເຊື່ອມໂຍງກັບ terminal. ນອກຈາກນັ້ນ, Espressif ຍັງໄດ້ພັດທະນາ plugin ທີ່ອຸທິດຕົນທີ່ເອີ້ນວ່າ Espressif IDF ສໍາລັບ VS Code, ເຊິ່ງເຮັດໃຫ້ການຕັ້ງຄ່າໂຄງການງ່າຍດາຍແລະການດີບັກ.
ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້​ຄໍາ​ສັ່ງ​ລະ​ຫັດ​ໃນ terminal ເພື່ອ​ເປີດ​ໂຟນ​ເດີ​ປັດ​ຈຸ​ບັນ​ຢ່າງ​ວ່ອງ​ໄວ​ໃນ VS Code​. ອີກທາງເລືອກ, ທ່ານສາມາດໃຊ້ທາງລັດ Ctrl+ ເພື່ອເປີດ terminal console ເລີ່ມຕົ້ນຂອງລະບົບພາຍໃນ VS Code.
TIPS ແນະນໍາໃຫ້ໃຊ້ລະຫັດ VS ສໍາລັບການພັດທະນາລະຫັດ ESP32-C3. ດາວ​ນ​໌​ໂຫລດ​ແລະ​ຕິດ​ຕັ້ງ​ສະ​ບັບ​ຫລ້າ​ສຸດ​ຂອງ VS ລະ​ຫັດ​ທີ່ https://code.visualstudio.com/​.
4.2.5 ການແນະນຳສະພາບແວດລ້ອມການພັດທະນາຂອງພາກສ່ວນທີສາມ
ນອກເຫນືອໄປຈາກສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ຢ່າງເປັນທາງການ, ເຊິ່ງໃຊ້ພາສາ C ຕົ້ນຕໍ, ESP32-C3 ຍັງສະຫນັບສະຫນູນພາສາການຂຽນໂປລແກລມຕົ້ນຕໍອື່ນໆແລະສະພາບແວດລ້ອມການພັດທະນາຂອງພາກສ່ວນທີສາມທີ່ຫລາກຫລາຍ. ບາງທາງເລືອກທີ່ໂດດເດັ່ນລວມມີ:
Arduino: ເປັນແພລດຟອມ open-source ສໍາລັບທັງຮາດແວ ແລະຊອບແວ, ຮອງຮັບ microcontrollers ຕ່າງໆ, ລວມທັງ ESP32-C3.
ມັນໃຊ້ພາສາ C ++ ແລະສະຫນອງ API ທີ່ງ່າຍດາຍແລະມາດຕະຖານ, ໂດຍທົ່ວໄປເອີ້ນວ່າພາສາ Arduino. Arduino ຖືກນໍາໃຊ້ຢ່າງກວ້າງຂວາງໃນການພັດທະນາຕົ້ນແບບແລະສະພາບການດ້ານການສຶກສາ. ມັນສະຫນອງຊຸດຊອບແວທີ່ສາມາດຂະຫຍາຍໄດ້ແລະ IDE ທີ່ອະນຸຍາດໃຫ້ລວບລວມແລະກະພິບໄດ້ງ່າຍ.
MicroPython: ນາຍພາສາ Python 3 ທີ່ອອກແບບມາເພື່ອແລ່ນໃນແພລດຟອມ microcontroller ທີ່ຝັງໄວ້.
ດ້ວຍພາສາສະຄຣິບທີ່ງ່າຍດາຍ, ມັນສາມາດເຂົ້າເຖິງຊັບພະຍາກອນຕໍ່ຂ້າງຂອງ ESP32-C3 ໂດຍກົງ (ເຊັ່ນ: UART, SPI, ແລະ I2C) ແລະຟັງຊັນການສື່ສານ (ເຊັ່ນ: Wi-Fi ແລະ Bluetooth LE).
46 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ນີ້ເຮັດໃຫ້ການໂຕ້ຕອບຂອງຮາດແວງ່າຍຂຶ້ນ. MicroPython, ສົມທົບກັບຫ້ອງສະຫມຸດການດໍາເນີນງານທາງຄະນິດສາດທີ່ກວ້າງຂວາງຂອງ Python, ຊ່ວຍໃຫ້ການປະຕິບັດລະບົບສູດການຄິດໄລ່ທີ່ສັບສົນໃນ ESP32-C3, ອໍານວຍຄວາມສະດວກໃນການພັດທະນາຄໍາຮ້ອງສະຫມັກທີ່ກ່ຽວຂ້ອງກັບ AI. ໃນຖານະເປັນພາສາ script, ບໍ່ຈໍາເປັນຕ້ອງມີການລວບລວມຊ້ໍາ; ການດັດແກ້ສາມາດເຮັດໄດ້ແລະ scripts ສາມາດດໍາເນີນການໂດຍກົງ.
NodeMCU: ນາຍພາສາ LUA ພັດທະນາສໍາລັບຊິບຊຸດ ESP.
ມັນສະຫນັບສະຫນູນເກືອບທຸກຫນ້າທີ່ຂອງອຸປະກອນເສີມຂອງຊິບ ESP ແລະເບົາກວ່າ MicroPython. ຄ້າຍຄືກັນກັບ MicroPython, NodeMCU ໃຊ້ພາສາສະຄິບ, ລົບລ້າງຄວາມຕ້ອງການສໍາລັບການລວບລວມຊ້ໍາ.
ນອກຈາກນັ້ນ, ESP32-C3 ຍັງສະຫນັບສະຫນູນລະບົບປະຕິບັດການ NuttX ແລະ Zephyr. NuttX ເປັນລະບົບປະຕິບັດການແບບສົດໆທີ່ໃຫ້ການໂຕ້ຕອບ POSIX ທີ່ເຂົ້າກັນໄດ້, ປັບປຸງຄວາມສາມາດຂອງແອັບພລິເຄຊັນ. Zephyr ແມ່ນລະບົບປະຕິບັດການທີ່ໃຊ້ເວລາທີ່ແທ້ຈິງຂະຫນາດນ້ອຍທີ່ຖືກອອກແບບມາໂດຍສະເພາະສໍາລັບຄໍາຮ້ອງສະຫມັກ IoT. ມັນປະກອບມີຫ້ອງສະຫມຸດຊອບແວຈໍານວນຫລາຍທີ່ຕ້ອງການໃນການພັດທະນາ IoT, ຄ່ອຍໆພັດທະນາໄປສູ່ລະບົບນິເວດຊອບແວທີ່ສົມບູນແບບ.
ປຶ້ມຫົວນີ້ບໍ່ໄດ້ໃຫ້ຄໍາແນະນໍາການຕິດຕັ້ງຢ່າງລະອຽດສໍາລັບສະພາບແວດລ້ອມການພັດທະນາທີ່ໄດ້ກ່າວມາ. ທ່ານສາມາດຕິດຕັ້ງສະພາບແວດລ້ອມການພັດທະນາໂດຍອີງໃສ່ຄວາມຕ້ອງການຂອງທ່ານໂດຍການປະຕິບັດຕາມເອກະສານແລະຄໍາແນະນໍາທີ່ກ່ຽວຂ້ອງ.
4.3 ລະບົບການລວບລວມ ESP-IDF
4.3.1 ແນວຄວາມຄິດພື້ນຖານຂອງລະບົບການລວບລວມ
ໂຄງ​ການ ESP-IDF ເປັນ​ການ​ເກັບ​ກໍາ​ຂໍ້​ມູນ​ຂອງ​ໂຄງ​ການ​ຕົ້ນ​ຕໍ​ທີ່​ມີ​ຫນ້າ​ທີ່​ເຂົ້າ​ແລະ​ອົງ​ປະ​ກອບ​ທີ່​ເປັນ​ເອ​ກະ​ລາດ​ຫຼາຍ​. ຕົວຢ່າງample, ໂຄງການທີ່ຄວບຄຸມສະຫຼັບ LED ສ່ວນໃຫຍ່ແມ່ນປະກອບດ້ວຍໂຄງການເຂົ້າຕົ້ນຕໍແລະອົງປະກອບຂອງໄດເວີທີ່ຄວບຄຸມ GPIO. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ​ຮັບ​ຮູ້​ການ​ຄວບ​ຄຸມ LED ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​, ທ່ານ​ຍັງ​ຈໍາ​ເປັນ​ຕ້ອງ​ໄດ້​ເພີ່ມ Wi​-Fi​, TCP / IP protocol stack​, ແລະ​ອື່ນໆ​.
ລະບົບການລວບລວມສາມາດລວບລວມ, ເຊື່ອມຕໍ່, ແລະສ້າງການປະຕິບັດ files (.bin) ສໍາລັບລະຫັດໂດຍຜ່ານຊຸດຂອງກົດລະບຽບການກໍ່ສ້າງ. ລະບົບການລວບລວມຂໍ້ມູນຂອງ ESP-IDF v4.0 ແລະຂ້າງເທິງແມ່ນອີງໃສ່ CMake ໂດຍຄ່າເລີ່ມຕົ້ນ, ແລະສະຄິບການລວບລວມ CMakeLists.txt ສາມາດຖືກນໍາໃຊ້ເພື່ອຄວບຄຸມພຶດຕິກໍາການລວບລວມລະຫັດ. ນອກເຫນືອຈາກການສະຫນັບສະຫນູນ syntax ພື້ນຖານຂອງ CMake, ລະບົບການລວບລວມ ESP-IDF ຍັງກໍານົດຊຸດຂອງກົດລະບຽບການລວບລວມໃນຕອນຕົ້ນແລະຫນ້າທີ່ CMake, ແລະທ່ານສາມາດຂຽນສະຄິບການລວບລວມດ້ວຍຄໍາຖະແຫຼງທີ່ງ່າຍດາຍ.
4.3.2 ໂຄງການ File ໂຄງສ້າງ
ໂຄງ​ການ​ແມ່ນ​ໂຟນ​ເດີ​ທີ່​ປະ​ກອບ​ດ້ວຍ​ໂຄງ​ການ​ເຂົ້າ​ທີ່​ຕົ້ນ​ຕໍ​, ອົງ​ປະ​ກອບ​ທີ່​ຜູ້​ໃຊ້​ກໍາ​ນົດ​, ແລະ​ files ຕ້ອງການເພື່ອສ້າງຄໍາຮ້ອງສະຫມັກທີ່ສາມາດປະຕິບັດໄດ້, ເຊັ່ນ: scripts ການລວບລວມ, ການຕັ້ງຄ່າ
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 47

files, ຕາຕະລາງການແບ່ງສ່ວນ, ແລະອື່ນໆ. ໂຄງການສາມາດຖືກຄັດລອກແລະສົ່ງຕໍ່, ແລະສາມາດປະຕິບັດໄດ້ຄືກັນ. file ສາມາດລວບລວມແລະຜະລິດຢູ່ໃນເຄື່ອງຈັກທີ່ມີສະພາບແວດລ້ອມການພັດທະນາ ESP-IDF ລຸ້ນດຽວກັນ. ໂຄງການ ESP-IDF ປົກກະຕິ file ໂຄງສ້າງແມ່ນສະແດງຢູ່ໃນຮູບ 4.14.
ຮູບທີ 4.14. ໂຄງການ ESP-IDF ປົກກະຕິ file ໂຄງສ້າງ ເນື່ອງຈາກ ESP-IDF ຮອງຮັບຊິບ IoT ຫຼາຍອັນຈາກ Espressif, ລວມທັງ ESP32, ESP32-S series, ESP32-C series, ESP32-H series, ແລະອື່ນໆ, ເປົ້າໝາຍຕ້ອງຖືກກໍານົດກ່ອນທີ່ຈະລວບລວມລະຫັດ. ເປົ້າຫມາຍແມ່ນທັງອຸປະກອນຮາດແວທີ່ດໍາເນີນໂຄງການຄໍາຮ້ອງສະຫມັກແລະເປົ້າຫມາຍການກໍ່ສ້າງຂອງລະບົບການລວບລວມ. ອີງຕາມຄວາມຕ້ອງການຂອງທ່ານ, ທ່ານສາມາດກໍານົດຫນຶ່ງຫຼືຫຼາຍເປົ້າຫມາຍສໍາລັບໂຄງການຂອງທ່ານ. ຕົວຢ່າງample, ຜ່ານຄໍາສັ່ງ idf.py set-target esp32c3, ທ່ານສາມາດກໍານົດເປົ້າຫມາຍການລວບລວມເປັນ ESP32-C3, ໃນລະຫວ່າງນັ້ນພາລາມິເຕີເລີ່ມຕົ້ນແລະເສັ້ນທາງລະບົບຕ່ອງໂສ້ເຄື່ອງມືການລວບລວມສໍາລັບ ESP32C3 ຈະຖືກໂຫລດ. ຫຼັງຈາກການລວບລວມ, ໂຄງການທີ່ສາມາດປະຕິບັດໄດ້ສາມາດຖືກສ້າງຂື້ນສໍາລັບ ESP32C3. ນອກນັ້ນທ່ານຍັງສາມາດດໍາເນີນການຄໍາສັ່ງທີ່ກໍານົດໄວ້ເປົ້າຫມາຍອີກເທື່ອຫນຶ່ງເພື່ອກໍານົດເປົ້າຫມາຍທີ່ແຕກຕ່າງກັນ, ແລະລະບົບການລວບລວມຈະທໍາຄວາມສະອາດອັດຕະໂນມັດແລະ configure. ອົງປະກອບ
ອົງ​ປະ​ກອບ​ໃນ ESP-IDF ແມ່ນ​ຫົວ​ຫນ່ວຍ​ລະ​ຫັດ modular ແລະ​ເປັນ​ເອ​ກະ​ລາດ​ຈັດ​ການ​ຢູ່​ໃນ​ລະ​ບົບ​ການ​ສັງ​ລວມ​. ພວກມັນຖືກຈັດເປັນໂຟນເດີ, ໂດຍມີຊື່ໂຟນເດີເປັນຕົວແທນຂອງຊື່ອົງປະກອບຕາມຄ່າເລີ່ມຕົ້ນ. ແຕ່ລະອົງປະກອບມີສະຄິບການລວບລວມຂອງຕົນເອງວ່າ 48 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

ກໍານົດຕົວກໍານົດການລວບລວມແລະຄວາມເພິ່ງພາອາໄສຂອງມັນ. ໃນ​ລະ​ຫວ່າງ​ການ​ຂະ​ບວນ​ການ​ການ​ລວບ​ລວມ​, ອົງ​ປະ​ກອບ​ໄດ້​ຖືກ​ສັງ​ລວມ​ເຂົ້າ​ໄປ​ໃນ​ຫ້ອງ​ສະ​ຫມຸດ static ແຍກ​ຕ່າງ​ຫາກ (.a files) ແລະໃນທີ່ສຸດສົມທົບກັບອົງປະກອບອື່ນໆເພື່ອປະກອບໂຄງການຄໍາຮ້ອງສະຫມັກ.
ESP-IDF ສະຫນອງຫນ້າທີ່ທີ່ສໍາຄັນ, ເຊັ່ນ: ລະບົບປະຕິບັດການ, ໄດເວີອຸປະກອນຂ້າງຄຽງ, ແລະ stack protocol ເຄືອຂ່າຍ, ໃນຮູບແບບຂອງອົງປະກອບ. ອົງປະກອບເຫຼົ່ານີ້ຖືກເກັບໄວ້ໃນໄດເລກະທໍລີອົງປະກອບທີ່ຕັ້ງຢູ່ໃນໄດເລກະທໍລີຮາກ ESP-IDF. ນັກພັດທະນາບໍ່ຈໍາເປັນຕ້ອງຄັດລອກອົງປະກອບເຫຼົ່ານີ້ໃສ່ໄດເລກະທໍລີອົງປະກອບຂອງ myProject. ແທນທີ່ຈະ, ພວກເຂົາພຽງແຕ່ຕ້ອງການລະບຸຄວາມສໍາພັນການເພິ່ງພາອາໄສຂອງອົງປະກອບເຫຼົ່ານີ້ຢູ່ໃນ CMakeLists.txt ຂອງໂຄງການ. file ໂດຍໃຊ້ຄໍາສັ່ງ REQUIRES ຫຼື PRIV_REQUIRES. ລະບົບການລວບລວມຂໍ້ມູນອັດຕະໂນມັດຈະຊອກຫາແລະລວບລວມອົງປະກອບທີ່ຕ້ອງການ.
ດັ່ງນັ້ນ, ໄດເລກະທໍລີອົງປະກອບພາຍໃຕ້ myProject ແມ່ນບໍ່ຈໍາເປັນ. ມັນຖືກນໍາໃຊ້ພຽງແຕ່ເພື່ອປະກອບມີບາງອົງປະກອບທີ່ກໍາຫນົດເອງຂອງໂຄງການ, ເຊິ່ງສາມາດເປັນຫ້ອງສະຫມຸດພາກສ່ວນທີສາມຫຼືລະຫັດທີ່ຜູ້ໃຊ້ກໍານົດ. ນອກຈາກນັ້ນ, ອົງປະກອບສາມາດມາຈາກໄດເລກະທໍລີໃດໆນອກເຫນືອຈາກ ESP-IDF ຫຼືໂຄງການປະຈຸບັນ, ເຊັ່ນຈາກໂຄງການ open-source ທີ່ບັນທຶກໄວ້ໃນໄດເລກະທໍລີອື່ນ. ໃນກໍລະນີນີ້, ທ່ານພຽງແຕ່ຕ້ອງການເພີ່ມເສັ້ນທາງຂອງອົງປະກອບໂດຍການຕັ້ງຄ່າຕົວແປ EXTRA_COMPONENT_DIRS ໃນ CMakeLists.txt ພາຍໃຕ້ໄດເລກະທໍລີຮາກ. ໄດເລກະທໍລີນີ້ຈະທັບຊ້ອນອົງປະກອບ ESP-IDF ທີ່ມີຊື່ດຽວກັນ, ໃຫ້ແນ່ໃຈວ່າອົງປະກອບທີ່ຖືກຕ້ອງຖືກນໍາໃຊ້.
ໂປລແກລມເຂົ້າຕົ້ນຕໍ ໄດເລກະທໍລີຫຼັກພາຍໃນໂຄງການປະຕິບັດຕາມອັນດຽວກັນ file ໂຄງປະກອບການເປັນອົງປະກອບອື່ນໆ (ຕົວຢ່າງ, ອົງປະກອບ 1). ຢ່າງໃດກໍ່ຕາມ, ມັນມີຄວາມສໍາຄັນພິເສດຍ້ອນວ່າມັນເປັນອົງປະກອບບັງຄັບທີ່ຕ້ອງມີຢູ່ໃນທຸກໆໂຄງການ. ໄດເລກະທໍລີຫຼັກປະກອບດ້ວຍລະຫັດແຫຼ່ງຂອງໂຄງການແລະຈຸດເຂົ້າຂອງໂຄງການຜູ້ໃຊ້, ໂດຍປົກກະຕິແລ້ວມີຊື່ app_main. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການປະຕິບັດໂຄງການຜູ້ໃຊ້ເລີ່ມຕົ້ນຈາກຈຸດເຂົ້ານີ້. ອົງປະກອບຕົ້ນຕໍຍັງແຕກຕ່າງກັນໃນທີ່ມັນອັດຕະໂນມັດຂຶ້ນກັບອົງປະກອບທັງຫມົດພາຍໃນເສັ້ນທາງຄົ້ນຫາ. ດັ່ງນັ້ນ, ບໍ່ຈໍາເປັນຕ້ອງຊີ້ບອກຄວາມເພິ່ງພາອາໄສຢ່າງຊັດເຈນໂດຍໃຊ້ຄໍາສັ່ງ REQUIRES ຫຼື PRIV_REQUIRES ໃນ CMakeLists.txt file.
ການຕັ້ງຄ່າ file ໄດເລກະທໍລີຮາກຂອງໂຄງການມີການຕັ້ງຄ່າ file ເອີ້ນວ່າ sdkconfig, ເຊິ່ງປະກອບດ້ວຍຕົວກໍານົດການກໍານົດສໍາລັບອົງປະກອບທັງຫມົດພາຍໃນໂຄງການ. sdkconfig file ຖືກສ້າງຂື້ນໂດຍອັດຕະໂນມັດໂດຍລະບົບການລວບລວມແລະສາມາດດັດແປງແລະສ້າງໃຫມ່ໂດຍຄໍາສັ່ງ idf.py menuconfig. ຕົວເລືອກ menuconfig ສ່ວນໃຫຍ່ແມ່ນມາຈາກ Kconfig.projbuild ຂອງໂຄງການ ແລະ Kconfig ຂອງອົງປະກອບ. ຜູ້ພັດທະນາອົງປະກອບໂດຍທົ່ວໄປແລ້ວຈະເພີ່ມລາຍການການຕັ້ງຄ່າໃນ Kconfig ເພື່ອເຮັດໃຫ້ອົງປະກອບມີຄວາມຍືດຫຍຸ່ນ ແລະສາມາດຕັ້ງຄ່າໄດ້.
Build directory ໂດຍຄ່າເລີ່ມຕົ້ນ, build directory ພາຍໃນໂຄງການຈະເກັບຮັກສາລະດັບປານກາງ files ແລະ fi-
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 49

nal ປະຕິບັດໂຄງການທີ່ສ້າງຂຶ້ນໂດຍຄໍາສັ່ງສ້າງ idf.py. ໂດຍທົ່ວໄປ, ມັນບໍ່ຈໍາເປັນຕ້ອງເຂົ້າເຖິງເນື້ອຫາຂອງໄດເລກະທໍລີສ້າງໂດຍກົງ. ESP-IDF ສະໜອງຄຳສັ່ງທີ່ກຳນົດໄວ້ລ່ວງໜ້າເພື່ອໂຕ້ຕອບກັບໄດເຣັກທໍຣີ ເຊັ່ນ: ການໃຊ້ຄຳສັ່ງ flash idf.py ເພື່ອຊອກຫາຖານສອງທີ່ລວບລວມໄວ້ໂດຍອັດຕະໂນມັດ. file ແລະກະພິບມັນໄປທີ່ທີ່ຢູ່ flash ທີ່ລະບຸ, ຫຼືໃຊ້ຄໍາສັ່ງ idf.py fullclean ເພື່ອເຮັດຄວາມສະອາດໄດເລກະທໍລີສ້າງທັງຫມົດ.
ຕາຕະລາງການແບ່ງສ່ວນ (partitions.csv) ແຕ່ລະໂຄງການຕ້ອງການຕາຕະລາງພາທິຊັນເພື່ອແບ່ງພື້ນທີ່ຂອງແຟດແລະລະບຸຂະຫນາດແລະທີ່ຢູ່ເລີ່ມຕົ້ນຂອງໂຄງການປະຕິບັດແລະພື້ນທີ່ຂໍ້ມູນຜູ້ໃຊ້. ຄໍາ​ສັ່ງ idf.py flash ຫຼື​ໂຄງ​ການ​ຍົກ​ລະ​ດັບ OTA ຈະ flash firmware ກັບ​ທີ່​ຢູ່​ທີ່​ສອດ​ຄ້ອງ​ກັນ​ອີງ​ຕາມ​ຕາ​ຕະ​ລາງ​ນີ້​. ESP-IDF ສະໜອງຕາຕະລາງພາທິຊັນເລີ່ມຕົ້ນຫຼາຍອັນໃນອົງປະກອບ/ຕາຕະລາງການແບ່ງສ່ວນ, ເຊັ່ນ: partitions_singleapp.csv ແລະ partitions_two_ ota.csv, ເຊິ່ງສາມາດເລືອກໄດ້ໃນ menuconfig.
ຖ້າຕາຕະລາງການແບ່ງພາຕິຊັນເລີ່ມຕົ້ນຂອງລະບົບບໍ່ສາມາດຕອບສະຫນອງຄວາມຕ້ອງການຂອງໂຄງການ, partitions.csv ແບບກໍານົດເອງສາມາດຖືກເພີ່ມໃສ່ໄດເລກະທໍລີໂຄງການແລະຖືກເລືອກໃນ menuconfig.
4.3.3 ກົດລະບຽບການສ້າງມາດຕະຖານຂອງລະບົບການລວບລວມ
ກົດລະບຽບສໍາລັບການ overriding ອົງປະກອບທີ່ມີຊື່ດຽວກັນໃນລະຫວ່າງຂະບວນການຄົ້ນຫາອົງປະກອບ, ລະບົບການລວບລວມປະຕິບັດຕາມຄໍາສັ່ງສະເພາະ. ມັນທໍາອິດຄົ້ນຫາອົງປະກອບພາຍໃນຂອງ ESP-IDF, ຫຼັງຈາກນັ້ນຊອກຫາອົງປະກອບຂອງໂຄງການຜູ້ໃຊ້, ແລະສຸດທ້າຍຊອກຫາອົງປະກອບໃນ EXTRA_COMPONENT_DIRS. ໃນກໍລະນີທີ່ຫຼາຍໄດເລກະທໍລີມີອົງປະກອບທີ່ມີຊື່ດຽວກັນ, ອົງປະກອບທີ່ພົບໃນໄດເລກະທໍລີສຸດທ້າຍຈະ override ອົງປະກອບທີ່ຜ່ານມາທີ່ມີຊື່ດຽວກັນ. ກົດລະບຽບນີ້ອະນຸຍາດໃຫ້ປັບແຕ່ງອົງປະກອບ ESP-IDF ພາຍໃນໂຄງການຜູ້ໃຊ້, ໃນຂະນະທີ່ຮັກສາລະຫັດ ESP-IDF ເດີມ.
ກົດລະບຽບສໍາລັບການລວມເອົາອົງປະກອບທົ່ວໄປໂດຍຄ່າເລີ່ມຕົ້ນ ດັ່ງທີ່ໄດ້ກ່າວໄວ້ໃນພາກ 4.3.2, ອົງປະກອບຈໍາເປັນຕ້ອງໄດ້ກໍານົດຢ່າງຈະແຈ້ງກ່ຽວກັບການຂຶ້ນກັບອົງປະກອບອື່ນໆໃນ CMakeLists.txt. ຢ່າງໃດກໍ່ຕາມ, ອົງປະກອບທົ່ວໄປເຊັ່ນ freertos ຈະຖືກລວມເຂົ້າໂດຍອັດຕະໂນມັດໃນລະບົບການກໍ່ສ້າງໂດຍຄ່າເລີ່ມຕົ້ນ, ເຖິງແມ່ນວ່າການພົວພັນການເພິ່ງພາອາໄສຂອງພວກເຂົາບໍ່ໄດ້ຖືກກໍານົດຢ່າງຊັດເຈນໃນສະຄິບລວບລວມ. ອົງປະກອບທົ່ວໄປຂອງ ESP-IDF ລວມມີ freertos, Newlib, heap, log, soc, esp_rom, esp_common, xtensa/riscv, ແລະ cxx. ການນໍາໃຊ້ອົງປະກອບທົ່ວໄປເຫຼົ່ານີ້ຫລີກລ້ຽງການເຮັດວຽກທີ່ຊ້ໍາກັນໃນເວລາທີ່ຂຽນ CMakeLists.txt ແລະເຮັດໃຫ້ມັນຊັດເຈນຫຼາຍຂຶ້ນ.
ກົດລະບຽບການ overriding ລາຍການການຕັ້ງຄ່າ ນັກພັດທະນາສາມາດເພີ່ມພາລາມິເຕີການຕັ້ງຄ່າເລີ່ມຕົ້ນໂດຍການເພີ່ມການຕັ້ງຄ່າເລີ່ມຕົ້ນ. file ຊື່ sdkconfig.defaults ກັບໂຄງການ. ຕົວຢ່າງample, ເພີ່ມ CONFIG_LOG_
50 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

DEFAULT_LEVEL_NONE = y ສາມາດກຳນົດຄ່າສ່ວນຕິດຕໍ່ UART ເພື່ອບໍ່ໃຫ້ພິມຂໍ້ມູນບັນທຶກຕາມຄ່າເລີ່ມຕົ້ນ. ຍິ່ງໄປກວ່ານັ້ນ, ຖ້າຕົວກໍານົດການສະເພາະຕ້ອງໄດ້ຮັບການກໍານົດສໍາລັບເປົ້າຫມາຍສະເພາະໃດຫນຶ່ງ, ການຕັ້ງຄ່າ file ຊື່ວ່າ sdkconfig.defaults.TARGET_NAME ສາມາດຖືກເພີ່ມ, ບ່ອນທີ່ TARGET_NAME ສາມາດເປັນ esp32s2, esp32c3, ແລະອື່ນໆ. ການຕັ້ງຄ່າເຫຼົ່ານີ້ files ຖືກນໍາເຂົ້າເຂົ້າໄປໃນ sdkconfig ໃນລະຫວ່າງການລວບລວມ, ດ້ວຍການຕັ້ງຄ່າມາດຕະຖານທົ່ວໄປ. file sdkconfig.defaults ຖືກນໍາເຂົ້າກ່ອນ, ຕິດຕາມດ້ວຍການຕັ້ງຄ່າສະເພາະເປົ້າຫມາຍ. file, ເຊັ່ນ sdkconfig.defaults.esp32c3. ໃນກໍລະນີທີ່ມີລາຍການການຕັ້ງຄ່າທີ່ມີຊື່ດຽວກັນ, ການຕັ້ງຄ່າສຸດທ້າຍ file ຈະ override ອະດີດ.
4.3.4 ແນະນຳກ່ຽວກັບ Compilation Script
ເມື່ອພັດທະນາໂຄງການໂດຍໃຊ້ ESP-IDF, ນັກພັດທະນາບໍ່ພຽງແຕ່ຕ້ອງການຂຽນລະຫັດແຫຼ່ງເທົ່ານັ້ນແຕ່ຍັງຕ້ອງຂຽນ CMakeLists.txt ສໍາລັບໂຄງການແລະອົງປະກອບຕ່າງໆ. CMakeLists.txt ເປັນຂໍ້ຄວາມ file, ເຊິ່ງເອີ້ນກັນວ່າ script compilation, ເຊິ່ງກໍານົດຊຸດຂອງ compilation objects, compilation configuration items, ແລະຄໍາສັ່ງເພື່ອນໍາພາຂະບວນການລວບລວມຂອງ source code. ລະບົບການລວບລວມຂອງ ESP-IDF v4.3.2 ແມ່ນອີງໃສ່ CMake. ນອກເຫນືອຈາກການສະຫນັບສະຫນູນຟັງຊັນ CMake ພື້ນເມືອງແລະຄໍາສັ່ງ, ມັນຍັງກໍານົດຊຸດຂອງຫນ້າທີ່ກໍາຫນົດເອງ, ເຮັດໃຫ້ມັນງ່າຍຂຶ້ນຫຼາຍທີ່ຈະຂຽນສະຄິບລວບລວມ.
ສະຄຣິບການລວບລວມໃນ ESP-IDF ສ່ວນໃຫຍ່ແມ່ນປະກອບມີສະຄຣິບການລວບລວມໂຄງການ ແລະສະຄຣິບການລວບລວມອົງປະກອບ. CMakeLists.txt ໃນໄດເລກະທໍລີຮາກຂອງໂຄງການແມ່ນເອີ້ນວ່າສະຄິບການລວບລວມໂຄງການ, ເຊິ່ງນໍາພາຂະບວນການລວບລວມຂອງໂຄງການທັງຫມົດ. script ການລວບລວມໂຄງການພື້ນຖານໂດຍປົກກະຕິປະກອບມີສາມແຖວຕໍ່ໄປນີ້:
1. cmake_minimum_required(VERSION 3.5) 2. include($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. project(myProject)
ໃນບັນດາພວກເຂົາ, cmake_minimum_required (VERSION 3.5) ຈະຕ້ອງຖືກຈັດໃສ່ໃນແຖວທໍາອິດ, ເຊິ່ງຖືກນໍາໃຊ້ເພື່ອຊີ້ບອກຈໍານວນ CMake ຕ່ໍາສຸດທີ່ຕ້ອງການໂດຍໂຄງການ. ໂດຍທົ່ວໄປແລ້ວ CMake ລຸ້ນໃໝ່ແມ່ນເຂົ້າກັນໄດ້ກັບລຸ້ນເກົ່າ, ສະນັ້ນ ໃຫ້ປັບຕົວເລກຕາມຄວາມເໝາະສົມ ເມື່ອນຳໃຊ້ຄຳສັ່ງ CMake ໃໝ່ກວ່າເພື່ອຮັບປະກັນຄວາມເຂົ້າກັນໄດ້.
include($ENV {IDF_PATH}/tools/cmake/project.cmake) ນຳເຂົ້າລາຍການການຕັ້ງຄ່າທີ່ກຳນົດໄວ້ລ່ວງໜ້າ ແລະຄຳສັ່ງຂອງລະບົບການສັງລວມ ESP-IDF, ລວມທັງກົດລະບຽບການສ້າງເລີ່ມຕົ້ນຂອງລະບົບການລວບລວມທີ່ອະທິບາຍໄວ້ໃນພາກ 4.3.3. project(myProject) ສ້າງໂຄງການເອງ ແລະລະບຸຊື່ຂອງມັນ. ຊື່ນີ້ຈະຖືກໃຊ້ເປັນສອງຜົນສຸດທ້າຍ file ຊື່, ie, myProject.elf ແລະ myProject.bin.
ໂຄງການສາມາດມີຫຼາຍອົງປະກອບ, ລວມທັງອົງປະກອບຕົ້ນຕໍ. ໄດເລກະທໍລີລະດັບສູງສຸດຂອງແຕ່ລະອົງປະກອບປະກອບດ້ວຍ CMakeLists.txt file, ເຊິ່ງເອີ້ນວ່າ script compilation ອົງປະກອບ. script compilation ອົງປະກອບແມ່ນໃຊ້ຕົ້ນຕໍເພື່ອກໍານົດການຂຶ້ນກັບອົງປະກອບ, ພາລາມິເຕີການຕັ້ງຄ່າ, ລະຫັດແຫຼ່ງ. files, ແລະລວມເອົາສ່ວນຫົວ files ສໍາລັບ
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 51

ການລວບລວມ. ດ້ວຍຟັງຊັນແບບກຳນົດເອງຂອງ ESP-IDF idf_component_register, ລະຫັດຕ່ຳສຸດທີ່ຕ້ອງການສຳລັບສະຄຣິບການລວບລວມອົງປະກອບແມ່ນດັ່ງນີ້:

1. idf_component_register(SRCS “src1.c”

2.

INCLUDE_DIRS “ລວມ”

3.

ຕ້ອງ​ການ​ອົງ​ປະ​ກອບ 1​)

ພາລາມິເຕີ SRCS ສະຫນອງບັນຊີລາຍຊື່ຂອງແຫຼ່ງ files ໃນອົງປະກອບ, ແຍກອອກໂດຍຊ່ອງຫວ່າງຖ້າມີຫຼາຍ fileດ. ພາຣາມິເຕີ INCLUDE_DIRS ໃຫ້ລາຍຊື່ຂອງສ່ວນຫົວສາທາລະນະ file ໄດເລກະທໍລີສໍາລັບອົງປະກອບ, ເຊິ່ງຈະຖືກເພີ່ມເຂົ້າໃນເສັ້ນທາງການຄົ້ນຫາສໍາລັບອົງປະກອບອື່ນໆທີ່ຂຶ້ນກັບອົງປະກອບໃນປະຈຸບັນ. ພາຣາມິເຕີ REQUIRES ກໍານົດການຂຶ້ນກັບອົງປະກອບສາທາລະນະສໍາລັບອົງປະກອບປະຈຸບັນ. ມັນເປັນສິ່ງຈໍາເປັນສໍາລັບອົງປະກອບທີ່ຈະລະບຸຢ່າງຊັດເຈນວ່າອົງປະກອບໃດທີ່ເຂົາເຈົ້າຂຶ້ນກັບ, ເຊັ່ນ: component2 ຂຶ້ນກັບອົງປະກອບ1. ຢ່າງໃດກໍຕາມ, ສໍາລັບອົງປະກອບຕົ້ນຕໍ, ເຊິ່ງຂຶ້ນກັບອົງປະກອບທັງຫມົດໂດຍຄ່າເລີ່ມຕົ້ນ, ພາລາມິເຕີ REQUIRES ສາມາດຖືກຍົກເລີກ.

ນອກຈາກນັ້ນ, ຄໍາສັ່ງ CMake ພື້ນເມືອງຍັງສາມາດຖືກນໍາໃຊ້ໃນສະຄິບການລວບລວມ. ຕົວຢ່າງample, ໃຊ້ຄໍາສັ່ງທີ່ກໍານົດໄວ້ເພື່ອກໍານົດຕົວແປ, ເຊັ່ນ set(VARIABLE “VALUE”).

4.3.5 ຄໍາແນະນໍາກ່ຽວກັບຄໍາສັ່ງທົ່ວໄປ
ESP-IDF ໃຊ້ CMake (ເຄື່ອງມືການຕັ້ງຄ່າໂຄງການ), Ninja (ເຄື່ອງມືສ້າງໂຄງການ) ແລະ esptool (ເຄື່ອງມື flash) ໃນຂະບວນການລວບລວມລະຫັດ. ແຕ່ລະເຄື່ອງມືມີບົດບາດແຕກຕ່າງກັນໃນຂະບວນການລວບລວມ, ການສ້າງ, ແລະ flash, ແລະຍັງສະຫນັບສະຫນູນຄໍາສັ່ງປະຕິບັດງານທີ່ແຕກຕ່າງກັນ. ເພື່ອອໍານວຍຄວາມສະດວກໃນການປະຕິບັດງານຂອງຜູ້ໃຊ້, ESP-IDF ເພີ່ມ idf.py ດ້ານຫນ້າທີ່ປະສົມປະສານທີ່ອະນຸຍາດໃຫ້ຄໍາສັ່ງຂ້າງເທິງນີ້ຖືກເອີ້ນຢ່າງໄວວາ.
ກ່ອນທີ່ຈະໃຊ້ idf.py, ໃຫ້ແນ່ໃຈວ່າ:
· ສະພາບແວດລ້ອມທີ່ປ່ຽນແປງໄດ້ IDF_PATH ຂອງ ESP-IDF ໄດ້ຖືກເພີ່ມໃສ່ເຄື່ອງປະຈຸບັນ. · ໄດເລກະທໍລີການປະຕິບັດຄໍາສັ່ງແມ່ນໄດເລກະທໍລີຮາກຂອງໂຄງການ, ເຊິ່ງປະກອບມີ
script ການລວບລວມໂຄງການ CMakeLists.txt.
ຄໍາສັ່ງທົ່ວໄປຂອງ idf.py ມີດັ່ງນີ້:
· idf.py –help: ສະແດງລາຍການຄຳສັ່ງ ແລະຄຳແນະນຳການນຳໃຊ້ຂອງມັນ. · idf.py set-target : ການຕັ້ງຄ່າການລວບລວມ taidf.py fullcleanrget, ເຊັ່ນ
ເປັນ​ການ​ທົດ​ແທນ​ ກັບ esp32c3. · idf.py menuconfig: ການເປີດຕົວ menuconfig, ການຕັ້ງຄ່າກຣາຟິກຂອງເຄື່ອງໝາຍປາຍທາງ
ເຄື່ອງ​ມື​, ເຊິ່ງ​ສາ​ມາດ​ເລືອກ​ຫຼື​ປັບ​ປຸງ​ທາງ​ເລືອກ​ໃນ​ການ​ຕັ້ງ​ຄ່າ​, ແລະ​ຜົນ​ໄດ້​ຮັບ​ການ​ຕັ້ງ​ຄ່າ​ໄດ້​ຖືກ​ບັນ​ທຶກ​ໄວ້​ໃນ sdkconfig file. · idf.py build: ເລີ່ມຕົ້ນການລວບລວມລະຫັດ. ກາງ files ແລະໂຄງການປະຕິບັດສຸດທ້າຍທີ່ສ້າງຂຶ້ນໂດຍການລວບລວມຈະຖືກບັນທຶກໄວ້ໃນໄດເລກະທໍລີການກໍ່ສ້າງຂອງໂຄງການໂດຍຄ່າເລີ່ມຕົ້ນ. ຂະບວນການລວບລວມແມ່ນ incremental, ຊຶ່ງຫມາຍຄວາມວ່າຖ້າຫາກວ່າພຽງແຕ່ຫນຶ່ງແຫຼ່ງ file ຖືກແກ້ໄຂ, ພຽງແຕ່ດັດແກ້ file ຈະຖືກລວບລວມໃນຄັ້ງຕໍ່ໄປ.

52 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

· idf.py clean: ທໍາຄວາມສະອາດລະດັບປານກາງ files ສ້າງຂຶ້ນໂດຍການລວບລວມໂຄງການ. ໂຄງການທັງຫມົດຈະຖືກບັງຄັບໃຫ້ລວບລວມໃນການລວບລວມຕໍ່ໄປ. ໃຫ້ສັງເກດວ່າການຕັ້ງຄ່າ CMake ແລະການແກ້ໄຂການຕັ້ງຄ່າທີ່ເຮັດໂດຍ menuconfig ຈະບໍ່ຖືກລຶບໃນລະຫວ່າງການເຮັດຄວາມສະອາດ.
· idf.py fullclean: ການລຶບໄດເລກະທໍລີສ້າງທັງຫມົດ, ລວມທັງຜົນຜະລິດການຕັ້ງຄ່າ CMake ທັງຫມົດ fileດ. ເມື່ອສ້າງໂຄງການອີກເທື່ອຫນຶ່ງ, CMake ຈະ configure ໂຄງການຈາກ scratch. ກະລຸນາຮັບຊາບວ່າຄຳສັ່ງນີ້ຈະລຶບທັງໝົດອອກຊ້ຳໆ files ໃນໄດເລກະທໍລີກໍ່ສ້າງ, ດັ່ງນັ້ນໃຊ້ມັນດ້ວຍຄວາມລະມັດລະວັງ, ແລະການຕັ້ງຄ່າໂຄງການ file ຈະບໍ່ຖືກລຶບ.
· idf.py flash: ກະພິບໂປລແກລມ binary ທີ່ສາມາດປະຕິບັດໄດ້ file ສ້າງຂຶ້ນໂດຍການສ້າງໃຫ້ກັບເປົ້າໝາຍ ESP32-C3. ທາງ​ເລືອກ -p​ ແລະ -b ຖືກນໍາໃຊ້ເພື່ອກໍານົດຊື່ອຸປະກອນຂອງພອດ serial ແລະອັດຕາ baud ສໍາລັບການກະພິບ, ຕາມລໍາດັບ. ຖ້າສອງທາງເລືອກນີ້ບໍ່ໄດ້ຖືກລະບຸ, ພອດ serial ຈະຖືກກວດພົບໂດຍອັດຕະໂນມັດແລະອັດຕາ baud ເລີ່ມຕົ້ນຈະຖືກໃຊ້.
· idf.py monitor: ສະແດງຜົນອອກຂອງພອດ serial ຂອງ ESP32-C3 ເປົ້າໝາຍ. ທາງເລືອກ -p ສາມາດໃຊ້ເພື່ອລະບຸຊື່ອຸປະກອນຂອງພອດ serial ຂ້າງເຈົ້າພາບ. ໃນລະຫວ່າງການພິມພອດ serial, ກົດປຸ່ມ Ctrl+] ເພື່ອອອກຈາກຈໍພາບ.
ຄໍາສັ່ງຂ້າງເທິງຍັງສາມາດຖືກລວມເຂົ້າກັນໄດ້ຕາມຄວາມຕ້ອງການ. ຕົວຢ່າງampດັ່ງນັ້ນ, ຄໍາສັ່ງ idf.py build flash monitor ຈະປະຕິບັດການລວບລວມລະຫັດ, flash, ແລະເປີດ serial port monitor ຕາມລໍາດັບ.
ທ່ານສາມາດເຂົ້າໄປທີ່ https://bookc3.espressif.com/build-system ເພື່ອຮູ້ເພີ່ມເຕີມກ່ຽວກັບລະບົບການລວບລວມ ESP-IDF.
4.4 ການປະຕິບັດ: ການລວບລວມ Exampໃນໂຄງການ "ກະພິບ"
4.4.1 ຕົວຢ່າງample ການວິເຄາະ
ພາກນີ້ຈະໃຊ້ເວລາໂຄງການ Blink ເປັນ exampເພື່ອວິເຄາະ file ໂຄງສ້າງແລະກົດລະບຽບການເຂົ້າລະຫັດຂອງໂຄງການທີ່ແທ້ຈິງໃນລາຍລະອຽດ. ໂຄງການ Blink ປະຕິບັດຜົນກະທົບກະພິບ LED, ແລະໂຄງການຕັ້ງຢູ່ໃນໄດເລກະທໍລີ examples/get-started/blink, ເຊິ່ງມີແຫຼ່ງທີ່ມາ file, ການຕັ້ງຄ່າ files, ແລະສະຄິບລວບລວມຫຼາຍ.
ໂຄງການແສງສະຫວ່າງ smart ທີ່ນໍາສະເຫນີໃນຫນັງສືເຫຼັ້ມນີ້ແມ່ນອີງໃສ່ ex ນີ້ampໂຄງການ le. ຟັງຊັນຕ່າງໆຈະຖືກເພີ່ມຄ່ອຍໆໃນບົດຕໍ່ມາເພື່ອໃຫ້ມັນສໍາເລັດ.
ລະຫັດແຫຼ່ງເພື່ອສະແດງໃຫ້ເຫັນຂະບວນການພັດທະນາທັງຫມົດ, ໂຄງການ Blink ໄດ້ຖືກຄັດລອກໄປທີ່ esp32c3-iot-projects/device firmware/1 blink.
ໂຄງສ້າງໄດເລກະທໍລີຂອງໂຄງການກະພິບ files ແມ່ນສະແດງຢູ່ໃນຮູບ 4.15.
ໂຄງ​ການ blink ມີ​ພຽງ​ແຕ່​ຫນຶ່ງ​ບັນ​ຊີ​ລາຍ​ການ​ຕົ້ນ​ຕໍ​, ຊຶ່ງ​ເປັນ​ອົງ​ປະ​ກອບ​ພິ​ເສດ​ທີ່​
ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 53

ຮູບທີ 4.15. File ໂຄງສ້າງໄດເລກະທໍລີຂອງໂຄງການ blink

ຕ້ອງໄດ້ລວມເອົາຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນພາກ 4.3.2. ໄດເລກະທໍລີຕົ້ນຕໍແມ່ນໃຊ້ສ່ວນໃຫຍ່ເພື່ອເກັບຮັກສາການປະຕິບັດຫນ້າທີ່ app_main() ເຊິ່ງເປັນຈຸດເຂົ້າສູ່ໂຄງການຜູ້ໃຊ້. ໂຄງການ blink ບໍ່ປະກອບມີໄດເລກະທໍລີອົງປະກອບ, ເພາະວ່ານີ້ ex.ample ພຽງແຕ່ຕ້ອງການໃຊ້ອົງປະກອບທີ່ມາພ້ອມກັບ ESP-IDF ແລະບໍ່ຮຽກຮ້ອງໃຫ້ມີອົງປະກອບເພີ່ມເຕີມ. CMakeLists.txt ລວມຢູ່ໃນໂຄງການ blink ຖືກນໍາໃຊ້ເພື່ອນໍາພາຂະບວນການລວບລວມ, ໃນຂະນະທີ່ Kconfig.projbuild ຖືກນໍາໃຊ້ເພື່ອເພີ່ມລາຍການການຕັ້ງຄ່າສໍາລັບ ex ນີ້.ampໂປຣແກມໃນ menuconfig. ອື່ນທີ່ບໍ່ຈໍາເປັນ files ຈະບໍ່ມີຜົນກະທົບຕໍ່ການລວບລວມລະຫັດ, ດັ່ງນັ້ນພວກມັນຈະບໍ່ຖືກປຶກສາຫາລືຢູ່ທີ່ນີ້. ການແນະນໍາລາຍລະອຽດກ່ຽວກັບໂຄງການກະພິບ files ແມ່ນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​.

1. /*blink.c ປະກອບມີສ່ວນຫົວຕໍ່ໄປນີ້ files*/

2. #ລວມ

// ສ່ວນຫົວຫ້ອງສະໝຸດ C ມາດຕະຖານ file

3. #include “freertos/freeRTOS.h” // FreeRTOS ສ່ວນຫົວຫຼັກ file

4. #include “freertos/task.h”

// FreeRTOS Task header file

5. #include “sdkconfig.h”

// ສ່ວນຫົວການຕັ້ງຄ່າ file ສ້າງຂຶ້ນໂດຍ kconfig

6. #include “driver/gpio.h”

// ສ່ວນຫົວຄົນຂັບ GPIO file

ແຫຼ່ງ file blink.c ມີຊຸດຂອງສ່ວນຫົວ files ທີ່​ສອດ​ຄ້ອງ​ກັນ​ກັບ​ການ​ປະ​ກາດ​ການ​ທໍາ​ງານ

ເລື່ອງ. ESP-IDF ໂດຍທົ່ວໄປແລ້ວປະຕິບັດຕາມຄໍາສັ່ງຂອງການລວມເອົາຫົວຫ້ອງສະຫມຸດມາດຕະຖານ files, FreeR-

ສ່ວນຫົວ TOS files, ສ່ວນຫົວຄົນຂັບ files, ສ່ວນຫົວອົງປະກອບອື່ນໆ files, ແລະຫົວໂຄງການ files.

ຄໍາສັ່ງໃນຫົວຂໍ້ໃດ files ຖືກລວມເຂົ້າອາດຈະສົ່ງຜົນກະທົບຕໍ່ຜົນໄດ້ຮັບການລວບລວມສຸດທ້າຍ, ດັ່ງນັ້ນພະຍາຍາມ

ປະຕິບັດຕາມກົດລະບຽບເລີ່ມຕົ້ນ. ມັນຄວນຈະສັງເກດວ່າ sdkconfig.h ຖືກສ້າງໂດຍອັດຕະໂນມັດ

ໂດຍ kconfig ແລະສາມາດກໍາຫນົດຄ່າຜ່ານຄໍາສັ່ງ idf.py menuconfig ເທົ່ານັ້ນ.

ການ​ດັດ​ແກ້​ໂດຍ​ກົງ​ຂອງ​ຫົວ​ຂໍ້​ນີ້​ file ຈະຖືກຂຽນທັບ.

1. /*ທ່ານສາມາດເລືອກ GPIO ທີ່ສອດຄ້ອງກັບ LED ໃນ idf.py menuconfig, ແລະຜົນການດັດແກ້ຂອງ menuconfig ແມ່ນວ່າຄ່າຂອງ CONFIG_BLINK.

_GPIO ຈະຖືກປ່ຽນແປງ. ນອກນັ້ນທ່ານຍັງສາມາດແກ້ໄຂຄໍານິຍາມມະຫາພາກໂດຍກົງ

ທີ່ນີ້, ແລະປ່ຽນ CONFIG_BLINK_GPIO ເປັນຄ່າຄົງທີ່.*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO

3. void app_main(void)

4. {

5.

/* ຕັ້ງຄ່າ IO ເປັນຟັງຊັນເລີ່ມຕົ້ນ GPIO, ເປີດໃຊ້ໂໝດດຶງຂຶ້ນ, ແລະ

6.

ປິດ​ການ​ທໍາ​ງານ​ຮູບ​ແບບ​ການ​ປ້ອນ​ແລະ​ອອກ */

7.

gpio_reset_pin(BLINK_GPIO);

54 ESP32-C3 Wireless Adventure: ຄູ່ມືທີ່ສົມບູນແບບຂອງ IoT

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

/*ຕັ້ງ GPIO ເປັນຮູບແບບການສົ່ງອອກ*/ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); ໃນຂະນະທີ່ (1) {
/*ບັນທຶກການພິມ*/ printf(“ປິດໄຟ LEDn”); /*ປິດໄຟ LED (ລະດັບຜົນຜະລິດຕ່ໍາ)*/ gpio_set_level(BLINK_GPIO, 0); /*Delay (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf(“ເປີດໄຟ LEDn”); /*ເປີດໄຟ LED (ລະດັບຜົນຜະລິດສູງ)*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }

ຟັງຊັນ app_main() ໃນ Blink exampໂຄງ​ການ le ເປັນ​ຈຸດ​ເຂົ້າ​ສໍາ​ລັບ​ໂຄງ​ການ​ຜູ້​ໃຊ້​. ມັນເປັນຫນ້າທີ່ງ່າຍດາຍທີ່ບໍ່ມີຕົວກໍານົດການແລະບໍ່ມີຄ່າກັບຄືນ. ຟັງຊັນນີ້ຖືກເອີ້ນວ່າຫຼັງຈາກລະບົບໄດ້ສໍາເລັດການເລີ່ມຕົ້ນ, ເຊິ່ງປະກອບມີວຽກງານເຊັ່ນ: ການເລີ່ມຕົ້ນຂອງພອດ serial ບັນທຶກ, ການຕັ້ງຄ່າ single / dual core, ແລະ configure the watchdog.

ຟັງຊັນ app_main() ເຮັດວຽກຢູ່ໃນບໍລິບົດຂອງຫນ້າວຽກທີ່ມີຊື່ວ່າ main. ຂະໜາດ stack ແລະບູລິມະສິດຂອງວຽກນີ້ສາມາດປັບໄດ້ໃນ menuconfig Componentconfig Common ESP-related.

ສໍາລັບວຽກງານທີ່ງ່າຍດາຍເຊັ່ນການກະພິບ LED, ລະຫັດທີ່ຈໍາເປັນທັງຫມົດສາມາດໄດ້ຮັບການປະຕິບັດໂດຍກົງໃນຫນ້າທີ່ app_main() ໄດ້. ໂດຍທົ່ວໄປແລ້ວນີ້ກ່ຽວຂ້ອງກັບການເລີ່ມຕົ້ນ GPIO ທີ່ສອດຄ້ອງກັບ LED ແລະໃຊ້ເວລາ (1) loop ເພື່ອສະຫຼັບ LED ເປີດແລະປິດ. ອີກທາງເລືອກ, ທ່ານສາມາດນໍາໃຊ້ FreeRTOS API ເພື່ອສ້າງວຽກງານໃຫມ່ທີ່ຈັດການກັບການກະພິບ LED. ເມື່ອວຽກງານໃຫມ່ຖືກສ້າງຂື້ນຢ່າງສໍາເລັດຜົນ, ທ່ານສາມາດອອກຈາກຟັງຊັນ app_main() ໄດ້.

ເນື້ອໃນຂອງ main/CMakeLists.txt file, ເຊິ່ງແນະນໍາຂະບວນການລວບລວມສໍາລັບອົງປະກອບຕົ້ນຕໍ, ມີດັ່ງນີ້:

1. idf_component_register(SRCS “blink.c” INCLUDE_DIRS “.” )

ໃນບັນດາພວກມັນ, main/CMakeLists.txt ພຽງແຕ່ເອີ້ນຟັງຊັນລະບົບການລວບລວມຂໍ້ມູນດຽວເທົ່ານັ້ນ, ນັ້ນແມ່ນ idf_component_register. ຄ້າຍຄືກັນກັບ CMakeLists.txt ສໍາລັບອົງປະກອບອື່ນໆສ່ວນໃຫຍ່, blink.c ຖືກເພີ່ມໃສ່ SRCS, ແລະແຫຼ່ງທີ່ມາ. files ເພີ່ມໃສ່ SRCS ຈະຖືກລວບລວມ. ໃນເວລາດຽວກັນ, ".", ເຊິ່ງເປັນຕົວແທນຂອງເສັ້ນທາງທີ່ CMakeLists.txt ຕັ້ງຢູ່, ຄວນຖືກເພີ່ມໃສ່ INCLUDE_DIRS ເປັນໄດເລກະທໍລີຄົ້ນຫາສໍາລັບຫົວ fileດ. ເນື້ອໃນຂອງ CMakeLists.txt ມີດັ່ງນີ້:
1. #ລະບຸ v3.5 ເປັນເວີຊັ່ນ CMake ທີ່ເກົ່າແກ່ທີ່ສຸດທີ່ຮອງຮັບໂດຍໂຄງການປະຈຸບັນ 2. #ເວີຊັ່ນທີ່ຕໍ່າກວ່າ v3.5 ຕ້ອງໄດ້ຮັບການອັບເກຣດກ່ອນການລວບລວມຂໍ້ມູນສືບຕໍ່ 3. cmake_minimum_required(VERSION 3.5) 4. #ລວມເອົາການກຳນົດຄ່າ CMake ເລີ່ມຕົ້ນຂອງ ESP - ລະ​ບົບ​ການ​ສັງ​ລວມ IDF​

ບົດທີ 4. ການສ້າງສະພາບແວດລ້ອມພັດທະນາ 55

5. include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #Create a project named “blink” 7. project(myProject)
ໃນບັນດາພວກມັນ, CMakeLists.txt ໃນໄດເລກະທໍລີຮາກສ່ວນໃຫຍ່ແມ່ນປະກອບມີ $ENV{IDF_ PATH}/tools/cmake/project.cmake, ເຊິ່ງເປັນການຕັ້ງຄ່າຫຼັກຂອງ CMake. file ສະໜອງໃຫ້ໂດຍ ESP-IDF. ມັນຖືກນໍາໃຊ້ເພື່ອ con

ເອກະສານ / ຊັບພະຍາກອນ

Espressif Systems ESP32-C3 Wireless Adventure [pdf] ຄູ່ມືຜູ້ໃຊ້
ການຜະຈົນໄພໄຮ້ສາຍ ESP32-C3, ESP32-C3, ການຜະຈົນໄພໄຮ້ສາຍ, ການຜະຈົນໄພ

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *