ການຜະຈົນໄພໄຮ້ສາຍ 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 stage, 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, ການຜະຈົນໄພໄຮ້ສາຍ, ການຜະຈົນໄພ |