Πίνακας περιεχομένων:

Προσωπικός βοηθός: 9 βήματα (με εικόνες)
Προσωπικός βοηθός: 9 βήματα (με εικόνες)

Βίντεο: Προσωπικός βοηθός: 9 βήματα (με εικόνες)

Βίντεο: Προσωπικός βοηθός: 9 βήματα (με εικόνες)
Βίντεο: «Προσωπικός Βοηθός για Άτομα με Αναπηρία» 2024, Ιούλιος
Anonim
Image
Image
Προσωπικός βοηθός
Προσωπικός βοηθός

Σε αυτό το διδακτικό, θα σας δείξω πώς μπορείτε να χρησιμοποιήσετε τη δύναμη του ESP8266, τη δημιουργικότητα στο σχεδιασμό και τον προγραμματισμό λογισμικού, για να φτιάξετε κάτι δροσερό και εκπαιδευτικό.

Το ονόμασα Personal Assistant, γιατί έχει μέγεθος τσέπης, σας μιλάει και μπορεί να σας δώσει μερικές χρήσιμες και (φυσικά) μερικές μη χρήσιμες (αλλά ακόμα δροσερές) πληροφορίες σχετικά με τον καιρό, την ώρα και την ημερομηνία, τα μηνύματα gmail, τη ζωντανή γέννηση και ποσοστά θανάτων κλπ.

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

Πώς λειτουργεί; Τα κύρια συστατικά αυτού του έργου είναι μια μονάδα μικροελεγκτή και μια μονάδα αναπαραγωγής μουσικής. Ο μικροελεγκτής μας (NodeMCU) χρησιμοποιεί τεχνολογία WiFi για σύνδεση σε σημείο πρόσβασης με σύνδεση στο Διαδίκτυο. ώστε να μπορεί να λάβει τα απαιτούμενα δεδομένα, να τα επεξεργαστεί και να πει στο Music Player (DFPlayer Mini) πότε, ποιο αρχείο MP3 πρέπει να αναπαραχθεί.

Προς το παρόν, αυτό είναι το μόνο που πρέπει να γνωρίζετε. Θα σας δώσω πιο λεπτομερείς πληροφορίες στα επόμενα βήματα, οπότε μην ανησυχείτε.

Βήμα 1: Απαιτούνται εξαρτήματα

Απαιτούμενα ανταλλακτικά
Απαιτούμενα ανταλλακτικά
  • NodeMCU ESP-12E (CP2102 USB-to-Serial Interface)
  • DFPlayer Mini
  • Κουμπί στιγμιαίας ώθησης SPST
  • Ηχείο 8 Ohm 2 Watt
  • Κάρτα Micro SD (Θα χρειαστείτε μερικά κιλομπάιτ, οπότε η χωρητικότητα δεν έχει σημασία)
  • Παξιμάδια και μπουλόνια

    • M3 καρύδια (x6)
    • M3 μπουλόνια - 23 mm (x4)
    • M3 μπουλόνια - 15 mm (x2)
  • Δίοδος σήματος 1N4148 (x1)
  • Αντιστάσεις

    • Αντίσταση 1K (x1)
    • Αντίσταση 10K (x2)

Αλλα μέρη:

  • PCB (μπορείτε να παραγγείλετε ένα πρωτότυπο online ή να επισκεφθείτε ένα τοπικό κατάστημα)
  • Ακρυλικό φύλλο κομμένο με λέιζερ

    • Διαφανές φύλλο πάχους 2 mm
    • Πάχος 2,8 mm δύο διαφορετικών χρωμάτων φύλλα (πορτοκαλί και πράσινα, κόκκινα και πράσινα, εξαρτάται από εσάς και τα χρώματα δεν έχουν σημασία)
  • Οποιοσδήποτε φορτιστής 5 βολτ (τουλάχιστον) 1 αμπέρ micro USB (για να ενεργοποιήσετε τη συσκευή)

Βήμα 2: Πώς λειτουργεί

Πως δουλεύει
Πως δουλεύει
Πως δουλεύει
Πως δουλεύει

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

Το λογισμικό αποτελείται από ορισμένες Υπηρεσίες. Κάθε Υπηρεσία, έχει τις δικές της Ενότητες. (Μπορείτε να θεωρήσετε μια υπηρεσία ως κλάση και τα modules της ως μεθόδους). Κάθε ενότητα, μπορεί να θεωρηθεί ως εκτελέσιμο αντικείμενο. Έτσι, το λογισμικό μας αποτελείται από ορισμένα εκτελέσιμα αντικείμενα.

Εδώ έχουμε μερικές υπηρεσίες και υπο-υπηρεσίες ή τις ενότητες τους:

  • Gmail

    Μη αναγνωσμένα μηνύματα

  • Καιρός

    • Τρέχουσα θερμοκρασία
    • Σημερινή κατάσταση
    • Σήμερα Χαμηλή / Υψηλή
    • Αύριο Συνθήκη
    • Αύριο Χαμηλό / Υψηλό
    • Πρόβλεψη βροχόπτωσης
    • Ανατολή / Ηλιοβασίλεμα
  • χρόνος

    • Τρέχουσα ρα
    • Σημερινή ημερομηνία
  • Γέννηση & Θάνατος

    • Παγκόσμια Γέννηση
    • Παγκόσμιος Θάνατος

Υπάρχει μια κυκλική ουρά που περιέχει ενότητες σε αυτήν. Το ονομάζουμε Operation Queue. Είπα, κάθε ενότητα είναι ένα εκτελέσιμο αντικείμενο. Έτσι, όταν πατάτε το κουμπί push στη συσκευή, κοιτάζει στην ουρά λειτουργίας και εκτελείτε την επόμενη μονάδα (ή αντικείμενο).

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

QUEUE (Μη αναγνωσμένα μηνύματα | Πρόβλεψη βροχόπτωσης | Τρέχουσα ώρα)

Πατάτε το κουμπί, πρέπει να εκτελούνται μη αναγνωσμένα μηνύματα.

QUEUE (Μη αναγνωσμένα μηνύματα | Πρόβλεψη βροχόπτωσης | Τρέχουσα ώρα)

Έτσι, η συσκευή θα χρησιμοποιήσει τα δεδομένα που συνέλεξε (εδώ, τον αριθμό των μη αναγνωσμένων μηνυμάτων σας που συλλέγονται από τη ροή API αλληλογραφίας) για να σας μιλήσει. Αλλά πως? Εδώ, το NodeMCU θα πει το MP3 Module, πότε πρέπει να παίξει ποιο κομμάτι MP3 να κάνει μια ουσιαστική πρόταση. Για να το πετύχω αυτό, έχω σχεδιάσει διαφορετικές ουρές, χρονοδιακόπτες και αλγόριθμους. (Εάν είστε τύπος c ++ και σας αρέσουν οι μικροελεγκτές, μπορείτε να μελετήσετε τον κώδικα για τον εαυτό σας.)

Έτσι, θα ακούσετε, η συσκευή αρχίζει να μιλά: Έχετε 4 μη αναγνωσμένα μηνύματα στα εισερχόμενά σας στο gmail.

Πατάτε ξανά το κουμπί, η επόμενη ενότητα θα είναι η πρόβλεψη βροχόπτωσης που πρέπει να αντιμετωπιστεί.

QUEUE (Μη αναγνωσμένα μηνύματα | Πρόβλεψη βροχόπτωσης | Τρέχουσα ώρα)

Έτσι, θα ακούσετε, κάτι σαν: Μην ξεχνάτε την ομπρέλα σας, αύριο βρέχει. Και ούτω καθεξής … Ένα ακόμη υπέροχο πράγμα: για ορισμένες ενότητες (όπως η πρόγνωση βροχόπτωσης), μπορείτε να περιμένετε τυχαίες προτάσεις για τις ίδιες καταστάσεις. Για παράδειγμα, αν αύριο υπάρχει βροχόπτωση και είναι βροχή και όχι χιόνι, μπορείτε να περιμένετε "υπάρχει δυνατότητα για βροχή αύριο", "φέρτε τη δική σας λιακάδα, βρέχει αύριο", "tut, tut, μοιάζει με βροχή για αύριο", ή …

Πώς λαμβάνουμε διαφορετικά δεδομένα για κάθε υπηρεσία;

  • Gmail

    Μη αναγνωσμένα μηνύματαΗ Google διαθέτει ένα ισχυρό API που μπορείτε να έχετε πρόσβαση στις διάφορες υπηρεσίες της, συμπεριλαμβανομένου του Gmail. Αλλά, για λόγους ασφαλείας, χρειάζεστε διαφορετικές μεθόδους ελέγχου ταυτότητας και εξουσιοδότησης όπως το OAuth. Το ESP8266 δεν είναι τόσο ισχυρό για την εκτέλεση διαφορετικών περίπλοκων αλγορίθμων κατακερματισμού. Έτσι, χρησιμοποίησα μια παλαιότερη και απλή τεχνολογία σύνδεσης για πρόσβαση στα εισερχόμενα του gmail. Είναι το Google Atom Feed που μπορεί επίσης να χρησιμοποιηθεί από τους αναγνώστες RSS. Στέλνουμε ένα αίτημα HTTP για πρόσβαση σε ροή gmail και η απάντησή του είναι σε μορφή XML. Έτσι, μετράμε αριθμό μη αναγνωσμένων μηνυμάτων και τα χρησιμοποιούμε στο πρόγραμμά μας

  • ΚαιρόςΧρησιμοποιούμε το Yahoo Weather API για να λαμβάνουμε διαφορετικές πληροφορίες για τον καιρό. Πρόσφατα, όπως και η Google, η Yahoo άλλαξε το API καιρού, οπότε θα χρειαστεί να χρησιμοποιήσετε πρότυπα OAuth για πρόσβαση στα δεδομένα της. Δυστυχώς, το ESP8266 δεν μπορεί να χειριστεί την πολυπλοκότητά του, οπότε θα χρησιμοποιήσουμε ένα τέχνασμα για να λύσουμε το πρόβλημα. Αντί να έχουμε άμεση πρόσβαση στο Yahoo Weather API, θα στείλουμε το αίτημά μας σε ένα προσαρμοσμένο αρχείο σε έναν διακομιστή. Το αρχείο μας λαμβάνει δεδομένα από το Yahoo Weather και απλά μας τα στέλνει.

    • Το Tomorrow Condition θα σας πει εάν αύριο είναι πιο ζεστό ή πιο κρύο από σήμερα ή εάν δεν θα υπάρξει λογική αλλαγή θερμοκρασίας. Συγκρίνουμε το "σήμερα χαμηλά / υψηλά" με "αύριο χαμηλά / υψηλά" για να το πετύχουμε. Μπορείτε να ελέγξετε πώς έγραψα αυτόν τον αλγόριθμο και πώς λειτουργεί στο αρχείο βιβλιοθήκης προγράμματος.
    • Αν ελέγξετε την τεκμηρίωση του καιρού Yahoo, μπορείτε να δείτε τον πίνακα κωδικών συνθηκών. Όπως λέει, οι κωδικοί συνθηκών χρησιμοποιούνται στην απόκριση για να περιγράψουν τις τρέχουσες συνθήκες. Θα χρησιμοποιήσουμε αύριο τους κωδικούς συνθήκης και τις έννοιές τους για να μάθουμε αν θα υπάρξει βροχόπτωση και είναι βροχή ή χιόνι.
  • Το TimeNTP σημαίνει Network Time Protocol. Είναι ένα πρωτόκολλο δικτύωσης για συγχρονισμό ρολογιού μεταξύ συστημάτων υπολογιστών. Δεδομένου ότι έχουμε πρόσβαση στο Διαδίκτυο, θα χρησιμοποιήσουμε έναν πελάτη NTP για να πάρουμε χρόνο από έναν διακομιστή NTP και θα τον συγχρονίσουμε με τον εσωτερικό χρονοδιακόπτη ESP8266 (όπως αυτός που τον χρησιμοποιείτε με millis () εάν είστε τύπος Arduino).
  • Θα υπολογίσουμε τον αριθμό των γεννήσεων και των θανάτων από την αρχή της ημέρας (Χάρη στον πελάτη NTP, είναι εύκολο να λάβετε αριθμό δευτερολέπτων από την αρχή της ημέρας). Χρησιμοποίησα παγκόσμια ποσοστά γεννήσεων και θανάτων από την οικολογία.

Βήμα 3: Ρυθμίστε το Λογισμικό

Ρυθμίστε το Λογισμικό
Ρυθμίστε το Λογισμικό

Θα χρησιμοποιήσουμε το Arduino IDE για να ανεβάσουμε το πρόγραμμά μας στο NodeMCU. Μπορείτε να κατεβάσετε και να εγκαταστήσετε το πιο πρόσφατο Arduino IDE από τον επίσημο ιστότοπό τους:

Πριν ξεκινήσετε, πρέπει να ρυθμίσετε το Arduino IDE για το Nodemcu. Δεν θα σας πω τα βήματα εδώ, γιατί μπορεί να είναι εκτός θέματος. Αλλά μπορείτε να ακολουθήσετε τα βήματα και τις εξηγήσεις αυτού του εξαιρετικού διδακτέου.

Το πρόγραμμά μας έχει κάποιες εξαρτήσεις από τη βιβλιοθήκη. Τι είναι εξάρτηση λογισμικού;

Η εξάρτηση είναι ένας ευρύς όρος μηχανικής λογισμικού που χρησιμοποιείται για να αναφέρεται όταν ένα κομμάτι λογισμικού βασίζεται σε άλλο.

Ακολουθεί μια λίστα με βιβλιοθήκες Arduino που πρέπει να έχετε στον υπολογιστή σας για να μπορέσετε να μεταγλωττίσετε το πρόγραμμα Personal Assistant:

  • ArduinoJson
  • DFRobotDFPlayerMini
  • NTPClient

Μπορείτε να τα κατεβάσετε ένα προς ένα από τη σελίδα Github και, στη συνέχεια, να εξαγάγετε τα αρχεία zip στον κατάλογο βιβλιοθήκης Arduino. Η διαδρομή του στο σύστημά σας είναι: C: / Users [your-username] Documents / Arduino

Έγραψα μια βιβλιοθήκη για να διατηρήσω τον κώδικα καθαρό και να αποφύγω την πολυπλοκότητα. Κατεβάστε το αρχείο PersonalAssistant-Library.zip και εξαγάγετε το στον κατάλογο βιβλιοθήκης Arduino. Όπως ακριβώς κάνατε για αυτές τις τρεις βιβλιοθήκες πριν.

Αρχείο YahooWeather.php

Δεδομένου ότι το ESP8266 δεν είναι αρκετά ισχυρό για την εκτέλεση αλγορίθμων κατακερματισμού, δεν μπορούμε να το χρησιμοποιήσουμε απευθείας για την αποστολή αιτημάτων HTTP στο Yahoo Weather API, βάσει προτύπων OAuth. Έτσι, θα χρησιμοποιήσουμε ένα αρχείο μεταξύ της συσκευής μας και του Yahoo Weather API. Μπορείτε να κατεβάσετε το αρχείο YahooWeather.zip, να το εξαγάγετε και να βάλετε το αρχείο YahooWeather.php σε έναν διακομιστή ιστού. Για παράδειγμα, εάν ο τομέας σας είναι example.com και τοποθετήσετε το αρχείο στον κατάλογο api, το τελικό σημείο api γίνεται example.com/api/YahooWeather.php Θα στείλετε αιτήματα δεδομένων καιρού σε αυτό το τελικό σημείο.

Το σκίτσο του προγράμματος και το FFS (σύστημα αρχείων Flash)

Ο πίνακας NodeMCU διαθέτει σύστημα αρχείων flash 4 MB για αποθήκευση δεδομένων. Έτσι, όταν το έχουμε, γιατί να μην το χρησιμοποιήσουμε;

Θυμάστε όταν είπα ότι η συσκευή μας έχει δύο διεπαφές χρήστη; Εκτός από αυτό το μοναχικό κουμπί, το δεύτερο περιβάλλον εργασίας χρήστη είναι μια απλή εφαρμογή που βασίζεται στον ιστό. Με αυτήν την εφαρμογή, μπορείτε να χειριστείτε την ουρά λειτουργίας ενεργοποιώντας / απενεργοποιώντας κάθε μονάδα, αλλάζοντας τις ρυθμίσεις υπηρεσίας ή τη διαμόρφωση συσκευής, όπως τη ρύθμιση WiFi SSID και κωδικού πρόσβασης. Θα αποθηκεύσουμε όλα αυτά τα αρχεία στο σύστημα αρχείων NodeMCU Flash και θα τρέξουμε έναν ελαφρύ διακομιστή ιστού για να χειριστούμε τα αιτήματα των χρηστών από το πρόγραμμα περιήγησής τους.

Επεξεργασία αρχείου διαμόρφωσης

Κατεβάστε το αρχείο PersonalAssistant-Sketch.zip και εξαγάγετε το κάπου στον υπολογιστή σας. Ανοίξτε το αρχείο config.json που βρίσκεται:

PersonalAssistant/data/config.json

Μπορείτε να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου ή κώδικα, όπως σημειωματάριο, σημειωματάριο ++, Atom, κ.λπ. Μπορείτε να αλλάξετε αυτά τα πεδία:

  • Gmail

    • όνομα χρήστη: το όνομα χρήστη Gmail με το @gmail.com
    • κωδικός πρόσβασης: ο κωδικός πρόσβασής σας στο Gmail
  • Καιρός

    • woeid: η τοποθεσία για την οποία θέλετε να λαμβάνετε πληροφορίες για τον καιρό. το WOEID (Where On Earth IDentifier) είναι ένα αναγνωριστικό αναφοράς που χρησιμοποιεί η Yahoo για τοποθεσία. Μπορείτε να πραγματοποιήσετε αναζήτηση σε τοποθεσίες WOEID σε αυτόν τον σύνδεσμο.
    • api: είναι το τελικό σημείο API. Ο σύνδεσμος για το αρχείο yahooweather.php.
    • appId, καταναλωτικό κλειδί και customerSecret: για πρόσβαση στο Yahoo Weather API, πρέπει να δημιουργήσετε ένα έργο στη σελίδα προγραμματιστών Yahoo. Αυτό θα σας δώσει ένα καταναλωτικό κλειδί και μυστικό που χρειάζονται για τη χρήση του API. Για να ξεκινήσετε, επισκεφθείτε τη σελίδα Yahoo Weather Developer και δημιουργήστε μια εφαρμογή.
  • Ζώνη ώρας

    ζώνη ώρας: εισαγάγετε τη ζώνη ώρας με βάση την τοποθεσία σας. Μπορεί να είναι ένας θετικός ή αρνητικός αριθμός πλωτήρα και η μονάδα του είναι ώρες

  • WiFi

    • ssid: SSID του δικτύου σας.
    • κωδικός πρόσβασης: ο κωδικός πρόσβασης δικτύου σας. Το NodeMCU θα χρησιμοποιήσει ssid και κωδικό πρόσβασης για να συνδεθεί στο δίκτυό σας wifi.

Μεταφόρτωση του προγράμματος Sketch και δεδομένων FFS

Συνδέστε το NodeMCU στον υπολογιστή σας, χρησιμοποιώντας καλώδιο micro-USB σε USB.

Τώρα ανοίξτε το αρχείο PersonalAssistant.ino που βρίσκεται:

PersonalAssistant/PersonalAssistant.ino

Στο Arduino IDE, από το Εργαλεία> Πίνακας, επιλέξτε NodeMCU 1.0 (Ενότητα ESP-12E). Από Εργαλεία> Θύρα, επιλέξτε τη σωστή θύρα. Αντιπροσωπεύει το NodeMCU σας.

Τώρα, επιλέξτε Εργαλεία> ESP8266 Sketch Data Upload, αυτό θα ανεβάσει τα περιεχόμενα του φακέλου δεδομένων στο ESP8266. Περιμένετε λίγα λεπτά μέχρι να τελειώσει. Στη συνέχεια, επιλέξτε Sketch> Upload ή απλά πατήστε τα πλήκτρα Ctrl + U στο πληκτρολόγιό σας για να ξεκινήσετε τη μεταφόρτωση του προγράμματος. Περιμένετε μέχρι να δείτε το μήνυμα "η μεταφόρτωση ολοκληρώθηκε".

Βήμα 4: Ρυθμίστε την κάρτα Micro SD

Χρησιμοποιούμε κάρτα micro SD για να αποθηκεύσουμε τα κομμάτια αρχείων MP3. Είναι το NodeMCU που αποφασίζει ποιο αρχείο πρέπει να παιχτεί σε ποια ώρα και το DFPlayer Mini τον βοηθά να κάνει μια ουσιαστική πρόταση αποκωδικοποιώντας τα αρχεία MP3.

Χρησιμοποίησα το Amazon Polly για να δημιουργήσω τα φωνητικά κομμάτια που χρειαζόμουν.

Το Amazon Polly είναι μια υπηρεσία που μετατρέπει το κείμενο σε ζωντανή ομιλία, επιτρέποντάς σας να δημιουργήσετε εφαρμογές που μιλούν και να δημιουργήσετε εντελώς νέες κατηγορίες προϊόντων με δυνατότητα ομιλίας.

Μην ξεχνάτε, η συσκευή μας δεν χρησιμοποιεί Amazon Polly API για δυναμική ομιλία. Έχουμε μερικά στατικά φωνητικά κομμάτια εκτός σύνδεσης και τα συνδυάζουμε, φτιάχνουμε διαφορετικές προτάσεις.

Χρησιμοποίησα αυτόν τον ιστότοπο για τη δημιουργία αρχείων MP3. Η έξοδος φωνής που επέλεξα ήταν Αγγλικά ΗΠΑ / Salli.

Το μόνο που χρειάζεται να κάνετε είναι να κατεβάσετε το αρχείο microSD.zip και μετά να το εξαγάγετε στην κάρτα micro SD. Περιέχει όλα τα 78 απαιτούμενα αρχεία MP3.

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

Βήμα 5: Σχεδιάζοντας τα σχήματα και ρυθμίστε το PCB

Σχεδιάζοντας τα Σχήματα και Ρυθμίζοντας το PCB
Σχεδιάζοντας τα Σχήματα και Ρυθμίζοντας το PCB
Σχεδιάζοντας τα Σχήματα και Ρυθμίζοντας το PCB
Σχεδιάζοντας τα Σχήματα και Ρυθμίζοντας το PCB
Σχεδιάζοντας τα Σχήματα και Ρυθμίζοντας το PCB
Σχεδιάζοντας τα Σχήματα και Ρυθμίζοντας το PCB
Σχεδιάζοντας τα Σχήματα και Ρυθμίζοντας το PCB
Σχεδιάζοντας τα Σχήματα και Ρυθμίζοντας το PCB

Έχω σχεδιάσει το Schematic and Board χρησιμοποιώντας το Autodesk EAGLE. Έχω συμπεριλάβει αρχεία SCH και BRD στο PersonalAssistant-PCB.zip. Μπορείτε εύκολα να το επεξεργαστείτε ή / και να το στείλετε σε έναν τοπικό ή διαδικτυακό κατασκευαστή PCB για να παραγγείλετε και να λάβετε την πλακέτα σας.

Ένα ακόμη πράγμα που πρέπει να αναφερθεί είναι ότι το ESP8266 λειτουργεί σε 3.3v ενώ το DFPlayer Mini λειτουργεί σε 5v. Δεδομένου ότι αυτές οι δύο μονάδες πρέπει να μιλούν μεταξύ τους μέσω σειριακής διεπαφής, δεν μπορούμε να συνδέσουμε απευθείας μια έξοδο 5v σε μια είσοδο 3.3v, καθώς βλάπτει το ESP8266. Έτσι θα χρειαστούμε μια μετατροπή επιπέδου από 5v σε 3,3v. Χρησιμοποιούμε μια δίοδο σήματος και μια αντίσταση 10Κ για να το κάνουμε πραγματικότητα.

Βήμα 6: Συγκολλήστε το

Συγκολλήστε το επάνω
Συγκολλήστε το επάνω
Συγκολλήστε το επάνω
Συγκολλήστε το επάνω

Η συναρμολόγηση του πίνακα είναι αρκετά απλή καθώς έχετε μερικά εξαρτήματα. Ακολουθήστε τα σχηματικά σχέδια και τα σχέδια του πίνακα στο βήμα 5 για να τοποθετήσετε εύκολα κάθε στοιχείο στη σωστή του θέση.

Ξεκίνησα κολλώντας τις αντιστάσεις και τη δίοδο, καθώς είναι μικρές. Μπορείτε εύκολα να κόψετε τις περιττές ουρές τους χρησιμοποιώντας έναν κοπτήρα σύρματος. Από πάνω προς τα κάτω, πρέπει να βάλετε αντίσταση 1Κ, 10Κ και 10Κ.

Δεν χρειάζεται να κολλήσετε όλες τις ακίδες NodeMCU και DFPlayer Mini στο PCB. Η συγκόλληση των ακίδων με ένα μονοπάτι είναι αρκετή.

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

Βήμα 7: Το περίβλημα

Το περίβλημα
Το περίβλημα
Το περίβλημα
Το περίβλημα
Το περίβλημα
Το περίβλημα

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

Αντί για το κλασικό εξάεδρο κυβικό σχήμα με 6 όψεις, σχεδίασα ένα περίβλημα πολλαπλών στρωμάτων. Από κάτω προς τα πάνω, κάθε στρώμα απλώνεται στο κάτω στρώμα του. (Τους ονόμασα L0 έως L6, από κάτω προς τα πάνω)

Χρώματα και πάχος

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

  • Κόκκινο και πράσινο
  • Μπλε και πορτοκαλί
  • Κίτρινο και Μωβ
  • Μπλε και κίτρινο

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

Το πάχος του ανώτερου στρώματος (στρώμα-6) πρέπει να είναι 2 mm. Το πάχος των άλλων στρωμάτων (στρώμα-0 έως στρώμα-5) πρέπει να είναι 4 mm. Εάν θέλετε να χρησιμοποιήσετε μια ακρυλική ασπίδα 2,8 mm, όπως έκανα εγώ, δεν υπάρχει πρόβλημα. Αλλά πρέπει να κόψετε δύο σειρές από το στρώμα-1 και το στρώμα-3 για την αντιστάθμιση.

Για να συναρμολογήσετε το περίβλημα, ξεκινήστε από το κάτω στρώμα (L0). Βάλτε την σανίδα πάνω της, χρησιμοποιήστε τα μικρότερα μπουλόνια και σφίξτε τη χρησιμοποιώντας τα παξιμάδια. Μπορείτε τώρα, να συνδέσετε τα τέσσερα μακρύτερα μπουλόνια από το κάτω μέρος του στρώματος-0. Κάτι σαν πύργος. Στη συνέχεια, μπορείτε εύκολα να συνεχίσετε να τοποθετείτε άλλα στρώματα πάνω τους.

Σημείωση: Μπορείτε να χρησιμοποιήσετε μια προαιρετική ροδέλα μεταξύ του κάτω στρώματος και της πλακέτας.

Έχω προσθέσει επίσης κείμενα πληροφοριών για θύρες συσκευών (τροφοδοσία και κάρτα micro SD). Μπορείτε να χρησιμοποιήσετε χάραξη λέιζερ στο πάνω στρώμα.

Έχω συμπεριλάβει και τις δύο μορφές αρχείων CDR και DXF. Μπορείτε να τα κατεβάσετε, να τα επεξεργαστείτε και να τα χρησιμοποιήσετε για κοπή με λέιζερ.

Βήμα 8: Πρόσβαση στο περιβάλλον εργασίας χρήστη που βασίζεται στον ιστό

Πρόσβαση στο περιβάλλον εργασίας χρήστη που βασίζεται στο Web
Πρόσβαση στο περιβάλλον εργασίας χρήστη που βασίζεται στο Web

Ενεργοποιήστε τη συσκευή

Μπορείτε να ενεργοποιήσετε τη συσκευή, χρησιμοποιώντας οποιονδήποτε φορτιστή micro USB 5v. Συνδέστε το micro USB στη θύρα τροφοδοσίας της συσκευής, δηλαδή την είσοδο micro USB στο NodeMCU.

Πρόσβαση στο User Interace

Θυμάστε ότι ανεβάσαμε κάποια αρχεία στο σύστημα αρχείων Flash ESP8266; It'sρθε η ώρα να το χρησιμοποιήσετε. Το μόνο που χρειάζεστε είναι η διεύθυνση IP που έχει εκχωρηθεί στο ESP8266 στο δίκτυο. Υπάρχουν πολλοί διαφορετικοί τρόποι εύρεσης της διεύθυνσης IP. Θα παραθέσω μερικά από αυτά εδώ:

  • Στη σελίδα διαμόρφωσης του δρομολογητή σας, κάπου στη λίστα μισθώσεων DHCP, μπορείτε να δείτε τη λίστα των συσκευών με τις διευθύνσεις IP τους στο δίκτυό σας.
  • Στα Microsoft Windows και macOS μπορείτε να εκτελέσετε εντολές όπως το arp -a στο τερματικό.
  • Σε Android και iOS, μπορείτε να χρησιμοποιήσετε εφαρμογές όπως το Fing. (Android / iOS)
  • Στο Linux, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το Nmap.

Αφού βρείτε τη διεύθυνση IP, ανοίξτε την χρησιμοποιώντας το πρόγραμμα περιήγησης ιστού. Μπορείτε να χειριστείτε την ουρά λειτουργίας ενεργοποιώντας / απενεργοποιώντας ενότητες.

Βήμα 9: Τελικές σκέψεις

Αυτό το έργο ήταν πολύ χρονοβόρο και χρονοβόρο. Μπορείτε να προσθέσετε πολλές περισσότερες επιλογές στον Προσωπικό Βοηθό. Άφησα ορισμένα μέρη ανοιχτά για μελλοντική εξέλιξη. Μερικά μέρη όπως:

  1. Προσθήκη περισσότερων υπηρεσιών και ενότητας. Για παράδειγμα, μετρώντας αριθμούς, ρίχνοντας ένα ζάρι ή αναποδογυρίζοντας ένα νόμισμα.
  2. Μετά τη σύνδεση στο δίκτυο, η συσκευή μπορεί να μιλήσει τη διεύθυνση IP. Μπορείτε να προσθέσετε αυτήν την επιλογή για να απλοποιήσετε τη διαδικασία εύρεσης διεύθυνσης IP.
  3. Προσθέτοντας τη δυνατότητα αλλαγής των ρυθμίσεων WiFi στον πίνακα ελέγχου που βασίζεται στο διαδίκτυο.
  4. Προσθέτοντας τη δυνατότητα αλλαγής των ρυθμίσεων υπηρεσίας στον πίνακα ελέγχου που βασίζεται στον ιστό. (Η φόρμα html τους είναι έτοιμη. Πρέπει να χειριστείτε αιτήματα)
  5. Προσθήκη περισσότερων φωνητικών αποκρίσεων σε διαφορετικές καταστάσεις της συσκευής.
  6. Προσθήκη σελίδας σύνδεσης για τον πίνακα ελέγχου που βασίζεται στον ιστό. Μπορείτε να το κάνετε αυτό προσθέτοντας / συγκρίνοντας Cookies σε γραμμές κεφαλίδας

Και, θα ήθελα πολύ να μάθω τις ιδέες σας για αυτό το διδακτικό.:)

Συνιστάται: