สารบัญ:

ปุ่มพิซซ่า: 13 ขั้นตอน (พร้อมรูปภาพ)
ปุ่มพิซซ่า: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ปุ่มพิซซ่า: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ปุ่มพิซซ่า: 13 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: My Cooking School 101 EP32 : Pizza 2024, กรกฎาคม
Anonim
ปุ่มพิซซ่า
ปุ่มพิซซ่า
ปุ่มพิซซ่า
ปุ่มพิซซ่า
ปุ่มพิซซ่า
ปุ่มพิซซ่า

ชายในวิทยาลัยปีสอง ชาวนิวยอร์ก นักเทคโนโลยียามดึก และคนเกียจคร้านอย่างแท้จริง: ยินดีต้อนรับสู่จินตนาการของคุณ ขอแนะนำสุดยอดการอัพเกรดเทคโนโลยีการกินอย่าง Pizza Button ไม่ต้องหยิบโทรศัพท์สั่งพิซซ่าอีกต่อไป เพียงกดปุ่มนี้และรอในขณะที่สั่งพิซซ่าจัดส่งไปยังที่อยู่ของคุณ

The Pizza Button ใช้บอร์ด BeagleBone Black (BBB) ในการยกของหนักในโครงการนี้ การกดปุ่มจะทำให้บอร์ดเรียกใช้เว็บสแครปเปอร์ เว็บมีดโกนเข้าสู่บัญชี Grub Hub ของคุณและสั่งพิซซ่าจากร้านพิซซ่า San Francisco North Beach ที่มีชื่อเสียง (หมายความว่าตอนนี้ปุ่มนี้ใช้ได้เฉพาะในซานฟรานซิสโก แต่จริงๆ แล้วคุณอยากจะไปที่อื่นอีกไหม) มันสั่งชีสก้อนใหญ่ พิซซ่า จ่ายค่าพิซซ่า และส่งตรงถึงหน้าบ้านคุณ โครงการนี้ง่ายมากที่จะทำและต้านทานต่อการใช้งาน!

การปรับปรุงในอนาคตสำหรับโครงการนี้รวมถึง:

  • WiFi
  • GPS ภายใน
  • กลิ่นพิซซ่าเพิ่มความอยากอาหารของคุณ

ส่วนรายการ

  • (x3) กล่องพิซซ่าจากร้านพิซซ่าที่คุณชื่นชอบ
  • (x1) ปุ่ม Arcade ขนาดใหญ่พร้อมไฟ LED - Adafruit ขนาด 100 มม. สีขาว 1187
  • (x1) Proto Cape Kit สำหรับ BeagleBone Adafruit 572
  • (x1) ตัวต้านทาน 470 โอห์ม 1/4 W RadioShack 271-13117
  • (x1) 1 k-ohm 1/4 W ตัวต้านทาน RadioShack 271-121
  • ไวนิลหรือกระดาษสติกเกอร์ภาพถ่ายอิงค์เจ็ทเคลือบเงา LC (8.5" x 11") Amazon B000VKV2H4

วัสดุเพิ่มเติม

  • ประสาน RadioShack 64-013
  • 22 Gauge Wire RadioShack 278-1224
  • ท่อหดความร้อน RadioShack 278-1611

ขั้นตอนที่ 1: พิมพ์สติกเกอร์พิซซ่า

พิมพ์สติกเกอร์พิซซ่า
พิมพ์สติกเกอร์พิซซ่า
พิมพ์สติกเกอร์พิซซ่า
พิมพ์สติกเกอร์พิซซ่า

หาภาพพิซซ่าชวนน้ำลายสอแล้วพิมพ์ลงบนกระดาษเหนียว ฉันใช้เครื่องตัดไวนิล แต่เครื่องพิมพ์มาตรฐานก็ใช้ได้เช่นกัน

ขั้นตอนที่ 2: แยกปุ่มอาร์เคดออกจากกัน

แยกปุ่มอาร์เคดออกจากกัน
แยกปุ่มอาร์เคดออกจากกัน
แยกปุ่มอาร์เคดออกจากกัน
แยกปุ่มอาร์เคดออกจากกัน
แยกปุ่มอาร์เคดออกจากกัน
แยกปุ่มอาร์เคดออกจากกัน

ปุ่มอาร์เคดมาพร้อมกับสวิตช์ที่ล็อคไว้ที่ฐาน เพียงบิดสวิตช์ทวนเข็มนาฬิกาแล้วรู้สึกว่าปลดล็อกแล้ว ดึงสวิตช์ออกจากด้านในคอที่เคาะของปุ่ม (การแตะคือร่องที่คุณเห็นในวัตถุต่างๆ เช่น สกรู) จะมีไฟ LED ติดอยู่ที่สวิตช์ ถัดไป คลายเกลียววงแหวนสีดำขนาดเล็กออกจากคอที่เคาะแล้วเพื่อดึงฐานของปุ่มออก ด้านในคอมีแถบสีขาวสองแถบ ดันเข้าด้านในและลงเพื่อดันปุ่มพลาสติกออกจากคอ ตอนนี้สิ่งที่เหลืออยู่คือหน้าปุ่มใสที่ติดอยู่กับแท่นสีขาวพร้อมแถบ ใช้ไขควงขนาดเล็กแงะปุ่มออกจากแท่นสีขาว

ขั้นตอนที่ 3: ใช้สติกเกอร์และประกอบปุ่มอีกครั้ง

ติดสติกเกอร์และประกอบปุ่มกลับเข้าที่
ติดสติกเกอร์และประกอบปุ่มกลับเข้าที่
ติดสติกเกอร์และประกอบปุ่มกลับเข้าที่
ติดสติกเกอร์และประกอบปุ่มกลับเข้าที่
ติดสติกเกอร์และประกอบปุ่มกลับเข้าที่
ติดสติกเกอร์และประกอบปุ่มกลับเข้าที่

ตัดสติกเกอร์ออกแล้วติดเข้ากับแท่นสีขาวเรียบ ด้วยวิธีนี้จะมองเห็นผ่านหน้าปุ่มที่ชัดเจน ประกอบปุ่มกลับเข้าที่

ขั้นตอนที่ 4: สร้างกล่อง

ทำกล่อง
ทำกล่อง
ทำกล่อง
ทำกล่อง
ทำกล่อง
ทำกล่อง

ฉันเริ่มต้นด้วยกล่องพิซซ่าแบนๆ ที่ฉันซื้อจากร้านคอนเทนเนอร์ อย่างไรก็ตาม ใช้กล่องพิซซ่าที่คุณชื่นชอบได้ตามสบาย! ฐานนี้ต้องใช้กล่องพิซซ่าสามกล่องวางซ้อนกัน ซึ่งจะรองรับปุ่มอาร์เคดที่ค่อนข้างใหญ่และเป็นอุปกรณ์อิเล็กทรอนิกส์ เริ่มต้นด้วยกล่องด้านล่าง ค้นหาและทำเครื่องหมายตรงกลางกล่องด้วยไม้บรรทัด แล้วใช้ถ้วยวาดวงกลมรอบๆ ตัดรูออกด้วยมีด X-Acto ตัดรูที่ด้านบนของกล่องด้านล่างและรูที่ทั้งด้านบนและด้านล่างของกล่องกลางและบน วางกล่องเข้าด้วยกันแล้วทากาวด้วยปืนกาวร้อน วางปุ่มไว้ด้านบนเพื่อให้แน่ใจว่าสวิตช์สอดเข้าไปในรูได้พอดี

ขั้นตอนที่ 5: วงจร

The Circuit
The Circuit

วงจรนี้ค่อนข้างตรงไปตรงมา เมื่อกดแล้ว ปุ่มอาร์เคดจะทริกเกอร์ทั้งรหัสให้ทำงานและไฟ LED ภายในปุ่มจะสว่างขึ้น

ขั้นตอนที่ 6: การสื่อสารกับ Beagle Bone Black

โครงการนี้เป็นประสบการณ์ครั้งแรกของฉันกับ BeagleBone Black Board ในความคิดของฉัน BeagleBoard ค่อนข้างคล้ายกับบอร์ด RaspberryPi แต่มีหมุด gpio มากกว่า อ่านเพิ่มเติมเกี่ยวกับ BeagleBoard ได้ที่ไซต์ชุมชนอย่างเป็นทางการ และค้นพบความแตกต่างที่สำคัญระหว่าง BeagleBoard และ Raspberry Pi ที่นี่

โปรเจ็กต์นี้ใช้บอร์ด Rev C BeagleBone Black ที่ใช้การ์ด micro SD ขนาด 16G ที่แฟลชด้วยสภาพแวดล้อมแบบเดเบียน คุณสามารถใช้การ์ด micro SD ขนาดใดก็ได้ที่มากกว่า 8G แม้ว่า BeagleBone Black Board ใหม่จะมีโปรเซสเซอร์ออนบอร์ด 4G แต่สภาพแวดล้อมเดสก์ท็อปของ Debian นั้นต้องการพื้นที่จัดเก็บมากขึ้น ในการโต้ตอบกับบอร์ด เพียงแค่เสียบเข้ากับคอมพิวเตอร์ของคุณด้วยสาย micro HDMI to USB ที่มาพร้อมกับบอร์ดของคุณ 'ไฟ LED ของผู้ใช้' ที่อยู่ถัดจากพอร์ตอีเทอร์เน็ตควรกะพริบในรูปแบบที่ตั้งโปรแกรมไว้เพื่อเลียนแบบชีพจรของมนุษย์ (ผู้ผลิตบีเกิ้ลเจ๋งใช่มั้ย) และไอคอนของบอร์ดควรปรากฏบนเดสก์ท็อปของคุณ หากคุณกำลังใช้ Mac คุณสามารถตั้งโปรแกรมบอร์ดของคุณได้สองวิธี:

วิธีที่ 1: เทอร์มินัล

เปิดเทอร์มินัลแล้วพิมพ์ลงในบรรทัดคำสั่ง

ssh [email protected]

หากเมื่อคุณได้รับพร้อมท์ให้ใส่รหัสผ่าน ให้พิมพ์

ราก

** หากไม่ได้ผลเนื่องจาก "คีย์ ssh ที่ละเมิด" **

พิมพ์ลงในบรรทัดคำสั่ง

rm -f.ssh/known_hosts

ssh [email protected]

**ถ้ายังไม่หาย**

พิมพ์ลงในบรรทัดคำสั่ง

sudo ssh [email protected]

วิธีที่ 2: สภาพแวดล้อมเดเบียน

คุณยังสามารถ vnc เข้าสู่สภาพแวดล้อมเดสก์ท็อปของบอร์ดและตั้งโปรแกรมจากที่นั่นได้ ทำตามขั้นตอนด้านล่างเพื่อทำสิ่งนี้

  • ดาวน์โหลด Remote Desktop Connection สำหรับ 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: การติดตั้ง Libraries ที่เหมาะสมบน BBB

คุณจะต้องติดตั้งไลบรารีสองสามตัวเพื่อให้โค้ดทำงานได้อย่างถูกต้อง ในการติดตั้งอะไรก็ได้บน BBB ของคุณ จะต้อง:

  • เสียบเข้ากับอีเธอร์เน็ต
  • ขับเคลื่อนโดยคอมพิวเตอร์ของคุณ (หากคุณกำลังสื่อสารกับบอร์ดของคุณผ่านเทอร์มินัล)
  • ขับเคลื่อนโดยหูดที่ผนัง 5V (หากคุณกำลังเชื่อมต่อบอร์ดกับจอภาพ)

ฉันขับเคลื่อนบอร์ดของฉันเองผ่านคอมพิวเตอร์และตั้งโปรแกรมผ่านคำสั่ง ssh ซึ่งก่อนหน้านี้อธิบายไว้ใน "การสื่อสารด้วย The Beagle Bone Black"

คุณจะต้องติดตั้ง:

  • Python
  • ห้องสมุดหลาม GPIO ของ Adafruit
  • ซีลีเนียม
  • PhantomJS เว็บเบราว์เซอร์หัวขาด

ขั้นตอนที่ 10: การติดตั้งไลบรารี I/O ของ Python และ Adafruit

บอร์ด Beaglebone Black Board มีหมุด gpio จำนวนมาก รวมทั้งหมด 65 พิน ทำให้เป็นเอกลักษณ์เฉพาะในบรรดามินิคอมพิวเตอร์และบอร์ดไมโครโปรเซสเซอร์ในตลาด ไลบรารี gpio สองไลบรารีที่เข้ากันได้กับพิน gpio ของ Beagle คือไลบรารีในตัวของ BoneScript และไลบรารี Python GPIO ของ Adafruit เนื่องจากโดยส่วนตัวแล้วฉันคุ้นเคยกับ Python มากกว่า ฉันจึงตัดสินใจใช้ไลบรารี Python GPIO ห้องสมุดค่อนข้างง่ายในการดาวน์โหลด ขั้นแรก ssh ลงใน Beagle Board และติดตั้งการพึ่งพาต่อไปนี้:

sudo ntpdate pool.ntp.org

sudo apt-get update sudo apt-get ติดตั้ง build-essential python-dev python-setuptools python-pip python-smbus -y

จากนั้นพิมพ์คำสั่งต่อไปนี้ในการติดตั้ง python gpio library

sudo pip ติดตั้ง Adafruit_BBIO

ขั้นตอนที่ 11: การติดตั้งซีลีเนียม

ซีลีเนียม พูดง่ายๆ ก็คือ ทำให้เว็บเบราว์เซอร์เป็นแบบอัตโนมัติ สิ่งที่โครงการนี้ใช้เป็นหลักคือ Selenium WebDriver ซึ่งยอมรับคำสั่ง ส่งไปยังเบราว์เซอร์เช่น Chrome หรือ Firefox และดึงผลลัพธ์ โปรเจ็กต์นี้ใช้การโยงไพทอนของซีลีเนียม ฉันสามารถใช้การโยงจาวาสคริปต์ได้ แต่ฉันชอบที่จะเก็บโค้ดในภาษาเดียวและเนื่องจากฉันตัดสินใจใช้ python เพื่อควบคุมหมุด GPIO ของ BBB ฉันจึงใช้ python สำหรับเว็บมีดโกนของฉันด้วย

ในการติดตั้งซีลีเนียม ssh ลงใน BBB และพิมพ์ลงในบรรทัดคำสั่ง

sudo pip ติดตั้งซีลีเนียม

ขั้นตอนที่ 12: การใช้ซีลีเนียมกับเว็บเบราว์เซอร์หัวขาด

ในการติดตั้ง PhantomJS เพื่อให้คุณสามารถใช้เว็บเบราว์เซอร์ PhantomJS ที่ไม่มีส่วนหัว ให้ ssh ลงใน BBB และพิมพ์ลงในบรรทัดคำสั่ง

sudo apt-get ติดตั้ง build-essential chrpath git-core libssl-dev

libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git ชำระเงิน 1.9./build.sh

คำแนะนำเหล่านี้มาจากเว็บไซต์ PhantomJS ที่นี่ ฉันพบปัญหามากมายในการพยายามติดตั้ง PhantomJS แต่ในที่สุดก็สำเร็จตามคำสั่งเหล่านี้

ขั้นตอนที่ 13: เวลาพิซซ่า

ตอนนี้นั่งลงและเพลิดเพลินกับพิซซ่าของคุณ

แนะนำ: