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/wio-terminal-temp-publish.md

6.9 KiB

Δημοσίευση θερμοκρασίας - Wio Terminal

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

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

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

Για να απλοποιηθούν τα πράγματα σε αυτό το μάθημα, η ώρα δεν θα αποστέλλεται μαζί με τα δεδομένα του αισθητήρα. Αντίθετα, μπορεί να προστεθεί από τον κώδικα του server αργότερα, όταν λάβει τα μηνύματα.

Εργασία

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

  1. Ανοίξτε το έργο temperature-sensor του Wio Terminal.

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

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

    • Προσθέστε τις βιβλιοθήκες Seeed WiFi και MQTT στο αρχείο .ini
    • Προσθέστε το αρχείο ρυθμίσεων και τον κώδικα για σύνδεση στο WiFi
    • Προσθέστε τον κώδικα για σύνδεση στον broker MQTT
    • Προσθέστε τον κώδικα για δημοσίευση τηλεμετρίας

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

  3. Βεβαιωθείτε ότι το CLIENT_NAME στο αρχείο κεφαλίδας config.h αντικατοπτρίζει αυτό το έργο:

    const string CLIENT_NAME = ID + "temperature_sensor_client";
    
  4. Για την τηλεμετρία, αντί να στείλετε μια τιμή φωτός, στείλτε την τιμή θερμοκρασίας που διαβάζεται από τον αισθητήρα DHT σε μια ιδιότητα του εγγράφου JSON που ονομάζεται temperature, αλλάζοντας τη συνάρτηση loop στο main.cpp:

    float temp_hum_val[2] = {0};
    dht.readTempAndHumidity(temp_hum_val);
    
    DynamicJsonDocument doc(1024);
    doc["temperature"] = temp_hum_val[1];
    
  5. Η τιμή της θερμοκρασίας δεν χρειάζεται να διαβάζεται πολύ συχνά - δεν θα αλλάζει πολύ σε σύντομο χρονικό διάστημα, οπότε ορίστε την delay στη συνάρτηση loop στα 10 λεπτά:

    delay(10 * 60 * 1000);
    

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

  6. Μεταφορτώστε αυτό στο Wio Terminal σας και χρησιμοποιήστε τον σειριακό παρακολουθητή για να δείτε τη θερμοκρασία που αποστέλλεται στον broker MQTT.

    --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at http://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.usbmodem1201  9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    Connecting to WiFi..
    Connected!
    Attempting MQTT connection...connected
    Sending telemetry {"temperature":25}
    Sending telemetry {"temperature":25}
    

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

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


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