27 KiB
Panduan Penyelesaian Masalah
Panduan ini membantu anda menyelesaikan masalah biasa apabila bekerja dengan kurikulum IoT untuk Pemula. Isu diatur mengikut kategori untuk navigasi yang mudah.
Jadual Kandungan
- Isu Pemasangan
- Isu Perkakasan
- Isu Kesambungan
- Isu Sensor dan Penggerak
- Isu Persekitaran Pembangunan
- Isu Prestasi
- Mesej Ralat Biasa
- Mendapatkan Bantuan
Isu Pemasangan
Pemasangan Python
Masalah: Versi Python terlalu lama
Ralat: Python 3.6 atau lebih tinggi diperlukan
Penyelesaian:
- Muat turun Python 3 terkini dari python.org
- Semasa pemasangan di Windows, tandakan "Add Python to PATH"
- Sahkan pemasangan:
python3 --version
Masalah: Pelbagai versi Python menyebabkan konflik
Gejala: Versi Python salah dijalankan, pakej dipasang ke lokasi yang salah
Penyelesaian:
- Windows: Gunakan
py -3dan bukanpythonuntuk panggil Python 3 secara jelas - macOS/Linux: Gunakan
python3dan bukanpython - Sentiasa cipta dan gunakan persekitaran maya untuk projek
Masalah: arahan pip tidak ditemui
Ralat: 'pip' tidak dikenali sebagai arahan dalaman atau luaran
Penyelesaian:
- Cuba
pip3dan bukanpip - Atau gunakan
python -m pipataupython3 -m pip - Pastikan Python ditambah ke PATH (pasang semula Python dan tandakan opsyen ini)
VS Code dan Sambungan
Masalah: Sambungan Pylance tidak berfungsi
Gejala: Tiada IntelliSense Python, lengkapkan kod, atau semakan jenis
Penyelesaian:
- Buka Command Palette VS Code (
Ctrl+Shift+PatauCmd+Shift+P) - Jalankan "Python: Select Interpreter"
- Pilih interpreter Python yang betul (persekitaran maya jika digunakan)
- Muat semula tetingkap VS Code
Masalah: VS Code tidak mengesan persekitaran maya
Gejala: Interpreter Python salah dipilih
Penyelesaian:
- Pastikan anda telah mengaktifkan persekitaran maya dalam terminal
- Buka Command Palette dan jalankan "Python: Select Interpreter"
- Pilih interpreter dari folder
.venv - Semak bar status (bawah kiri) menunjukkan versi Python yang betul
PlatformIO (Wio Terminal)
Masalah: Pemasangan PlatformIO gagal
Ralat: Pelbagai ralat semasa pemasangan PlatformIO
Penyelesaian:
- Pastikan VS Code dikemas kini
- Pasang sambungan C/C++ terlebih dahulu
- Mulakan semula VS Code selepas memasang PlatformIO
- Semak sambungan internet anda (PlatformIO memuat turun fail besar)
Masalah: Papan tidak dikesan oleh PlatformIO
Gejala: Tidak boleh memuat naik kod ke Wio Terminal
Penyelesaian:
- Cuba kabel USB yang lain (sesetengah kabel hanya untuk pengecasan)
- Semak Pengurus Peranti (Windows) atau
ls /dev/tty*(macOS/Linux) - Pasang atau kemas kini pemacu USB
- Cuba port USB yang lain
- Luncurkan suis kuasa pada Wio Terminal dua kali dengan cepat untuk masuk ke mod bootloader
Masalah: Ralat penyusunan dalam PlatformIO
Ralat: fatal error: Arduino.h: No such file or directory
Penyelesaian:
- Padam folder
.piodalam projek anda - Jalankan "PlatformIO: Rebuild" dari Command Palette
- Pastikan
platformio.inimempunyai konfigurasi papan yang betul:[env:seeed_wio_terminal] platform = atmelsam board = seeed_wio_terminal framework = arduino
Perpustakaan Grove
Masalah: Import perpustakaan Grove gagal pada Raspberry Pi
Ralat: ModuleNotFoundError: No module named 'grove'
Penyelesaian:
- Pasang semula perpustakaan Grove:
cd ~ git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . - Jika menggunakan persekitaran maya, anda mungkin perlu pasang secara global atau salin perpustakaan
- Sahkan I2C diaktifkan:
sudo raspi-config nonint do_i2c 0
Masalah: Sensor Grove tidak dikesan
Ralat: IOError: [Errno 121] Remote I/O error
Penyelesaian:
- Periksa sambungan fizikal (pastikan kabel Grove dimasukkan sepenuhnya)
- Sahkan sensor disambungkan ke port yang betul (analog, digital, I2C, UART)
- Jalankan
i2cdetect -y 1untuk melihat jika peranti muncul di bas I2C - Cuba kabel Grove yang lain
- Pastikan Grove Base Hat duduk dengan betul pada pin GPIO Raspberry Pi
Isu Perkakasan
Raspberry Pi
Masalah: Raspberry Pi tidak hendak boot
Gejala: Tiada paparan, tiada aktiviti LED, atau skrin pelangi
Penyelesaian:
- Semak bekalan kuasa: Gunakan bekalan kuasa USB-C rasmi 5V 3A untuk Pi 4
- Isu kad SD:
- Format semula kad SD dan pasang semula Raspberry Pi OS
- Cuba kad SD lain (guna jenama yang disyorkan)
- Pastikan kad SD dimasukkan dengan betul
- Semak sambungan HDMI: Cuba kedua-dua port HDMI pada Pi 4, guna port HDMI yang paling hampir dengan kuasa
Masalah: Tidak boleh SSH ke Raspberry Pi
Gejala: Sambungan ditolak atau tamat masa
Penyelesaian:
- Aktifkan SSH:
- Apabila membakar kad SD dengan Raspberry Pi Imager, konfigurasikan SSH dalam opsyen lanjutan
- Atau cipta fail kosong bernama
ssh(tiada sambungan) dalam partition boot
- Cari alamat IP Pi:
- Semak peranti yang bersambung pada penghala anda
- Gunakan
ping raspberrypi.local(jika mDNS berfungsi) - Gunakan alat imbasan rangkaian seperti
nmapatau Angry IP Scanner
- Semak rangkaian:
- Pastikan Pi berada dalam rangkaian yang sama dengan komputer anda
- Cuba sambungan ethernet dan bukannya WiFi
- Sahkan nama pengguna/katalaluan (lalai: nama pengguna
pi, kata laluanraspberry)
Masalah: Grove Base Hat tidak dikenali
Gejala: Sensor tidak berfungsi, ralat I2C
Penyelesaian:
- Pastikan Base Hat duduk dengan betul pada semua pin GPIO
- Periksa pin bengkok pada Pi atau Base Hat
- Aktifkan antara muka I2C:
sudo raspi-config nonint do_i2c 0 sudo reboot - Sahkan I2C berfungsi:
i2cdetect -y 1
Masalah: Raspberry Pi berjalan perlahan
Gejala: Antara muka lambat, tindak balas perlahan
Penyelesaian:
- Semak kelajuan kad SD (guna Kelas 10 atau lebih baik, atau SSD melalui USB)
- Kosongkan ruang cakera:
df -huntuk semak, padam fail yang tidak perlu - Kurangkan memori GPU dalam
raspi-configjika tidak menggunakan kamera/paparan secara berat - Tutup aplikasi yang tidak perlu
- Pertimbangkan menaik taraf ke Pi 4 dengan RAM lebih banyak jika menggunakan Pi 3 atau lebih lama
Wio Terminal
Masalah: Skrin Wio Terminal kekal kosong
Gejala: Tiada paparan keluar selepas memuat naik kod
Penyelesaian:
- Semak jika kod menginisialisasi paparan (perpustakaan TFT_eSPI)
- Kemas kini firmware Wio Terminal dari Seeed Wiki
- Tambah kod inisialisasi paparan:
#include <TFT_eSPI.h> TFT_eSPI tft; tft.begin(); tft.fillScreen(TFT_BLACK); - Cuba muat naik lakaran contoh dari PlatformIO untuk uji perkakasan
Masalah: WiFi tidak berfungsi pada Wio Terminal
Gejala: Tidak boleh sambung ke WiFi, ralat rangkaian
Penyelesaian:
- Kemas kini firmware WiFi: Ikuti panduan kemas kini firmware WiFi Wio Terminal
- Semak kelayakan WiFi: Pastikan SSID dan kata laluan betul
- Band WiFi: Wio Terminal hanya menyokong WiFi 2.4GHz (bukan 5GHz)
- Kekuatan isyarat: Dekatkan peranti ke penghala
- Tetapan penghala: Sesetengah rangkaian enterprise/WPA-Enterprise mungkin tidak berfungsi
Masalah: Wio Terminal tidak dikenali oleh komputer
Gejala: Peranti USB tidak dikesan
Penyelesaian:
- Cuba kabel USB lain: Guna kabel data, bukan kabel cuma untuk pengecasan
- Masuk mod bootloader: Luncurkan suis kuasa ke bawah dua kali dengan cepat
- LED biru akan berdenyut, peranti muncul sebagai "Arduino" dalam Pengurus Peranti
- Pasang pemacu (Windows):
- Muat turun dan pasang pemacu USB Seeed
- Cuba port USB lain: Elak hab USB, guna sambungan terus
- Kemas kini pemacu USB sistem
Masalah: Sensor tidak berfungsi pada Wio Terminal
Gejala: Sensor Grove tidak membaca data
Penyelesaian:
- Semak sambungan kabel Grove
- Sahkan anda menggunakan port Grove yang betul (kiri atau kanan)
- Sertakan perpustakaan yang betul untuk sensor
- Semak keperluan kuasa sensor
- Uji sensor dengan contoh kod dari perpustakaan
Peranti Maya (CounterFit)
Masalah: Aplikasi CounterFit tidak hendak bermula
Ralat: Pelbagai ralat Python semasa mula CounterFit
Penyelesaian:
- Pastikan persekitaran maya diaktifkan
- Pasang semula CounterFit:
pip install CounterFit - Semak port 5000 tidak sedang digunakan:
- Windows:
netstat -ano | findstr :5000 - macOS/Linux:
lsof -i :5000
- Windows:
- Bunuh proses yang menggunakan port 5000 atau guna port berbeza:
counterfit --port 5001
Masalah: Tidak boleh sambung ke CounterFit dari kod
Ralat: Sambungan ditolak atau tamat masa
Penyelesaian:
- Sahkan CounterFit berjalan: Buka pelayar ke
http://127.0.0.1:5000 - Semak URL sambungan dalam kod sepadan dengan alamat CounterFit
- Pastikan firewall tidak menghalang sambungan
- Cuba mulakan semula kedua-dua aplikasi CounterFit dan kod anda
Masalah: Sensor tidak muncul dalam CounterFit
Gejala: Sensor yang dicipta tidak muncul dalam UI CounterFit
Penyelesaian:
- Cipta sensor dalam UI CounterFit sebelum menjalankan kod
- Segarkan halaman pelayar
- Semak jenis sensor sepadan dengan apa yang kod jangka
- Kosongkan cache pelayar
Isu Kesambungan
Sambungan WiFi
Masalah: Peranti tidak boleh sambung ke WiFi
Gejala: Sambungan tamat masa, pengesahan gagal
Penyelesaian:
- Semak SSID dan kata laluan: Sahkan kelayakan betul
- Band WiFi: Kebanyakan peranti IoT hanya menyokong 2.4GHz (bukan 5GHz)
- Tetapan penghala:
- Lumpuhkan AP isolation jika diaktifkan
- Gunakan keselamatan WPA2-PSK (elak WPA3, WEP, atau rangkaian terbuka)
- Pastikan DHCP diaktifkan
- Rangkaian tersembunyi: Jika SSID tersembunyi, anda mungkin perlu konfigurasikan secara jelas
- Kekuatan isyarat: Letakkan peranti lebih dekat ke penghala
- Gangguan: Peranti lain, gelombang mikro, atau dinding boleh mengganggu
Masalah: Sambungan WiFi sering putus
Gejala: Sambungan berselang
Penyelesaian:
- Semak kestabilan penghala dan pertimbangkan untuk mulakan semula
- Kemas kini firmware peranti
- Gunakan IP statik dan bukan DHCP
- Kurangkan jarak ke penghala atau tambah pengulang WiFi
- Semak gangguan daripada peranti lain
- Sahkan bekalan kuasa mencukupi (terutamanya untuk Raspberry Pi)
Perkhidmatan Awan
Masalah: Tidak boleh sambung ke Azure IoT Hub
Ralat: Pengesahan gagal, sambungan ditolak
Penyelesaian:
- Sahkan kelayakan:
- Semak rentetan sambungan betul
- Pastikan tiada ruang atau baris tambahan dalam rentetan sambungan
- Semak pendaftaran peranti: Peranti mesti didaftarkan di IoT Hub
- Firewall/proksi: Pastikan MQTT keluar (port 8883) atau HTTPS (port 443) dibenarkan
- Wilayah IoT Hub: Pastikan IoT Hub beroperasi dan bukan di wilayah berlainan yang menyebabkan kelewatan
- Had kuota: Semak jika had tier percuma terlampaui
- Uji sambungan:
az iot hub device-identity show-connection-string --hub-name YourIoTHub --device-id YourDevice
Masalah: Azure Functions tidak mencetuskan
Gejala: Mesej dihantar tetapi fungsi tidak dijalankan
Penyelesaian:
- Semak Function App berjalan (tidak dihentikan)
- Sahkan rentetan sambungan dalam tetapan Function App
- Semak log fungsi dalam Portal Azure
- Pastikan titik hujung serasi Event Hub dikonfigurasikan dengan betul
- Sahkan format mesej sepadan dengan jangkaan fungsi
- Semak pelan perkhidmatan Function App (penggunaan berbanding khusus)
MQTT
Masalah: Sambungan MQTT gagal
Ralat: Sambungan ditolak, pengesahan gagal
Penyelesaian:
- Alamat broker: Sahkan URL/IP broker adalah betul
- Port: Semak nombor port (1883 untuk tanpa penyulitan, 8883 untuk TLS)
- Pengesahan: Sahkan nama pengguna/katalaluan jika diperlukan
- TLS/SSL: Pastikan sijil adalah sah dan dipercayai
- Firewall: Semak port tidak disekat
- Uji dengan klien MQTT: Gunakan MQTT Explorer atau mosquitto_pub/sub untuk menguji
Masalah: Mesej MQTT tidak diterima
Gejala: Mesej diterbitkan tetapi tidak diterima oleh pelanggan
Penyelesaian:
- Nama topik: Sahkan topik pelanggan sepadan dengan topik penerbit dengan tepat
- Tahap QoS: Cuba QoS 1 atau 2 daripada 0
- Wildcard: Semak wildcard topik digunakan dengan betul (
+untuk satu tingkat,#untuk berbilang tingkat) - Mesej yang disimpan: Penerbit boleh menetapkan bendera simpan untuk menyimpan mesej terakhir
- Masa sambungan: Pastikan pelanggan menyambung sebelum mesej diterbitkan
Isu Sensor dan Penggerak
Sensor Grove
Masalah: Sensor mengembalikan nilai tidak betul
Gejala: Bacaan adalah 0, -1, atau nilai tidak masuk akal
Penyelesaian:
- Periksa sambungan: Pastikan sensor bersambung dengan betul
- Port betul: Sahkan sensor pada jenis port yang betul:
- Sensor analog → Port analog (A0, A2, A4)
- Sensor digital → Port digital (D5, D16, D18, dll.)
- Sensor I2C → Port I2C
- Penentukuran: Sesetengah sensor perlu ditentukur (kelembapan tanah, cahaya)
- Kitar kuasa: Putus dan sambung semula sensor
- Datasheet sensor: Periksa spesifikasi dan keperluan sensor
Masalah: Sensor kelembapan tanah kapasitif sentiasa membaca basah
Gejala: Sensor membaca kelembapan tinggi walaupun kering
Penyelesaian:
- Perlu penentukuran: Sensor tanah perlu ditentukur:
- Baca nilai di udara (garis asas kering)
- Baca nilai di air (garis asas basah)
- Peta bacaan antara nilai ini
- Periksa lapisan sensor: Sensor kelembapan mungkin rosak jika lapisan terjejas
- Penempatan: Pastikan sensor dimasukkan sepenuhnya ke dalam tanah
Masalah: Bacaan sensor suhu/kelembapan tidak betul
Gejala: DHT11/DHT22 menunjukkan suhu atau kelembapan salah
Penyelesaian:
- Penempatan sensor: Elakkan cahaya matahari langsung, sumber haba, atau aliran udara
- Masa pemanasan: Beri sensor 2 saat selepas dihidupkan sebelum membaca
- Kekerapan bacaan: Sensor DHT memerlukan masa antara bacaan (sekurang-kurangnya 2 saat)
- Periksa kondensasi: Boleh menjejaskan bacaan
- Kualiti sensor: DHT11 kurang tepat berbanding DHT22
Kamera
Masalah: Kamera tidak dikesan pada Raspberry Pi
Ralat: mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera'
Penyelesaian:
- Dayakan antara muka kamera:
Pergi ke Interface Options → Camera → Enablesudo raspi-config - Periksa kabel reben: Pastikan kabel kamera dimasukkan dengan betul
- Bahagian biru menghadap port USB pada Pi Zero
- Bahagian biru menghadap arah bertentangan dengan port USB pada Pi 4
- Kemas kini firmware:
sudo apt update sudo apt full-upgrade sudo reboot - Uji kamera:
raspistill -o test.jpg
Masalah: Gambar kamera kualiti rendah
Gejala: Gambar kabur, gelap, atau pudar
Penyelesaian:
- Fokus: Tanggalkan filem pelindung dari lensa, laraskan fokus jika boleh
- Pencahayaan: Pastikan pencahayaan mencukupi
- Tetapan kamera: Laraskan pendedahan, ISO, imbangan putih dalam kod
- Kestabilan: Kekalkan kamera stabil, guna tripod jika perlu
- Resolusi: Jangan lebihkan resolusi maksimum kamera
Mikrofon dan Pembesar Suara
Masalah: Tiada input/output audio
Gejala: Mikrofon tidak merakam, pembesar suara tidak mengeluarkan bunyi
Penyelesaian:
- Periksa sambungan: Pastikan peranti audio disambung dengan betul
- Uji perkakasan:
- Pembesar suara:
speaker-test -t wav -c 2 - Mikrofon:
arecord -luntuk senarai,arecord test.wavuntuk rakam
- Pembesar suara:
- Tetapan kelantangan: Semak dan laraskan kelantangan:
alsamixer - Pilih peranti audio: Tentukan peranti audio betul dalam kod
- Isu pemacu: Kemas kini ALSA atau pasang semula pemacu audio
Masalah: ReSpeaker hat tidak berfungsi
Gejala: Peranti audio tidak dikesan
Penyelesaian:
- Pasang pemacu:
git clone https://github.com/HinTak/seeed-voicecard cd seeed-voicecard sudo ./install.sh sudo reboot - Periksa pemasangan:
arecord -lharus menunjukkan ReSpeaker - Kemas kini firmware: Sesetengah versi Pi OS memerlukan kemas kini pemacu
- Periksa pemasangan: Pastikan hat dipasang dengan betul ke pin GPIO
Isu Persekitaran Pembangunan
VS Code
Masalah: Terminal tidak mengaktifkan persekitaran maya secara automatik
Gejala: Terminal dibuka tetapi venv tidak diaktifkan
Penyelesaian:
- Tetapkan interpreter Python: Command Palette → "Python: Select Interpreter" → Pilih venv
- Mulakan semula VS Code selepas memilih interpreter
- Periksa tetapan: Dalam
settings.json, tambah:"python.terminal.activateEnvironment": true
Masalah: Kod tidak berjalan pada peranti
Gejala: Kod berjalan tetapi tiada apa berlaku pada peranti
Penyelesaian:
- Sahkan kod disimpan (periksa titik pada tab fail)
- Periksa Python yang digunakan:
which pythonatauwhere python - Untuk Wio Terminal: Pastikan kod dimuat naik melalui PlatformIO (klik butang muat naik)
- Untuk Raspberry Pi: SSH ke Pi dan jalankan kod di situ
- Periksa tetingkap output untuk ralat
Masalah: IntelliSense tidak memaparkan fungsi perpustakaan
Gejala: Tiada autocomplete untuk modul yang diimport
Penyelesaian:
- Pastikan perpustakaan dipasang dalam persekitaran semasa
- Muat semula tetingkap VS Code
- Periksa interpreter Python adalah betul
- Pasang type stub jika ada:
pip install types-<nama-perpustakaan>
Persekitaran Maya Python
Masalah: Tidak dapat buat persekitaran maya
Ralat: The virtual environment was not created successfully
Penyelesaian:
- Pasang modul venv:
- Ubuntu/Debian:
sudo apt install python3-venv - macOS: Perlu disertakan dengan Python
- Windows: Pasang semula Python dengan semua komponen
- Ubuntu/Debian:
- Periksa pemasangan Python: Sahkan Python dipasang dengan betul
- Guna laluan penuh: Cuba
python3 -m venv .venvdengan panggilan python3 secara eksplisit
Masalah: Pakej dipasang di lokasi salah
Gejala: Import error selepas memasang pakej
Penyelesaian:
- Sahkan venv diaktifkan: Prompt arahan patut tunjuk
(.venv) - Periksa lokasi pip:
which pippatut tunjuk ke.venv/bin/pip - Pasang semula dalam venv: Aktifkan venv, kemudian
pip install <pakej> - Jangan guna sudo dengan pip dalam persekitaran maya
Masalah: Persekitaran maya tidak mudah alih
Gejala: Venv tidak berfungsi selepas dipindah atau di komputer berlainan
Penyelesaian:
- Jangan pindahkan venv: Padam dan buat semula di lokasi baru
- Guna requirements.txt:
pip freeze > requirements.txt pip install -r requirements.txt - Buat semula venv:
python3 -m venv .venv source .venv/bin/activate # atau activate.bat pada Windows pip install -r requirements.txt
Kebergantungan
Masalah: Pemasangan pakej gagal
Ralat: Pelbagai ralat pip semasa pemasangan
Penyelesaian:
- Kemas kini pip:
pip install --upgrade pip - Pasang alat binaan:
- Ubuntu/Debian:
sudo apt install build-essential python3-dev - macOS:
xcode-select --install - Windows: Pasang Visual Studio Build Tools
- Ubuntu/Debian:
- Periksa sambungan internet
- Cuba indeks pakej berbeza:
pip install --index-url https://pypi.org/simple/ <pakej> - Pasang versi tertentu:
pip install <pakej>==<versi>
Masalah: Konflik kebergantungan
Ralat: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed
Penyelesaian:
- Guna persekitaran maya baru untuk setiap projek
- Kemas kini pakej:
pip install --upgrade <pakej> - Semak keperluan: Guna
pip checkuntuk cari konflik - Pasang versi serasi: Nyatakan julat versi dalam requirements.txt
Isu Prestasi
Masalah: Kod berjalan perlahan
Gejala: Kelewatan, tamat masa, tingkah laku tidak responsif
Penyelesaian:
- Kurangkan kekerapan bacaan sensor: Jangan baca sensor terlalu kerap
- Optimumkan gelung: Elak menunggu sibuk, guna sleep() atau kelewatan
- Isu memori:
- Tutup aplikasi yang tidak perlu
- Bebaskan ruang storan
- Pantau dengan
topatauhtoppada Pi
- Kelajuan kad SD: Guna kad SD atau SSD lebih pantas untuk Raspberry Pi
- Kelewatan rangkaian: Guna operasi async untuk panggilan rangkaian
Masalah: Ralat kehabisan memori
Ralat: MemoryError atau sistem beku
Penyelesaian:
- Untuk Raspberry Pi:
- Tutup aplikasi yang tidak perlu
- Tambah ruang swap
- Guna OS yang ringan (versi Lite)
- Tingkatkan RAM (Pi 4 ada pilihan 2/4/8GB)
- Untuk Wio Terminal:
- Kurangkan saiz buffer
- Guna imej lebih kecil
- Optimumkan penggunaan rentetan
- Periksa kebocoran memori (memori tidak dilepaskan)
Masalah: Kehilangan data atau kerosakan
Gejala: Mesej hilang, fail rosak
Penyelesaian:
- Isu kad SD:
- Guna kad SD berkualiti (elak murah/palsu)
- Sandaran secara berkala
- Tutup dengan betul (jangan cabut kuasa terus)
- Buffer overflow: Tingkatkan saiz buffer dalam kod
- Kebolehpercayaan rangkaian: Laksanakan logik cuba semula dan pengurusan ralat
- Kualiti Perkhidmatan: Guna MQTT QoS 1 atau 2 untuk mesej penting
Mesej Ralat Umum
ModuleNotFoundError: No module named 'X'
Sebab: Pakej tidak dipasang atau persekitaran maya tidak diaktifkan
Penyelesaian:
pip install X
Pastikan persekitaran maya diaktifkan dahulu.
Permission denied pada Linux/macOS
Sebab: Perlukan keizinan tinggi atau isu kebenaran fail
Penyelesaian:
- Untuk operasi sistem: Guna
sudo - Untuk pip: JANGAN guna sudo dengan venv, aktifkan venv dahulu
- Untuk port serial: Tambah pengguna ke kumpulan dialout:
sudo usermod -a -G dialout $USER, kemudian logout/login
OSError: [Errno 98] Address already in use
Sebab: Port sudah digunakan oleh proses lain
Penyelesaian:
- Cari proses guna port:
lsof -i :<port>ataunetstat -ano | findstr :<port> - Bunuh proses atau guna port lain dalam kod anda
SSL: CERTIFICATE_VERIFY_FAILED
Sebab: Pengesahan sijil SSL gagal
Penyelesaian:
- Kemas kini sijil:
pip install --upgrade certifi - Semak masa sistem betul:
date - Untuk pembangunan sahaja (bukan produksi): Lumpuhkan pengesahan dalam kod
IndentationError: unexpected indent
Sebab: Isu indentasi Python (campur tab/spasi)
Penyelesaian:
- Gunakan indentasi konsisten (4 spasi adalah standard Python)
- Konfigurasikan editor guna spasi bukan tab
- VS Code: Tetapkan
"editor.insertSpaces": truedan"editor.tabSize": 4
UnicodeDecodeError or UnicodeEncodeError
Sebab: Isu pengekodan aksara
Penyelesaian:
# Apabila membaca fail
with open('file.txt', 'r', encoding='utf-8') as f:
content = f.read()
# Apabila menulis fail
with open('file.txt', 'w', encoding='utf-8') as f:
f.write(content)
Mendapatkan Bantuan
Jika anda telah mencuba langkah penyelesaian masalah ini dan masih menghadapi isu:
1. Semak Sumber Sedia Ada
- Dokumentasi: Tinjau README dan arahan pelajaran
- Panduan perkakasan: Semak hardware.md untuk maklumat khusus perkakasan
- Seeed Studio Wiki: Seeed Studio Wiki untuk komponen Grove
2. Cari Isu Yang Sama
- GitHub Issues: Cari isu sedia ada
- Stack Overflow: Cari mesej ralat
- Forum peranti: Semak forum Raspberry Pi atau forum Arduino
3. Cipta Isu GitHub
Jika anda tidak dapat mencari penyelesaian:
- Pergi ke GitHub Issues
- Klik "New Issue"
- Berikan:
- Penerangan jelas masalah
- Langkah untuk ulangi
- Mesej ralat (teks penuh)
- Versi perkakasan/perisian
- Apa yang telah anda cuba
- Tangkapan skrin jika relevan
4. Sertai Komuniti
- Discord: Microsoft Foundry Discord
- Microsoft Learn: Microsoft Learn IoT
5. Berikan Laporan Pepijat Yang Baik
Laporan pepijat yang baik termasuk:
- Persekitaran: OS, versi Python, perkakasan yang digunakan
- Langkah untuk mengulangi: Langkah tepat yang menyebabkan isu
- Kelakuan yang dijangkakan: Apa yang sepatutnya berlaku
- Kelakuan sebenar: Apa yang sebenarnya berlaku
- Mesej ralat: Teks ralat lengkap, bukan tangkapan skrin
- Kod: Contoh kod minimum yang menghasilkan isu
Tips Pencegahan
Amalan Terbaik Am
- Simpan salinan sandaran: Sandaran berkala kad SD/kod yang berfungsi
- Dokumentasikan perubahan: Catat apa yang berfungsi dalam komen
- Kawalan versi: Gunakan git untuk menjejak perubahan kod
- Uji secara berperingkat: Uji perubahan kecil sebelum digabungkan
- Baca mesej ralat: Ia sering memberitahu dengan tepat apa yang salah
- Kemas kini secara berkala: Kekalkan perisian/firmware sentiasa terkini
- Gunakan komponen berkualiti: Elakkan kabel/bekalan kuasa murah
- Kuasa stabil: Gunakan bekalan kuasa yang sesuai (terutama Pi)
Aliran Kerja Pembangunan
- Mula dengan mudah: Mulakan dengan kod contoh yang berfungsi
- Satu perubahan pada satu masa: Lebih mudah mencari apa yang rosak
- Uji secara kerap: Tangkap isu lebih awal
- Pastikan teratur: Susun fail dan kod secara logik
- Komen kod: Masa depan anda akan menghargainya
Panduan penyelesaian masalah ini diselenggara oleh komuniti. Jika anda menemui penyelesaian untuk masalah yang tidak disenaraikan di sini, sila pertimbangkan untuk menyumbang bagi membantu yang lain!
Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk memastikan ketepatan, harap maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya hendaklah dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.