Table des matières:

Bouton Pizza : 13 étapes (avec photos)
Bouton Pizza : 13 étapes (avec photos)

Vidéo: Bouton Pizza : 13 étapes (avec photos)

Vidéo: Bouton Pizza : 13 étapes (avec photos)
Vidéo: Elle Était Coincée Donc Ce Policier L'aide 2024, Juin
Anonim
Bouton Pizza
Bouton Pizza
Bouton Pizza
Bouton Pizza
Bouton Pizza
Bouton Pizza

Les étudiants de deuxième année, les New-Yorkais, les techniciens de fin de soirée et les vrais paresseux: bienvenue dans votre fantaisie. Présentation de la mise à niveau ultime de la technologie gastronomique, le bouton Pizza. Plus besoin de décrocher le téléphone pour commander une pizza. Appuyez simplement sur ce bouton et patientez pendant qu'il commande une livraison de pizza à votre adresse.

Le bouton Pizza utilise une carte BeagleBone Black (BBB) pour faire le gros du travail dans ce projet. Une pression sur un bouton déclenche la carte pour exécuter un grattoir Web. Le grattoir Web se connecte à votre compte Grub Hub et commande des pizzas à la célèbre pizza de San Francisco North Beach (ce qui signifie qu'actuellement ce bouton ne fonctionne qu'à San Francisco, mais honnêtement, voudriez-vous vraiment être ailleurs ?) Il commande un gros fromage pizza, paie la pizza et la fait livrer directement à votre porte. Ce projet est très simple à réaliser et irrésistible à utiliser !

Les futures mises à jour de ce projet incluent:

  • Wifi
  • GPS interne
  • L'odeur de la pizza ne fait qu'augmenter votre appétit

Liste des pièces

  • (x3) boîtes à pizza de votre pizzeria préférée
  • (x1) Bouton Arcade Massive avec LED - 100 mm Blanc Adafruit 1187
  • (x1) Kit Proto Cape pour le BeagleBone Adafruit 572
  • (x1) Résistance 470 ohms 1/4 W RadioShack 271-1317
  • (x1) Résistance 1 kohm 1/4 W RadioShack 271-1321
  • Papier autocollant photo jet d'encre brillant vinyle ou LC (8,5" x 11") Amazon B000VKV2H4

Matériaux additionnels

  • Soudure RadioShack 64-013
  • Fil de calibre 22 RadioShack 278-1224
  • Tube thermorétractable RadioShack 278-1611

Étape 1: Imprimez l'autocollant de pizza

Imprimez l'autocollant Pizza
Imprimez l'autocollant Pizza
Imprimez l'autocollant Pizza
Imprimez l'autocollant Pizza

Trouvez une image alléchante d'une pizza et imprimez-la sur du papier collant. J'ai utilisé un coupe-vinyle, mais une imprimante standard fonctionnerait également.

Étape 2: démontez le bouton Arcade

Démontez le bouton Arcade
Démontez le bouton Arcade
Démontez le bouton Arcade
Démontez le bouton Arcade
Démontez le bouton Arcade
Démontez le bouton Arcade

Le bouton arcade est livré avec un interrupteur verrouillé dans sa base. Tournez simplement l'interrupteur dans le sens inverse des aiguilles d'une montre et sentez-le se déverrouiller. Tirez sur l'interrupteur de l'intérieur du col taraudé du bouton (le taraudage correspond aux rainures que vous voyez dans des objets comme des vis). Il y aura une LED attachée à l'interrupteur. Ensuite, dévissez le petit anneau noir du col taraudé pour que la base du bouton puisse être retirée. A l'intérieur du col se trouvent deux languettes blanches. Poussez-les vers l'intérieur et vers le bas pour éloigner le bouton en plastique du cou. Maintenant, tout ce qui reste est le bouton transparent attaché à la plate-forme blanche avec les onglets. Utilisez un petit tournevis pour retirer le bouton de la plate-forme blanche.

Étape 3: Appliquez l'autocollant et réassemblez le bouton

Appliquer l'autocollant et remonter le bouton
Appliquer l'autocollant et remonter le bouton
Appliquer l'autocollant et remonter le bouton
Appliquer l'autocollant et remonter le bouton
Appliquer l'autocollant et remonter le bouton
Appliquer l'autocollant et remonter le bouton

Découpez l'autocollant et attachez-le à la plate-forme blanche et lisse. De cette façon, il sera visible à travers la face transparente du bouton. Remontez le bouton.

Étape 4: Fabriquez la boîte

Faire la boîte
Faire la boîte
Faire la boîte
Faire la boîte
Faire la boîte
Faire la boîte

J'ai commencé avec des boîtes à pizza plates que j'ai achetées au magasin de conteneurs. Cependant, n'hésitez pas à utiliser vos boîtes à pizza préférées ! Cette base nécessite trois boîtes à pizza empilées les unes sur les autres, qui accueilleront le bouton d'arcade plutôt plus grand et abriteront l'électronique. Commencez par la case du bas. Trouvez et marquez le centre de la boîte avec une règle et utilisez une tasse pour dessiner un cercle autour. Découpez le trou avec un couteau X-Acto. Découpez un trou en haut de la boîte du bas et des trous en haut et en bas des boîtes du milieu et du haut. Empilez les boîtes ensemble et collez-les ensemble avec un pistolet à colle chaude. Placez le bouton sur le dessus pour vous assurer que l'interrupteur passe dans le trou.

Étape 5: Le circuit

Le circuit
Le circuit

Ce circuit est assez simple. Lorsqu'il est enfoncé, le bouton d'arcade déclenche à la fois l'exécution du code et l'allumage de la LED à l'intérieur du bouton.

Étape 6: Communiquer avec le Beagle Bone Black

Ce projet est ma première expérience avec le BeagleBone Black Board. À mon avis, la BeagleBoard est assez similaire à la carte RaspberryPi mais avec plus de broches gpio. En savoir plus sur le BeagleBoard sur son site communautaire officiel et découvrir les principales différences entre le BeagleBoard et Raspberry Pi ici.

Ce projet utilise une carte Rev C BeagleBone Black fonctionnant sur une carte micro SD 16G flashée avec l'environnement Debian. Vous pouvez utiliser n'importe quelle taille de carte micro SD supérieure à 8G. Bien que le nouveau BeagleBone Black Board dispose d'un processeur 4G intégré, l'environnement de bureau de Debian nécessite plus d'espace de stockage. Pour interagir avec la carte, branchez-la simplement sur votre ordinateur avec le câble micro HDMI vers USB fourni avec votre carte. Les « LED utilisateur » situées à côté du port Ethernet devraient clignoter selon un motif programmé pour imiter le pouls humain (les fabricants de beagles sont cool, n'est-ce pas ?) et l'icône de la carte devrait apparaître sur votre bureau. Si vous utilisez un mac, vous pouvez programmer votre carte de deux manières différentes:

MÉTHODE 1: LE TERMINAL

Ouvrez le terminal et tapez dans la ligne de commande

racine [email protected]

Si lorsque vous êtes invité à entrer un mot de passe, tapez

racine

** Si cela ne fonctionne pas à cause d'une "clé ssh incriminée" **

Tapez dans la ligne de commande

rm -f.ssh/known_hosts

racine [email protected]

** Si cela ne fonctionne toujours pas **

Tapez dans la ligne de commande

racine sudo [email protected]

MÉTHODE 2: ENVIRONNEMENT DEBIAN

Vous pouvez également vnc dans l'environnement de bureau de la carte et le programmer à partir de là. Suivez les étapes ci-dessous pour ce faire.

  • Téléchargez la connexion Bureau à distance pour mac à partir d'ici.
  • Ouvrez la connexion Bureau à distance et dans la zone de saisie pour 'Ordinateur' tapez '192.168.7.2'
  • Dans la fenêtre contextuelle du bureau à distance, tapez « root » pour le nom d'utilisateur et le mot de passe.
  • Le bureau du Beagle Board vous sera présenté.

Étape 7: Le code

Ce code se connecte automatiquement à votre compte GrubHub personnel, accède au menu de North Beach Pizza et commande une grande pizza au fromage. Tout se déclenche en appuyant sur un bouton !

Il fait tout cela en interagissant avec des pages Web avec Selenium à l'aide d'un navigateur Web sans tête PhantomJS. Qu'est-ce que le sélénium ? C'est un progiciel qui fait tous les clics sur les pages Web pour vous (rappelez-vous, ce projet est pour les paresseux ultimes). Qu'est-ce qu'un navigateur Web sans tête ? Apprenez-en plus ici, mais en bref, c'est un navigateur Web (pensez à Safari, Firefox et, oserais-je dire, Netscape) sans interface utilisateur graphique. Cela rend l'automatisation de la navigation sur les pages Web BEAUCOUP plus rapide (vous avez faim de pizza, vous voulez donc que votre commande soit envoyée le plus rapidement possible).

Choses que vous devrez modifier dans le code:

  • Informations de connexion GrubHub, qui incluent votre nom d'utilisateur et votre mot de passe
  • Informations de carte de crédit

Étape 8: Transfert de fichiers de votre ordinateur vers le BBB

Vous pouvez transférer des fichiers tels que « code.py » de votre ordinateur vers le BBB avec des commandes simples dans l'environnement du terminal.

De manière générale, la façon de transférer un fichier de votre ordinateur vers le BBB ressemble à

scp /home/filename.file user@IPAddress:/directory

Décomposer cela:

  • 'scp': La commande 'scp' permet de copier des fichiers vers, depuis ou entre différents hôtes. Il utilise ssh pour le transfert de données et fournit la même authentification et le même niveau de sécurité que ssh.
  • '/home/filename.file': L'emplacement du fichier sur votre ordinateur.
  • 'user@IPAddress:/directory': Les informations de connexion du BBB et l'emplacement sur le tableau vers lequel vous souhaitez copier le fichier.

Par exemple, disons que j'ai téléchargé et enregistré 'code.py' sur le bureau de mon ordinateur. Maintenant, je veux le transférer sur le bureau du BBB. Je vais ouvrir le terminal de mon ordinateur et taper

scp /Users/dot/Desktop/code.py [email protected]:/home/root/Desktop/

Ne copiez pas cet exemple mot à mot, car les chemins sur votre ordinateur et BBB seront différents des miens.

J'ai trouvé ces informations sur un site Web utile ici, où vous pouvez également apprendre à transférer des dossiers de contenu.

Étape 9: Installation des bibliothèques appropriées sur le BBB

Vous devrez installer quelques bibliothèques pour que le code fonctionne correctement. Pour installer quoi que ce soit sur votre BBB, il doit:

  • Être connecté à Ethernet
  • Alimenté par votre ordinateur (si vous communiquez avec votre carte via le terminal)
  • Alimenté par une verrue murale 5V (si vous connectez la carte à un moniteur)

J'ai personnellement alimenté ma carte via mon ordinateur et l'ai programmée via la commande ssh, qui a été précédemment décrite dans "Communiquer avec le Beagle Bone Black".

Vous devrez installer:

  • Python
  • La bibliothèque python GPIO d'Adafruit
  • Sélénium
  • Navigateur Web sans tête PhantomJS

Étape 10: Installation de la bibliothèque d'E/S de Python et d'Adafruit

Le Beaglebone Black Board a beaucoup de broches gpio, 65 au total, ce qui le rend unique parmi les nombreux mini-ordinateurs et cartes à microprocesseur sur le marché. Deux bibliothèques gpio compatibles avec les broches gpio du Beagle sont la bibliothèque intégrée de BoneScript et la bibliothèque Python GPIO d'Adafruit. Parce que je suis personnellement plus à l'aise avec Python, j'ai décidé d'utiliser la bibliothèque Python GPIO. La bibliothèque est assez simple à télécharger. Tout d'abord, ssh dans la carte Beagle et installez les dépendances suivantes:

sudo ntpdate pool.ntp.org

sudo apt-get update sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y

Tapez ensuite la commande suivante pour installer la bibliothèque python gpio

sudo pip installer Adafruit_BBIO

Étape 11: Installation de Selenium

Selenium, en termes simples, automatise les navigateurs Web. Ce projet utilise principalement le Selenium WebDriver, qui accepte les commandes, les envoie à un navigateur comme Chrome ou Firefox, et récupère les résultats. Ce projet utilise les liaisons python de Selenium. J'aurais pu utiliser des liaisons javascript, mais j'ai préféré garder le code dans un seul langage et depuis que j'ai décidé d'utiliser python pour contrôler les broches GPIO du BBB, j'ai également utilisé python pour mon web scraper.

Pour installer le sélénium, ssh dans le BBB et tapez dans la ligne de commande

sudo pip installer le sélénium

Étape 12: Utilisation de Selenium avec un navigateur Web sans tête

Pour installer PhantomJS afin que vous puissiez utiliser le navigateur Web sans tête PhantomJS, ssh dans le BBB et tapez dans la ligne de commande

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

Ces instructions proviennent du site Web de PhantomJS ici. J'ai rencontré de nombreux problèmes en essayant d'installer PhantomJS, mais j'ai finalement réussi à suivre ces commandes.

Étape 13: L'heure de la pizza

Maintenant, asseyez-vous et dégustez votre pizza.

Conseillé: