Оглавление:
- Шаг 1. Распечатайте наклейку с пиццей
- Шаг 2. Разберите кнопку аркады на части
- Шаг 3. Наклейте наклейку и соберите кнопку
- Шаг 4: сделайте коробку
- Шаг 5: Схема
- Шаг 6: общение с Beagle Bone Black
- Шаг 7: Код
- Шаг 8: передача файлов с вашего компьютера на BBB
- Шаг 9: Установка правильных библиотек на BBB
- Шаг 10: Установка Python и библиотеки ввода-вывода Adafruit
- Шаг 11: установка Selenium
- Шаг 12: Использование Selenium с безголовым веб-браузером
- Шаг 13: Время пиццы
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Студенты-второкурсники, жители Нью-Йорка, ночные технари и действительно ленивые: добро пожаловать в вашу фантазию. Представляем вам новейшую технологию в области гастрономии - Pizza Button. Больше не нужно брать трубку, чтобы заказать пиццу. Просто нажмите эту кнопку и подождите, пока он закажет пиццу с доставкой по вашему адресу.
Pizza Button использует доску BeagleBone Black (BBB) для выполнения тяжелой работы в этом проекте. Нажатие кнопки заставляет доску запускать скребок для паутины. Веб-скребок входит в вашу учетную запись Grub Hub и заказывает пиццу в знаменитой пиццерии San Francisco North Beach Pizza (это означает, что в настоящее время эта кнопка работает только в Сан-Франциско, но, честно говоря, вы действительно хотите быть где-нибудь еще?). Он заказывает большой сыр. пицца, платит за пиццу, и она доставляется прямо к вашей двери. Этот проект очень прост в изготовлении и неотразим в использовании!
Будущие обновления этого проекта включают:
- Вай фай
- Внутренний GPS
- Пицца Запах только усилит аппетит
Список деталей
- (x3) коробки для пиццы из вашей любимой пиццерии
- (x1) Массивная аркадная кнопка со светодиодной подсветкой - 100 мм, белый Adafruit 1187
- (x1) Набор прото-накидки для BeagleBone Adafruit 572
- (x1) резистор 470 Ом 1/4 Вт RadioShack 271-1317
- (x1) Резистор 1 кОм 1/4 Вт RadioShack 271-1321
- винил или глянцевая фотобумага для струйной печати LC (8,5 x 11 дюймов) Amazon B000VKV2H4
Дополнительные материалы
- Припой RadioShack 64-013
- Провод 22 калибра RadioShack 278-1224
- Термоусадочные трубки RadioShack 278-1611
Шаг 1. Распечатайте наклейку с пиццей
Найдите аппетитный рисунок пиццы и распечатайте его на липкой бумаге. Я использовал резак для винила, но и стандартный принтер тоже подойдет.
Шаг 2. Разберите кнопку аркады на части
Кнопка аркады снабжена переключателем, заблокированным в ее основании. Просто поверните переключатель против часовой стрелки и почувствуйте, как он разблокируется. Вытяните переключатель изнутри шейки кнопки с резьбой (постукивание - это бороздки, которые вы видите в таких предметах, как винты). К переключателю будет прикреплен светодиод. Затем отвинтите маленькое черное кольцо от горлышка с резьбой, чтобы можно было снять основание пуговицы. Внутри шеи две белые язычки. Сдвиньте их внутрь и вниз, чтобы отодвинуть лицевую сторону пластиковой кнопки от шеи. Теперь все, что осталось, - это прозрачная грань кнопки, прикрепленная к белой платформе с выступами. Используйте небольшую отвертку, чтобы отделить лицевую часть кнопки от белой платформы.
Шаг 3. Наклейте наклейку и соберите кнопку
Вырежьте наклейку и прикрепите ее к гладкой белой платформе. Таким образом, это будет видно через прозрачную поверхность кнопки. Соберите кнопку.
Шаг 4: сделайте коробку
Я начал с плоских коробок для пиццы, которые купил в магазине контейнеров. Однако не стесняйтесь использовать свои любимые коробки для пиццы! Для этой базы требуются три коробки для пиццы, сложенные друг на друга, в которых будет размещаться довольно большая кнопка аркады и размещаться электроника. Начните с нижней коробки. Найдите и отметьте центр коробки с помощью линейки и используйте чашку, чтобы обвести вокруг нее круг. Вырежьте отверстие ножом X-Acto. Вырежьте отверстие в верхней части нижнего ящика и отверстия в верхней и нижней части среднего и верхнего ящиков. Сложите коробки вместе и склейте их горячим клеевым пистолетом. Поместите кнопку сверху, чтобы убедиться, что переключатель проходит через отверстие.
Шаг 5: Схема
Эта схема довольно проста. При нажатии кнопки аркады запускается код и загорается светодиод внутри кнопки.
Шаг 6: общение с Beagle Bone Black
Этот проект - мой первый опыт работы с доской BeagleBone Black Board. На мой взгляд, BeagleBoard очень похожа на плату RaspberryPi, но с большим количеством контактов gpio. Узнайте больше о BeagleBoard на официальном сайте сообщества и узнайте об основных различиях между BeagleBoard и Raspberry Pi здесь.
В этом проекте используется плата Rev C BeagleBone Black, работающая с картой памяти micro SD 16 ГБ, установленной в среде Debian. Вы можете использовать карту Micro SD любого размера более 8 ГБ. Хотя новая плата BeagleBone Black Board оснащена встроенным процессором 4G, для среды рабочего стола Debian требуется больше места для хранения. Чтобы взаимодействовать с платой, просто подключите ее к компьютеру с помощью кабеля micro HDMI-USB, который идет в комплекте с платой. «Пользовательские светодиоды», расположенные рядом с портом Ethernet, должны мигать по схеме, запрограммированной для имитации человеческого пульса (производители гончих - это круто, не так ли?), А значок платы должен появиться на вашем рабочем столе. Если вы используете Mac, вы можете запрограммировать свою доску двумя разными способами:
МЕТОД 1: ТЕРМИНАЛ
Откройте терминал и введите в командной строке
Если при запросе пароля введите
корень
** Если это не сработает из-за "неправильного ключа ssh" **
Введите в командную строку
rm -f.ssh / известные_хозяева
** Если это по-прежнему не работает **
Введите в командную строку
sudo ssh [email protected]
МЕТОД 2: ДЕБИАНСКАЯ СРЕДА
Вы также можете подключиться к среде настольного компьютера с помощью vnc и запрограммировать его оттуда. Для этого выполните следующие действия.
- Загрузите подключение к удаленному рабочему столу для Mac отсюда.
- Откройте подключение к удаленному рабочему столу и в поле ввода для «Компьютер» введите 192.168.7.2.
- Во всплывающем окне удаленного рабочего стола введите «root» в качестве имени пользователя и пароля.
- Вам будет представлен рабочий стол доски Beagle Board.
Шаг 7: Код
Этот код автоматически входит в вашу личную учетную запись GrubHub, переходит в меню North Beach Pizza и заказывает большую пиццу с сыром. Все это запускается одним нажатием кнопки!
Все это происходит с помощью взаимодействия с веб-страницами с помощью Selenium с помощью автономного веб-браузера PhantomJS. Что селен? Это программный пакет, который выполняет все переходы по веб-страницам за вас (помните, этот проект для самых ленивых). Что такое безголовый веб-браузер? Узнайте больше здесь, но вкратце, это веб-браузер (подумайте о Safari, Firefox и, осмелюсь сказать, Netscape) без графического пользовательского интерфейса. Это делает автоматизацию навигации по веб-страницам НАМНОГО быстрее (вы голодны по пицце, поэтому хотите, чтобы ваш заказ был отправлен как можно быстрее).
Что вам нужно будет отредактировать в коде:
- Информация для входа в GrubHub, включая ваше имя пользователя и пароль.
- Информация о кредитной карте
Шаг 8: передача файлов с вашего компьютера на BBB
Вы можете передавать файлы, такие как code.py, с вашего компьютера на BBB с помощью простых команд в среде терминала.
Обычно способ передачи файла с вашего компьютера на BBB выглядит так:
scp /home/filename.file user @ IPAddress: / directory
Разбивая это:
- 'scp': команда 'scp' позволяет копировать файлы на, с или между разными хостами. Он использует ssh для передачи данных и обеспечивает такую же аутентификацию и тот же уровень безопасности, что и ssh.
- '/home/filename.file': расположение файла на вашем компьютере.
- 'user @ IPAddress: / directory': информация для входа в BBB и место на доске, куда вы хотите скопировать файл.
Например, предположим, что я загрузил и сохранил code.py на рабочем столе своего компьютера. Теперь я хочу перенести его на рабочий стол BBB. Я открою терминал своего компьютера и наберу
scp /Users/dot/Desktop/code.py [email protected]: / home / root / Desktop /
Не копируйте этот пример дословно, так как пути на вашем компьютере и BBB будут отличаться от моих.
Я нашел эту информацию на полезном веб-сайте здесь, где вы также можете узнать, как передавать папки с содержимым.
Шаг 9: Установка правильных библиотек на BBB
Вам нужно будет установить несколько библиотек, чтобы код работал правильно. Чтобы установить что-либо на свой BBB, он должен:
- Быть подключенным к сети Ethernet
- Питание от вашего компьютера (если вы общаетесь с вашей платой через терминал)
- Питание от настенной бородавки 5 В (если вы подключаете плату к монитору)
Я лично запитал свою плату через свой компьютер и запрограммировал ее с помощью команды ssh, которая была ранее описана в разделе «Связь с Beagle Bone Black».
Вам нужно будет установить:
- Python
- Библиотека Python GPIO от Adafruit
- Селен
- Безголовый веб-браузер PhantomJS
Шаг 10: Установка Python и библиотеки ввода-вывода Adafruit
Плата Beaglebone Black Board имеет множество выводов GPIO, всего 65, что делает ее уникальной среди множества мини-компьютеров и микропроцессорных плат на рынке. Две библиотеки gpio, совместимые с выводами gpio Beagle, - это встроенная библиотека BoneScript и библиотека GPIO Python от Adafruit. Поскольку мне лично больше нравится Python, я решил использовать библиотеку Python GPIO. Библиотеку довольно просто скачать. Сначала подключитесь по ssh к Beagle Board и установите следующие зависимости:
sudo ntpdate pool.ntp.org
sudo apt-get update sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
Затем введите следующую команду для установки библиотеки python gpio
sudo pip установить Adafruit_BBIO
Шаг 11: установка Selenium
Проще говоря, Selenium автоматизирует веб-браузеры. В основном этот проект использует Selenium WebDriver, который принимает команды, отправляет их в браузер, такой как Chrome или Firefox, и извлекает результаты. В этом проекте используются привязки Python к Selenium. Я мог бы использовать привязки javascript, но я предпочел сохранить код на одном языке, и, поскольку я решил использовать python для управления выводами GPIO BBB, я также использовал python для своего веб-скребка.
Чтобы установить селен, введите ssh в BBB и введите в командной строке
sudo pip установить селен
Шаг 12: Использование Selenium с безголовым веб-браузером
Чтобы установить PhantomJS, чтобы вы могли использовать безголовый веб-браузер PhantomJS, введите ssh в BBB и введите в командной строке
sudo apt-get install build-essential chrpath git-core libssl-dev
libfontconfig1-dev git clone git: //github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9./build.sh
Эти инструкции были получены с веб-сайта PhantomJS здесь. Я столкнулся со многими проблемами при установке PhantomJS, но, в конце концов, успешно выполнил эти команды.
Шаг 13: Время пиццы
Теперь сядьте и наслаждайтесь пиццей.