สารบัญ:

SmartBox - ระบบบ้านอัจฉริยะสำหรับห้องของคุณ: 6 ขั้นตอน
SmartBox - ระบบบ้านอัจฉริยะสำหรับห้องของคุณ: 6 ขั้นตอน

วีดีโอ: SmartBox - ระบบบ้านอัจฉริยะสำหรับห้องของคุณ: 6 ขั้นตอน

วีดีโอ: SmartBox - ระบบบ้านอัจฉริยะสำหรับห้องของคุณ: 6 ขั้นตอน
วีดีโอ: เปลี่ยนห้องให้เป็น Smart Room ง่ายๆด้วยตัวเอง ผ่านแอพ Tuya และ แอพ Google Home 2024, กรกฎาคม
Anonim
SmartBox - ระบบบ้านอัจฉริยะสำหรับห้องของคุณ
SmartBox - ระบบบ้านอัจฉริยะสำหรับห้องของคุณ

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

ในคำแนะนำนี้ ฉันจะอธิบายให้คุณทราบถึงวิธีสร้างระบบห้องอัจฉริยะ ระบบนี้มีอุปกรณ์สองเครื่อง

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

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

ในฐานะอุปกรณ์ที่สองและแยกต่างหาก คุณจะสามารถควบคุมแถบ LED ที่มีรูปแบบและสีที่ตั้งโปรแกรมไว้ล่วงหน้าได้

เสบียง

- Raspberry Pi 3 รุ่น B+

- การ์ด SD ขนาด 16GB

- Arduino Uno

- ประกอบ Pi T-Cobbler Plus

- เขียงหั่นขนมขนาดเล็ก

- แหล่งจ่ายไฟเขียงหั่นขนม (เช่น YwRobot Power Supply)

- เซ็นเซอร์อุณหภูมิหนึ่งสาย (DS18B20+)

- เซ็นเซอร์วัดความชื้นและความชื้นแบบดิจิตอล (DHT22)

- เซ็นเซอร์ระยะอัลตราโซนิก (HC-SR05)

- จอ LCD 16x2

- โพเทนชิออมิเตอร์

- แอมพลิฟายเออร์ (แอมพลิฟายเออร์ Adafruit MAX98357A I2S 3W Class D)

- ลำโพง เส้นผ่านศูนย์กลาง 3 - 4 โอห์ม 3 วัตต์

- โมดูลบลูทูธ (HC-05)

- ไฟ LED RGB 5V (WS1812B)

- 1x ตัวต้านทาน 4.7K โอห์ม

- ตัวต้านทาน 1x 10K โอห์ม

- ตัวต้านทาน 3x 1K โอห์ม

- ตัวต้านทาน 1x330 โอห์ม

- สายกระโดด

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

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

มาเริ่มกันเลยดีกว่า

ขั้นแรก เชื่อมต่อทุกอย่างตามแบบแผนด้านบน ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อทุกอย่างถูกต้อง มิฉะนั้น บางสิ่งจะไม่ทำงาน

หมายเหตุ: หากคุณต้องการปรับเปลี่ยน คุณจะต้องแก้ไขโค้ด ทำเช่นนี้ก็ต่อเมื่อคุณรู้ว่ากำลังทำอะไรอยู่! คุณสามารถติดต่อฉันสำหรับคำถามหรือปัญหาได้เสมอ

หากคุณต้องการแผนงานที่น่าสนใจ คุณสามารถดาวน์โหลดได้ที่นี่

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

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

ฐานข้อมูลจะบันทึกการวัดเซ็นเซอร์ทั้งหมดในตารางประวัติ ใช้สำหรับกราฟประวัติบนเว็บไซต์

หากคุณต้องการดำเนินการบนเว็บไซต์ คุณจะต้องมีบัญชี ทุกบัญชีจัดเก็บการเตือน อุปกรณ์ไฟ การแจ้งเตือนและการตั้งค่า

หมายเหตุ: กลไกการเข้าสู่ระบบไม่รวมอยู่ด้วย แต่ฉันอาจเพิ่มสิ่งนี้ในภายหลัง

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

ดังนั้นหากทุกอย่างเชื่อมต่อกัน เราสามารถเริ่มต้นด้วยการตั้งค่า Raspberry Pi

ก่อนอื่น มาเริ่มกันที่รูปภาพกันก่อน

รูปภาพ

1: ดาวน์โหลดอิมเมจ Raspberry Pi OS:

2: ดาวน์โหลดและติดตั้ง Win32DiskImager:

3: ใส่การ์ด SD และเรียกใช้ Win32DiskImager

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

5: หากกระบวนการเสร็จสิ้น เราสามารถปรับเปลี่ยน Raspberry Pi ล่าสุดได้ ไปที่ไดเร็กทอรีการ์ด SD และเพิ่มไฟล์ "ssh" โดยไม่มีส่วนขยายเพื่อให้แน่ใจว่า pi จะเปิดใช้งาน SSH เมื่อเริ่มต้น

6: จากนั้นเปิด cmdline.txt ในไดเร็กทอรีเดียวกันและเพิ่ม "ip=169.254.10.1" ที่ท้ายบรรทัดแล้วคลิกบันทึก หมายเหตุ:เก็บทุกอย่างไว้ในบรรทัดเดียว มิฉะนั้นการตั้งค่าบางอย่างจะไม่ทำงาน

7: ตอนนี้นำการ์ด SD ออกจากคอมพิวเตอร์อย่างปลอดภัยแล้วใส่การ์ด SD ลงใน Raspberry Pi

8: เมื่อเสร็จแล้ว คุณสามารถเชื่อมต่อ pi ด้วยสายอีเทอร์เน็ตกับพอร์ต LAN ของแล็ปท็อปหรือคอมพิวเตอร์ของคุณ

9: เพิ่มพลังให้กับ Raspberry Pi

การกำหนดค่า Wi-Fi และ Pi

ในการควบคุม Raspberry Pi ผ่าน SSH เราจำเป็นต้องมีซอฟต์แวร์ชื่อ Putty คุณสามารถดาวน์โหลดและติดตั้ง Putty ได้ที่นี่:

1: เมื่อติดตั้ง Putty แล้ว คุณสามารถเชื่อมต่อกับ pi ด้วย IP: 169.254.10.1 และพอร์ต: 22 เมื่ออินเทอร์เฟซบรรทัดคำสั่งปรากฏขึ้น คุณสามารถเข้าสู่ระบบด้วยผู้ใช้: pi และรหัสผ่าน: raspberry

2: ตอนนี้เราเข้าสู่ระบบในประเภท "sudo raspi-config" และไปที่ตัวเลือกการเชื่อมต่อ ตรวจสอบให้แน่ใจว่า One-Wire, Serial (เปิดใช้งานเฉพาะพอร์ตฮาร์ดแวร์ซีเรียล ไม่ใช่เชลล์การเข้าสู่ระบบผ่านซีเรียล) I2C en SPI เปิดใช้งานอยู่

3: ในการเชื่อมต่อกับ Wifi เราจำเป็นต้องใช้ผู้ใช้รูท พิมพ์ "sudo -i" เพื่อเข้าสู่ระบบในฐานะผู้ใช้รูท

4: หากต้องการเพิ่มเครือข่าย Wifi ของคุณลงใน Raspberry Pi ให้พิมพ์

"wpa_passphrase "SSID" "รหัสผ่านของคุณ" >> /etc/wpa_supplicant/wpa_supplicant.conf"

ในเทอร์มินัลด้วยชื่อและรหัสผ่านของเครือข่ายของคุณ

5: เมื่อเสร็จแล้วให้รีบูต pi ของคุณ

6: หากทุกอย่างถูกต้อง คุณจะเห็นว่ามี IP บนอินเทอร์เฟซ wlan0 ของคุณ ทำ "ip a" เพื่อตรวจสอบสิ่งนี้

7: เป็นประเภทสุดท้าย "sudo apt-get update" และ "sudo apt-get upgrade" เพื่ออัปเดต pi ของคุณ

8: ตรวจสอบให้แน่ใจว่าได้ติดตั้ง MySQL, apache2 และ php-mysql สำหรับโครงการนี้ ประเภท: sudo apt ติดตั้ง apache2 mariadb-server php-mysql -y

9: สำหรับการติดตั้ง MySQL อ่านบทความนี้:

10: แก้ไขผู้ใช้ MySQL และรหัสผ่านของคุณในไฟล์ config.py ในแบ็กเอนด์

ตั้งค่าบลูทูธ

1: เพิ่มพลังให้ Arduino

2: พิมพ์ hcitool scan เพื่อค้นหาที่อยู่ mac ของโมดูล Bluetooth ของคุณ เมื่อพบแล้วให้จดหรือคัดลอกไว้ในเอกสารอื่น

3: ตอนนี้เรากำลังจะเพิ่มโมดูล Bluetooth ให้กับ Raspberry Pi ทำคำสั่งต่อไปนี้:

sudo bluetoothctl

ตัวแทน on

mac-address คู่ (ถ้าถามหาพิน พินมาตรฐานคือ 1234)

เชื่อถือที่อยู่ mac

4: เพิ่มที่อยู่ mac ของคุณลงในไฟล์ app.py ในแบ็กเอนด์

การตั้งค่าลำโพง

ตอนนี้ pi ของคุณได้รับการอัปเดตและเรามีการเชื่อมต่ออินเทอร์เน็ตแล้ว เราสามารถเริ่มกำหนดค่าลำโพงได้ 1: เรียกใช้คำสั่งต่อไปนี้: "curl -sS https://raw.githubusercontent.com/adafruit/Raspbe… | bash"

2: เมื่อเสร็จแล้วระบบจะขอให้คุณรีบูต กด y และป้อน

3. รันสคริปต์อีกครั้ง เพื่อให้แน่ใจว่าเสียงทำงานอย่างถูกต้อง หากทุกอย่างถูกต้อง คุณจะได้ยินผู้หญิงพูด

4. เมื่อเสร็จแล้ว ให้รีบูตเป็นครั้งที่สอง

การกำหนดค่า Python

รหัสโครงการทำงานบน python ดังนั้นตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง python 3.7 แล้ว ตรวจสอบสิ่งนี้ด้วย "python3 -V" หากคุณมี python คุณสามารถติดตั้งแพ็คเกจต่อไปนี้ด้วยตัวติดตั้ง pip: pip ติดตั้ง Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket คำขอ python-socketio

การติดตั้ง SmartBox

ตอนนี้การตั้งค่าหลักทั้งหมดได้รับการกำหนดค่าแล้ว เราสามารถเริ่มต้นด้วยการตั้งค่า SmartBox อย่างเป็นทางการ

1: โคลนที่เก็บ SmartBox ไปยังโฮมไดเร็กตอรี่ของคุณ (/home/pi) โดยพิมพ์: git clone

2: เมื่อเสร็จแล้ว คุณสามารถเรียกใช้ไฟล์ sql พิมพ์ "sudo mysql -u root -p << SmartBox.sql" เพื่อสร้างฐานข้อมูล

3: จากนั้นคัดลอกส่วนหน้าไปที่ /var/www/html โดยทำ "cp -R frontend/. /var/www/html"

4: สำหรับการเริ่มต้นอัตโนมัติให้เพิ่มไฟล์บริการลงใน systemd พิมพ์: "cp service/SmartBox.service /etc/systemd/system/SmartBox.service" และทำ "sudo systemctl enable myscript.service" เพื่อเปิดใช้งาน

5: เมื่อเสร็จแล้ว ไปที่ config.py ในแบ็กเอนด์ และเปลี่ยนเป็นรหัสผ่าน mysql ของคุณ

6: รีบูต pi. ของคุณ

ขั้นตอนที่ 4: การตั้งค่า Arduino Uno

ตอนนี้อุปกรณ์หลักเสร็จแล้ว เราจะเริ่มด้วยแถบไฟ LED Arduino จะควบคุมแถบ LED 5V WS1812B ให้เรา

1: ดาวน์โหลดและติดตั้ง Arduino IDE:

2: ดาวน์โหลดรหัส Arduino ในที่เก็บ github ของฉัน:

3: หากดาวน์โหลดและติดตั้งทุกอย่างแล้ว คุณสามารถเสียบ Arduino Uno ของคุณได้

4: เปิดไฟล์ LedStripCode.ino และอัปโหลดไปยัง Arduino โดยคลิกที่ลูกศรชี้ไปทางขวา

5: เชื่อมต่อโมดูลบลูทู ธ และแถบนำทางกับ Arduino และทุกอย่างควรทำงาน (ดูขั้นตอนที่ 1 การเดินสาย)

ขั้นตอนที่ 5: การออกแบบเคส

การออกแบบเคส
การออกแบบเคส
การออกแบบเคส
การออกแบบเคส
การออกแบบเคส
การออกแบบเคส

สำหรับการออกแบบเคสของฉัน ฉันใช้กล่องพลาสติกที่มีอยู่และเคส Raspberry Pi อย่างเป็นทางการ ในมุมมองด้านหน้า ฉันทำรูต่างๆ สำหรับลำโพง และอีกช่องสำหรับหน้าจอ LCD

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

ที่มุมมองด้านบนจะมีรูสำหรับเซ็นเซอร์อัลตราโซนิกอยู่สองรู จึงสามารถตรวจจับการเคลื่อนไหวได้เมื่อมีเสียงเตือนดังขึ้น

ฉันติดตั้ง Raspberry Pi ไว้ในเคสที่ด้านขวาของกล่อง เพื่อให้สามารถอัปเกรดหรือเปลี่ยนได้ง่ายขึ้น

เมื่อเสร็จแล้ว คุณสามารถรวม T-cobbler และเซ็นเซอร์ของคุณ ฉันใช้สกรูและซิลิโคนเพื่อให้แน่ใจว่าทุกอย่างแข็งแรง

หมายเหตุ: หากคุณใช้สกรูโลหะเพื่อยึด Raspberry Pi ตรวจสอบให้แน่ใจว่าคุณใช้เทปฉนวน

ขั้นตอนที่ 6: เสร็จสิ้น Touch

ตอนนี้ทุกอย่างเสร็จเรียบร้อยแล้ว คุณสามารถลบส่วน IP ใน cmdline.txt ได้หรือไม่

ใช้: sudo nano /boot/cmdline.txt

แนะนำ: