สารบัญ:

SmartHome กับ Raspberry Pi: 5 ขั้นตอน
SmartHome กับ Raspberry Pi: 5 ขั้นตอน

วีดีโอ: SmartHome กับ Raspberry Pi: 5 ขั้นตอน

วีดีโอ: SmartHome กับ Raspberry Pi: 5 ขั้นตอน
วีดีโอ: Home Assistant 2023 (EP.1)ทำไมมือใหม่ Home Assistant ต้อง Raspberry Pi! - Cytron Thailand 2024, กรกฎาคม
Anonim
SmartHome กับ Raspberry Pi
SmartHome กับ Raspberry Pi

สำหรับโครงการนี้ ฉันได้สร้าง SmartHome ที่สามารถใช้งานโดยเว็บไซต์และมือถือ สำหรับสิ่งนี้ฉันใช้ Raspberry PI เป็นฐานข้อมูลและเว็บเซิร์ฟเวอร์

เสบียง

หากคุณต้องการเริ่มต้นสิ่งนี้ คุณต้องมีหลายอย่าง:

  • ไฟ LED สีขาว 5 ดวง (5 มม.)
  • 1 เซ็นเซอร์อุณหภูมิสายเดียว
  • 1 LDR (ตัวต้านทานที่ขึ้นกับแสง)
  • เซอร์โวมอเตอร์ 2 ตัว
  • 1 microSD (สำหรับ Raspberry Pi)
  • 1 พาวเวอร์ซัพพลายเขียงหั่นขนม
  • 1 Raspberry Pi 3 รุ่น B+
  • 3 แผ่นโฟม
  • 1 สเต็ปเปอร์มอเตอร์ (5V)
  • เครื่องอ่าน RFID-RC522 1 เครื่อง
  • ตัวต้านทาน 8 ตัว (220 โอห์ม)
  • ตัวต้านทาน 1 ตัว (10K โอห์ม)
  • 2 เขียงหั่นขนม
  • จัมเปอร์ไวร์ 2 แพ็ค
  • จอ LCD ขนาด 16x2 1 จอ
  • 1 PCF8574AN
  • หน้าต่างบานเล็ก 4 บาน (พิมพ์ 3 มิติ)
  • 1 ประตู (พิมพ์ 3D)
  • หน้าต่างบานใหญ่ 2 บาน (พิมพ์ 3 มิติ)
  • 1 ประตูโรงรถ (พิมพ์ 3D)

หากคุณต้องการทั้งหมดนี้เพื่อซื้อ ค่าใช้จ่ายสูงสุดจะอยู่ที่ประมาณ €150

ขั้นตอนที่ 1: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

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

ด้วยวิธีนี้ คุณสามารถดูได้ว่าคุณมีพินบน Raspberry Pi เพียงพอเพื่อเชื่อมต่อทุกอย่างหรือไม่ ในกรณีนี้ ฉันใช้ PCF8574AN เพื่อควบคุม LCD โดยใช้พิน GPIO น้อยกว่า

ในการวาดโครงร่าง ฉันใช้ Fritzing เป็นโปรแกรมที่มีประโยชน์ซึ่งคุณสามารถดูสายเคเบิลของคุณได้อย่างมีระเบียบ

ดังที่คุณเห็นในภาพที่สอง มีสายเคเบิลจำนวนมาก ดังนั้นคุณยังต้องทำงานอย่างเป็นระเบียบ

ขั้นตอนที่ 2: ที่อยู่อาศัย

ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย

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

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

ขั้นตอนที่ 3: ฐานข้อมูล

ฐานข้อมูล
ฐานข้อมูล

ก่อนอื่น คุณต้องออกแบบฐานข้อมูลโดยใช้ Mysql Workbench หากสำเร็จ คุณต้องติดตั้งฐานข้อมูล Mysql บน Raspberry Pi

ขั้นตอนแรกที่คุณทำคือตรวจสอบว่า Pi ของคุณได้รับการอัปเดตหรือไม่ คุณสามารถใช้คำสั่งต่อไปนี้:

sudo apt-get update

และ

sudo apt-get อัพเกรด

ตอนนี้คุณสามารถติดตั้งเซิร์ฟเวอร์ Mysql:

sudo apt-get ติดตั้ง mysql-server

หากมีการติดตั้งเซิร์ฟเวอร์ Mysql ให้ติดตั้งไคลเอนต์ Mysql

sudo apt-get ติดตั้ง mysql-client

หากคุณดูที่เซิร์ฟเวอร์ sql ด้วยคำสั่ง:

sudo mysql

ตอนนี้คุณสามารถนำเข้ารหัสฐานข้อมูลของคุณโดยเปิดไฟล์.mwb ด้วย sql workbench และ forward engineer คุณคัดลอกรหัสและวางสิ่งนี้ใน mysql จาก Raspberry ฐานข้อมูลถูกสร้างขึ้น

เพื่อให้ผู้ใช้ได้รับสิทธิ์ทั้งหมด เพียงเพิ่มชื่อผู้ใช้ของคุณในตาราง

ให้สิทธิ์ทั้งหมดบนสมาร์ทโฮม* กับ 'ชื่อของคุณ'@'%' ที่ระบุโดย 'ชื่อของคุณ';

แน่นอน คุณต้องรีเฟรชตารางเดี๋ยวนี้

สิทธิพิเศษในการล้าง;

เพื่อตรวจสอบสิ่งนี้ คุณสามารถลอง:

ใช้สมาร์ทโฮม

เลือก * จากประวัติ;

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

ขั้นตอนที่ 4: ตั้งค่า

ในการตั้งค่ารูปภาพบน Raspberry Pi คุณสามารถใช้ Putty ซึ่งเป็นโปรแกรมฟรี คุณสามารถค้นหาไฟล์รูปภาพพื้นฐานได้ที่นี่:

อินเทอร์เฟซ

แน่นอน คุณต้องเปิดใช้งานอินเทอร์เฟซบางอย่างบน Pi ไปที่หน้าการกำหนดค่าก่อน

sudo raspi-config

ตอนนี้คุณสามารถไปที่หมวดหมู่ 1-Wire และ Spi และเปิดใช้งานทั้งคู่ คุณจะต้องใช้สิ่งเหล่านี้สำหรับเซ็นเซอร์อุณหภูมิ

Wifi

ทำตามขั้นตอนถัดไปเพื่อรับ wifi บน Pi

เข้าสู่ระบบครั้งแรกในฐานะรูท

sudo-i

จากนั้นกรอกชื่อและรหัสผ่านของเครือข่าย wifi ของคุณ

wpa_passphrase="wifiname" "รหัสผ่าน" >> /etc/wpa_supplicant/wpa_supplicant.conf

จากนั้นเข้าสู่ไคลเอนต์ WPA

wpa_cli

เลือกอินเทอร์เฟซ

อินเทอร์เฟซ wlan0

ตอนนี้โหลดการกำหนดค่าใหม่

กำหนดค่าใหม่

และตอนนี้คุณสามารถตรวจสอบว่าคุณเชื่อมต่ออยู่หรือไม่

ip a

แพ็คเกจ

สิ่งแรกที่ต้องทำคืออัปเดตเวอร์ชันล่าสุด

sudo apt อัปเดต

สำหรับ python เราติดตั้งและตรวจสอบให้แน่ใจว่า Pi กำลังเลือกเวอร์ชันที่ถูกต้อง

ทางเลือกในการอัปเดต -- ติดตั้ง /usr/bin/python python /usr/bin/python2.7 1update-alternatives --install /usr/bin/python python /usr/bin/python3 2

เพื่อให้เว็บเซิร์ฟเวอร์ทำงานบนไซต์ เราต้องติดตั้ง Apache2

sudo apt ติดตั้ง apache2 -y

จำเป็นต้องติดตั้งแพ็คเกจหลามด้วยเช่นกัน

  • กระติกน้ำ
  • Flask-Cors
  • Flask-MySQL
  • กระติกน้ำ-ซ็อกเก็ตIO
  • PyMySQL
  • Python-socketIO
  • คำขอ
  • pip
  • gpio
  • เกเวนต์
  • Gevent-websocket

หากมีปัญหากับแพ็คเกจที่ไม่พบ ให้คลิกขวาแล้วปล่อยให้ติดตั้ง

ขั้นตอนที่ 5: รหัส

รหัส
รหัส
รหัส
รหัส

แบ็กเอนด์

สำหรับแบ็กเอนด์ เราเขียนโค้ดเป็น python และใช้ pycharm ในการเขียน เส้นทางจากแบ็กเอนด์สามารถตรวจสอบกับบุรุษไปรษณีย์ได้ ด้วยแอพนี้ คุณสามารถใช้วิธี POST และ GET ในแบ็กเอนด์ ฉันใช้มัลติเธรดเพื่อให้ทุกอย่างทำงานในเบื้องหลังและสามารถทำงานร่วมกันได้ ในการตั้งค่ารูปภาพบน Raspberry Pi คุณสามารถใช้ Putty ได้ นี่เป็นโปรแกรมฟรี

ส่วนหน้า

ที่ด้านหน้ามีปุ่มสองสามปุ่มที่สามารถเปิดไฟ เปิดพอร์ตโรงรถและประตูได้ ด้วยการใช้จาวาสคริปต์และ CSS สไตล์จากปุ่มจะเปลี่ยนไปเมื่อเปิดใช้งาน นอกจากนี้ยังมีอุณหภูมิสดและแผนภูมิที่มีอุณหภูมิที่ผ่านมา ที่หน้าผู้ใช้ คุณสามารถดูผู้ใช้ต่างๆ ได้ คุณสามารถเพิ่มผู้ใช้ลงในฐานข้อมูลได้ และมีประวัติผู้ใช้ที่คุณสามารถดูว่าใครเปิดหรือปิดประตูโรงรถเป็นคนสุดท้าย

คุณสามารถค้นหารหัสสำหรับส่วนหน้าและส่วนหลังได้ที่

github.com/NMCT-S2-Project-1/nmct-s2-proje…

แนะนำ: