Εμφάνιση αποτελεσμάτων : 1 έως 8 από 8

Θέμα: Esp32 mqtt mosquitto

Hybrid View

Προηγούμενο μήνυμα Προηγούμενο μήνυμα   Επόμενο Μήνυμα Επόμενο Μήνυμα
  1. #1
    Μέλος
    Όνομα
    Νίκος
    Εγγραφή
    Feb 2014
    Περιοχή
    Μοσχάτο
    Μηνύματα
    612

    Προεπιλογή

    Φίλε μου, όπως είπαμε και παραπάνω, το ζητούμενο απο εσένα είναι δικτυακό. Οπότε σταματα να ψάχνεις οδηγούς για mqtt και internet κτλ κτλ...

    Αυτό που θέλεις εσύ, είναι "κάποιος", οπουδήποτε και να βρίσκετε, να στέλνει δεδομένα σε έναν server ή αν θες καλύτερα, μια υπηρεσία που βρίσκετε στο σπίτι σου. Είτε αυτή είναι mqtt μήνυμα, είτε έιναι https request είτε είναι ssh, αυτό είναι αδιάφορο. Οπότε μην μπερδεύεσε με οδηγούς για mqtt. Ψάξε να καταλάβεις το γενικό πλαίσιο της επικοινωνίας.

    Λάβε υπόψιν σου τα εξής δεδομένα:
    • Η επικοινωνία μεταξύ κόμβων στο internet γίνετε χρησιμοποιώντας την διεύθυνση ΙΡ.
    • Επειδή είναι δύσκολο να θυμόμαστε τις ΙΡ κάθε κόμβου, υπάρχει και το DNS σύστημα το οποίο αναθέτει ένα εύκολο μνημονικό όνομα (πχ www.hlektronika.gr) στην ΙΡ του κόμβου (πχ 5.9.148.215 στην περίπτωση του hlektronika.gr).
    • Στο σπίτι μας (αλλά και στο Internet του κινητού μας) ο πάροχος μας αναθέτει μια ΙΡ. Αυτή δεν είναι σταθερή, αλλά αλλάζει ανα τακτά χρονικά διαστήματα
      • Για τον λόγο αυτό, υπάρχουν διάφορες υπηρεσίας που παρέχουν ένα μνημονικό όνομα και το αντιστοιχούν στην ΙΡ μας, καθώς και αναλαμβάνουν να "παρακολουθούν" την ΙΡ μας και να ενημερώνουν για τις αλλαγές αυτής. Μερικά router παρόχων υποστηρίζουν τέτοιες υπηρεσίες. Αν όχι, υπάρχουν διάφορα προγράμματα που συνεργάζονται με αυτές τις υπηρεσίες.

    • Επειδή συνήθως θέλουμε να συνδέσουμε στο ιντερνετ περισσότερο της μιας συσκευής, έχοντας όμως μόνο μια ΙΡ, το router του σπιτιού μας χρησιμοποποιεί το λεγόμενο ΝΑΤ.
      • Φαντάσου τον router του σιτιού να έχει 2 πλευρές.
        • Απο την μια πλευρά το εσωτερικό δίκτυο, που συνδέονται είτε ασύρματα είτε ενσύρματα το PC, το κινητό, η τηλεόραση κτλ κτλ και το router τους αποδίσει συνήθως IP τύπου 192.168.Χ.Χ.
        • Απο την άλλη μεριά το internet και η ΙΡ που δίνει ο πάροχος.

      • Οταν ζητάς να δεις μια πχ σελίδα, στέλνεις πακέτα δεδομένων με το αίτημα αυτό προς την ΙΡ του σερβερ πχ 5.9.148.215 που είναι το hlektronika.gr. Στα πακέτα δεδομένων περιλαμβάνετε και η ΙΡ του αποστολέα, για να ξέρει ο σεβερ που να απαντήσει.
      • Οπως φεύγουν αυτα τα πακέτα απο τον router σου προς το hlektronika.gr ο router ΑΝΤΙΚΑΘΙΣΤΑ την ΙΡ του αποστολέα απο το 192.168.χ.χ. με την ΙΡ που σου έχει δώσει ο πάροχος. Παράλληλα σημειώνει ότι το PC με ΙΡ 192.168.χ.χ έστειλε στην 5.9.148.215 (hlektronika.gr) αίτημα και περιμένει απάντηση.
      • Οταν ο σερβερ απαντήσει, τα πακετα δεδομένων θα περιέχουν σαν παραλήπτη την ΙΡ που σου έχε ιδώσει ο πάροχος. Ο router ομως ξέρει ότι οι απαντήσεις που έρχονται, αφορούν ένα αίτημα που είχε σταλεί προτείτερα, οπότε και ξέρει να στείλει την απάντηση στο PC εσωτερικά.


    Φαντάσου τώρα ότι έχεις φτιάξει εσύ έναν server στο σπίτι σου, στο PC σου το οποιο έχει ΙΡ 192.168.1.2. Επίσης ας υποθέσουμε ότι αυτός ο server είναι ένας ΜQTT server που ακούει στην πόρτα 1234.
    Ας υποθέσουμε το router σου έχει πάρει μια ΙΡ απο τον πάροχο τύπου 64.10.11.12.

    Προφανώς, εγώ απο το Μοσχάτο, δεν μπορώ να συνδεθώ στην 192.168.1.2. Αυτη η ΙΡ είναι εσωτερική στο δίκτυό σου (απο την μεριά του router που βρίσκετε το εσωτερικό δίκτυο). Ας υποθέσουμε όμως οτι γνωρίζω την πραγματική σου IP, έστω απο μια υπηρεσία DDNS. Στέλνω λοιπόν δεδομένα στο thanasis1.dyndns.org. Ο DNS βρήκε την πραγματική σου IP 64.10.11.12 και έστειλε τα πακέτα μου εκεί.

    Στον router σου φτάνουν πακέτα απο εμένα που απευθύνονται στην ΙΡ που έχει ο ίδιος, στην πόρτα 1234. Μπερδεύετε.. μα εγώ δεν έχω τίποτα να τρέχει στην 1234? τι να τα κάνω? κάντα DROP. και τα κάνει drop...

    Για να λειτουργήσει αυτό θα πρέπει να πεις στον router, "ρε σαράβαλο, αν πάρεις δεδομένα απο οπουδήποτε τα οποία να απευθύνονται στην πόρτα 1234 τότε στέλνε τα στην εσωτερική ΙΡ 192.168.1.2 στην πόρτα 1234". Με αυτή τη ρύθμιση, τα δεδομένα που έστειλα, ο router θα ξέρει να τα στείλει στον server σου.

    Επίσης το ίδιο θα πρέπει να κάνεις όταν θες να δεις το openhub απο οπουδήποτε αλλού.


    Ας πάμε όμως και στο project σου.
    Χρειάζεσε οπωσδήποτε το Openhub? χρειάζεσε οποσδήποτε το MQQT? Τι ακριβώς θες να κάνεις?

    Γιατί αν δεν χρειάζετε απαραίτητα το MQTT, και εφόσον έχεις ESP. τότε θα μπορείς να βάλεις το Home assistant και να χρησιμοποιήσεις στο ESPHome. Θα καταργήσεις ένα ενδιάμεσο (το MQTT) οπότε απλοποιείς τα πράγματα. Επίσης αλλαγές στον κώδικα που τρέχει στο ESP μπορείς να κάνεις over-the-air χωρίς να συνδέεις το ESP με το PC για recompile του κώδικα. Αλλη μια ευκολία είναι το DuckDNS, το οποίο είναι ένα Plugin που κάνει την ρύθμιση του dynamic DNS παιχνιδάκι. Και χρησιμοποιεί και cetificates ώστε η επικοινωνία να είναι το σδυνατόν ασφαλή.

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

    2 Not allowed! Not allowed!
    Mastroxalastis / Μαστροχαλαστής
    https://www.youtube.com/channel/UCOWjSR-OOc-ZBCT61EX_lJg

  2. 4 μέλη ευχαρίστησαν τον nkarama για αυτό το χρήσιμο μήνυμα:

    alefgr (09-05-24), awmn931 (09-05-24), mikemtb (09-05-24), Panoss (09-05-24)

Παρόμοια Θέματα

  1. ESP32 Weather Station Portable - Φορητό τερματικό καιρού με ESP32
    By ManousosM in forum Παρουσίαση Πρόχειρων Κατασκευών
    Απαντήσεις: 8
    Τελευταίο Μήνυμα: 21-01-24, 22:52
  2. ερωτηση για ESP32
    By YiannosR in forum Μικροελεγκτές
    Απαντήσεις: 14
    Τελευταίο Μήνυμα: 14-11-21, 12:46
  3. Πρωτόκολλο mqtt
    By lefteris_gr in forum Ηλεκτρονικά
    Απαντήσεις: 1
    Τελευταίο Μήνυμα: 03-09-19, 17:02

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας