สารบัญ:
- ขั้นตอนที่ 1: วัสดุ
- ขั้นตอนที่ 2: Raspberry Pi
- ขั้นตอนที่ 3: การเดินสายไฟ
- ขั้นตอนที่ 4: ฐานข้อมูล
- ขั้นตอนที่ 5: รหัส
- ขั้นตอนที่ 6: กรณี
วีดีโอ: EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ฉันชื่อ Kobe Marchal ฉันเรียนที่ Howest ประเทศเบลเยียม และฉันเป็นนักเรียนเทคโนโลยีมัลติมีเดียและการสื่อสาร (MCT) สำหรับการมอบหมายงานครั้งสุดท้ายในปีแรก ฉันต้องสร้างอุปกรณ์ IoT
ที่บ้านเรามีปัญหานี้ที่พี่ชายของฉันมักจะเล่นเกมและเมื่อแม่ของฉันต้องการบอกอะไรบางอย่างกับเขาจากชั้นล่าง เธอต้องตะโกนเพราะเขาสวมหูฟังและไม่ได้ยินอะไรเลย ฉันต้องการแก้ปัญหานี้ให้เธอ ดังนั้นฉันจึงสร้างอุปกรณ์ที่คุณสามารถส่งข้อความถึงจากเว็บไซต์ได้ นอกจากนี้ยังใช้เป็นปฏิทินที่คุณสามารถจัดเก็บกิจกรรมของคุณเองหรือนำเข้าปฏิทินภายนอกผ่าน URL อุปกรณ์นี้ยังเก็บค่าอุณหภูมิและคุณภาพอากาศไว้ด้วย เพื่อให้คุณเห็นว่าอุปกรณ์นี้ทำงานได้ดีเพียงใดเมื่อคุณเล่นเกมหรือทำงาน เนื่องจากคุณมักไม่สังเกตเห็น
อุปกรณ์นี้เรียกว่า EasyTalk และแก้ปัญหานี้ได้ เป็นอุปกรณ์ขนาดเล็กที่ใช้หน้าจอ OLED คุณจึงสามารถดูกิจกรรม เวลา หรืออุณหภูมิ และคุณภาพอากาศได้ในขณะนี้ เมื่อส่งข้อความ ระบบจะแจ้งเตือนคุณด้วยเสียงแจ้งเตือนและแสดงข้อความบนหน้าจอซึ่งคุณสามารถตอบด้วยคำว่าใช่หรือไม่ใช่
หากคุณต้องการสร้างสิ่งนี้หรือต้องการดูวิธีการทำ ผมขอแนะนำอย่างยิ่งให้อ่านต่อ ถ้าคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับฉัน คุณสามารถไปที่แฟ้มผลงานของฉัน
ขั้นตอนที่ 1: วัสดุ
ขั้นตอนแรกคือการรวบรวมวัสดุทั้งหมดเพื่อใช้ในโครงการนี้ ฉันจะซื่อสัตย์กับคุณ นี่ไม่ใช่อุปกรณ์ราคาถูก ค่าใช้จ่ายโดยรวมคือ 271 ยูโร ด้านล่างนี้เป็นรายการของพวกเขาและภาพถ่ายบางส่วนที่จะชี้แจง
- Raspberry Pi 4 รุ่น B - 4GB
- Pibow Coupé 4 – Ninja
- 12 x Premium Jumperwires op strip - 40 stuks - M/M - 20cm
- 6 x Premium Jumperwires op strip - 40 stuks - M/F - 20cm
- ส่วนหัวซ้อน 2 x 36 พิน
- หัวกล่องชาย 40 พิน
- 40 พิน Regenboog GPIO สายเคเบิล
- Monochrome 2.42" 128x64 OLED Graphic Display Module Kit
- Kleine Metalen Speaker กับ Draadjes - 8 โอห์ม 0.5W
- Adafruit Mono 2.5W Class D Audio Versterker
- สายแจ็ค Aux ขนาด 3.5 มม.
- ด้าย 7 มม. ปุ่มกดชั่วขณะ
- ทุยเมลชาเคลาอาร์
- PIR Bewegingssensor
- DS18B20 เซ็นเซอร์อุณหภูมิแบบดิจิตอล
- Grove - เซ็นเซอร์ Lucht kwaliteit v1.3
- โกรฟ - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Flexibel mini-statief
- ตัวต้านทาน 470 โอห์ม
- ตัวต้านทาน 4, 7K โอห์ม
- ท่อหดความร้อน
- 6 x สกรู M2 x 6mm
- 6 x สกรู M2 x 8mm
- 3 x สกรู M2 x 16mm
- อลูมิเนียม 3 mm
ฉันยังทำ Bill Of Materials (BOM) เพื่อให้คุณเห็นว่าฉันจ่ายเงินสำหรับวัสดุทั้งหมดเท่าไรและฉันได้มาจากที่ใด
ขั้นตอนที่ 2: Raspberry Pi
สำหรับโปรเจ็กต์นี้ เราใช้ Raspberry Pi เพราะติดตั้งง่ายและใช้งานได้หลายอย่าง มันสมบูรณ์แบบสำหรับสิ่งที่เราต้องการทำ
ดาวน์โหลด Raspberry Pi Desktop OS และติดตั้งบน Raspberry Pi ของคุณ คุณต้องเปิดใช้งาน SPI, I2C และ One Wire ใน raspi-config ฉันแนะนำให้ปิดการใช้งานบางอย่างในตัวเลือกการบูตด้วยเพื่อให้บูตเร็วขึ้น นอกจากนั้น ฉันใช้ไลบรารี่บางตัวที่คุณต้องติดตั้งด้วย pip เพื่อให้ใช้งานได้
ติดตั้ง pip3:
- adafruit-circuitpython-ssd1305
- ics
- กระติกน้ำ
- Flask-Cors
- กระติกน้ำ-JWT-Extended
- mysql-connector-python
คุณต้องใช้ apache2 เพื่อตั้งค่าเว็บไซต์ ที่นี่เราใช้ apt:
sudo apt ติดตั้ง apache2 -y
คุณต้องตั้งค่าการเชื่อมต่อไร้สายเพราะคุณไม่สามารถรับสาย UTP ใน Raspberry Pi ได้เมื่ออยู่ในเคส
คุณจะต้องตั้งค่า MariaDB ด้วย เพื่อให้คุณสามารถเข้าถึงฐานข้อมูลได้
ขั้นตอนที่ 3: การเดินสายไฟ
ขั้นตอนต่อไปคือการต่อสายทุกอย่างเข้าด้วยกันและทดสอบว่าส่วนประกอบทั้งหมดทำงานได้หรือไม่ ฉันสร้าง PCB เพื่อถอดเขียงหั่นขนมและทำให้การเดินสายน้อยลงเพื่อให้อุปกรณ์มีขนาดเล็กลง นี่เป็นสิ่งจำเป็นเพราะจะอยู่ถัดจากจอภาพของคุณและไม่สามารถใช้พื้นที่ได้มาก จึงไม่ทำให้คุณเสียสมาธิจากงานของคุณ
ขั้นตอนที่ 4: ฐานข้อมูล
อุปกรณ์นี้ใช้ฐานข้อมูล MySQL ที่ปรับให้เป็นมาตรฐานเพื่อเก็บข้อมูลทั้งหมดไว้ในนั้นและแสดงข้อมูลนี้บนเว็บไซต์และอุปกรณ์เอง ฉันสร้างมันขึ้นมาใน MySQL Workbench
มี 5 ตารางในฐานข้อมูลนี้
Table Activiteiten (= กิจกรรม, กิจกรรม) ใช้เพื่อเก็บกิจกรรมทั้งหมดของปฏิทิน รวมถึงกิจกรรมทั้งหมดที่นำเข้าจากปฏิทินอื่น
Table Apparaten (= อุปกรณ์) ใช้เพื่อจัดเก็บอุปกรณ์ประเภทต่างๆ ที่ใช้ในตาราง Historiek (= ประวัติ) มีเซ็นเซอร์สองตัวที่ใช้ในโครงการนี้ เซ็นเซอร์อุณหภูมิและเซ็นเซอร์คุณภาพอากาศ แต่ฉันยังมี "อุปกรณ์" ตัวที่สาม ซึ่งเป็นเว็บไซต์สำหรับเก็บข้อความที่ส่งจากเว็บไซต์ไปยังอุปกรณ์
ตาราง Gebruikers (= ผู้ใช้) เก็บผู้ใช้ พวกเขาสามารถเข้าสู่ระบบด้วยรหัสผ่านและระบุชื่อเล่นที่ปรากฏขึ้นพร้อมกับข้อความเมื่อส่งไปยังอุปกรณ์
Table Historiek (= history) ใช้เพื่อจัดเก็บค่าเซ็นเซอร์และข้อความที่ส่งไปยังอุปกรณ์
และสุดท้าย ลิงก์ของตาราง (= URL) จะจัดเก็บ URL ปฏิทินภายนอกทั้งหมด
ขั้นตอนที่ 5: รหัส
ฉันแนะนำให้สร้างผู้ใช้ใหม่ตามแนวทางปฏิบัติที่ดีที่สุด แต่ไม่จำเป็น คุณยังสามารถใช้ผู้ใช้ pi เริ่มต้นได้
รหัสส่วนหน้าจะถูกใส่ในโฟลเดอร์ html เริ่มต้นจาก apache2 คุณสามารถค้นหาโฟลเดอร์นี้ใน /var/www/html
สำหรับแบ็กเอนด์ คุณต้องสร้างโฟลเดอร์ในโฟลเดอร์หลักและใส่รหัสทั้งหมดไว้ที่นั่น
เราจำเป็นต้องเปลี่ยนค่าบางอย่างในรหัสนี้ด้วย ไปที่ app.py ก่อน ในบรรทัดที่ 23 ตั้งชื่อเซ็นเซอร์อุณหภูมิหนึ่งสาย นี่อาจจะเป็นสิ่งที่แตกต่างสำหรับคุณ หากต้องการค้นหาชื่อที่ถูกต้อง ให้เปิดเทอร์มินัลแล้วพิมพ์:
ls /sys/bus/w1/devices
และมองหาสตริงที่ประกอบด้วยตัวเลขต่างๆ หลายตัวและแทนที่หมายเลขในบรรทัดที่ 23
อีกอย่างที่เราต้องเปลี่ยนคือในไฟล์ config.py เปลี่ยนรหัสผ่านของฐานข้อมูล
หากคุณต้องการให้สิ่งนี้ทำงานขณะบู๊ต คุณต้องเปลี่ยนไฟล์ EasyTalk.service ด้วย เพียงแค่เปลี่ยน WorkingDirectory และ User คุณต้องคัดลอกไฟล์นี้ด้วยคำสั่งถัดไป:
sudo cp EasyTalk.service /etc/systemd/system/ EasyTalk.service
จากนั้นเรียกใช้:
sudo systemctl start EasyTalk.service
จากนั้นเปิดใช้งานเพื่อให้เริ่มทำงานเมื่อบูต
sudo systemctl เปิดใช้งาน EasyTalk.service
ขั้นตอนที่ 6: กรณี
ฉันตัดสินใจพิมพ์เคสแบบ 3 มิติเพื่อให้มีขนาดเล็กที่สุด งานพิมพ์ประกอบด้วย 3 ส่วน คือ ตัวกล่อง ฝาปิด และที่ใส่ลำโพง เพราะไม่มีรูสำหรับขันน็อต
คุณจะต้องใช้ตัวหนาเช่นกันเพื่อไขทุกอย่างเข้าด้วยกัน
- 6 x สกรู M2 x 6mm
- 6 x สกรู M2 x 8mm
- 3 x สกรู M2 x 16mm
ฉันจะซื่อสัตย์แม้ว่า ฉันใช้เวลา 4-5 ชั่วโมงในการสร้างสิ่งนี้ เนื่องจากมีขนาดเล็กมาก ทุกอย่างพอดีและยากที่จะขันสกรูตัวหนาในบางครั้ง แต่จะได้ผลถ้าคุณทำอย่างระมัดระวัง
ฉันยังออกแบบ PCB เพื่อแทนที่เขียงหั่นขนม ก่อนอื่นคุณต้องบัดกรีส่วนหัวและตัวต้านทาน 5 ตัว (4 x 470 โอห์ม 1 x 4.7K โอห์ม)
เมื่อคุณมี PCB ฉันแนะนำให้เริ่มด้วยการบัดกรีสายเคเบิลกับทุกสิ่งที่ควรจะเชื่อมต่อกับ PCB
เมื่อเสร็จแล้ว คุณจะต้องขันสกรูจอแสดงผล OLED ให้เข้าที่และเชื่อมต่อ PCB เข้ากับจอแสดงผล จอแสดงผลถือ PCB คุณใช้สกรู 6 มม. สำหรับสิ่งนี้
จากนั้นคุณขันเซ็นเซอร์คุณภาพอากาศในตำแหน่งที่ควรจะไป แต่นี่ค่อนข้างยุ่งยากเพราะ ADC เชื่อมต่อกับมัน ในการทำสิ่งนี้อย่างถูกต้องเพื่อไม่ให้ส่วนประกอบทั้งสองสัมผัสกัน คุณใช้สกรู 16 มม. กับท่ออลูมิเนียม 3 x 5 มม. ที่คุณต้องเลื่อย ฉันทำสิ่งนี้ด้วยสกรูสองตัวเพราะฉันไปไม่ถึงอันที่สาม คุณเชื่อมต่อสายไฟ 4 เส้นซึ่งควรจะไปบน PCB
จากนั้นคุณเชื่อมต่อเครื่องขยายเสียงเข้ากับ PCB และใส่ลำโพงเข้าที่ด้วยที่ยึดที่พิมพ์ 3 มิติ
หลังจากขั้นตอนเหล่านี้ ชิ้นส่วนที่แข็งที่สุดจะหมดลง และคุณสามารถเชื่อมต่อทุกอย่างกับ PCB และขันให้เข้าที่ โปรดทราบว่าในภาพถ่ายที่คุณเห็น ฉันใช้เซ็นเซอร์อุณหภูมิแบบอื่น สำหรับผลิตภัณฑ์ขั้นสุดท้าย ฉันใช้เซ็นเซอร์อุณหภูมิกับสายเคเบิลยาวจนหมดกล่องเพราะเป็นการวัดความร้อนจากภายในกล่อง
เมื่อสิ่งเหล่านี้เข้าที่ คุณต้องขัน Raspberry Pi เข้าไป ฉันใช้เคสนี้เพราะฉันไม่ไว้ใจความร้อนที่มันผลิต เคสนี้มีไว้เพื่อการป้องกัน ดังนั้นการพิมพ์ 3 มิติจึงไม่ละลาย ก่อนที่คุณจะขันให้เข้าที่ คุณต้องเชื่อมต่อสายไฟและสาย aux (ซึ่งคุณต้องเปิดและบัดกรีสายไฟหนึ่งเส้นแล้วเชื่อมต่อจาก Raspberry Pi กับ PCB) เพราะคุณจะไม่สามารถเอื้อมถึงได้หลังจากนั้น
จากนั้นเพียงเชื่อมต่อสายเคเบิลส่วนหัว GPIO จาก PCB กับ Raspberry Pi และทดสอบว่าทุกอย่างทำงานก่อนปิดฝาหรือไม่
ที่ด้านล่างมีรูที่คุณสามารถต่อขาตั้งกล้องได้ แต่ตัวเลือกนี้เป็นทางเลือก
แค่นั้นแหละ! ฉันหวังว่าคุณจะสนุกกับการอ่านบทความนี้! -โกเบ
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง