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

Επικοινωνία Arduino προς Laravel: 4 βήματα
Επικοινωνία Arduino προς Laravel: 4 βήματα

Βίντεο: Επικοινωνία Arduino προς Laravel: 4 βήματα

Βίντεο: Επικοινωνία Arduino προς Laravel: 4 βήματα
Βίντεο: Laravel, REST API, o Σωστός Τρόπος #45, live 2024, Ιούλιος
Anonim
Image
Image
Επικοινωνία Arduino προς Laravel
Επικοινωνία Arduino προς Laravel

Γεια σε όλους, Σε αυτό το Instructable, θα σας δείξω πώς μπορείτε να στείλετε δεδομένα από ένα Arduino σε μια εφαρμογή Laravel.

Βήμα 1: Εισαγωγή

Εισαγωγή
Εισαγωγή
Εισαγωγή
Εισαγωγή

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

Για αυτό το έργο θα χρησιμοποιήσουμε έναν πίνακα NodeMCU v1.0 που έχει μια μονάδα ESP8266 12e επί του σκάφους. Επιπλέον, θα χρειαστεί να χρησιμοποιήσουμε έναν υπολογιστή όπου μπορούμε να φιλοξενήσουμε την εφαρμογή Laravel. Αν θέλετε να μάθετε πώς μπορείτε να ρυθμίσετε ένα τέτοιο περιβάλλον, ελέγξτε το βίντεό μου σε αυτό.

Βήμα 2: Προετοιμάστε την εφαρμογή Laravel

Προετοιμάστε την εφαρμογή Laravel
Προετοιμάστε την εφαρμογή Laravel
Προετοιμάστε την εφαρμογή Laravel
Προετοιμάστε την εφαρμογή Laravel

Το πρώτο μας βήμα είναι να εγκαταστήσουμε το Laravel μέσω του Composer. Δεν θα μπω σε λεπτομέρειες για το πώς μπορείτε να το κάνετε αυτό καθώς η τεκμηρίωση το εξηγεί λεπτομερώς και μπορείτε να το βρείτε εδώ.

Για να κρατήσουμε απλό αυτό το demo, στο Laravel θα καταγράψουμε τις πληροφορίες που αποστέλλονται από το Arduino σε ένα αρχείο κειμένου, ώστε να μπορούμε να τις εξετάσουμε αργότερα. Για αυτό θα δημιουργήσουμε πρώτα μια νέα διαδρομή POST στο αρχείο "api.php". Στην επανάκληση, θα εισάγουμε τα στοιχεία του αιτήματος, ώστε να μπορέσουμε αργότερα να ανακτήσουμε τις παραμέτρους που αποστέλλονται.

Για να γράψω σε ένα αρχείο, χρησιμοποιώ την πρόσοψη αποθήκευσης από το Laravel με τη βολική μέθοδο προσθήκης. Όταν κληθεί, αυτή η μέθοδος λαμβάνει ένα όνομα αρχείου και δεδομένα συμβολοσειράς όπου προσθέτει αυτά τα δεδομένα στο καθορισμένο αρχείο. Εάν το αρχείο δεν υπάρχει, τότε δημιουργείται κατά την πρώτη κλήση.

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

Βήμα 3: Προετοιμάστε τον αποστολέα Arduino

Προετοιμάστε τον αποστολέα Arduino
Προετοιμάστε τον αποστολέα Arduino
Προετοιμάστε τον αποστολέα Arduino
Προετοιμάστε τον αποστολέα 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.

Ευχαριστώ!

Συνιστάται: