ដំណើរផ្សងព្រេងឥតខ្សែ ESP32-C3
ដំណើរផ្សងព្រេងឥតខ្សែ ESP32-C3
មគ្គុទ្ទេសក៍ទូលំទូលាយចំពោះ IoT
ប្រព័ន្ធ Espressif ថ្ងៃទី 12 ខែមិថុនា ឆ្នាំ 2023
លក្ខណៈបច្ចេកទេស
- ផលិតផល៖ ESP32-C3 Wireless Adventure
- ក្រុមហ៊ុនផលិត៖ ប្រព័ន្ធ Espressif
- កាលបរិច្ឆេទ៖ ថ្ងៃទី២១ ខែមិថុនា ឆ្នាំ២០២៤
ការណែនាំអំពីការប្រើប្រាស់ផលិតផល
ការរៀបចំ
មុនពេលប្រើ ESP32-C3 Wireless Adventure សូមប្រាកដថាអ្នកជា
ស៊ាំជាមួយគំនិត និងស្ថាបត្យកម្មនៃ IoT ។ នេះនឹងជួយ
អ្នកយល់ពីរបៀបដែលឧបករណ៍នេះសមនឹងប្រព័ន្ធ IoT ធំជាងនេះ។
និងកម្មវិធីសក្តានុពលរបស់វានៅក្នុងផ្ទះឆ្លាតវៃ។
ការណែនាំ និងការអនុវត្តគម្រោង IoT
នៅក្នុងផ្នែកនេះ អ្នកនឹងរៀនអំពីគម្រោង IoT ធម្មតា,
រួមទាំងម៉ូឌុលមូលដ្ឋានសម្រាប់ឧបករណ៍ IoT ទូទៅ ម៉ូឌុលមូលដ្ឋាន
នៃកម្មវិធីអតិថិជន និងវេទិកាពពក IoT ទូទៅ។ ឆន្ទៈនេះ
ផ្តល់ឱ្យអ្នកនូវមូលដ្ឋានគ្រឹះសម្រាប់ការយល់ដឹង និងការបង្កើតរបស់អ្នក។
គម្រោង IoT ផ្ទាល់ខ្លួន។
ការអនុវត្ត៖ គម្រោងពន្លឺឆ្លាតវៃ
នៅក្នុងគម្រោងអនុវត្តនេះ អ្នកនឹងរៀនពីរបៀបបង្កើតឆ្លាតវៃ
ពន្លឺដោយប្រើ ESP32-C3 Wireless Adventure ។ រចនាសម្ព័ន្ធគម្រោង,
មុខងារ ការរៀបចំផ្នែករឹង និងដំណើរការអភិវឌ្ឍន៍នឹងមាន
បានពន្យល់យ៉ាងលម្អិត។
រចនាសម្ព័ន្ធគម្រោង
គម្រោងនេះមានធាតុផ្សំជាច្រើន រួមទាំង
ESP32-C3 Wireless Adventure, LEDs, ឧបករណ៍ចាប់សញ្ញា និងពពក
ផ្នែកខាងក្រោយ
មុខងារគម្រោង
គម្រោងពន្លឺឆ្លាតវៃអនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងពន្លឺនិង
ពណ៌របស់ LEDs ពីចម្ងាយតាមរយៈកម្មវិធីទូរស័ព្ទ ឬ 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, កម្មវិធីខាងក្រោយពពក និងអតិថិជន RainMaker ។
ការអនុវត្ត៖ ចំណុចសំខាន់ៗសម្រាប់ការអភិវឌ្ឍន៍ជាមួយ ESP RainMaker
នៅក្នុងផ្នែកអនុវត្តនេះ អ្នកនឹងរៀនអំពីចំណុចសំខាន់ៗដើម្បី
ពិចារណានៅពេលអភិវឌ្ឍជាមួយ ESP RainMaker ។ នេះរួមបញ្ចូលទាំងឧបករណ៍
ការទាមទារ ការធ្វើសមកាលកម្មទិន្នន័យ និងការគ្រប់គ្រងអ្នកប្រើប្រាស់។
លក្ខណៈពិសេសរបស់ ESP RainMaker
ESP RainMaker ផ្តល់ជូននូវលក្ខណៈពិសេសផ្សេងៗសម្រាប់ការគ្រប់គ្រងអ្នកប្រើប្រាស់ បញ្ចប់
អ្នកប្រើប្រាស់ និងអ្នកគ្រប់គ្រង។ លក្ខណៈពិសេសទាំងនេះអនុញ្ញាតឱ្យឧបករណ៍ងាយស្រួល
ការដំឡើង ការបញ្ជាពីចម្ងាយ និងការត្រួតពិនិត្យ។
ការបង្កើតបរិស្ថានអភិវឌ្ឍន៍
ផ្នែកនេះផ្តល់នូវការបញ្ចប់view នៃ ESP-IDF (Espressif IoT
Development Framework) ដែលជាក្របខ័ណ្ឌអភិវឌ្ឍន៍ផ្លូវការ
សម្រាប់ឧបករណ៍ដែលមានមូលដ្ឋានលើ ESP32 ។ វាពន្យល់ពីកំណែផ្សេងៗគ្នា
ESP-IDF និងរបៀបរៀបចំបរិយាកាសអភិវឌ្ឍន៍។
ការអភិវឌ្ឍន៍ផ្នែករឹង និងកម្មវិធីបញ្ជា
ការរចនាផ្នែករឹងនៃផលិតផល Smart Light ផ្អែកលើ ESP32-C3
ផ្នែកនេះផ្តោតលើការរចនាផ្នែករឹងនៃពន្លឺឆ្លាតវៃ
ផលិតផលផ្អែកលើ ESP32-C3 Wireless Adventure ។ វាគ្របដណ្តប់
លក្ខណៈពិសេស និងសមាសភាពនៃផលិតផលពន្លឺឆ្លាតវៃ ក៏ដូចជា
ការរចនាផ្នែករឹងនៃប្រព័ន្ធស្នូល ESP32-C3 ។
លក្ខណៈពិសេស និងសមាសភាពនៃផលិតផលពន្លឺឆ្លាតវៃ
ផ្នែករងនេះពន្យល់ពីលក្ខណៈពិសេស និងសមាសធាតុដែលបង្កើត
ឡើងផលិតផលពន្លឺឆ្លាតវៃ។ វាពិភាក្សាអំពីមុខងារផ្សេងៗគ្នា
និងការពិចារណាលើការរចនាសម្រាប់ការបង្កើតអំពូលភ្លើងឆ្លាតវៃ។
ការរចនាផ្នែករឹងនៃប្រព័ន្ធស្នូល ESP32-C3
ការរចនាផ្នែករឹងនៃប្រព័ន្ធស្នូល ESP32-C3 រួមមានថាមពល
ការផ្គត់ផ្គង់, លំដាប់នៃការបើកថាមពល, ការកំណត់ប្រព័ន្ធឡើងវិញ, SPI flash, ប្រភពនាឡិកា,
និងការពិចារណា RF និងអង់តែន។ ផ្នែករងនេះផ្តល់
ព័ត៌មានលម្អិតអំពីទិដ្ឋភាពទាំងនេះ។
សំណួរគេសួរញឹកញាប់
សំណួរ៖ តើ ESP RainMaker ជាអ្វី?
A: ESP RainMaker គឺជាវេទិកាដែលមានមូលដ្ឋានលើពពកដែលផ្តល់ឧបករណ៍
និងសេវាកម្មសម្រាប់សាងសង់ និងគ្រប់គ្រងឧបករណ៍ IoT ។ វាធ្វើឱ្យសាមញ្ញ
ដំណើរការអភិវឌ្ឍន៍ និងអនុញ្ញាតឱ្យមានការដំឡើងឧបករណ៍ងាយស្រួល ពីចម្ងាយ
ការត្រួតពិនិត្យ និងការត្រួតពិនិត្យ។
សំណួរ៖ តើខ្ញុំអាចរៀបចំបរិយាកាសអភិវឌ្ឍន៍ដោយរបៀបណា?
ESP32-C3?
ចម្លើយ៖ ដើម្បីរៀបចំបរិយាកាសអភិវឌ្ឍន៍សម្រាប់ ESP32-C3 អ្នកត្រូវការ
ដើម្បីដំឡើង ESP-IDF (Espressif IoT Development Framework) និង
កំណត់រចនាសម្ព័ន្ធវាតាមការណែនាំដែលបានផ្តល់។ ESP-IDF គឺជា
ក្របខ័ណ្ឌអភិវឌ្ឍន៍ផ្លូវការសម្រាប់ឧបករណ៍ដែលមានមូលដ្ឋានលើ ESP32 ។
សំណួរ៖ តើ ESP RainMaker មានលក្ខណៈពិសេសអ្វីខ្លះ?
ចម្លើយ៖ ESP RainMaker ផ្តល់នូវមុខងារជាច្រើន រួមទាំងអ្នកប្រើប្រាស់ផងដែរ។
ការគ្រប់គ្រង មុខងារអ្នកប្រើប្រាស់ចុងក្រោយ និងមុខងារគ្រប់គ្រង។ ការគ្រប់គ្រងអ្នកប្រើប្រាស់
អនុញ្ញាតឱ្យមានភាពងាយស្រួលក្នុងការទាមទារឧបករណ៍ និងការធ្វើសមកាលកម្មទិន្នន័យ។ អ្នកប្រើប្រាស់ចុងក្រោយ
មុខងារបើកការបញ្ជាពីចម្ងាយនៃឧបករណ៍តាមរយៈកម្មវិធីទូរស័ព្ទ ឬ
web ចំណុចប្រទាក់។ មុខងារអ្នកគ្រប់គ្រងផ្តល់នូវឧបករណ៍សម្រាប់ការត្រួតពិនិត្យឧបករណ៍
និងការគ្រប់គ្រង។
ដំណើរផ្សងព្រេងឥតខ្សែ ESP32-C3
មគ្គុទ្ទេសក៍ទូលំទូលាយចំពោះ IoT
ប្រព័ន្ធ Espressif ថ្ងៃទី 12 ខែមិថុនា ឆ្នាំ 2023
មាតិកា
ខ្ញុំ ការរៀបចំ
1
1 ការណែនាំអំពី IoT
3
1.1 ស្ថាបត្យកម្ម IoT ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣
1.2 កម្មវិធី IoT នៅក្នុង Smart Homes ។ . . . . . . . . . . . . . . . . . . . . . . . . . ៦
2 ការណែនាំ និងការអនុវត្តគម្រោង IoT
9
2.1 ការណែនាំអំពីគម្រោង IoT ធម្មតា។ . . . . . . . . . . . . . . . . . . . . . . . ៩
2.1.1 ម៉ូឌុលមូលដ្ឋានសម្រាប់ឧបករណ៍ IoT ទូទៅ។ . . . . . . . . . . . . . . . . ៩
2.1.2 ម៉ូឌុលមូលដ្ឋាននៃកម្មវិធីអតិថិជន។ . . . . . . . . . . . . . . . . . . ១០
2.1.3 ការណែនាំអំពីវេទិកាពពក IoT ទូទៅ។ . . . . . . . . . . . . . ១១
2.2 ការអនុវត្ត៖ គម្រោងពន្លឺឆ្លាតវៃ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ១២
2.2.1 រចនាសម្ព័ន្ធគម្រោង។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៣
2.2.2 មុខងាររបស់គម្រោង។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៣
2.2.3 ការរៀបចំផ្នែករឹង។ . . . . . . . . . . . . . . . . . . . . . . . . . . ១៤
2.2.4 ដំណើរការអភិវឌ្ឍន៍។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៦
2.3 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
3 ការណែនាំអំពី ESP RainMaker
19
3.1 តើ ESP RainMaker ជាអ្វី? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២០
3.2 ការអនុវត្ត ESP RainMaker ។ . . . . . . . . . . . . . . . . . . . . . ២១
3.2.1 សេវាទាមទារសំណង។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២២
3.2.2 ភ្នាក់ងារ RainMaker ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២២
3.2.3 Cloud Backend ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២៣
3.2.4 អតិថិជន RainMaker ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២៤
3.3 ការអនុវត្ត៖ ចំណុចគន្លឹះសម្រាប់ការអភិវឌ្ឍន៍ជាមួយ ESP RainMaker ។ . . . . . . . . . . . ២៥
3.4 លក្ខណៈពិសេសនៃ ESP RainMaker ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ២៦
3.4.1 ការគ្រប់គ្រងអ្នកប្រើប្រាស់។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២៦
3.4.2 លក្ខណៈពិសេសអ្នកប្រើប្រាស់ចុងក្រោយ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២៧
3.4.3 លក្ខណៈពិសេសអ្នកគ្រប់គ្រង។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២៨
3.5 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
4 ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍
31
4.1 ESP-IDF លើសview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៤៤
4.1.1 កំណែ ESP-IDF ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣២
3
4.1.2 ESP-IDF Git លំហូរការងារ។ . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 ការជ្រើសរើសកំណែដែលសមស្រប។ . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 លើសview នៃ ESP-IDF SDK Directory ។ . . . . . . . . . . . . . . . . . . . 34 4.2 ការដំឡើងបរិស្ថានអភិវឌ្ឍន៍ ESP-IDF ។ . . . . . . . . . . . . . . . . 38 4.2.1 ការដំឡើងបរិស្ថានអភិវឌ្ឍន៍ ESP-IDF នៅលើលីនុច។ . . . . . . . 38 4.2.2 ការដំឡើង ESP-IDF Development Environment នៅលើ Windows ។ . . . . . 40 4.2.3 ការដំឡើង ESP-IDF Development Environment នៅលើ 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 ការណែនាំអំពីស្គ្រីបចងក្រង។ . . . . . . . . . . . . . . . . . 51 4.3.5 ការណែនាំអំពីពាក្យបញ្ជាទូទៅ។ . . . . . . . . . . . . . . . . . . 52 4.4 ការអនុវត្ត៖ ការចងក្រង Exampកម្មវិធី "ព្រិចភ្នែក" ។ . . . . . . . . . . . . . . . . . 53 4.4.1 ឧampការវិភាគ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 ការចងក្រងកម្មវិធី Blink ។ . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 ពន្លឺកម្មវិធី Blink ។ . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 ការវិភាគកំណត់ហេតុច្រកសៀរៀលនៃកម្មវិធី Blink ។ . . . . . . . . . . . . . 60 4.5 សេចក្តីសង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៦៣
II ការអភិវឌ្ឍន៍ផ្នែករឹង និងកម្មវិធីបញ្ជា
65
5 ការរចនាផ្នែករឹងនៃផលិតផល Smart Light ផ្អែកលើ ESP32-C3
67
5.1 លក្ខណៈពិសេស និងសមាសភាពនៃផលិតផលពន្លឺឆ្លាតវៃ។ . . . . . . . . . . . . . . ៦៧
5.2 ការរចនាផ្នែករឹងនៃប្រព័ន្ធស្នូល ESP32-C3 ។ . . . . . . . . . . . . . . . . . . ៧០
5.2.1 ការផ្គត់ផ្គង់ថាមពល។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៧៤
5.2.2 លំដាប់នៃការបើកថាមពល និងការកំណត់ប្រព័ន្ធឡើងវិញ។ . . . . . . . . . . . . . . . . . ៧៤
5.2.3 SPI Flash ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៧៥
5.2.4 ប្រភពនាឡិកា។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៧៥
5.2.5 RF និងអង់តែន។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៧៦
5.2.6 ម្ជុលដេរ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៧៩
5.2.7 ឧបករណ៍បញ្ជា GPIO និង PWM ។ . . . . . . . . . . . . . . . . . . . . . . . . ៧៩
5.3 ការអនុវត្ត៖ ការកសាងប្រព័ន្ធពន្លឺឆ្លាតវៃជាមួយ ESP32-C3 ។ . . . . . . . . . . . . ៨០
5.3.1 ការជ្រើសរើសម៉ូឌុល។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៨០
5.3.2 ការកំណត់រចនាសម្ព័ន្ធ GPIOs នៃសញ្ញា PWM ។ . . . . . . . . . . . . . . . . . . . ៨២
5.3.3 ការទាញយកកម្មវិធីបង្កប់ និងចំណុចប្រទាក់បំបាត់កំហុស។ . . . . . . . . . . . ៨២
5.3.4 គោលការណ៍ណែនាំសម្រាប់ការរចនា RF ។ . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 គោលការណ៍ណែនាំសម្រាប់ការរចនាការផ្គត់ផ្គង់ថាមពល។ . . . . . . . . . . . . . . . . . . 86 5.4 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៨៦
6 ការអភិវឌ្ឍន៍អ្នកបើកបរ
87
6.1 ដំណើរការអភិវឌ្ឍន៍កម្មវិធីបញ្ជា។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ៨៧
6.2 ESP32-C3 កម្មវិធីគ្រឿងកុំព្យូទ័រ។ . . . . . . . . . . . . . . . . . . . . . . . . ៨៨
6.3 មូលដ្ឋានគ្រឹះកម្មវិធីបញ្ជា LED ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៨៩
6.3.1 ចន្លោះពណ៌។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៨៩
6.3.2 កម្មវិធីបញ្ជា LED ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៩៤
6.3.3 ការបន្ថយពន្លឺ LED ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៩៤
6.3.4 ការណែនាំអំពី PWM ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ៩៥
6.4 ការអភិវឌ្ឍន៍កម្មវិធីបញ្ជាពន្លឺ LED ។ . . . . . . . . . . . . . . . . . . . . . . . ៩៦
6.4.1 ការផ្ទុកមិនងាយនឹងបង្កជាហេតុ (NVS) ។ . . . . . . . . . . . . . . . . . . . . . . . ៩៧
6.4.2 ឧបករណ៍បញ្ជា LED PWM (LEDC) ។ . . . . . . . . . . . . . . . . . . . . . . ៩៨
6.4.3 ការសរសេរកម្មវិធី LED PWM ។ . . . . . . . . . . . . . . . . . . . . . . . . . ១០០
6.5 ការអនុវត្ត៖ ការបន្ថែមអ្នកបើកបរទៅគម្រោងពន្លឺឆ្លាតវៃ។ . . . . . . . . . . . . . . . . ១០៣
6.5.1 កម្មវិធីបញ្ជាប៊ូតុង។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១០៣
6.5.2 កម្មវិធីបញ្ជាពន្លឺ LED ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ១០៤
6.6 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
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 ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១១២
7.1.4 ការតភ្ជាប់ Wi-Fi ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១១៥
7.2 មូលដ្ឋានគ្រឹះនៃប៊្លូធូស។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១២២
7.2.1 ការណែនាំអំពីប៊្លូធូស។ . . . . . . . . . . . . . . . . . . . . . . . . ១២៣
7.2.2 គំនិតប៊្លូធូស។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១២៤
7.2.3 ការតភ្ជាប់ប៊្លូធូស។ . . . . . . . . . . . . . . . . . . . . . . . . . . ១២៧
7.3 ការកំណត់រចនាសម្ព័ន្ធបណ្តាញ Wi-Fi ។ . . . . . . . . . . . . . . . . . . . . . . . . . . ១៣១
7.3.1 ការណែនាំអំពីការកំណត់រចនាសម្ព័ន្ធបណ្តាញ Wi-Fi ។ . . . . . . . . . . . . . . . . . . . ១៣១
7.3.2 SoftAP ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៣២
7.3.3 SmartConfig ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៣២
7.3.4 ប៊្លូធូស។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៣៥
7.3.5 វិធីសាស្រ្តផ្សេងទៀត។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៣៧
7.4 ការសរសេរកម្មវិធី Wi-Fi ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 សមាសភាគ Wi-Fi ក្នុង ESP-IDF ។ . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 លំហាត់៖ ការភ្ជាប់ Wi-Fi ។ . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 លំហាត់៖ ការភ្ជាប់ Smart Wi-Fi ។ . . . . . . . . . . . . . . . . . . . . ១៤៥
7.5 ការអនុវត្ត៖ ការកំណត់រចនាសម្ព័ន្ធ Wi-Fi នៅក្នុងគម្រោង Smart Light ។ . . . . . . . . . . . . . . 156 7.5.1 ការភ្ជាប់ Wi-Fi នៅក្នុងគម្រោង Smart Light ។ . . . . . . . . . . . . . . . . 156 7.5.2 ការកំណត់រចនាសម្ព័ន្ធ Smart Wi-Fi ។ . . . . . . . . . . . . . . . . . . . . . . . . ១៥៧
7.6 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
៣ ការត្រួតពិនិត្យមូលដ្ឋាន
159
8.1 ការណែនាំអំពីការគ្រប់គ្រងមូលដ្ឋាន។ . . . . . . . . . . . . . . . . . . . . . . . . . . ១៥៩
8.1.1 កម្មវិធីនៃការគ្រប់គ្រងមូលដ្ឋាន។ . . . . . . . . . . . . . . . . . . . . . . . ១៦១
Advan ឆ្នាំ ២០១៩tages នៃការគ្រប់គ្រងក្នុងតំបន់។ . . . . . . . . . . . . . . . . . . . . . . . ១៦១
8.1.3 ការស្វែងរកឧបករណ៍ដែលគ្រប់គ្រងតាមរយៈស្មាតហ្វូន។ . . . . . . . . . ១៦១
8.1.4 ការទំនាក់ទំនងទិន្នន័យរវាងស្មាតហ្វូន និងឧបករណ៍។ . . . . . . . ១៦២
8.2 វិធីសាស្រ្តស្វែងរកមូលដ្ឋានទូទៅ។ . . . . . . . . . . . . . . . . . . . . . . . ១៦២
8.2.1 ការផ្សាយ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៦៣
8.2.2 Multicast ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៦៩
8.2.3 ការប្រៀបធៀបរវាង Broadcast និង Multicast ។ . . . . . . . . . . . . . ១៧៦
8.2.4 Multicast Application Protocol mDNS សម្រាប់ Local Discovery ។ . . . . . . . ១៧៦
8.3 ពិធីការទំនាក់ទំនងទូទៅសម្រាប់ទិន្នន័យមូលដ្ឋាន។ . . . . . . . . . . . . . . ១៧៩
8.3.1 ពិធីសារត្រួតពិនិត្យការបញ្ជូន (TCP) ។ . . . . . . . . . . . . . . . . . . ១៧៩
8.3.2 HyperText Transfer Protocol (HTTP) ។ . . . . . . . . . . . . . . . . . . ១៨៥
8.3.3 អ្នកប្រើប្រាស់ Datagram Protocol (UDP) ។ . . . . . . . . . . . . . . . . . . . . . ១៨៩
8.3.4 Constrained Application Protocol (CoAP) ។ . . . . . . . . . . . . . . . ១៩២
8.3.5 ពិធីការប៊្លូធូស។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៩៧
8.3.6 សេចក្តីសង្ខេបនៃពិធីសារទំនាក់ទំនងទិន្នន័យ។ . . . . . . . . . . . . . . ២០៣
8.4 ការធានាសុវត្ថិភាពទិន្នន័យ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ២០៥
8.4.1 ការណែនាំអំពីសុវត្ថិភាពស្រទាប់ដឹកជញ្ជូន (TLS) ។ . . . . . . . . . . . . ២០៧
8.4.2 ការណែនាំអំពីដាtagram Transport Layer Security (DTLS) ។ . . . . . . ២១៣
8.5 ការអនុវត្ត៖ ការគ្រប់គ្រងមូលដ្ឋាននៅក្នុងគម្រោងពន្លឺឆ្លាតវៃ។ . . . . . . . . . . . . . . . . . ២១៧
8.5.1 ការបង្កើតម៉ាស៊ីនមេគ្រប់គ្រងមូលដ្ឋានដែលមានមូលដ្ឋានលើ Wi-Fi ។ . . . . . . . . . . . . . . ២១៧
8.5.2 ការផ្ទៀងផ្ទាត់មុខងារត្រួតពិនិត្យមូលដ្ឋានដោយប្រើស្គ្រីប។ . . . . . . . . . . ២២១
8.5.3 ការបង្កើតម៉ាស៊ីនមេត្រួតពិនិត្យមូលដ្ឋានដែលមានមូលដ្ឋានលើប៊្លូធូស។ . . . . . . . . . . . ២២២
8.6 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
9 ការគ្រប់គ្រងលើពពក
225
9.1 ការណែនាំអំពីការបញ្ជាពីចម្ងាយ។ . . . . . . . . . . . . . . . . . . . . . . . . . ២២៥
9.2 ពិធីសារទំនាក់ទំនងទិន្នន័យលើពពក។ . . . . . . . . . . . . . . . . . . . . . ២២៦
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 ។ . . . . . . . . . . . . . . . . . . . . . . . . 241 9.4 ការអនុវត្ត៖ ការបញ្ជាពីចម្ងាយតាមរយៈ ESP RainMaker ។ . . . . . . . . . . . . . . . 243 9.4.1 ESP RainMaker Basics ។ . . . . . . . . . . . . . . . . . . . . . . . . . . 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 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ២៦៧
10 ការអភិវឌ្ឍន៍កម្មវិធីស្មាតហ្វូន
269
10.1 ការណែនាំអំពីការអភិវឌ្ឍន៍កម្មវិធីស្មាតហ្វូន។ . . . . . . . . . . . . . . . . . ២៦៩
10.1.1 លើសview នៃការអភិវឌ្ឍន៍កម្មវិធីស្មាតហ្វូន។ . . . . . . . . . . . . . . ២៧០
10.1.2 រចនាសម្ព័ន្ធនៃគម្រោង Android ។ . . . . . . . . . . . . . . . . . . . . . ២៧០
10.1.3 រចនាសម្ព័ន្ធនៃគម្រោង iOS ។ . . . . . . . . . . . . . . . . . . . . . . . ២៧១
10.1.4 វដ្តជីវិតនៃសកម្មភាព Android ។ . . . . . . . . . . . . . . . . . . . . . ២៧២
10.1.5 វដ្តជីវិតរបស់ iOS Viewឧបករណ៍បញ្ជា។ . . . . . . . . . . . . . . . . . . . . . ២៧៣
10.2 ការបង្កើតគម្រោងកម្មវិធីស្មាតហ្វូនថ្មី។ . . . . . . . . . . . . . . . . . . . . ២៧៥
10.2.1 កំពុងរៀបចំសម្រាប់ការអភិវឌ្ឍន៍ Android ។ . . . . . . . . . . . . . . . . . . ២៧៥
10.2.2 ការបង្កើតគម្រោង Android ថ្មី។ . . . . . . . . . . . . . . . . . . . . . ២៧៥
10.2.3 ការបន្ថែមភាពអាស្រ័យសម្រាប់ MyRainmaker ។ . . . . . . . . . . . . . . . . ២៧៦
សំណើការអនុញ្ញាត 10.2.4 នៅក្នុងប្រព័ន្ធប្រតិបត្តិការ Android ។ . . . . . . . . . . . . . . . . . . . . . ២៧៧
10.2.5 កំពុងរៀបចំសម្រាប់ការអភិវឌ្ឍន៍ iOS ។ . . . . . . . . . . . . . . . . . . . . . ២៧៧
10.2.6 ការបង្កើតគម្រោង iOS ថ្មី។ . . . . . . . . . . . . . . . . . . . . . . . ២៧៨
10.2.7 ការបន្ថែមភាពអាស្រ័យសម្រាប់ MyRainmaker ។ . . . . . . . . . . . . . . . . ២៧៦
សំណើសុំសិទ្ធិ 10.2.8 នៅក្នុង iOS ។ . . . . . . . . . . . . . . . . . . . . . . . . ២៨០
10.3 ការវិភាគលើតម្រូវការមុខងាររបស់កម្មវិធី។ . . . . . . . . . . . . . . . . . ២៨១
10.3.1 ការវិភាគលើតម្រូវការមុខងាររបស់គម្រោង។ . . . . . . . . . . . ២៨២
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 ការទទួលបានលេខសម្គាល់ថ្នាំង។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 សេចក្តីសង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣១៩
11 ការដំឡើងកម្មវិធីបង្កប់ និងការគ្រប់គ្រងកំណែ
321
11.1 ការដំឡើងកម្មវិធីបង្កប់។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣២១
11.1.1 លើសview នៃតារាងភាគថាស។ . . . . . . . . . . . . . . . . . . . . . . . ៣២២
11.1.2 ដំណើរការចាប់ផ្ដើមកម្មវិធីបង្កប់។ . . . . . . . . . . . . . . . . . . . . . . . . . . ៣២៤
11.1.3 លើសview យន្តការ OTA ។ . . . . . . . . . . . . . . . . . . . . ៣២៦
11.2 ការគ្រប់គ្រងកំណែកម្មវិធីបង្កប់។ . . . . . . . . . . . . . . . . . . . . . . . . . ៣២៩
11.2.1 ការសម្គាល់កម្មវិធីបង្កប់។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣២៩
11.2.2 Rollback និង Anti-Rollback ។ . . . . . . . . . . . . . . . . . . . . . . . ៣៣១
១១.៣ ការអនុវត្ត៖ ពីលើអាកាស (OTA) ឧampឡេ . . . . . . . . . . . . . . . . . . . . . . ៣៣២
11.3.1 ដំឡើងកម្មវិធីបង្កប់តាមរយៈម៉ាស៊ីនមូលដ្ឋាន។ . . . . . . . . . . . . . . . . ៣៣២
11.3.2 ដំឡើងកម្មវិធីបង្កប់តាមរយៈ ESP RainMaker ។ . . . . . . . . . . . . . . ៣៣៥
11.4 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
IV Optimization and Mass Production
343
12 ការគ្រប់គ្រងថាមពល និងការបង្កើនប្រសិទ្ធភាពថាមពលទាប
345
12.1 ការគ្រប់គ្រងថាមពល ESP32-C3 ។ . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៤៥
12.1.1 ការធ្វើមាត្រដ្ឋានប្រេកង់ថាមវន្ត។ . . . . . . . . . . . . . . . . . . . . . . . ៣៤៦
12.1.2 ការកំណត់រចនាសម្ព័ន្ធការគ្រប់គ្រងថាមពល។ . . . . . . . . . . . . . . . . . . . ៣៤៨
12.2 ESP32-C3 របៀបថាមពលទាប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៤៨
12.2.1 របៀបគេងម៉ូដឹម។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៤៩
12.2.2 របៀបគេងស្រាល។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៥១
12.2.3 របៀបគេងជ្រៅ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៥៦
12.2.4 ការប្រើប្រាស់បច្ចុប្បន្ននៅក្នុងរបៀបថាមពលផ្សេងៗគ្នា។ . . . . . . . . . . . . ៣៥៨
12.3 ការគ្រប់គ្រងថាមពល និងការបំបាត់កំហុសថាមពលទាប។ . . . . . . . . . . . . . . . . ៣៥៩
12.3.1 ការបំបាត់កំហុសកំណត់ហេតុ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៦០
12.3.2 ការបំបាត់កំហុស GPIO ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៦២
12.4 ការអនុវត្ត៖ ការគ្រប់គ្រងថាមពលនៅក្នុងគម្រោង Smart Light ។ . . . . . . . . . . . . . . ៣៦៣
12.4.1 ការកំណត់រចនាសម្ព័ន្ធមុខងារគ្រប់គ្រងថាមពល។ . . . . . . . . . . . . . . . . ៣៦៤
12.4.2 ប្រើសោការគ្រប់គ្រងថាមពល។ . . . . . . . . . . . . . . . . . . . . . ៣៦៥
12.4.3 ការផ្ទៀងផ្ទាត់ការប្រើប្រាស់ថាមពល។ . . . . . . . . . . . . . . . . . . . . . . ៣៦៦
12.5 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
13 មុខងារសុវត្ថិភាពឧបករណ៍ដែលប្រសើរឡើង
369
13.1 លើសview នៃ IoT Device Data Security ។ . . . . . . . . . . . . . . . . . . . . . . ៣៦៩
13.1.1 ហេតុអ្វីបានជាការធានាទិន្នន័យឧបករណ៍ IoT? . . . . . . . . . . . . . . . . . . . . . . ៣៧០
13.1.2 តម្រូវការមូលដ្ឋានសម្រាប់សុវត្ថិភាពទិន្នន័យឧបករណ៍ IoT ។ . . . . . . . . . . . ៣៧១
13.2 ការការពារភាពសុចរិតនៃទិន្នន័យ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៧២
13.2.1 ការណែនាំអំពីវិធីសាស្ត្រផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ។ . . . . . . . . . . . . . ៣៧២
13.2.2 ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវនៃទិន្នន័យកម្មវិធីបង្កប់។ . . . . . . . . . . . . . . . . . ៣៧៣
៣.២ ឧampឡេ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៧៤
13.3 ការការពារការសម្ងាត់ទិន្នន័យ។ . . . . . . . . . . . . . . . . . . . . . . . . . ៣៧៤
13.3.1 ការណែនាំអំពីការអ៊ិនគ្រីបទិន្នន័យ។ . . . . . . . . . . . . . . . . . . . . . ៣៧៤
13.3.2 ការណែនាំអំពីគម្រោងការអ៊ិនគ្រីប Flash ។ . . . . . . . . . . . . . . . . ៣៧៦
13.3.3 ការផ្ទុកសោអ៊ិនគ្រីបពន្លឺ។ . . . . . . . . . . . . . . . . . . . . . . ៣៧៩
13.3.4 របៀបធ្វើការនៃការអ៊ិនគ្រីប Flash ។ . . . . . . . . . . . . . . . . . . . ៣៨០
13.3.5 ដំណើរការអ៊ិនគ្រីបពន្លឺ។ . . . . . . . . . . . . . . . . . . . . . . . . . ៣៨១
13.3.6 ការណែនាំអំពីការអ៊ិនគ្រីប NVS ។ . . . . . . . . . . . . . . . . . . . . . ៣៨៣
៣.២ ឧamples នៃ Flash Encryption និង NVS Encryption ។ . . . . . . . . . . ៣៨៤
13.4 ការការពារភាពស្របច្បាប់ទិន្នន័យ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៨៦
13.4.1 ការណែនាំអំពីហត្ថលេខាឌីជីថល។ . . . . . . . . . . . . . . . . . . . . ៣៨៦
13.4.2 លើសview នៃកម្មវិធី Secure Boot Scheme ។ . . . . . . . . . . . . . . . . . . . . ៣៨៨
13.4.3 ការណែនាំអំពី Software Secure Boot ។ . . . . . . . . . . . . . . . . . . 388 13.4.4 ការណែនាំអំពី Hardware Secure Boot ។ . . . . . . . . . . . . . . . . . 390 13.4.5 ឧamples ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 ការអនុវត្ត៖ លក្ខណៈសុវត្ថិភាពនៅក្នុងផលិតកម្មដ៏ធំ។ . . . . . . . . . . . . . . . . . 396 13.5.1 ការអ៊ិនគ្រីប Flash និងការចាប់ផ្ដើមសុវត្ថិភាព។ . . . . . . . . . . . . . . . . . . . . 396 13.5.2 ការបើកដំណើរការការអ៊ិនគ្រីប Flash និងការចាប់ផ្ដើមសុវត្ថិភាពដោយប្រើឧបករណ៍ Flash Batch ។ . 397 13.5.3 ការបើកដំណើរការការអ៊ិនគ្រីប Flash និងការចាប់ផ្ដើមសុវត្ថិភាពនៅក្នុងគម្រោង Smart Light ។ . . 398 13.6 សេចក្តីសង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៣៩៨
14 ការដុតកម្មវិធីបង្កប់ និងការធ្វើតេស្តសម្រាប់ផលិតកម្មដ៏ធំ
399
14.1 ការដុតកម្មវិធីបង្កប់ក្នុងផលិតកម្មដ៏ធំ។ . . . . . . . . . . . . . . . . . . . . . ៣៩៩
14.1.1 ការកំណត់ភាគថាសទិន្នន័យ។ . . . . . . . . . . . . . . . . . . . . . . . . . ៣៩៩
14.1.2 ការដុតកម្មវិធីបង្កប់។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៤០២
14.2 ការធ្វើតេស្តផលិតកម្មដ៏ធំ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ៤០៣
14.3 ការអនុវត្ត៖ ទិន្នន័យផលិតកម្មដ៏ធំនៅក្នុងគម្រោងពន្លឺឆ្លាតវៃ។ . . . . . . . . . . . . ៤០៤
14.4 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
15 ESP Insights៖ វេទិកាត្រួតពិនិត្យពីចម្ងាយ
405
15.1 ការណែនាំអំពី ESP Insights ។ . . . . . . . . . . . . . . . . . . . . . . . . . . . ៤០៥
15.2 ការចាប់ផ្តើមជាមួយ ESP Insights ។ . . . . . . . . . . . . . . . . . . . . . . . . ៤០៩
15.2.1 ការចាប់ផ្តើមជាមួយនឹង ESP Insights នៅក្នុងគម្រោង esp-insights ។ . . . . . ៤០៩
15.2.2 កំពុងដំណើរការ Example នៅក្នុងគម្រោង esp-insights ។ . . . . . . . . . . . . . . ៤១១
15.2.3 ការរាយការណ៍ព័ត៌មានស្នូល។ . . . . . . . . . . . . . . . . . . . . ៤១១
15.2.4 ការកែសម្រួលកំណត់ហេតុនៃការចាប់អារម្មណ៍។ . . . . . . . . . . . . . . . . . . . . . . . ៤១២
15.2.5 ការរាយការណ៍អំពីហេតុផលចាប់ផ្ដើមឡើងវិញ។ . . . . . . . . . . . . . . . . . . . . . . . . ៤១៣
15.2.6 ការរាយការណ៍អំពីមាត្រដ្ឋានផ្ទាល់ខ្លួន។ . . . . . . . . . . . . . . . . . . . . . . . . ៤១៣
15.3 ការអនុវត្ត៖ ការប្រើប្រាស់ ESP Insights នៅក្នុងគម្រោង Smart Light ។ . . . . . . . . . . . . . . ៤១៦
15.4 សង្ខេប។ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ១៧
សេចក្តីផ្តើម
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 ឡើយ។ ជាមួយនឹងកម្មវិធីប្រភពបើកចំហរបស់យើង ដូចជា 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 ដែលមានមូលដ្ឋានលើ RISC-V ដែលមានស្នូលតែមួយ 32 ប៊ីត ជាមួយនឹង SRAM 400KB ដែលអាចដំណើរការក្នុងល្បឿន 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 ស្ថាបនិក និងជានាយកប្រតិបត្តិក្រុមហ៊ុន Espressif ។
Espressif ផ្តល់តម្លៃដល់ការអាន និងគំនិត។ ដោយសារការធ្វើឱ្យប្រសើរឡើងជាបន្តបន្ទាប់នៃបច្ចេកវិទ្យា IoT បង្កើតតម្រូវការខ្ពស់លើវិស្វករ តើយើងអាចជួយមនុស្សកាន់តែច្រើនឱ្យធ្វើជាម្ចាស់លើបន្ទះឈីប IoT យ៉ាងរហ័ស ប្រព័ន្ធប្រតិបត្តិការ ក្របខ័ណ្ឌកម្មវិធី គ្រោងការណ៍កម្មវិធី និងផលិតផលសេវាកម្មពពកយ៉ាងដូចម្តេច? ដូចពាក្យពោលថា បង្រៀនមនុស្សឲ្យចេះស្ទូច ប្រសើរជាងឲ្យត្រី។ នៅក្នុងវគ្គបំផុសគំនិត វាបានកើតឡើងចំពោះយើងដែលយើងអាចសរសេរសៀវភៅមួយក្បាលដើម្បីតម្រៀបជាប្រព័ន្ធនូវចំណេះដឹងសំខាន់ៗនៃការអភិវឌ្ឍន៍ IoT ។ យើងបានបិទវា ប្រមូលផ្តុំក្រុមវិស្វករជាន់ខ្ពស់មួយក្រុមយ៉ាងឆាប់រហ័ស និងរួមបញ្ចូលគ្នានូវបទពិសោធន៍នៃក្រុមបច្ចេកទេសក្នុងការសរសេរកម្មវិធីបង្កប់ ការអភិវឌ្ឍន៍ផ្នែករឹង IoT និងកម្មវិធីដែលរួមចំណែកដល់ការបោះពុម្ពសៀវភៅនេះ។ នៅក្នុងដំណើរការនៃការសរសេរ យើងបានព្យាយាមអស់ពីសមត្ថភាពដើម្បីក្លាយជាវត្ថុបំណង និងយុត្តិធម៌ ដោយបានដកចេញនូវ cocoon ហើយប្រើកន្សោមសង្ខេបដើម្បីប្រាប់ពីភាពស្មុគស្មាញ និងទាក់ទាញនៃ Internet of Things។ យើងបានសង្ខេបយ៉ាងប្រុងប្រយ័ត្ននូវសំណួរទូទៅ ដែលសំដៅទៅលើមតិកែលម្អ និងការផ្តល់យោបល់របស់សហគមន៍ ដើម្បីឆ្លើយយ៉ាងច្បាស់នូវសំណួរដែលបានជួបប្រទះនៅក្នុងដំណើរការអភិវឌ្ឍ និងផ្តល់នូវគោលការណ៍ណែនាំសម្រាប់ការអភិវឌ្ឍន៍ IoT ជាក់ស្តែងសម្រាប់អ្នកបច្ចេកទេស និងអ្នកធ្វើការសម្រេចចិត្តដែលពាក់ព័ន្ធ។
រចនាសម្ព័ន្ធសៀវភៅ
សៀវភៅនេះយកទស្សនៈវិស្វករផ្តោតលើផ្នែក ហើយពន្យល់ពីចំណេះដឹងចាំបាច់សម្រាប់ការអភិវឌ្ឍន៍គម្រោង IoT មួយជំហានម្តងៗ។ វាមានបួនផ្នែកដូចខាងក្រោមៈ
· ការរៀបចំ (ជំពូកទី 1)៖ ផ្នែកនេះណែនាំអំពីស្ថាបត្យកម្មនៃ IoT គ្រោងការណ៍គម្រោង IoT ធម្មតា វេទិកាពពក ESP RainMakerr និងបរិស្ថានអភិវឌ្ឍន៍ ESP-IDF ដើម្បីដាក់គ្រឹះរឹងមាំសម្រាប់ការអភិវឌ្ឍន៍គម្រោង IoT ។
· ការអភិវឌ្ឍន៍ផ្នែករឹង និងកម្មវិធីបញ្ជា (ជំពូកទី 5)៖ ផ្អែកលើបន្ទះឈីប ESP6-C32 ផ្នែកនេះពន្យល់យ៉ាងលម្អិតអំពីប្រព័ន្ធផ្នែករឹងអប្បបរមា និងការអភិវឌ្ឍន៍កម្មវិធីបញ្ជា ហើយអនុវត្តការគ្រប់គ្រងភាពស្រអាប់ ការដាក់ពណ៌ និងការទំនាក់ទំនងឥតខ្សែ។
· ការទំនាក់ទំនង និងការគ្រប់គ្រងឥតខ្សែ (ជំពូក 7)៖ ផ្នែកនេះពន្យល់អំពីគ្រោងការណ៍កំណត់រចនាសម្ព័ន្ធ Wi-Fi ឆ្លាតវៃដោយផ្អែកលើបន្ទះឈីប ESP11-C32 ពិធីការគ្រប់គ្រងមូលដ្ឋាន និងពពក និងឧបករណ៍បញ្ជាក្នុងស្រុក និងពីចម្ងាយ។ វាក៏ផ្តល់នូវគ្រោងការណ៍សម្រាប់ការអភិវឌ្ឍន៍កម្មវិធីស្មាតហ្វូន ការអាប់ដេតកម្មវិធីបង្កប់ និងការគ្រប់គ្រងកំណែ។
· ការបង្កើនប្រសិទ្ធភាព និងផលិតកម្មដ៏ធំ (ជំពូកទី 12-15): ផ្នែកនេះត្រូវបានបម្រុងទុកសម្រាប់កម្មវិធី IoT កម្រិតខ្ពស់ ដោយផ្តោតលើការបង្កើនប្រសិទ្ធភាពនៃផលិតផលក្នុងការគ្រប់គ្រងថាមពល ការបង្កើនប្រសិទ្ធភាពថាមពលទាប និងការពង្រឹងសុវត្ថិភាព។ វាក៏ណែនាំផងដែរអំពីការដុត និងសាកល្បងកម្មវិធីបង្កប់ក្នុងការផលិតទ្រង់ទ្រាយធំ និងរបៀបធ្វើរោគវិនិច្ឆ័យស្ថានភាពដែលកំពុងដំណើរការ និងកំណត់ហេតុនៃកម្មវិធីបង្កប់ឧបករណ៍តាមរយៈវេទិកាត្រួតពិនិត្យពីចម្ងាយ ESP Insights។
អំពីកូដប្រភព
អ្នកអានអាចដំណើរការអតីតample កម្មវិធីនៅក្នុងសៀវភៅនេះ ដោយបញ្ចូលកូដដោយដៃ ឬដោយប្រើកូដប្រភពដែលភ្ជាប់មកជាមួយសៀវភៅ។ យើងសង្កត់ធ្ងន់លើការរួមបញ្ចូលគ្នានៃទ្រឹស្តី និងការអនុវត្ត ហើយដូច្នេះកំណត់ផ្នែកអនុវត្តដោយផ្អែកលើគម្រោង 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 ចំណាំ ឬ គន្លឹះ។
ពាក្យបញ្ជាភាគច្រើនក្នុងសៀវភៅនេះត្រូវបានប្រតិបត្តិក្រោមលីនុច ដែលបានជំរុញដោយតួអក្សរ “$”។ ប្រសិនបើពាក្យបញ្ជាទាមទារសិទ្ធិអ្នកប្រើប្រាស់ជាន់ខ្ពស់ដើម្បីប្រតិបត្តិ ប្រអប់បញ្ចូលនឹងត្រូវបានជំនួសដោយ "#" ។ ប្រអប់បញ្ចូលពាក្យបញ្ជានៅលើប្រព័ន្ធ Mac គឺ "%" ដូចដែលបានប្រើក្នុងផ្នែក 4.2.3 ការដំឡើង ESP-IDF នៅលើ Mac ។
អត្ថបទតួក្នុងសៀវភៅនេះនឹងត្រូវបានបោះពុម្ពជាធម្មនុញ្ញ ចំណែកកូដឧamples, components, functions, variables, code file ឈ្មោះ ថតកូដ និងខ្សែអក្សរនឹងស្ថិតនៅក្នុង Courier New ។
ពាក្យបញ្ជា ឬអត្ថបទដែលត្រូវបញ្ចូលដោយអ្នកប្រើ ហើយពាក្យបញ្ជាដែលអាចបញ្ចូលបានដោយចុចគ្រាប់ចុច “Enter” នឹងត្រូវបានបោះពុម្ពជា Courier New ដិត។ កំណត់ហេតុ និងប្លុកកូដនឹងត្រូវបានបង្ហាញក្នុងប្រអប់ពណ៌ខៀវស្រាល។
Exampលេ៖
ទីពីរ ប្រើ 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 ត្រូវបានកំណត់ឱ្យក្លាយជាកម្លាំងជំរុញនៃឧស្សាហកម្មព័ត៌មាន។
ដូច្នេះតើ Internet of Things ជាអ្វី?
វាពិបាកក្នុងការកំណត់យ៉ាងត្រឹមត្រូវនូវ Internet of Things ដោយសារតែអត្ថន័យ និងវិសាលភាពរបស់វាកំពុងវិវត្តន៍ឥតឈប់ឈរ។ នៅឆ្នាំ 1995 លោក Bill Gates បានបង្កើតគំនិត IoT ជាលើកដំបូងនៅក្នុងសៀវភៅរបស់គាត់ The Road Ahead ។ និយាយឱ្យសាមញ្ញទៅ IoT អនុញ្ញាតឱ្យវត្ថុផ្លាស់ប្តូរព័ត៌មានគ្នាទៅវិញទៅមកតាមរយៈអ៊ីនធឺណិត។ គោលដៅចុងក្រោយរបស់វាគឺដើម្បីបង្កើត "អ៊ីនធឺណិតនៃអ្វីគ្រប់យ៉ាង" ។ នេះគឺជាការបកស្រាយដំបូងនៃ IoT ក៏ដូចជាការស្រមើស្រមៃនៃបច្ចេកវិទ្យានាពេលអនាគត។ សាមសិបឆ្នាំក្រោយមក ជាមួយនឹងការអភិវឌ្ឍន៍យ៉ាងឆាប់រហ័សនៃសេដ្ឋកិច្ច និងបច្ចេកវិទ្យា ការស្រមើស្រមៃកំពុងក្លាយជាការពិត។ ពីឧបករណ៍ឆ្លាតវៃ ផ្ទះឆ្លាតវៃ ទីក្រុងឆ្លាតវៃ អ៊ីនធឺណិតនៃយានជំនិះ និងឧបករណ៍ដែលអាចពាក់បាន រហូតដល់ "ការបំប្លែងសារ" ដែលគាំទ្រដោយបច្ចេកវិទ្យា IoT គំនិតថ្មីៗកំពុងលេចឡើងឥតឈប់ឈរ។ នៅក្នុងជំពូកនេះ យើងនឹងចាប់ផ្តើមជាមួយនឹងការពន្យល់អំពីស្ថាបត្យកម្មនៃ Internet of Things ហើយបន្ទាប់មកណែនាំកម្មវិធី IoT ធម្មតាបំផុត ដែលជាផ្ទះឆ្លាតវៃ ដើម្បីជួយអ្នកឱ្យយល់ច្បាស់អំពី IoT ។
1.1 ស្ថាបត្យកម្ម IoT
Internet of Things ពាក់ព័ន្ធនឹងបច្ចេកវិទ្យាជាច្រើនដែលមានតម្រូវការកម្មវិធី និងទម្រង់ផ្សេងៗគ្នានៅក្នុងឧស្សាហកម្មផ្សេងៗគ្នា។ ដើម្បីតម្រៀបរចនាសម្ព័ន្ធ បច្ចេកវិទ្យាសំខាន់ៗ និងលក្ខណៈកម្មវិធីរបស់ IoT ចាំបាច់ត្រូវបង្កើតស្ថាបត្យកម្មបង្រួបបង្រួម និងប្រព័ន្ធបច្ចេកទេសស្តង់ដារ។ នៅក្នុងសៀវភៅនេះ ស្ថាបត្យកម្មនៃ IoT ត្រូវបានបែងចែកយ៉ាងសាមញ្ញជាបួនស្រទាប់៖ ស្រទាប់ការយល់ដឹង និងការគ្រប់គ្រង ស្រទាប់បណ្តាញ ស្រទាប់វេទិកា និងស្រទាប់កម្មវិធី។
ការយល់ឃើញ និងស្រទាប់ត្រួតពិនិត្យ ជាធាតុមូលដ្ឋានបំផុតនៃស្ថាបត្យកម្ម IoT ការយល់ឃើញ និងស្រទាប់ត្រួតពិនិត្យ គឺជាស្នូលដើម្បីដឹងពីការយល់ដឹងដ៏ទូលំទូលាយនៃ IoT ។ មុខងារចម្បងរបស់វាគឺប្រមូល កំណត់អត្តសញ្ញាណ និងគ្រប់គ្រងព័ត៌មាន។ វាមានឧបករណ៍ជាច្រើនប្រភេទ ដែលមានសមត្ថភាពនៃការយល់ឃើញ
3
ការកំណត់អត្តសញ្ញាណ ការគ្រប់គ្រង និងប្រតិបត្តិ ហើយទទួលខុសត្រូវចំពោះការទាញយក និងវិភាគទិន្នន័យដូចជា លក្ខណៈសម្បត្តិសម្ភារៈ និន្នាការអាកប្បកិរិយា និងស្ថានភាពឧបករណ៍។ តាមរបៀបនេះ IoT ទទួលបានស្គាល់ពិភពរូបវន្តពិត។ លើសពីនេះ ស្រទាប់ក៏អាចគ្រប់គ្រងស្ថានភាពរបស់ឧបករណ៍ផងដែរ។
ឧបករណ៍ទូទៅបំផុតនៃស្រទាប់នេះគឺឧបករណ៍ចាប់សញ្ញាផ្សេងៗដែលដើរតួនាទីយ៉ាងសំខាន់ក្នុងការប្រមូលព័ត៌មាន និងការកំណត់អត្តសញ្ញាណ។ ឧបករណ៍ចាប់សញ្ញាគឺដូចជាសរីរាង្គនៃអារម្មណ៍របស់មនុស្ស ដូចជាឧបករណ៍ចាប់សញ្ញាពន្លឺដែលស្មើនឹងការមើលឃើញ ឧបករណ៍ចាប់សញ្ញាសូរស័ព្ទទៅការស្តាប់ ឧបករណ៍ចាប់សញ្ញាឧស្ម័នសម្រាប់ការធុំក្លិន និងឧបករណ៍ចាប់សញ្ញាសម្ពាធ និងសីតុណ្ហភាពចំពោះការប៉ះ។ ជាមួយនឹង "សរីរាង្គអារម្មណ៍" ទាំងអស់នេះ វត្ថុក្លាយជា "នៅរស់" និងមានសមត្ថភាពនៃការយល់ឃើញដ៏ឆ្លាតវៃ ការទទួលស្គាល់ និងឧបាយកលនៃពិភពរូបវន្ត។
ស្រទាប់បណ្តាញ មុខងារសំខាន់នៃស្រទាប់បណ្តាញគឺបញ្ជូនព័ត៌មាន រួមទាំងទិន្នន័យដែលទទួលបានពីការយល់ឃើញ & ស្រទាប់ត្រួតពិនិត្យ ទៅកាន់គោលដៅដែលបានបញ្ជាក់ ក៏ដូចជាពាក្យបញ្ជាដែលចេញពីស្រទាប់កម្មវិធីត្រឡប់ទៅស្រទាប់ការយល់ឃើញ និងត្រួតពិនិត្យ។ វាបម្រើជាស្ពានទំនាក់ទំនងដ៏សំខាន់ដែលតភ្ជាប់ស្រទាប់ផ្សេងៗនៃប្រព័ន្ធ IoT ។ ដើម្បីរៀបចំគំរូមូលដ្ឋាននៃ Internet of Things វាពាក់ព័ន្ធនឹងជំហានពីរក្នុងការបញ្ចូលវត្ថុទៅក្នុងបណ្តាញមួយ៖ ការចូលប្រើអ៊ីនធឺណិត និងការបញ្ជូនតាមអ៊ីនធឺណិត។
ការចូលប្រើអ៊ីនធឺណែត អ៊ីនធឺណែត អនុញ្ញាតឱ្យមានទំនាក់ទំនងគ្នារវាងមនុស្ស និងមនុស្ស ប៉ុន្តែមិនអាចបញ្ចូលអ្វីៗទៅក្នុងគ្រួសារធំបានទេ។ មុនពេលការមកដល់នៃ IoT អ្វីៗភាគច្រើនមិនអាច "បណ្តាញ" បានទេ។ សូមអរគុណចំពោះការអភិវឌ្ឍន៍ជាបន្តបន្ទាប់នៃបច្ចេកវិទ្យា IoT គ្រប់គ្រងដើម្បីភ្ជាប់អ្វីៗទៅអ៊ីនធឺណិត ដូច្នេះហើយទើបដឹងថាទំនាក់ទំនងរវាង "មនុស្ស និងវត្ថុ" និង "វត្ថុ និងវត្ថុ" ។ មានវិធីទូទៅពីរដើម្បីអនុវត្តការភ្ជាប់អ៊ីនធឺណិត៖ ការចូលប្រើបណ្តាញឥតខ្សែ និងការចូលប្រើបណ្តាញឥតខ្សែ។
វិធីសាស្ត្រចូលប្រើបណ្តាញឥតខ្សែរួមមាន អ៊ីសឺរណិត ទំនាក់ទំនងសៀរៀល (ឧ. RS-232, RS-485) និង USB ខណៈដែលការចូលប្រើបណ្តាញឥតខ្សែអាស្រ័យលើការទំនាក់ទំនងឥតខ្សែ ដែលអាចបែងចែកបន្ថែមទៀតទៅជាទំនាក់ទំនងឥតខ្សែរយៈពេលខ្លី និងទំនាក់ទំនងឥតខ្សែរយៈចម្ងាយឆ្ងាយ។
ការទំនាក់ទំនងឥតខ្សែរយៈពេលខ្លីរួមមាន ZigBee, Bluetoothr, Wi-Fi, Near-Field Communication (NFC) និង Radio Frequency Identification (RFID)។ ការទំនាក់ទំនងឥតខ្សែរយៈចម្ងាយឆ្ងាយរួមមាន Enhanced Machine Type Communication (eMTC), LoRa, Narrow Band Internet of Things (NB-IoT), 2G, 3G, 4G, 5G ជាដើម។
ការបញ្ជូនតាមអ៊ីនធឺណែត វិធីសាស្រ្តផ្សេងគ្នានៃការចូលប្រើអ៊ីនធឺណិតនាំទៅរកតំណភ្ជាប់នៃការបញ្ជូនទិន្នន័យជាក់ស្តែង។ រឿងបន្ទាប់គឺត្រូវសម្រេចចិត្តថាតើពិធីការទំនាក់ទំនងមួយណាដែលត្រូវប្រើដើម្បីបញ្ជូនទិន្នន័យ។ បើប្រៀបធៀបជាមួយស្ថានីយអ៊ីនធឺណិត ស្ថានីយ IoT ភាគច្រើនបច្ចុប្បន្នមានតិចជាង
4 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
ធនធានដែលមានដូចជា ដំណើរការដំណើរការ សមត្ថភាពផ្ទុក អត្រាបណ្តាញ។ល។ ដូច្នេះចាំបាច់ត្រូវជ្រើសរើសពិធីការទំនាក់ទំនងដែលកាន់កាប់ធនធានតិចជាងមុននៅក្នុងកម្មវិធី IoT ។ មានពិធីការទំនាក់ទំនងពីរដែលត្រូវបានគេប្រើយ៉ាងទូលំទូលាយនាពេលបច្ចុប្បន្ននេះ៖ Message Queuing Telemetry Transport (MQTT) និង Constrained Application Protocol (CoAP)។
ស្រទាប់វេទិកា ស្រទាប់វេទិកាភាគច្រើនសំដៅទៅលើវេទិកាពពក IoT ។ នៅពេលដែលស្ថានីយ IoT ទាំងអស់ត្រូវបានភ្ជាប់បណ្តាញ ទិន្នន័យរបស់ពួកគេចាំបាច់ត្រូវប្រមូលផ្តុំនៅលើវេទិកាពពក IoT ដែលត្រូវគណនា និងរក្សាទុក។ ស្រទាប់វេទិកាគាំទ្រជាចម្បងកម្មវិធី IoT ក្នុងការសម្រួលដល់ការចូលប្រើប្រាស់ និងការគ្រប់គ្រងឧបករណ៍ដ៏ធំ។ វាភ្ជាប់ស្ថានីយ IoT ទៅវេទិកាពពក ប្រមូលទិន្នន័យស្ថានីយ និងចេញបញ្ជាទៅកាន់ស្ថានីយ ដើម្បីអនុវត្តការបញ្ជាពីចម្ងាយ។ ក្នុងនាមជាសេវាកម្មកម្រិតមធ្យមក្នុងការចាត់តាំងឧបករណ៍ដល់កម្មវិធីក្នុងឧស្សាហកម្ម ស្រទាប់វេទិកាដើរតួនាទីតភ្ជាប់នៅក្នុងស្ថាបត្យកម្ម IoT ទាំងមូល ដែលផ្ទុកនូវតក្កវិជ្ជាអាជីវកម្មអរូបី និងគំរូទិន្នន័យស្នូលស្តង់ដារ ដែលមិនត្រឹមតែអាចដឹងពីការចូលប្រើឧបករណ៍បានឆាប់រហ័សប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងផ្តល់នូវសមត្ថភាពម៉ូឌុលដ៏មានឥទ្ធិពលផងដែរ។ ដើម្បីបំពេញតម្រូវការផ្សេងៗនៅក្នុងសេណារីយ៉ូនៃកម្មវិធីឧស្សាហកម្ម។ ស្រទាប់វេទិកាភាគច្រើនរួមបញ្ចូលម៉ូឌុលមុខងារដូចជាការចូលប្រើឧបករណ៍ ការគ្រប់គ្រងឧបករណ៍ ការគ្រប់គ្រងសុវត្ថិភាព ទំនាក់ទំនងសារ ការត្រួតពិនិត្យប្រតិបត្តិការ និងការថែទាំ និងកម្មវិធីទិន្នន័យ។
· ការចូលប្រើឧបករណ៍ ដោយដឹងពីការតភ្ជាប់ និងការទំនាក់ទំនងរវាងស្ថានីយ និងវេទិកាពពក IoT ។
· ការគ្រប់គ្រងឧបករណ៍ រួមទាំងមុខងារដូចជា ការបង្កើតឧបករណ៍ ការថែរក្សាឧបករណ៍ ការបំប្លែងទិន្នន័យ ការធ្វើសមកាលកម្មទិន្នន័យ និងការចែកចាយឧបករណ៍។
· ការគ្រប់គ្រងសុវត្ថិភាព ធានាសុវត្ថិភាពនៃការបញ្ជូនទិន្នន័យ IoT ពីទស្សនៈនៃការផ្ទៀងផ្ទាត់សុវត្ថិភាព និងសុវត្ថិភាពទំនាក់ទំនង។
· ការទំនាក់ទំនងសារ រួមទាំងទិសដៅបញ្ជូនចំនួនបី ពោលគឺស្ថានីយបញ្ជូនទិន្នន័យទៅវេទិកាពពក IoT វេទិកាពពក IoT បញ្ជូនទិន្នន័យទៅផ្នែកម៉ាស៊ីនមេ ឬវេទិកាពពក IoT ផ្សេងទៀត ហើយផ្នែកម៉ាស៊ីនមេគ្រប់គ្រងឧបករណ៍ IoT ពីចម្ងាយ។
· ការត្រួតពិនិត្យ O&M ពាក់ព័ន្ធនឹងការត្រួតពិនិត្យ និងការធ្វើរោគវិនិច្ឆ័យ ការអាប់ដេតកម្មវិធីបង្កប់ ការបំបាត់កំហុសតាមអ៊ីនធឺណិត សេវាកម្មកំណត់ហេតុ។ល។
· កម្មវិធីទិន្នន័យ ពាក់ព័ន្ធនឹងការផ្ទុក ការវិភាគ និងការអនុវត្តទិន្នន័យ។
ស្រទាប់កម្មវិធី ស្រទាប់កម្មវិធីប្រើប្រាស់ទិន្នន័យពីស្រទាប់វេទិកា ដើម្បីគ្រប់គ្រងកម្មវិធី ត្រង និងដំណើរការពួកវាជាមួយឧបករណ៍ដូចជា មូលដ្ឋានទិន្នន័យ និងកម្មវិធីវិភាគ។ ទិន្នន័យលទ្ធផលអាចត្រូវបានប្រើប្រាស់សម្រាប់កម្មវិធី IoT ពិភពលោកជាក់ស្តែងដូចជា ការថែទាំសុខភាពឆ្លាតវៃ កសិកម្មឆ្លាតវៃ ផ្ទះឆ្លាតវៃ និងទីក្រុងឆ្លាតវៃ។
ជាការពិតណាស់ ស្ថាបត្យកម្មនៃ IoT អាចត្រូវបានបែងចែកទៅជាស្រទាប់ជាច្រើន ប៉ុន្តែទោះបីជាវាមានស្រទាប់ប៉ុន្មានក៏ដោយ គោលការណ៍មូលដ្ឋាននៅតែដដែល។ ការរៀន
ជំពូកទី 1. ការណែនាំអំពី IoT 5
អំពីស្ថាបត្យកម្មនៃ IoT ជួយបង្កើនការយល់ដឹងរបស់យើងអំពីបច្ចេកវិទ្យា IoT និងបង្កើតគម្រោង IoT ដែលមានមុខងារពេញលេញ។
1.2 កម្មវិធី IoT នៅក្នុង Smart Homes
IoT បានជ្រាបចូលទៅក្នុងគ្រប់មជ្ឈដ្ឋាននៃជីវិត ហើយកម្មវិធី IoT ដែលទាក់ទងជិតស្និទ្ធបំផុតចំពោះយើងគឺជាផ្ទះឆ្លាតវៃ។ ឧបករណ៍ប្រពៃណីជាច្រើនឥឡូវនេះត្រូវបានបំពាក់ដោយឧបករណ៍ IoT មួយ ឬច្រើន ហើយផ្ទះដែលទើបនឹងសាងសង់ថ្មីៗជាច្រើនត្រូវបានរចនាឡើងជាមួយនឹងបច្ចេកវិទ្យា IoT តាំងពីដំបូង។ រូបភាព 1.1 បង្ហាញឧបករណ៍ផ្ទះឆ្លាតវៃទូទៅមួយចំនួន។
រូបភាព 1.1 ។ ឧបករណ៍ផ្ទះឆ្លាតវៃទូទៅ ការអភិវឌ្ឍន៍ផ្ទះឆ្លាតវៃអាចបែងចែកយ៉ាងសាមញ្ញទៅជាផលិតផលឆ្លាតវៃtage, scene interconnection stage និងឆ្លាតវៃ stage ដូចដែលបានបង្ហាញក្នុងរូបភាព 1.2 ។
រូបភាព 1.2 ។ ការអភិវឌ្ឍន៍ សtage of smart home 6 ESP32-C3 Wireless Adventure: មគ្គុទ្ទេសក៍ទូលំទូលាយចំពោះ IoT
ទីមួយ សtagអ៊ីគឺអំពីផលិតផលឆ្លាតវៃ។ ខុសពីគេហដ្ឋានបុរាណ នៅក្នុងផ្ទះឆ្លាតវៃ ឧបករណ៍ IoT ទទួលសញ្ញាជាមួយឧបករណ៍ចាប់សញ្ញា ហើយត្រូវបានភ្ជាប់តាមរយៈបច្ចេកវិទ្យាទំនាក់ទំនងឥតខ្សែដូចជា Wi-Fi, Bluetooth LE និង ZigBee ។ អ្នកប្រើអាចគ្រប់គ្រងផលិតផលឆ្លាតវៃតាមវិធីផ្សេងៗគ្នាដូចជាកម្មវិធីទូរសព្ទស្មាតហ្វូន ជំនួយការសំឡេង ការបញ្ជាឧបករណ៍បំពងសំឡេងឆ្លាតវៃ។ល។tage ផ្តោតលើការភ្ជាប់គ្នារវាងកន្លែងកើតហេតុ។ ក្នុងនេះ សtage អ្នកអភិវឌ្ឍន៍លែងពិចារណាលើការគ្រប់គ្រងផលិតផលឆ្លាតវៃតែមួយទៀតហើយ ប៉ុន្តែការភ្ជាប់ផលិតផលឆ្លាតវៃពីរ ឬច្រើន ដំណើរការដោយស្វ័យប្រវត្តិក្នុងកម្រិតជាក់លាក់មួយ ហើយចុងក្រោយបង្កើតទម្រង់ឈុតផ្ទាល់ខ្លួន។ សម្រាប់អតីតampដូច្នេះ នៅពេលដែលអ្នកប្រើប្រាស់ចុចប៊ូតុងរបៀបឈុតណាមួយ ភ្លើង វាំងនន និងម៉ាស៊ីនត្រជាក់នឹងប្រែប្រួលដោយស្វ័យប្រវត្តិទៅតាមការកំណត់ជាមុន។ ជាការពិតណាស់ មានតម្រូវការជាមុនដែលតក្កវិជ្ជាភ្ជាប់ត្រូវបានបង្កើតឡើងយ៉ាងងាយស្រួល រួមទាំងលក្ខខណ្ឌកេះ និងសកម្មភាពប្រតិបត្តិ។ ស្រមៃថារបៀបកំដៅម៉ាស៊ីនត្រជាក់ត្រូវបានកេះនៅពេលដែលសីតុណ្ហភាពក្នុងផ្ទះធ្លាក់ចុះក្រោម 10°C; ថានៅម៉ោង 7 ព្រឹក តន្ត្រីត្រូវបានលេងដើម្បីដាស់អ្នកប្រើប្រាស់ វាំងននឆ្លាតវៃត្រូវបានបើក ហើយចង្ក្រានបាយ ឬឡដុតនំប៉័ងចាប់ផ្តើមតាមរយៈរន្ធឆ្លាតវៃ។ នៅពេលអ្នកប្រើប្រាស់ក្រោកពីដំណេក ហើយលាងជម្រះ អាហារពេលព្រឹកត្រូវបានបម្រើរួចរាល់ហើយ ដើម្បីកុំឱ្យមានការពន្យារពេលក្នុងការទៅធ្វើការ។ ជីវិតយើងស្រួលប៉ុណ្ណាទៅ! ទីបី សtage ទៅ Intelligence stagអ៊ី នៅពេលដែលឧបករណ៍ផ្ទះឆ្លាតវៃកាន់តែច្រើនត្រូវបានចូលប្រើ នោះប្រភេទនៃទិន្នន័យដែលបានបង្កើតនឹងដូចគ្នា។ ដោយមានជំនួយពីកុំព្យូទ័រពពក ទិន្នន័យធំ និងបញ្ញាសិប្បនិម្មិត វាដូចជា "ខួរក្បាលឆ្លាតវៃ" ត្រូវបានដាំចូលទៅក្នុងផ្ទះឆ្លាតវៃ ដែលលែងត្រូវការការបញ្ជាញឹកញាប់ពីអ្នកប្រើប្រាស់ទៀតហើយ។ ពួកគេប្រមូលទិន្នន័យពីការប្រាស្រ័យទាក់ទងគ្នាពីមុន និងសិក្សាពីគំរូអាកប្បកិរិយា និងចំណូលចិត្តរបស់អ្នកប្រើប្រាស់ ដើម្បីធ្វើសកម្មភាពដោយស្វ័យប្រវត្តិ រួមទាំងការផ្តល់ការណែនាំសម្រាប់ការសម្រេចចិត្តផងដែរ។ បច្ចុប្បន្ននេះ គេហដ្ឋានឆ្លាតវៃភាគច្រើនស្ថិតនៅកន្លែងភ្ជាប់ទំនាក់ទំនងtagអ៊ី នៅពេលដែលអត្រានៃការជ្រៀតចូល និងភាពឆ្លាតវៃនៃផលិតផលឆ្លាតវៃកើនឡើង ឧបសគ្គរវាងពិធីការទំនាក់ទំនងកំពុងត្រូវបានដកចេញ។ នៅពេលអនាគត ផ្ទះឆ្លាតវៃនឹងក្លាយទៅជា "ឆ្លាត" ដូចទៅនឹងប្រព័ន្ធ AI Jarvis ក្នុង Iron Man ដែលមិនត្រឹមតែអាចជួយអ្នកប្រើប្រាស់គ្រប់គ្រងឧបករណ៍ផ្សេងៗ ដោះស្រាយកិច្ចការប្រចាំថ្ងៃប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងមានថាមពលកុំព្យូទ័រ និងសមត្ថភាពគិតផងដែរ។ នៅក្នុង s ឆ្លាតវៃtage មនុស្សនឹងទទួលបានសេវាកម្មកាន់តែប្រសើរទាំងបរិមាណ និងគុណភាព។
ជំពូកទី 1. ការណែនាំអំពី IoT 7
8 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
ជំពូក ការណែនាំ និងការអនុវត្តគម្រោង IoT ចំនួន 2
នៅក្នុងជំពូកទី 1 យើងបានណែនាំអំពីស្ថាបត្យកម្មនៃ IoT និងតួនាទី និងទំនាក់ទំនងអន្តរកម្មនៃស្រទាប់ការយល់ឃើញ និងការគ្រប់គ្រង ស្រទាប់បណ្តាញ ស្រទាប់វេទិកា និងស្រទាប់កម្មវិធី ក៏ដូចជាការអភិវឌ្ឍន៍នៃផ្ទះឆ្លាតវៃផងដែរ។ ទោះយ៉ាងណាក៏ដោយ ដូចជាពេលយើងរៀនលាបពណ៌ ការដឹងពីទ្រឹស្តីគឺនៅឆ្ងាយពីគ្រប់គ្រាន់។ យើងត្រូវ "ធ្វើឱ្យដៃរបស់យើងកខ្វក់" ដើម្បីដាក់គម្រោង IoT ទៅក្នុងការអនុវត្ត ដើម្បីធ្វើជាម្ចាស់នៃបច្ចេកវិទ្យាយ៉ាងពិតប្រាកដ។ លើសពីនេះទៀតនៅពេលដែលគម្រោងមួយផ្លាស់ទីទៅផលិតកម្មដ៏ធំ stage ចាំបាច់ត្រូវពិចារណាលើកត្តាជាច្រើនទៀតដូចជា ការតភ្ជាប់បណ្តាញ ការកំណត់រចនាសម្ព័ន្ធ អន្តរកម្មវេទិកាពពក IoT ការគ្រប់គ្រងកម្មវិធីបង្កប់ និងការអាប់ដេត ការគ្រប់គ្រងផលិតកម្មដ៏ធំ និងការកំណត់រចនាសម្ព័ន្ធសុវត្ថិភាព។ ដូច្នេះ តើយើងត្រូវយកចិត្តទុកដាក់អ្វីខ្លះនៅពេលបង្កើតគម្រោង IoT ពេញលេញ? នៅក្នុងជំពូកទី 1 យើងបានរៀបរាប់ថាផ្ទះឆ្លាតវៃគឺជាសេណារីយ៉ូនៃកម្មវិធី IoT ទូទៅបំផុតមួយ ហើយអំពូលភ្លើងឆ្លាតវៃគឺជាឧបករណ៍ប្រើប្រាស់ជាមូលដ្ឋាន និងជាក់ស្តែងបំផុត ដែលអាចប្រើបាននៅក្នុងផ្ទះ សណ្ឋាគារ កន្លែងហាត់ប្រាណ មន្ទីរពេទ្យ។ល។ សៀវភៅនេះ យើងនឹងលើកយកការសាងសង់គម្រោងពន្លឺឆ្លាតវៃជាចំណុចចាប់ផ្តើម ពន្យល់ពីធាតុផ្សំ និងលក្ខណៈពិសេសរបស់វា និងផ្តល់ការណែនាំអំពីការអភិវឌ្ឍន៍គម្រោង។ យើងសង្ឃឹមថាអ្នកអាចទាញការសន្និដ្ឋានពីករណីនេះ ដើម្បីបង្កើតកម្មវិធី IoT បន្ថែមទៀត។
2.1 ការណែនាំអំពីគម្រោង IoT ធម្មតា។
នៅក្នុងលក្ខខណ្ឌនៃការអភិវឌ្ឍន៍ ម៉ូឌុលមុខងារជាមូលដ្ឋាននៃគម្រោង IoT អាចត្រូវបានចាត់ថ្នាក់ទៅជាការអភិវឌ្ឍន៍ផ្នែកទន់ និងផ្នែករឹងនៃឧបករណ៍ IoT ការអភិវឌ្ឍន៍កម្មវិធីអតិថិជន និងការអភិវឌ្ឍន៍វេទិកាពពក IoT ។ វាមានសារៈសំខាន់ណាស់ក្នុងការបញ្ជាក់អំពីម៉ូឌុលមុខងារជាមូលដ្ឋាន ដែលនឹងត្រូវបានពិពណ៌នាបន្ថែមនៅក្នុងផ្នែកនេះ។
2.1.1 ម៉ូឌុលមូលដ្ឋានសម្រាប់ឧបករណ៍ IoT ទូទៅ
ការអភិវឌ្ឍន៍ផ្នែកទន់ និងផ្នែករឹងនៃឧបករណ៍ IoT រួមមានម៉ូឌុលមូលដ្ឋានដូចខាងក្រោមៈ ការប្រមូលទិន្នន័យ
ក្នុងនាមជាស្រទាប់ខាងក្រោមនៃស្ថាបត្យកម្ម IoT ឧបករណ៍ IoT នៃការយល់ឃើញ និងស្រទាប់ត្រួតពិនិត្យភ្ជាប់ឧបករណ៍ចាប់សញ្ញា និងឧបករណ៍តាមរយៈបន្ទះសៀគ្វី និងគ្រឿងកុំព្យូទ័ររបស់ពួកគេ ដើម្បីសម្រេចបាននូវការប្រមូលទិន្នន័យ និងការគ្រប់គ្រងប្រតិបត្តិការ។
9
ការចងគណនី និងការកំណត់រចនាសម្ព័ន្ធដំបូង សម្រាប់ឧបករណ៍ IoT ភាគច្រើន ការចងគណនី និងការកំណត់រចនាសម្ព័ន្ធដំបូងត្រូវបានបញ្ចប់នៅក្នុងដំណើរការប្រតិបត្តិការមួយ សម្រាប់ឧ។ample ភ្ជាប់ឧបករណ៍ជាមួយអ្នកប្រើប្រាស់ដោយកំណត់រចនាសម្ព័ន្ធបណ្តាញ Wi-Fi ។
អន្តរកម្មជាមួយវេទិកាពពក IoT ដើម្បីត្រួតពិនិត្យ និងគ្រប់គ្រងឧបករណ៍ IoT វាក៏ចាំបាច់ផងដែរក្នុងការតភ្ជាប់ពួកវាទៅវេទិកាពពក IoT ដើម្បីផ្តល់ការបញ្ជា និងរាយការណ៍ស្ថានភាពតាមរយៈអន្តរកម្មរវាងគ្នាទៅវិញទៅមក។
ការគ្រប់គ្រងឧបករណ៍ នៅពេលភ្ជាប់ជាមួយវេទិកាពពក IoT ឧបករណ៍អាចទំនាក់ទំនងជាមួយពពក ហើយត្រូវបានចុះឈ្មោះ ចង ឬគ្រប់គ្រង។ អ្នកប្រើប្រាស់អាចសាកសួរស្ថានភាពផលិតផល និងអនុវត្តប្រតិបត្តិការផ្សេងទៀតនៅលើកម្មវិធីស្មាតហ្វូនតាមរយៈវេទិកាពពក IoT ឬពិធីការទំនាក់ទំនងក្នុងតំបន់។
ការដំឡើងកម្មវិធីបង្កប់ IoT ឧបករណ៍ក៏អាចសម្រេចបាននូវការអាប់ដេតកម្មវិធីបង្កប់ដោយផ្អែកលើតម្រូវការរបស់អ្នកផលិតផងដែរ។ តាមរយៈការទទួលពាក្យបញ្ជាដែលផ្ញើដោយពពក ការអាប់ដេតកម្មវិធីបង្កប់ និងការគ្រប់គ្រងកំណែនឹងត្រូវបានដឹង។ ជាមួយនឹងមុខងារធ្វើឱ្យប្រសើរឡើងនៃកម្មវិធីបង្កប់នេះ អ្នកអាចបន្តបង្កើនមុខងាររបស់ឧបករណ៍ IoT ជួសជុលពិការភាព និងកែលម្អបទពិសោធន៍អ្នកប្រើប្រាស់។
2.1.2 ម៉ូឌុលមូលដ្ឋាននៃកម្មវិធីអតិថិជន
កម្មវិធីអតិថិជន (ឧ. កម្មវិធីស្មាតហ្វូន) រួមបញ្ចូលជាចម្បងនូវម៉ូឌុលមូលដ្ឋានខាងក្រោម៖
ប្រព័ន្ធគណនី និងការអនុញ្ញាត វាគាំទ្រការអនុញ្ញាតគណនី និងឧបករណ៍។
ការគ្រប់គ្រងឧបករណ៍ កម្មវិធីស្មាតហ្វូន ជាធម្មតាត្រូវបានបំពាក់ដោយមុខងារគ្រប់គ្រង។ អ្នកប្រើប្រាស់អាចភ្ជាប់ទៅឧបករណ៍ IoT បានយ៉ាងងាយស្រួល និងគ្រប់គ្រងពួកវាបានគ្រប់ពេលវេលា គ្រប់ទីកន្លែង តាមរយៈកម្មវិធីស្មាតហ្វូន។ នៅក្នុងផ្ទះឆ្លាតវៃក្នុងពិភពពិត ឧបករណ៍ភាគច្រើនត្រូវបានគ្រប់គ្រងតាមរយៈកម្មវិធីស្មាតហ្វូន ដែលមិនត្រឹមតែអាចគ្រប់គ្រងឧបករណ៍ឆ្លាតវៃប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងជួយសន្សំសំចៃថ្លៃកម្លាំងពលកម្មផងដែរ។ ដូច្នេះ ការគ្រប់គ្រងឧបករណ៍គឺជាកត្តាចាំបាច់សម្រាប់កម្មវិធីអតិថិជន ដូចជាការគ្រប់គ្រងមុខងារឧបករណ៍ ការគ្រប់គ្រងកន្លែងកើតហេតុ ការកំណត់កាលវិភាគ ការបញ្ជាពីចម្ងាយ ការភ្ជាប់ឧបករណ៍។ល។ អ្នកប្រើប្រាស់ Smart home ក៏អាចប្ដូរឈុតឆាកតាមតម្រូវការផ្ទាល់ខ្លួន ការគ្រប់គ្រងពន្លឺ គ្រឿងប្រើប្រាស់ក្នុងផ្ទះ ច្រកចូល។ ជាដើម ដើម្បីធ្វើឱ្យជីវិតផ្ទះកាន់តែមានផាសុកភាព និងងាយស្រួល។ ពួកគេអាចកំណត់ម៉ោងម៉ាស៊ីនត្រជាក់ បិទវាពីចម្ងាយ កំណត់ពន្លឺតាមសាលធំដោយស្វ័យប្រវត្តិ នៅពេលដែលទ្វារត្រូវបានដោះសោ ឬប្តូរទៅរបៀប "រោងកុន" ដោយប្រើប៊ូតុងតែមួយ។
កម្មវិធី Notification Client ធ្វើបច្ចុប្បន្នភាពស្ថានភាពពេលវេលាជាក់ស្តែងនៃឧបករណ៍ IoT ហើយផ្ញើការជូនដំណឹងនៅពេលដែលឧបករណ៍ដំណើរការខុសប្រក្រតី។
10 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
សេវាកម្មអតិថិជនក្រោយពេលលក់កម្មវិធីទូរស័ព្ទស្មាតហ្វូនអាចផ្តល់សេវាកម្មក្រោយពេលលក់សម្រាប់ផលិតផល ដើម្បីដោះស្រាយបញ្ហាទាក់ទងនឹងការបរាជ័យឧបករណ៍ IoT និងប្រតិបត្តិការបច្ចេកទេសទាន់ពេលវេលា។
មុខងារពិសេស ដើម្បីបំពេញតម្រូវការរបស់អ្នកប្រើប្រាស់ផ្សេងៗគ្នា មុខងារផ្សេងទៀតអាចត្រូវបានបន្ថែមដូចជា Shake, NFC, GPS ជាដើម។ GPS អាចជួយកំណត់ភាពត្រឹមត្រូវនៃប្រតិបត្តិការកន្លែងកើតហេតុទៅតាមទីតាំង និងចម្ងាយ ចំណែកមុខងារ Shake អនុញ្ញាតឱ្យអ្នកប្រើប្រាស់កំណត់ ពាក្យបញ្ជាដែលត្រូវប្រតិបត្តិសម្រាប់ឧបករណ៍ជាក់លាក់ ឬឈុតដោយការញ័រ។
2.1.3 ការណែនាំអំពីវេទិកាពពក IoT ទូទៅ
វេទិកាពពក IoT គឺជាវេទិកាទាំងអស់នៅក្នុងមួយ ដែលរួមបញ្ចូលមុខងារដូចជាការគ្រប់គ្រងឧបករណ៍ ការទំនាក់ទំនងសុវត្ថិភាពទិន្នន័យ និងការគ្រប់គ្រងការជូនដំណឹង។ យោងតាមក្រុមគោលដៅ និងលទ្ធភាពប្រើប្រាស់របស់ពួកគេ វេទិកាពពក IoT អាចត្រូវបានបែងចែកទៅជាវេទិកាពពក IoT សាធារណៈ (តទៅនេះហៅថា "ពពកសាធារណៈ") និងវេទិកាពពក IoT ឯកជន (តទៅនេះហៅថា "ពពកឯកជន") ។
ពពកសាធារណៈជាធម្មតាបង្ហាញពីវេទិកាពពក IoT ដែលបានចែករំលែកសម្រាប់សហគ្រាស ឬបុគ្គល ដំណើរការ និងថែទាំដោយអ្នកផ្តល់វេទិកា និងចែករំលែកតាមរយៈអ៊ីនធឺណិត។ វាអាចឥតគិតថ្លៃ ឬមានតម្លៃទាប ហើយផ្តល់សេវាកម្មទូទាំងបណ្តាញសាធារណៈបើកចំហ ដូចជា Alibaba Cloud, Tencent Cloud, Baidu Cloud, AWS IoT, Google IoT ជាដើម។ ជាវេទិកាគាំទ្រ ពពកសាធារណៈអាចរួមបញ្ចូលអ្នកផ្តល់សេវាខាងលើ និង អ្នកប្រើប្រាស់ចុងក្រោយដើម្បីបង្កើតខ្សែសង្វាក់តម្លៃថ្មី និងប្រព័ន្ធអេកូឡូស៊ី។
ពពកឯកជនត្រូវបានបង្កើតឡើងសម្រាប់តែការប្រើប្រាស់ក្នុងសហគ្រាស ដូច្នេះធានានូវការគ្រប់គ្រងដ៏ល្អបំផុតលើទិន្នន័យ សុវត្ថិភាព និងគុណភាពសេវាកម្ម។ សេវាកម្ម និងហេដ្ឋារចនាសម្ព័ន្ធរបស់វាត្រូវបានថែរក្សាដាច់ដោយឡែកពីគ្នាដោយសហគ្រាស ហើយផ្នែករឹង និងសូហ្វវែរដែលគាំទ្រក៏ត្រូវបានឧទ្ទិសដល់អ្នកប្រើប្រាស់ជាក់លាក់ផងដែរ។ សហគ្រាសអាចប្ដូរសេវាកម្មពពកតាមតម្រូវការ ដើម្បីបំពេញតម្រូវការអាជីវកម្មរបស់ពួកគេ។ នាពេលបច្ចុប្បន្ននេះ ក្រុមហ៊ុនផលិតផ្ទះឆ្លាតវៃមួយចំនួនបានទទួលវេទិកាពពក IoT ឯកជនរួចហើយ ហើយបានបង្កើតកម្មវិធីផ្ទះឆ្លាតវៃដោយផ្អែកលើពួកវា។
ពពកសាធារណៈ និងពពកឯកជនមាន advan ផ្ទាល់ខ្លួនtages ដែលនឹងត្រូវបានពន្យល់នៅពេលក្រោយ។
ដើម្បីសម្រេចបាននូវការតភ្ជាប់ទំនាក់ទំនង វាចាំបាច់ក្នុងការបញ្ចប់យ៉ាងហោចណាស់ការអភិវឌ្ឍន៍ដែលបានបង្កប់នៅផ្នែកខាងឧបករណ៍ រួមជាមួយនឹងម៉ាស៊ីនមេអាជីវកម្ម វេទិកាពពក IoT និងកម្មវិធីស្មាតហ្វូន។ ប្រឈមមុខនឹងគម្រោងដ៏ធំបែបនេះ ពពកសាធារណៈជាធម្មតាផ្តល់នូវឧបករណ៍អភិវឌ្ឍន៍កម្មវិធីសម្រាប់ផ្នែកខាងឧបករណ៍ និងកម្មវិធីស្មាតហ្វូន ដើម្បីបង្កើនល្បឿនដំណើរការនេះ។ ទាំងពពកសាធារណៈ និងឯកជនផ្តល់សេវាកម្មរួមទាំងការចូលប្រើឧបករណ៍ ការគ្រប់គ្រងឧបករណ៍ ស្រមោលឧបករណ៍ និងប្រតិបត្តិការ និងការថែទាំ។
ការចូលប្រើឧបករណ៍ IoT cloud platforms ត្រូវតែផ្តល់មិនត្រឹមតែចំណុចប្រទាក់សម្រាប់ការចូលប្រើឧបករណ៍ដោយប្រើពិធីការប៉ុណ្ណោះទេ
ជំពូកទី 2. ការណែនាំ និងការអនុវត្តគម្រោង IoT 11
ដូចជា MQTT, CoAP, HTTPS និង Webរន្ធ ប៉ុន្តែក៏មានមុខងារនៃការផ្ទៀងផ្ទាត់សុវត្ថិភាពឧបករណ៍ ដើម្បីទប់ស្កាត់ឧបករណ៍ក្លែងក្លាយ និងខុសច្បាប់ កាត់បន្ថយហានិភ័យនៃការសម្របសម្រួលយ៉ាងមានប្រសិទ្ធភាព។ ការផ្ទៀងផ្ទាត់បែបនេះជាធម្មតាគាំទ្រយន្តការផ្សេងៗ ដូច្នេះនៅពេលដែលឧបករណ៍ត្រូវបានផលិតឡើង ចាំបាច់ត្រូវកំណត់វិញ្ញាបនបត្រឧបករណ៍ជាមុនដោយយោងតាមយន្តការផ្ទៀងផ្ទាត់ដែលបានជ្រើសរើស ហើយដុតវាទៅក្នុងឧបករណ៍។
ការគ្រប់គ្រងឧបករណ៍ មុខងារគ្រប់គ្រងឧបករណ៍ដែលផ្តល់ដោយ IoT cloud platforms មិនត្រឹមតែអាចជួយអ្នកផលិតត្រួតពិនិត្យស្ថានភាពសកម្ម និងស្ថានភាពអនឡាញនៃឧបករណ៍របស់ពួកគេក្នុងពេលជាក់ស្តែងប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងអនុញ្ញាតឱ្យមានជម្រើសដូចជា បន្ថែម/ដកឧបករណ៍ ទាញយក បន្ថែម/លុបក្រុម អាប់ដេតកម្មវិធីបង្កប់។ និងការគ្រប់គ្រងកំណែ។
ស្រមោលឧបករណ៍ IoT ពពកវេទិកាអាចបង្កើតកំណែនិម្មិតជាប់លាប់ (ស្រមោលឧបករណ៍) សម្រាប់ឧបករណ៍នីមួយៗ ហើយស្ថានភាពនៃស្រមោលឧបករណ៍អាចត្រូវបានធ្វើសមកាលកម្ម និងទទួលបានដោយកម្មវិធីស្មាតហ្វូន ឬឧបករណ៍ផ្សេងទៀតតាមរយៈពិធីការបញ្ជូនអ៊ីនធឺណិត។ ស្រមោលឧបករណ៍រក្សាទុកស្ថានភាពដែលបានរាយការណ៍ចុងក្រោយ និងស្ថានភាពរំពឹងទុកនៃឧបករណ៍នីមួយៗ ហើយទោះបីជាឧបករណ៍នេះមិនមានអ៊ីនធឺណិតក៏ដោយ ក៏វានៅតែអាចទទួលបានស្ថានភាពដោយការហៅទៅ APIs ។ ស្រមោលឧបករណ៍ផ្តល់ APIs ជានិច្ច ដែលធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការបង្កើតកម្មវិធីស្មាតហ្វូនដែលមានអន្តរកម្មជាមួយឧបករណ៍។
ប្រតិបត្តិការ និងការថែទាំ មុខងារ O&M រួមមានទិដ្ឋភាពបី៖ · ការបង្ហាញព័ត៌មានស្ថិតិអំពីឧបករណ៍ IoT និងការជូនដំណឹង។ · ការគ្រប់គ្រងកំណត់ហេតុអនុញ្ញាតឱ្យទាញយកព័ត៌មានអំពីឥរិយាបថឧបករណ៍ លំហូរសារឡើង/ចុះ និងខ្លឹមសារសារ។ · ការកែកំហុសឧបករណ៍គាំទ្រការបញ្ជូនពាក្យបញ្ជា ការធ្វើបច្ចុប្បន្នភាពការកំណត់រចនាសម្ព័ន្ធ និងពិនិត្យមើលអន្តរកម្មរវាងវេទិកាពពក IoT និងសារឧបករណ៍។
2.2 ការអនុវត្ត៖ គម្រោងពន្លឺឆ្លាតវៃ
បន្ទាប់ពីការណែនាំទ្រឹស្តីនៅក្នុងជំពូកនីមួយៗ អ្នកនឹងរកឃើញផ្នែកអនុវត្តដែលទាក់ទងនឹងគម្រោង Smart Light ដើម្បីជួយអ្នកទទួលបានបទពិសោធន៍ផ្ទាល់។ គម្រោងនេះគឺផ្អែកលើបន្ទះឈីប ESP32-C3 របស់ Espressif និង ESP RainMaker IoT Cloud Platform និងគ្របដណ្តប់ផ្នែករឹងម៉ូឌុលឥតខ្សែនៅក្នុងផលិតផលពន្លឺឆ្លាតវៃ កម្មវិធីបង្កប់សម្រាប់ឧបករណ៍ឆ្លាតវៃដោយផ្អែកលើ ESP32C3 កម្មវិធីស្មាតហ្វូន និងអន្តរកម្ម ESP RainMaker ។
កូដប្រភពសម្រាប់ការរៀនសូត្រ និងបទពិសោធន៍កាន់តែប្រសើរឡើង គម្រោងនៅក្នុងសៀវភៅនេះត្រូវបានប្រភពបើកចំហ។ អ្នកអាចទាញយកកូដប្រភពពីឃ្លាំង GitHub របស់យើងនៅ https://github ។ com/espressif/book-esp32c3-iot-projects ។
12 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ 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 control ដូចជា switch, brightness, color temperature, etc. · Automation or scene control, eg, time switch. · ការអ៊ិនគ្រីប និងសុវត្ថិភាពនៃការចាប់ផ្ដើម Flash ។ · ការដំឡើងកម្មវិធីបង្កប់ និងការគ្រប់គ្រងកំណែ។
ជំពូកទី 2. ការណែនាំ និងការអនុវត្តគម្រោង IoT 13
កម្មវិធីស្មាតហ្វូន · ការកំណត់រចនាសម្ព័ន្ធបណ្តាញ និងការចងឧបករណ៍។ · ការគ្រប់គ្រងផលិតផលពន្លឺឆ្លាតវៃ ដូចជាកុងតាក់ ពន្លឺ សីតុណ្ហភាពពណ៌។ល។ · ការកំណត់ដោយស្វ័យប្រវត្តិ ឬឈុតឆាក ឧ. · ការបញ្ជាក្នុងតំបន់/ពីចម្ងាយ · ការចុះឈ្មោះអ្នកប្រើប្រាស់ ការចូលជាដើម។
ESP RainMaker IoT cloud platform · បើកដំណើរការឧបករណ៍ IoT ។ · ផ្តល់ API ប្រតិបត្តិការឧបករណ៍ដែលអាចចូលប្រើបានក្នុងកម្មវិធីស្មាតហ្វូន។ · ការដំឡើងកម្មវិធីបង្កប់ និងការគ្រប់គ្រងកំណែ។
2.2.3 ការរៀបចំផ្នែករឹង
ប្រសិនបើចាប់អារម្មណ៍ក្នុងការអនុវត្តគម្រោងនេះ អ្នកក៏នឹងត្រូវការផ្នែករឹងខាងក្រោមផងដែរ៖ អំពូលភ្លើងឆ្លាតវៃ ស្មាតហ្វូន រ៉ោតទ័រ Wi-Fi និងកុំព្យូទ័រដែលបំពេញតម្រូវការដំឡើងនៃបរិស្ថានអភិវឌ្ឍន៍។ អំពូលភ្លើងឆ្លាតវៃ
អំពូលភ្លើងឆ្លាតវៃ គឺជាប្រភេទអំពូលប្រភេទថ្មី ដែលរូបរាងរបស់វាដូចគ្នាទៅនឹងអំពូលភ្លើងទូទៅដែរ។ អំពូលភ្លើងឆ្លាតវៃមានធាតុផ្សំនៃការផ្គត់ផ្គង់ថាមពលដែលគ្រប់គ្រងដោយកម្រិត capacitor ម៉ូឌុលឥតខ្សែ (មានភ្ជាប់មកជាមួយ ESP32-C3) ឧបករណ៍បញ្ជា LED និងម៉ាទ្រីស RGB LED ។ នៅពេលភ្ជាប់ទៅថាមពល វ៉ុល 15 V DCtage ទិន្នផលបន្ទាប់ពី capacitor step-down, diode rectification, and regulation ផ្តល់ថាមពលដល់ LED controller និង LED matrix ។ ឧបករណ៍បញ្ជា LED អាចបញ្ជូនកម្រិតខ្ពស់ និងទាបដោយស្វ័យប្រវត្តិនៅចន្លោះពេលជាក់លាក់ ដោយប្តូរម៉ាទ្រីស RGB LED រវាងបិទ (ភ្លើង) និងបើក (ភ្លើងបិទ) ដូច្នេះវាអាចបញ្ចេញពន្លឺពណ៌ខៀវ លឿង បៃតង ពណ៌ស្វាយ ខៀវ ក្រហម និង ពន្លឺពណ៌ស។ ម៉ូឌុលឥតខ្សែគឺទទួលខុសត្រូវក្នុងការតភ្ជាប់ទៅរ៉ោតទ័រ Wi-Fi ទទួល និងរាយការណ៍ពីស្ថានភាពនៃពន្លឺឆ្លាតវៃ និងការផ្ញើពាក្យបញ្ជាដើម្បីគ្រប់គ្រង LED ។
រូបភាព 2.2 ។ ពន្លឺឆ្លាតវៃក្លែងធ្វើ
នៅក្នុងការអភិវឌ្ឍន៍ដំបូង សtage អ្នកអាចក្លែងធ្វើអំពូលភ្លើងឆ្លាតវៃដោយប្រើបន្ទះ ESP32-C3DevKitM-1 ដែលភ្ជាប់ជាមួយ RGB LED lamp អង្កាំ (សូមមើលរូបភាព 2.2) ។ ប៉ុន្តែអ្នកគួរតែ
14 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
ចំណាំថានេះមិនមែនជាវិធីតែមួយគត់ដើម្បីប្រមូលផ្តុំពន្លឺឆ្លាតវៃនោះទេ។ ការរចនាផ្នែករឹងនៃគម្រោងនៅក្នុងសៀវភៅនេះមានតែម៉ូឌុលឥតខ្សែ (ជាមួយ ESP32-C3 ដែលមានស្រាប់) ប៉ុន្តែមិនមែនជាការរចនាផ្នែករឹងពន្លឺឆ្លាតវៃពេញលេញនោះទេ។ លើសពីនេះ Espressif ក៏ផលិតបន្ទះអភិវឌ្ឍន៍អូឌីយ៉ូ ESP32-C3 ដែលមានមូលដ្ឋានលើ ESP32C3-Lyra សម្រាប់គ្រប់គ្រងពន្លឺជាមួយនឹងសំឡេង។ បន្ទះនេះមានចំណុចប្រទាក់សម្រាប់មីក្រូហ្វូន និងឧបករណ៍បំពងសម្លេង ហើយអាចគ្រប់គ្រងបន្ទះ LED ។ វាអាចត្រូវបានប្រើសម្រាប់ការបង្កើតឧបករណ៍ផ្សាយសំឡេងដែលមានតម្លៃទាបបំផុតដែលមានសមត្ថភាពខ្ពស់ និងបន្ទះពន្លឺចង្វាក់។ រូបភាព 2.3 បង្ហាញបន្ទះ ESP32-C3Lyra ភ្ជាប់ជាមួយបន្ទះ LED ចំនួន 40 ។
រូបភាព 2.3 ។ ESP32-C3-Lyra ភ្ជាប់ជាមួយបន្ទះអំពូល LED ចំនួន 40
ស្មាតហ្វូន (Android/iOS) គម្រោង Smart Light ពាក់ព័ន្ធនឹងការបង្កើតកម្មវិធីស្មាតហ្វូនសម្រាប់ដំឡើង និងគ្រប់គ្រងផលិតផលពន្លឺឆ្លាតវៃ។
រ៉ោតទ័រ Wi-Fi រ៉ោតទ័រ Wi-Fi បំប្លែងសញ្ញាបណ្តាញខ្សែ និងសញ្ញាបណ្តាញទូរសព្ទចល័តទៅជាសញ្ញាបណ្តាញឥតខ្សែ សម្រាប់កុំព្យូទ័រ ស្មាតហ្វូន ថេប្លេត និងឧបករណ៍ឥតខ្សែផ្សេងទៀតដើម្បីភ្ជាប់ទៅបណ្តាញ។ សម្រាប់អតីតampដូច្នេះ អ៊ិនធឺណិតនៅក្នុងផ្ទះគ្រាន់តែត្រូវការភ្ជាប់ទៅរ៉ោតទ័រ 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) ឬ dual-band (2.4 GHz និង 5 GHz) ។
បរិស្ថានអភិវឌ្ឍន៍កុំព្យូទ័រ (Linux/macOS/Windows) នឹងត្រូវបានណែនាំនៅក្នុងជំពូកទី 4 ។ ជំពូកទី 2. ការណែនាំ និងការអនុវត្តគម្រោង IoT 15
2.2.4 ដំណើរការអភិវឌ្ឍន៍
រូបភាព 2.4 ។ ជំហាននៃការអភិវឌ្ឍន៍គម្រោង Smart Light
ការរចនាផ្នែករឹង ការរចនាផ្នែករឹងនៃឧបករណ៍ IoT មានសារៈសំខាន់ចំពោះគម្រោង IoT ។ គម្រោងពន្លឺឆ្លាតវៃពេញលេញ គឺមានបំណងផលិត អាល់amp ធ្វើការក្រោមការផ្គត់ផ្គង់មេ។ ក្រុមហ៊ុនផលិតផ្សេងៗគ្នាផលិត lamps នៃរចនាប័ទ្ម និងប្រភេទកម្មវិធីបញ្ជាផ្សេងគ្នា ប៉ុន្តែម៉ូឌុលឥតខ្សែរបស់ពួកគេជាធម្មតាមានមុខងារដូចគ្នា។ ដើម្បីសម្រួលដំណើរការអភិវឌ្ឍន៍នៃគម្រោង Smart Ligh សៀវភៅនេះគ្របដណ្តប់តែការរចនាផ្នែករឹង និងការអភិវឌ្ឍន៍ផ្នែកទន់នៃម៉ូឌុលឥតខ្សែប៉ុណ្ណោះ។
ការកំណត់រចនាសម្ព័ន្ធវេទិកាពពក IoT ដើម្បីប្រើវេទិកាពពក IoT អ្នកត្រូវកំណត់រចនាសម្ព័ន្ធគម្រោងនៅលើផ្នែកខាងក្រោយ ដូចជាការបង្កើតផលិតផល ការបង្កើតឧបករណ៍ ការកំណត់លក្ខណៈសម្បត្តិឧបករណ៍ជាដើម។
ការអភិវឌ្ឍន៍កម្មវិធីបង្កប់សម្រាប់ឧបករណ៍ IoT អនុវត្តមុខងារដែលរំពឹងទុកជាមួយ ESP-IDF, SDK ផ្នែកខាងឧបករណ៍របស់ Espressif រួមទាំងការភ្ជាប់ទៅវេទិកាពពក IoT ការអភិវឌ្ឍន៍កម្មវិធីបញ្ជា LED និងការដំឡើងកម្មវិធីបង្កប់។
ការអភិវឌ្ឍន៍កម្មវិធីស្មាតហ្វូន បង្កើតកម្មវិធីស្មាតហ្វូនសម្រាប់ប្រព័ន្ធ Android និង iOS ដើម្បីដឹងពីការចុះឈ្មោះអ្នកប្រើប្រាស់ និងការចូល ការគ្រប់គ្រងឧបករណ៍ និងមុខងារផ្សេងៗទៀត។
ការបង្កើនប្រសិទ្ធភាពឧបករណ៍ IoT នៅពេលដែលការអភិវឌ្ឍន៍មូលដ្ឋាននៃមុខងារឧបករណ៍ IoT ត្រូវបានបញ្ចប់ អ្នកអាចងាកទៅរកការងារបង្កើនប្រសិទ្ធភាព ដូចជាការបង្កើនប្រសិទ្ធភាពថាមពល។
ការធ្វើតេស្តផលិតកម្មដ៏ធំ អនុវត្តការធ្វើតេស្តផលិតកម្មទ្រង់ទ្រាយធំតាមស្តង់ដារដែលពាក់ព័ន្ធ ដូចជាការធ្វើតេស្តមុខងារឧបករណ៍ ការធ្វើតេស្តភាពចាស់ ការធ្វើតេស្ត RF ជាដើម។
ទោះបីជាមានជំហានដែលបានរាយបញ្ជីខាងលើក៏ដោយ គម្រោង Smart Light មិនចាំបាច់ស្ថិតក្រោមនីតិវិធីបែបនេះទេ ព្រោះកិច្ចការផ្សេងៗក៏អាចត្រូវបានអនុវត្តក្នុងពេលតែមួយផងដែរ។ សម្រាប់អតីតample, កម្មវិធីបង្កប់ និងកម្មវិធីស្មាតហ្វូនអាចត្រូវបានអភិវឌ្ឍស្របគ្នា។ ជំហានមួយចំនួនក៏ប្រហែលជាត្រូវធ្វើម្តងទៀតផងដែរ ដូចជាការបង្កើនប្រសិទ្ធភាពឧបករណ៍ IoT និងការធ្វើតេស្តផលិតកម្មទ្រង់ទ្រាយធំ។
16 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
2.3 សេចក្តីសង្ខេប
នៅក្នុងជំពូកនេះ យើងបានពន្យល់ជាលើកដំបូងអំពីធាតុផ្សំជាមូលដ្ឋាន និងម៉ូឌុលមុខងារនៃគម្រោង IoT បន្ទាប់មកណែនាំករណី Smart Light សម្រាប់ការអនុវត្ត ដោយយោងទៅលើរចនាសម្ព័ន្ធ មុខងារ ការរៀបចំផ្នែករឹង និងដំណើរការអភិវឌ្ឍន៍របស់វា។ អ្នកអានអាចទាញការសន្និដ្ឋានពីការអនុវត្ត ហើយក្លាយជាទំនុកចិត្តក្នុងការអនុវត្តគម្រោង IoT ជាមួយនឹងកំហុសអប្បបរមានាពេលអនាគត។
ជំពូកទី 2. ការណែនាំ និងការអនុវត្តគម្រោង IoT 17
18 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
ជំពូកទី 3
សេចក្តីផ្តើម
ទៅ
អេស.ភី
RainMaker
Internet of Things (IoT) ផ្តល់នូវលទ្ធភាពគ្មានទីបញ្ចប់ក្នុងការផ្លាស់ប្តូររបៀបរស់នៅរបស់មនុស្ស ប៉ុន្តែការអភិវឌ្ឍន៍វិស្វកម្ម IoT គឺពោរពេញទៅដោយបញ្ហាប្រឈម។ ជាមួយនឹងពពកសាធារណៈ ក្រុមហ៊ុនផលិតស្ថានីយអាចអនុវត្តមុខងារផលិតផលតាមរយៈដំណោះស្រាយខាងក្រោម៖
ផ្អែកលើវេទិកាពពករបស់អ្នកផ្តល់ដំណោះស្រាយ តាមរបៀបនេះ ក្រុមហ៊ុនផលិតស្ថានីយគ្រាន់តែត្រូវការរចនាផ្នែករឹងផលិតផល បន្ទាប់មកភ្ជាប់ផ្នែករឹងទៅពពកដោយប្រើម៉ូឌុលទំនាក់ទំនងដែលបានផ្តល់ ហើយកំណត់រចនាសម្ព័ន្ធមុខងារផលិតផលតាមការណែនាំ។ នេះគឺជាវិធីសាស្រ្តដ៏មានប្រសិទ្ធភាពមួយ ដោយសារវាលុបបំបាត់តម្រូវការសម្រាប់ការអភិវឌ្ឍន៍ផ្នែកខាងម៉ាស៊ីនមេ និងផ្នែកកម្មវិធី និងប្រតិបត្តិការ និងការថែទាំ (O&M)។ វាអនុញ្ញាតឱ្យអ្នកផលិតស្ថានីយផ្តោតលើការរចនាផ្នែករឹងដោយមិនចាំបាច់ពិចារណាលើការអនុវត្តលើពពក។ ទោះជាយ៉ាងណាក៏ដោយ ដំណោះស្រាយបែបនេះ (ឧ. កម្មវិធីបង្កប់ឧបករណ៍ និងកម្មវិធី) ជាទូទៅមិនមែនជាប្រភពបើកចំហទេ ដូច្នេះមុខងារផលិតផលនឹងត្រូវបានកំណត់ដោយវេទិកាពពករបស់អ្នកផ្តល់សេវា ដែលមិនអាចប្ដូរតាមបំណងបាន។ ទន្ទឹមនឹងនេះ ទិន្នន័យអ្នកប្រើប្រាស់ និងឧបករណ៍ក៏ជាកម្មសិទ្ធិរបស់វេទិកាពពកផងដែរ។
ផ្អែកលើផលិតផលពពក នៅក្នុងដំណោះស្រាយនេះ បន្ទាប់ពីបញ្ចប់ការរចនាផ្នែករឹង អ្នកផលិតស្ថានីយមិនត្រឹមតែត្រូវអនុវត្តមុខងារពពកដោយប្រើផលិតផលពពកមួយ ឬច្រើនដែលផ្តល់ដោយពពកសាធារណៈប៉ុណ្ណោះទេ ប៉ុន្តែក៏ត្រូវការភ្ជាប់ផ្នែករឹងជាមួយពពកផងដែរ។ សម្រាប់អតីតample, ដើម្បីភ្ជាប់ទៅ Amazon Web សេវាកម្ម (AWS) ក្រុមហ៊ុនផលិតស្ថានីយត្រូវប្រើផលិតផល AWS ដូចជា Amazon API Gateway, AWS IoT Core និង AWS Lambda ដើម្បីបើកដំណើរការឧបករណ៍ ការបញ្ជាពីចម្ងាយ ការផ្ទុកទិន្នន័យ ការគ្រប់គ្រងអ្នកប្រើប្រាស់ និងមុខងារមូលដ្ឋានផ្សេងទៀត។ វាមិនត្រឹមតែស្នើសុំឱ្យក្រុមហ៊ុនផលិតស្ថានីយប្រើប្រាស់ដោយភាពបត់បែន និងកំណត់រចនាសម្ព័ន្ធផលិតផលពពកដោយការយល់ដឹងស៊ីជម្រៅ និងបទពិសោធន៍ដ៏សម្បូរបែបប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងតម្រូវឱ្យពួកគេពិចារណាលើតម្លៃសាងសង់ និងថែទាំសម្រាប់ដំបូង និងក្រោយៗទៀត។tages នេះបង្កបញ្ហាប្រឈមយ៉ាងខ្លាំងចំពោះថាមពល និងធនធានរបស់ក្រុមហ៊ុន។
បើប្រៀបធៀបជាមួយពពកសាធារណៈ ពពកឯកជនជាធម្មតាត្រូវបានបង្កើតឡើងសម្រាប់គម្រោង និងផលិតផលជាក់លាក់។ អ្នកបង្កើតពពកឯកជនត្រូវបានផ្តល់សេរីភាពខ្ពស់បំផុតក្នុងការរចនាពិធីការ និងការអនុវត្តតក្កវិជ្ជាអាជីវកម្ម។ ក្រុមហ៊ុនផលិតស្ថានីយអាចបង្កើតផលិតផល និងគ្រោងការណ៍រចនាតាមឆន្ទៈ ហើយងាយស្រួលរួមបញ្ចូល និងផ្តល់សិទ្ធិអំណាចដល់ទិន្នន័យអ្នកប្រើប្រាស់។ រួមបញ្ចូលគ្នានូវសុវត្ថិភាពខ្ពស់ ការធ្វើមាត្រដ្ឋាន និងភាពជឿជាក់នៃពពកសាធារណៈជាមួយ advantages នៃពពកឯកជន Espressif បានចាប់ផ្តើម ESP
19
RainMaker ដែលជាដំណោះស្រាយពពកឯកជនរួមបញ្ចូលគ្នាយ៉ាងស៊ីជម្រៅដោយផ្អែកលើ Amazon cloud ។ អ្នកប្រើប្រាស់អាចប្រើប្រាស់ ESP RainMaker និងបង្កើតពពកឯកជនដោយប្រើប្រាស់គណនី AWS ។
3.1 តើ ESP RainMaker ជាអ្វី?
ESP RainMaker គឺជាវេទិកា AIoT ពេញលេញដែលត្រូវបានបង្កើតឡើងជាមួយនឹងផលិតផល AWS ចាស់ទុំជាច្រើន។ វាផ្តល់នូវសេវាកម្មជាច្រើនដែលត្រូវការសម្រាប់ផលិតកម្មដ៏ធំ ដូចជាការចូលប្រើពពកឧបករណ៍ ការធ្វើឱ្យប្រសើរឧបករណ៍ ការគ្រប់គ្រងផ្នែកខាងក្រោយ ការចូលភាគីទីបី ការរួមបញ្ចូលសំឡេង និងការគ្រប់គ្រងអ្នកប្រើប្រាស់។ ដោយប្រើ 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 ដំណើរផ្សងព្រេងឥតខ្សែ៖ មគ្គុទ្ទេសក៍ទូលំទូលាយចំពោះ IoT
3.2 ការអនុវត្ត ESP RainMaker
ដូចដែលបានបង្ហាញក្នុងរូបភាព 3.2 ESP RainMaker មានបួនផ្នែក៖ · សេវាទាមទារសំណង ដែលអនុញ្ញាតឱ្យឧបករណ៍ RainMaker ទទួលបានវិញ្ញាបនបត្រយ៉ាងស្វាហាប់។ · RainMaker Cloud (ត្រូវបានគេស្គាល់ថាជាកម្មវិធីខាងក្រោយពពក) ផ្តល់សេវាកម្មដូចជាការត្រងសារ ការគ្រប់គ្រងអ្នកប្រើប្រាស់ ការផ្ទុកទិន្នន័យ និងការរួមបញ្ចូលភាគីទីបី។ · ភ្នាក់ងារ RainMaker ដែលអនុញ្ញាតឱ្យឧបករណ៍ 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 កំណែសាធារណៈនៃកម្មវិធី RainMaker App អនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍បំពេញការផ្តល់ឧបករណ៍ និងគ្រប់គ្រង និងសួរស្ថានភាពឧបករណ៍ (ឧទាហរណ៍ ផលិតផលពន្លឺឆ្លាតវៃ)។ វាមាននៅលើហាងកម្មវិធី iOS និង Android ។ សម្រាប់ព័ត៌មានលម្អិត សូមមើលជំពូកទី 10 ។ REST APIs REST APIs ជួយអ្នកប្រើប្រាស់បង្កើតកម្មវិធីផ្ទាល់ខ្លួនរបស់ពួកគេស្រដៀងនឹងកម្មវិធី RainMaker ។ សម្រាប់ព័ត៌មានបន្ថែម សូមចូលទៅកាន់គេហទំព័រ 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 និងកម្មវិធីខាងក្រោយពពកត្រូវបានអនុវត្តតាមរយៈ MQTT+TLS ។ នៅក្នុងបរិបទនៃ ESP RainMaker "ការទាមទារ" គឺជាដំណើរការដែលឧបករណ៍ទទួលបានវិញ្ញាបនបត្រពីសេវាកម្មទាមទារដើម្បីភ្ជាប់ទៅផ្នែកខាងក្រោយពពក។ ចំណាំថាសេវាកម្មទាមទារគឺអាចអនុវត្តបានតែចំពោះសេវា RainMaker សាធារណៈប៉ុណ្ណោះ ខណៈពេលដែលសម្រាប់ការដាក់ឱ្យប្រើប្រាស់ឯកជន វិញ្ញាបនបត្រឧបករណ៍ចាំបាច់ត្រូវបង្កើតជាបណ្តុំតាមរយៈ Admin CLI។ ESP RainMaker គាំទ្រសេវាកម្មទាមទារសំណងបីប្រភេទ៖ ការទាមទារដោយខ្លួនឯង
ឧបករណ៍ខ្លួនវាទាញយកវិញ្ញាបនបត្រតាមរយៈសោសម្ងាត់ដែលបានរៀបចំជាមុននៅក្នុង eFuse បន្ទាប់ពីភ្ជាប់ទៅអ៊ីនធឺណិត។ ការទាមទារដែលជំរុញដោយម៉ាស៊ីន វិញ្ញាបនបត្រត្រូវបានទទួលពីកម្មវិធីអភិវឌ្ឍន៍ជាមួយគណនី RainMaker ។ ការទាមទារជំនួយ វិញ្ញាបនបត្រត្រូវបានទទួលតាមរយៈកម្មវិធីស្មាតហ្វូនកំឡុងពេលផ្តល់។
3.2.2 ភ្នាក់ងារ RainMaker
រូបភាព 3.3 ។ រចនាសម្ព័ន្ធរបស់ RainMaker SDK មុខងារចម្បងរបស់ភ្នាក់ងារ RainMaker គឺផ្តល់ការតភ្ជាប់ និងជួយស្រទាប់កម្មវិធីដើម្បីដំណើរការទិន្នន័យពពកឡើងលើ/ចុះក្រោម។ វាត្រូវបានបង្កើតឡើងតាមរយៈ RainMaker SDK 22 ESP32-C3 Wireless Adventure: មគ្គុទ្ទេសក៍ទូលំទូលាយចំពោះ IoT
និងត្រូវបានបង្កើតឡើងដោយផ្អែកលើក្របខ័ណ្ឌ ESP-IDF ដែលបានបង្ហាញឱ្យឃើញ ដោយប្រើសមាសធាតុ ESP-IDF ដូចជា RTOS, NVS និង MQTT ។ រូបភាព 3.3 បង្ហាញពីរចនាសម្ព័ន្ធរបស់ RainMaker SDK ។
RainMaker SDK រួមបញ្ចូលមុខងារសំខាន់ពីរ។
ការតភ្ជាប់
ខ្ញុំ កិច្ចសហប្រតិបត្តិការជាមួយសេវាកម្មទាមទារដើម្បីទទួលបានវិញ្ញាបនបត្រឧបករណ៍។
ii. ការភ្ជាប់ទៅកម្មវិធីខាងក្រោយពពក ដោយប្រើពិធីការ MQTT សុវត្ថិភាព ដើម្បីផ្តល់នូវការភ្ជាប់ពីចម្ងាយ និងអនុវត្តការបញ្ជាពីចម្ងាយ ការរាយការណ៍សារ ការគ្រប់គ្រងអ្នកប្រើប្រាស់ ការគ្រប់គ្រងឧបករណ៍។ល។ វាប្រើសមាសធាតុ MQTT នៅក្នុង ESP-IDF តាមលំនាំដើម និងផ្តល់នូវស្រទាប់អរូបីដើម្បីធ្វើអន្តរកម្មជាមួយអ្នកដទៃ។ ជង់ពិធីការ។
iii. ការផ្តល់សមាសភាគការផ្តល់វ៉ាយហ្វាយសម្រាប់ការតភ្ជាប់ និងការផ្តល់វ៉ាយហ្វាយ សមាសភាគ esp https ota សម្រាប់ការធ្វើឱ្យប្រសើរ OTA និងសមាសភាគ ctrl មូលដ្ឋាន esp សម្រាប់ការរកឃើញ និងការតភ្ជាប់ឧបករណ៍ក្នុងតំបន់។ គោលបំណងទាំងអស់នេះអាចសម្រេចបានតាមរយៈការកំណត់រចនាសម្ព័ន្ធសាមញ្ញ។
ដំណើរការទិន្នន័យ
ខ្ញុំ ការរក្សាទុកវិញ្ញាបនបត្រឧបករណ៍ដែលចេញដោយសេវាកម្មទាមទារ និងទិន្នន័យដែលត្រូវការនៅពេលដំណើរការ RainMaker តាមលំនាំដើមដោយប្រើចំណុចប្រទាក់ដែលផ្តល់ដោយសមាសភាគ nvs flash និងផ្តល់ APIs សម្រាប់អ្នកអភិវឌ្ឍន៍សម្រាប់ការប្រើប្រាស់ដោយផ្ទាល់។
ii. ដោយប្រើយន្តការហៅត្រឡប់មកវិញដើម្បីដំណើរការទិន្នន័យពពកឡើងលើ/តំណចុះក្រោម និងបិទទិន្នន័យដោយស្វ័យប្រវត្តិទៅក្នុងស្រទាប់កម្មវិធីសម្រាប់ដំណើរការងាយស្រួលដោយអ្នកអភិវឌ្ឍន៍។ សម្រាប់អតីតampដូច្នេះ RainMaker SDK ផ្តល់នូវចំណុចប្រទាក់សម្បូរបែបសម្រាប់ការបង្កើតទិន្នន័យ TSL (Thing Specification Language) ដែលតម្រូវឱ្យកំណត់ម៉ូដែល TSL ដើម្បីពណ៌នាអំពីឧបករណ៍ IoT និងអនុវត្តមុខងារដូចជាពេលវេលា ការរាប់ថយក្រោយ និងការគ្រប់គ្រងសំឡេង។ សម្រាប់មុខងារអន្តរកម្មជាមូលដ្ឋានដូចជាការកំណត់ពេលវេលា RainMaker SDK ផ្តល់នូវដំណោះស្រាយគ្មានការអភិវឌ្ឍន៍ ដែលអាចត្រូវបានបើកយ៉ាងសាមញ្ញនៅពេលចាំបាច់។ បន្ទាប់មក ភ្នាក់ងារ RainMaker នឹងដំណើរការទិន្នន័យដោយផ្ទាល់ ផ្ញើវាទៅពពកតាមរយៈប្រធានបទ MQTT ដែលពាក់ព័ន្ធ និងផ្តល់មតិត្រឡប់ការផ្លាស់ប្តូរទិន្នន័យនៅក្នុងកម្មវិធីខាងក្រោយពពក តាមរយៈយន្តការហៅត្រឡប់មកវិញ។
3.2.3 កម្មវិធីខាងក្រោយពពក
កម្មវិធីខាងក្រោយពពកត្រូវបានបង្កើតឡើងនៅលើ AWS Serverless Computing និងសម្រេចបានតាមរយៈ AWS Cognito (ប្រព័ន្ធគ្រប់គ្រងអត្តសញ្ញាណ), Amazon API Gateway, AWS Lambda (សេវាកុំព្យូទ័រគ្មានម៉ាស៊ីនមេ), Amazon DynamoDB (មូលដ្ឋានទិន្នន័យ NoSQL), AWS IoT Core (ស្នូលចូលដំណើរការ IoT ដែលផ្តល់ការចូលប្រើ MQTT និងការត្រងច្បាប់), សេវាអ៊ីម៉ែលសាមញ្ញ Amazon (សេវាសំបុត្រសាមញ្ញ SES), Amazon CloudFront (បណ្តាញដឹកជញ្ជូនលឿន), Amazon Simple Queue Service (SQS message queuing) និង Amazon S3 (សេវាផ្ទុកធុង)។ វាមានគោលបំណងបង្កើនប្រសិទ្ធភាពការធ្វើមាត្រដ្ឋាន និងសុវត្ថិភាព។ ជាមួយនឹង ESP RainMaker អ្នកអភិវឌ្ឍន៍អាចគ្រប់គ្រងឧបករណ៍ដោយមិនចាំបាច់សរសេរកូដនៅក្នុងពពក។ សារដែលបានរាយការណ៍ដោយឧបករណ៍ត្រូវបានបញ្ជូនដោយតម្លាភាពទៅ
ជំពូកទី 3. ការណែនាំអំពី ESP RainMaker 23
កម្មវិធីអតិថិជន ឬសេវាកម្មភាគីទីបីផ្សេងទៀត។ តារាង 3.1 បង្ហាញពីផលិតផល និងមុខងាររបស់ AWS cloud ដែលប្រើក្នុងកម្មវិធី cloud backend ជាមួយនឹងផលិតផល និងមុខងារជាច្រើនទៀតដែលកំពុងស្ថិតក្នុងការអភិវឌ្ឍន៍។
តារាង 3.1 ។ ផលិតផល និងមុខងាររបស់ AWS cloud ដែលប្រើដោយកម្មវិធី cloud backend
ផលិតផល AWS Cloud ប្រើដោយ RainMaker
មុខងារ
AWS Cognito
គ្រប់គ្រងព័ត៌មានសម្ងាត់របស់អ្នកប្រើ និងគាំទ្រការចូលរបស់ភាគីទីបី
AWS Lambda
ការអនុវត្តតក្កវិជ្ជាអាជីវកម្មស្នូលនៃកម្មវិធីខាងក្រោយពពក
Amazon Timestream រក្សាទុកទិន្នន័យស៊េរីពេលវេលា
Amazon DynamoDB រក្សាទុកព័ត៌មានឯកជនរបស់អតិថិជន
AWS IoT Core
គាំទ្រការទំនាក់ទំនង MQTT
ក្រុមហ៊ុន Amazon SES
ការផ្តល់សេវាផ្ញើអ៊ីមែល
Amazon CloudFront ពន្លឿនការគ្រប់គ្រងផ្នែកខាងក្រោយ webការចូលប្រើគេហទំព័រ
ក្រុមហ៊ុន Amazon SQS
ការបញ្ជូនបន្តសារពី AWS IoT Core
3.2.4 អតិថិជន RainMaker
អតិថិជន RainMaker ដូចជា App និង CLI ទាក់ទងជាមួយ backend cloud តាមរយៈ REST APIs។ ព័ត៌មានលម្អិត និងការណែនាំអំពី REST APIs អាចរកបាននៅក្នុងឯកសារ Swagger ដែលផ្តល់ដោយ Espressif ។ កម្មវិធីទូរស័ព្ទរបស់ RainMaker មានសម្រាប់ទាំងប្រព័ន្ធ iOS និង Android ។ វាអនុញ្ញាតឱ្យមានការផ្តល់ ការគ្រប់គ្រង និងការចែករំលែកឧបករណ៍ ក៏ដូចជាការបង្កើត និងបើកដំណើរការកិច្ចការរាប់ថយក្រោយ និងការភ្ជាប់ទៅកាន់វេទិកាភាគីទីបី។ វាអាចផ្ទុក UI និងរូបតំណាងដោយស្វ័យប្រវត្តិយោងទៅតាមការកំណត់រចនាសម្ព័ន្ធដែលបានរាយការណ៍ដោយឧបករណ៍ និងបង្ហាញឧបករណ៍ TSL យ៉ាងពេញលេញ។
សម្រាប់អតីតampដូច្នេះ ប្រសិនបើអំពូលភ្លើងឆ្លាតវៃត្រូវបានបង្កើតឡើងនៅលើ RainMaker SDK ដែលផ្តល់ដោយអតីតamples រូបតំណាង និង UI នៃអំពូលភ្លើងនឹងត្រូវបានផ្ទុកដោយស្វ័យប្រវត្តិ នៅពេលដែលការផ្តល់ត្រូវបានបញ្ចប់។ អ្នកប្រើប្រាស់អាចផ្លាស់ប្តូរពណ៌ និងពន្លឺនៃពន្លឺតាមរយៈចំណុចប្រទាក់ និងសម្រេចបាននូវការគ្រប់គ្រងភាគីទីបីដោយភ្ជាប់ Alexa Smart Home Skill ឬ Google Smart Home Actions ទៅគណនី ESP RainMaker របស់ពួកគេ។ រូបភាព 3.4 បង្ហាញរូបតំណាង និង UI ឧamples នៃអំពូលភ្លើងរៀងៗខ្លួននៅលើ Alexa, Google Home និង ESP RainMaker App ។
24 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
(ក) ឧampលេ - អាឡិចសា
(ខ) ឧample – Google Home
(គ) ឧample – ESP RainMaker
រូបភាពទី ៤ ឧampរូបតំណាង និង UI នៃអំពូលភ្លើងនៅលើ Alexa, Google Home និង ESP RainMaker App
3.3 ការអនុវត្ត៖ ចំណុចសំខាន់សម្រាប់ការអភិវឌ្ឍន៍ជាមួយ ESP RainMaker
នៅពេលដែលស្រទាប់កម្មវិធីបញ្ជាឧបករណ៍ត្រូវបានបញ្ចប់ អ្នកអភិវឌ្ឍន៍អាចចាប់ផ្តើមបង្កើតគំរូ TSL និងដំណើរការទិន្នន័យតំណខាងក្រោមដោយប្រើ APIs ដែលផ្តល់ដោយ RainMaker SDK និងបើកដំណើរការសេវាកម្មមូលដ្ឋាន ESP RainMaker ដោយផ្អែកលើនិយមន័យ និងតម្រូវការផលិតផល។
ជំពូកទី 3. ការណែនាំអំពី ESP RainMaker 25
ផ្នែកទី 9.4 នៃសៀវភៅនេះនឹងពន្យល់ពីការអនុវត្តអំពូល LED ឆ្លាតវៃនៅក្នុង RainMaker ។ កំឡុងពេលបំបាត់កំហុស អ្នកអភិវឌ្ឍន៍អាចប្រើឧបករណ៍ CLI នៅក្នុង RainMaker SDK ដើម្បីទំនាក់ទំនងជាមួយពន្លឺឆ្លាតវៃ (ឬហៅ REST APIs ពី Swagger) ។
ជំពូកទី 10 នឹងរៀបរាប់លម្អិតអំពីការប្រើប្រាស់ REST APIs ក្នុងការអភិវឌ្ឍន៍កម្មវិធីស្មាតហ្វូន។ ការអាប់ដេត OTA នៃអំពូលភ្លើងឆ្លាតវៃ LED នឹងត្រូវបានគ្របដណ្តប់នៅក្នុងជំពូកទី 11។ ប្រសិនបើអ្នកអភិវឌ្ឍន៍បានបើកដំណើរការការត្រួតពិនិត្យពីចម្ងាយ ESP Insights នោះផ្នែកខាងក្រោយនៃការគ្រប់គ្រង ESP RainMaker នឹងបង្ហាញទិន្នន័យ ESP Insights។ ព័ត៌មានលម្អិតនឹងបង្ហាញក្នុងជំពូកទី ១៥។
ESP RainMaker គាំទ្រការដាក់ឱ្យប្រើប្រាស់ឯកជន ដែលខុសពីម៉ាស៊ីនមេ RainMaker សាធារណៈតាមវិធីដូចខាងក្រោម៖
សេវាកម្មទាមទារ ដើម្បីបង្កើតវិញ្ញាបនបត្រនៅក្នុងការដាក់ឱ្យប្រើប្រាស់ឯកជន វាត្រូវបានទាមទារឱ្យប្រើ RainMaker Admin CLI ជំនួសឱ្យការទាមទារ។ ជាមួយនឹងម៉ាស៊ីនមេសាធារណៈ អ្នកអភិវឌ្ឍន៍ត្រូវតែត្រូវបានផ្តល់សិទ្ធិជាអ្នកគ្រប់គ្រងដើម្បីអនុវត្តការអាប់ដេតកម្មវិធីបង្កប់ ប៉ុន្តែវាមិនគួរឱ្យចង់បាននៅក្នុងការដាក់ឱ្យប្រើប្រាស់ពាណិជ្ជកម្មទេ។ ដូច្នេះ ទាំងសេវាកម្មផ្ទៀងផ្ទាត់ដាច់ដោយឡែកមិនអាចផ្តល់ជូនសម្រាប់ការទាមទារដោយខ្លួនឯង ឬសិទ្ធិគ្រប់គ្រងសម្រាប់ការទាមទារដែលជំរុញដោយម៉ាស៊ីន ឬជំនួយនោះទេ។
កម្មវិធីទូរស័ព្ទ នៅក្នុងការដាក់ឱ្យប្រើប្រាស់ឯកជន កម្មវិធីចាំបាច់ត្រូវកំណត់រចនាសម្ព័ន្ធ និងចងក្រងដោយឡែកពីគ្នា ដើម្បីធានាថាប្រព័ន្ធគណនីមិនអាចដំណើរការអន្តរកម្មបានទេ។
ការចូលភាគីទីបី និងការរួមបញ្ចូលសំឡេង អ្នកអភិវឌ្ឍន៍ត្រូវកំណត់រចនាសម្ព័ន្ធដាច់ដោយឡែកតាមរយៈគណនី Google និង Apple Developer ដើម្បីបើកការចូលភាគីទី 3 ក៏ដូចជាការរួមបញ្ចូល Alexa Skill និង Google Voice Assistant ។
TIPS សម្រាប់ព័ត៌មានលម្អិតអំពីការដាក់ពង្រាយលើពពក សូមចូលទៅកាន់គេហទំព័រ https://customer.rainmaker.espressif ។ com នៅក្នុងលក្ខខណ្ឌនៃកម្មវិធីបង្កប់ ការធ្វើចំណាកស្រុកពីម៉ាស៊ីនមេសាធារណៈទៅម៉ាស៊ីនមេឯកជនតម្រូវឱ្យជំនួសវិញ្ញាបនបត្រឧបករណ៍ប៉ុណ្ណោះ ដែលជួយបង្កើនប្រសិទ្ធភាពនៃការធ្វើចំណាកស្រុកយ៉ាងច្រើន និងកាត់បន្ថយការចំណាយលើការផ្ទេរ និងការបំបាត់កំហុសបន្ទាប់បន្សំ។
3.4 លក្ខណៈពិសេសនៃ ESP RainMaker
លក្ខណៈពិសេស ESP RainMaker ត្រូវបានកំណត់គោលដៅជាចម្បងលើទិដ្ឋភាពបី - ការគ្រប់គ្រងអ្នកប្រើប្រាស់ អ្នកប្រើប្រាស់ចុងក្រោយ និងអ្នកគ្រប់គ្រង។ មុខងារទាំងអស់ត្រូវបានគាំទ្រទាំងនៅក្នុងម៉ាស៊ីនមេសាធារណៈ និងឯកជន លើកលែងតែមានការបញ្ជាក់ផ្សេងទៀត។
3.4.1 ការគ្រប់គ្រងអ្នកប្រើប្រាស់
លក្ខណៈពិសេសនៃការគ្រប់គ្រងអ្នកប្រើអនុញ្ញាតឱ្យអ្នកប្រើចុងក្រោយដើម្បីចុះឈ្មោះ, ចូល, ផ្លាស់ប្តូរពាក្យសម្ងាត់, ទាញយកពាក្យសម្ងាត់។ល។
26 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
ចុះឈ្មោះ និងចូល វិធីសាស្រ្តចុះឈ្មោះ និងចូលដែលគាំទ្រដោយ RainMaker រួមមានៈ · លេខសម្គាល់អ៊ីមែល + ពាក្យសម្ងាត់ · លេខទូរស័ព្ទ + ពាក្យសម្ងាត់ · គណនី Google · គណនី Apple · គណនី GitHub (ម៉ាស៊ីនមេសាធារណៈតែប៉ុណ្ណោះ) · គណនី Amazon (ម៉ាស៊ីនមេឯកជនប៉ុណ្ណោះ)
ចំណាំ ចុះឈ្មោះដោយប្រើ Google/Amazon ចែករំលែកអាសយដ្ឋានអ៊ីមែលរបស់អ្នកប្រើជាមួយ RainMaker ។ ចុះឈ្មោះដោយប្រើ Apple ចែករំលែកអាសយដ្ឋានអត់ចេះសោះដែល Apple កំណត់សម្រាប់អ្នកប្រើប្រាស់ជាពិសេសសម្រាប់សេវា RainMaker ។ គណនី RainMaker នឹងត្រូវបានបង្កើតដោយស្វ័យប្រវត្តិសម្រាប់អ្នកប្រើប្រាស់ដែលចូលដោយប្រើគណនី Google, Apple ឬ Amazon ជាលើកដំបូង។
ផ្លាស់ប្តូរពាក្យសម្ងាត់មានសុពលភាពសម្រាប់តែការចូលដែលមានមូលដ្ឋានលើលេខសម្គាល់អ៊ីមែល/លេខទូរស័ព្ទប៉ុណ្ណោះ។ វគ្គសកម្មផ្សេងទៀតទាំងអស់នឹងត្រូវបានចេញបន្ទាប់ពីពាក្យសម្ងាត់ត្រូវបានផ្លាស់ប្តូរ។ យោងតាមឥរិយាបថ AWS Cognito វគ្គដែលបានចេញពីគណនីអាចបន្តសកម្មរហូតដល់ 1 ម៉ោង។
យកពាក្យសម្ងាត់មានសុពលភាពសម្រាប់តែការចូលដោយផ្អែកលើលេខសម្គាល់អ៊ីមែល/លេខទូរស័ព្ទ។
3.4.2 លក្ខណៈពិសេសអ្នកប្រើប្រាស់ចុងក្រោយ
លក្ខណៈពិសេសដែលបើកសម្រាប់អ្នកប្រើប្រាស់ចុងក្រោយរួមមាន ការត្រួតពិនិត្យ និងការត្រួតពិនិត្យមូលដ្ឋាន និងពីចម្ងាយ ការកំណត់កាលវិភាគ ការដាក់ក្រុមឧបករណ៍ ការចែករំលែកឧបករណ៍ ការជូនដំណឹងជំរុញ និងការរួមបញ្ចូលភាគីទីបី។
ការបញ្ជាពីចម្ងាយ និងការត្រួតពិនិត្យ · ការកំណត់រចនាសម្ព័ន្ធសំណួរ តម្លៃប៉ារ៉ាម៉ែត្រ និងស្ថានភាពការតភ្ជាប់សម្រាប់ឧបករណ៍មួយ ឬទាំងអស់។ ·កំណត់ប៉ារ៉ាម៉ែត្រសម្រាប់ឧបករណ៍តែមួយឬច្រើន។
ការត្រួតពិនិត្យ និងការត្រួតពិនិត្យក្នុងតំបន់ ទូរស័ព្ទចល័ត និងឧបករណ៍ត្រូវភ្ជាប់ទៅបណ្តាញដូចគ្នាសម្រាប់ការគ្រប់គ្រងក្នុងតំបន់។
កាលវិភាគ · អ្នកប្រើប្រាស់កំណត់សកម្មភាពជាក់លាក់ជាមុននៅពេលជាក់លាក់ណាមួយ។ · មិនតម្រូវឱ្យមានការតភ្ជាប់អ៊ីធឺណិតសម្រាប់ឧបករណ៍ខណៈពេលកំពុងដំណើរការកាលវិភាគ។ · ម្តង ឬម្តងទៀត (ដោយបញ្ជាក់ថ្ងៃ) សម្រាប់ឧបករណ៍តែមួយ ឬច្រើន។
ការដាក់ជាក្រុមឧបករណ៍ គាំទ្រការដាក់ក្រុមអរូបីពហុកម្រិត ទិន្នន័យមេតាក្រុមអាចត្រូវបានប្រើដើម្បីបង្កើតរចនាសម្ព័ន្ធបន្ទប់នៅផ្ទះ។
ជំពូកទី 3. ការណែនាំអំពី ESP RainMaker 27
ការចែករំលែកឧបករណ៍ ឧបករណ៍មួយ ឬច្រើនអាចចែករំលែកជាមួយអ្នកប្រើប្រាស់ម្នាក់ ឬច្រើន។
ការជូនដំណឹងរុញ អ្នកប្រើប្រាស់ចុងក្រោយនឹងទទួលបានការជូនដំណឹងជំរុញសម្រាប់ព្រឹត្តិការណ៍ដូចជា · ឧបករណ៍ថ្មីដែលបានបន្ថែម/ដកចេញ · ឧបករណ៍បានភ្ជាប់ទៅពពក · ឧបករណ៍ត្រូវបានផ្តាច់ចេញពីពពក · សំណើចែករំលែកឧបករណ៍ដែលបានបង្កើត/ទទួលយក/បដិសេធ · សារជូនដំណឹងដែលបានរាយការណ៍ដោយឧបករណ៍
ការរួមបញ្ចូលភាគីទីបី Alexa និង Google Voice Assistant ត្រូវបានគាំទ្រដើម្បីគ្រប់គ្រងឧបករណ៍ RainMaker រួមទាំងភ្លើង កុងតាក់ រន្ធ កង្ហារ និងឧបករណ៍ចាប់សញ្ញាសីតុណ្ហភាព។
3.4.3 លក្ខណៈពិសេសអ្នកគ្រប់គ្រង
មុខងារអ្នកគ្រប់គ្រងអនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងអនុវត្តការចុះឈ្មោះឧបករណ៍ ការដាក់ក្រុមឧបករណ៍ និងការធ្វើឱ្យប្រសើរ OTA និងទៅ view ស្ថិតិ និងទិន្នន័យ ESP Insights ។
ការចុះឈ្មោះឧបករណ៍ បង្កើតវិញ្ញាបនបត្រឧបករណ៍ និងចុះឈ្មោះជាមួយ Admin CLI (ម៉ាស៊ីនមេឯកជនតែប៉ុណ្ណោះ)។
ការដាក់ក្រុមឧបករណ៍ បង្កើតក្រុមអរូបី ឬរចនាសម្ព័ន្ធដោយផ្អែកលើព័ត៌មានឧបករណ៍ (ម៉ាស៊ីនមេឯកជនតែប៉ុណ្ណោះ)។
Over-the-Air (OTA) ដំឡើងកំណែអាប់ដេតកម្មវិធីបង្កប់ដោយផ្អែកលើកំណែ និងម៉ូដែល ទៅកាន់ឧបករណ៍មួយ ឬច្រើន ឬក្រុមត្រួតពិនិត្យ បោះបង់ ឬរក្សាទុកការងារ OTA ។
View ស្ថិតិ Viewស្ថិតិដែលអាចរួមបញ្ចូល៖ · ការចុះឈ្មោះឧបករណ៍ (វិញ្ញាបនបត្រដែលបានចុះឈ្មោះដោយអ្នកគ្រប់គ្រង) · ការធ្វើឱ្យសកម្មឧបករណ៍ (ឧបករណ៍ដែលបានភ្ជាប់ជាលើកដំបូង) · គណនីអ្នកប្រើប្រាស់ · សមាគមអ្នកប្រើប្រាស់ឧបករណ៍
View ទិន្នន័យ ESP Insights Viewទិន្នន័យ ESP Insights អាចរួមបញ្ចូល៖ · កំហុស ការព្រមាន និងកំណត់ហេតុផ្ទាល់ខ្លួន · របាយការណ៍គាំង និងការវិភាគ · ហេតុផលចាប់ផ្ដើមឡើងវិញ · មាត្រដ្ឋានដូចជាការប្រើប្រាស់អង្គចងចាំ RSSI ជាដើម។ · រង្វាស់ និងអថេរផ្ទាល់ខ្លួន
28 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
3.5 សេចក្តីសង្ខេប
នៅក្នុងជំពូកនេះ យើងបានណែនាំពីភាពខុសគ្នាសំខាន់ៗមួយចំនួនរវាងការដាក់ពង្រាយ RainMaker ជាសាធារណៈ និងការដាក់ពង្រាយឯកជន។ ដំណោះស្រាយ ESP RainMaker ឯកជនដែលបើកដំណើរការដោយ Espressif មានភាពជឿជាក់ខ្ពស់ និងអាចពង្រីកបាន។ បន្ទះឈីបស៊េរី ESP32 ទាំងអស់ត្រូវបានភ្ជាប់ និងសម្របទៅនឹង AWS ដែលកាត់បន្ថយការចំណាយយ៉ាងច្រើន។ អ្នកអភិវឌ្ឍន៍អាចផ្តោតលើការផ្ទៀងផ្ទាត់គំរូដោយមិនចាំបាច់សិក្សាអំពីផលិតផល AWS cloud។ យើងក៏បានពន្យល់អំពីការអនុវត្ត និងលក្ខណៈពិសេសរបស់ ESP RainMaker និងចំណុចសំខាន់ៗមួយចំនួនសម្រាប់ការអភិវឌ្ឍន៍ដោយប្រើវេទិកា។
ស្កេនដើម្បីទាញយក ESP RainMaker សម្រាប់ Android ស្កេនដើម្បីទាញយក ESP RainMaker សម្រាប់ iOS
ជំពូកទី 3. ការណែនាំអំពី ESP RainMaker 29
30 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
ជំពូកទី៤ ការបង្កើតបរិស្ថានអភិវឌ្ឍន៍
ជំពូកនេះផ្តោតលើ ESP-IDF ដែលជាក្របខ័ណ្ឌអភិវឌ្ឍន៍កម្មវិធីផ្លូវការសម្រាប់ ESP32-C3 ។ យើងនឹងពន្យល់ពីរបៀបរៀបចំបរិស្ថាននៅលើប្រព័ន្ធប្រតិបត្តិការផ្សេងៗ និងណែនាំរចនាសម្ព័ន្ធគម្រោង និងប្រព័ន្ធបង្កើត ESP-IDF ក៏ដូចជាការប្រើប្រាស់ឧបករណ៍អភិវឌ្ឍន៍ដែលពាក់ព័ន្ធ។ បន្ទាប់មក យើងនឹងបង្ហាញពីដំណើរការចងក្រង និងដំណើរការរបស់អតីតampគម្រោង le ខណៈពេលដែលផ្តល់ជូននូវការពន្យល់លម្អិតនៃកំណត់ហេតុលទ្ធផលនៅ s នីមួយៗtage.
4.1 ESP-IDF លើសview
ESP-IDF (Espressif IoT Development Framework) គឺជាក្របខណ្ឌការអភិវឌ្ឍន៍ IoT ដែលផ្តល់ដោយ Espressif Technology ។ វាប្រើភាសា C/C++ ជាភាសាអភិវឌ្ឍន៍ចម្បង និងគាំទ្រការចងក្រងឆ្លងតាមប្រព័ន្ធប្រតិបត្តិការសំខាន់ៗដូចជា Linux, Mac និង Windows ។ អតីតampកម្មវិធីដែលរួមបញ្ចូលក្នុងសៀវភៅនេះត្រូវបានបង្កើតឡើងដោយប្រើ ESP-IDF ដែលផ្តល់នូវលក្ខណៈពិសេសដូចខាងក្រោមៈ · កម្មវិធីបញ្ជាកម្រិតប្រព័ន្ធ SoC ។ ESP-IDF រួមបញ្ចូលកម្មវិធីបញ្ជាសម្រាប់ ESP32, ESP32-S2, ESP32-C3,
និងបន្ទះសៀគ្វីផ្សេងទៀត។ កម្មវិធីបញ្ជាទាំងនេះរួមបញ្ចូលបណ្ណាល័យកម្រិតទាប (LL) គ្រឿងកុំព្យូទ័រ បណ្ណាល័យស្រទាប់អរូបីផ្នែករឹង (HAL) ការគាំទ្រ RTOS និងកម្មវិធីបញ្ជាស្រទាប់ខាងលើ។ល។ · សមាសធាតុសំខាន់ៗ។ ESP-IDF រួមបញ្ចូលនូវសមាសធាតុជាមូលដ្ឋានដែលត្រូវការសម្រាប់ការអភិវឌ្ឍន៍ IoT ។ នេះរួមបញ្ចូលទាំងបណ្តុំពិធីការបណ្តាញជាច្រើនដូចជា HTTP និង MQTT ក្របខ័ណ្ឌគ្រប់គ្រងថាមពលដែលមានម៉ូឌុលប្រេកង់ថាមវន្ត និងលក្ខណៈពិសេសដូចជា Flash Encryption និង Secure Boot ជាដើម។ · ការអភិវឌ្ឍន៍ និងឧបករណ៍ផលិត។ ESP-IDF ផ្តល់នូវឧបករណ៍ដែលប្រើជាទូទៅសម្រាប់ការសាងសង់ ពន្លឺ និងការបំបាត់កំហុសកំឡុងពេលការអភិវឌ្ឍន៍ និងការផលិតទ្រង់ទ្រាយធំ (សូមមើលរូបភាព 4.1) ដូចជាប្រព័ន្ធអគារផ្អែកលើ CMake ខ្សែសង្វាក់ឧបករណ៍ចងក្រងឆ្លងកាត់ដោយផ្អែកលើ GCC និង JTAG ឧបករណ៍បំបាត់កំហុសដែលមានមូលដ្ឋានលើ OpenOCD ។ល។ វាគួរឱ្យកត់សម្គាល់ថាលេខកូដ ESP-IDF ប្រកាន់ខ្ជាប់ជាចម្បងទៅនឹងអាជ្ញាប័ណ្ណប្រភពបើកចំហ Apache 2.0 ។ អ្នកប្រើអាចបង្កើតកម្មវិធីផ្ទាល់ខ្លួនឬពាណិជ្ជកម្មដោយគ្មានការដាក់កម្រិតខណៈពេលដែលអនុលោមតាមលក្ខខណ្ឌនៃអាជ្ញាប័ណ្ណប្រភពបើកចំហ។ លើសពីនេះ អ្នកប្រើប្រាស់ត្រូវបានផ្តល់អាជ្ញាប័ណ្ណប៉ាតង់អចិន្ត្រៃយ៍ដោយមិនគិតថ្លៃ ដោយគ្មានកាតព្វកិច្ចក្នុងការកែប្រែប្រភពកូដបើកចំហណាមួយឡើយ។
31
រូបភាពទី 4.1 ។
ការកសាង ពន្លឺ និងបំបាត់កំហុស
ឧបករណ៍ ging សម្រាប់ការអភិវឌ្ឍនិងផលិតកម្មទ្រង់ទ្រាយធំ
4.1.1 កំណែ ESP-IDF
កូដ ESP-IDF ត្រូវបានដាក់នៅលើ GitHub ជាគម្រោងប្រភពបើកចំហ។ បច្ចុប្បន្ននេះ មានកំណែធំៗចំនួនបីគឺ៖ v3, v4, និង v5 ។ កំណែសំខាន់ៗនីមួយៗជាធម្មតាមានវិវរណៈផ្សេងៗដូចជា v4.2, v4.3 និងផ្សេងៗទៀត។ Espressif Systems ធានានូវការគាំទ្ររយៈពេល 30 ខែសម្រាប់ការជួសជុលកំហុស និងបំណះសុវត្ថិភាពសម្រាប់កំណែរងដែលបានចេញផ្សាយនីមួយៗ។ ដូច្នេះ ការកែប្រែវិទ្ធង្សនាក៏ត្រូវបានចេញផ្សាយជាទៀងទាត់ផងដែរ ដូចជា v4.3.1, v4.2.2 ជាដើមview stage (ផ្តល់ការគាំទ្រសម្រាប់មុន។view កំណែ ដែលអាចខ្វះលក្ខណៈពិសេស ឬឯកសារជាក់លាក់) ឬត្រូវបានគាំទ្រជាផ្លូវការ។
តារាង 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 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
ការធ្វើកំណែទម្រង់សំខាន់ៗជាញឹកញាប់ទាក់ទងនឹងការកែតម្រូវរចនាសម្ព័ន្ធក្របខណ្ឌ និងការធ្វើបច្ចុប្បន្នភាពទៅលើប្រព័ន្ធចងក្រង។ សម្រាប់អតីតample ការផ្លាស់ប្តូរដ៏សំខាន់ពី v3.* ទៅ v4.* គឺជាការផ្លាស់ទីលំនៅបន្តិចម្តងៗនៃប្រព័ន្ធ build ពី Make ទៅ CMake។ ម៉្យាងវិញទៀត ការធ្វើឡើងវិញនៃកំណែតូចតាចជាធម្មតារួមបញ្ចូលការបន្ថែមមុខងារថ្មី ឬការគាំទ្រសម្រាប់បន្ទះឈីបថ្មី។
វាមានសារៈសំខាន់ណាស់ក្នុងការបែងចែក និងយល់ពីទំនាក់ទំនងរវាងកំណែដែលមានស្ថេរភាព និងសាខា GitHub ។ កំណែដែលមានស្លាកថា v*.* ឬ v*.*.* តំណាងឱ្យកំណែដែលមានស្ថេរភាពដែលបានឆ្លងកាត់ការធ្វើតេស្តផ្ទៃក្នុងពេញលេញដោយ Espressif ។ នៅពេលជួសជុលរួចហើយ កូដ ខ្សែសង្វាក់ឧបករណ៍ និងឯកសារចេញផ្សាយសម្រាប់កំណែដូចគ្នានៅតែមិនផ្លាស់ប្តូរ។ ទោះជាយ៉ាងណាក៏ដោយ សាខា GitHub (ឧ. ការចេញផ្សាយ/v4.3 សាខា) ឆ្លងកាត់ការប្រព្រឹត្តកូដញឹកញាប់ ជាញឹកញាប់ជារៀងរាល់ថ្ងៃ។ ដូច្នេះ អត្ថបទកូដពីរនៅក្រោមសាខាដូចគ្នាអាចខុសគ្នា ដែលតម្រូវឱ្យអ្នកអភិវឌ្ឍន៍ធ្វើបច្ចុប្បន្នភាពកូដរបស់ពួកគេភ្លាមៗ។
4.1.2 ESP-IDF Git លំហូរការងារ
Espressif អនុវត្តតាមលំហូរការងារ Git ជាក់លាក់សម្រាប់ ESP-IDF ដែលត្រូវបានគូសបញ្ជាក់ដូចខាងក្រោម៖
· ការផ្លាស់ប្តូរថ្មីត្រូវបានធ្វើឡើងនៅលើសាខាមេ ដែលបម្រើជាសាខាអភិវឌ្ឍន៍ចម្បង។ កំណែ ESP-IDF នៅលើសាខាមេតែងតែផ្ទុក -dev tag ដើម្បីបង្ហាញថាវាកំពុងស្ថិតក្រោមការអភិវឌ្ឍន៍ ដូចជា v4.3-dev ។ ការផ្លាស់ប្តូរនៅលើសាខាមេនឹងជាដំបូងviewed និងសាកល្បងនៅក្នុងឃ្លាំងខាងក្នុងរបស់ Espressif ហើយបន្ទាប់មកបានរុញទៅ GitHub បន្ទាប់ពីការធ្វើតេស្តដោយស្វ័យប្រវត្តិបានបញ្ចប់។
· នៅពេលដែលកំណែថ្មីបានបញ្ចប់ការអភិវឌ្ឍន៍មុខងារនៅលើសាខាមេ និងបំពេញតាមលក្ខណៈវិនិច្ឆ័យសម្រាប់ការបញ្ចូលការសាកល្បងបេតា វាប្តូរទៅសាខាថ្មី ដូចជាការចេញផ្សាយ/ v4.3 ។ លើសពីនេះទៀតសាខាថ្មីនេះគឺ tagged ជាកំណែមុនការចេញផ្សាយ ដូចជា v4.3-beta1។ អ្នកអភិវឌ្ឍន៍អាចយោងទៅវេទិកា GitHub ដើម្បីចូលទៅកាន់បញ្ជីពេញលេញនៃសាខា និង tags សម្រាប់ ESP-IDF ។ វាជារឿងសំខាន់ក្នុងការកត់សម្គាល់ថា កំណែបែតា (កំណែមុនការចេញផ្សាយ) អាចនៅតែមានចំនួនសំខាន់ៗនៃបញ្ហាដែលគេស្គាល់។ នៅពេលដែលកំណែបែតាឆ្លងកាត់ការធ្វើតេស្តជាបន្តបន្ទាប់ ការកែកំហុសត្រូវបានបន្ថែមទៅទាំងកំណែនេះ និងសាខាមេក្នុងពេលដំណាលគ្នា។ ទន្ទឹមនឹងនេះ សាខាមេប្រហែលជាបានចាប់ផ្តើមបង្កើតមុខងារថ្មីៗរួចហើយសម្រាប់កំណែបន្ទាប់។ នៅពេលការសាកល្បងជិតរួចរាល់ ស្លាកបេក្ខជនចេញផ្សាយ (rc) ត្រូវបានបន្ថែមទៅសាខា ដែលបង្ហាញថាវាជាបេក្ខជនសក្តានុពលសម្រាប់ការចេញផ្សាយជាផ្លូវការដូចជា v4.3-rc1 ជាដើម។ នៅ សtage, សាខានៅតែជាកំណែមុនការចេញផ្សាយ។
· ប្រសិនបើគ្មានកំហុសធំៗត្រូវបានរកឃើញ ឬរាយការណ៍ទេ កំណែមុនការចេញផ្សាយនៅទីបំផុតទទួលបានស្លាកកំណែធំ (ឧ. v5.0) ឬស្លាកកំណែតូច (ឧ. នៅក្នុងទំព័រកំណត់ចំណាំចេញផ្សាយ។ ក្រោយមក រាល់កំហុសដែលបានកំណត់នៅក្នុងកំណែនេះត្រូវបានជួសជុលនៅលើសាខាចេញផ្សាយ។ បន្ទាប់ពីការធ្វើតេស្តដោយដៃត្រូវបានបញ្ចប់ សាខាត្រូវបានផ្តល់ស្លាកកំណែជួសជុលកំហុស (ឧទាហរណ៍ v4.3) ដែលត្រូវបានឆ្លុះបញ្ចាំងផងដែរនៅលើទំព័រកំណត់ចំណាំចេញផ្សាយ។
ជំពូកទី 4. ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 33
4.1.3 ការជ្រើសរើសកំណែសមស្រប
ចាប់តាំងពី ESP-IDF បានចាប់ផ្តើមគាំទ្រ ESP32-C3 ជាផ្លូវការពីកំណែ v4.3 ហើយ v4.4 មិនទាន់ត្រូវបានចេញផ្សាយជាផ្លូវការនៅពេលសរសេរសៀវភៅនេះទេ កំណែដែលបានប្រើនៅក្នុងសៀវភៅនេះគឺ v4.3.2 ដែលជាកំណែកែប្រែ នៃ v4.3 ។ ទោះជាយ៉ាងណាក៏ដោយ វាជារឿងសំខាន់ក្នុងការកត់សម្គាល់ថានៅពេលដែលអ្នកអានសៀវភៅនេះ កំណែ v4.4 ឬថ្មីជាងនេះអាចនឹងមានរួចហើយ។ នៅពេលជ្រើសរើសកំណែ យើងណែនាំដូចខាងក្រោម៖
· សម្រាប់អ្នកអភិវឌ្ឍន៍កម្រិតធាតុ វាត្រូវបានណែនាំឱ្យជ្រើសរើសកំណែ v4.3 ដែលមានស្ថេរភាព ឬកំណែដែលបានកែប្រែរបស់វា ដែលស្របតាមអតីត។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 និងនិម្មិតកម្រិតខាងលើ File ការគាំទ្រស្រទាប់ប្រព័ន្ធ (VFS) អ្នកអភិវឌ្ឍន៍អាចជ្រើសរើសសមាសធាតុសមស្របនៅកម្រិតផ្សេងៗគ្នាសម្រាប់តម្រូវការអភិវឌ្ឍន៍របស់ពួកគេ។ ESP-IDF ក៏គាំទ្រជង់ពិធីការបណ្តាញស្តង់ដារជាច្រើនដូចជា TCP/IP, HTTP, MQTT, Webរន្ធជាដើម។ អ្នកអភិវឌ្ឍន៍អាចប្រើប្រាស់ចំណុចប្រទាក់ដែលធ្លាប់ស្គាល់ដូចជា Socket ដើម្បីបង្កើតកម្មវិធីបណ្តាញ។ សមាសធាតុផ្តល់នូវការយល់ដឹង -
34 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
រូបភាព 4.2 ។ ថតកូដឃ្លាំង ESP-IDF
មុខងារ sive និងអាចត្រូវបានរួមបញ្ចូលយ៉ាងងាយស្រួលទៅក្នុងកម្មវិធី ដែលអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍ផ្តោតតែលើតក្កវិជ្ជាអាជីវកម្មប៉ុណ្ណោះ។ សមាសធាតុទូទៅមួយចំនួនរួមមានៈ · កម្មវិធីបញ្ជា៖ សមាសធាតុនេះមានកម្មវិធីបញ្ជាគ្រឿងកុំព្យូទ័រសម្រាប់ Espressif ផ្សេងៗ
ស៊េរីបន្ទះឈីប ដូចជា GPIO, I2C, SPI, UART, LEDC (PWM) ជាដើម។ កម្មវិធីកម្មវិធីបញ្ជាគ្រឿងកុំព្យូទ័រនៅក្នុងសមាសធាតុនេះផ្តល់នូវចំណុចប្រទាក់អរូបីឯករាជ្យនៃបន្ទះឈីប។ គ្រឿងកុំព្យូទ័រនីមួយៗមានបឋមកថាទូទៅ file (ដូចជា gpio.h) ដោយលុបបំបាត់តម្រូវការដើម្បីដោះស្រាយជាមួយនឹងសំណួរជំនួយជាក់លាក់នៃបន្ទះឈីបផ្សេងៗគ្នា។ · 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 ដែលបានបញ្ជាក់។
គ. ឧបករណ៍ឧបករណ៍ស្គ្រីប
ថតនេះមានឧបករណ៍ផ្នែកខាងមុខនៃការចងក្រងដែលប្រើជាទូទៅដូចជា idf.py និងឧបករណ៍ស្ថានីយម៉ូនីទ័រ idf_monitor.py ជាដើម។ ថតរង cmake ក៏មានស្គ្រីបស្នូលផងដែរ។ files នៃប្រព័ន្ធចងក្រង បម្រើជាមូលដ្ឋានគ្រឹះសម្រាប់ការអនុវត្តច្បាប់ចងក្រង ESP-IDF ។ នៅពេលបន្ថែមអថេរបរិស្ថាន មាតិកានៅក្នុងថតឧបករណ៍ត្រូវបានបន្ថែមទៅអថេរបរិស្ថានប្រព័ន្ធ ដែលអនុញ្ញាតឱ្យ idf.py ត្រូវបានប្រតិបត្តិដោយផ្ទាល់នៅក្រោមផ្លូវគម្រោង។
ឃ. ឧample ថតកម្មវិធី ឧamples
ថតនេះមានបណ្តុំដ៏ធំនៃ ESP-IDF example កម្មវិធីដែលបង្ហាញពីការប្រើប្រាស់ APIs សមាសភាគ។ អតីតamples ត្រូវបានរៀបចំជាថតរងផ្សេងៗ ដោយផ្អែកលើប្រភេទរបស់ពួកគេ៖
· ចាប់ផ្តើម៖ ថតរងនេះរួមបញ្ចូលទាំងកម្រិតធាតុ examples ចូលចិត្ត "ជំរាបសួរពិភពលោក" និង "ព្រិចភ្នែក" ដើម្បីជួយអ្នកប្រើប្រាស់យល់ពីមូលដ្ឋាន។
· ប៊្លូធូស៖ អ្នកអាចស្វែងរកប៊្លូធូសដែលទាក់ទងនឹងឧampនៅទីនេះ រួមទាំង Bluetooth LE Mesh, Bluetooth LE HID, BluFi និងច្រើនទៀត។
· wifi៖ ថតរងនេះផ្តោតលើ Wi-Fi examples រួមទាំងកម្មវិធីមូលដ្ឋានដូចជា Wi-Fi SoftAP ស្ថានីយ៍ Wi-Fi espnow ក៏ដូចជាពិធីការទំនាក់ទំនងដែលមានកម្មសិទ្ធិ examples ពី Espressif ។ វាក៏រួមបញ្ចូលស្រទាប់កម្មវិធីជាច្រើន examples ផ្អែកលើ Wi-Fi ដូចជា Iperf, Sniffer និង Smart Config ។
· គ្រឿងកុំព្យូទ័រ៖ ថតរងដ៏ទូលំទូលាយនេះត្រូវបានបែងចែកបន្ថែមទៀតទៅជាថតរងជាច្រើនដោយផ្អែកលើឈ្មោះគ្រឿងកុំព្យូទ័រ។ វាជាចម្បងមានកម្មវិធីបញ្ជាគ្រឿងកុំព្យូទ័រ examples សម្រាប់បន្ទះសៀគ្វី Espressif ជាមួយអតីតនីមួយៗample បង្ហាញពីអតីតរងជាច្រើន។amples ។ ជាឧទាហរណ៍ ថតរង gpio រួមមាន ex ពីរamples: GPIO និង GPIO matrix keyboard ។ វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថាមិនមែនអតីតទាំងអស់។amples នៅក្នុងថតនេះអាចអនុវត្តបានចំពោះ ESP32-C3 ។
36 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
សម្រាប់អតីតampលេ អតីតamples ក្នុង usb/host គឺអាចអនុវត្តបានតែចំពោះគ្រឿងកុំព្យូទ័រដែលមានផ្នែករឹង USB Host (ដូចជា ESP32-S3) ហើយ ESP32-C3 មិនមានគ្រឿងកុំព្យូទ័រនេះទេ។ ប្រព័ន្ធចងក្រងជាធម្មតាផ្តល់នូវការជម្រុញនៅពេលកំណត់គោលដៅ។ README file របស់អតីតនីមួយៗample រាយបញ្ជីបន្ទះសៀគ្វីដែលគាំទ្រ។ · ពិធីការ៖ ថតរងនេះមានឧamples សម្រាប់ពិធីការទំនាក់ទំនងផ្សេងៗ រួមមាន MQTT, HTTP, HTTP Server, PPPoS, Modbus, mDNS, SNTP ដែលគ្របដណ្តប់លើពិធីការទំនាក់ទំនងដ៏ធំទូលាយ។amples ត្រូវការសម្រាប់ការអភិវឌ្ឍន៍ IoT ។ · ការផ្តល់: នៅទីនេះ អ្នកនឹងរកឃើញការផ្តល់ឧamples សម្រាប់វិធីសាស្រ្តផ្សេងៗគ្នា ដូចជាការផ្តល់ Wi-Fi និង Bluetooth LE ជាដើម។ · ប្រព័ន្ធ៖ ថតរងនេះរួមបញ្ចូលទាំងការបំបាត់កំហុសប្រព័ន្ធ examples (ឧ. stack tracing, runtime tracing, task monitoring), power management examples (ឧ. របៀបគេងផ្សេងៗ សហដំណើរការ) និងឧamples ទាក់ទងនឹងសមាសធាតុប្រព័ន្ធទូទៅដូចជាស្ថានីយកុងសូល រង្វិលជុំព្រឹត្តិការណ៍ និងកម្មវិធីកំណត់ម៉ោងប្រព័ន្ធ។ · ការផ្ទុក៖ នៅក្នុងថតរងនេះ អ្នកនឹងរកឃើញ examples ទាំងអស់។ file ប្រព័ន្ធ និងយន្តការផ្ទុកដែលគាំទ្រដោយ ESP-IDF (ដូចជាការអាន និងការសរសេរ Flash, កាត SD និងប្រព័ន្ធផ្ទុកទិន្នន័យផ្សេងទៀត) ក៏ដូចជាអតីតamples of non-volatile storage (NVS), FatFS, SPIFFS និងផ្សេងទៀត។ file ប្រតិបត្តិការប្រព័ន្ធ។ · សុវត្ថិភាព៖ ថតរងនេះមានឧamples ទាក់ទងនឹងការអ៊ិនគ្រីបពន្លឺ។ (2) ESP-IDF compilation tool chain directory (/.espressif) ដូចបង្ហាញក្នុងរូបភាព 4.3។
រូបភាព 4.3 ។ ថតខ្សែសង្វាក់ឧបករណ៍ចងក្រង ESP-IDF
ជំពូកទី 4. ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 37
ក. បញ្ជីរាយបញ្ជីចែកចាយកម្មវិធី
ខ្សែសង្វាក់ឧបករណ៍ ESP-IDF និងកម្មវិធីផ្សេងទៀតត្រូវបានចែកចាយជាទម្រង់កញ្ចប់ដែលបានបង្ហាប់។ កំឡុងពេលដំណើរការដំឡើង ឧបករណ៍ដំឡើងដំបូងទាញយកកញ្ចប់ដែលបានបង្ហាប់ទៅថត dist ហើយបន្ទាប់មកស្រង់វាទៅថតដែលបានបញ្ជាក់។ នៅពេលដែលការដំឡើងត្រូវបានបញ្ចប់ មាតិកានៅក្នុងថតនេះអាចត្រូវបានយកចេញដោយសុវត្ថិភាព។
ខ. ថតបរិស្ថាននិម្មិត Python python env
កំណែផ្សេងគ្នានៃ ESP-IDF ពឹងផ្អែកលើកំណែជាក់លាក់នៃកញ្ចប់ Python ។ ការដំឡើងកញ្ចប់ទាំងនេះដោយផ្ទាល់នៅលើម៉ាស៊ីនតែមួយអាចនាំឱ្យមានការប៉ះទង្គិចរវាងកំណែកញ្ចប់។ ដើម្បីដោះស្រាយបញ្ហានេះ ESP-IDF ប្រើប្រាស់បរិស្ថាននិម្មិត 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 នៅលើប្រព័ន្ធលីនុច ដែលនឹងត្រូវបានណែនាំលម្អិតនៅទីនេះ។ ការណែនាំជាច្រើនអាចអនុវត្តបាននៅទូទាំងវេទិកា ដោយសារភាពស្រដៀងគ្នានៃឧបករណ៍អភិវឌ្ឍន៍។ ដូច្នេះវាត្រូវបានណែនាំឱ្យអានដោយប្រុងប្រយ័ត្ននូវខ្លឹមសារនៃផ្នែកនេះ។
ចំណាំ អ្នកអាចយោងទៅឯកសារអនឡាញដែលមាននៅ https://bookc3.espressif.com/esp32c3 ដែលផ្តល់នូវពាក្យបញ្ជាដែលបានរៀបរាប់នៅក្នុងផ្នែកនេះ។
4.2.1 ការដំឡើងបរិស្ថានអភិវឌ្ឍន៍ ESP-IDF នៅលើលីនុច
ឧបករណ៍អភិវឌ្ឍន៍ និងបំបាត់កំហុសរបស់ GNU ដែលទាមទារសម្រាប់បរិស្ថានអភិវឌ្ឍន៍ ESP-IDF មានដើមកំណើតពីប្រព័ន្ធលីនុច។ លើសពីនេះ ស្ថានីយបន្ទាត់ពាក្យបញ្ជានៅក្នុងលីនុចមានថាមពលខ្លាំង និងងាយស្រួលប្រើ ដែលធ្វើឱ្យវាក្លាយជាជម្រើសដ៏ល្អសម្រាប់ការអភិវឌ្ឍន៍ ESP32-C3 ។ អ្នកអាច
38 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
ជ្រើសរើសការចែកចាយលីនុចដែលអ្នកពេញចិត្ត ប៉ុន្តែយើងសូមណែនាំឱ្យប្រើ Ubuntu ឬប្រព័ន្ធដែលមានមូលដ្ឋានលើ Debian ផ្សេងទៀត។ ផ្នែកនេះផ្តល់ការណែនាំអំពីការដំឡើងបរិស្ថានអភិវឌ្ឍន៍ ESP-IDF នៅលើអ៊ូប៊ុនទូ 20.04។
1. ដំឡើងកញ្ចប់ដែលត្រូវការ
បើកស្ថានីយថ្មី ហើយប្រតិបត្តិពាក្យបញ្ជាខាងក្រោម ដើម្បីដំឡើងកញ្ចប់ចាំបាច់ទាំងអស់។ ពាក្យបញ្ជានឹងរំលងកញ្ចប់ដែលត្រូវបានដំឡើងរួចហើយដោយស្វ័យប្រវត្តិ។
$ sudo apt-get ដំឡើង git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
TIPS អ្នកត្រូវប្រើគណនីអ្នកគ្រប់គ្រង និងពាក្យសម្ងាត់សម្រាប់ពាក្យបញ្ជាខាងលើ។ តាមលំនាំដើម គ្មានព័ត៌មាននឹងត្រូវបានបង្ហាញនៅពេលបញ្ចូលពាក្យសម្ងាត់ទេ។ គ្រាន់តែចុចគ្រាប់ចុច "បញ្ចូល" ដើម្បីបន្តនីតិវិធី។
Git គឺជាឧបករណ៍គ្រប់គ្រងកូដសំខាន់នៅក្នុង ESP-IDF ។ បន្ទាប់ពីរៀបចំបរិស្ថានអភិវឌ្ឍន៍ដោយជោគជ័យ អ្នកអាចប្រើពាក្យបញ្ជា git log ទៅ 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 គឺជាកម្មវិធីបញ្ជាចម្បងដែលប្រើសម្រាប់ការទំនាក់ទំនងសៀរៀល USB និងការដុតកម្មវិធីបង្កប់។ នៅពេលដែលកញ្ចប់កម្មវិធីត្រូវបានដំឡើង អ្នកអាចប្រើ apt show ពាក្យបញ្ជាដើម្បីទទួលបានការពិពណ៌នាលម្អិតនៃកញ្ចប់នីមួយៗ។ សម្រាប់អតីតampប្រើ apt show git ដើម្បីបោះពុម្ពព័ត៌មានពិពណ៌នាសម្រាប់ឧបករណ៍ Git ។
សំណួរ៖ អ្វីដែលត្រូវធ្វើប្រសិនបើកំណែ Python មិនត្រូវបានគាំទ្រ? ចម្លើយ៖ ESP-IDF v4.3 ទាមទារកំណែ Python ដែលមិនទាបជាង v3.6។ សម្រាប់កំណែចាស់របស់អ៊ូប៊ុនទូ សូមទាញយក និងដំឡើងកំណែខ្ពស់ជាង Python ដោយដៃ ហើយកំណត់ Python3 ជាបរិស្ថាន Python លំនាំដើម។ អ្នកអាចស្វែងរកការណែនាំលម្អិតដោយស្វែងរក keyword update-alternatives python។
2. ទាញយកលេខកូដឃ្លាំង ESP-IDF
បើកស្ថានីយ ហើយបង្កើតថតឯកសារដែលមានឈ្មោះ esp នៅក្នុងថតផ្ទះរបស់អ្នកដោយប្រើពាក្យបញ្ជា mkdir ។ អ្នកអាចជ្រើសរើសឈ្មោះផ្សេងសម្រាប់ថតឯកសារប្រសិនបើអ្នកចង់បាន។ ប្រើពាក្យបញ្ជា cd ដើម្បីបញ្ចូលថត។
ជំពូកទី 4. ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 39
$ mkdir -p / esp $ cd / esp
ប្រើពាក្យបញ្ជា git clone ដើម្បីទាញយកកូដឃ្លាំង ESP-IDF ដូចបង្ហាញខាងក្រោម៖
$ git ក្លូន -b v4.3.2 -recursive https://github.com/espressif/esp-idf.git
នៅក្នុងពាក្យបញ្ជាខាងលើ ប៉ារ៉ាម៉ែត្រ -b v4.3.2 បញ្ជាក់កំណែដែលត្រូវទាញយក (ក្នុងករណីនេះកំណែ 4.3.2) ។ ប៉ារ៉ាម៉ែត្រ -recursive ធានាថាឃ្លាំងរងទាំងអស់នៃ ESP-IDF ត្រូវបានទាញយកឡើងវិញ។ ព័ត៌មានអំពីឃ្លាំងរងអាចត្រូវបានរកឃើញនៅក្នុង .gitmodules file.
3. ដំឡើងខ្សែសង្វាក់ឧបករណ៍អភិវឌ្ឍន៍ ESP-IDF
Espressif ផ្តល់នូវស្គ្រីបស្វ័យប្រវត្តិ install.sh ដើម្បីទាញយក និងដំឡើងខ្សែសង្វាក់ឧបករណ៍។ ស្គ្រីបនេះពិនិត្យមើលកំណែ ESP-IDF បច្ចុប្បន្ន និងបរិស្ថានប្រព័ន្ធប្រតិបត្តិការ ហើយបន្ទាប់មកទាញយក និងដំឡើងកំណែសមស្របនៃកញ្ចប់ឧបករណ៍ Python និងខ្សែសង្វាក់ឧបករណ៍ចងក្រង។ ផ្លូវដំឡើងលំនាំដើមសម្រាប់សង្វាក់ឧបករណ៍គឺ /.espressif ។ អ្វីដែលអ្នកត្រូវធ្វើគឺចូលទៅកាន់ថត esp-idf ហើយដំណើរការ install.sh ។
$ cd /esp/esp-idf $ ./install.sh
ប្រសិនបើអ្នកដំឡើងខ្សែសង្វាក់ឧបករណ៍ដោយជោគជ័យ ស្ថានីយនឹងបង្ហាញ៖
រួចរាល់ហើយ!
នៅចំណុចនេះ អ្នកបានរៀបចំបរិយាកាសអភិវឌ្ឍន៍ ESP-IDF ដោយជោគជ័យ។
4.2.2 ការដំឡើង ESP-IDF Development Environment នៅលើ Windows
1. ទាញយកកម្មវិធីដំឡើងឧបករណ៍ ESP-IDF
គន្លឹះ វាត្រូវបានណែនាំអោយរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 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 (ដូចជាសាខាមេ) . ឌីសាវ៉ានtage គឺថាវាទាមទារការតភ្ជាប់បណ្តាញកំឡុងពេលដំណើរការដំឡើង ដែលអាចបណ្តាលឱ្យបរាជ័យក្នុងការដំឡើងដោយសារតែបញ្ហាបណ្តាញ។
40 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
· កម្មវិធីដំឡើងឧបករណ៍ ESP-IDF ក្រៅបណ្តាញ កម្មវិធីដំឡើងនេះមានទំហំធំជាង មានទំហំប្រហែល 1 GB និងមានកញ្ចប់កម្មវិធី និងកូដទាំងអស់ដែលត្រូវការសម្រាប់ការដំឡើងបរិស្ថាន។ Advan សំខាន់tage នៃកម្មវិធីដំឡើងក្រៅបណ្តាញគឺថាវាអាចត្រូវបានប្រើនៅលើកុំព្យូទ័រដោយគ្មានការចូលប្រើអ៊ីនធឺណិត ហើយជាទូទៅមានអត្រាជោគជ័យនៃការដំឡើងខ្ពស់ជាង។ វាគួរតែត្រូវបានកត់សម្គាល់ថាកម្មវិធីដំឡើងក្រៅបណ្តាញអាចដំឡើងតែការចេញផ្សាយដែលមានស្ថេរភាពនៃ ESP-IDF ដែលកំណត់ដោយ v*.* ឬ v*.*.* ។
2. ដំណើរការកម្មវិធីដំឡើងឧបករណ៍ ESP-IDF បន្ទាប់ពីទាញយកកំណែដែលសមរម្យរបស់អ្នកដំឡើង (យក ESP-IDF Tools Offline 4.3.2 សម្រាប់ឧ។ampនៅទីនេះ) ចុចពីរដងលើ exe file ដើម្បីបើកដំណើរការចំណុចប្រទាក់ដំឡើង ESP-IDF ។ ខាងក្រោមនេះបង្ហាញពីរបៀបដំឡើង ESP-IDF កំណែស្ថេរភាព v4.3.2 ដោយប្រើកម្មវិធីដំឡើងក្រៅបណ្តាញ។
(1) នៅក្នុងចំណុចប្រទាក់ "ជ្រើសរើសភាសាដំឡើង" ដែលបង្ហាញក្នុងរូបភាព 4.4 សូមជ្រើសរើសភាសាដែលត្រូវប្រើពីបញ្ជីទម្លាក់ចុះ។
រូបភាព 4.4 ។ ចំណុចប្រទាក់ "ជ្រើសរើសភាសាដំឡើង" (2) បន្ទាប់ពីជ្រើសរើសភាសាសូមចុច "យល់ព្រម" ដើម្បីលេចឡើងចំណុចប្រទាក់ "កិច្ចព្រមព្រៀងអាជ្ញាប័ណ្ណ"
(សូមមើលរូបភាព 4.5) ។ បន្ទាប់ពីអានដោយប្រុងប្រយ័ត្ននូវកិច្ចព្រមព្រៀងអាជ្ញាប័ណ្ណដំឡើង សូមជ្រើសរើស "ខ្ញុំទទួលយកកិច្ចព្រមព្រៀង" ហើយចុច "បន្ទាប់" ។
រូបភាព 4.5 ។ ចំណុចប្រទាក់ “កិច្ចព្រមព្រៀងអាជ្ញាប័ណ្ណ” ជំពូកទី 4. ការដំឡើងបរិស្ថានអភិវឌ្ឍន៍ 41
(3) បview ការកំណត់រចនាសម្ព័ន្ធប្រព័ន្ធនៅក្នុងចំណុចប្រទាក់ "ការត្រួតពិនិត្យប្រព័ន្ធមុនការដំឡើង" (សូមមើលរូបភាព 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: មគ្គុទ្ទេសក៍ទូលំទូលាយចំពោះ IoT
(5) ពិនិត្យមើលសមាសធាតុដែលត្រូវដំឡើងដូចបង្ហាញក្នុងរូបភាព 4.8 ។ វាត្រូវបានណែនាំឱ្យប្រើជម្រើសលំនាំដើម នោះគឺការដំឡើងពេញលេញ ហើយបន្ទាប់មកចុច "បន្ទាប់" ។
រូបភាព 4.8 ។ ជ្រើសរើសសមាសភាគដែលត្រូវដំឡើង (6) បញ្ជាក់សមាសភាគដែលត្រូវដំឡើង ហើយចុច "ដំឡើង" ដើម្បីចាប់ផ្តើមដោយស្វ័យប្រវត្តិក្នុង-
ដំណើរការជាប់គាំង ដូចបង្ហាញក្នុងរូបភាព ៤.៩។ ដំណើរការដំឡើងអាចមានរយៈពេលរាប់សិបនាទី ហើយរបារវឌ្ឍនភាពនៃដំណើរការដំឡើងត្រូវបានបង្ហាញក្នុងរូបភាព 4.9 ។ សូមរង់ចាំដោយអត់ធ្មត់។
រូបភាព 4.9 ។ ការរៀបចំសម្រាប់ការដំឡើង (7) បន្ទាប់ពីការដំឡើងត្រូវបានបញ្ចប់ វាត្រូវបានណែនាំឱ្យពិនិត្យមើល “ចុះឈ្មោះ ESP-IDF
ឧបករណ៍ដែលអាចប្រតិបត្តិបានដូចជាការមិនរាប់បញ្ចូល Windows Defender…” ដើម្បីការពារកម្មវិធីកម្ចាត់មេរោគពីការលុប fileស. ការបន្ថែមធាតុមិនរាប់បញ្ចូលក៏អាចរំលងការស្កេនញឹកញាប់ដោយកំចាត់មេរោគផងដែរ។
ជំពូកទី 4. ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 43
រូបភាព 4.10 ។ កម្មវិធីរបារវឌ្ឍនភាពនៃការដំឡើង ធ្វើអោយប្រសើរឡើងយ៉ាងខ្លាំងនូវប្រសិទ្ធភាពនៃការចងក្រងកូដនៃប្រព័ន្ធវីនដូ។ ចុច “Finish” ដើម្បីបញ្ចប់ការដំឡើងបរិស្ថានអភិវឌ្ឍន៍ ដូចបង្ហាញក្នុងរូបភាព 4.11។ អ្នកអាចជ្រើសរើសដើម្បីពិនិត្យមើល "ដំណើរការបរិស្ថាន ESP-IDF PowerShell" ឬ "រត់ប្រអប់បញ្ចូលពាក្យបញ្ជា ESP-IDF" ។ ដំណើរការបង្អួចចងក្រងដោយផ្ទាល់បន្ទាប់ពីការដំឡើង ដើម្បីធានាថាបរិស្ថានអភិវឌ្ឍន៍ដំណើរការជាធម្មតា។
រូបភាព 4.11 ។ ការដំឡើងបានបញ្ចប់ (8) បើកបរិយាកាសអភិវឌ្ឍន៍ដែលបានដំឡើងនៅក្នុងបញ្ជីកម្មវិធី (ទាំង ESP-IDF 4.3
CMD ឬ ESP-IDF 4.3 PowerShell terminal ដូចបង្ហាញក្នុងរូបភាព 4.12) ហើយអថេរបរិស្ថាន ESP-IDF នឹងត្រូវបានបន្ថែមដោយស្វ័យប្រវត្តិនៅពេលដំណើរការនៅក្នុងស្ថានីយ។ បន្ទាប់ពីនោះ អ្នកអាចប្រើពាក្យបញ្ជា idf.py សម្រាប់ប្រតិបត្តិការ។ ESP-IDF 4.3 CMD ដែលបានបើកត្រូវបានបង្ហាញក្នុងរូបភាព 4.13 ។ 44 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ មគ្គុទ្ទេសក៍ទូលំទូលាយចំពោះ IoT
រូបភាព 4.12 ។ បានដំឡើងបរិស្ថានអភិវឌ្ឍន៍
រូបភាព 4.13 ។ ESP-IDF 4.3 CMD
4.2.3 ការដំឡើង ESP-IDF Development Environment នៅលើ Mac
ដំណើរការនៃការដំឡើងបរិស្ថានអភិវឌ្ឍន៍ ESP-IDF នៅលើប្រព័ន្ធ Mac គឺដូចគ្នានឹងប្រព័ន្ធលីនុចដែរ។ ពាក្យបញ្ជាសម្រាប់ការទាញយកកូដឃ្លាំង និងដំឡើងខ្សែសង្វាក់ឧបករណ៍គឺដូចគ្នាបេះបិទ។ មានតែពាក្យបញ្ជាសម្រាប់ការដំឡើងកញ្ចប់ភាពអាស្រ័យប៉ុណ្ណោះដែលខុសគ្នាបន្តិចបន្តួច។ 1. ដំឡើងកញ្ចប់ភាពអាស្រ័យ បើកស្ថានីយ ហើយដំឡើង pip ដែលជាឧបករណ៍គ្រប់គ្រងកញ្ចប់ Python ដោយដំណើរការពាក្យបញ្ជាខាងក្រោម៖
% sudo ងាយស្រួលដំឡើង pip
ដំឡើង Homebrew ដែលជាឧបករណ៍គ្រប់គ្រងកញ្ចប់សម្រាប់ macOS ដោយដំណើរការពាក្យបញ្ជាខាងក្រោម៖
% /bin/bash -c “$(curl -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 ។ ជំហានគឺដូចគ្នានឹងការទាញយកនៅលើប្រព័ន្ធលីនុចដែរ។
ជំពូកទី 4. ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 45
3. ដំឡើងខ្សែសង្វាក់ឧបករណ៍អភិវឌ្ឍន៍ ESP-IDF
អនុវត្តតាមការណែនាំដែលមាននៅក្នុងផ្នែក 4.2.1 ដើម្បីដំឡើងខ្សែសង្វាក់ឧបករណ៍អភិវឌ្ឍន៍ ESP-IDF ។ ជំហានគឺដូចគ្នាទៅនឹងការដំឡើងនៅលើប្រព័ន្ធលីនុច។
4.2.4 ការដំឡើង VS Code
តាមលំនាំដើម ESP-IDF SDK មិនរួមបញ្ចូលឧបករណ៍កែកូដ (ទោះបីជាកម្មវិធីដំឡើង ESP-IDF ចុងក្រោយបំផុតសម្រាប់ Windows ផ្តល់ជម្រើសក្នុងការដំឡើង ESP-IDF Eclipse)។ អ្នកអាចប្រើឧបករណ៍កែសម្រួលអត្ថបទណាមួយនៃជម្រើសរបស់អ្នកដើម្បីកែសម្រួលកូដ ហើយបន្ទាប់មកចងក្រងវាដោយប្រើពាក្យបញ្ជាស្ថានីយ។
ឧបករណ៍កែកូដដ៏ពេញនិយមមួយគឺ VS Code (Visual Studio Code) ដែលជាកម្មវិធីកែកូដឥតគិតថ្លៃ និងមានលក្ខណៈពិសេសជាមួយនឹងចំណុចប្រទាក់ងាយស្រួលប្រើ។ វាផ្តល់ជូនផ្សេងៗគ្នា plugins ដែលផ្តល់មុខងារដូចជាការរុករកកូដ ការបន្លិចវាក្យសម្ព័ន្ធ ការគ្រប់គ្រងកំណែ Git និងការរួមបញ្ចូលស្ថានីយ។ លើសពីនេះទៀត Espressif បានបង្កើតកម្មវិធីជំនួយពិសេសមួយដែលមានឈ្មោះថា Espressif IDF សម្រាប់ VS Code ដែលជួយសម្រួលដល់ការកំណត់រចនាសម្ព័ន្ធគម្រោង និងការបំបាត់កំហុស។
អ្នកអាចប្រើពាក្យបញ្ជាកូដក្នុងស្ថានីយដើម្បីបើកថតបច្ចុប្បន្នយ៉ាងរហ័សក្នុង VS Code ។ ជាជម្រើសអ្នកអាចប្រើផ្លូវកាត់ Ctrl+ ដើម្បីបើកកុងសូលស្ថានីយលំនាំដើមរបស់ប្រព័ន្ធនៅក្នុង VS Code ។
TIPS វាត្រូវបានណែនាំឱ្យប្រើ VS Code សម្រាប់ការអភិវឌ្ឍន៍កូដ ESP32-C3។ ទាញយក និងដំឡើងកំណែចុងក្រោយបំផុតនៃ VS Code នៅ https://code.visualstudio.com/ ។
4.2.5 ការណែនាំអំពីបរិស្ថានអភិវឌ្ឍន៍ភាគីទីបី
បន្ថែមពីលើបរិយាកាសអភិវឌ្ឍន៍ ESP-IDF ផ្លូវការដែលប្រើប្រាស់ភាសា C ជាចម្បង ESP32-C3 ក៏គាំទ្រភាសាកម្មវិធីសំខាន់ៗផ្សេងទៀត និងបរិយាកាសអភិវឌ្ឍន៍ភាគីទីបីយ៉ាងទូលំទូលាយផងដែរ។ ជម្រើសគួរឱ្យកត់សម្គាល់មួយចំនួនរួមមាន:
Arduino៖ ជាវេទិកាប្រភពបើកចំហសម្រាប់ទាំងផ្នែករឹង និងសូហ្វវែរ ដែលគាំទ្រឧបករណ៍បញ្ជាមីក្រូជាច្រើន រួមទាំង ESP32-C3 ។
វាប្រើភាសា C ++ និងផ្តល់នូវ API ដែលមានលក្ខណៈសាមញ្ញ និងស្តង់ដារ ដែលត្រូវបានសំដៅជាទូទៅថាជាភាសា Arduino ។ Arduino ត្រូវបានគេប្រើយ៉ាងទូលំទូលាយក្នុងការអភិវឌ្ឍន៍គំរូ និងបរិបទអប់រំ។ វាផ្តល់នូវកញ្ចប់កម្មវិធីដែលអាចពង្រីកបាន និង IDE ដែលអនុញ្ញាតឱ្យងាយស្រួលក្នុងការចងក្រង និងបញ្ចេញពន្លឺ។
MicroPython៖ កម្មវិធីបកប្រែភាសា Python 3 ដែលត្រូវបានរចនាឡើងដើម្បីដំណើរការលើវេទិកា microcontroller ដែលបានបង្កប់។
ជាមួយនឹងភាសាស្គ្រីបដ៏សាមញ្ញ វាអាចចូលប្រើដោយផ្ទាល់នូវធនធានគ្រឿងកុំព្យូទ័ររបស់ ESP32-C3 (ដូចជា UART, SPI, និង I2C) និងមុខងារទំនាក់ទំនង (ដូចជា Wi-Fi និង Bluetooth LE)។
46 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
នេះជួយសម្រួលអន្តរកម្មផ្នែករឹង។ MicroPython រួមបញ្ចូលគ្នាជាមួយបណ្ណាល័យប្រតិបត្តិការគណិតវិទ្យាដ៏ទូលំទូលាយរបស់ Python អនុញ្ញាតឱ្យការអនុវត្តក្បួនដោះស្រាយស្មុគស្មាញនៅលើ ESP32-C3 ដែលសម្របសម្រួលដល់ការអភិវឌ្ឍន៍កម្មវិធីដែលទាក់ទងនឹង AI ។ ជាភាសាស្គ្រីប មិនចាំបាច់មានការចងក្រងម្តងហើយម្តងទៀតទេ។ ការកែប្រែអាចត្រូវបានធ្វើឡើង ហើយស្គ្រីបអាចត្រូវបានប្រតិបត្តិដោយផ្ទាល់។
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 អាចត្រូវបានប្រើដើម្បីគ្រប់គ្រងឥរិយាបថចងក្រងនៃកូដ។ បន្ថែមពីលើការគាំទ្រវាក្យសម្ព័ន្ធមូលដ្ឋាននៃ CMake ប្រព័ន្ធចងក្រង ESP-IDF ក៏កំណត់សំណុំនៃច្បាប់ចងក្រងលំនាំដើម និងមុខងារ CMake ហើយអ្នកអាចសរសេរស្គ្រីបចងក្រងដោយសេចក្តីថ្លែងការណ៍សាមញ្ញ។
4.3.2 គម្រោង File រចនាសម្ព័ន្ធ
គម្រោងគឺជាថតដែលមានកម្មវិធីធាតុសំខាន់ សមាសភាគកំណត់ដោយអ្នកប្រើប្រាស់ និង files តម្រូវឱ្យបង្កើតកម្មវិធីដែលអាចប្រតិបត្តិបាន ដូចជា ស្គ្រីបចងក្រង ការកំណត់រចនាសម្ព័ន្ធ
ជំពូកទី 4. ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 47
files, partition tables ។ល។ គម្រោងអាចត្រូវបានចម្លង និងបញ្ជូនបន្ត ហើយអាចប្រតិបត្តិដូចគ្នា file អាចត្រូវបានចងក្រង និងបង្កើតនៅក្នុងម៉ាស៊ីនដែលមានកំណែដូចគ្នានៃបរិស្ថានអភិវឌ្ឍន៍ ESP-IDF ។ គម្រោង ESP-IDF ធម្មតា។ file រចនាសម្ព័ន្ធត្រូវបានបង្ហាញក្នុងរូបភាព 4.14 ។
រូបភាព 4.14 ។ គម្រោង ESP-IDF ធម្មតា។ file រចនាសម្ព័ន្ធចាប់តាំងពី ESP-IDF គាំទ្របន្ទះឈីប IoT ជាច្រើនពី Espressif រួមទាំង ESP32 ស៊េរី ESP32-S ស៊េរី ESP32-C ស៊េរី ESP32-H ជាដើម។ គោលដៅចាំបាច់ត្រូវកំណត់មុនពេលចងក្រងកូដ។ គោលដៅគឺទាំងឧបករណ៍ផ្នែករឹងដែលដំណើរការកម្មវិធីកម្មវិធី និងគោលដៅបង្កើតនៃប្រព័ន្ធចងក្រង។ អាស្រ័យលើតម្រូវការរបស់អ្នក អ្នកអាចបញ្ជាក់គោលដៅមួយ ឬច្រើនសម្រាប់គម្រោងរបស់អ្នក។ សម្រាប់អតីតample តាមរយៈពាក្យបញ្ជា idf.py set-target esp32c3 អ្នកអាចកំណត់គោលដៅចងក្រងទៅ ESP32-C3 ក្នុងអំឡុងពេលនោះ ប៉ារ៉ាម៉ែត្រលំនាំដើម និងផ្លូវខ្សែសង្វាក់ឧបករណ៍ចងក្រងសម្រាប់ ESP32C3 នឹងត្រូវបានផ្ទុក។ បន្ទាប់ពីការចងក្រង កម្មវិធីដែលអាចប្រតិបត្តិបានអាចត្រូវបានបង្កើតសម្រាប់ ESP32C3 ។ អ្នកក៏អាចដំណើរការពាក្យបញ្ជា set-target ម្តងទៀតដើម្បីកំណត់គោលដៅផ្សេង ហើយប្រព័ន្ធចងក្រងនឹងសម្អាត និងកំណត់រចនាសម្ព័ន្ធឡើងវិញដោយស្វ័យប្រវត្តិ។ សមាសធាតុ
សមាសធាតុនៅក្នុង ESP-IDF គឺជាឯកតាកូដម៉ូឌុល និងឯករាជ្យដែលគ្រប់គ្រងនៅក្នុងប្រព័ន្ធចងក្រង។ ពួកវាត្រូវបានរៀបចំជាថត ដោយមានឈ្មោះថតតំណាងឱ្យឈ្មោះសមាសភាគតាមលំនាំដើម។ សមាសធាតុនីមួយៗមានស្គ្រីបចងក្រងផ្ទាល់ខ្លួនដែល 48 ESP32-C3 Wireless Adventure: មគ្គុទ្ទេសក៍ទូលំទូលាយចំពោះ IoT
បញ្ជាក់ប៉ារ៉ាម៉ែត្រនៃការចងក្រង និងភាពអាស្រ័យរបស់វា។ ក្នុងអំឡុងពេលដំណើរការចងក្រង សមាសធាតុត្រូវបានចងក្រងជាបណ្ណាល័យឋិតិវន្តដាច់ដោយឡែក (.a files) ហើយនៅទីបំផុតរួមបញ្ចូលគ្នាជាមួយសមាសធាតុផ្សេងទៀតដើម្បីបង្កើតកម្មវិធីកម្មវិធី។
ESP-IDF ផ្តល់នូវមុខងារសំខាន់ៗដូចជា ប្រព័ន្ធប្រតិបត្តិការ កម្មវិធីបញ្ជាគ្រឿងកុំព្យូទ័រ និងជង់ពិធីការបណ្តាញ ក្នុងទម្រង់ជាសមាសធាតុ។ សមាសធាតុទាំងនេះត្រូវបានរក្សាទុកនៅក្នុងថតសមាសធាតុដែលមានទីតាំងនៅក្នុងថតឫស ESP-IDF ។ អ្នកអភិវឌ្ឍន៍មិនចាំបាច់ចម្លងសមាសធាតុទាំងនេះទៅថតសមាសធាតុនៃ myProject ទេ។ ផ្ទុយទៅវិញ ពួកគេគ្រាន់តែត្រូវការបញ្ជាក់ទំនាក់ទំនងអាស្រ័យនៃសមាសធាតុទាំងនេះនៅក្នុង CMakeLists.txt របស់គម្រោង file ដោយប្រើការណែនាំ REQUIRES ឬ PRIV_REQUIRES ។ ប្រព័ន្ធចងក្រងនឹងកំណត់ទីតាំងដោយស្វ័យប្រវត្តិ និងចងក្រងសមាសធាតុដែលត្រូវការ។
ដូច្នេះ បញ្ជីសមាសភាគនៅក្រោម myProject គឺមិនចាំបាច់ទេ។ វាត្រូវបានប្រើដើម្បីរួមបញ្ចូលសមាសធាតុផ្ទាល់ខ្លួនមួយចំនួននៃគម្រោង ដែលអាចជាបណ្ណាល័យភាគីទីបី ឬកូដកំណត់ដោយអ្នកប្រើប្រាស់។ លើសពីនេះ សមាសធាតុអាចត្រូវបានប្រភពចេញពីថតណាមួយក្រៅពី ESP-IDF ឬគម្រោងបច្ចុប្បន្ន ដូចជាពីគម្រោងប្រភពបើកចំហដែលបានរក្សាទុកក្នុងថតផ្សេងទៀត។ ក្នុងករណីនេះ អ្នកគ្រាន់តែបន្ថែមផ្លូវនៃសមាសភាគដោយកំណត់អថេរ EXTRA_COMPONENT_DIRS ក្នុង CMakeLists.txt នៅក្រោមថតឫស។ ថតនេះនឹងបដិសេធសមាសធាតុ ESP-IDF ណាមួយដែលមានឈ្មោះដូចគ្នា ដោយធានាថាសមាសធាតុត្រឹមត្រូវត្រូវបានប្រើប្រាស់។
កម្មវិធីធាតុសំខាន់ ថតឯកសារសំខាន់នៅក្នុងគម្រោងធ្វើតាមដូចគ្នា។ file រចនាសម្ព័នដូចជាធាតុផ្សំផ្សេងទៀត (ឧ. សមាសភាគ១)។ ទោះជាយ៉ាងណាក៏ដោយ វាមានសារៈសំខាន់ជាពិសេសព្រោះវាជាសមាសធាតុចាំបាច់ដែលត្រូវតែមាននៅក្នុងគ្រប់គម្រោង។ ថតសំខាន់មានកូដប្រភពរបស់គម្រោង និងចំណុចចូលរបស់កម្មវិធីអ្នកប្រើប្រាស់ ដែលជាទូទៅមានឈ្មោះថា app_main។ តាមលំនាំដើម ការប្រតិបត្តិកម្មវិធីអ្នកប្រើប្រាស់ចាប់ផ្តើមពីចំណុចចូលនេះ។ សមាសភាគសំខាន់ក៏ខុសគ្នាដែរ ដែលវាអាស្រ័យដោយស្វ័យប្រវត្តិលើសមាសធាតុទាំងអស់នៅក្នុងផ្លូវស្វែងរក។ ដូច្នេះ មិនចាំបាច់បង្ហាញយ៉ាងច្បាស់អំពីភាពអាស្រ័យដោយប្រើការណែនាំ REQUIRES ឬ PRIV_REQUIRES នៅក្នុង CMakeLists.txt ទេ។ file.
ការកំណត់រចនាសម្ព័ន្ធ file ថត root នៃគម្រោងមានការកំណត់រចនាសម្ព័ន្ធ file ហៅថា sdkconfig ដែលមានប៉ារ៉ាម៉ែត្រកំណត់រចនាសម្ព័ន្ធសម្រាប់សមាសធាតុទាំងអស់នៅក្នុងគម្រោង។ sdkconfig file ត្រូវបានបង្កើតដោយស្វ័យប្រវត្តិដោយប្រព័ន្ធចងក្រង ហើយអាចត្រូវបានកែប្រែ និងបង្កើតឡើងវិញដោយពាក្យបញ្ជា idf.py menuconfig ។ ជម្រើស menuconfig មានប្រភពជាចម្បងពី Kconfig.projbuild នៃគម្រោង និង Kconfig នៃសមាសភាគ។ អ្នកអភិវឌ្ឍន៍សមាសភាគជាទូទៅបន្ថែមធាតុកំណត់រចនាសម្ព័ន្ធនៅក្នុង Kconfig ដើម្បីធ្វើឱ្យសមាសធាតុអាចបត់បែនបាន និងអាចកំណត់រចនាសម្ព័ន្ធបាន។
Build directory តាមលំនាំដើម ថតសាងសង់ក្នុងគម្រោងរក្សាទុកកម្រិតមធ្យម files និង fi-
ជំពូកទី 4. ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 49
កម្មវិធីដែលអាចប្រតិបត្តិបានដែលបង្កើតឡើងដោយពាក្យបញ្ជា idf.py build ។ ជាទូទៅ វាមិនចាំបាច់ក្នុងការចូលប្រើដោយផ្ទាល់នូវមាតិកានៃថត build នោះទេ។ ESP-IDF ផ្តល់នូវពាក្យបញ្ជាដែលបានកំណត់ជាមុនដើម្បីធ្វើអន្តរកម្មជាមួយថតឯកសារ ដូចជាការប្រើពាក្យបញ្ជា idf.py flash ដើម្បីកំណត់ទីតាំងគោលពីរដែលបានចងក្រងដោយស្វ័យប្រវត្តិ file ហើយបញ្ចេញវាទៅអាសយដ្ឋាន flash ដែលបានបញ្ជាក់ ឬប្រើពាក្យបញ្ជា idf.py fullclean ដើម្បីសម្អាតថត build ទាំងមូល។
តារាងភាគថាស (partitions.csv) គម្រោងនីមួយៗទាមទារតារាងភាគថាសដើម្បីបែងចែកចន្លោះនៃពន្លឺ និងបញ្ជាក់ទំហំ និងអាសយដ្ឋានចាប់ផ្តើមនៃកម្មវិធីដែលអាចប្រតិបត្តិបាន និងទំហំទិន្នន័យអ្នកប្រើប្រាស់។ ពាក្យបញ្ជា idf.py flash ឬកម្មវិធីធ្វើឱ្យប្រសើរឡើង OTA នឹងបញ្ចេញកម្មវិធីបង្កប់ទៅអាសយដ្ឋានដែលត្រូវគ្នាយោងតាមតារាងនេះ។ ESP-IDF ផ្តល់នូវតារាងភាគថាសលំនាំដើមជាច្រើននៅក្នុង components/partition_table ដូចជា partitions_singleapp.csv និង partitions_two_ ota.csv ដែលអាចត្រូវបានជ្រើសរើសក្នុង menuconfig ។
ប្រសិនបើតារាងភាគថាសលំនាំដើមនៃប្រព័ន្ធមិនអាចបំពេញតាមតម្រូវការរបស់គម្រោងបានទេនោះ partitions.csv ផ្ទាល់ខ្លួនអាចត្រូវបានបន្ថែមទៅថតគម្រោង ហើយត្រូវបានជ្រើសរើសក្នុង menuconfig ។
4.3.3 ច្បាប់បង្កើតលំនាំដើមនៃប្រព័ន្ធចងក្រង
ច្បាប់សម្រាប់ការបដិសេធសមាសធាតុដែលមានឈ្មោះដូចគ្នា កំឡុងពេលដំណើរការស្វែងរកសមាសធាតុ ប្រព័ន្ធចងក្រងធ្វើតាមលំដាប់ជាក់លាក់មួយ។ ដំបូងវាស្វែងរកសមាសធាតុខាងក្នុងនៃ ESP-IDF បន្ទាប់មកស្វែងរកសមាសធាតុនៃគម្រោងអ្នកប្រើប្រាស់ ហើយចុងក្រោយស្វែងរកសមាសធាតុនៅក្នុង EXTRA_COMPONENT_DIRS ។ ក្នុងករណីដែលថតច្រើនមានសមាសភាគដែលមានឈ្មោះដូចគ្នា សមាសភាគដែលរកឃើញក្នុងថតចុងក្រោយនឹងបដិសេធសមាសធាតុមុនណាមួយដែលមានឈ្មោះដូចគ្នា។ ច្បាប់នេះអនុញ្ញាតឱ្យមានការប្ដូរតាមបំណងនៃសមាសធាតុ 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 និងធ្វើឱ្យវាកាន់តែសង្ខេប។
ច្បាប់សម្រាប់ការបដិសេធធាតុកំណត់រចនាសម្ព័ន្ធ អ្នកអភិវឌ្ឍន៍អាចបន្ថែមប៉ារ៉ាម៉ែត្រកំណត់រចនាសម្ព័ន្ធលំនាំដើមដោយបន្ថែមការកំណត់រចនាសម្ព័ន្ធលំនាំដើម file ដាក់ឈ្មោះ sdkconfig.defaults ទៅគម្រោង។ សម្រាប់អតីតample បន្ថែម CONFIG_LOG_
50 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ 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 នឹងបដិសេធអតីត។
4.3.4 ការណែនាំអំពីស្គ្រីបចងក្រង
នៅពេលបង្កើតគម្រោងដោយប្រើប្រាស់ ESP-IDF អ្នកអភិវឌ្ឍន៍មិនត្រឹមតែត្រូវសរសេរកូដប្រភពប៉ុណ្ណោះទេ ថែមទាំងត្រូវសរសេរ CMakeLists.txt សម្រាប់គម្រោង និងសមាសធាតុផងដែរ។ CMakeLists.txt គឺជាអត្ថបទ fileត្រូវបានគេស្គាល់ថាជាស្គ្រីបចងក្រង ដែលកំណត់ស៊េរីនៃវត្ថុចងក្រង ធាតុកំណត់រចនាសម្ព័ន្ធការចងក្រង និងពាក្យបញ្ជាដើម្បីដឹកនាំដំណើរការចងក្រងនៃកូដប្រភព។ ប្រព័ន្ធចងក្រង ESP-IDF v4.3.2 គឺផ្អែកលើ CMake ។ បន្ថែមពីលើការគាំទ្រមុខងារ CMake និងពាក្យបញ្ជាដើម វាក៏កំណត់មុខងារផ្ទាល់ខ្លួនមួយចំនួនផងដែរ ដែលធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការសរសេរស្គ្រីបចងក្រង។
ស្គ្រីបចងក្រងនៅក្នុង ESP-IDF ភាគច្រើនរួមបញ្ចូលស្គ្រីបចងក្រងគម្រោង និងស្គ្រីបចងក្រងសមាសធាតុ។ CMakeLists.txt នៅក្នុងថតឫសនៃគម្រោងត្រូវបានគេហៅថា ស្គ្រីបចងក្រងគម្រោង ដែលដឹកនាំដំណើរការចងក្រងនៃគម្រោងទាំងមូល។ ស្គ្រីបចងក្រងគម្រោងមូលដ្ឋានជាធម្មតារួមមានបីបន្ទាត់ខាងក្រោមនេះ៖
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 ឈ្មោះ ពោលគឺ myProject.elf និង myProject.bin ។
គម្រោងមួយអាចមានសមាសធាតុជាច្រើន រួមទាំងសមាសភាគសំខាន់ផងដែរ។ ថតកម្រិតកំពូលនៃសមាសធាតុនីមួយៗមាន CMakeLists.txt fileដែលត្រូវបានគេហៅថា ស្គ្រីបចងក្រងសមាសធាតុ។ ស្គ្រីបចងក្រងសមាសធាតុត្រូវបានប្រើជាចម្បងដើម្បីបញ្ជាក់ភាពអាស្រ័យសមាសភាគ ប៉ារ៉ាម៉ែត្រកំណត់រចនាសម្ព័ន្ធ កូដប្រភព 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 កំណត់ភាពអាស្រ័យសមាសភាគសាធារណៈសម្រាប់សមាសភាគបច្ចុប្បន្ន។ វាចាំបាច់សម្រាប់សមាសធាតុដើម្បីបញ្ជាក់យ៉ាងច្បាស់ថាសមាសធាតុណាមួយដែលពួកគេពឹងផ្អែកលើ ដូចជាសមាសភាគ 2 អាស្រ័យលើសមាសភាគ1។ ទោះយ៉ាងណាក៏ដោយ សម្រាប់សមាសភាគសំខាន់ ដែលអាស្រ័យលើសមាសធាតុទាំងអស់តាមលំនាំដើម ប៉ារ៉ាម៉ែត្រ REQUIRES អាចត្រូវបានលុបចោល។
លើសពីនេះទៀត ពាក្យបញ្ជា CMake ដើមក៏អាចត្រូវបានប្រើនៅក្នុងស្គ្រីបចងក្រងផងដែរ។ សម្រាប់អតីតample ប្រើសំណុំពាក្យបញ្ជាដើម្បីកំណត់អថេរដូចជា set(VARIABLE “VALUE”)។
4.3.5 ការណែនាំអំពីពាក្យបញ្ជាទូទៅ
ESP-IDF ប្រើ CMake (ឧបករណ៍កំណត់រចនាសម្ព័ន្ធគម្រោង) Ninja (ឧបករណ៍កសាងគម្រោង) និង esptool (ឧបករណ៍ពន្លឺ) ក្នុងដំណើរការនៃការចងក្រងកូដ។ ឧបករណ៍នីមួយៗដើរតួនាទីផ្សេងគ្នាក្នុងការចងក្រង បង្កើត និងដំណើរការ flash ហើយក៏គាំទ្រពាក្យបញ្ជាប្រតិបត្តិការផ្សេងៗគ្នាផងដែរ។ ដើម្បីជួយសម្រួលដល់ប្រតិបត្តិការរបស់អ្នកប្រើ ESP-IDF បន្ថែម idf.py ផ្នែកខាងមុខបង្រួបបង្រួម ដែលអនុញ្ញាតឱ្យពាក្យបញ្ជាខាងលើត្រូវបានហៅយ៉ាងលឿន។
មុនពេលប្រើ idf.py ត្រូវប្រាកដថា៖
· អថេរបរិស្ថាន IDF_PATH នៃ ESP-IDF ត្រូវបានបន្ថែមទៅស្ថានីយបច្ចុប្បន្ន។ · ថតប្រតិបត្តិពាក្យបញ្ជាគឺជាថតឫសនៃគម្រោង ដែលរួមមាន
ស្គ្រីបចងក្រងគម្រោង CMakeLists.txt ។
ពាក្យបញ្ជាទូទៅរបស់ idf.py មានដូចខាងក្រោម៖
· idf.py –help៖ បង្ហាញបញ្ជីពាក្យបញ្ជា និងការណែនាំអំពីការប្រើប្រាស់របស់វា។ · idf.py កំណត់គោលដៅ : ការកំណត់ការចងក្រង tadf.py fullcleanrget ដូចជា
ជាការជំនួស ជាមួយ esp32c3. · idf.py menuconfig៖ បើកដំណើរការ menuconfig ដែលជាការកំណត់រចនាសម្ព័ន្ធក្រាហ្វិកស្ថានីយ
ឧបករណ៍ ដែលអាចជ្រើសរើស ឬកែប្រែជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធ ហើយលទ្ធផលនៃការកំណត់រចនាសម្ព័ន្ធត្រូវបានរក្សាទុកក្នុង sdkconfig file. · idf.py build: ចាប់ផ្តើមការចងក្រងកូដ។ កម្រិតមធ្យម files និងកម្មវិធីដែលអាចប្រតិបត្តិបានចុងក្រោយដែលបង្កើតឡើងដោយការចងក្រងនឹងត្រូវបានរក្សាទុកក្នុងថតឯកសារសាងសង់នៃគម្រោងតាមលំនាំដើម។ ដំណើរការចងក្រងគឺជាការបង្កើនដែលមានន័យថាប្រសិនបើមានប្រភពតែមួយ។ file ត្រូវបានកែប្រែ មានតែការកែប្រែប៉ុណ្ណោះ។ file នឹងត្រូវបានចងក្រងនៅពេលក្រោយ។
52 ESP32-C3 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ IoT
· idf.py clean: សម្អាតកម្រិតមធ្យម files បង្កើតឡើងដោយការចងក្រងគម្រោង។ គម្រោងទាំងមូលនឹងត្រូវបានបង្ខំឱ្យចងក្រងនៅក្នុងការចងក្រងបន្ទាប់។ ចំណាំថាការកំណត់រចនាសម្ព័ន្ធ CMake និងការកែប្រែការកំណត់ដែលធ្វើឡើងដោយ menuconfig នឹងមិនត្រូវបានលុបកំឡុងពេលសម្អាតឡើយ។
· idf.py fullclean៖ ការលុបថត build ទាំងមូល រួមទាំងលទ្ធផលកំណត់រចនាសម្ព័ន្ធ CMake ទាំងអស់ fileស. នៅពេលសាងសង់គម្រោងម្តងទៀត CMake នឹងកំណត់រចនាសម្ព័ន្ធគម្រោងពីដំបូង។ សូមចំណាំថាពាក្យបញ្ជានេះនឹងលុបឡើងវិញទាំងអស់ files នៅក្នុងថតឯកសារ ដូច្នេះប្រើវាដោយប្រុងប្រយ័ត្ន និងការកំណត់រចនាសម្ព័ន្ធគម្រោង file នឹងមិនត្រូវបានលុបទេ។
· idf.py flash: បញ្ចេញពន្លឺកម្មវិធីគោលពីរដែលអាចប្រតិបត្តិបាន។ file បង្កើតដោយការស្ថាបនាទៅកាន់គោលដៅ ESP32-C3 ។ ជម្រើស - ទំ និង - ខ ត្រូវបានប្រើដើម្បីកំណត់ឈ្មោះឧបករណ៍នៃច្រកសៀរៀល និងអត្រា baud សម្រាប់ការបញ្ចេញពន្លឺរៀងៗខ្លួន។ ប្រសិនបើជម្រើសទាំងពីរនេះមិនត្រូវបានបញ្ជាក់ ច្រកសៀរៀលនឹងត្រូវបានរកឃើញដោយស្វ័យប្រវត្តិ ហើយអត្រា baud លំនាំដើមនឹងត្រូវបានប្រើ។
· idf.py ម៉ូនីទ័រ៖ បង្ហាញលទ្ធផលច្រកសៀរៀលនៃគោលដៅ ESP32-C3។ ជម្រើស -p អាចត្រូវបានប្រើដើម្បីបញ្ជាក់ឈ្មោះឧបករណ៍នៃច្រកសៀរៀលចំហៀងម៉ាស៊ីន។ កំឡុងពេលបោះពុម្ពច្រកសៀរៀល ចុចបន្សំគ្រាប់ចុច Ctrl+] ដើម្បីចេញពីម៉ូនីទ័រ។
ពាក្យបញ្ជាខាងលើក៏អាចត្រូវបានផ្សំតាមតម្រូវការ។ សម្រាប់អតីតampដូច្នេះ ពាក្យបញ្ជា idf.py build flash monitor នឹងធ្វើការចងក្រងកូដ បើក flash និងបើក serial port monitor តាមលំដាប់លំដោយ។
អ្នកអាចចូលទៅកាន់គេហទំព័រ https://bookc3.espressif.com/build-system ដើម្បីដឹងបន្ថែមអំពីប្រព័ន្ធចងក្រង ESP-IDF ។
៤.៤ ការអនុវត្ត៖ ការចងក្រង Exampកម្មវិធី "ព្រិចភ្នែក"
៣.២ ឧampការវិភាគ
ផ្នែកនេះនឹងយកកម្មវិធី Blink ជាអតីតampដើម្បីវិភាគ file រចនាសម្ព័ន្ធ និងច្បាប់សរសេរកូដនៃគម្រោងពិតប្រាកដមួយយ៉ាងលម្អិត។ កម្មវិធី Blink អនុវត្តបែបផែនភ្លឹបភ្លែតៗរបស់ LED ហើយគម្រោងនេះមានទីតាំងនៅក្នុងថត examples/get-started/blink ដែលមានប្រភព file, ការកំណត់រចនាសម្ព័ន្ធ files និងស្គ្រីបចងក្រងជាច្រើន។
គម្រោងពន្លឺឆ្លាតវៃដែលបានណែនាំនៅក្នុងសៀវភៅនេះគឺផ្អែកលើអតីតនេះ។ampកម្មវិធីឡេ។ មុខងារនឹងត្រូវបានបន្ថែមជាបណ្តើរៗនៅក្នុងជំពូកក្រោយៗ ដើម្បីបញ្ចប់វា។
កូដប្រភព ដើម្បីបង្ហាញពីដំណើរការអភិវឌ្ឍន៍ទាំងមូល កម្មវិធី Blink ត្រូវបានចម្លងទៅ esp32c3-iot-projects/device firmware/1 blink។
រចនាសម្ព័ន្ធថតនៃគម្រោងព្រិចភ្នែក files ត្រូវបានបង្ហាញក្នុងរូបភាព 4.15 ។
គម្រោងព្រិចភ្នែកមានថតមេតែមួយប៉ុណ្ណោះ ដែលជាសមាសធាតុពិសេសដែល
ជំពូកទី 4. ការរៀបចំបរិស្ថានអភិវឌ្ឍន៍ 53
រូបភាពទី 4.15 ។ File រចនាសម្ព័ន្ធថតនៃគម្រោងព្រិចភ្នែក
ត្រូវតែរួមបញ្ចូលដូចដែលបានពិពណ៌នានៅក្នុងផ្នែក 4.3.2 ។ ថតសំខាន់ត្រូវបានប្រើជាចម្បងដើម្បីរក្សាទុកការអនុវត្តមុខងារ app_main() ដែលជាចំណុចចូលទៅកាន់កម្មវិធីអ្នកប្រើប្រាស់។ គម្រោងភ្លឹបភ្លែតៗមិនរួមបញ្ចូលថតសមាសធាតុទេ ព្រោះអតីតនេះample ត្រូវការតែប្រើសមាសធាតុដែលភ្ជាប់មកជាមួយ ESP-IDF ហើយមិនត្រូវការសមាសធាតុបន្ថែមទេ។ CMakeLists.txt រួមបញ្ចូលក្នុងគម្រោង blink ត្រូវបានប្រើដើម្បីដឹកនាំដំណើរការចងក្រង ខណៈ Kconfig.projbuild ត្រូវបានប្រើដើម្បីបន្ថែមធាតុកំណត់រចនាសម្ព័ន្ធសម្រាប់អតីតនេះampកម្មវិធីនៅក្នុង menuconfig ។ ផ្សេងទៀតដែលមិនចាំបាច់ files នឹងមិនប៉ះពាល់ដល់ការចងក្រងកូដទេ ដូច្នេះពួកគេនឹងមិនត្រូវបានពិភាក្សានៅទីនេះទេ។ ការណែនាំលម្អិតអំពីគម្រោងព្រិចភ្នែក files មានដូចខាងក្រោម។
1. /*blink.c រួមបញ្ចូលបឋមកថាខាងក្រោម fileស*/
2. #រួមបញ្ចូល
// បឋមកថាបណ្ណាល័យ C ស្តង់ដារ file
3. #include “freertos/freeRTOS.h” // FreeRTOS បឋមកថាចម្បង file
4. #include “freertos/task.h”
// បឋមកថាកិច្ចការ FreeRTOS 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 ដំណើរផ្សងព្រេងឥតខ្សែ៖ ការណែនាំដ៏ទូលំទូលាយចំពោះ 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); /*ពន្យាពេល (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 បម្រើជាចំណុចចូលសម្រាប់កម្មវិធីអ្នកប្រើប្រាស់។ វាគឺជាមុខងារសាមញ្ញដែលគ្មានប៉ារ៉ាម៉ែត្រនិងមិនមានតម្លៃត្រឡប់មកវិញ។ មុខងារនេះត្រូវបានហៅបន្ទាប់ពីប្រព័ន្ធបានបញ្ចប់ការចាប់ផ្តើម ដែលរួមបញ្ចូលកិច្ចការដូចជាការចាប់ផ្តើមច្រកសៀរៀលកំណត់ហេតុ ការកំណត់រចនាសម្ព័ន្ធ single/ dual core និងកំណត់រចនាសម្ព័ន្ធ watchdog ។
មុខងារ app_main() ដំណើរការក្នុងបរិបទនៃកិច្ចការមួយដែលមានឈ្មោះថា main។ ទំហំជង់ និងអាទិភាពនៃកិច្ចការនេះអាចត្រូវបានកែតម្រូវនៅក្នុង menuconfig Componentconfig Common ESP-related។
សម្រាប់កិច្ចការសាមញ្ញៗដូចជាការភ្លឹបភ្លែតៗ LED កូដចាំបាច់ទាំងអស់អាចត្រូវបានអនុវត្តដោយផ្ទាល់នៅក្នុងមុខងារ app_main() ។ នេះជាធម្មតាពាក់ព័ន្ធនឹងការចាប់ផ្តើម GPIO ដែលត្រូវគ្នានឹង LED ហើយប្រើពេលមួយ (1) រង្វិលជុំដើម្បីបិទបើក 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, ដំណើរផ្សងព្រេងឥតខ្សែ, ផ្សងព្រេង |