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/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-...

6.0 KiB

Δημοσίευση θερμοκρασίας - Εικονικό IoT Υλικό και Raspberry Pi

Σε αυτό το μέρος του μαθήματος, θα δημοσιεύσετε τις τιμές θερμοκρασίας που ανιχνεύονται από το Raspberry Pi ή την Εικονική IoT Συσκευή μέσω MQTT, ώστε να μπορούν να χρησιμοποιηθούν αργότερα για τον υπολογισμό του GDD.

Δημοσίευση της θερμοκρασίας

Αφού διαβαστεί η θερμοκρασία, μπορεί να δημοσιευθεί μέσω MQTT σε κάποιον κώδικα "server" που θα διαβάσει τις τιμές και θα τις αποθηκεύσει, έτοιμες για χρήση στον υπολογισμό του GDD.

Εργασία - δημοσίευση της θερμοκρασίας

Προγραμματίστε τη συσκευή ώστε να δημοσιεύει τα δεδομένα θερμοκρασίας.

  1. Ανοίξτε το έργο της εφαρμογής temperature-sensor αν δεν είναι ήδη ανοιχτό.

  2. Επαναλάβετε τα βήματα που κάνατε στο μάθημα 4 για να συνδεθείτε στο MQTT και να στείλετε τηλεμετρία. Θα χρησιμοποιήσετε τον ίδιο δημόσιο broker Mosquitto.

    Τα βήματα για αυτό είναι:

    • Προσθέστε το πακέτο pip για MQTT
    • Προσθέστε τον κώδικα για σύνδεση στον broker MQTT
    • Προσθέστε τον κώδικα για δημοσίευση τηλεμετρίας

    ⚠️ Ανατρέξτε στις οδηγίες για σύνδεση στο MQTT και στις οδηγίες για αποστολή τηλεμετρίας από το μάθημα 4, αν χρειαστεί.

  3. Βεβαιωθείτε ότι το client_name αντικατοπτρίζει το όνομα αυτού του έργου:

    client_name = id + 'temperature_sensor_client'
    
  4. Για την τηλεμετρία, αντί να στείλετε μια τιμή φωτεινότητας, στείλτε την τιμή θερμοκρασίας που διαβάζεται από τον αισθητήρα DHT σε μια ιδιότητα του JSON εγγράφου που ονομάζεται temperature:

    _, temp = sensor.read()
    telemetry = json.dumps({'temperature' : temp})
    
  5. Η τιμή της θερμοκρασίας δεν χρειάζεται να διαβάζεται πολύ συχνά - δεν θα αλλάξει πολύ σε σύντομο χρονικό διάστημα, οπότε ορίστε το time.sleep στα 10 λεπτά:

    time.sleep(10 * 60);
    

    💁 Η συνάρτηση sleep λαμβάνει τον χρόνο σε δευτερόλεπτα, οπότε για να είναι πιο εύκολο να διαβαστεί, η τιμή περνάει ως αποτέλεσμα ενός υπολογισμού. 60 δευτερόλεπτα σε ένα λεπτό, οπότε 10 x (60 δευτερόλεπτα σε ένα λεπτό) δίνει καθυστέρηση 10 λεπτών.

  6. Εκτελέστε τον κώδικα με τον ίδιο τρόπο που εκτελέσατε τον κώδικα από το προηγούμενο μέρος της εργασίας. Αν χρησιμοποιείτε μια εικονική IoT συσκευή, βεβαιωθείτε ότι η εφαρμογή CounterFit είναι ενεργοποιημένη και οι αισθητήρες υγρασίας και θερμοκρασίας έχουν δημιουργηθεί στις σωστές ακίδες.

    pi@raspberrypi:~/temperature-sensor $ python3 app.py
    MQTT connected!
    Sending telemetry  {"temperature": 25}
    Sending telemetry  {"temperature": 25}
    

💁 Μπορείτε να βρείτε αυτόν τον κώδικα στον φάκελο code-publish-temperature/virtual-device ή στον φάκελο code-publish-temperature/pi.

😀 Έχετε δημοσιεύσει με επιτυχία τη θερμοκρασία ως τηλεμετρία από τη συσκευή σας.


Αποποίηση ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.