วงจร

วิธีการสร้าง Raspberry Pi Smart Mirror!: 7 ขั้นตอน (พร้อมรูปภาพ)

EASY SMART MIRROR SETUP

EASY SMART MIRROR SETUP

สารบัญ:

Anonim

สวัสดีทุกคน!

สำหรับโครงการสุดท้ายทางวิทยาศาสตร์คอมพิวเตอร์ของฉันฉันตัดสินใจสร้าง Smart Mirror ที่ขับเคลื่อนโดย Raspberry Pi 3! ฉันได้รับความคิดนี้จาก Hacker House ช่อง Youtube ที่ยอดเยี่ยมที่มีแนวคิดที่น่าสนใจมากมายสำหรับโครงการสร้างสรรค์ที่รวมคำแนะนำที่ง่ายต่อการปฏิบัติ! แม้ว่าฉันจะมุ่งเน้นไปที่การเขียนโปรแกรมส่วนใหญ่ใน Java แต่ Smart Mirror นี้อนุญาตให้ฉันทำงาน Raspberry Pi โดยการเข้ารหัสใน Linux และ Python ภาษาที่ฉันไม่เคยใช้มาก่อน ฉันก็ต้องทำงานไม้ที่น่าสนใจด้วยการสร้างกรอบรอบ ๆ จอภาพซึ่งตั้งอยู่ด้านหลังกระจกสองทาง แม้ว่านี่จะเป็นโครงการ Raspberry Pi แรกของฉัน แต่ฉันใช้เวลาประมาณสองสัปดาห์ในการดำเนินการให้เสร็จสมบูรณ์ตั้งแต่การเข้ารหัส Pi ไปจนถึงทาสีเฟรม มันเป็นประสบการณ์ที่ยอดเยี่ยมในการสร้างสิ่งนี้และฉันหวังว่าบทช่วยสอนนี้จะช่วยคุณสร้างของคุณเอง!

วัสดุ:

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

ก่อนที่คุณจะเริ่มต้นนี่คือรายการของรายการที่จำเป็นทั้งหมดสำหรับโครงการ:

  1. Raspberry Pi (ฉันใช้รุ่น Raspberry Pi 3 รุ่น B เนื่องจากมีการเข้าถึงได้ง่ายและตัวเลือกไร้สายติดตั้งง่าย)
  2. จอภาพ (ฉันใช้จอซัมซุง 12 "X 20" พร้อมอินพุต HDMI)
  3. Two Way Acrylic Glass Mirror (มีบางออนไลน์ แต่ฉันใช้หนึ่ง Hacker House ถูกกว่าแนะนำ - ดูลิงค์ที่ด้านล่าง)
  4. 4 x 3D Printed Brackets (ไม่จำเป็น แต่ทำให้ง่ายต่อการใส่กรอบอีกครั้ง Hacker House มีเว็บไซต์ที่ให้ไฟล์ STL และ zip สำหรับการออกแบบของวงเล็บ - ดูลิงค์ที่ด้านล่าง)
  5. สาย HDMI
  6. สาย Micro HDMI สำหรับแหล่งจ่ายไฟ Pi
  7. กาวไม้
  8. สกรู
  9. ไม้ (ฉันใช้ชิ้นยาว 8ft สองชิ้น (a 1 "x 3" และ 1 "x 4") เพื่อตัดกรอบด้านในและด้านนอก)
  10. แป้นพิมพ์ (USB)
  11. เม้าส์ (USB)
  12. ที่หนีบ

วงเล็บ 3 มิติ ~

http://www.hackerhouse.site/parts.html

กระจกสองทาง ~

http: //www.amazon.com/gp/product/B01CZ35XWY/ref=o …

ขั้นตอนที่ 2: การตั้งค่า Raspberry Pi

เพื่อให้ Pi ได้รับข้อมูลจากโมดูล Magic Mirror ที่พบทางออนไลน์เป็นสิ่งสำคัญในการตั้งค่า Wi-Fi และเขตเวลาของคุณ เมื่อติดตั้งระบบปฏิบัติการ "Raspbian" แล้ว (ฉันใช้รุ่น "Jessie") ในการ์ด micro SD ของคุณให้เสียบคีย์บอร์ดและเมาส์ของคุณเข้ากับ Pi และต่อสาย HDMI เข้ากับจอภาพที่คุณกำลังจะใช้ รอให้ระบบทำการบูทจากนั้นคุณสามารถเริ่มตั้งค่า Pi ไปยังตำแหน่งของคุณ ก่อนอื่นให้คลิกสัญลักษณ์ Wi-Fi ที่มุมขวาบนของหน้าจอ เลือกอินเทอร์เน็ตของคุณและป้อนรหัสผ่านของคุณ จากนั้นคุณควรเชื่อมต่อกับ Wi-Fi ของคุณเมื่อคุณทำเสร็จแล้วให้เข้าถึงเทอร์มินัลของคุณและพิมพ์ต่อไปนี้:

sudo dpkg-reconfigure tzdata

จากนั้นคุณสามารถเริ่มเข้าถึงเขตเวลาเฉพาะของคุณผ่านเมนูที่ Pi แสดง เมื่อคุณเลือกเขตเวลาที่ถูกต้องแล้วให้บันทึกและรีบูต Pi ของคุณ ณ จุดนี้กระจกวิเศษสามารถใช้ตำแหน่งของคุณเพื่อแสดงเวลาและการเข้าถึงข้อมูลจากอินเทอร์เน็ตโดยใช้ Wi-Fi ของคุณ ตอนนี้คุณสามารถเริ่มเขียนโปรแกรม!

ขั้นตอนที่ 3: Magic Mirror 2

ก่อนที่คุณจะเริ่มดาวน์โหลดและกำหนดค่าโปรแกรมคุณควรรู้ว่าโปรแกรมนี้ทำงานอย่างไร MagicMirror เป็นแพลตฟอร์มดาวน์โหลดที่สร้างขึ้นโดย Michael Teeuw (a.k.a MichMich) ซึ่งผู้ใช้สามารถเข้าถึงที่เก็บข้อมูลนี้ได้ที่ www.github.com ใช้ Pi คุณต้องดาวน์โหลดและโคลนที่เก็บพร้อมกับการอ้างอิง ด้วยการทำเช่นนี้ Pi สามารถเรียกใช้โปรแกรมและแสดงองค์ประกอบบางอย่างที่มีอยู่ในไฟล์ MagicMirror สำหรับคำอธิบายเพิ่มเติมคุณสามารถเยี่ยมชม http://magicmirror.builders/ ซึ่งเป็นฟอรัมออนไลน์ที่มีโมดูลที่มีประโยชน์มากมายและวิธีการแก้ไขปัญหาสำหรับทุกคนที่เขียนโปรแกรม ในการเริ่มต้นให้เข้าถึงเทอร์มินัลของคุณและพิมพ์รหัสต่อไปนี้:

bash -c "$ (curl -sL http://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"

เมื่อคุณกด Enter Pi จะเริ่มดาวน์โหลดที่เก็บอัตโนมัติซึ่งใช้เวลาประมาณ 10 - 15 นาที ระหว่างทางคุณจะได้รับแจ้งให้ป้อน "Y" หรือ "N" สำหรับการอ้างอิงบางอย่างเช่น vim Vim เป็นเครื่องมือที่สำคัญที่ช่วยให้โปรแกรมแก้ไขข้อความสามารถจัดการ MagicMirror ได้ เช่นกันโปรแกรมที่เรียกว่า pm2 จะถูกดาวน์โหลดซึ่งจะรันโปรแกรมโดยอัตโนมัติเมื่อ Pi ของคุณบูทขึ้น อีกข้อความหนึ่งคือ Node.js ซึ่งอนุญาตให้แอปพลิเคชันเครือข่ายทำงานบน Pi เมื่อดาวน์โหลด MagicMirror อย่างสมบูรณ์แล้วให้รีบูต Pi ของคุณ หลังจากรีบูตคุณควรเห็นคำชมเชยเวลาและบทความข่าว (ดูรูปด้านบน) จากจุดนี้คุณสามารถเริ่มปรับแต่งโปรแกรม (เพิ่มโมดูลการวางแนวการเปลี่ยนแบบอักษร ฯลฯ )

ขั้นตอนที่ 4: โมดูล

ดังที่แสดงไว้ก่อนหน้านี้ MagicMirror ควรแสดงเวลาโดยอัตโนมัติคำชมวันหยุดของสหรัฐอเมริกาและบทความข่าวบางส่วน อย่างไรก็ตามฉันต้องการเพิ่มฟีเจอร์บางอย่างลงใน Pi เพื่อให้เป็นที่ชื่นชอบทางสุนทรียะมากขึ้นและมีข้อมูลเพิ่มเติมที่ฉันสามารถเข้าถึงได้ (ตัวอย่างเช่นสภาพอากาศการพยากรณ์อากาศคำพูดที่น่าสนใจ ฯลฯ ) ในการทำเช่นนี้มีหลายสิ่งที่คุณต้องทำเพื่อให้ MagicMirror รับข้อมูลเกี่ยวกับตำแหน่งที่คุณอยู่ในการทำเช่นนี้คุณต้องเข้าถึงโฟลเดอร์โมดูล โฟลเดอร์นี้เป็นกุญแจสำคัญในการสร้างตัวเลือกทั้งหมดที่คุณต้องการสำหรับ MagicMirror คุณสามารถเพิ่มโมดูลลบโมดูล (ฉันลบรายการวันหยุดของสหรัฐอเมริกาเนื่องจากฉันอาศัยอยู่ในแคนาดา) และปรับแต่งการตั้งค่า หากต้องการทำสิ่งนี้ให้เข้าถึงเทอร์มินัลแล้วพิมพ์:

cd ~ / MagicMirror / modules

สิ่งนี้ควรเปิดไฟล์ที่คุณสามารถดูรายการโมดูล (มองหาวงเล็บปิดที่มีข้อมูลอยู่) ฉันเริ่มต้นด้วยการเพิ่มโมดูลพยากรณ์อากาศและอากาศ คุณควรเห็นโมดูลเริ่มต้นพร้อมตัวเลือกสภาพอากาศแล้ว แต่คุณจะสังเกตเห็นว่าไม่มีคีย์สำคัญสองปุ่มที่ขาดหายไป รหัสสถานที่ตั้งและรหัส API ตามที่ระบุไว้ก่อนหน้า MagicMirror ใช้แหล่งข้อมูลออนไลน์เพื่อแสดงข้อมูล ID ทั้งสองนี้มาจากเว็บไซต์ที่เรียกว่า OpenWeatherMap (ดูลิงค์ที่ด้านล่าง) ไซต์นี้เป็นผู้จัดหา API สำหรับสภาพอากาศซึ่งโมดูลนี้ต้องการ ขั้นแรกลงทะเบียนฟรีบนเว็บไซต์และเข้าถึง API ฟรีของคุณ พิมพ์รหัสนี้ในส่วน "appid" ของโมดูล จากนั้นคุณจะต้องค้นหารหัสที่ตั้งเมือง / เมืองของคุณ OpenWeatherMap ให้ไฟล์ขนาดใหญ่เกือบทุกเมืองในโลกและรหัสที่ตั้งของมันอยู่ด้านข้าง ฉันไม่ทราบวิธีที่ง่ายขึ้น แต่คุณอาจต้องเลื่อนดูไฟล์ทั้งหมดจนกว่าคุณจะพบ ID เมือง / เมืองของคุณ เมื่อพบแล้ว (ส่วนนี้แย่มากฉันใช้เวลาประมาณ 20 นาทีในการค้นหา ID เมืองของฉัน) ใส่ลงในโมดูลพยากรณ์อากาศและอากาศ หลังจากนั้นให้บันทึกและออก เมื่อ Pi ของคุณบูทขึ้นคุณจะเห็นสภาพอากาศในเมืองของคุณ ฉันเพิ่มโมดูลเพิ่มเติมที่แสดงคำพูดสร้างแรงบันดาลใจที่ด้านล่างของหน้าจอ (ดูรูปด้านบน) อย่างไรก็ตามรายการโมดูลขึ้นอยู่กับคุณอย่างสมบูรณ์! ตรวจสอบให้แน่ใจว่าได้ตรวจสอบหน้าเว็บโมดูลที่ฟอรัม MagicMirror2 จัดเตรียมไว้ในเว็บไซต์! มีโมดูลเจ๋ง ๆ มากมายที่ทุกคนสามารถเพิ่มเพื่อทำให้กระจกของพวกเขาน่าสนใจยิ่งขึ้นและสนุกมากขึ้น!

http://openweathermap.org

ขั้นตอนที่ 5: การปรับแต่ง

ขั้นตอนนี้ขึ้นอยู่กับคุณทั้งหมดขึ้นอยู่กับว่าคุณต้องการให้กระจกเงาปรากฏในมุมมองแนวตั้งแทนที่จะเป็นแนวนอน ในการปรับแต่ง Pi เพื่อให้หมุนได้ (ดูภาพถ่ายล่าสุด) ให้เข้าถึงเทอร์มินัลแล้วพิมพ์ดังต่อไปนี้:

sudo nano /boot/config.txt

นี่จะเป็นการเปิดการตั้งค่าระบบบางอย่างซึ่งคุณสามารถเพิ่ม "ตัวเลือกการหมุนหน้าจอ" หากต้องการทำสิ่งนี้ให้เลื่อนไปที่ด้านล่างของไฟล์และเพิ่ม:

#rotatethescreen

display_rotate = 1

บันทึกและออก. เมื่อคุณรีบูต Pi, MagicMirror ควรเริ่มต้นและแสดงในแนวนอน คุณควรเห็นโมดูลทั้งหมดที่คุณเพิ่มเข้ามาในมุมมองแนวตั้ง อีกสิ่งหนึ่งที่คุณควรเพิ่มเพื่อปรับแต่ง Pi ของคุณคือการเริ่มต้น PM2 หลังจากติดตั้ง pm2 ฉันพบว่า MagicMirror จะไม่เริ่มต้นจนกว่าฉันจะเข้าถึงเทอร์มินัลและพิมพ์รหัสสองสามบรรทัด เมื่อต้องการกำจัดปัญหานี้ทำต่อไปนี้:

เข้าถึงเทอร์มินัลแล้วพิมพ์: pm2 startup

จากนั้นพิมพ์:

sudo env PATH = $ PATH: / usr / bin / usr / lib / node_modules / pm2 / bin / pm2 เริ่มต้นระบบ systemd -u pi --hp / home / pi

หลังจากนั้นให้เข้าถึงสคริปต์โดยพิมพ์:

นาโน mm.sh

จากนั้นเพิ่ม:

DISPLAY =: 0 npm start

บันทึกและออก. ตอนนี้เมื่อ Pi ของคุณเริ่มต้น MagicMirror ควรเริ่มต้นโดยอัตโนมัติ

นอกจากนี้ยังเป็นการยากที่จะค้นหาวิธีปิดการใช้งานสกรีนเซฟเวอร์เพียงเพราะคุณต้องการเห็นหน้าจอด้านหลังกระจกเงาอย่างต่อเนื่อง ในการทำเช่นนี้คุณจะต้องเข้าถึงเทอร์มินัลและประเภท:

sudo nano /boot/config.txt

จากนั้นเพิ่ม:

#eliminatescreensaver
hdmi_blanking = 1

บันทึกและออกจากนั้นเข้าถึงไฟล์อื่นในเทอร์มินัลโดยพิมพ์:

sudo nano ~ / .config / lxsession / LXDE-pi / autostart

จากนั้นเพิ่ม:

@xset s 0 0
@xset s nonblank
@xset s ไม่เปิดเผย
@xset dpms 0 0 0

บันทึกและออกจากนั้นรีบูต Pi ของคุณ

ขั้นตอนที่ 6: กรอบ

แม้ว่าเฟรมจะค่อนข้างง่ายต่อการสร้าง แต่ก็มีบางสิ่งที่สำคัญที่คุณต้องทำเพื่อเตรียมความพร้อม ก่อนอื่นจัดการกับกระจกสองทาง คุณอาจจำเป็นต้องตัดกระจกให้มีขนาดใหญ่ขึ้นประมาณครึ่งนิ้ว (กว้างและยาวฉลาดกว่าจอภาพ) ทั้งนี้ขึ้นอยู่กับขนาดของจอภาพของคุณ ในการทำเช่นนี้วัดและทำเครื่องหมายขนาดบนกระจก (ฉันใช้ Sharpie - ไม่ต้องกังวล! มีเลเยอร์พลาสติกป้องกันบนเฟรมที่คุณลอกออกเมื่อพร้อม) และวางเทปลงบนเส้น ฉันใช้เทปจิตรกรเพียงเพราะมันไม่แข็งแรงและสามารถหลุดออกมาได้อย่างง่ายดาย ตัดอย่างระมัดระวังตามเทป (คุณจะสังเกตเห็นว่ากระจกแตกบนขอบขณะที่คุณตัดพยายาม จำกัด ตัวแบ่งเหล่านี้เนื่องจากรอยแตกเหล่านี้อาจทำลายอายุการใช้งานของกระจกของคุณ) เมื่อกระจกถูกปรับขนาดแล้วคุณสามารถเริ่มสร้างเฟรมได้ เมื่อใช้เฟรมคุณจะต้องทำสองส่วน ที่อยู่อาศัยภายในและกรอบด้านนอก ในการทำเช่นนี้วัดจอภาพและตัดไม้สองชิ้นที่มีขนาดใหญ่กว่าความยาวจอภาพ 1.5 นิ้ว (ดูรูปด้านบน) หลังจากนั้นตัดอีกสองชิ้นที่พอดีกับระหว่างชิ้นใหญ่ ใช้กาวไม้และที่หนีบเพื่อตั้งค่า เพื่อเพิ่มความเร็วของกระบวนการคุณสามารถเจาะสกรูที่มุมเพื่อยึดเข้าด้วยกันได้ดียิ่งขึ้น ในการสร้างกรอบด้านนอก (ดูภาพที่สอง) ให้ตัดสี่ชิ้นด้วยการตัด 45 องศาที่ปลายแต่ละด้าน (จำไว้ว่าเมื่อคุณวางกรอบด้านนอกบนตัวเรือนด้านในคุณควรวางไว้เพื่อให้จุดกึ่งกลางบนจุดตัด 45 วางบน ที่อยู่อาศัย) เมื่อตั้งค่าเฟรมแล้วและมีความเสถียรให้ประกบกระจกของคุณระหว่างเฟรมและจอภาพ ขันสกรูสามมิติของคุณเข้าด้วยกัน ณ จุดนี้คุณสามารถเสียบ Pi และแหล่งจ่ายไฟของคุณและ MagicMirror ควรเริ่มทำงาน คุณควรเห็นจอแสดงผลอยู่หลังกระจก (วันที่, เวลา, สิ่งที่คุณใส่ในโปรแกรม) ขอแสดงความยินดีตอนนี้คุณมี Smart Mirror ของตัวเองแล้ว!

ขั้นตอนที่ 7: สรุป

หากคุณมีคำถามใด ๆ โปรดแสดงความคิดเห็น! ฉันชอบที่จะช่วยแก้ไขปัญหาหรือความคิดที่คุณมี! นี่เป็นโครงการที่น่าอัศจรรย์ที่ได้มีส่วนร่วมขอบคุณ Hacker House ทั้งหมด! สิ่งหนึ่งที่ฉันอยากจะชี้ให้เห็นก็คือฉันขอแนะนำให้คุณซื้อแผ่นระบายความร้อนสำหรับ Pi เนื่องจากโปรแกรมนี้ออกแบบมาให้ทำงานอย่างต่อเนื่องโปรเซสเซอร์ของคุณจะร้อนอย่างไม่น่าเชื่อ การซื้อแผงระบายความร้อนจะช่วยให้ Smart Mirror ของคุณทำงานได้อย่างปลอดภัยยิ่งขึ้นและจะช่วยลดความเครียดที่ Pi ต้องเผชิญขณะที่ทำงาน ฉันหวังว่าคุณจะลองทำโปรเจคนี้มันจะมีประโยชน์มากและเป็นสุนทรียภาพที่น่าสนใจที่คุณสามารถวางในห้องใดก็ได้ ขอบคุณมากสำหรับการเยี่ยมชมหน้าของฉันหวังว่าฉันจะเพิ่มโมดูลเจ๋ง ๆ ลงในกระจกที่ฉันสามารถช่วยพวกคุณได้ด้วย (AI, เซ็นเซอร์ตรวจจับความเคลื่อนไหว, สัญญาณเตือนภัย ฯลฯ )