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

Beaglebone Black Web Control Using WebPy: 6 βήματα
Beaglebone Black Web Control Using WebPy: 6 βήματα

Βίντεο: Beaglebone Black Web Control Using WebPy: 6 βήματα

Βίντεο: Beaglebone Black Web Control Using WebPy: 6 βήματα
Βίντεο: Cory Doctorow: Aaron Swartz and Hacktivism 2024, Ιούλιος
Anonim
Beaglebone Black Web Control χρησιμοποιώντας WebPy
Beaglebone Black Web Control χρησιμοποιώντας WebPy
Beaglebone Black Web Control χρησιμοποιώντας WebPy
Beaglebone Black Web Control χρησιμοποιώντας WebPy

Θέλατε ποτέ να δημιουργήσετε έναν τρόπο ελέγχου της πόρτας του γκαράζ σας χρησιμοποιώντας το τηλέφωνό σας, ίσως να συλλέγετε δεδομένα και να τα βλέπετε από το φορητό υπολογιστή σας. Υπάρχει ένας ενιαίος υπολογιστής που ονομάζεται Beaglebone Black, ο οποίος είναι μια εξαιρετικά ισχυρή συσκευή που σας επιτρέπει να ελέγχετε τις καρφίτσες GPIO για να αλληλεπιδράτε με αντικείμενα του πραγματικού κόσμου, όπως κινητήρες, LED, λαμπτήρες κλπ. Το Beaglebone είναι ακριβώς σαν ένα βατόμουρο pi σανίδα αλλά πολύ πιο ισχυρή. Η κοινότητα Beaglebone δεν είναι τόσο τεράστια όσο το raspberry pi, οπότε προειδοποιήστε για την έλλειψη σεμιναρίων.

Καθώς έψαχνα στο διαδίκτυο για μια λύση για τον έλεγχο του Beaglebone Black από το φορητό υπολογιστή μου χρησιμοποιώντας μια ιστοσελίδα, πολλά μαθήματα εμφανίστηκαν χρησιμοποιώντας τη βιβλιοθήκη του Beaglebone και την βιβλιοθήκη socket.io χρησιμοποιώντας το cloud 9 ide. Καθώς ακολουθούσα τα σεμινάρια και έβλεπα τον κώδικα των ανθρώπων, απογοητεύτηκα λόγω του γεγονότος ότι το cloud 9 ide συνέχιζε να συντρίβεται, η έλλειψη κατανόησης του javascript και επίσης η έλλειψη ευελιξίας κάθε σεμιναρίου (κάθε σεμινάριο σας ανάγκασε να χρησιμοποιήσετε μια προκαθορισμένη ποσότητα GPIO's). Iμουν εξοικειωμένος με την python και ο φίλος μου με παρουσίασε στο web.py που είναι ένα εξαιρετικό πλαίσιο ιστού που χρησιμοποιείται για την ανάπτυξη εφαρμογών ιστού. Χρησιμοποίησα επίσης τη βιβλιοθήκη του Adafruit's Beaglebone Black GPIO για να ελέγξω τις επιμέρους καρφίτσες του Beaglebone Black.

Τι θα χρειαστείτε:

  • Ενας υπολογιστής
  • Τερματικό SSH όπως το PuTTY ή χρησιμοποιήστε SSH στο τερματικό (Για Mac και Linux, τα Windows δεν έχουν ενσωματωμένο SSH)
  • Ένα Beaglebone Black συνδέεται στον υπολογιστή μέσω USB
  • Μια σύνδεση στο Διαδίκτυο με το Beaglebone Black
  • (προαιρετικό) Ένας πελάτης SFTP

Βήμα 1: Εγκαταστήστε τις απαιτούμενες βιβλιοθήκες Python

Πρέπει να εγκαταστήσουμε δύο βιβλιοθήκες που δεν είναι τυπικές λειτουργικές μονάδες στο python 2.7. Οι βιβλιοθήκες είναι οι βιβλιοθήκες Adafruit BBIO και WebPy. Πρέπει να έχουμε πρόσβαση στο Beaglebone χρησιμοποιώντας SSH. Αποφάσισα να χρησιμοποιήσω το τερματικό PuTTy και να αποκτήσω πρόσβαση σε αυτό χρησιμοποιώντας τη διεύθυνση IP του beaglebone, το δικό μου είναι 192.168.7.2 το δικό σας μπορεί να βρεθεί στο beaglebone start.html. Εάν χρησιμοποιείτε Angstrom, πληκτρολογήστε:

  • opkg ενημέρωση && opkg εγκατάσταση python-pip python-setuptools python-smbus
  • pip εγκατάσταση Adafruit_BBIO
  • pip install web.py

Εάν χρησιμοποιείτε Debian ή Ubuntu:

  • sudo apt-get ενημέρωση
  • sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
  • pip εγκατάσταση Adafruit_BBIO
  • pip εγκατάσταση web.py

Για να ελέγξετε αν οι βιβλιοθήκες είναι σωστά εγκατεστημένες, πληκτρολογήστε:

  • Πύθων
  • εισαγωγή ιστού
  • εισαγωγή Adafruit_BBIO. GPIO

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

Βήμα 2: Ο κώδικας Python

Ο κώδικας Python
Ο κώδικας Python

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

Την τεκμηρίωση των 2 βιβλιοθηκών μπορείτε να βρείτε εδώ:

  • Web.py
  • Βιβλιοθήκη Adafruit GPIO

Έχω γράψει κώδικα και τον σχολίασα για να τον καταλάβετε και να τον πειράξετε.

Βήμα 3: Δημιουργία της ιστοσελίδας

Δημιουργία της ιστοσελίδας
Δημιουργία της ιστοσελίδας

Εάν έχετε τον κώδικα python που επισυνάπτω, μπορείτε να με δείτε να μιλάω για αίτημα GET. Ένα αίτημα GET είναι βασικά ένας τρόπος επικοινωνίας μιας ιστοσελίδας με έναν διακομιστή. Για να προσθέσουμε, να διαγράψουμε και να αλλάξουμε τις εξόδους που χρησιμοποιούμε το Jquery για να κάνουμε κάποια βασικά αιτήματα λήψης. Έχω επισυνάψει μια σελίδα html που κάνει ακριβώς αυτό και έχω επίσης σχολιάσει τον κώδικα για τη διευκόλυνσή σας.

Το αρχείο control.html είναι εδώ προβολή-πηγή:

Βήμα 4: Μεταφορά του αρχείου Python στο Beaglebone σας

Μεταφορά του αρχείου Python στο Beaglebone σας
Μεταφορά του αρχείου Python στο Beaglebone σας

Μπορείτε να μεταφέρετε το αρχείο main.py μέσω γραμμής εντολών, αλλά για εύκολη μεταφορά αρχείων θα χρησιμοποιήσω το WinSCP (μπορείτε να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα -πελάτη sftp) το οποίο μπορείτε να κατεβάσετε εδώ. Υπάρχει Cyberduck για χρήστες mac, αλλά επειδή είμαι χρήστης υπολογιστή δεν ξέρω ποιος είναι ο καλύτερος, οπότε πρέπει να το ψάξετε στο google. Η διαδικασία είναι απλή απλά σύρετε το αρχείο main.py στην επιφάνεια εργασίας ή σε οποιονδήποτε άλλο κατάλογο επιλέγετε.

Βήμα 5: Εκτέλεση του διακομιστή

Εκτέλεση του διακομιστή
Εκτέλεση του διακομιστή

Η εκτέλεση του διακομιστή είναι εύκολη, απλά χρησιμοποιήστε SSH χρησιμοποιώντας το PuTTY ή το τερματικό σας και αλλάξτε τον κατάλογό σας στον κατάλογο main.py. Πληκτρολογήστε:

python main.py 1234

Αυτό που κάναμε τώρα είναι να ζητήσουμε από την python να εκτελέσει το αρχείο main.py στη θύρα 1234

Βήμα 6: Έχετε τον έλεγχο

Έχετε Έλεγχο!
Έχετε Έλεγχο!
Έχετε Έλεγχο!
Έχετε Έλεγχο!
Έχετε Έλεγχο!
Έχετε Έλεγχο!

Τώρα μεταβείτε στο αρχείο control.html και ανοίξτε με το google chrome ή οποιοδήποτε άλλο πρόγραμμα περιήγησης που χρησιμοποιείτε, θα έχετε μια ιστοσελίδα με 2 πλαίσια κειμένου και 3 κουμπιά. Το πλαίσιο κειμένου αριθμού pin ζητά τον αριθμό pin όπως P8_10 ή P8_29, κλπ. Πρέπει να συμπληρώσετε το όνομα για να χρησιμοποιήσετε τα κουμπιά διαγραφής και εναλλαγής. Τώρα που διαθέτετε τον έλεγχο ιστού, μπορείτε να χρησιμοποιήσετε αυτό το παράδειγμα για να δημιουργήσετε έναν πιο προηγμένο πίνακα. Maybeσως χρησιμοποιήστε δυνατότητες βάσης δεδομένων για να χρησιμοποιήσετε το Beaglebone Black ως καταγραφικό δεδομένων ή χρησιμοποιήστε το για αυτοματισμό σπιτιού, οι δυνατότητες είναι ατελείωτες. Αν σας αρέσει αυτό το διδακτικό, ψηφίστε για αυτό το έργο στον διαγωνισμό κωδικοποιημένων δημιουργιών και επίσης προτιμήστε αυτό το έργο. Ευχαριστώ που διαβάσατε αυτό το διδακτικό και συνεχίστε να χακάρετε!:)

Συνιστάται: