Πίνακας περιεχομένων:
- Βήμα 1: Εισαγωγή
- Βήμα 2: Προετοιμάστε την εφαρμογή Laravel
- Βήμα 3: Προετοιμάστε τον αποστολέα Arduino
- Βήμα 4: Περισσότερα βήματα
Βίντεο: Επικοινωνία Arduino προς Laravel: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Γεια σε όλους, Σε αυτό το Instructable, θα σας δείξω πώς μπορείτε να στείλετε δεδομένα από ένα Arduino σε μια εφαρμογή Laravel.
Βήμα 1: Εισαγωγή
Κάθε φορά που έχουμε ένα έργο που απαιτεί εμφάνιση και καταγραφή δεδομένων, συνήθως απαιτείται να έχουμε τα δεδομένα διαθέσιμα στον ιστό. Με αυτόν τον τρόπο μπορούμε ενδεχομένως να παρακολουθούμε την κατάσταση ενός αντικειμένου από απόσταση ή ακόμα και να ελέγχουμε τις συσκευές μας από οπουδήποτε στον κόσμο.
Για αυτό το έργο θα χρησιμοποιήσουμε έναν πίνακα NodeMCU v1.0 που έχει μια μονάδα ESP8266 12e επί του σκάφους. Επιπλέον, θα χρειαστεί να χρησιμοποιήσουμε έναν υπολογιστή όπου μπορούμε να φιλοξενήσουμε την εφαρμογή Laravel. Αν θέλετε να μάθετε πώς μπορείτε να ρυθμίσετε ένα τέτοιο περιβάλλον, ελέγξτε το βίντεό μου σε αυτό.
Βήμα 2: Προετοιμάστε την εφαρμογή Laravel
Το πρώτο μας βήμα είναι να εγκαταστήσουμε το Laravel μέσω του Composer. Δεν θα μπω σε λεπτομέρειες για το πώς μπορείτε να το κάνετε αυτό καθώς η τεκμηρίωση το εξηγεί λεπτομερώς και μπορείτε να το βρείτε εδώ.
Για να κρατήσουμε απλό αυτό το demo, στο Laravel θα καταγράψουμε τις πληροφορίες που αποστέλλονται από το Arduino σε ένα αρχείο κειμένου, ώστε να μπορούμε να τις εξετάσουμε αργότερα. Για αυτό θα δημιουργήσουμε πρώτα μια νέα διαδρομή POST στο αρχείο "api.php". Στην επανάκληση, θα εισάγουμε τα στοιχεία του αιτήματος, ώστε να μπορέσουμε αργότερα να ανακτήσουμε τις παραμέτρους που αποστέλλονται.
Για να γράψω σε ένα αρχείο, χρησιμοποιώ την πρόσοψη αποθήκευσης από το Laravel με τη βολική μέθοδο προσθήκης. Όταν κληθεί, αυτή η μέθοδος λαμβάνει ένα όνομα αρχείου και δεδομένα συμβολοσειράς όπου προσθέτει αυτά τα δεδομένα στο καθορισμένο αρχείο. Εάν το αρχείο δεν υπάρχει, τότε δημιουργείται κατά την πρώτη κλήση.
Τα δεδομένα που γράφουμε σε κάθε σειρά αποτελούνται από την τρέχουσα ημερομηνία και ώρα, ακολουθούμενη από τις τιμές αιτήματος για τη θερμοκρασία και την υγρασία. Εάν έχετε πολλές τέτοιες τιμές, μπορείτε να επαναλάβετε την ίδια διαδικασία ανάκτησης για όλες.
Βήμα 3: Προετοιμάστε τον αποστολέα Arduino
Ας δούμε τώρα τον κώδικα Arduino και την αποστολή δεδομένων.
Για να μπορέσει ο πίνακας NodeMCU να συνδεθεί στο WiFi μας και να στείλει ένα αίτημα, πρέπει πρώτα να συμπεριλάβουμε αρκετές βιβλιοθήκες στο επάνω μέρος. Στη συνέχεια πρέπει να καθορίσουμε το SSID του δικτύου στο οποίο συνδέουμε και τον κωδικό πρόσβασής του. Εάν χρησιμοποιείτε Uno με ασπίδα Ethernet, τότε η διαδικασία σας θα είναι διαφορετική.
Επίσης, αποθηκεύουμε εδώ τη διεύθυνση URL του διακομιστή Laravel που μόλις δημιουργήσαμε. Στην περίπτωσή μου, αυτή είναι η διεύθυνση IP του τοπικού υπολογιστή μου, αλλά μπορείτε να προσθέσετε οποιαδήποτε διεύθυνση URL κεντρικού υπολογιστή, όπου ο κώδικας είναι προσβάσιμος.
Στη λειτουργία ρύθμισης, ξεκινάμε τη σειριακή επικοινωνία, ώστε να μπορούμε να παρακολουθούμε τι συμβαίνει. Επιπλέον, πρέπει να ρυθμίσουμε την πλακέτα NodeMCU, ώστε να μπορεί να συνδεθεί σωστά στο WiFi. Μόλις γίνει αυτό, μπορούμε να ξεκινήσουμε τη σύνδεση και να περιμένουμε μέχρι να λάβουμε μια διεύθυνση IP από το δρομολογητή.
Για αυτό το παράδειγμα, δεν έχω κανέναν αισθητήρα συνδεδεμένο στην πλακέτα. Αντ 'αυτού, απλώς δημιουργώ κάποια τυχαία δεδομένα χρησιμοποιώντας την τυχαία συνάρτηση και τα στέλνω ξανά.
Αυτά τα δεδομένα πρέπει να προετοιμαστούν με τη μορφή μιας συμβολοσειράς ερωτήματος και αφού ξεκινήσει το αίτημα HTTP, πρέπει να τα στείλουμε χρησιμοποιώντας τη μέθοδο POST στο πρόγραμμα -πελάτη HTTP. Η κεφαλίδα που προσθέσαμε πριν υπάρχει για να ενημερώσει τον διακομιστή ότι υπάρχουν δεδομένα στο αίτημα που πρέπει να συγκεντρώσει.
Ως αποτέλεσμα, παίρνουμε πρώτα τον κωδικό κατάστασης HTTP και στη συνέχεια το ωφέλιμο φορτίο απόκρισης. Εάν όλα πήγαν ομαλά, θα πρέπει να πάρουμε τον κωδικό 200 και επειδή δεν επιστρέψαμε τίποτα από την εφαρμογή Laravel, το ωφέλιμο φορτίο θα είναι κενό.
Εάν για κάποιο λόγο ο κωδικός κατάστασης δεν είναι 200, τότε το ωφέλιμο φορτίο θα περιέχει συνήθως το μήνυμα σφάλματος για το τι συνέβη.
Στο τέλος, πρέπει να φροντίσουμε να κλείσουμε το αίτημα και να περιμένουμε συγκεκριμένο χρόνο, 5 δευτερόλεπτα στο παράδειγμά μας για να κάνουμε ξανά την ίδια διαδικασία.
Το αποτέλεσμα είναι ότι λαμβάνουμε αυτές τις τιμές αποθηκευμένες στο αρχείο κειμένου σε κάθε επανάληψη, ώστε να μπορούμε αργότερα να το χρησιμοποιήσουμε είτε για να το εμφανίσουμε είτε να το χαρτογραφήσουμε σε ένα γράφημα.
Βήμα 4: Περισσότερα βήματα
Όπως μπορείτε να δείτε, η διαδικασία είναι αρκετά απλή και μπορεί εύκολα να επεκταθεί για να διαβάσετε τις τιμές από διαφορετικούς αισθητήρες και ίσως να τις καταγράψετε σε μια βάση δεδομένων. Το αποτέλεσμα αυτού που μπορείτε να χτίσετε με αυτό περιορίζεται μόνο από τη φαντασία σας. Για να σας βοηθήσουμε να ξεκινήσετε, ακολουθεί ένας σύνδεσμος προς τον πλήρη πηγαίο κώδικα που χρησιμοποιείται στο παράδειγμα.
github.com/bkolicoski/arduino-laravel-comm…
Ελπίζω ότι καταφέρατε να μάθετε κάτι νέο από αυτό το Instructable και αν το μάθατε, ενημερώστε με στα σχόλια, ακολουθήστε με στο Instructables και μην ξεχάσετε να εγγραφείτε στο κανάλι μου στο YouTube.
Ευχαριστώ!
Συνιστάται:
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino - Βήματα βήμα προς βήμα: 4 βήματα
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino | Βήματα βήμα προς βήμα: Σε αυτό το έργο, θα σχεδιάσω ένα απλό κύκλωμα αισθητήρα στάθμευσης αντίστροφης στάθμευσης αυτοκινήτου Arduino χρησιμοποιώντας Arduino UNO και υπερηχητικό αισθητήρα HC-SR04. Αυτό το σύστημα ειδοποίησης αυτοκινήτου με βάση το Arduino μπορεί να χρησιμοποιηθεί για αυτόνομη πλοήγηση, κλίμακα ρομπότ και άλλα εύρη
Ακουστική Αλλαγή με Arduino Uno Βήμα προς βήμα (8 βήματα): 8 Βήματα
Acoustic Levitation With Arduino Uno Βήμα προς βήμα (8 βήματα): υπερηχητικοί μετατροπείς ήχου L298N DC τροφοδοτικό θηλυκού με αρσενικό dc pin Arduino UNOBreadboardΠώς λειτουργεί: Πρώτα, ανεβάζετε κώδικα στο Arduino Uno (είναι ένας μικροελεγκτής εξοπλισμένος με ψηφιακό και αναλογικές θύρες για μετατροπή κώδικα (C ++)
RC Tracked Robot Using Arduino - Βήμα προς βήμα: 3 Βήματα
RC Tracked Robot Using Arduino - Step by Step: Γεια σας παιδιά, επιστρέφω με ένα άλλο δροσερό πλαίσιο Robot από το BangGood. Ελπίζω να έχετε περάσει από τα προηγούμενα έργα μας - Spinel Crux V1 - The Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms and The Badland Braw
Στρέφοντας την κάμερα TELLO προς τα εμπρός προς τα κάτω: 10 βήματα
Στρέφοντας προς τα κάτω την κάμερα TELLO προς τα κάτω: Αυτό το εκπαιδευτικό δεν συνιστάται για αρχάριους. Θα πρέπει να έχετε αρκετή τεχνική εμπιστοσύνη πριν ανοίξετε και τροποποιήσετε το drone σας Tello. Κατοπιν τουτου; Αυτός είναι ένας πολύ καλός τρόπος για να αποκτήσετε ένα δίκαιο ποσό τεχνικής εμπιστοσύνης;) Έτσι θέλετε
DIY Arduino Robotic Arm, Βήμα προς Βήμα: 9 Βήματα
DIY Arduino Robotic Arm, Step by Step: Αυτά τα σεμινάρια σας διδάσκουν πώς να φτιάξετε μόνοι σας ένα βραχίονα ρομπότ