สารบัญ:

EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ: 6 ขั้นตอน
EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ: 6 ขั้นตอน

วีดีโอ: EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ: 6 ขั้นตอน

วีดีโอ: EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ: 6 ขั้นตอน
วีดีโอ: Easytalk x62 короткий обзор. Работа Pocstars 2024, พฤศจิกายน
Anonim
EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ
EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ
EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ
EasyTalk: การสื่อสารที่ง่ายดายและปฏิทินข้างๆ คุณ

ฉันชื่อ 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 และทดสอบว่าทุกอย่างทำงานก่อนปิดฝาหรือไม่

ที่ด้านล่างมีรูที่คุณสามารถต่อขาตั้งกล้องได้ แต่ตัวเลือกนี้เป็นทางเลือก

แค่นั้นแหละ! ฉันหวังว่าคุณจะสนุกกับการอ่านบทความนี้! -โกเบ

แนะนำ: