Πίνακας περιεχομένων:
- Βήμα 1: IoT Τι;
- Βήμα 2: Δοκιμάστε το - Όχι πραγματικά, δοκιμάστε το τώρα
- Βήμα 3: Micropython & ESP32
- Βήμα 4: Ο ταχύτερος τρόπος
- Βήμα 5: Λήψη τώρα
- Βήμα 6: Χρόνος υλικού
- Βήμα 7: Ακόμα μαζί μας;
- Βήμα 8: Συμβουλές για hacking
- Βήμα 9: Ιστοσελίδες
- Βήμα 10: Και αυτό είναι
Βίντεο: TinyLiDAR στο γκαράζ σας!: 10 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
DIY WiFi Garage Door Opener Project
Ο κόσμος του IoT μόλις αρχίζει να εκρήγνυται - κάθε τεχνολογική εταιρεία σε όλο τον κόσμο προσπαθεί να καταλάβει πώς θα ταιριάζει σε αυτόν τον νέο κόσμο. Είναι απλώς μια μεγάλη ευκαιρία! Για αυτό το διδακτικό, σύμφωνα με αυτό το θέμα IoT, θα εξετάσουμε πώς μπορείτε να κάνετε τον δικό σας επίδειξη IoT που είναι πραγματικά χρήσιμος;)
TL; DR σύνοψη
- ρυθμίστε μια αξιόπιστη ροή εργασίας για την κωδικοποίηση της μονάδας WiFi ESP32
- αναβοσβήνει
- συναρμολογήστε το στο breadboard σας
- κατεβάστε τον κωδικό εφαρμογής μας και αποσυμπιέστε τον
- προσθέστε τα διαπιστευτήριά σας WiFi και τη στατική IP
- συνδέστε το στο δίκτυό σας WiFi
- επεξεργαστείτε τα όρια και τοποθετήστε το στο γκαράζ σας
- συνδέστε το στις επαφές του ανοιχτήρι της πόρτας του γκαράζ σας
- και κάντε κλικ μακριά!
- ΔΕΝ ΑΠΑΙΤΕΙΤΑΙ ΚΟΛΥΜΒΗΣΗ (εκτός από τις καρφίτσες στις σανίδες ανάρτησης εάν απαιτείται)
Απαιτούμενα μέρη
- tinyLiDAR χρόνος μονάδας αισθητήρα απόστασης πτήσης
- Wipy3.0 ή παρόμοια πλακέτα WiFi βασισμένη σε ESP32
- Οπτικά απομονωμένος ρελέ στερεάς κατάστασης (Omron G3VM-201AY1) για τον έλεγχο του ανοίγματος της πόρτας του γκαράζ
- Αντίσταση 470ohm (5% 1/8watt ή μεγαλύτερη είναι εντάξει)
- Διακόπτης στιγμιαίου κουμπιού για την καρφίτσα BOOT (GPIO0) για αναβάθμιση του υλικολογισμικού στην πλακέτα ESP32
- USB σε Serial dongle για μεταφόρτωση κώδικα και αλληλεπίδραση με REPL στο ESP32 (χρησιμοποιήστε την έκδοση εισόδου/εξόδου 3.3v)
- Breadboard + σύρματα
- Τροφοδοσία: 3,3V έως 5V στα 500mA ή μεγαλύτερη. Μπορείτε να χρησιμοποιήσετε έναν φορτιστή κινητού τηλεφώνου microUSB για την τροφοδοσία & την πλακέτα διακοπής microUSB για να συνδέσετε το breadboard σας.
Βήμα 1: IoT Τι;
Αναμφίβολα έχετε ακούσει για τον όρο IoT μέχρι τώρα σε όλα τα μέσα, αλλά τι σημαίνει;
Χαλαρά μιλώντας σημαίνει να αποκτήσετε κάθε είδους αισθητήρες και ελεγχόμενα πράγματα συνδεδεμένα στο Διαδίκτυο. Αυτές τις μέρες, το Διαδίκτυο είναι συνώνυμο με το ασύρματο και έτσι έχουμε όλα τα ηλεκτρονικά ξαφνικά ασύρματα συνδεδεμένα μέσω κάποιου είδους ασύρματου συνδέσμου όπως WiFi/BT/LoRa/SigFox κ.λπ. Μόλις συνδεθούμε στο Διαδίκτυο, μπορούμε να αισθανθούμε ή/και να ελέγξουμε αυτά τα πράγματα από το αγαπημένο μας χειριστήριο για κινητά όπως το κινητό μας ή αυτοματοποιήστε τα μέσω κάποιας εφαρμογής που εκτελείται σε διακομιστή κάπου (δηλ. το σύννεφο).
Παρόλο που οι μεγαλύτερες εταιρείες εμπορεύονται περισσότερο φωνητικό έλεγχο, τεχνητή νοημοσύνη και συνδεσιμότητα στο cloud. τα βασικά για να γίνουν όλα αυτά εξακολουθούν να είναι τα ίδια. Πρέπει να συνδέσετε το "πράγμα" σας σε ασύρματο σύνδεσμο προτού γίνει δυνατή οποιαδήποτε από αυτές τις έννοιες. Ας ξεκινήσουμε λοιπόν με τα βασικά και να μάθουμε πώς να συνδέουμε τον αισθητήρα απόστασης χρόνου πτήσης tinyLiDAR σε μια μονάδα WiFi χαμηλού κόστους και, στη συνέχεια, να δείχνουμε την αποστολή δεδομένων μπρος -πίσω σε όλο το δίκτυο. Μέχρι το τέλος αυτού του οδηγού θα έχετε το δικό σας τηλεχειριστήριο γκαραζόπορτας με τη δυνατότητα WiFi που λειτουργεί με οθόνη πραγματικού χρόνου για να ελέγξετε αν η πόρτα είναι ανοιχτή ή κλειστή.
Από τεχνική άποψη, όπως φαίνεται στο παραπάνω διάγραμμα, αυτό το έργο υλοποιεί έναν διακομιστή ιστού micropython που λειτουργεί σε μια μονάδα WiFi ESP32 χρησιμοποιώντας το πρωτόκολλο επικοινωνίας "websockets" για τη μετάδοση δεδομένων εμπρός και πίσω από οποιοδήποτε πρόγραμμα περιήγησης ιστού για κινητά. Προστίθεται σε αυτό, έχουμε τον μικροσκοπικό χρόνο αισθητήρα απόστασης πτήσης που λαμβάνει μετρήσεις κατά παραγγελία, ώστε να μπορείτε να ελέγξετε αν η πόρτα του γκαράζ έχει μείνει ανοιχτή.
Βήμα 2: Δοκιμάστε το - Όχι πραγματικά, δοκιμάστε το τώρα
Αυτό είναι ένα σχετικά νέο πεδίο στα ηλεκτρονικά, οπότε θα απαιτηθούν πολλοί πειραματισμοί για να λειτουργήσουν σωστά τα πράγματα. Η ελπίδα μας είναι ότι θα μπορέσετε να βασιστείτε σε αυτήν τη βάση κώδικα και να δημιουργήσετε μερικά πιο ενδιαφέροντα δικά σας έργα IoT.
Όλος ο κώδικας που χρησιμοποιείται σε αυτό το άρθρο λειτούργησε καλά κατά τη στιγμή αυτής της γραφής. Ωστόσο, καθώς αυξάνεται το ποσοστό καινοτομίας στο χώρο του IoT, τα πράγματα μπορεί να έχουν αλλάξει μέχρι να το διαβάσετε. Σε κάθε περίπτωση, η επίλυση προβλημάτων και η προσαρμογή του για τη δική σας χρήση θα μπουν τουλάχιστον στο μυαλό σας σε αυτόν τον νέο συναρπαστικό χώρο και θα αρχίσετε να σκέφτεστε σαν μηχανικός IoT!
Ετοιμος? Ας ξεκινήσουμε με το πρώτο βήμα για τη δημιουργία του δικού σας σταθερού περιβάλλοντος ανάπτυξης.
Βήμα 3: Micropython & ESP32
Οι μονάδες WiFi ESP32 δημιουργήθηκαν από την Espressif και έχουν βελτιωθεί πολύ από τις μονάδες ESP8266 πρώτης γενιάς πριν από λίγα χρόνια. Αυτές οι νέες εκδόσεις έχουν πολύ περισσότερη μνήμη, ισχυρότερο επεξεργαστή και περισσότερες δυνατότητες από τις αρχικές μονάδες και εξακολουθούν να είναι χαμηλού κόστους. Το παραπάνω διάγραμμα σας δίνει την αίσθηση του πόσο ήταν σε θέση να συσκευάσουν σε αυτό το μικρό τσιπ ESP32. Το ίδιο το ESP32 IC είναι ένας μικροελεγκτής διπλού πυρήνα με ένα ραδιόφωνο WiFi 802.11b/g/n και επίσης ενσωματωμένο ραδιόφωνο Bluetooth 4.2. Οι μονάδες που βασίζονται στο ESP32 θα προσθέσουν τυπικά μια κεραία, επιπλέον ρυθμιστές μνήμης FLASH και ισχύος.
Σημειώστε ότι όταν λέμε μονάδα ESP32 σε αυτό το εκπαιδευτικό, αναφερόμαστε στους πίνακες Pycom Wipy3.0 που βασίζονται στο τσιπ/μονάδα ESP32. Από την εμπειρία μας, οι πίνακες Pycom φαίνεται να έχουν υψηλότερη ποιότητα κατασκευής από τις τυπικές διαθέσιμες μονάδες ESP32 χαμηλού κόστους. Κατά την ανάπτυξη, είναι πάντα χρήσιμο να μειώσουμε όσο το δυνατόν περισσότερες μεταβλητές, οπότε επιλέξαμε τους πίνακες Pycom αντί για γενικά προϊόντα χαμηλού κόστους.
Για εφαρμογές ΚΑΕ, η κωδικοποίηση ESP32 γίνεται συνήθως στη γλώσσα C, αλλά ευτυχώς υπάρχουν επίσης πολλές επιλογές για να διαλέξουμε, οπότε δεν θα χρειαστεί να φτάσετε σε αυτό το χαμηλό επίπεδο αν δεν το θέλετε. Επιλέξαμε να χρησιμοποιήσουμε το micropython για όλη μας την κωδικοποίηση σε αυτό το διδακτικό.
Το Micropython όπως ίσως υποθέσατε είναι ένα υποσύνολο της πλήρους γλώσσας προγραμματισμού Python που τροφοδοτεί μερικές λιγότερο γνωστές μηχανές αναζήτησης και ιστότοπους όπως το Google, το YouTube και το Instagram;)
Το Micropython ξεκίνησε ως ένα πρόγραμμα kickstarter αρχικά για τον επεξεργαστή STM32, αλλά έχει γίνει πολύ δημοφιλές για πολλούς διαφορετικούς μικροελεγκτές τώρα. Χρησιμοποιούμε την τελευταία επίσημη θύρα μικροπύθων Pycom ESP32 εδώ.
Βήμα 4: Ο ταχύτερος τρόπος
Ο κωδικός micropython έχει ένα απλό GUI στο μπροστινό μέρος που ονομάζεται REPL και σημαίνει "Read -Eval – Print Loop". Το REPL του ESP32 εκτελείται κανονικά σε 115.2Kbaud αφού έχει πρόσβαση μέσω της σειριακής θύρας. Η παραπάνω εικόνα δείχνει αυτήν την προτροπή REPL που σημαίνεται με τα τρία βέλη της που περιμένουν άμεσες εντολές. Είναι ένας εύκολος τρόπος να δοκιμάσουμε τις απλές εντολές μας και οι περισσότεροι κωδικοποιητές το χρησιμοποιούν για την ανάπτυξη του λογισμικού τους, αλλά διαπιστώσαμε ότι ήταν ένας οδυνηρά αργός τρόπος. Ως εκ τούτου, αποφασίσαμε να το κάνουμε με διαφορετικό τρόπο για αυτό το διδακτικό…
Καθώς οι μονάδες ESP32 διαθέτουν γρήγορη συνδεσιμότητα WiFi, πρέπει απλώς να έχουμε πρόσβαση στη μονάδα μέσω WiFi μέσω ενός διακομιστή FTP που είναι ήδη ενσωματωμένος στον τυπικό κωδικό μικροπύθωνος. Αυτό θα μας επιτρέψει στη συνέχεια να χρησιμοποιήσουμε προγράμματα -πελάτες FTP όπως το FileZilla για απλή μεταφορά και απόθεση του κώδικα μας στο ESP32.
Για να το κάνουμε αυτό, πρέπει πρώτα να μεταφέρουμε τη μονάδα ESP32 στο δίκτυό σας WiFi. Οι μονάδες Wipy3.0 εκτελούν ένα μικρό σημείο πρόσβασης από προεπιλογή κατά την ενεργοποίηση, ώστε να μπορείτε να συνδεθείτε απευθείας σε αυτούς από φορητό υπολογιστή στη διεύθυνση 192.168.4.1. Ελέγξτε περισσότερες λεπτομέρειες εδώ αν σας αρέσει αυτή η μέθοδος.
Δουλεύουμε σε επιτραπέζιους υπολογιστές στο εργαστήριό μας και έτσι θέλαμε οι μονάδες ESP32 να συνδεθούν στο δίκτυό μας. Για να γίνει αυτό, πρέπει απλώς να δώσουμε στη μονάδα μια στατική διεύθυνση IP και πληροφορίες κωδικού πρόσβασης για να συνδεθούμε στο δίκτυό μας WiFi.
Βήμα 5: Λήψη τώρα
Κάντε λήψη του κωδικού εφαρμογής τώρα και αποσυμπιέστε τα αρχεία σε έναν προσωρινό φάκελο στον υπολογιστή σας. Στη συνέχεια, ξεκινήστε την επεξεργασία αρχείων σεναρίου mywifi.txt και boot.py με τα δικά σας διαπιστευτήρια δικτύου WiFi.
Btw - ο αγαπημένος μας επεξεργαστής κειμένου εξακολουθεί να είναι το SublimeText. Μπορείτε να το κατεβάσετε εδώ.
Θα πρέπει επίσης να κάνετε λήψη του λογισμικού τερματικού TeraTerm και του λογισμικού FileZilla FTP τώρα, εάν δεν τα έχετε ήδη στον υπολογιστή σας.
Θα πρέπει να ρυθμίσετε το FileZilla όπως φαίνεται στις παραπάνω εικόνες. Επίσης στον διαχειριστή ιστότοπου πρέπει να "προσθέσετε νέο ιστότοπο" για τη σύνδεση ESP32 χρησιμοποιώντας τη στατική διεύθυνση IP που επιλέξατε όπως φαίνεται παραπάνω. Ο χρήστης είναι "micro" και ο κωδικός πρόσβασης είναι "python". Είναι σημαντικό να χρησιμοποιείτε παθητικό FTP και να το περιορίζετε μόνο σε μεμονωμένες συνδέσεις. Διαπιστώσαμε ότι ο περιορισμός της ταχύτητας μεταφόρτωσης βοήθησε επίσης στην αποφυγή αναστολής μεταφόρτωσης. Αν και δεν εμφανίζεται στις εικόνες, θα ήταν χρήσιμο να συσχετίσετε το πρόγραμμα SublimeText για τους τύπους αρχείων, ώστε να μπορείτε να επεξεργαστείτε τον κώδικα κάνοντας διπλό κλικ στην αριστερή πλευρά της οθόνης FTP. Για να το κάνετε αυτό, απλώς μεταβείτε στο μενού Ρυθμίσεις και στις συσχετίσεις επεξεργασία αρχείου/Τύπος αρχείου εισαγάγετε τη θέση του αρχείου σας SublimeText exe για κάθε συσχέτιση. Για παράδειγμα το δικό μας ήταν:
js "C: / Sublime Text Build 3065 x64 / sublime_text.exe"
Το "C: / Sublime Text Build 3065 x64 / sublime_text.exe" htm "C: / Sublime Text Build 3065 x64 / sublime_text.exe" html "C: / Sublime Text Build 3065 x64 / sublime_text.exe" py "C: / Sublime Δημιουργία κειμένου 3065 x64 / sublime_text.exe "css" C: / Sublime Text Build 3065 x64 / sublime_text.exe"
Αντιγράψτε τα εξαγόμενα αρχεία εφαρμογής για αυτό το εκπαιδευτικό σε έναν νέο φάκελο που ονομάζεται "FTP" στον υπολογιστή σας, όπως κάναμε εμείς. Θα είναι πιο εύκολο να σύρετε από εδώ μέσα στο FileZilla αργότερα.
Συνήθως είναι καλή ιδέα να έχετε το πιο πρόσφατο υλικολογισμικό που λειτουργεί στο ESP32. Η αναβάθμιση των μονάδων Pycom για χρήση του τελευταίου micropython είναι πολύ απλή και μπορεί να γίνει σε περίπου 3 λεπτά με το εργαλείο ενημέρωσης υλικολογισμικού.
Απλώς βεβαιωθείτε ότι έχετε ρυθμίσει τη θύρα COM για USB σε Serial dongle και απενεργοποιείτε τη λειτουργία υψηλής ταχύτητας, όπως φαίνεται στην παραπάνω εικόνα "Επικοινωνία". Το δικό μας ήταν η θύρα COM 2. Σημειώστε ότι για να μπουν οι μονάδες ESP32 σε αυτήν τη λειτουργία αναβάθμισης, θα πρέπει να πατήσετε το κουμπί GPIO0/Boot (στο pin P2) πατώντας και αφήνοντας το κουμπί Reset.
Βήμα 6: Χρόνος υλικού
Τώρα θα ήταν μια καλή στιγμή να συνδέσετε το υλικό σε μια σανίδα ψωμιού, όπως φαίνεται στο παραπάνω σχηματικό διάγραμμα παραπάνω.
Αφού ολοκληρωθούν όλα αυτά. Ξεκινήστε το λογισμικό τερματικού με την κατάλληλη θύρα COM για το USB to Serial dongle, ρυθμίστε το σε 115.2Kbaud.
Κατά την ενεργοποίηση, η μονάδα πρέπει να εμφανίζει τη γνωστή ερώτηση REPL που δίνει τρία βέλη ">>>".
Τώρα μεταβείτε στο επεξεργασμένο αρχείο mywifi.txt και αντιγράψτε όλο το περιεχόμενο (CTRL+C). Στη συνέχεια, μεταβείτε στην οθόνη τερματικού REPL και πατήστε CTRL+E για να μπείτε στη λειτουργία αποκοπής και επικόλλησης. Στη συνέχεια, κάνετε δεξί κλικ για να επικολλήσετε το περιεχόμενο στην οθόνη REPL και, στη συνέχεια, πατήστε τα πλήκτρα CTRL+D για να εκτελέσετε αυτό που επικολλήσατε.
Θα πρέπει να ξεκινήσει μια αντίστροφη μέτρηση αμέσως για να πει ότι προσπαθεί να συνδεθεί στο δίκτυό σας WiFi. Το παραπάνω στιγμιότυπο οθόνης δείχνει ένα επιτυχημένο μήνυμα σύνδεσης.
Μόλις συνδεθείτε, μπορείτε να χρησιμοποιήσετε το FileZilla για να συνδεθείτε με τον διακομιστή FTP στις μονάδες στη στατική διεύθυνση IP που επιλέξατε ήδη στα αρχεία mywifi.txt και boot.py.
Βήμα 7: Ακόμα μαζί μας;
Αν είναι εντάξει μέχρι τώρα, καλό για σας! Η σκληρή δουλειά έχει ολοκληρωθεί:) Τώρα θα είναι ομαλή η ιστιοπλοΐα - μόνο μια δέσμη κοπής και επικόλλησης και θα είστε σε λειτουργία για να μπορείτε στη συνέχεια να το τοποθετήσετε στο γκαράζ σας.
Για να επεξεργαστείτε οποιονδήποτε από τον κώδικα, μπορείτε να κάνετε διπλό κλικ στην αριστερή πλευρά του παραθύρου FTP στο FileZilla και θα ξεκινήσει το SublimeText. Αποθηκεύστε τις αλλαγές σας και, στη συνέχεια, σύρετέ τις στη δεξιά πλευρά που είναι το παράθυρο ESP32.
Προς το παρόν, απλώς σύρετε τα αρχεία από την αριστερή πλευρά στη δεξιά πλευρά του FileZilla για να ανεβάσετε κάθε αρχείο ξεχωριστά στη μονάδα ESP32. Αυτό διαρκεί μόνο μερικά σύντομα δευτερόλεπτα αντί για λεπτά όπως κάνει η συνήθης μέθοδος REPL. Λάβετε υπόψη ότι όλα τα αρχεία πρέπει να βρίσκονται κάτω από τον βασικό κατάλογο που ονομάζεται "flash" μέσα στον πίνακα Pycom. Μπορείτε να δημιουργήσετε έναν σελιδοδείκτη στο FileZilla για να διευκολύνετε την επιστροφή εδώ για την επόμενη φορά.
Εάν αντιμετωπίσετε ποτέ πρόβλημα όπου το FileZilla σταματά και λήγει για τη μεταφόρτωση, θα παρατηρήσετε ένα αρχείο στην πλευρά ESP32 το οποίο έχει 0 byte. Προσπαθώντας να γράψεις πάνω του μπορεί να σε τρελάνει καθώς δεν τελειώνει ποτέ ό, τι κι αν δοκιμάσεις! Είναι μια πολύ περίεργη κατάσταση και συμβαίνει πολύ συχνά. Η καλύτερη λύση για αυτό είναι η διαγραφή του αρχείου 0 byte και ο κύκλος λειτουργίας της μονάδας. Στη συνέχεια, λάβετε ένα αντίγραφο FRESH του αρχείου προέλευσης για να το ανεβάσετε ξανά στην ενότητα ESP32. Σημειώστε ότι ένα νέο αντίγραφο είναι το κλειδί εδώ. Κάπως έτσι το αρχείο προέλευσης απλώς δεν θα μεταφορτωθεί σωστά αν κολλήσει έτσι ακόμα και μία φορά.
Διαπιστώσαμε ότι βοηθάει να σύρετε κάθε αρχείο ξεχωριστά στη μονάδα ESP32 ξεκινώντας από το boot.py. Αυτό το πρώτο αρχείο είναι υπεύθυνο για τη μεταφορά της μονάδας σας στο δίκτυο, ώστε να μην χρειάζεται πλέον να κάνετε την αποκοπή και επικόλληση στο REPL. Ωστόσο, μπορείτε να πιάσετε το φάκελο www και να το σύρετε με μία λήψη. Αυτό λειτουργούσε πάντα για εμάς στην ανάπτυξή μας. Όλα αυτά τα αρχεία αποθηκεύονται στον ενσωματωμένο μη πτητικό χώρο αποθήκευσης φλας στη μονάδα ESP32, ώστε να είναι εκεί μετά την διακοπή ρεύματος. Απλώς fyi - το main.py θα εκτελείται μετά την εκκίνηση. Py κάθε φορά που ενεργοποιείται η μονάδα.
Βήμα 8: Συμβουλές για hacking
Ρίξτε μια ματιά σε όλο τον κώδικα και προσπαθήστε να αναζητήσετε λέξεις -κλειδιά στο Google για λέξεις -κλειδιά που δεν αναγνωρίζετε. Μόλις όλα είναι σε λειτουργία, μπορείτε να προσπαθήσετε να αλλάξετε ό, τι νιώθετε για να δείτε τι κάνει.
Εάν κάτι πάει στραβά, μπορείτε πάντα να διαγράψετε τον κώδικα και/ή να αναβοσβήσετε ξανά τη μονάδα σε περίπου 3 λεπτά, όπως κάνατε ήδη νωρίτερα.
Για να διαμορφώσετε ξανά το φλας και να διαγράψετε όλο τον κώδικά σας με μία λήψη, μπορείτε να πληκτρολογήσετε τα ακόλουθα στην ΕΠΑΝΑΛΗΗ:
εισαγωγή os
os.mkfs ('/flash')
Στη συνέχεια, κάντε έναν κύκλο τροφοδοσίας ή πατήστε το κουμπί επαναφοράς στην πλακέτα Wipy.
Σημειώστε ότι υπάρχει επίσης ένας άλλος τρόπος για να παρακάμψετε το boot.py & main.py εάν τα πράγματα σας πάνε νοερά. Απλώς συνδέστε προσωρινά τον πείρο P12 στον ακροδέκτη εξόδου 3.3V και πατήστε το κουμπί Reset όπως φαίνεται παραπάνω. Θα παρακάμψει όλο τον κωδικό σας και θα μεταβεί κατευθείαν στο REPL μία φορά, ώστε να μπορείτε να καταλάβετε τα πράγματα χωρίς να διαγράψετε όλο τον κώδικά σας από το flash.
Μόλις ολοκληρωθεί η μεταφόρτωση όλων των αρχείων, απλώς πατήστε το κουμπί Επαναφορά στην ενότητα ESP32 για επανεκκίνηση.
Θα δείτε τη γνωστή αντίστροφη μέτρηση στην οθόνη του τερματικού REPL καθώς συνδέεται ξανά στο δίκτυό σας WiFi. Η διαφορά είναι ότι αυτός ο κωδικός τρέχει τώρα από το αρχείο boot.py αυτή τη φορά.
Βήμα 9: Ιστοσελίδες
Ο μικροϋπολογιστής θα πρέπει να είναι σε λειτουργία τώρα στο ESP32, οπότε δοκιμάστε το χρησιμοποιώντας το πρόγραμμα περιήγησης στην επιφάνεια εργασίας ή την κινητή συσκευή σας.
Απλώς μεταβείτε στη στατική σας διεύθυνση IP και θα δείτε μια οθόνη παρόμοια με την παραπάνω.
Υπάρχουν δύο ιστοσελίδες που προβάλλονται από τον μικροεπεξεργαστή μας που λειτουργεί στο ESP32.
Το πρώτο είναι η προεπιλεγμένη σελίδα index.html που σας δίνει ένα απλό κουμπί OPEN/CLOSE για να προσομοιώσετε τον τύπο του κλικ του ανοίγματος πόρτας γκαράζ που έχετε. Καθώς το πατάτε στο πρόγραμμα περιήγησής σας, θα εμφανιστεί ένα μεγάλο μπλε εικονίδιο με γρανάζι. Αυτή είναι μια επιβεβαίωση ότι η σύνδεση δικτυακής υποδοχής πραγματοποιήθηκε με επιτυχία και έχετε λάβει μια επιβεβαίωση από τον διακομιστή ότι η εντολή "πάτημα" σας ελήφθη σωστά. Θα πρέπει επίσης να δείτε μια φωτεινή πράσινη λυχνία LED να ανάβει στον πίνακα Pycom όταν πατάτε αυτό το κουμπί. Η σύνδεση ιστών μεταδίδει τις καταστάσεις του κουμπιού στέλνοντας απλά μηνύματα κειμένου "πατήστε" όταν το πατάτε και "πατάτε" όταν το αφήνετε. Για επιβεβαίωση, ο μικροεπεξεργαστής στέλνει πίσω αυτό το κείμενο αλλά προσθέτει "_OK" σε αυτό για να πει ότι το έλαβε σωστά.
Μόλις συνδέσετε τους οπτικώς απομονωμένους ακροδέκτες ρελέ στερεάς κατάστασης (SSR) στο ανοιχτήρι πόρτας του γκαράζ σας (ανατρέξτε στο εικονικό διάγραμμα), πιέζοντας το κουμπί θα ανοίξει/κλείσει επίσης φυσικά η πόρτα.
Δώστε του λίγα δευτερόλεπτα και προσπαθήστε ξανά εάν δεν εμφανίζεται το μπλε εικονίδιο με το γρανάζι καθώς ίσως επανεκκινείται ή κάτι τέτοιο. Σημειώστε ότι η υποδοχή ιστού θα κλείσει αυτόματα σε περίπου 20 δευτερόλεπτα εάν δεν τη χρησιμοποιείτε για να αποτρέψετε το κλείδωμα. Σημειώστε επίσης ότι οι υποδοχές ιστού είναι προσανατολισμένες στη σύνδεση, οπότε πρέπει να σταματήσετε την υποδοχή ιστού για να αλλάξετε σελίδες, διαφορετικά μπορεί να μην μπορείτε να συνδεθείτε ξανά, έως ότου πατήσετε την επαναφορά στη μονάδα ESP32. Για τον κώδικα παραδείγματος, έχουμε μερικούς τρόπους τερματισμού της διαδικτυακής υποδοχής: πατήστε το κείμενο κατάστασης, περιστρεφόμενες κουκκίδες ή τον υπερσύνδεσμο για να μεταβείτε στην επόμενη σελίδα.
Η δεύτερη ιστοσελίδα είναι για την ανάγνωση μετρήσεων απόστασης από τον αισθητήρα απόστασης απόστασης tinyLiDAR χρόνου πτήσης. Απλώς πατήστε το κουμπί μία φορά και θα αρχίσει να μεταδίδει τις μετρήσεις απόστασης στην κινητή συσκευή σας για περίπου 20 δευτερόλεπτα. Καθώς πιέζετε προς τα κάτω, θα ανάψει ένα κόκκινο LED στον πίνακα Pycom, ώστε να μπορείτε να πείτε ότι λαμβάνει την εντολή πατήματος κουμπιού από αυτήν τη σελίδα.
Και οι δύο σελίδες δίνουν μια ένδειξη ότι η πόρτα είναι ανοιχτή ή κλειστή με απόσταση ανάγνωσης από το tinyLiDAR. Η μεταβλητή doorThresh πρέπει να οριστεί και στα δύο αρχεία html στην ενότητα δέσμης ενεργειών, όπως φαίνεται εδώ:
//--------------------------
// **** Προσαρμόστε όπως απαιτείται **** var doorThreshold = 100; // απόσταση σε cm var ws_timeout = 20000; // ο μέγιστος χρόνος σε ms για να επιτρέψει το άνοιγμα/κλείσιμο της πόρτας είναι 20 δευτερόλεπτα // -------------------------- // --- -----------------------
Θα πρέπει να επεξεργαστείτε αυτό το όριο για τη ρύθμιση του γκαράζ σας, έτσι ώστε να μπορεί να εντοπίσει πότε είναι τυλιγμένη η πόρτα του γκαράζ και, ως εκ τούτου, ΑΝΟΙΚΤΟ ή τυλιγμένο και ως εκ τούτου ΚΛΕΙΣΤΟ. Αφού πραγματοποιήσετε τις αλλαγές για το κατώφλι σας και στα δύο αρχεία html, ανεβάστε ξανά αυτά τα αρχεία html και κάντε επανεκκίνηση για να επαληθεύσετε ότι όλα εξακολουθούν να λειτουργούν εντάξει.
Εάν όλα είναι καλά, μπορείτε τώρα να προχωρήσετε και να τοποθετήσετε την πλακέτα ανάποδα στο γκαράζ σας, όπως φαίνεται στην παραπάνω εικόνα. Συνδέστε τις ακίδες 3 και 4 του SSR στο ανοιχτήρι της πόρτας του γκαράζ σας επίσης. Η πολικότητα δεν είναι σημαντική αφού χρησιμοποιούμε μια έκδοση MOSFET του SSR - χρειάζεται μόνο να συντομεύσει τις επαφές για να προσομοιώσει ένα κουμπί κλικ στη μονάδα βάσης της πόρτας του γκαράζ σας.
Βήμα 10: Και αυτό είναι
Συγχαρητήρια! Το άνοιγμα της γκαραζόπορτας σας είναι πλέον τόσο εύκολο όσο το πάτημα στο τηλέφωνό σας και μπορείτε να ελέγξετε αν έχει μείνει ανοιχτό ή όχι, λαμβάνοντας μετρήσεις σε πραγματικό χρόνο με το tinyLiDAR:)
Μπορείτε επίσης τώρα να χρησιμοποιήσετε το ESP32 με υποδοχές ιστού μέσω WiFi για σχεδόν οτιδήποτε θέλετε. Διαβάστε περισσότερα για τα "websockets" εάν δεν είστε εξοικειωμένοι με αυτά - είναι πραγματικά αρκετά γρήγορα και εύκολα στη χρήση.
Η εφαρμογή του tinyLiDAR με το ESP32 ήταν εξαιρετικά εύκολη, παρόλο που ο αισθητήρας είχε σχεδιαστεί αρχικά για να λειτουργεί με Arduino UNO. Έχουμε μια πιο περίτεχνη beta έκδοση του Terminal GUI που εκτελεί τις περισσότερες από τις εντολές tinyLiDAR στο micropython στο ESP32 - δείτε την παραπάνω εικόνα. Είναι διαθέσιμο στην ενότητα λήψεων μαζί με το εγχειρίδιο ref, κ.λπ.
Ρίξτε μια ματιά σε ολόκληρο τον κώδικα μας για να καταλάβετε πώς συνδυάζονται όλα και προσπαθήστε να αλλάξετε τα πράγματα γύρω σας, ώστε να μπορείτε να βασίζεστε σε αυτό για να κάνετε ό, τι θέλετε.
Λάβετε υπόψη ότι εδώ δεν έγινε καμία αναφορά στην ασφάλεια. Η ασφάλεια είναι μια τεράστια περιοχή στο IoT και πρέπει να ληφθεί σοβαρά υπόψη. Εάν θέλετε να χρησιμοποιήσετε αυτό το έργο στο γκαράζ σας, θα πρέπει να διατηρήσετε τους κωδικούς πρόσβασης του δικτύου WiFi ισχυρούς και ασφαλείς. Υπάρχουν πολλές πληροφορίες στον ιστό σχετικά με την ασφάλεια, οπότε φροντίστε να διαβάσετε τις τελευταίες πληροφορίες και να είστε ενημερωμένοι.
Ευχαριστώ για την ανάγνωση και καλή διασκέδαση! Στην υγειά σας.
Συνιστάται:
Ο γρήγορος οδηγός για τη δημιουργία βίντεο με το iPhone σας και τη μεταφόρτωσή του στο Facebook ή στο YouTube: 9 βήματα
Ο γρήγορος οδηγός για τη δημιουργία βίντεο με το iPhone σας και τη μεταφόρτωσή του στο Facebook ή στο YouTube: Χρησιμοποιήστε αυτήν την απλή διαδικασία 5 βημάτων (το Instructables το κάνει να μοιάζει με περισσότερα βήματα από ό, τι είναι στην πραγματικότητα) για να δημιουργήσετε και να ανεβάσετε το πρώτο σας βίντεο YouTube ή Facebook - χρησιμοποιώντας μόνο το iPhone σας
Πώς να φτιάξετε τη δική σας πύλη WIFI για να συνδέσετε το Arduino σας στο δίκτυο IP;: 11 βήματα (με εικόνες)
Πώς να φτιάξετε τη δική σας πύλη WIFI για να συνδέσετε το Arduino με το δίκτυο IP;: Όπως πολλοί άνθρωποι πιστεύετε ότι το Arduino είναι μια πολύ καλή λύση για αυτοματοποίηση σπιτιού και ρομποτικό! Αλλά από την άποψη της επικοινωνίας, το Arduinos έρχεται μόνο με σειριακούς συνδέσμους. Δουλεύω σε ένα ρομπότ που πρέπει να είναι μόνιμα συνδεδεμένο με ένα διακομιστή που λειτουργεί
Μετρήστε μικροσκοπικά σήματα που θάβονται στο θόρυβο στο παλμογράφο σας (Phase Sensitive Detection): 3 βήματα
Μετρήστε μικροσκοπικά σήματα που θάβονται στο θόρυβο στο παλμογράφο σας (Phase Sensitive Detection): Φανταστείτε ότι θέλετε να μετρήσετε ένα μικροσκοπικό σήμα θαμμένο σε θόρυβο που είναι πολύ ισχυρότερο. Δείτε το βίντεο για μια γρήγορη εκτέλεση σχετικά με το πώς να το κάνετε ή συνεχίστε να διαβάζετε για λεπτομέρειες
Βοήθεια αντίστροφης στάθμευσης στο γκαράζ χρησιμοποιώντας υπάρχοντα αισθητήρα ασφαλείας και αναλογικό κύκλωμα: 5 βήματα
Reverse Parking Assist in the Garage Using Existing Safety Sensor and Analog Circuit: Υποψιάζομαι ότι πολλές εφευρέσεις στην ιστορία της ανθρωπότητας έγιναν λόγω παραπόνων συζύγων. Το πλυντήριο ρούχων και το ψυγείο σίγουρα φαίνονται βιώσιμοι υποψήφιοι. Η μικρή μου " εφεύρεση " περιγράφεται σε αυτό το Instructable είναι ένα ηλεκτρονικό
Τοποθετήστε μια οθόνη LCD στο τραπέζι σας στο πόκερ: 18 βήματα (με εικόνες)
Τοποθετήστε μια οθόνη LCD στο τραπέζι πόκερ: Αν είστε σαν εμάς, σας αρέσει να διοργανώνετε ένα τουρνουά πόκερ στο σπίτι κάθε τόσο. Οι φίλοι μου και εγώ το κάνουμε εδώ και μερικά χρόνια και έχουμε συνηθίσει να χρησιμοποιούμε έναν υπολογιστή ή φορητό υπολογιστή ως τυφλό ρολόι και να συμβαδίζουμε με την κατάσταση παιχνιδιού και παικτών