# មេរៀនដោះស្រាយបញ្ហា មេរៀននេះជួយអ្នកដោះស្រាយបញ្ហាទូទៅពេលធ្វើការជាមួយសៀវភៅបង្រៀន IoT សម្រាប់អ្នកថ្មី។ បញ្ហាត្រូវបានរៀបចំតាមប្រភេទសម្រាប់ងាយស្រួលក្នុងការស្វែងរក។ ## បញ្ជីមាតិកា - [បញ្ហាការដំឡើង](#បញ្ហាការដំឡើង) - [ការដំឡើង Python](#ការដំឡើង-python) - [VS Code និងផ្នែកបន្ថែម](#vs-code-និងផ្នែកបន្ថែម) - [PlatformIO (Wio Terminal)](#platformio-wio-terminal) - [បណ្ណាល័យ Grove](#បណ្ណាល័យ-grove) - [បញ្ហាឧបករណ៍ផ្ទាល់ខ្លួន](#បញ្ហាឧបករណ៍ផ្ទាល់ខ្លួន) - [Raspberry Pi](#raspberry-pi) - [Wio Terminal](#wio-terminal) - [ឧបករណ៍ពាក់ព័ន្ធវីរុច (CounterFit)](#ឧបករណ៍ពាក់ព័ន្ធវីរុច-counterfit) - [បញ្ហាការតភ្ជាប់](#បញ្ហាការតភ្ជាប់) - [ការតភ្ជាប់ WiFi](#ការតភ្ជាប់-wifi) - [សេវាកម្ម Cloud](#សេវាកម្ម-cloud) - [MQTT](#mqtt) - [បញ្ហាសენს័រ និងឧបករណ៍ដំណើរការ](#បញ្ហាជាមួយ-ឧបករណ៍ស៊ិនស័រ-និងឧបករណ៍ចល័ត) - [សենս័រ Grove](#ស៊ិនស័រ-grove) - [កាមេរ៉ា](#កាមេរា) - [មីក្រូហ្វូន និងស្ពីកเกอร์](#មីក្រូហ្វូន-និង-ស្បែកហ្វូន) - [បរិបទអភិវឌ្ឍន៍](#បញ្ហាបរិបទអភិវឌ្ឍន៍) - [VS Code](#vs-code) - [បរិបទមេឌីយ៉ាង Python](#បរិបទ-python-virtual-environments) - [ភាពពាក់ព័ន្ធ](#ផ្នែក-dependencies) - [បញ្ហាការសម្តែង](#បញ្ហាប្រតិបត្តិការ) - [សារកំហុសទូទៅ](#សារ​កំហុសទូទៅ) - [ផ способовជំនួយ](#ដំណោះស្រាយ-codeblock18) --- ## បញ្ហាការដំឡើង ### ការដំឡើង Python #### បញ្ហា៖ កំណែ Python ចាស់ពេក **កំហុស៖** `ត្រូវការពី Python 3.6 ឡើងទៅ` **ដំណោះស្រាយ៖** 1. ទាញយក Python 3 ចុងក្រោយពី [python.org](https://www.python.org/downloads/) 2. ការ​ដំឡើង​លើ Windows សូម​ជ្រើស "បន្ថែម Python ទៅ PATH" 3. សំណូមពរ​ការ​ដំឡើង៖ ```bash python3 --version ``` #### បញ្ហា៖ មាន​កំណែ Python ច្រើនបង្កការ​ច្របូកច្របល់ **រោគសញ្ញា៖** ប្រើ​កំណែ Python មិនត្រឹមត្រូវ​ ផ្នែកបណ្ណាល័យដំឡើងលើទីតាំងខុស **ដំណោះស្រាយ៖** - **Windows:** ប្រើ `py -3` ជំនួស `python` ដើម្បីហៅ Python 3 យ៉ាងច្បាស់ - **macOS/Linux:** ប្រើ `python3` ជំនួស `python` - តែងតែបង្កើត ហើយប្រើបរិបទមេឌីយ៉ាង (virtual environments) សម្រាប់គម្រោង #### បញ្ហា៖ មិនរកឃើញបញ្ជា pip **កំហុស៖** `'pip' មិនត្រូវបានគេរំពឹងទុកជាបញ្ជាក្នុងម៉ាស៊ីន' **ដំណោះស្រាយ៖** 1. សាកល្បងប្រើ `pip3` ជំនួស `pip` 2. ឬប្រើ `python -m pip` ឬ `python3 -m pip` 3. ប្រាកដថា Python ត្រូវបានបន្ថែមចូល PATH (ដំឡើងPythonឡើងវិញ ហើយជ្រើសជម្រើសនេះ) ### VS Code និងផ្នែកបន្ថែម #### បញ្ហា៖ ផ្នែកបន្ថែម Pylance មិនដំណើរការ **រោគសញ្ញា៖** គ្មាន IntelliSense, ការសម្រេចកូដ ឬការត្រួតពិនិត្យប្រភេទ **ដំណោះស្រាយ៖** 1. បើក Command Palette នៅ VS Code (`Ctrl+Shift+P` ឬ `Cmd+Shift+P`) 2. រត់ "Python: Select Interpreter" 3. កំរើស Python interpreter ត្រឹមត្រូវ (បរិបទមេឌីយ៉ាងប្រសិនបើប្រើ) 4. Reload ប្រព័ន្ធ #### បញ្ហា៖ VS Code មិនចាប់ផ្តើមបរិបទមេឌីយ៉ាង **រោគសញ្ញា៖** ជ្រើស Python interpreter មិនត្រឹមត្រូវ **ដំណោះស្រាយ៖** 1. ប្រាកដថាបង្កើតនិងបើកបរិបទមេឌីយ៉ាងនៅក្នុង terminal 2. បើក Command Palette ហើយរត់ "Python: Select Interpreter" 3. ជ្រើស interpreter ពីថត `.venv` 4. ពិនិត្យ status bar (ខាងក្រោមឆ្វេង) បង្ហាញកំណែ Python ត្រឹមត្រូវ ### PlatformIO (Wio Terminal) #### បញ្ហា៖ ការដំឡើង PlatformIO មិនបានជោគជ័យ **កំហុស៖** កំហុសផ្សេងៗពេលដំឡើង PlatformIO **ដំណោះស្រាយ៖** 1. ប្រាកដថា VS Code ទាន់សម័យ 2. ដំឡើង​ផ្នែកបន្ថែម C/C++ ជាមុន 3. ចាប់ផ្តើម VS Code ជាថ្មីបន្ទាប់ជាដំឡើង PlatformIO 4. ពិនិត្យការតភ្ជាប់អ៊ីនធឺណិត (PlatformIO ទាញយកឯកសារធំ) #### បញ្ហា៖ ប៊ូលដ័រ PlatformIO មិនចាប់បាន **រោគសញ្ញា៖** មិនអាចផ្ទុកកូដទៅ Wio Terminal **ដំណោះស្រាយ៖** 1. សាកល្បងខ្សែ USB ផ្សេង (ខ្សែខ្លះគឺសម្រាប់សាកថ្មតែប៉ុណ្ណោះ) 2. ពិនិត្យ​ Device Manager (Windows) ឬ `ls /dev/tty*` (macOS/Linux) 3. ដំឡើង ឬអាប់ដេតដ្រាយវែរ USB 4. សាកល្បងច្រក USB ផ្សេង 5. រអិលប៊ូតុងភ្លើងលើ Wio Terminal ឆាប់ៗពីរដង ដើម្បីចូលម៉ូដ bootloader #### បញ្ហា៖ កំហុសបញ្ចូលកូដក្នុង PlatformIO **កំហុស៖** `fatal error: Arduino.h: No such file or directory` **ដំណោះស្រាយ៖** 1. លុបថត `.pio` ក្នុងគម្រោង 2. រត់ "PlatformIO: Rebuild" ពី Command Palette 3. ប្រាកដថា `platformio.ini` មានការកំណត់ប៊ូលដ័រត្រឹមត្រូវ៖ ```ini [env:seeed_wio_terminal] platform = atmelsam board = seeed_wio_terminal framework = arduino ``` ### បណ្ណាល័យ Grove #### បញ្ហា៖ ការនាំចូលបណ្ណាល័យ Grove បរាជ័យលើ Raspberry Pi **កំហុស៖** `ModuleNotFoundError: No module named 'grove'` **ដំណោះស្រាយ៖** 1. ដំឡើងបណ្ណាល័យ Grove ថ្មី៖ ```bash cd ~ git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . ``` 2. ប្រសិនបើប្រើបរិបទមេឌីយ៉ាង អ្នកប្រហែលត្រូវតែដំឡើងជាសកល ឬចម្លងបណ្ណាល័យ 3. ប្រាកដថា I2C បានបើក: `sudo raspi-config nonint do_i2c 0` #### បញ្ហា៖ Grove sensor មិនចាប់បាន **កំហុស៖** `IOError: [Errno 121] Remote I/O error` **ដំណោះស្រាយ៖** 1. ពិនិត្យការតភ្ជាប់ផ្លូវហត្ថ (ប្រាកដថា ខ្សែ Grove បានដាក់ត្រឹមត្រូវ) 2. ប្រាកដថាសេនស័រត្រូវបានភ្ជាប់ទៅច្រកត្រឹមត្រូវ (analog, digital, I2C, UART) 3. រត់ `i2cdetect -y 1` ដើម្បីមើលថាឧបករណ៍បង្ហាញលើ I2C bus មានទេ 4. សាកល្បងខ្សែ Grove ផ្សេង 5. ប្រាកដថា Grove Base Hat ត្រូវបានដាក់លើពិសោធន៍ Raspberry Pi GPIO បានត្រឹមត្រូវ --- ## បញ្ហាឧបករណ៍ផ្ទាល់ខ្លួន ### Raspberry Pi #### បញ្ហា៖ Raspberry Pi មិនចាប់ផ្តើម **រោគសញ្ញា៖** គ្មានការបង្ហាញទេ មិនមាន LED ធ្វើការ ឬអេក្រង់ពណ៌ខៀវ **ដំណោះស្រាយ៖** 1. **ពិនិត្យថាមវន្ត៖** ប្រើថាមវន្ត USB-C 5V 3A ផ្លូវការសម្រាប់ Pi 4 2. **បញ្ហាគាត SD៖** - កែទ្រង់គាត SD និងដំឡើងឡើងវិញរបៀបប្រើ Raspberry Pi OS - សាកល្បងគាត SD ផ្សេង (ប្រើម៉ាកណែនាំ) - ប្រាកដថាគាត SD ត្រូវបានដាក់សរសេរត្រឹមត្រូវ 3. **ពិនិត្យការតភ្ជាប់ HDMI:** សាកល្បងច្រក HDMI ទាំងពីរលើ Pi 4 ប្រើ HDMI ជិតថាមវន្ត #### បញ្ហា៖ មិនអាច SSH ទៅ Raspberry Pi **រោគសញ្ញា៖** មិនអាចភ្ជាប់បាន ឬកាលពេលកំណត់លើកលែង **ដំណោះស្រាយ៖** 1. បើក SSH៖ - ពេលបង្ហាប់គាត SD ប្រើ Raspberry Pi Imager កំណត់ SSH នៅជម្រើសឈានមុខ - ឬបង្កើតឯកសារគ្មានផ្នែកបន្ថែមឈ្មោះ `ssh` នៅក្នុងផ្នែក boot 2. ស្វែងរកអាសយដ្ឋាន IP របស់ Pi: - ពិនិត្យឧបករណ៍ភ្ជាប់សង្គមរបស់អ្នក - ប្រើ `ping raspberrypi.local` (ប្រសិនបើ mDNS ប្រតិបត្តិការ) - ប្រើឧបករណ៍ស្តាប់បណ្ដាញដូចជា `nmap` ឬ Angry IP Scanner 3. ពិនិត្យបណ្តាញ៖ - ប្រាកដថា Pi នៅលើបណ្តាញដូចជាគណនីអ្នក - សាកល្បងភ្ជាប់ ethernet ជំនួស WiFi 4. ប្រាកដឈ្មោះនិងពាក្យសម្ងាត់ (លំនាំដើម៖ ឈ្មោះ `pi`, ពាក្យសម្ងាត់ `raspberry`) #### បញ្ហា៖ Grove Base Hat មិនត្រូវបានស្គាល់ **រោគសញ្ញា៖** សេនស័រមិនដំណើរការ កំហុស I2C **ដំណោះស្រាយ៖** 1. ប្រាកដថា Base Hat បានដាក់លើពិសោធន៍ GPIOទាំងអស់យ៉ាងត្រឹមត្រូវ 2. ពិនិត្យថា ពិនភាគុំ់ខូចលើ Pi ឬ Base Hat 3. បើក I2C interface៖ ```bash sudo raspi-config nonint do_i2c 0 sudo reboot ``` 4. ពិនិត្យថា I2C ធ្វើការ៖ `i2cdetect -y 1` #### បញ្ហា៖ Raspberry Pi ធ្វើការយឺត **រោគសញ្ញា៖** UI យឺត ផ្ទារាចលនា យឺត **ដំណោះស្រាយ៖** 1. ពិនិត្យល្បឿនគាត SD (ប្រើ Class 10 ឬលើស ស៊េរី SSD តាម USB) 2. សម្អាតកន្លែងរក្សាទុក៖ ប្រើ `df -h` ដើម្បីពិនិត្យ លុបឯកសារមិនចាំបាច់ 3. បន្ថយ GPU memory នៅក្នុង `raspi-config` ប្រសិនបើមិនប្រើកាមេរ៉ា/អេក្រង់យ៉ាងខ្លាំង 4. បិទកម្មវិធីដែលមិនចាំបាច់ 5. ពិចារណាឡើងកំលាំងទៅ Pi 4 ក្នុងករណីប្រើ Pi 3 ឬចាស់ជាងនេះ ### Wio Terminal #### បញ្ហា៖ អេក្រង់ Wio Terminal ស្ពឺ **រោគសញ្ញា៖** គ្មានបង្ហាញផ្សេងទេបន្ទាប់ពីផ្ទុកកូដ **ដំណោះស្រាយ៖** 1. ពិនិត្យថាកូដចាប់ផ្តើមអេក្រង់ (បណ្ណាល័យ TFT_eSPI) 2. អាប់ដេត firmware Wio Terminal ពី [Seeed Wiki](https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/) 3. បន្ថែមកូដចាប់ផ្តើមអេក្រង់: ```cpp #include TFT_eSPI tft; tft.begin(); tft.fillScreen(TFT_BLACK); ``` 4. សាកល្បងផ្ទុកគំរូពី PlatformIO ដើម្បីសាកល្បង​ឧបករណ៍ #### បញ្ហា៖ WiFi មិនដំណើរការ​លើ Wio Terminal **រោគសញ្ញា៖** មិនអាចភ្ជាប់ WiFi កំហុសបណ្តាញ **ដំណោះស្រាយ៖** 1. **អាប់ដេត firmware WiFi:** អនុវត្តតាម [លទ្ធផល WiFi Wio Terminal](https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/) 2. **ពិនិត្យលក្ខណៈសញ្ញា WiFi:** ធ្វើការផ្ទៀងផ្ទាត់ SSID និងពាក្យសម្ងាត់ត្រឹមត្រូវ 3. **ថួរក WiFi:** Wio Terminal គាំទ្រត្រឹម 2.4GHz WiFi ប៉ុណ្ណោះ (មិនគាំទ្រ 5GHz) 4. **កម្លាំងសញ្ញា:** ក្រោយពីខ្សែ WiFi ទៅកាន់ម៉ាស៊ីនបម្រើ 5. **ការកំណត់ម៉ាស៊ីនបម្រើ:** បណ្តាញសហគ្រាស ឬ WPA-Enterprise ច្រើនប្រហែលមិនដំណើរការ #### បញ្ហា៖ Wio Terminal មិនត្រូវបានស្គាល់ពីកុំព្យូទ័រ **រោគសញ្ញា៖** ឧបករណ៍ USB មិនត្រូវបានរកឃើញ **ដំណោះស្រាយ៖** 1. **សាកល្បងខ្សែ USB ផ្សេង:** ប្រើខ្សែទិន្នន័យ មិនមែនខ្សែសាកថ្មប៉ុណ្ណោះ 2. **ចូលម៉ូដ bootloader:** រអិលប៊ូតុងភ្លើងចុះពីលើពីរដងឆាប់ៗ - LED ខៀវគួរតែបង្ហាញជារលក ឧបករណ៍បង្ហាញជា "Arduino" នៅក្នុង Device Manager 3. **ដំឡើងដ្រាយវែរ (Windows):** - ទាញ និងដំឡើង [ដ្រាយវែរ USB Seeed](https://wiki.seeedstudio.com/Driver_for_Seeeduino/) 4. **សាកល្បងច្រក USB ផ្សេង:** មិនប្រើ USB hub ប្រើភ្ជាប់ផ្ទាល់ 5. **អាប់ដេតដ្រាយវែរ USB ប្រព័ន្ធ** #### បញ្ហា៖ សេនស័រមិនដំណើរការ​លើ Wio Terminal **រោគសញ្ញា៖** សេនស័រ Grove មិនអានទិន្នន័យ **ដំណោះស្រាយ៖** 1. ពិនិត្យការតភ្ជាប់ខ្សែ Grove 2. ប្រាកដថាអ្នកប្រើច្រក Grove ត្រឹមត្រូវ (ឆ្វេង ឬស្តាំ) 3. រួមបញ្ចូលបណ្ណាល័យត្រឹមត្រូវសម្រាប់សេនស័រ 4. ពិនិត្យតម្រូវការថាមពលសេនស័រ 5. សាកល្បងសេនស័រជាមួយកូដគំរូពីបណ្ណាល័យ ### ឧបករណ៍ពាក់ព័ន្ធវីរុច (CounterFit) #### បញ្ហា៖ ពុំអាចចាប់ផ្តើមកម្មវិធី CounterFit **កំហុស៖** កំហុស Python ផ្សេងៗពេលចាប់ផ្តើម CounterFit **ដំណោះស្រាយ៖** 1. ប្រាកដថាបរិបទមេឌីយ៉ាងបានបើក 2. ដំឡើង ឬដំឡើងឡើងវិញ CounterFit: ```bash pip install CounterFit ``` 3. ពិនិត្យថាច្រក 5000 មិនត្រូវបានប្រើរួច: - Windows: `netstat -ano | findstr :5000` - macOS/Linux: `lsof -i :5000` 4. បិទដំណើរការដែលប្រើច្រក 5000 ឬប្រើច្រកផ្សេង: ```bash counterfit --port 5001 ``` #### បញ្ហា៖ មិនអាចភ្ជាប់ទៅ CounterFit ពីកូដ **កំហុស៖** ការភ្ជាប់ត្រូវបានបដិសេធ ឬពេលកំណត់អស់ **ដំណោះស្រាយ៖** 1. ប្រាកដថា CounterFit កំពុងដំណើរការ៖ បើកកម្មវិធី浏览器ទៅ `http://127.0.0.1:5000` 2. ពិនិត្យ URL ភ្ជាប់នៅក្នុងកូដធៀបនឹងអាសយដ្ឋាន CounterFit 3. ប្រាកដថា firewall មិនរាំងខ្សែច្រក 4. សាកល្បងចាប់ផ្តើមម្តងទៀត CounterFit និងកូដរបស់អ្នក #### បញ្ហា៖ សេនស័រមិនបង្ហាញនៅក្នុង CounterFit **រោគសញ្ញា៖** សេនស័រដែលបានបង្កើតមិនបង្ហាញនៅក្នុង UI CounterFit **ដំណោះស្រាយ៖** 1. បង្កើតសេនស័រនៅក្នុង UI CounterFit មុនពេលរត់កូដ 2. បង្កើតទំព័ររុញ (refresh) 3. ពិនិត្យប្រភេទសេនស័រត្រូវនឹងអ្វីដែលកូដរំពឹងទុក 4. សម្អាត cache របស់កម្មវិធី浏览器 --- ## បញ្ហាការតភ្ជាប់ ### ការតភ្ជាប់ WiFi #### បញ្ហា៖ ឧបករណ៍មិនអាចភ្ជាប់ WiFi **រោគសញ្ញា៖** ពេលភ្ជាប់អស់កំណត់ ការផ្ទៀងផ្ទាត់បរាជ័យ **ដំណោះស្រាយ៖** 1. **ពិនិត្យ SSID និងពាក្យសម្ងាត់:** ប្រាកដថាត្រូវ 2. **ថួរក WiFi:** ឧបករណ៍ IoT ភាគច្រើនគាំទ្រត្រឹម 2.4GHz (មិនមែន 5GHz) 3. **ការកំណត់ម៉ាស៊ីនបម្រើ:** - បិទ AP isolation ប្រសិនបើបានបើក - ប្រើសុវត្ថិភាព WPA2-PSK (ជៀសវាង WPA3, WEP ឬបណ្តាញបើក) - ប្រាកដថា DHCP បានបើក 4. **បណ្តាញលាក់:** ប្រសិនបើ SSID លាក់ អ្នកប្រហែលត្រូវកំណត់យ៉ាងច្បាស់ 5. **កម្លាំងសញ្ញា:** ធ្វើឲ្យឧបករណ៍ជិតម៉ាស៊ីនបម្រើ 6. **ការរំខាន:** ឧបករណ៍ផ្សេង កំដៅម៉ីក្រូ វា៉លក៏អាចរំខាន #### បញ្ហា៖ ការតភ្ជាប់ WiFi ធ្លាក់ជាប្រចាំ **រោគសញ្ញា៖** ការតភ្ជាប់ពាក់កណ្តាល **ដំណោះស្រាយ៖** 1. ពិនិត្យភាពចល័តម៉ាស៊ីនបម្រើ និងពិចារណាចាប់ផ្តើមម្ដងទៀត 2. អាប់ដេត firmware ឧបករណ៍ 3. ប្រើ IP ស្តាទិក ជំនួស DHCP 4. បន្ថយចម្ងាយទៅម៉ាស៊ីនបម្រើ ឬបន្ថែម WiFi extender 5. ពិនិត្យការរំខានពីឧបករណ៍ផ្សេងៗ 6. ប្រាកដថាថាមពលគ្រប់គ្រាន់ (ពិសេស Raspberry Pi) ### សេវាកម្ម Cloud #### បញ្ហា៖ មិនអាចភ្ជាប់ទៅ Azure IoT Hub **កំហុស៖** ផ្ទៀងផ្ទាត់បរាជ័យ ការភ្ជាប់ត្រូវបានបដិសេធ **ដំណោះស្រាយ៖** 1. **បញ្ជាក់គណនេយ្យ៖** - ពិនិត្យខ្សែភ្ជាប់ត្រឹមត្រូវ - ប្រាកដថាគ្មានចន្លោះ ឬបន្ទាត់ខ្ទង់លើខ្សែភ្ជាប់ 2. **ពិនិត្យការចុះបញ្ជីឧបករណ៍៖** ឧបករណ៍ត្រូវបានចុះបញ្ជីនៅ IoT Hub 3. **Firewall / Proxy:** ប្រាកដថា MQTT (ច្រក 8883) ឬ HTTPS (ច្រក 443) បានកំណត់អនុញ្ញាត 4. **តំបន់ IoT Hub:** ពិនិត្យថា IoT Hub កំពុងដំណើរការ និងមិនបាននៅតំបន់ផ្សេងបង្កការពន្យារពេល 5. **ដែនកំណត់ quota:** ពិនិត្យថាតម្រូវការមិនលើសដែនកំណត់ឥតគិតថ្លៃ 6. **សាកល្បងការភ្ជាប់៖** ```bash az iot hub device-identity show-connection-string --hub-name YourIoTHub --device-id YourDevice ``` #### បញ្ហា៖ Azure Functions មិនធ្វើការជើងផ្សាយ **រោគសញ្ញា៖** សារ​ត្រូវបានផ្ញើ ប៉ុន្តែលំនាំមិនធ្វើ **ដំណោះស្រាយ៖** 1. ពិនិត្យ Function App កំពុងដំណើរការ (មិនបានឈប់) 2. ប្រាកដខ្សែភ្ជាប់នៅក្នុងការកំណត់ Function App 3. ពិនិត្យកំណត់ហេតុ function នៅ Azure Portal 4. ប្រាកដ Endpoint Event Hub compatible ត្រឹមត្រូវ 5. ពិនិត្យទ្រង់ទ្រាយសារត្រូវបានផ្ញើសម្រប 6. ពិនិត្យផែនការសេវាកម្ម Function App (consumption ឬ dedicated) ### MQTT #### បញ្ហា៖ ការភ្ជាប់ MQTT មិនបាន **កំហុស៖** ការភ្ជាប់ត្រូវបានបដិសេធ ផ្ទៀងផ្ទាត់បរាជ័យ **ដំណោះស្រាយៈ** 1. **អាសយដ្ឋាន Broker:** ពិនិត្យ URL/IP Broker ថាត្រឹមត្រូវ 2. **កំពង់ផែ:** ពិនិត្យលេខកំពង់ផែ (1883 សម្រាប់មិនអ៊ិនគ្រីប, 8883 សម្រាប់ TLS) 3. **ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ:** ពិនិត្យឈ្មោះអ្នកប្រើ/ពាក្យសម្ងាត់ ប្រសិនបើត្រូវការ 4. **TLS/SSL:** ប្រាកដថាសំបុត្រត្រឹមត្រូវ និងពឹងពាក់ 5. **Firewall:** ពិនិត្យកំពង់ផែមិនត្រូវបានបញ្ជាលឿន 6. **សាកល្បងជាមួយ MQTT client:** ប្រើ MQTT Explorer ឬ mosquitto_pub/sub សម្រាប់សាកល្បង #### បញ្ហា៖ សារ MQTT មិនទទួលបាន **រោគសញ្ញាៈ** សារ បានផ្សាយ តែក៏មិនទទួលបានពីអ្នកជាវ **ដំណោះស្រាយៈ** 1. **ឈ្មោះប្រធានបទ:** ពិនិត្យថាប្រធានបទអ្នកជាវត្រូវនឹងប្រធានបទអ្នកផ្សាយបានត្រឹមត្រូវ 2. **កម្រិត QoS:** សាកល្បង QoS 1 ឬ 2 ជំនួស 0 3. **Wildcards:** ពិនិត្យការប្រើ wildcards ប្រធានបទបានត្រឹមត្រូវ (`+` សម្រាប់កម្រិតតែមួយ, `#` សម្រាប់ច្រើនកម្រិត) 4. **សារដែលរក្សាទុក:** អ្នកផ្សាយអាចកំណត់ retain flag សម្រាប់រក្សាសារចុងក្រោយ 5. **ពេលវេលាភ្ជាប់:** ប្រាកដថាអ្នកជាវភ្ជាប់មុនពេលផ្សាយសារ --- ## បញ្ហាជាមួយ ឧបករណ៍ស៊ិនស័រ និងឧបករណ៍ចល័ត ### ស៊ិនស័រ Grove #### បញ្ហា៖ ស៊ិនស័របង្រួមតម្លៃខុស **រោគសញ្ញា:** ការអានជានិច្ច 0, -1 ឬតម្លៃគ្មានអត្ថន័យ **ដំណោះស្រាយ:** 1. **ពិនិត្យការតភ្ជាប់៖** ប្រាកដថាស៊ិនស័រត្រូវបានភ្ជាប់ត្រឹមត្រូវ 2. **កំពង់ផែត្រឹមត្រូវ:** ពិនិត្យស៊ិនស័រនៅក្នុងប្រភេទកំពង់ផែត្រឹមត្រូវ៖ - ស៊ិនស័រ Analog → កំពង់ផែ Analog (A0, A2, A4) - ស៊ិនស័រ Digital → កំពង់ផែ Digital (D5, D16, D18, ល។) - ស៊ិនស័រ I2C → កំពង់ផែ I2C 3. **កំណត់តំរូវការតាមមនុស្សវិទ្យា:** ស៊ិនស័រមួយចំនួនត្រូវការកំណត់ស្តង់ដា (ដីស្រូបសំណើម, ពន្លឺ) 4. **បង្វិលថាមពល:** ពិភ្ជាប់ និងដោះសោស្និត្រកក្រោយ 5. **សៀវភៅច្បាប់ស៊ិនស័រ:** ពិនិត្យលក្ខណៈបច្ចេកទេស និងតម្រូវការ #### បញ្ហា៖ ស៊ិនស័រ សំណើមដី Capacitive រៀងរាល់ពេលអានគឺសើម **រោគសញ្ញា៖** ស៊ិនស័រអានការសំណើមខ្ពស់ទោះបីដីស្ងួត **ដំណោះស្រាយ:** 1. **ត្រូវការកំណត់តំរូវការ៖** ស៊ិនស័រដីត្រូវតែបង្កើតស្តង់ដា៖ - អានតម្លៃក្នុងអាកាស (ស្ទះស្ងួត) - អានតម្លៃក្នុងទឹក (ស្ទះសើម) - បង្ហាញតម្លៃចន្លោះរវាងនេះ 2. **ពិនិត្យការការពារ​ស៊ិនស័រ:** ស៊ិនស័រសំណើមអាចបែកបាក់ ប្រសិនបើការការពារខូច 3. **ទីតាំង:** ប្រាកដថាស៊ិនស័របញ្ចូលចូលក្នុងដីពេញលេញ #### បញ្ហា៖ ការអានសន្ទស្សន៍សីតុណ្ហភាព/សំណើមខុស **រោគសញ្ញា៖** DHT11/DHT22 បង្ហាញសីតុណ្ហភាព ឬសំណើមខុស **ដំណោះស្រាយ:** 1. **ទីតាំងស៊ិនស័រ:** មិនប្រើពន្លឺព្រះអាទិត្យផ្ទាល់ ប្រភពកម្តៅ ឬខ្យល់ហូរ 2. **ពេលការរំកិលកម្តៅ៖** អនុញ្ញាតឲ្យស៊ិនស័រយកពេល 2 វិនាទី បន្ទាប់ពីបើកថាមពល មុនអានទិន្នន័យ 3. **កម្រិតអាន៖** ស៊ិនស័រ DHT ត្រូវការបំបទិន្នន័យពេញលេញចន្លោះ (យ៉ាងហោចណាស់ 2 វិនាទី) 4. **ពិនិត្យសំណើមទឹកកក:** អាចមានផលប៉ះពាល់ដល់ការអាន 5. **គុណភាពស៊ិនស័រ:** DHT11 មានភាពត្រឹមត្រូវតិចជាង DHT22 ### កាមេរា #### បញ្ហា៖ កាមេរាមិនត្រូវបានរកឃើញលើ Raspberry Pi **កំហុស:** `mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera'` **ដំណោះស្រាយ:** 1. **បើកអន្តរកម្មកាមេរា:** ```bash sudo raspi-config ``` ចូលទៅ Interface Options → Camera → Enable 2. **ពិនិត្យខ្សែរបញ្ចូល:** ប្រាកដថាខ្សែកាមេរារត្រូវបានដាក់ត្រឹមត្រូវ - ផ្ទាំងខៀវឈរមុខចំពោះកំពង់ USB លើ Pi Zero - ផ្ទាំងខៀវឆ្វេងរូបមុខពីកំពង់ USB លើ Pi 4 3. **ធ្វើបច្ចុប្បន្នភាព firmware:** ```bash sudo apt update sudo apt full-upgrade sudo reboot ``` 4. **សាកល្បងកាមេរា:** ```bash raspistill -o test.jpg ``` #### បញ្ហា៖ រូបភាពកាមេរាមិនបានគុណភាពល្អ **រោគសញ្ញា៖** រូបភាពមិនច្បាស់ ធំងងឹត ឬជារូបភាពបាត់បង់ពណ៌ **ដំណោះស្រាយ:** 1. **មើលទិស:** លុបស្នាមការពារពីលើទ្រនុងកាមេរា ប្ដូរតំណកបើអាចធ្វើបាន 2. **ពន្លឺ:** ប្រាថ្នាពន្លឺគ្រប់គ្រាន់ 3. **ការកំណត់កាមេរា:** ប្ដូរតំរូវការបញ្ចេញពន្លឺ ISO និង white balance ក្នុងកូដ 4. **ស្ថិរភាព:** រក្សាទុកកាមេរា ហើយប្រើ tripod ប្រសិនបើត្រូវការ 5. **កម្រិតទំហំរូបភាព:** កុំឲ្យលើសកម្រិតកម្រិតអតិបរមារបស់កាមេរា ### មីក្រូហ្វូន និង ស្បែកហ្វូន #### បញ្ហា៖ គ្មានសំឡេងបញ្ចូល/ចេញ **រោគសញ្ញា៖** មីក្រូហ្វូនមិនកំណត់សំឡេង ស្បែកហ្វូនមិនអាចលេង **ដំណោះស្រាយ:** 1. **ពិនិត្យការតភ្ជាប់:** ប្រាកដថាឧបករណ៍សំឡេងភ្ជាប់ត្រឹមត្រូវ 2. **សាកល្បងឧបករណ៍៖** - ស្បែកហ្វូន៖ `speaker-test -t wav -c 2` - មីក្រូហ្វូន៖ `arecord -l` សម្រាប់បញ្ជី, `arecord test.wav` សម្រាប់ថត 3. **ចំណុចសំឡេង:** ពិនិត្យ និងកែតម្រូវចំណុចសំឡេង: ```bash alsamixer ``` 4. **ជ្រើសយកឧបករណ៍សំឡេងៈ** បញ្ជាក់ឧបករណ៍នៅក្នុងកូដត្រឹមត្រូវ 5. **បញ្ហាអ្នកបើកបរមុខងារ:** ដំណើរការ ALSA ឬដំឡើងឡើងវិញអ្នកបើកបរមុខងារ #### បញ្ហា៖ ReSpeaker hat មិនដំណើរការ **រោគសញ្ញា៖** ឧបករណ៍សំឡេងមិនត្រូវបានរកឃើញ **ដំណោះស្រាយ:** 1. **ដំឡើងអ្នកបើកបរមុខងារ:** ```bash git clone https://github.com/HinTak/seeed-voicecard cd seeed-voicecard sudo ./install.sh sudo reboot ``` 2. **ពិនិត្យការដំឡើង:** `arecord -l` គួរតែបង្ហាញ ReSpeaker 3. **ធ្វើបច្ចុប្បន្នភាព firmware:** ជួរ Pi OS ច្រើនត្រូវការកែសម្រួលអ្នកបើកបរមុខងារ 4. **ពិនិត្យការចាក់:** ប្រាកដថា hat ត្រូវបានភ្ជាប់ត្រឹមត្រូវទៅ GPIO pins --- ## បញ្ហាបរិបទអភិវឌ្ឍន៍ ### VS Code #### បញ្ហា៖ Terminal មិនបើក virtual environment បាន​ជា​ស្វ័យប្រវត្តិ **រោគសញ្ញា៖** Terminal បើក ប៉ុន្តែមិនបើក venv **ដំណោះស្រាយ:** 1. **កំណត់ Python interpreter:** Command Palette → "Python: Select Interpreter" → ជ្រើស venv 2. **បើក VS Code ម្តងទៀត** បន្ទាប់ពីជ្រើស interpreter 3. **ពិនិត្យការកំណត់:** ក្នុង `settings.json` បន្ថែម: ```json "python.terminal.activateEnvironment": true ``` #### បញ្ហា៖ កូដមិនដំណើរការលើឧបករណ៍ **រោគសញ្ញា៖** កូដដំណើរការ ប៉ុន្តែមិនមានអ្វីកើតឡើងលើឧបករណ៍ **ដំណោះស្រាយ:** 1. **ប្រាកដថាកូដបានរក្សាទុក** (ពិនិត្យចុចសញ្ញាក្បាលផ្ទាំងឯកសារ) 2. **ពិនិត្យ Python ដែលដំណើរការ៖** `which python` ឬ `where python` 3. **សម្រាប់ Wio Terminal:** ប្រាកដថា​កូដ​ត្រូវបានផ្ទុកឡើងតាម PlatformIO (ចុចប៊ូតុង upload) 4. **សម្រាប់ Raspberry Pi:** SSH ចូល Pi ហើយដំណើរការកូដនៅទីនោះ 5. **ពិនិត្យវីនដូវផលប៉ះពាល់** សម្រាប់កំហុស #### បញ្ហា៖ IntelliSense មិនបង្ហាញមុខងារសៀវភៅបណ្ណាល័យ **រោគសញ្ញា៖** គ្មានការបញ្ចូលបញ្ច្រាសសម្រាប់ម៉ូឌុលនាំចូល **ដំណោះស្រាយ៖** 1. ប្រាកដថាបណ្ណាល័យត្រូវបានដំឡើងនៅក្នុងបរិបទបច្ចុប្បន្ន 2. ធ្វើរុញជំរុញ VS Code window 3. ពិនិត្យថា Python interpreter ត្រឹមត្រូវ 4. ដំឡើង type stubs ប្រសិនបើមាន៖ `pip install types-` ### បរិបទ Python Virtual Environments #### បញ្ហា៖ មិនអាចបង្កើត virtual environment បាន **កំហុស:** `The virtual environment was not created successfully` **ដំណោះស្រាយ:** 1. **ដំឡើងមុខងារ venv:** - Ubuntu/Debian: `sudo apt install python3-venv` - macOS: មកជាមួយ Python ស្រាប់ - Windows: ដំឡើងឡើងវិញ Python ជាមួយគ្រប់គ្រងគ្រឿងបន្លាស់ 2. **ពិនិត្យការដំឡើង Python:** ប្រាកដថា Python ត្រូវបានដំឡើងត្រឹមត្រូវ 3. **ប្រើផ្លូវពេញ:** សាកល្បង `python3 -m venv .venv` ជាមួយការហៅ python3 ដាស់តឿន #### បញ្ហា៖ កញ្ចប់ត្រូវបានដំឡើងច្របាក់ទីតាំង **រោគសញ្ញា៖** កំហុសនាំចូលបន្ទាប់ពីដំឡើងកញ្ចប់ **ដំណោះស្រាយ:** 1. **ប្រាកដថា venv ត្រូវបានបើក:** Prompt បង្ហាញ `(.venv)` 2. **ពិនិត្យទីតាំង pip:** `which pip` ត្រូវបង្ហាញទៅ `.venv/bin/pip` 3. **ដំឡើងឡើងវិញនៅក្នុង venv:** បើក venv ហើយ `pip install ` 4. **កុំប្រើ sudo ជាមួយ pip** នៅក្នុង virtual environment #### បញ្ហា៖ Virtual environment មិនអាចផ្ទុកបាន **រោគសញ្ញា៖** Venv មិនដំណើរការបន្ទាប់ពីផ្លាស់ទី ឬនៅលើកុំព្យូទ័រផ្សេង **ដំណោះស្រាយ:** 1. **កុំផ្លាស់ទី venv:** លុបចោលហើយបង្កើតឡើងវិញនៅទីតាំងថ្មី 2. **ប្រើ requirements.txt:** ```bash pip freeze > requirements.txt pip install -r requirements.txt ``` 3. **បង្កើតឡើងវិញ venv:** ```bash python3 -m venv .venv source .venv/bin/activate # ឬ activate.bat នៅលើ Windows pip install -r requirements.txt ``` ### ផ្នែក Dependencies #### បញ្ហា៖ ការដំឡើងកញ្ចប់បរាជ័យ **កំហុស:** កំហុស pip ផ្សេងៗពេលដំឡើង **ដំណោះស្រាយ:** 1. **ធ្វើបច្ចុប្បន្នភាព pip:** ```bash pip install --upgrade pip ``` 2. **ដំឡើងឧបករណ៍កសាង:** - Ubuntu/Debian: `sudo apt install build-essential python3-dev` - macOS: `xcode-select --install` - Windows: ដំឡើង Visual Studio Build Tools 3. **ពិនិត្យការតភ្ជាប់អ៊ីនធឺណិត** 4. **សាកល្បងប្រភពកញ្ចប់ផ្សេងៗ:** `pip install --index-url https://pypi.org/simple/ ` 5. **ដំឡើងកំណែជាក់លាក់៖** `pip install ==` #### បញ្ហា៖ សំឡឹងទុកបញ្ហា Dependency Conflict **កំហុស:** `ERROR: pip's dependency resolver does not currently take into account all the packages that are installed` **ដំណោះស្រាយ:** 1. **ប្រើ virtual environment ថ្មីៗ** សម្រាប់រាល់គម្រោង 2. **ធ្វើបច្ចុប្បន្នភាពកញ្ចប់:** `pip install --upgrade ` 3. **ពិនិត្យความត្រូវតាម:** ប្រើ `pip check` សម្រាប់រកបញ្ហា 4. **ដំឡើងកំណែដែលសមរម្យ:** បញ្ជាក់ជួរជាមួយ requirements.txt --- ## បញ្ហាប្រតិបត្តិការ ### បញ្ហា៖ កូដដំណើរការយឺត **រោគសញ្ញា៖** ពន្យាពេល, ពេលវេលា timeout, អត់ឆ្លើយតប **ដំណោះស្រាយ:** 1. **កាត់បន្ថយកម្រិតអានស៊ិនស័រ:** កុំអានឲ្យស៊ិនស័រញឹកញាប់ពេក 2. **បង្កើតរង្វិលងារល្អ:** ជៀសវាងការរង់ចាំល្បឿនខ្ពស់, ប្រើ sleep() ឬពេលពន្យាពេល 3. **បញ្ហាអង្គចងចាំ:** - បិទកម្មវិធីមិនចាំបាច់ - ដោះស្រាយទំហំទទេ - តាមដានជាមួយ `top` ឬ `htop` លើ Pi 4. **ល្បឿនកាត SD:** ប្រើកាត SD ឬ SSD លឿនសម្រាប់ Raspberry Pi 5. **ពន្យាពេលបណ្តាញ:** ប្រើ async សម្រាប់ការហៅបណ្តាញ ### បញ្ហា៖ កំហុសចេញពីអង្គចងចាំ **កំហុស៖** `MemoryError` ឬ កម្មវិធីរាំងស្ទះ **ដំណោះស្រាយ:** 1. **សម្រាប់ Raspberry Pi:** - បិទកម្មវិធីមិនចាំបាច់ - បង្កើនទំហំ swap - ប្រើប្រព័ន្ធប្រតិបត្តិការ​ស្រាល (Lite version) - អាប់ដេត RAM (Pi 4 មានជម្រើស 2/4/8GB) 2. **សម្រាប់ Wio Terminal:** - កាត់បន្ថយទំហំទុកបន្ថ័យ - ប្រើរូបភាពតូចជាង - បង្កើត efficiency សម្រាប់ការប្រើ string - ពិនិត្យចេញ memory leaks (អង្គចងចាំមិនបានចេញ) ### បញ្ហា៖ បាត់បង់ទិន្នន័យ ឬ បាក់បែក **រោគសញ្ញា៖** សារបាត់, ឯកសារបាក់បែក **ដំណោះស្រាយ:** 1. **បញ្ហាកាត SD:** - ប្រើកាត SD គុណភាពល្អ (ជៀសវាងកាតថោក/ចម្លង) - បង្កើតបម្រុងទុកចម្លងជាប្រចាំ - បិទប្រព័ន្ធត្រឹមត្រូវ (កុំចាប់ភ្លើងភ្លោះ) 2. **Buffer overflow:** កើនទំហំ buffer ក្នុងកូដ 3. **ភាពទុកចិត្ត​បណ្តាញ:** អនុវត្តលក្ខណៈ logic retry និងដោះស្រាយកំហុស 4. **គុណភាពសេវា:** ប្រើ MQTT QoS 1 ឬ 2 សម្រាប់សារសំខាន់ៗ --- ## សារ​កំហុសទូទៅ ### `ModuleNotFoundError: No module named 'X'` **ហេតុ៖** មិនបានដំឡើង package ឬ virtual environment មិនបានបើក **ដំណោះស្រាយ:** ```bash pip install X ``` ប្រាកដថា virtual environment ត្រូវបានបើកជាមុនសិន។ ### `Permission denied` លើ Linux/macOS **ហេតុ៖** ត្រូវការឥណទានដំណើរការ ឬ បញ្ហាសិទ្ធិឯកសារ **ដំណោះស្រាយ:** - សម្រាប់ប្រតិបត្តិការរដ្ឋបាល៖ ប្រើ `sudo` - សម្រាប់ pip៖ កុំប្រើ sudo ជាមួយ venv, បើក venv ជាមុន - សម្រាប់ផត់ស៊េរីយ៉ាល់៖ បញ្ជូលអ្នកប្រើទៅក្រុម dialout៖ `sudo usermod -a -G dialout $USER` បន្ទាប់មកចាកចេញ/ចូលវិញ ### `OSError: [Errno 98] Address already in use` **ហេតុ:** កំពង់ផែត្រូវបានប្រើរួចដោយដំណើរការផ្សេង **ដំណោះស្រាយ:** 1. ស្វែងរកដំណើរការដែលប្រើកំពង់ផែ: `lsof -i :` ឬ `netstat -ano | findstr :` 2. សម្លាប់ដំណើរការ ឬប្រើកំពង់ផែផ្សេងក្នុងកូដរបស់អ្នក ### `SSL: CERTIFICATE_VERIFY_FAILED` **ហេតុ:** ការផ្ទៀងផ្ទាត់សំបុត្រ SSL បរាជ័យ **ដំណោះស្រាយ:** 1. ធ្វើបច្ចុប្បន្នភាពសំបុត្រ៖ `pip install --upgrade certifi` 2. ពិនិត្យម៉ោងប្រព័ន្ធ៖ `date` 3. សម្រាប់ការអភិវឌ្ឍន៍តែប៉ុណ្ណោះ (មិនធ្វើផលិតកម្ម): បិទការផ្ទៀងផ្ទាត់ក្នុងកូដ ### `IndentationError: unexpected indent` **ហេតុ:** បញ្ហាការតម្រូវសរសេរកូដ Python (ច្របល់ tabs និង spaces) **ដំណោះស្រាយ:** 1. ប្រើការរចនាសរសេរជារយៈស្តង់ដារសម្រាប់ Python (4 ផ្ទះ) 2. កំណត់ editor ប្រើ spaces ជំនួស tabs 3. VS Code: កំណត់ `"editor.insertSpaces": true` និង `"editor.tabSize": 4` ### `UnicodeDecodeError` ឬ `UnicodeEncodeError` **ហេតុ:** បញ្ហាកូដអត្ថបទ **ដំណោះស្រាយ:** ```python # នៅពេលអានឯកសារ with open('file.txt', 'r', encoding='utf-8') as f: content = f.read() # នៅពេលសរសេរឯកសារ with open('file.txt', 'w', encoding='utf-8') as f: f.write(content) ``` --- ## ទទួលបានជំនួយ បើអ្នកបានសាកល្បងជំហានដោះស្រាយបញ្ហាទាំងនេះហើយនៅតែមានបញ្ហា៖ ### 1. ពិនិត្យធនធានដែលមានស្រាប់ - **ឯកសារណ៍៖** ពិនិត្យមើល [README](README.md) និងការណែនាំមេរៀន - **មេរៀនឧបករណ៍៖** ពិនិត្យ [hardware.md](hardware.md) សម្រាប់ព័ត៌មានពាក់ព័ន្ធឧបករណ៍ - **Seeed Studio Wiki:** [Seeed Studio Wiki](https://wiki.seeedstudio.com/) សម្រាប់គ្រឿងញៀន Grove ### 2. ស្វែងរកបញ្ហាដូចគ្នា - **GitHub Issues៖** ស្វែងរក [បញ្ហាដែលមានស្រាប់](https://github.com/microsoft/IoT-For-Beginners/issues) - **Stack Overflow៖** ស្វែងរកសារកំហុស - **វេទិកា​ឧបករណ៍៖** ពិនិត្យវេទិកា Raspberry Pi ឬ Arduino ### 3. បង្កើតបញ្ហា GitHub បើអ្នករកមិនឃើញដំណោះស្រាយ: 1. ចូល [GitHub Issues](https://github.com/microsoft/IoT-For-Beginners/issues) 2. ចុច "New Issue" 3. ផ្ដល់ព័ត៌មាន៖ - ការពិពណ៌នាបញ្ហាឲ្យច្បាស់ - ជំហានកើតឡើង - សារកំហុស (អត្ថបទពេញលេញ) - កំណែឧបករណ៍/កម្មវិធី - អ្វីដែលអ្នកបានព្យាយាម - រូបភាពអេក្រង់ ប្រសិនបើមាន ### 4. ចូលរួមសហគមន៍ - **Discord:** [Microsoft Foundry Discord](https://discord.gg/nTYy5BXMWG) - **Microsoft Learn:** [Microsoft Learn IoT](https://docs.microsoft.com/learn/browse/?products=azure-iot) ### 5. ផ្ដល់របាយការណ៍បញ្ហាដែលល្អ របាយការណ៍បញ្ហាល្អរួមមាន៖ - **បរិស្ថាន៖** ប្រព័ន្ធប្រតិបត្ដិការ (OS), ជំពូក Python,​ឧបករណ៍ប្រើប្រាស់ - **ជំហានក្នុងការស្ទង់មើល៖** ជំហានពិតប្រាកដដែលបង្ករឲ្យមានបញ្ហា - **អ្វីដែលរំពឹងទុក៖** អ្វីដែលគួរត្រូវកើតឡើង - **អ្វីដែលកើតឡើងជាធម្មតា៖** អ្វីដែលពិតជាកើតឡើង - **សារបញ្ហា៖** អត្ថបទកំហុសពេញលេញ មិនមែនជារូបភាពថតផ្ទាំងអេក្រង់ទេ - **កូដ៖** ឧទាហរណ៍កូដតូចបំផុតដែលបង្កប់បញ្ហា --- ## ជំនួយក្នុងការពារជំងឺ ### អនុវត្តល្អប៉ុន្មានទូទៅ 1. **រក្សាទុកចម្លង៖** ការចម្លងទុកជាប្រចាំនៃ SD card/kod ដែលវាយតម្លៃបាន 2. **ចុះបញ្ជីការផ្លាស់ប្តូរ៖** កត់សម្គាល់អ្វីដែលដំណើរការនៅក្នុងមតិយោបល់ 3. **គ្រប់គ្រងជំពូក៖** ប្រើ git ដើម្បីតាមដានការផ្លាស់ប្តូរកូដ 4. **សាកល្បងចាំបាច់៖** សាកល្បងការផ្លាស់ប្តូរតិចតួចមុនចូលបញ្ចូល 5. **អានសារកំហុស៖** ពួកវាមានពាក្យថាកំហុសដោយម៉ោង 6. **ធ្វើបច្ចុប្បន្នភាពជាប្រចាំ៖** រក្សាទុកកម្មវិធី/ផ្នែករឹងឲ្យទាន់សម័យ 7. **ប្រើធាតុជាគុណភាព៖** ជៀសវាងខ្សែថ្ម/ផ្គត់ផ្គង់ថាមពលថោក 8. **ថាមពលឈរជាប់៖** ប្រើប្រភពថាមពលសមរម្យ (ពិសេស Pi) ### ការអភិវឌ្ឍន៍កម្មវិធី 1. **ចាប់ផ្តើមពីភាពសាមញ្ញ៖** ចាប់ផ្តើមជាមួយកូដឧទាហរណ៍ដែលដំណើរការ 2. **ផ្លាស់ប្តូរតែម្ដង៖** ง่ายសម្រាប់រកអ្វីខូចខាត 3. **សាកល្បងជាប្រចាំ៖** ចាប់បញ្ហា ពេលឆាប់ 4. **រក្សារឱ្យស្អាត៖** រៀបចំឯកសារ និងកូដដោយមានហេតុផល 5. **បញ្ចូលមតិយោបល់កូដ៖** អ្នកនៅថ្ងៃក្រោយនឹងស្រឡាញ់វា --- *មេរៀនដោះស្រាយបញ្ហានេះ ត្រូវបានថែរក្សាដោយសហគមន៍។ ប្រសិនបើអ្នករកឃើញដំណោះស្រាយសម្រាប់បញ្ហាដែលមិនមាននៅទីនេះ សូមពិចារណាបានចូលរួម [contributing](CONTRIBUTING.md) ដើម្បីជួយអ្នកដទៃ!* --- **ការព្រមាន**៖ ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងសម្រាប់ភាពត្រឹមត្រូវ សូមជ្រាបថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬអក្សរបាត់បង់ខុសខាង។ ឯកសារដើមនៅភាសាផ្ទាល់ខ្លួនគួរត្រូវបានគេសង្ស័យថា ជាអ្នកផ្តល់ព័ត៌មានដ៏ទូលំទូលាយ។ សម្រាប់ព័ត៌មានដ៏សំខាន់ សូមផ្ដល់អនុសាសន៍ឱ្យប្រើការបកប្រែដោយមនុស្សដែលមានជំនាញវិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ខុស ឬការពន្យល់ខុស ដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។