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...

4.8 KiB

Ελέγξτε το νυχτερινό φως σας μέσω του Διαδικτύου - Εικονικό IoT Υλικό και Raspberry Pi

Σε αυτό το μέρος του μαθήματος, θα στείλετε τηλεμετρία με επίπεδα φωτός από το Raspberry Pi ή την εικονική IoT συσκευή σας σε έναν MQTT broker.

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

Το επόμενο βήμα είναι να δημιουργήσετε ένα έγγραφο JSON με τηλεμετρία και να το στείλετε στον MQTT broker.

Εργασία

Δημοσιεύστε τηλεμετρία στον MQTT broker.

  1. Ανοίξτε το έργο του νυχτερινού φωτός στο VS Code.

  2. Εάν χρησιμοποιείτε μια εικονική IoT συσκευή, βεβαιωθείτε ότι το τερματικό εκτελεί το εικονικό περιβάλλον. Εάν χρησιμοποιείτε Raspberry Pi, δεν θα χρησιμοποιείτε εικονικό περιβάλλον.

  3. Προσθέστε την ακόλουθη εισαγωγή στην κορυφή του αρχείου app.py:

    import json
    

    Η βιβλιοθήκη json χρησιμοποιείται για την κωδικοποίηση της τηλεμετρίας ως έγγραφο JSON.

  4. Προσθέστε το ακόλουθο μετά τη δήλωση του client_name:

    client_telemetry_topic = id + '/telemetry'
    

    Το client_telemetry_topic είναι το MQTT θέμα στο οποίο η συσκευή θα δημοσιεύει τα επίπεδα φωτός.

  5. Αντικαταστήστε το περιεχόμενο του βρόχου while True: στο τέλος του αρχείου με το ακόλουθο:

    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. Στη συνέχεια, κάνει παύση για να μειώσει τη συχνότητα αποστολής μηνυμάτων.

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

    (.venv) ➜  nightlight python app.py 
    MQTT connected!
    Sending telemetry  {"light": 0}
    Sending telemetry  {"light": 0}
    

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

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


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