Оглавление:

Кнопка пиццы: 13 шагов (с изображениями)
Кнопка пиццы: 13 шагов (с изображениями)

Видео: Кнопка пиццы: 13 шагов (с изображениями)

Видео: Кнопка пиццы: 13 шагов (с изображениями)
Видео: Такой хитрости позавидуешь #Shorts 2024, Ноябрь
Anonim
Кнопка пиццы
Кнопка пиццы
Кнопка пиццы
Кнопка пиццы
Кнопка пиццы
Кнопка пиццы

Студенты-второкурсники, жители Нью-Йорка, ночные технари и действительно ленивые: добро пожаловать в вашу фантазию. Представляем вам новейшую технологию в области гастрономии - 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 [email protected]

Если при запросе пароля введите

корень

** Если это не сработает из-за "неправильного ключа ssh" **

Введите в командную строку

rm -f.ssh / известные_хозяева

ssh [email protected]

** Если это по-прежнему не работает **

Введите в командную строку

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: Время пиццы

Теперь сядьте и наслаждайтесь пиццей.

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