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

Θέμα: Esp32 mqtt mosquitto

Hybrid View

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

    Προεπιλογή

    ωραία, ισχύει αυτό που σου είχα γράψει παραπάνω λοιπον.

    Εχεις το openhub, τον mqtt broker και το esp σε ένα δίκτυο, πχ του σπιτιού σου, συνδεμένα ασύρματα ή ενσύρματα με το router/access point.
    To κάθε ένα απο αυτά τα υποσυστήματα χρησιμοποιεί μια ΙΡ διεύθυνση η οποία ανήκει στο συγκεκριμένο δίκτυο. Στην δική σου βέβαια περίπτωση το openhub χρησιμοποιεί την ίδια με το mosquito αλλά για να κάνουμε τα πράγματα απλούστερα ας πούμε ότι ήταν ξεχωριστό PC που έτρεχε το mosquito. Ας βάλουμε και το κινητό στο παιχνίδι το οποίο το συνδέεις και αυτό στο wifi.

    Φαντάσου τα λοιπον, όλα αυτά τα 4 πράγματα σαν να είναι ενωμένα με καλώδιο σε ένα κεντρικό switch/hub. Οπως καταλαβαίνεις, μπορούν να επικοινωνούν μεταξύ τους.

    Πάμε τώρα και κάνουμε το κινητό hotspot. Με αυτ΄οτον τρόπο έχουμε φτιάξει ένα νέο κεντριικό switch/hub, ένα νέο δίκτου. Συνδέουμε στο hotspot του κινητού και το esp. Δηλαδή αν πάμε στο φανταστικό φυσικό επίπεδο, πάμε και αποσυνδέουμε το καλώδιο του ESP απο το switch/hub που είχαμε πριν και το συνδέουμε στο νέο switch.

    Τι έχουμε? ένα άλλο εντελώς δίκτυο.

    Σύνολο δύο ΑΝΕΞΑΡΤΗΤΑ δίκτυα μεταξύ τους. Ενα δίκτυο που αποτελείτε απο το κινητό και το ESP και ένα άλλο δίκτυο που αποτελείτε απο το openhub και το mosquito.
    Είναι ενωμένα μεταξύ τους? Οχι φυσικά... άρα πως θα μιλήσει το esp που βρίσκετε στο ένα δίκτυο με το mosquito που βρίσκετε σε άλλο δίκτυο?

    Βέβαια αυτά τα δύο δίκτυα, βγάινουν στο internet, το router/switch μέσω της ADSL γραμμής και το hotspot μέσω των δεδομένων της κινητής τηλεφωνίας. Αρα, τελικά είναι δυνατόν να μιλησουν μεταξύ τους.

    - Θα πρέπει να γνωρίζεις την ΙΡ διεύθυνση του ADSL (αυτή που δίνει ο πάροχος στο ADSL router σου). Αν πας στο https://www.whatismyip.com/ θα σου δίξει πάνω πάνω την ΙΡ που σου έχει αναθέσει ΑΥΤΗ ΤΗ ΣΤΙΓΜΗ.
    - Θα πρέπει να παραμετροποιήσεις τον router σου, ώστε να ξέρει ότι όταν λαμβάνει μηνύματα για την πόρτα πχ 19283 να τα προωθεί στην εσωτερική ΙΡ που τρέχει το Mosquito.
    - και τέλος, επειδή οι ΙΡ που παρέχουν οι πάροχοι είναι δυναμικές, θα πρέπει να φροντίσεις όταν αυτή αλλάζει, να την αλλάζεις και εσύ. Αυτό που συνήθως κάνουμε είναι να χρησιμοποιούμε δυναμικούς DNS. Το DNS φαντάζομαι το ξέρεις, είναι η υπηρεσία που μεταφράζει το www.google.com σε μια ΙΡ διεύθυνση ώστε να μπορείς να επικοινωνείς. Το DDNS είναι μια αντίστοιχη υπηρεσία που φτιάχνεις ένα όνομα δικό σου, πχ manousos.ddns.org και αυτή φροντίζει (με την βοήθεια κάποιου εσωτερικού προγράμαμτος) να κρατάει ενημερωμένη την ΙΡ που σου έχει ανεθέσει ο πάροχος.
    - χρησιμοποιώντας DNS θα πρέπει και ο κώδικας που τρέχει στο esp, να υποστηρίζει DNS.

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

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

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

    awmn931 (02-05-24), Gaou (03-05-24), mikemtb (02-05-24), thanasis 1 (02-05-24)

  3. #2
    Μέλος Το avatar του χρήστη thanasis 1
    Όνομα
    Θανάσης
    Εγγραφή
    Jul 2010
    Περιοχή
    ΑΘΗΝΑ
    Μηνύματα
    1.387

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από nkarama Εμφάνιση μηνυμάτων
    ωραία, ισχύει αυτό που σου είχα γράψει παραπάνω λοιπον.

    Εχεις το openhub, τον mqtt broker και το esp σε ένα δίκτυο, πχ του σπιτιού σου, συνδεμένα ασύρματα ή ενσύρματα με το router/access point.
    To κάθε ένα απο αυτά τα υποσυστήματα χρησιμοποιεί μια ΙΡ διεύθυνση η οποία ανήκει στο συγκεκριμένο δίκτυο. Στην δική σου βέβαια περίπτωση το openhub χρησιμοποιεί την ίδια με το mosquito αλλά για να κάνουμε τα πράγματα απλούστερα ας πούμε ότι ήταν ξεχωριστό PC που έτρεχε το mosquito. Ας βάλουμε και το κινητό στο παιχνίδι το οποίο το συνδέεις και αυτό στο wifi.

    Φαντάσου τα λοιπον, όλα αυτά τα 4 πράγματα σαν να είναι ενωμένα με καλώδιο σε ένα κεντρικό switch/hub. Οπως καταλαβαίνεις, μπορούν να επικοινωνούν μεταξύ τους.

    Πάμε τώρα και κάνουμε το κινητό hotspot. Με αυτ΄οτον τρόπο έχουμε φτιάξει ένα νέο κεντριικό switch/hub, ένα νέο δίκτου. Συνδέουμε στο hotspot του κινητού και το esp. Δηλαδή αν πάμε στο φανταστικό φυσικό επίπεδο, πάμε και αποσυνδέουμε το καλώδιο του ESP απο το switch/hub που είχαμε πριν και το συνδέουμε στο νέο switch.

    Τι έχουμε? ένα άλλο εντελώς δίκτυο.

    Σύνολο δύο ΑΝΕΞΑΡΤΗΤΑ δίκτυα μεταξύ τους. Ενα δίκτυο που αποτελείτε απο το κινητό και το ESP και ένα άλλο δίκτυο που αποτελείτε απο το openhub και το mosquito.
    Είναι ενωμένα μεταξύ τους? Οχι φυσικά... άρα πως θα μιλήσει το esp που βρίσκετε στο ένα δίκτυο με το mosquito που βρίσκετε σε άλλο δίκτυο?

    Βέβαια αυτά τα δύο δίκτυα, βγάινουν στο internet, το router/switch μέσω της ADSL γραμμής και το hotspot μέσω των δεδομένων της κινητής τηλεφωνίας. Αρα, τελικά είναι δυνατόν να μιλησουν μεταξύ τους.

    - Θα πρέπει να γνωρίζεις την ΙΡ διεύθυνση του ADSL (αυτή που δίνει ο πάροχος στο ADSL router σου). Αν πας στο https://www.whatismyip.com/ θα σου δίξει πάνω πάνω την ΙΡ που σου έχει αναθέσει ΑΥΤΗ ΤΗ ΣΤΙΓΜΗ.
    - Θα πρέπει να παραμετροποιήσεις τον router σου, ώστε να ξέρει ότι όταν λαμβάνει μηνύματα για την πόρτα πχ 19283 να τα προωθεί στην εσωτερική ΙΡ που τρέχει το Mosquito.
    - και τέλος, επειδή οι ΙΡ που παρέχουν οι πάροχοι είναι δυναμικές, θα πρέπει να φροντίσεις όταν αυτή αλλάζει, να την αλλάζεις και εσύ. Αυτό που συνήθως κάνουμε είναι να χρησιμοποιούμε δυναμικούς DNS. Το DNS φαντάζομαι το ξέρεις, είναι η υπηρεσία που μεταφράζει το www.google.com σε μια ΙΡ διεύθυνση ώστε να μπορείς να επικοινωνείς. Το DDNS είναι μια αντίστοιχη υπηρεσία που φτιάχνεις ένα όνομα δικό σου, πχ manousos.ddns.org και αυτή φροντίζει (με την βοήθεια κάποιου εσωτερικού προγράμαμτος) να κρατάει ενημερωμένη την ΙΡ που σου έχει ανεθέσει ο πάροχος.
    - χρησιμοποιώντας DNS θα πρέπει και ο κώδικας που τρέχει στο esp, να υποστηρίζει DNS.

    Ολα αυτά όμως είναι γνώση δικτύων, δεν έχουν να κάνουν με την κατασκευή σου. Είναι πληροφορία που μπορείς να βρεις στο ιντερνετ.
    Καλησπερα,ευχαριστω για την αναλυτικη εξηγηση!!
    Λoιπον το εψαξα αρκετα και απ το καταλαβα θα πρεπει να κανω κατι οπως το λεει εδω??,ασχέτως που το τρεχω στο Pc με windows.

    Απλα για να καταλαβω πρεπει να:

    1)Δημιουργήσω έναν λογαριασμό Dns για να μπορώ να έχω πρόσβαση στον MQTT από το Διαδίκτυο π.χ στο https://freemyip.com/ οπως λεει και αυτος.

    2)Κανω port-forwarding στο ρουτερ,αλλα τι βαζω στα παρακατω κελια

    https://ibb.co/Z29TFpZ

    στο Use Interface τι επιλεγω εχει HSIp/ppp0 και IPTV/atm1?
    Custom Service : βαζω το freemyip ??
    Server IP Address: βαζω την ip του pc που τρεχει ο broker ??
    exteranl port start/end, internal port start/end ??

    Γενικα εχω χαθει ο ενας στο νετ λεει θελει διαμορφψση το conf φιλε του mosquitto ο αλλος λεει οχι...μπορειτε καπως να δωσετε ενα χερι βοηθείας??

    0 Not allowed! Not allowed!

  4. #3
    Μέλος
    Όνομα
    Νίκος
    Εγγραφή
    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

  5. 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: εκτός λειτουργίας