Λυπούμαστε, το πρόγραμμα περιήγησής σας δεν υποστηρίζει JavaScript!
Σύνδεση

Παρακολούθηση Ενέργειας με MQTT μέσω Docker: Προηγμένη Διαμόρφωση IAMMETER-Docker

Παρακολούθηση Ενέργειας με MQTT μέσω Docker και Προηγμένη Διαμόρφωση

Αφού ο βασικός διακομιστής IAMMETER-Docker τεθεί σε λειτουργία, μπορεί να επεκταθεί σε έναν τοπικό διακομιστή παρακολούθησης ενέργειας μέσω MQTT, να χρησιμοποιήσει MySQL για μεγαλύτερο σύνολο δεδομένων, να προωθεί ηλιακά δεδομένα στο PVOutput και να δέχεται συμβατές μετρήσεις από τρίτους.

Αυτός ο οδηγός καλύπτει προηγμένες διαδρομές δεδομένων και επιλογές αποθήκευσης. Για την εγκατάσταση, τους μόνιμους τόμους, την πρώτη σύνδεση, τη ρύθμιση μετρητών, τα αντίγραφα ασφαλείας και τις αναβαθμίσεις κοντέινερ, ξεκινήστε με το Αυτο-φιλοξενούμενη Παρακολούθηση Ενέργειας με Docker.

IAMMETER meter / compatible device / custom application
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     MQTT subscribers     PVOutput

Χρησιμοποιήστε μόνο τις διεπαφές που απαιτεί το έργο. Μια απλή τοπική εγκατάσταση παρακολούθησης δεν χρειάζεται MySQL, εξωτερικούς πελάτες MQTT ή προώθηση δεδομένων.

1. Πριν από την Ενεργοποίηση των Προηγμένων Λειτουργιών

Βεβαιωθείτε ότι η βασική εγκατάσταση είναι σταθερή:

  • το κοντέινερ IAMMETER-Docker εκτελείται·
  • το /app/data αντιστοιχίζεται σε μόνιμο αποθηκευτικό χώρο·
  • ο κεντρικός υπολογιστής Docker διαθέτει σταθερή διεύθυνση LAN·
  • η ζώνη ώρας του ιστότοπου είναι σωστή·
  • τουλάχιστον ένας μετρητής ή πηγή δοκιμαστικών δεδομένων λειτουργεί·
  • οι προεπιλεγμένοι κωδικοί πρόσβασης έχουν αλλαχθεί·
  • υπάρχει ενημερωμένο αντίγραφο ασφαλείας.

Η προεπιλεγμένη ανάπτυξη εκθέτει:

  • τη θύρα 5050 για την εφαρμογή ιστού και το API·
  • τη θύρα 1883 για MQTT.

Μην εκθέτετε καμία από τις δύο θύρες απευθείας στο Διαδίκτυο. Χρησιμοποιήστε τείχος προστασίας, VPN ή άλλο επίπεδο ελεγχόμενης πρόσβασης όταν απαιτείται απομακρυσμένη πρόσβαση.

2. Επιλέξτε SQLite ή MySQL

Το IAMMETER-Docker χρησιμοποιεί SQLite για μια απλή προεπιλεγμένη ανάπτυξη και υποστηρίζει MySQL για εγκαταστάσεις με μεγαλύτερο σύνολο δεδομένων.

Βάση δεδομένων Κατάλληλη για Πλεονεκτήματα Σημεία προσοχής
SQLite Οικιακές, δοκιμαστικές και μικρότερες τοπικές αναπτύξεις Δεν απαιτείται ξεχωριστή υπηρεσία βάσης δεδομένων· εύκολη αρχική ρύθμιση Η βάση δεδομένων παραμένει συνδεδεμένη με τον τόμο της εφαρμογής
MySQL Μεγαλύτερες ή μακροχρόνιες εγκαταστάσεις Ξεχωριστή υπηρεσία βάσης δεδομένων και καλύτερη καταλληλότητα για σύνολα δεδομένων που αυξάνονται Απαιτεί ανάπτυξη βάσης δεδομένων, διαπιστευτήρια, αντίγραφα ασφαλείας και συντήρηση

Μην μεταβείτε σε MySQL μόνο επειδή είναι διαθέσιμη. Χρησιμοποιήστε την όταν ο αναμενόμενος όγκος δεδομένων, η περίοδος διατήρησης ή οι απαιτήσεις διαχείρισης της βάσης δεδομένων δικαιολογούν μια πρόσθετη υπηρεσία.

2.1 Προετοιμάστε πρώτα τη MySQL

Πριν επιλέξετε MySQL στο IAMMETER-Docker:

  1. αναπτύξτε έναν προσβάσιμο διακομιστή MySQL·
  2. δημιουργήστε μια αποκλειστική βάση δεδομένων και έναν χρήστη·
  3. περιορίστε τον χρήστη στη συγκεκριμένη βάση δεδομένων·
  4. επιβεβαιώστε την πρόσβαση δικτύου από το κοντέινερ IAMMETER-Docker·
  5. ρυθμίστε τακτικά αντίγραφα ασφαλείας της βάσης δεδομένων·
  6. καταγράψτε με ασφάλεια τον εξυπηρετητή, τη θύρα, το όνομα και τα διαπιστευτήρια της βάσης δεδομένων.

Στη συνέχεια, εισαγάγετε τις ρυθμίσεις σύνδεσης MySQL στο IAMMETER-Docker και επιβεβαιώστε ότι οι νέες μετρήσεις αποθηκεύονται.

Διαμόρφωση της MySQL στο IAMMETER-Docker

Δημιουργήστε αντίγραφο ασφαλείας των υπαρχόντων δεδομένων του IAMMETER-Docker πριν αλλάξετε τη λειτουργία της βάσης δεδομένων. Επαληθεύστε τα ιστορικά δεδομένα και τις νέες μεταφορτώσεις μετά την αλλαγή.

3. Χρήση του IAMMETER-Docker ως Διακομιστή Παρακολούθησης Ενέργειας μέσω MQTT

Το IAMMETER-Docker περιλαμβάνει υποστήριξη MQTT για δύο διαφορετικές κατευθύνσεις:

  1. Δημοσίευση στο IAMMETER-Docker: ένας μετρητής ή συμβατή εφαρμογή στέλνει μετρήσεις στον διακομιστή Docker.
  2. Συνδρομή από το IAMMETER-Docker: το Node-RED, μια προσαρμοσμένη υπηρεσία ή άλλος πελάτης MQTT λαμβάνει μετρήσεις σε πραγματικό χρόνο από τον διακομιστή.

Αυτές οι διαδρομές χρησιμοποιούν το ίδιο μοτίβο θέματος, αλλά διαφορετικούς τρόπους ταυτοποίησης.

3.1 Θέμα MQTT

Το τεκμηριωμένο θέμα πραγματικού χρόνου είναι:

device/<SN>/realtime

Αντικαταστήστε το <SN> με τον σειριακό αριθμό που έχει καταχωριστεί στο IAMMETER-Docker. Το SN στο θέμα MQTT και στη διαμόρφωση του πελάτη πρέπει να ταιριάζει με τον μετρητή που δημιουργήθηκε στην τοπική πλατφόρμα.

3.2 Δημοσίευση δεδομένων ενέργειας στο IAMMETER-Docker

Για μια συσκευή ή εφαρμογή που δημοσιεύει:

Ρύθμιση Τιμή
Διαμεσολαβητής Διεύθυνση IP ή όνομα κεντρικού υπολογιστή του διακομιστή IAMMETER-Docker
Θύρα 1883 από προεπιλογή
Ταυτοποίηση Αναγνωριστικό πελάτη
Αναγνωριστικό πελάτη SN μετρητή καταχωρισμένο στο IAMMETER-Docker
Θέμα device/<SN>/realtime
Φορτίο Μορφή δεδομένων μεταφόρτωσης υποστηριζόμενη από το IAMMETER

Δημοσίευση δεδομένων ενέργειας στο IAMMETER-Docker μέσω MQTT

Πριν χρησιμοποιήσετε δεδομένα παραγωγής:

  1. καταχωρίστε το SN στο IAMMETER-Docker·
  2. δημοσιεύστε ένα δοκιμαστικό φορτίο·
  3. επαληθεύστε τα πεδία τάσης, έντασης, ισχύος και ενέργειας·
  4. επιβεβαιώστε τον αριθμό φάσεων ή καναλιών·
  5. επαληθεύστε τις μονάδες και την κατεύθυνση της ενεργού ισχύος·
  6. μόνο τότε ενεργοποιήστε τη συνεχή δημοσίευση.

3.3 Συνδρομή σε δεδομένα ενέργειας πραγματικού χρόνου

Για έναν συνδρομητή MQTT:

Ρύθμιση Τιμή
Διαμεσολαβητής Διεύθυνση διακομιστή IAMMETER-Docker
Θύρα 1883 από προεπιλογή
Ταυτοποίηση Όνομα χρήστη και κωδικός πρόσβασης IAMMETER-Docker
Θέμα device/<SN>/realtime

Συνδρομή σε δεδομένα πραγματικού χρόνου του IAMMETER-Docker

Τυπικοί συνδρομητές περιλαμβάνουν:

  • ροές αυτοματισμού Node-RED·
  • μια τοπική υπηρεσία επεξεργασίας δεδομένων·
  • έναν πελάτη εντοπισμού σφαλμάτων MQTT·
  • μια πύλη που προωθεί επιλεγμένες μετρήσεις·
  • ένα προσαρμοσμένο ταμπλό ή μια υπηρεσία ειδοποιήσεων.

Εάν το Node-RED είναι η κύρια εφαρμογή και δεν απαιτείται ιστορική αποθήκευση στο IAMMETER-Docker, ο μετρητής μπορεί επίσης να συνδεθεί απευθείας στο Node-RED μέσω MQTT, Modbus TCP ή του τοπικού του API. Συγκρίνετε τις επιλογές στον οδηγό μετρητή ενέργειας Node-RED.

4. Δοκιμή και Επίλυση Προβλημάτων MQTT

Ξεκινήστε με έναν μόνο μετρητή και ακριβές θέμα, αντί για ευρεία συνδρομή με χαρακτήρες μπαλαντέρ.

Ελέγξτε τα ακόλουθα όταν δεν εμφανίζονται δεδομένα:

  • η θύρα 1883 αντιστοιχίζεται από το κοντέινερ·
  • ο πελάτης μπορεί να φτάσει τον κεντρικό υπολογιστή Docker μέσω του LAN·
  • το SN υπάρχει στο IAMMETER-Docker·
  • το αναγνωριστικό πελάτη MQTT και το θέμα χρησιμοποιούν το ίδιο SN·
  • το θέμα είναι device/<SN>/realtime με τη σωστή χρήση κεφαλαίων·
  • οι τρόποι ταυτοποίησης δημοσίευσης και συνδρομής δεν συγχέονται μεταξύ τους·
  • το φορτίο JSON ταιριάζει με την υποστηριζόμενη σειρά πεδίων και τις μονάδες·
  • κανένας άλλος πελάτης MQTT δεν αποσυνδέει τη συνεδρία επαναχρησιμοποιώντας το ίδιο αναγνωριστικό πελάτη.

Για αξιόπιστες ροές:

  • χρησιμοποιήστε ένα μοναδικό αναγνωριστικό πελάτη για κάθε συνδρομητή·
  • διαχειριστείτε τις επανασυνδέσεις και τα διπλότυπα μηνύματα·
  • επικυρώστε το φορτίο πριν το εγγράψετε σε βάση δεδομένων·
  • καταγράψτε το SN της πηγής με κάθε αποθηκευμένη μέτρηση·
  • χρησιμοποιήστε απομόνωση δικτύου αντί να εκθέτετε δημόσια τη μη κρυπτογραφημένη θύρα MQTT.

5. Προώθηση Ηλιακών Δεδομένων στο PVOutput

Το PVOutput είναι μια υπηρεσία τρίτου μέρους για κοινή χρήση και σύγκριση δεδομένων παραγωγής ηλιακής ενέργειας και κατανάλωσης ενέργειας. Το IAMMETER-Docker μπορεί να προωθεί δεδομένα του χώρου στο PVOutput.

Χρησιμοποιήστε αυτήν την επιλογή όταν το IAMMETER-Docker παραμένει ο τοπικός διακομιστής συλλογής, αλλά απαιτείται PVOutput για δημόσια ή εξωτερική αναφορά της ηλιακής παραγωγής.

Πριν ενεργοποιήσετε την προώθηση:

  1. δημιουργήστε ή επιλέξτε το σωστό σύστημα PVOutput·
  2. αποκτήστε τα απαιτούμενα διαπιστευτήρια PVOutput·
  3. επιβεβαιώστε ότι τα κανάλια Grid και Inverter έχουν αντιστοιχιστεί σωστά στο IAMMETER-Docker·
  4. ελέγξτε τη ζώνη ώρας του χώρου·
  5. ενεργοποιήστε την προώθηση μόνο για τον συγκεκριμένο χώρο·
  6. συγκρίνετε ένα ημερήσιο σύνολο και στα δύο συστήματα μετά την πρώτη πλήρη ημέρα.

Προώθηση ηλιακών δεδομένων του IAMMETER-Docker στο PVOutput

Η προώθηση στο PVOutput απαιτεί πρόσβαση στο Διαδίκτυο από τον κεντρικό υπολογιστή Docker. Είναι ξεχωριστή από την τοπική παρακολούθηση: μια προσωρινή αποτυχία σύνδεσης με το PVOutput δεν θα πρέπει να εμποδίσει τον μετρητή να συνεχίσει να μεταφορτώνει στον τοπικό διακομιστή.

6. Λήψη Δεδομένων από μια Συμβατή Συσκευή Tasmota

Το IAMMETER-Docker περιλαμβάνει μια τεκμηριωμένη ροή εργασίας MQTT για μια συσκευή με δυνατότητα μέτρησης που εκτελεί Tasmota. Το αρχικό παράδειγμα χρησιμοποιούσε ένα Sonoff POW R2.

Αυτή είναι μια διαδρομή συμβατότητας για υποστηριζόμενα φορτία ενέργειας, όχι ισχυρισμός ότι κάθε συσκευή ή πρότυπο Tasmota παράγει την ίδια δομή μετρήσεων. Δοκιμάστε την πραγματική συσκευή και το υλικολογισμικό πριν από την ανάπτυξη.

Χρησιμοποιήστε την ακόλουθη δομή MQTT Tasmota:

Ρύθμιση Τιμή
Κεντρικός υπολογιστής Διεύθυνση IP του IAMMETER-Docker
Θύρα Θύρα MQTT του IAMMETER-Docker, συνήθως 1883
Πελάτης SN καταχωρισμένο στο IAMMETER-Docker
Χρήστης Αφήστε κενό για αυτήν την τεκμηριωμένη ροή δημοσίευσης
Κωδικός πρόσβασης Αφήστε κενό για αυτήν την τεκμηριωμένη ροή δημοσίευσης
Θέμα SN καταχωρισμένο στο IAMMETER-Docker
Πλήρες θέμα device/%topic%/%prefix%/

Διαμόρφωση ενός συμβατού μετρητή Tasmota για το IAMMETER-Docker

Μετά τη διαμόρφωση, επαληθεύστε κάθε αναφερόμενη τιμή στο IAMMETER-Docker, συμπεριλαμβανομένων της τάσης, της έντασης, της ενεργού ισχύος, της ενέργειας και του συντελεστή ισχύος, όταν υποστηρίζονται από τη συσκευή.

Δεδομένα ηλεκτρικής ενέργειας Tasmota στο IAMMETER-Docker

7. Χρήση του REST API του IAMMETER-Docker

Το IAMMETER-Docker εκθέτει διαδραστική τεκμηρίωση API στον τοπικό διακομιστή:

http://<docker-host-ip>:5050/docs

Το REST API μπορεί να χρησιμοποιηθεί για:

  • μεταφόρτωση υποστηριζόμενων μετρήσεων από μια προσαρμοσμένη πύλη·
  • ανάκτηση δεδομένων για ένα ιδιωτικό ταμπλό·
  • σύνδεση μιας τοπικής εφαρμογής με τον αυτο-φιλοξενούμενο διακομιστή·
  • δοκιμή φορτίων πριν από την αυτοματοποίηση μιας ενοποίησης.

Διατηρήστε την πρόσβαση στο API σε ένα αξιόπιστο δίκτυο. Εάν ένα εξωτερικό σύστημα πρέπει να συνδεθεί απομακρυσμένα, τοποθετήστε την υπηρεσία πίσω από ένα κατάλληλο επίπεδο ασφαλούς πρόσβασης, αντί να εκθέτετε τη θύρα της εφαρμογής χωρίς προστασία.

Για προγραμματιστές που δημιουργούν έναν πλήρη δέκτη ή προσαρμοσμένη πλατφόρμα αντί να χρησιμοποιούν το IAMMETER-Docker, δείτε το Αναπτύξτε το Δικό σας Σύστημα Παρακολούθησης Ενέργειας.

8. Συνδυασμός Τοπικής Αποθήκευσης και Υπηρεσιών Cloud

Η αυτο-φιλοξενία δεν σημαίνει ότι κάθε εξωτερική υπηρεσία πρέπει να είναι απενεργοποιημένη. Το IAMMETER-Docker μπορεί να είναι το τοπικό σύστημα καταγραφής, ενώ επιλεγμένα δεδομένα προωθούνται αλλού.

Αρχιτεκτονική Τοπικά δεδομένα Εξάρτηση από το Διαδίκτυο Κατάλληλη για
Μόνο τοπικά IAMMETER-Docker Δεν απαιτείται μετά την ανάπτυξη Απόρρητο, τοποθεσίες εκτός σύνδεσης και ταμπλό LAN
Τοπικά + IAMMETER-Cloud IAMMETER-Docker και IAMMETER-Cloud Απαιτείται για την προώθηση Τοπικό αντίγραφο συν αναφορές IAMMETER-Cloud και απομακρυσμένη πρόσβαση
Τοπικά + PVOutput IAMMETER-Docker και PVOutput Απαιτείται για την προώθηση Ηλιακοί χρήστες που χρησιμοποιούν το PVOutput
Τοπικά + συνδρομητής MQTT IAMMETER-Docker συν αποθήκευση που ορίζει ο συνδρομητής Δεν απαιτείται με τοπικό συνδρομητή Node-RED, αυτοματισμός και προσαρμοσμένη επεξεργασία

Ενεργοποιήστε μόνο τους προορισμούς που εξυπηρετούν έναν σαφή σκοπό. Περισσότεροι προορισμοί σημαίνουν περισσότερα διαπιστευτήρια, εξαρτήσεις δικτύου και διαδρομές αντιμετώπισης προβλημάτων.

9. Λίστα Ελέγχου Προηγμένης Ανάπτυξης

  • Η βασική συλλογή IAMMETER-Docker είναι ήδη σταθερή.
  • Τα μόνιμα δεδομένα και τα αντίγραφα ασφαλείας της βάσης δεδομένων έχουν επαληθευτεί.
  • Η MySQL χρησιμοποιείται μόνο όταν το λειτουργικό της κόστος δικαιολογείται.
  • Η θύρα MQTT 1883 είναι προσβάσιμη μόνο από αξιόπιστα δίκτυα.
  • Κάθε πελάτης MQTT χρησιμοποιεί ένα κατάλληλο και μοναδικό αναγνωριστικό πελάτη.
  • Το SN του μετρητή, το θέμα και η καταχωρισμένη συσκευή ταιριάζουν.
  • Οι μονάδες του φορτίου, ο αριθμός φάσεων και η κατεύθυνση ισχύος έχουν δοκιμαστεί.
  • Οι αποτυχίες προώθησης PVOutput ή cloud δεν διακόπτουν την τοπική συλλογή.
  • Η συμβατότητα Tasmota έχει επιβεβαιωθεί με την πραγματική συσκευή και το υλικολογισμικό.
  • Οι αλλαγές δοκιμάζονται σε έναν μετρητή πριν εφαρμοστούν σε μεγαλύτερη ανάπτυξη.

10. Ιστορικό Εκδόσεων και Σημειώσεις Παλαιότερων Εκδόσεων

Οι παραπάνω ενότητες περιγράφουν τις τρέχουσες τεκμηριωμένες ροές εργασίας του IAMMETER-Docker. Η αρχική σελίδα γράφτηκε γύρω από τις εκδόσεις V1.8 και V1.9· το ακόλουθο ιστορικό διατηρείται για χρήστες που συντηρούν παλαιότερες εγκαταστάσεις.

V2.4

V2.3

  • Διορθώθηκε ένα ζήτημα μεταφόρτωσης στο PVOutput.

V2.2

  • Προστέθηκαν αρχεία καταγραφής για αποτυχίες προώθησης στο IAMMETER-Cloud.

V2.1

V1.9

  • Προστέθηκε υποστήριξη MySQL.
  • Προστέθηκε μια επιλογή προσαρμοσμένης εικόνας για κάθε Χώρο.

IAMMETER-Docker V1.9

V1.8

  • Προστέθηκε μεταφόρτωση MQTT στο IAMMETER-Docker.
  • Προστέθηκε συνδρομή MQTT σε δεδομένα πραγματικού χρόνου.
  • Προστέθηκε άμεση προώθηση προς το PVOutput.
  • Προστέθηκε η τεκμηριωμένη ροή εργασίας μέτρησης Tasmota/Sonoff.

11. Σχετικοί Πόροι

Τελευταία ενημέρωση: 17 Ιουλίου 2026.

Πάνω