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/1-getting-started/lessons/4-connect-internet/single-board-computer-telem...

74 lines
4.8 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.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "1226517aae5f5b6f904434670394c688",
"translation_date": "2025-08-27T21:14:36+00:00",
"source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md",
"language_code": "el"
}
-->
# Ελέγξτε το νυχτερινό φως σας μέσω του Διαδικτύου - Εικονικό IoT Υλικό και Raspberry Pi
Σε αυτό το μέρος του μαθήματος, θα στείλετε τηλεμετρία με επίπεδα φωτός από το Raspberry Pi ή την εικονική IoT συσκευή σας σε έναν MQTT broker.
## Δημοσίευση τηλεμετρίας
Το επόμενο βήμα είναι να δημιουργήσετε ένα έγγραφο JSON με τηλεμετρία και να το στείλετε στον MQTT broker.
### Εργασία
Δημοσιεύστε τηλεμετρία στον MQTT broker.
1. Ανοίξτε το έργο του νυχτερινού φωτός στο VS Code.
1. Εάν χρησιμοποιείτε μια εικονική IoT συσκευή, βεβαιωθείτε ότι το τερματικό εκτελεί το εικονικό περιβάλλον. Εάν χρησιμοποιείτε Raspberry Pi, δεν θα χρησιμοποιείτε εικονικό περιβάλλον.
1. Προσθέστε την ακόλουθη εισαγωγή στην κορυφή του αρχείου `app.py`:
```python
import json
```
Η βιβλιοθήκη `json` χρησιμοποιείται για την κωδικοποίηση της τηλεμετρίας ως έγγραφο JSON.
1. Προσθέστε το ακόλουθο μετά τη δήλωση του `client_name`:
```python
client_telemetry_topic = id + '/telemetry'
```
Το `client_telemetry_topic` είναι το MQTT θέμα στο οποίο η συσκευή θα δημοσιεύει τα επίπεδα φωτός.
1. Αντικαταστήστε το περιεχόμενο του βρόχου `while True:` στο τέλος του αρχείου με το ακόλουθο:
```python
while True:
light = light_sensor.light
telemetry = json.dumps({'light' : light})
print("Sending telemetry ", telemetry)
mqtt_client.publish(client_telemetry_topic, telemetry)
time.sleep(5)
```
Αυτός ο κώδικας συσκευάζει το επίπεδο φωτός σε ένα έγγραφο JSON και το δημοσιεύει στον MQTT broker. Στη συνέχεια, κάνει παύση για να μειώσει τη συχνότητα αποστολής μηνυμάτων.
1. Εκτελέστε τον κώδικα με τον ίδιο τρόπο που εκτελέσατε τον κώδικα από το προηγούμενο μέρος της εργασίας. Εάν χρησιμοποιείτε μια εικονική IoT συσκευή, βεβαιωθείτε ότι η εφαρμογή CounterFit εκτελείται και ότι ο αισθητήρας φωτός και το LED έχουν δημιουργηθεί στις σωστές ακίδες.
```output
(.venv) ➜ nightlight python app.py
MQTT connected!
Sending telemetry {"light": 0}
Sending telemetry {"light": 0}
```
> 💁 Μπορείτε να βρείτε αυτόν τον κώδικα στον φάκελο [code-telemetry/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/virtual-device) ή στον φάκελο [code-telemetry/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/pi).
😀 Έχετε στείλει με επιτυχία τηλεμετρία από τη συσκευή σας.
---
**Αποποίηση ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.