สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
อัปเดตระบบอัตโนมัติภายในบ้านโดยใช้ Raspberry Pi Matrix Voice และ Snips ใน PWM นี้ใช้สำหรับควบคุม LED ภายนอกและเซอร์โวมอเตอร์
รายละเอียดทั้งหมดให้ไว้ในส่วนที่ 1
www.instructables.com/id/Controlling-Light…
ขั้นตอนที่ 1: การติดตั้ง Matrix Core & Matrix HAL บน RPi
1. เพิ่มที่เก็บเมทริกซ์และคีย์
curl https://apt.matrix.one/doc/apt-key.gpg | sudo apt-key เพิ่ม -
echo "deb https://apt.matrix.one/doc/apt-key.gpg $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/matrixlabs.list
ที่เก็บเมทริกซ์สำหรับเมทริกซ์ HAL
curl https://apt.matrix.one/doc/apt-key.gpg | sudo apt-key add -echo "deb https://apt.matrix.one/doc/apt-key.gpg $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/matrixlabs.list
sudo apt-get update
sudo apt-get อัพเกรด
2. ติดตั้งแพ็คเกจ Matrix Core
sudo apt-get ติดตั้ง matrixio-malos
sudo รีบูต
ติดตั้งแพ็คเกจ MATRIX HAL
sudo apt-get ติดตั้ง matrixio-creator-init libmatrixio-creator-hal libmatrixio-creator-hal-dev
รีบูตอุปกรณ์ของคุณ
sudo รีบูต
3. การติดตั้ง ZeroMQ
echo "deb https://download.opensuse.org/repositories/network…./" | sudo tee /etc/apt/sources.list.d/zeromq.list
wget https://download.opensuse.org/repositories/networ… -O- | sudo apt-key เพิ่ม
4. JavaScript setupสร้างโฟลเดอร์โปรเจ็กต์โหนดในโฮมไดเร็กทอรีของ RPi
cd ~/mkdir js-matrix-core-app (ชื่ออะไรก็ได้ที่คุณต้องการ)
cd js-matrix-core-app
npm init
5. การติดตั้ง npm Packages สำหรับ ZMQ และ Protocol Buffers
ในการติดตั้งแพ็คเกจ ZMQ และ MATRIX Protocol Buffers npm ตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเร็กทอรีที่คุณสร้างไว้ด้านบน (ชื่อที่คุณให้) ที่นี่ฉันให้มัน js-matrix-core-app สิ่งนี้ทำให้คุณสามารถโต้ตอบกับ Matrix Core ผ่าน Node.js
npm ติดตั้ง zeromq --save
npm ติดตั้ง matrix-protos --save
ขณะที่ฉันใช้ JavaScript ดังนั้นในการใช้ PWM สำหรับ LED ภายนอก ฉันจึงใช้ไลบรารี Matrix lite ในการติดตั้งให้ใช้คำสั่งที่แสดงด้านล่างตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเร็กทอรีเดียวกันกับที่เราสร้างขึ้นขณะติดตั้ง Matrix core
npm ติดตั้ง @matrix-io/matrix-lite --save
ขั้นตอนที่ 2: Snips App (อัปเดต)
1. สร้างช่องใหม่และตั้งชื่อตามที่คุณต้องการ ที่นี่ฉันใช้สี่ช่อง
- สวิตซ์สำหรับเปิด ปิด เปิด และปิดสถานะ
- ห้องสำหรับห้องต่างๆ เช่น ห้องนอน ห้องน้ำ เป็นต้น
- อุปกรณ์สำหรับอุปกรณ์ต่างๆ เช่น ไฟ พัดลม ประตู ฯลฯ
- ความสว่างสำหรับการตั้งค่าความสว่างของแสงในห้องต่างๆ
2. จากนั้นให้ชื่อประเภทสล็อต ที่นี่ฉันกำลังสร้างประเภทสล็อตแบบกำหนดเอง
ช่องห้อง
ให้ชื่ออะไรก็ได้ที่คุณต้องการ หลังจากนั้นเพิ่มค่าช่อง "ห้องน้ำ", "ห้องนอน", "ห้องครัว" และ "ห้องโถงใหญ่" เป็นต้น
สำหรับช่องสวิตซ์ ตั้งชื่ออะไรก็ได้ตามต้องการ
หลังจากนั้นเพิ่มค่าสล็อต "เปิด", "ปิด", "เปิด" และ "ปิด"
ช่องเสียบอุปกรณ์
ให้ชื่ออะไรก็ได้ที่คุณต้องการ หลังจากนั้นเพิ่มค่าสล็อต "light", "fan" และ "door"
ช่องความสว่าง
ให้ชื่ออะไรก็ได้ที่คุณต้องการ หลังจากนั้นเพิ่มค่าสล็อต 75, 50, 25, 0
3. ปิดแอพเพื่อบอกตัวอย่างการฝึกว่าช่องไหนใช้
- ดับเบิลคลิกที่ Off และ On และเลือกชื่อสล็อต (สวิตช์)
- ดับเบิลคลิกที่ชื่อห้องและเลือกชื่อช่อง (ห้อง)
- ดับเบิ้ลคลิกที่ไฟ พัดลม และเลือกชื่อสล็อต (อุปกรณ์)
- ดับเบิลคลิกที่ค่า (0, 25, 50) และเลือกชื่อช่อง (ความสว่าง)
จากนั้นบันทึกและคุณสามารถทดสอบได้ในหน้าต่างที่ให้ไว้ทางด้านขวามือของหน้า
4. จากนั้นปรับใช้
ขั้นตอนที่ 3: แพ็คเกจ Npm ที่จำเป็น
สำหรับส่งเมลติดตั้งโหนดแพ็คเกจ
npm ติดตั้ง nodemailer
แพ็คเกจ Npm สำหรับการสื่อสารแบบสองทิศทางตามเหตุการณ์
npm ติดตั้ง socket.io
แพ็คเกจ Npm สำหรับ express
npm ติดตั้ง express
หากคุณต้องการที่จะได้ยินคำพูด คุณสามารถดาวน์โหลดแพ็คเกจโหนดนี้ได้
npm ติดตั้งพูดว่า
เพิ่มบรรทัดเหล่านี้ในโปรแกรม (ตัวอย่าง)
const พูด = ต้องการ ('พูด')
say.speak('ตั้งค่าความสว่างไว้ที่ 75');
ขั้นตอนที่ 4: หน้าเว็บ
ฉันสร้างเพจสำหรับแสดงบันทึก (ห้อง อุปกรณ์ สถานะของอุปกรณ์ ค่าความเข้มและวันที่) และมาตรวัดที่แสดงค่าความเข้มปัจจุบัน เพื่อให้ฉันทราบว่าคำสั่งใดที่ฉันใช้ขณะพูดคุยกับสนิป ทำตามขั้นตอนด้านล่างเพื่อสร้างหน้าเว็บ
หมายเหตุ - คุณสามารถใช้เซิร์ฟเวอร์ Node หรือเซิร์ฟเวอร์ Apache
ในโครงการนี้ ฉันใช้เซิร์ฟเวอร์โหนดเนื่องจากเซิร์ฟเวอร์ Apache ทำงานช้าและไม่สามารถอัปเดตข้อมูลได้อย่างถูกต้อง
หมายเหตุ - หากคุณใช้รหัสที่ได้รับในโครงการนี้ ตรวจสอบให้แน่ใจว่าข้อมูลทั้งหมดของคุณอยู่ในไดเร็กทอรี cd /var/www/html หรือคุณสามารถเปลี่ยนตำแหน่งในโปรแกรมได้
ขั้นแรกให้ติดตั้งเซิร์ฟเวอร์ Apache โดยใช้คำสั่ง (ไม่จำเป็น)
sudo apt-get ติดตั้ง apache2
ไม่จำเป็นต้องใช้เซิร์ฟเวอร์ Apache หากคุณมีโหนดเซิร์ฟเวอร์หรือเซิร์ฟเวอร์โหนด สร้างชื่อไฟล์ว่าง server.js เพิ่มโปรแกรมที่ระบุในขั้นตอนของโปรแกรมและบันทึก
ในการรันเซิร์ฟเวอร์ให้ใช้คำสั่ง
โหนดเซิร์ฟเวอร์ js
จากนั้นไปที่ไดเร็กทอรี cd /var/www/html และสร้างสองโฟลเดอร์
1. สร้างชื่อโฟลเดอร์ js โดยใช้คำสั่ง
mkdir js
cd js // ไปที่ไดเร็กทอรี
ในไดเร็กทอรี /var/www/html/js ให้ตั้งชื่อไฟล์ angular.min.js และวางข้อมูลจากลิงค์
ในไดเร็กทอรีเดียวกันสร้างชื่อไฟล์อื่น gauge.min.js และวางข้อมูลจากลิงค์ลิงค์
ไฟล์ที่จำเป็น
2. สร้างชื่อโฟลเดอร์ jsonpage โดยใช้คำสั่ง
mkdir jsonpage
cd jsonpage
ในไดเร็กทอรี jsonpage สร้างชื่อไฟล์ info.js ว่างๆ
หมายเหตุ: - ไฟล์ Json จะถูกล้างหลังจาก 50 คำสั่งเสียง
ขั้นตอนที่ 5: หน้าเข้าสู่ระบบ
สำหรับการทำหน้าเข้าสู่ระบบให้ไปที่ไดเร็กทอรี cd /var/www/html และสร้างชื่อไฟล์ว่าง index.html เพิ่มโปรแกรมที่ระบุด้านล่าง
ขั้นตอนที่ 6: หน้าหลัก
สำหรับการสร้างหน้าหลักให้ไปที่ไดเร็กทอรี cd /var/www/html และสร้างชื่อไฟล์ว่าง HA.html (ใด ๆ) เพิ่มโปรแกรมที่ระบุด้านล่าง
สำหรับการทำเกจ ให้ตั้งชื่อไฟล์ว่าง index.js ในไดเร็กทอรี cd /var/www/html โปรแกรมได้รับด้านล่าง
ขั้นตอนที่ 7: ผู้ช่วย
Assistant.js สำหรับหน้าเว็บได้รับด้านล่าง
เมื่อตั้งค่าเสร็จแล้วทั้งหมด ถัดไป เปิดเชลล์และเรียกใช้
cd js-matrix-core-app
node assistant.js
เปิดเปลือกอื่นแล้วเรียกใช้
cd /var/www/html
โหนดเซิร์ฟเวอร์ js
เปิดเบราว์เซอร์
localhost:8080/index.html