สารบัญ:

DIY SmartMirror: 6 ขั้นตอน
DIY SmartMirror: 6 ขั้นตอน

วีดีโอ: DIY SmartMirror: 6 ขั้นตอน

วีดีโอ: DIY SmartMirror: 6 ขั้นตอน
วีดีโอ: DIY Smart Mirror (that doesn't steam up!) 2024, มิถุนายน
Anonim
DIY SmartMirror
DIY SmartMirror

ใช่มันฉลาดมาก

ขั้นตอนที่ 1: การออกแบบและวิวัฒนาการเบื้องต้น

การออกแบบเบื้องต้นและวิวัฒนาการ
การออกแบบเบื้องต้นและวิวัฒนาการ

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

แนวคิดดั้งเดิมมีบอร์ดบางประเภทเช่น Pi หรือ Arduino เพื่อขับเคลื่อนจอแสดงผลและรับข้อมูลจากอินเทอร์เน็ต หลังจากการค้นคว้า ฉันตัดสินใจใช้จอ LCD ขนาด 7 นิ้วและ Raspberry Pi3 พร้อมตัวถอดรหัสสำหรับจอแสดงผล หลังจากนั้นฉันต้องหา API ที่เหมาะสมเพื่อให้ข้อมูลที่เกี่ยวข้องทั้งหมดสำหรับสภาพอากาศ (หวังว่าฟรี) และ GUI เพื่อแสดงข้อมูล เมื่อฉันเริ่มเขียนโค้ด ฉันตระหนักว่าการเพิ่มคุณสมบัติอื่นนอกเหนือจากสภาพอากาศจะไม่สามารถทำได้ภายในเวลาจำกัด

การออกแบบขั้นสุดท้ายของฉันคือจอแสดงผลที่เชื่อมต่อกับตัวถอดรหัสซึ่งสื่อสารกับ Raspberry Pi3 Pi เรียกใช้สคริปต์หลามที่ดึงข้อมูลสภาพอากาศด้วย API ที่เรียกว่า OpenWeatherMap และแสดงข้อมูลโดยใช้ GUI Kivy

ขั้นตอนที่ 2: วิจัย

การวิจัย
การวิจัย

ฉันมีความคิดที่จะสร้างกระจกอัจฉริยะในหัวของฉันแล้วจากบทช่วยสอน Youtube มากมายที่ฉันเห็นในหัวข้อนี้ หลายคนใช้ API ที่พวกเขาต้องจ่ายซึ่งมี GUI ในตัว ฉันไม่ต้องการที่จะจ่ายและไม่ได้เข้ารหัสด้วยตัวเองรู้สึกเหมือนโกง

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

ฉันเลือก Raspberry Pi3 เพราะมีไลบรารีขนาดใหญ่ของโปรเจ็กต์ที่เสร็จแล้ว ฉันสามารถดูได้หากฉันพบปัญหาซึ่งมีอยู่สองสามอย่าง จอแสดงผลที่ฉันเลือกคือจอแสดงผลราคาประหยัดและใหญ่ที่สุดที่ฉันสามารถหาได้ ซึ่งบางพอที่จะใส่ไว้หลังกระจกเงาได้ สุดท้ายฉันก็ต้องสร้างกระจกของตัวเองขึ้นมาเพราะว่าฉันไม่สามารถหาขนาดที่เหมาะสมและราคาถูกได้

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

ขั้นตอนที่ 3: ความยากและความช่วยเหลือ

ความยากลำบากและความช่วยเหลือ
ความยากลำบากและความช่วยเหลือ

ปัญหาแรกอย่างหนึ่งคือความผิดพลาดในส่วนของฉัน ฉันไม่สามารถตรวจสอบเอาต์พุตพินจากจอแสดงผลและอินพุตบน Pi ของฉันได้ เอาต์พุตพินคือ 40 แต่อินพุต Pi คือ 32 แต่โชคดีที่ฉันพบตัวถอดรหัสออนไลน์ที่มีราคาถูกและใช้แรงกดจาก Pi ซึ่งเป็นข้อดี ฉันต้องเสียค่าขนส่งเพิ่มอีกสองสามเหรียญ ถ้าฉันได้ตรวจสอบก่อนที่จะสั่งชิ้นส่วนทั้งหมด

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

วิธีหนึ่งที่ฉันคิดว่า M5 สามารถปรับปรุงการเรียนรู้ในชั้นเรียนนี้คือมีคำอธิบายในคณะกรรมการเจ้าหน้าที่เกี่ยวกับสิ่งที่พวกเขารู้มากจริงๆ ตัวอย่าง เช่น 'Python' หรือ 'RaspberryPi' ของแต่ละคนจะช่วยในการค้นหาว่าควรไปหาใครเมื่อฉันมีคำถาม ส่วนใหญ่ฉันจะหาคนที่อยู่ใกล้ที่สุดและพวกเขาจะพูดอะไรบางอย่างเกี่ยวกับ "โอ้ ฉันไม่รู้จริงๆ แต่ช่างเถอะ จะเป็นเช่นนั้น" แล้วฉันจะพบบุคคลนั้นและหวังว่าจะได้คำตอบ ถ้าฉันสามารถไปที่คณะกรรมการและดูว่าฉันเห็นทักษะใด ๆ ที่เกี่ยวข้องกับปัญหาของฉันหรือไม่ มันจะช่วยได้มากในการขอความช่วยเหลือ

ขั้นตอนที่ 4: ความสำเร็จ

หนึ่งในความสำเร็จที่ยิ่งใหญ่ที่สุดของฉันคือการเดินทางและความสำเร็จของโครงการนี้ นี่เป็นโครงการใหญ่โครงการแรกที่ฉันต้องทำด้วยตัวเอง และมีการเรียนรู้มากมายในขอบเขตของโครงการและการจัดการเวลา กระบวนการเปลี่ยนจากการออกแบบไปสู่การใช้งานนั้นยาก และทำให้ผมมีศรัทธาในการวางแผนอีกครั้ง ตั้งแต่การค้นคว้าส่วนต่างๆ ไปจนถึงการจัดโครงสร้างโค้ด python อย่างมีประสิทธิภาพ การวางแผนและการจัดระเบียบจึงเป็นเรื่องยากในขณะนี้ แต่เมื่อฉันรู้เรื่องนี้แล้ว ฉันจึงนั่งลงและวางแผน ไม่ใช่เพราะได้รับมอบหมายหรือเพราะฉันต้องการเกรดที่ดี แต่ฉันก็สรุปได้ว่าจำเป็น

ความสำเร็จอื่น ๆ ที่ฉันภาคภูมิใจที่สุดคือความสามารถที่เพิ่มขึ้นในหลามและการแนะนำ GUI นี่เป็น GUI แรกที่ฉันเคยเขียนโค้ด และมีช่วงการเรียนรู้ที่สูงชันด้วย วิดเจ็ตการเรียนรู้ ('วัตถุ' ของ kivy) และโครงสร้างทั่วไปของ GUI ทำงานอย่างไรนั้นต่างจากฉัน ตอนนี้ฉันรู้สึกกลมกล่อมมากขึ้นและฉันก็ดีขึ้นเมื่อต้องเรียนรู้ GUI อื่น ๆ ในอนาคต

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

สิ่งแรกที่ฉันจะทำเพื่อสร้างโครงงานนี้ขึ้นมาใหม่เพื่อกำหนดขนาดและวัตถุประสงค์ของคุณ

หากคุณต้องการสร้างสไตล์ DIY กระจกอัจฉริยะ ทำตามการออกแบบของฉัน แต่อย่าลังเลที่จะแยกจากเส้นทาง

หากคุณต้องการแค่โปรเจ็กต์ที่เสร็จสมบูรณ์ คุณสามารถคัดลอกขั้นตอนทั้งหมดของฉันและฉันมีโค้ดบน Github ของฉัน

ขั้นตอนที่ 6: อัปเกรด

สิ่งแรกที่ฉันจะทำคือหากระจกใหม่ แม้ว่าของฉันจะใช้งานได้ แต่ก็มีข้อบกพร่องจากแอปพลิเคชันของฉัน

สิ่งต่อไปที่ฉันจะเพิ่มลงในจอแสดงผลคือแนวคิดอื่นๆ เช่น แบนเนอร์ข่าวและหุ้นใน GUI และอาจอัปเกรดจอแสดงผลเป็นจอภาพหรือ LCD ที่ใหญ่กว่าเพื่อให้พอดีกับข้อมูลทั้งหมด

ถ้าทั้งหมดนี้สมบูรณ์ สุดท้ายฉันจะเพิ่ม Motion Sense หรือ Sleep Function เพื่อไม่ให้เปิดตลอดเวลา หรือเพิ่มการจดจำเสียงเพื่อที่หน้าจอจะไม่เปิดตลอดเวลา

แนะนำ: