Isi kandungan:

Kawalan Web Hitam Beaglebone Menggunakan WebPy: 6 Langkah
Kawalan Web Hitam Beaglebone Menggunakan WebPy: 6 Langkah

Video: Kawalan Web Hitam Beaglebone Menggunakan WebPy: 6 Langkah

Video: Kawalan Web Hitam Beaglebone Menggunakan WebPy: 6 Langkah
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Kawalan Web Hitam Beaglebone Menggunakan WebPy
Kawalan Web Hitam Beaglebone Menggunakan WebPy
Kawalan Web Hitam Beaglebone Menggunakan WebPy
Kawalan Web Hitam Beaglebone Menggunakan WebPy

Pernah mahu membuat kaedah untuk mengawal pintu garaj anda menggunakan telefon anda mungkin mengumpulkan data dan melihatnya dari komputer riba anda. Terdapat komputer papan tunggal yang disebut Beaglebone Black yang merupakan alat yang sangat kuat yang membolehkan anda mengawal pin GPIOnya untuk berinteraksi dengan barang-barang dunia nyata seperti motor, LED, Lampu, dan lain-lain. Beaglebone sama seperti raspberry pi papan tetapi jauh lebih hebat. Komuniti Beaglebone tidak sehebat raspberry pi jadi berhati-hatilah kerana kekurangan tutorial.

Semasa saya mencari di internet untuk mendapatkan penyelesaian untuk mengendalikan Beaglebone Black saya dari komputer riba saya menggunakan laman web, banyak tutorial muncul menggunakan perpustakaan tulang tulisan Beaglebone dan perpustakaan socket.io menggunakan ide cloud 9. Semasa saya mengikuti tutorial dan melihat kod orang, saya menjadi kecewa kerana idea cloud 9 terus terhenti, kurangnya pemahaman saya mengenai javascript dan juga kurangnya fleksibiliti setiap tutorial (setiap tutorial memaksa anda untuk menggunakan jumlah yang telah ditentukan GPIO). Saya biasa dengan python dan rakan saya memperkenalkan saya kepada web.py yang merupakan kerangka web hebat yang digunakan untuk membangunkan aplikasi web. Saya juga menggunakan perpustakaan Adafruit's Beaglebone Black GPIO untuk mengawal pin individu Beaglebone Black.

Apa yang anda perlukan:

  • Komputer
  • Terminal SSH seperti PuTTY atau menggunakan SSH di terminal (Untuk Mac dan Linux, Windows tidak mempunyai SSH)
  • Beaglebone Black disambungkan ke komputer melalui USB
  • Sambungan internet ke Beaglebone Black
  • (pilihan) Pelanggan SFTP

Langkah 1: Pasang Pustaka Python yang Diperlukan

Kita perlu memasang dua perpustakaan yang bukan modul standard dalam python 2.7. Perpustakaan adalah perpustakaan Adafruit BBIO dan WebPy. Kita perlu mengakses Beaglebone menggunakan SSH. Saya memutuskan untuk menggunakan terminal PuTTy dan mengaksesnya menggunakan alamat IP beaglebone, milik saya 192.168.7.2 milik anda boleh didapati di beaglebone start.html. Sekiranya anda menggunakan Angstrom taip:

  • opkg kemas kini & opkg pasang python-pip python-setuptools python-smbus
  • memasang pip Adafruit_BBIO
  • pasang web.py

Sekiranya anda menggunakan Debian atau Ubuntu:

  • sudo apt-get kemas kini
  • sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
  • memasang pip Adafruit_BBIO
  • pasang web.py

Untuk menguji sama ada perpustakaan dipasang dengan betul taip:

  • ular sawa
  • mengimport web
  • import Adafruit_BBIO. GPIO

Sekiranya tiada kesilapan pada konsol python maka anda telah memasang perpustakaan dengan betul dan kami sudah bersedia untuk membuat kod.

Langkah 2: Kod Python

Kod Python
Kod Python

Kod python cukup mudah difahami jika anda biasa menggunakan python, jika anda seorang pemula untuk pengaturcaraan, anda mungkin menghadapi masalah memahami bahagian kod tersebut.

Dokumentasi 2 perpustakaan boleh didapati di sini:

  • Web.py
  • Perpustakaan GPIO Adafruit

Saya telah menulis kod dan mengulasnya supaya anda dapat memahami dan memperhatikannya.

Langkah 3: Membuat Laman Web

Membuat Laman Web
Membuat Laman Web

Sekiranya anda kod python yang saya lampirkan, anda dapat melihat saya bercakap mengenai permintaan GET. Permintaan GET pada dasarnya adalah cara untuk laman web berkomunikasi dengan pelayan. Untuk menambah, menghapus dan menukar output kami menggunakan Jquery untuk melakukan beberapa permintaan get asas. Saya telah melampirkan halaman html yang melakukan itu dan saya juga telah memberi komen mengenai kod tersebut untuk kemudahan anda.

Fail control.html ada di sini view-source:

Langkah 4: Memindahkan Fail Python ke Beaglebone Anda

Memindahkan Fail Python ke Beaglebone Anda
Memindahkan Fail Python ke Beaglebone Anda

Anda boleh memindahkan fail main.py melalui baris perintah tetapi untuk memindahkan fail dengan mudah saya akan menggunakan WinSCP (anda boleh menggunakan mana-mana klien sftp) yang boleh anda muat turun di sini. Terdapat Cyberduck untuk pengguna mac tetapi kerana saya adalah pengguna PC, saya tidak tahu mana yang terbaik, jadi anda mesti google. Prosesnya mudah hanya seret fail main.py di Desktop atau direktori lain yang anda pilih.

Langkah 5: Menjalankan Pelayan

Menjalankan Pelayan
Menjalankan Pelayan

Menjalankan pelayan adalah mudah hanya menggunakan SSH menggunakan PuTTY atau terminal anda dan ubah direktori anda ke direktori main.py. Taipkan:

python main.py 1234

Yang baru kami lakukan ialah meminta python menjalankan fail main.py di port 1234

Langkah 6: Anda Mempunyai Kawalan

Anda Mempunyai Kawalan!
Anda Mempunyai Kawalan!
Anda Mempunyai Kawalan!
Anda Mempunyai Kawalan!
Anda Mempunyai Kawalan!
Anda Mempunyai Kawalan!

Sekarang pergi ke file control.html dan buka dengan google chrome atau penyemak imbas lain yang anda gunakan, anda akan mempunyai halaman web dengan 2 kotak teks dan 3 butang. Kotak teks nombor pin meminta nombor pin seperti P8_10 atau P8_29, dan lain-lain. Anda perlu mengisi nama untuk menggunakan butang hapus dan tukar. Setelah anda mempunyai kawalan web, anda boleh menggunakan contoh ini untuk membuat panel yang lebih maju. Mungkin menggunakan keupayaan pangkalan data untuk menggunakan Beaglebone Black anda sebagai logger data atau menggunakannya untuk automasi rumah, kemungkinannya tidak berkesudahan. Sekiranya anda menyukai arahan ini, sila pilih projek ini pada pertandingan mencipta kod dan juga kegemaran projek ini. Terima kasih kerana membaca arahan ini dan terus menggodam!:)

Disyorkan: