Δώστε το Πρόγραμμά σας Arduino Το δικό του Mini-Webserver, με Ασπίδα Ethernet

Πριν από λίγο καιρό σας έδειξα πώς να ρυθμίσετε ένα σύστημα ελέγχου Internet για το Arduino σας - αλλά έπρεπε να παραμείνει συνδεδεμένο με έναν υπολογιστή μέσω USB για να διατηρήσει τη σύνδεση στο internet. Εάν όμως διαθέτετε μια θύρα Ethernet, αυτό δεν είναι απαραίτητο Σήμερα θα εξετάσουμε τη δημιουργία ενός Arduino ως βασικού εξυπηρετητή ώστε να μπορέσουμε να φιλοξενήσουμε τον δικό μας δικτυακό τόπο ελέγχου συσκευών.

Πριν από λίγο καιρό σας έδειξα πώς να ρυθμίσετε ένα σύστημα ελέγχου Internet για το Arduino σας - αλλά έπρεπε να παραμείνει συνδεδεμένο με έναν υπολογιστή μέσω USB για να διατηρήσει τη σύνδεση στο internet.  Εάν όμως διαθέτετε μια θύρα Ethernet, αυτό δεν είναι απαραίτητο Σήμερα θα εξετάσουμε τη δημιουργία ενός Arduino ως βασικού εξυπηρετητή ώστε να μπορέσουμε να φιλοξενήσουμε τον δικό μας δικτυακό τόπο ελέγχου συσκευών.
Διαφήμιση

arduino web server Πριν από λίγο, σας έδειξα πώς να ρυθμίσετε ένα σύστημα ελέγχου Internet για το Arduino σας Πώς να ρυθμίσετε το Arduino Web Control χωρίς μια θωράκιση Ethernet Πώς να ρυθμίσετε τον έλεγχο του Arduino Web χωρίς μια ασπίδα Ethernet Για τις τελευταίες εβδομάδες παρέδωσα τον έλεγχο το φωτισμό διάθεσης στο στούντιο μου στους θεατές κατά τη διάρκεια της ζωντανής μετάδοσης της Technophilia Podcast - μπορείτε να δείτε τα αποτελέσματα αυτού του ... Διαβάστε περισσότερα - αλλά έπρεπε να παραμείνει συνδεδεμένος με έναν υπολογιστή μέσω USB για να διατηρήσει τη σύνδεση στο internet. Εάν όμως διαθέτετε μια θύρα Ethernet, αυτό δεν είναι απαραίτητο Σήμερα θα εξετάσουμε τη δημιουργία ενός Arduino ως βασικού εξυπηρετητή ώστε να μπορέσουμε να φιλοξενήσουμε τον δικό μας δικτυακό τόπο ελέγχου συσκευών.

Θα χρειαστείτε:

  • Ένας Arduino ή κλώνος Arduino όπως αναλυτικά εδώ Μην ξοδεύετε χρήματα σε ένα Arduino - Φτιάξτε το δικό σας για πολύ λιγότερα Μην ξοδέψετε χρήματα σε ένα Arduino - Φτιάξτε το δικό σας για πολύ λιγότερα Αγαπώ τον Arduinos μου. Σε κάθε σημείο, έχω αρκετά έργα εν κινήσει - τα πρωτότυπα είναι απλά τόσο εύκολα μαζί τους. Αλλά μερικές φορές, θέλω να διατηρήσω το έργο λειτουργικό χωρίς να το αγοράσω ... Διαβάστε περισσότερα
  • Ethernet Shield (~ $ 35) - βεβαιωθείτε ότι έχετε μια έκδοση που ταιριάζει με το Arduino, καθώς δεν είναι όλα συμβατά
  • Εφεδρική θύρα στο δρομολογητή ή στον διακόπτη και καλώδιο Ethernet
  • Το παράδειγμα WebServer που παρέχεται στην εφαρμογή Arduino

Εγκαθιστώ

Η θύρα Ethernet χρησιμοποιεί τους ακροδέκτες 10 έως 13 για τον έλεγχο της σύνδεσης δικτύου, έτσι αφήστε τα έξω από το έργο σας. pin 4 χρησιμοποιείται επίσης για την κάρτα SD, αλλά δεν θα το χρησιμοποιήσουμε σήμερα.

Πρώτα πράγματα - ανοίξτε το Αρχείο -> Παραδείγματα -> Ethernet -> WebServer που παρέχεται μέσα στο IDE του Arduino. Βρείτε τις γραμμές που αφορούν MAC και διεύθυνση IP.

arduino web server

Η διεύθυνση MAC για τη δική μου βρέθηκε στο κουτί - η δική σας μπορεί να είναι στην ίδια την ασπίδα. Ρυθμίστε την πρώτη γραμμή τιμών - πρέπει όμως να αφήσετε το προηγούμενο bit 0x . Από τεχνικής απόψεως, δεν έχει σημασία τι βάζετε εδώ εφ 'όσον δεν έχετε οποιεσδήποτε αντικρουόμενες τιμές στο υποδίκτυο σας - αλλά ακόμα και έτσι, αυτή ήταν η διεύθυνση που ανέθεσε ο κατασκευαστής, οπότε θα έπρεπε ίσως να τηρήσουμε αυτό. Απλά ξέρετε ότι αν το κάνετε λάθος, θα εξακολουθεί να λειτουργεί.

arduino παράδειγμα webserver

Ακολουθεί η διεύθυνση IP. Θέλουμε μια συγκεκριμένη σταθερή διεύθυνση ώστε να μπορούμε να ρυθμίσουμε σωστά την προώθηση των θυρών - η ασπίδα είναι ικανή να πάρει μια διεύθυνση από το DHCP, αλλά αυτό είναι χρήσιμο μόνο αν πρόκειται απλώς να χρησιμοποιηθεί ως πελάτης, όχι ως διακομιστής. Συμπληρώστε μια διεύθυνση IP που είναι αχρησιμοποίητη και αξέχαστη στο τοπικό σας δίκτυο, στο δρομολογητή σας IP και στο 255.255.255.0 (το υποδίκτυο). Εάν δεν είναι λογικό για εσάς, πηγαίνετε να διαβάσετε τον ελεύθερο και λεπτομερή οδηγό μας για την οικιακή δικτύωση Όλα όσα πρέπει να ξέρετε για την οικιακή δικτύωση Όλα όσα πρέπει να ξέρετε για την οικιακή δικτύωση Η εγκατάσταση ενός οικιακού δικτύου δεν είναι τόσο σκληρή όσο νομίζετε ότι είναι . Διαβάστε περισσότερα .

Προώθηση θυρών

Επεξεργαστείτε τη γραμμή που αναφέρει τον διακομιστή EthernetServer (αριθμός) και αλλάξτε τον αριθμό σε 8081 . Αυτό θα ρυθμίσει τον διακομιστή μας για να ακούσει στη θύρα 8081 σε περίπτωση που ο ISP σας αποκλείει την κυκλοφορία ιστού στην παραδοσιακή θύρα 80.

Μεταφορτώστε το demo σε αυτό το σημείο και δοκιμάστε το από ένα τοπικό μηχάνημα. Φυσικά θα χρειαστεί να συνδέσετε και το καλώδιο Ethernet. Κρατήστε το USB συνδεδεμένο επίσης, καθώς το χρειαζόμαστε για την τροφοδοσία - μπορείτε να το αντικαταστήσετε με τροφοδοτικό 9V αργότερα, αλλά δοκιμάζουμε ακόμα.

Noob-tip: Εάν εμφανιστεί αυτό το σφάλμα, αυτό σημαίνει ότι εσείς εσφαλμένα βάλατε μια κεφαλή Ο αντί για 0 στην περιοχή διεύθυνσης MAC. Δεν υπάρχει τιμή O σε hex τιμές! Εάν είστε πραγματικά νέοι, ίσως αξίζει τον κόπο να δείτε τον οδηγό Arduino του αρχαρίου μας!

arduino παράδειγμα webserver

Για να αποκτήσετε πρόσβαση στο Arduino, πληκτρολογήστε τη διεύθυνση και τον αριθμό θύρας απευθείας από ένα πρόγραμμα περιήγησης.

arduino παράδειγμα webserver

Θα πρέπει να δείτε κάτι τέτοιο - μέχρι στιγμής τόσο καλό. Δυστυχώς, αυτό είναι μόνο προσβάσιμο από το τοπικό δίκτυο αυτή τη στιγμή, οπότε κατευθυνθείτε στη σελίδα διαμόρφωσης θύρας του δρομολογητή σας για να ρυθμίσετε μια ανακατεύθυνση από τη θύρα 8081 στην ίδια θύρα της IP της Arduino σας ( δείτε: Τι είναι η Προώθηση Port; Πώς μπορώ να με βοηθήσω [MakeUseOf Εξηγεί] Τι είναι το Port Forwarding και πώς μπορεί να με βοηθήσει [MakeUseOf Εξηγεί] Κλαίτε λίγο μέσα όταν κάποιος σας λέει ότι υπάρχει ένα πρόβλημα προώθησης θύρας και αυτός είναι ο λόγος για τον οποίο η λαμπερή σας νέα εφαρμογή κέρδισε " t το Xbox σας δεν θα σας αφήσει να παίξετε παιχνίδια, τα torrent downloads σας αρνούνται ... Διαβάστε περισσότερα )

arduino tutorial web server

Δοκιμάστε αυτό έξω από μια κινητή συσκευή Internet 3G με Wi-Fi απενεργοποιημένη. θυμηθείτε να χρησιμοποιήσετε τη δημόσια διεύθυνση IP και όχι τη διεύθυνση τοπικού δικτύου. Ο δρομολογητής σας θα πρέπει να μπορεί να σας το πει αυτό, ή απλά να ρωτήσετε την Google "τι είναι το ip μου".

arduino web server

Κατανοώντας την έξοδο

Η σελίδα που προβάλλεται στο demo διαβάζει τιμές από τις αναλογικές καρφίτσες - αλλά επειδή δεν υπάρχει τίποτα συνδεδεμένο με αυτό, θα πάρετε ανοησίες. Δοκιμάστε να συνδέσετε έναν αισθητήρα φωτός (φωτοανιχνευτή) στη θύρα A0 και + 5v, με αντίσταση 10k επίσης σε A0 και GND (αυτό είναι ένας διαχωριστής τάσης, αφού οι αναλογικές ακίδες μπορούν να διαβάσουν μόνο την τάση και όχι την αντίσταση) είναι στην πραγματικότητα ανάγνωση αξιών. Παρατηρήστε ότι όταν η ένταση του φωτός αλλάζει, οι τιμές στις άλλες ακίδες πραγματικά αλλάζουν - πάρα πολύ επειδή δεν είναι όλες συνδεδεμένες.

Λήψη αλληλεπιδραστικών

Η ανάγνωση αυτών των αξιών είναι καλή και καλή, αλλά κάνοντας το άλμα στον έλεγχο ενός Arduino από εδώ είναι ένα άλμα και έξω από το πεδίο αυτού του εκπαιδευτικού σήμερα. Αντί να ανακαλύψουμε ξανά τον τροχό, θα σας δείξω προς τον χρήστη Hari του forum του Arduino ο οποίος έγραψε ένα βασικό API για αλληλεπίδραση με ψηφιακές καρφίτσες. Χρησιμοποιώντας αυτόν τον κώδικα (το έχω τροποποιήσει για να λειτουργήσει με την πιο πρόσφατη βιβλιοθήκη Ethernet), συνδέστε το μακρύ καλώδιο μιας LED (ανόδου) με τον ακροδέκτη 8 και το βραχυκύκλωμα με τον ακροδέκτη 7 (με κατάλληλη αντίσταση). Στη συνέχεια μπορείτε να χρησιμοποιήσετε τις διευθύνσεις URL της φόρμας http: // ip: port / digitalWrite / 8/1 για να ενεργοποιήσετε τη λυχνία LED και http: // ip: port / digitalWrite / 8/0 για να την απενεργοποιήσετε και να διαβάσετε αναλογικές τιμές με analogRead / 0 .

Αυτό το παράδειγμα από το bildr θα σας διδάξει επίσης πώς μπορείτε να ελέγξετε μια ακολουθία LEDs διαβάζοντας το αίτημα GET.

Μπορείτε επίσης να κάνετε checkout αυτού του παραδείγματος το οποίο εξάγει μια φόρμα στη σελίδα για να ελέγξετε ένα LED Rink blinkm, αν και θα μπορούσατε εύκολα να το προσαρμόσετε για μια λωρίδα RGB, όπως το δυναμικό έργο φωτισμού περιβάλλοντος Δημιουργήστε το δικό σας Δυναμικό φωτισμό περιβάλλοντος για ένα κέντρο Media Center Το δικό σας δυναμικό φωτισμό περιβάλλοντος για ένα κέντρο πολυμέσων Αν παρακολουθήσετε πολλές ταινίες στο PC ή στο κέντρο πολυμέσων σας, είμαι βέβαιος ότι έχετε αντιμετωπίσει το δίλημμα φωτισμού. απενεργοποιείτε εντελώς όλα τα φώτα; Τους κρατάτε σε πλήρη έκρηξη; Ή ... Διαβάστε περισσότερα χτίσαμε λίγο πίσω.

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

In this article