Оглавление:

Beaglebone Black Web Control с помощью WebPy: 6 шагов
Beaglebone Black Web Control с помощью WebPy: 6 шагов

Видео: Beaglebone Black Web Control с помощью WebPy: 6 шагов

Видео: Beaglebone Black Web Control с помощью WebPy: 6 шагов
Видео: Кори Доктороу: Аарон Шварц и хактивизм 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 для взаимодействия с объектами реального мира, такими как двигатели, светодиоды, лампы и т. Д. Beaglebone похож на Raspberry Pi плата но намного мощнее. Сообщество Beaglebone не так велико, как сообщество Raspberry Pi, поэтому имейте в виду отсутствие руководств.

Когда я искал в Интернете решение для управления моим Beaglebone Black с моего ноутбука с помощью веб-страницы, появилось множество руководств с использованием библиотеки bonecript Beaglebone и библиотеки socket.io с использованием ide cloud 9. По мере того, как я следил за учебными пособиями и смотрел на код людей, я был разочарован тем, что ID Cloud 9 продолжал давать сбой, моим непониманием javascript, а также отсутствием гибкости каждого учебника (каждый учебник заставлял вас использовать заранее определенное количество GPIO). Я был знаком с python, и мой друг познакомил меня с web.py, отличным веб-фреймворком, используемым для разработки веб-приложений. Я также использовал библиотеку GPIO Beaglebone Black от Adafruit для управления отдельными контактами 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 install Adafruit_BBIO
  • pip install web.py

Если вы используете Debian или Ubuntu:

  • sudo apt-get update
  • sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
  • pip install Adafruit_BBIO
  • pip install 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, но, поскольку я пользователь ПК, я не знаю, какой из них лучший, поэтому вам нужно погуглить. Процесс прост: просто перетащите файл main.py на рабочий стол или в любой другой каталог, который вы выберете.

Шаг 5: Запуск сервера

Запуск сервера
Запуск сервера

Запуск сервера прост: просто используйте SSH с помощью PuTTY или терминала и смените каталог на каталог main.py. Введите:

Python main.py 1234

Теперь мы только что попросили python запустить файл main.py на порту 1234.

Шаг 6: все под контролем

У вас есть контроль!
У вас есть контроль!
У вас есть контроль!
У вас есть контроль!
Все под контролем!
Все под контролем!

Теперь перейдите в файл control.html и откройте его с помощью google chrome или любого другого браузера, который вы используете, у вас будет веб-страница с 2 текстовыми полями и 3 кнопками. В текстовом поле с номером контакта запрашивается номер контакта, например, P8_10 или P8_29 и т. Д. Для использования кнопок удаления и переключения необходимо заполнить имя. Теперь, когда у вас есть веб-контроль, вы можете использовать этот пример для создания более продвинутой панели. Возможно, используйте возможности базы данных, чтобы использовать Beaglebone Black в качестве регистратора данных или использовать его для домашней автоматизации, возможности безграничны. Если вам нравится эта инструкция, пожалуйста, проголосуйте за этот проект в конкурсе закодированных творений и поставьте этот проект в избранное. Спасибо, что прочитали это руководство, и продолжайте взламывать!:)

Рекомендуемые: