You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/el/TROUBLESHOOTING.md

752 lines
47 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Οδηγός Επίλυσης Προβλημάτων
Αυτός ο οδηγός σας βοηθά να λύσετε κοινά προβλήματα κατά την εργασία με το πρόγραμμα σπουδών IoT για Αρχάριους. Τα ζητήματα οργανώνονται κατά κατηγορία για εύκολη περιήγηση.
## Πίνακας Περιεχομένων
- [Προβλήματα Εγκατάστασης](../..)
- [Εγκατάσταση Python](../..)
- [VS Code και Επεκτάσεις](../..)
- [PlatformIO (Wio Terminal)](../..)
- [Βιβλιοθήκες Grove](../..)
- [Προβλήματα Υλικού](../..)
- [Raspberry Pi](../..)
- [Wio Terminal](../..)
- [Εικονική Συσκευή (CounterFit)](../..)
- [Προβλήματα Συνδεσιμότητας](../..)
- [Σύνδεση WiFi](../..)
- [Υπηρεσίες Cloud](../..)
- [MQTT](../..)
- [Προβλήματα Αισθητήρων και Ενεργοποιητών](../..)
- [Αισθητήρες Grove](../..)
- [Κάμερα](../..)
- [Μικρόφωνο και Ηχείο](../..)
- [Προβλήματα Αναπτυξιακού Περιβάλλοντος](../..)
- [VS Code](../..)
- [Εικονικά Περιβάλλοντα Python](../..)
- [Εξαρτήσεις](../..)
- [Προβλήματα Απόδοσης](../..)
- [Συχνά Μηνύματα Σφάλματος](../..)
- [Ζήτηση Βοήθειας](../..)
---
## Προβλήματα Εγκατάστασης
### Εγκατάσταση Python
#### Πρόβλημα: Η έκδοση Python είναι παρωχημένη
**Σφάλμα:** `Απαιτείται Python 3.6 ή νεότερη`
**Λύση:**
1. Κατεβάστε την πιο πρόσφατη έκδοση Python 3 από το [python.org](https://www.python.org/downloads/)
2. Κατά την εγκατάσταση στα Windows, επιλέξτε "Add Python to PATH"
3. Επαληθεύστε την εγκατάσταση:
```bash
python3 --version
```
#### Πρόβλημα: Πολλαπλές εκδόσεις Python προκαλούν συγκρούσεις
**Συμπτώματα:** Εκτελείται λάθος έκδοση Python, πακέτα εγκαθίστανται σε λάθος τοποθεσία
**Λύση:**
- **Windows:** Χρησιμοποιήστε `py -3` αντί για `python` για να κληθεί ρητά η Python 3
- **macOS/Linux:** Χρησιμοποιήστε `python3` αντί για `python`
- Πάντα να δημιουργείτε και να χρησιμοποιείτε εικονικά περιβάλλοντα για τα έργα
#### Πρόβλημα: Η εντολή pip δεν βρέθηκε
**Σφάλμα:** `'pip' δεν αναγνωρίζεται ως εσωτερική ή εξωτερική εντολή`
**Λύση:**
1. Δοκιμάστε `pip3` αντί για `pip`
2. Ή χρησιμοποιήστε `python -m pip` ή `python3 -m pip`
3. Βεβαιωθείτε ότι η Python έχει προστεθεί στο PATH (επαναεγκαταστήστε την και επιλέξτε την επιλογή)
### VS Code και Επεκτάσεις
#### Πρόβλημα: Η επέκταση Pylance δεν λειτουργεί
**Συμπτώματα:** Δεν υπάρχει IntelliSense για Python, αυτόματη συμπλήρωση κώδικα ή έλεγχος τύπων
**Λύση:**
1. Ανοίξτε την Παλέτα Εντολών του VS Code (`Ctrl+Shift+P` ή `Cmd+Shift+P`)
2. Εκτελέστε "Python: Select Interpreter"
3. Επιλέξτε τον σωστό interpreter Python (εικονικό περιβάλλον αν χρησιμοποιείτε)
4. Ανανέωση του παραθύρου του VS Code
#### Πρόβλημα: Το VS Code δεν εντοπίζει το εικονικό περιβάλλον
**Συμπτώματα:** Επιλέγεται λάθος Python interpreter
**Λύση:**
1. Βεβαιωθείτε ότι έχετε ενεργοποιήσει το εικονικό περιβάλλον στο τερματικό
2. Ανοίξτε την Παλέτα Εντολών και εκτελέστε "Python: Select Interpreter"
3. Επιλέξτε τον interpreter από τον φάκελο `.venv`
4. Ελέγξτε ότι η γραμμή κατάστασης (κάτω αριστερά) δείχνει τη σωστή έκδοση Python
### PlatformIO (Wio Terminal)
#### Πρόβλημα: Η εγκατάσταση του PlatformIO αποτυγχάνει
**Σφάλμα:** Διάφορα σφάλματα κατά την εγκατάσταση του PlatformIO
**Λύση:**
1. Βεβαιωθείτε ότι το VS Code είναι ενημερωμένο
2. Εγκαταστήστε πρώτα την επέκταση C/C++
3. Επανεκκινήστε το VS Code μετά την εγκατάσταση του PlatformIO
4. Ελέγξτε τη σύνδεση στο διαδίκτυο (το PlatformIO κατεβάζει μεγάλα αρχεία)
#### Πρόβλημα: Η πλακέτα δεν εντοπίζεται από το PlatformIO
**Συμπτώματα:** Δεν μπορεί να ανέβει κώδικας στο Wio Terminal
**Λύση:**
1. Δοκιμάστε διαφορετικό καλώδιο USB (μερικά καλώδια είναι μόνο για φόρτιση)
2. Ελέγξτε τη Διαχείριση Συσκευών (Windows) ή τρέξτε `ls /dev/tty*` (macOS/Linux)
3. Εγκαταστήστε ή ενημερώστε drivers USB
4. Δοκιμάστε διαφορετική θύρα USB
5. Κάντε γρήγορες διπλές κινήσεις στο διακόπτη τροφοδοσίας του Wio Terminal για να μπείτε σε bootloader mode
#### Πρόβλημα: Σφάλματα μεταγλώττισης στο PlatformIO
**Σφάλμα:** `fatal error: Arduino.h: No such file or directory`
**Λύση:**
1. Διαγράψτε το φάκελο `.pio` στο έργο σας
2. Εκτελέστε "PlatformIO: Rebuild" από την Παλέτα Εντολών
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 δεν ανιχνεύεται
**Σφάλμα:** `IOError: [Errno 121] Remote I/O error`
**Λύση:**
1. Ελέγξτε τις φυσικές συνδέσεις (βεβαιωθείτε ότι το καλώδιο Grove είναι πλήρως εισαγμένο)
2. Βεβαιωθείτε ότι ο αισθητήρας είναι συνδεδεμένος στη σωστή θύρα (αναλογική, ψηφιακή, I2C, UART)
3. Εκτελέστε `i2cdetect -y 1` για να δείτε αν η συσκευή εμφανίζεται στο I2C bus
4. Δοκιμάστε άλλο καλώδιο Grove
5. Βεβαιωθείτε ότι η Grove Base Hat είναι σωστά τοποθετημένη στις ακίδες GPIO του Raspberry Pi
---
## Προβλήματα Υλικού
### Raspberry Pi
#### Πρόβλημα: Το Raspberry Pi δεν εκκινεί
**Συμπτώματα:** Δεν εμφανίζεται εικόνα, δεν ανάβουν LEDs ή εμφανίζεται οθόνη ουράνιου τόξου
**Λύση:**
1. **Ελέγξτε το τροφοδοτικό:** Χρησιμοποιήστε επίσημο τροφοδοτικό 5V 3A USB-C για 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` (χωρίς επέκταση) στην κατάτμηση εκκίνησης
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. Ενεργοποιήστε το interface I2C:
```bash
sudo raspi-config nonint do_i2c 0
sudo reboot
```
4. Επαληθεύστε ότι το I2C λειτουργεί: `i2cdetect -y 1`
#### Πρόβλημα: Το Raspberry Pi λειτουργεί αργά
**Συμπτώματα:** Καθυστέρηση περιβάλλοντος, αργή απόκριση
**Λύση:**
1. Ελέγξτε την ταχύτητα κάρτας SD (χρησιμοποιήστε Class 10 ή καλύτερη, ή SSD μέσω USB)
2. Απελευθερώστε χώρο στον δίσκο: `df -h` για έλεγχο, διαγράψτε περιττά αρχεία
3. Μειώστε τη μνήμη GPU μέσω `raspi-config` αν δεν χρησιμοποιείτε εκτενώς κάμερα/οθόνη
4. Κλείστε περιττές εφαρμογές
5. Σκεφτείτε αναβάθμιση σε Pi 4 με περισσότερη RAM αν χρησιμοποιείτε 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.h>
TFT_eSPI tft;
tft.begin();
tft.fillScreen(TFT_BLACK);
```
4. Δοκιμάστε ανέβασμα δείγματος έργου από το PlatformIO για έλεγχο υλικού
#### Πρόβλημα: Το WiFi δεν λειτουργεί στο Wio Terminal
**Συμπτώματα:** Αδυναμία σύνδεσης WiFi, σφάλματα δικτύου
**Λύση:**
1. **Ενημερώστε το firmware WiFi:** Ακολουθήστε τον οδηγό ενημέρωσης firmware WiFi του Wio Terminal στο [Seeed Wiki](https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/)
2. **Ελέγξτε τα στοιχεία σύνδεσης WiFi:** Βεβαιωθείτε για ορθότητα SSID και κωδικού
3. **WiFi band:** Το Wio Terminal υποστηρίζει μόνο 2.4GHz WiFi (όχι 5GHz)
4. **Ισχύς σήματος:** Μετακινήστε πιο κοντά στο router
5. **Ρυθμίσεις router:** Ορισμένα εταιρικά δίκτυα/WPA-Enterprise ενδέχεται να μην λειτουργούν
#### Πρόβλημα: Το Wio Terminal δεν αναγνωρίζεται από τον υπολογιστή
**Συμπτώματα:** Η συσκευή USB δεν εντοπίζεται
**Λύση:**
1. **Δοκιμάστε διαφορετικό καλώδιο USB:** Χρησιμοποιήστε καλώδιο δεδομένων, όχι μόνο φόρτισης
2. **Μπείτε σε bootloader mode:** Μετακινήστε γρήγορα δύο φορές τον διακόπτη τροφοδοσίας προς τα κάτω
- Το μπλε LED θα αναβοσβήνει, η συσκευή θα εμφανίζεται ως "Arduino" στη Διαχείριση Συσκευών
3. **Εγκαταστήστε drivers (Windows):**
- Κατεβάστε και εγκαταστήστε τον [Seeed USB driver](https://wiki.seeedstudio.com/Driver_for_Seeeduino/)
4. **Δοκιμάστε διαφορετική θύρα USB:** Αποφύγετε USB hubs, χρησιμοποιήστε απευθείας σύνδεση
5. **Ενημερώστε τους drivers συστήματος για 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. Βεβαιωθείτε ότι το τείχος προστασίας δεν μπλοκάρει τη σύνδεση
4. Δοκιμάστε να κάνετε επανεκκίνηση της εφαρμογής CounterFit και του κώδικά σας
#### Πρόβλημα: Οι αισθητήρες δεν εμφανίζονται στο CounterFit
**Συμπτώματα:** Οι δημιουργημένοι αισθητήρες δεν εμφανίζονται στο UI του CounterFit
**Λύση:**
1. Δημιουργήστε τους αισθητήρες στο UI του CounterFit πριν τρέξετε τον κώδικα
2. Ανανέωση της σελίδας του προγράμματος περιήγησης
3. Ελέγξτε αν ο τύπος του αισθητήρα ταιριάζει με τις προσδοκίες του κώδικα
4. Καθαρίστε την προσωρινή μνήμη του προγράμματος περιήγησης
---
## Προβλήματα Συνδεσιμότητας
### Σύνδεση WiFi
#### Πρόβλημα: Η συσκευή δεν μπορεί να συνδεθεί στο WiFi
**Συμπτώματα:** Χρονικό όριο σύνδεσης, αποτυχία πιστοποίησης
**Λύση:**
1. **Ελέγξτε SSID και κωδικό:** Βεβαιωθείτε ότι τα διαπιστευτήρια είναι σωστά
2. **WiFi band:** Οι περισσότερες συσκευές IoT υποστηρίζουν μόνο 2.4GHz (όχι 5GHz)
3. **Ρυθμίσεις δρομολογητή:**
- Απενεργοποιήστε το AP isolation αν είναι ενεργό
- Χρησιμοποιήστε WPA2-PSK ασφάλεια (αποφύγετε WPA3, WEP ή ανοιχτά δίκτυα)
- Βεβαιωθείτε ότι το DHCP είναι ενεργοποιημένο
4. **Κρυμένα δίκτυα:** Αν το SSID είναι κρυφό, ίσως χρειαστεί να το διαμορφώσετε ρητά
5. **Ισχύς σήματος:** Μετακινήστε τη συσκευή πιο κοντά στο router
6. **Παρεμβολές:** Άλλες συσκευές, φούρνοι μικροκυμάτων ή τοίχοι μπορούν να προκαλέσουν παρεμβολές
#### Πρόβλημα: Η σύνδεση WiFi αποσυνδέεται συχνά
**Συμπτώματα:** Διακοπτόμενη συνδεσιμότητα
**Λύση:**
1. Ελέγξτε σταθερότητα δρομολογητή και σκεφτείτε επανεκκίνηση
2. Ενημερώστε το firmware της συσκευής
3. Χρησιμοποιήστε στατική IP αντί DHCP
4. Μειώστε την απόσταση από το router ή προσθέστε WiFi extender
5. Ελέγξτε για παρεμβολές από άλλες συσκευές
6. Βεβαιωθείτε ότι το τροφοδοτικό είναι επαρκές (ειδικά για Raspberry Pi)
### Υπηρεσίες Cloud
#### Πρόβλημα: Αδυναμία σύνδεσης στο Azure IoT Hub
**Σφάλμα:** Αποτυχία πιστοποίησης, άρνηση σύνδεσης
**Λύση:**
1. **Επαλήθευση διαπιστευτηρίων:**
- Ελέγξτε ότι η συμβολοσειρά σύνδεσης είναι σωστή
- Βεβαιωθείτε ότι δεν υπάρχουν περιττοί κενά ή αλλαγές γραμμής στη συμβολοσειρά σύνδεσης
2. **Ελέγξτε την εγγραφή της συσκευής:** Η συσκευή πρέπει να είναι καταχωρημένη στο IoT Hub
3. **Τείχος προστασίας / proxy:** Εξασφαλίστε ότι επιτρέπεται η εξερχόμενη κίνηση MQTT (θύρα 8883) ή HTTPS (θύρα 443)
4. **Περιοχή IoT Hub:** Βεβαιωθείτε ότι το IoT Hub λειτουργεί και δεν βρίσκεται σε διαφορετική περιοχή που προκαλεί καθυστερήσεις
5. **Όρια ποσόστωσης:** Ελέγξτε αν έχουν ξεπεραστεί τα όρια της δωρεάν βαθμίδας
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. Ελέγξτε τα αρχεία καταγραφής συναρτήσεων στο Azure Portal
4. Βεβαιωθείτε ότι το συμβατό endpoint Event Hub έχει ρυθμιστεί σωστά
5. Επαληθεύστε ότι η μορφή μηνύματος ταιριάζει με τις προσδοκίες της συνάρτησης
6. Ελέγξτε το σχέδιο υπηρεσίας της Function App (consumption έναντι dedicated)
### MQTT
#### Πρόβλημα: Η σύνδεση MQTT αποτυγχάνει
**Σφάλμα:** Απόρριψη σύνδεσης, αποτυχία αυθεντικοποίησης
**Λύση:**
1. **Διεύθυνση broker:** Επιβεβαιώστε ότι το URL/IP του broker είναι σωστό
2. **Θύρα:** Ελέγξτε τον αριθμό θύρας (1883 για μη κρυπτογραφημένη, 8883 για TLS)
3. **Αυθεντικοποίηση:** Επιβεβαιώστε όνομα χρήστη/κωδικό πρόσβασης αν απαιτείται
4. **TLS/SSL:** Βεβαιωθείτε ότι τα πιστοποιητικά είναι έγκυρα και αξιόπιστα
5. **Τείχος προστασίας:** Ελέγξτε ότι η θύρα δεν είναι μπλοκαρισμένη
6. **Δοκιμή με MQTT client:** Χρησιμοποιήστε MQTT Explorer ή mosquitto_pub/sub για δοκιμή
#### Πρόβλημα: Μηνύματα MQTT δεν λαμβάνονται
**Συμπτώματα:** Μηνύματα δημοσιεύονται αλλά δεν λαμβάνονται από συνδρομητές
**Λύση:**
1. **Ονόματα θεμάτων:** Επιβεβαιώστε ότι το θέμα του συνδρομητή ταιριάζει ακριβώς με το θέμα του εκδότη
2. **Επίπεδο QoS:** Δοκιμάστε QoS 1 ή 2 αντί για 0
3. **Μπαλαντέρ:** Ελέγξτε ότι τα μπαλαντέρ χρησιμοποιούνται σωστά (`+` για ένα επίπεδο, `#` για πολλαπλά επίπεδα)
4. **Διατηρημένα μηνύματα:** Ο εκδότης μπορεί να ορίσει σημαία διατήρησης για να κρατήσει το τελευταίο μήνυμα
5. **Χρονισμός σύνδεσης:** Βεβαιωθείτε ότι ο συνδρομητής συνδέεται πριν δημοσιευτούν τα μηνύματα
---
## Προβλήματα Αισθητήρων και Εκτελεστών
### Αισθητήρες Grove
#### Πρόβλημα: Ο αισθητήρας επιστρέφει λανθασμένες τιμές
**Συμπτώματα:** Οι ενδείξεις είναι 0, -1 ή παράλογες τιμές
**Λύση:**
1. **Ελέγξτε τις συνδέσεις:** Βεβαιωθείτε ότι ο αισθητήρας είναι σωστά συνδεδεμένος
2. **Σωστή θύρα:** Επιβεβαιώστε ότι ο αισθητήρας είναι στην σωστή θύρα:
- Αναλογικοί αισθητήρες → Αναλογικές θύρες (A0, A2, A4)
- Ψηφιακοί αισθητήρες → Ψηφιακές θύρες (D5, D16, D18, κ.α.)
- I2C αισθητήρες → Θύρες I2C
3. **Βαθμονόμηση:** Κάποιοι αισθητήρες χρειάζονται βαθμονόμηση (υγρασία εδάφους, φως)
4. **Επανεκκίνηση τροφοδοσίας:** Αποσυνδέστε και ξανασυνδέστε τον αισθητήρα
5. **Δελτίο τεχνικών στοιχείων:** Ελέγξτε προδιαγραφές και απαιτήσεις αισθητήρα
#### Πρόβλημα: Αισθητήρας χωρητικής υγρασίας εδάφους δείχνει πάντα υγρό
**Συμπτώματα:** Ο αισθητήρας δείχνει υψηλή υγρασία ακόμα και όταν είναι στεγνό
**Λύση:**
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. **Ενεργοποιήστε το interface της κάμερας:**
```bash
sudo raspi-config
```
Μεταβείτε σε Interface Options → Camera → Enable
2. **Ελέγξτε την καλωδίωση ribbon:** Βεβαιωθείτε ότι το καλώδιο κάμερας είναι σωστά εισαγμένο
- Το μπλε μέρος κοιτά τα USB ports στο Pi Zero
- Το μπλε μέρος κοιτά μακριά από τα USB ports στο Pi 4
3. **Ενημερώστε το firmware:**
```bash
sudo apt update
sudo apt full-upgrade
sudo reboot
```
4. **Δοκιμάστε την κάμερα:**
```bash
raspistill -o test.jpg
```
#### Πρόβλημα: Οι εικόνες της κάμερας έχουν κακή ποιότητα
**Συμπτώματα:** Θολές, σκοτεινές ή ξεθωριασμένες εικόνες
**Λύση:**
1. **Εστίαση:** Αφαιρέστε το προστατευτικό φιλμ από τον φακό, ρυθμίστε την εστίαση αν είναι δυνατόν
2. **Φωτισμός:** Διασφαλίστε επαρκή φωτισμό
3. **Ρυθμίσεις κάμερας:** Προσαρμόστε έκθεση, ISO, ισορροπία λευκού στον κώδικα
4. **Σταθερότητα:** Κρατήστε την κάμερα ακίνητη, χρησιμοποιήστε τρίποδο αν χρειάζεται
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
#### Πρόβλημα: Το τερματικό δεν ενεργοποιεί αυτόματα το virtual environment
**Συμπτώματα:** Το τερματικό ανοίγει αλλά το venv δεν ενεργοποιείται
**Λύση:**
1. **Ορίστε τον διερμηνέα Python:** Command Palette → "Python: Select Interpreter" → Επιλέξτε το venv
2. **Επανεκκινήστε το VS Code** μετά την επιλογή του διερμηνέα
3. **Ελέγξτε τις ρυθμίσεις:** Στο `settings.json`, προσθέστε:
```json
"python.terminal.activateEnvironment": true
```
#### Πρόβλημα: Ο κώδικας δεν τρέχει στη συσκευή
**Συμπτώματα:** Ο κώδικας τρέχει αλλά δεν συμβαίνει τίποτα στη συσκευή
**Λύση:**
1. **Επιβεβαιώστε ότι ο κώδικας έχει αποθηκευτεί** (ελέγξτε την κουκκίδα στην καρτέλα αρχείου)
2. **Ελέγξτε ποια Python τρέχει:** `which python` ή `where python`
3. **Για Wio Terminal:** Βεβαιωθείτε ότι ο κώδικας ανέβηκε μέσω PlatformIO (πατήστε κουμπί μεταφόρτωσης)
4. **Για Raspberry Pi:** Συνδεθείτε με SSH στο Pi και τρέξτε εκεί τον κώδικα
5. **Ελέγξτε το παράθυρο εξόδου** για σφάλματα
#### Πρόβλημα: Το IntelliSense δεν δείχνει συναρτήσεις βιβλιοθήκης
**Συμπτώματα:** Δεν εμφανίζει αυτόματη συμπλήρωση για εισαγόμενα modules
**Λύση:**
1. Βεβαιωθείτε ότι η βιβλιοθήκη είναι εγκατεστημένη στο τρέχον περιβάλλον
2. Κάντε επαναφόρτωση παραθύρου VS Code
3. Ελέγξτε ότι ο διερμηνέας Python είναι σωστός
4. Εγκαταστήστε type stubs αν υπάρχουν: `pip install types-<library-name>`
### Python Virtual Environments
#### Πρόβλημα: Δεν μπορεί να δημιουργηθεί virtual environment
**Σφάλμα:** `The virtual environment was not created successfully`
**Λύση:**
1. **Εγκαταστήστε το module venv:**
- Ubuntu/Debian: `sudo apt install python3-venv`
- macOS: Περιλαμβάνεται με την Python
- Windows: Επανεγκαταστήστε την Python με όλα τα components
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 <package>`
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
```
### Εξαρτήσεις
#### Πρόβλημα: Η εγκατάσταση πακέτου αποτυγχάνει
**Σφάλμα:** Διάφορα σφάλματα 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/ <package>`
5. **Εγκαταστήστε συγκεκριμένη έκδοση:** `pip install <package>==<version>`
#### Πρόβλημα: Σύγκρουση εξαρτήσεων
**Σφάλμα:** `ERROR: pip's dependency resolver does not currently take into account all the packages that are installed`
**Λύση:**
1. **Χρησιμοποιήστε καθαρό virtual environment** για κάθε έργο
2. **Ενημερώστε τα πακέτα:** `pip install --upgrade <package>`
3. **Ελέγξτε τις απαιτήσεις:** Χρησιμοποιείστε `pip check` για να βρείτε συγκρούσεις
4. **Εγκαταστήστε συμβατές εκδόσεις:** Ορίστε εύρος εκδόσεων στο requirements.txt
---
## Προβλήματα Απόδοσης
### Πρόβλημα: Ο κώδικας τρέχει αργά
**Συμπτώματα:** Καθυστερήσεις, timeout, αδράνεια
**Λύση:**
1. **Μειώστε τη συχνότητα ανάγνωσης αισθητήρα:** Μην διαβάζετε τους αισθητήρες πολύ συχνά
2. **Βελτιστοποιήστε βρόχους:** Αποφύγετε την πολυάσχολη αναμονή, χρησιμοποιήστε sleep() ή καθυστερήσεις
3. **Προβλήματα μνήμης:**
- Κλείστε μη απαραίτητες εφαρμογές
- Απελευθερώστε χώρο αποθήκευσης
- Παρακολουθήστε με `top` ή `htop` στο Pi
4. **Ταχύτητα κάρτας SD:** Χρησιμοποιήστε γρηγορότερη κάρτα SD ή SSD για Raspberry Pi
5. **Καθυστερήσεις δικτύου:** Χρησιμοποιήστε ασύγχρονες λειτουργίες για κλήσεις δικτύου
### Πρόβλημα: Σφάλματα έλλειψης μνήμης
**Σφάλμα:** `MemoryError` ή πάγωμα συστήματος
**Λύση:**
1. **Για Raspberry Pi:**
- Κλείστε μη απαραίτητες εφαρμογές
- Αυξήστε χώρο swap
- Χρησιμοποιήστε ελαφρύτερο λειτουργικό (Lite έκδοση)
- Αναβαθμίστε RAM (το Pi 4 διαθέτει επιλογές 2/4/8GB)
2. **Για Wio Terminal:**
- Μειώστε τα μεγέθη buffer
- Χρησιμοποιήστε μικρότερες εικόνες
- Βελτιώστε τη χρήση των strings
- Ελέγξτε για διαρροές μνήμης (μη απελευθερωμένη μνήμη)
### Πρόβλημα: Απώλεια ή καταστροφή δεδομένων
**Συμπτώματα:** Λείπουν μηνύματα, κατεστραμμένα αρχεία
**Λύση:**
1. **Προβλήματα κάρτας SD:**
- Χρησιμοποιήστε ποιοτικές κάρτες SD (αποφύγετε φτηνές/μαϊμού)
- Κάντε τακτικά backup
- Κλείσιμο με σωστό τρόπο (μην κόβετε την τροφοδοσία)
2. **Υπερχείλιση buffer:** Αυξήστε τα μεγέθη buffer στον κώδικα
3. **Αξιοπιστία δικτύου:** Υλοποιήστε λογική επανάληψης και διαχείριση σφαλμάτων
4. **Ποιότητα υπηρεσίας:** Χρησιμοποιήστε MQTT QoS 1 ή 2 για σημαντικά μηνύματα
---
## Συνηθισμένα Μηνύματα Σφάλματος
### `ModuleNotFoundError: No module named 'X'`
**Αιτία:** Το πακέτο δεν είναι εγκατεστημένο ή το 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 :<port>` ή `netstat -ano | findstr :<port>`
2. Τερματίστε τη διεργασία ή χρησιμοποιήστε άλλη θύρα στον κώδικά σας
### `SSL: CERTIFICATE_VERIFY_FAILED`
**Αιτία:** Η επαλήθευση του πιστοποιητικού SSL αποτυγχάνει
**Λύση:**
1. Ενημερώστε τα πιστοποιητικά: `pip install --upgrade certifi`
2. Ελέγξτε ότι η ώρα συστήματος είναι σωστή: `date`
3. Μόνο για ανάπτυξη (όχι παραγωγή): Απενεργοποιήστε την επαλήθευση στον κώδικα
### `IndentationError: unexpected indent`
**Αιτία:** Προβλήματα εσοχής Python (ανάμειξη tabs/κενών)
**Λύση:**
1. Χρησιμοποιήστε συνεπή εσοχή (4 κενά είναι το πρότυπο Python)
2. Ρυθμίστε τον επεξεργαστή για χρήση κενών αντί για 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:** Ελέγξτε το [hardware.md](hardware.md) για πληροφορίες ειδικές για hardware
- **Wiki Seeed Studio:** [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 Issue
Αν δεν βρείτε λύση:
1. Μεταβείτε στο [GitHub Issues](https://github.com/microsoft/IoT-For-Beginners/issues)
2. Πατήστε "New Issue"
3. Παρέχετε:
- Καθαρή περιγραφή του προβλήματος
- Βήματα αναπαραγωγής
- Μηνύματα σφάλματος (πλήρες κείμενο)
- Εκδόσεις hardware/software
- Τι έχετε ήδη δοκιμάσει
- Στιγμιότυπα οθόνης αν σχετίζονται
### 4. Ενταχθείτε στην Κοινότητα
- **Discord:** [Microsoft Foundry Discord](https://discord.gg/nTYy5BXMWG)
- **Microsoft Learn:** [Microsoft Learn IoT](https://docs.microsoft.com/learn/browse/?products=azure-iot)
### 5. Παρέχετε Καλά Αναφορές Σφαλμάτων
Μια καλή αναφορά σφάλματος περιλαμβάνει:
- **Περιβάλλον:** Λειτουργικό σύστημα, έκδοση Python, χρησιμοποιούμενος εξοπλισμός
- **Βήματα αναπαραγωγής:** Ακριβή βήματα που προκαλούν το πρόβλημα
- **Αναμενόμενη συμπεριφορά:** Τι θα έπρεπε να συμβεί
- **Πραγματική συμπεριφορά:** Τι πραγματικά συμβαίνει
- **Μηνύματα σφάλματος:** Ολόκληρο το κείμενο σφάλματος, όχι στιγμιότυπα οθόνης
- **Κώδικας:** Ελάχιστο παράδειγμα κώδικα που αναπαράγει το πρόβλημα
---
## Συμβουλές για Πρόληψη
### Γενικές Καλές Πρακτικές
1. **Διατηρήστε αντίγραφα ασφαλείας:** Τακτικά αντίγραφα των λειτουργικών καρτών SD/κώδικα
2. **Καταγράψτε τις αλλαγές:** Σημειώστε τι λειτουργεί στα σχόλια
3. **Έλεγχος εκδόσεων:** Χρησιμοποιήστε το git για παρακολούθηση των αλλαγών στον κώδικα
4. **Δοκιμάζετε σταδιακά:** Δοκιμάστε μικρές αλλαγές πριν τις συνδυάσετε
5. **Διαβάστε τα μηνύματα σφάλματος:** Συχνά λένε ακριβώς τι δεν πάει καλά
6. **Ενημερώνετε τακτικά:** Κρατάτε το λογισμικό/firmware ενημερωμένο
7. **Χρησιμοποιείτε ποιοτικά εξαρτήματα:** Αποφύγετε φτηνά καλώδια/τροφοδοτικά
8. **Σταθερή τροφοδοσία:** Χρησιμοποιήστε κατάλληλη τροφοδοσία (ειδικά για Pi)
### Ροή Ανάπτυξης
1. **Ξεκινήστε απλά:** Αρχίστε με παράδειγμα κώδικα που λειτουργεί
2. **Μια αλλαγή τη φορά:** Διευκολύνει τον εντοπισμό του προβλήματος
3. **Δοκιμάζετε συχνά:** Εντοπίστε τα προβλήματα νωρίς
4. **Κρατήστε τον κώδικα καθαρό:** Οργανώστε αρχεία και κώδικα λογικά
5. **Κάντε σχόλια στον κώδικα:** Ο μελλοντικός εαυτός σας θα το εκτιμήσει
---
*Αυτός ο οδηγός αντιμετώπισης προβλημάτων συντηρείται από την κοινότητα. Αν βρείτε λύση σε κάποιο πρόβλημα που δεν αναφέρεται εδώ, παρακαλούμε σκεφτείτε να [συνεισφέρετε](CONTRIBUTING.md) για να βοηθήσετε και άλλους!*
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Αποποίηση ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ενώ προσπαθούμε για ακρίβεια, παρακαλούμε να λάβετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις μπορεί να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα του θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->