สารบัญ:

ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi: 11 ขั้นตอน (พร้อมรูปภาพ)
ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi: 11 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ใช้งาน Raspberry Pi แทนคอมพิวเตอร์ทั่วไป ทำได้ไหมนะ? 2024, พฤศจิกายน
Anonim
ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi
ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi
ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi
ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi
ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi
ระบบอัตโนมัติภายในบ้านราคาถูกและมีประสิทธิภาพด้วย Raspberry Pi

ฉันต้องการควบคุมไฟแบบไร้สายมาโดยตลอด แต่ตัวเลือกเชิงพาณิชย์มักจะมีราคาแพง ไฟ Philips Hue มีราคาประมาณ 70 เหรียญและไฟที่เชื่อมต่อ WiFi ก็มีราคาแพงเช่นกัน บทแนะนำนี้จะบอกคุณถึงวิธีควบคุมไฟ/โคม/ไฟคริสต์มาสสูงสุดห้าเส้นในราคาประมาณ 50 ดอลลาร์ และสามารถขยายให้รวมไฟได้มากขึ้นด้วย

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

วัสดุ:

Raspberry Pi Zero W (รุ่นไร้สาย)

การ์ด Micro SD (อย่างน้อย 4GB)

สายเคเบิล/ตัวแปลง Mini HDMI เป็น HDMI (มีความแตกต่างระหว่าง mini และ micro ตรวจสอบให้แน่ใจว่าได้อันที่ถูกต้อง!)

สาย/ตัวแปลง Micro USB เป็น USB

แป้นพิมพ์ USB

หมายเหตุ: ฉันได้รับชุดเริ่มต้น Raspberry Pi Zero W จาก Amazon ที่มาพร้อมกับ Raspberry Pi Zero W, การ์ด SD, เคส, สายไฟ, ตัวแปลง HDMI และตัวแปลง USB เพียง 30 เหรียญก็เป็นตัวเลือกที่ดีทีเดียว (ลิงก์)

คุณสามารถใช้ Raspberry Pi รุ่นอื่นได้ แต่ Raspberry Pi ต้องมีรูปแบบการเชื่อมต่ออินเทอร์เน็ต และ Pi Zero W เป็นตัวเลือกที่ถูกที่สุด

Remote Outlets - ฉันใช้สิ่งเหล่านี้

ตัวส่งและตัวรับ RF (หมายเหตุ: ความถี่ของตัวส่ง/ตัวรับต้องตรงกับความถี่ของเต้ารับระยะไกล) - ฉันใช้สิ่งเหล่านี้

ลวดสำหรับเสาอากาศ (ฉันใช้ลวดทองแดงแกนแข็ง 22 เกจ สายอื่นอาจใช้งานได้)

เขียงหั่นขนม, สายจัมเปอร์, หัวต่อตัวผู้ต่อตัวผู้ 40 พิน

ซอฟต์แวร์:

Raspberry Pi OS (ดาวน์โหลด Raspbian Desktop)

Etcher disk imager (สำหรับเขียน Pi OS ลงใน SD Card)

เครื่องมือ:

หัวแร้ง

คอมพิวเตอร์สำหรับดาวน์โหลด Pi OS และ Etcher

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

ตั้งค่า Outlets
ตั้งค่า Outlets
ตั้งค่า Outlets
ตั้งค่า Outlets

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

ขั้นตอนที่ 3: ตั้งค่าบัญชี PubNub

PubNub เป็นเซิร์ฟเวอร์อินเทอร์เน็ตฟรีที่ให้คุณสื่อสารระหว่างอุปกรณ์ได้ทุกที่ในโลก สคริปต์หลามรับข้อความจากหน้าเว็บ และใช้ข้อมูลในข้อความเพื่อเปิดหรือปิดไฟ คุณสามารถลงทะเบียนสำหรับบัญชีฟรีของคุณได้ที่นี่ เมื่อคุณลงชื่อสมัครใช้แล้ว ให้ลงชื่อเข้าใช้บัญชีของคุณ สิ่งนี้จะนำคุณไปยังหน้าการจัดการแอพ คลิกที่ "สร้างแอปใหม่" ตั้งชื่อแอป แล้วเลือกจากรายการแอป (หากเป็นแอปแรก จะเป็นแอปเดียว) การดำเนินการนี้จะนำคุณไปยังหน้าคีย์แอป คลิกที่ "Demo Keyset" และคุณจะเห็นปุ่มที่แตกต่างกันสามปุ่ม เก็บหน้านี้ไว้ คุณจะต้องใช้คีย์เหล่านี้ในภายหลัง ตอนนี้คุณมีบัญชี PubNub แล้ว คุณสามารถตั้งค่า Raspberry Pi ได้

ขั้นตอนที่ 4: เตรียม Raspberry Pi

ดาวน์โหลด Etcher และ Raspberry Pi OS ลงในคอมพิวเตอร์ของคุณ (ลิงก์ในรายการชิ้นส่วน)

ติดตั้ง Etcher บนคอมพิวเตอร์ของคุณและเปิดเครื่องรูด (ถ้าจำเป็น) Raspberry Pi OS ใส่การ์ด Micro SD ลงในคอมพิวเตอร์แล้วเปิด Etcher คลิก "เลือกรูปภาพ" และไปที่ไฟล์ Raspberry Pi OS ที่คลายซิป เลือกจากนั้นคลิก "เลือกไดรฟ์" และเลือกการ์ด micro SD ของคุณจากรายการ คลิก "Flash" และรอให้ Etcher ดำเนินการเสร็จสิ้น เมื่อ Etcher เสร็จสิ้น ให้นำการ์ด SD ของคุณออกจากคอมพิวเตอร์ (Etcher จะดีดออกโดยอัตโนมัติ) แล้วใส่ลงใน Raspberry Pi ณ จุดนี้ คุณจะต้องเชื่อมต่อ Raspberry Pi กับจอภาพด้วยตัวแปลง HDMI เสียบแป้นพิมพ์ (และเมาส์หากคุณมีฮับ USB หลายตัว) และเสียบสายไฟ มีพอร์ต micro USB สองพอร์ต อันหนึ่งใช้สำหรับจ่ายไฟ อีกอันหนึ่งเป็นพอร์ต USB จริง อันที่ใกล้กับจุดสิ้นสุดของ Pi ที่สุดคือพลังงานในขณะที่อีกอันที่อยู่ตรงกลางคือ USB ราสเบอร์รี่ pi ของคุณจะเริ่มบูตแล้ว อาจรีสตาร์ทสองสามครั้งระหว่างการบู๊ตครั้งแรก แต่นั่นเป็นเรื่องปกติ เมื่อ Raspberry pi ของคุณเริ่มทำงานแล้ว ให้เชื่อมต่อกับ WiFi ของคุณ หลังจากเชื่อมต่อกับ WiFi แล้ว คุณอาจใช้เซิร์ฟเวอร์ SSH ได้ แต่ตอนนี้ฉันพบว่าใช้ GUI ได้ง่ายขึ้น เปิดหน้าต่างเทอร์มินัลแล้วป้อนคำสั่งเหล่านี้:

sudo pip3 ติดตั้ง 'pubnub==3.9.0'

cd git โคลน git://git.drogon.net/wiringPi git โคลน

โคลน sudo git https://github.com/timleland/rfoutlet.git /var/www/rfoutlet

sudo chown root.root /var/www/rfoutlet/codesend sudo chmod 4755 /var/www/rfoutlet/codesend

cdสายไฟPi

./สร้าง

ตอนนี้เปิดเบราว์เซอร์ไฟล์ Raspberry Pi แล้วคุณจะเห็นโฟลเดอร์ pi-home-automation ดับเบิลคลิก แล้วคุณจะเห็นไฟล์ชื่อ RFControl.py คัดลอก (ตรงข้ามคลิกและเลือก "คัดลอก") จากนั้นกลับไปที่โฟลเดอร์ pi แล้ววางที่นั่น

ปิดราสเบอร์รี่ pi ของคุณ (ไม่ว่าจะจากเมนูหรือโดยการเรียกใช้ sudo poweroff จากบรรทัดคำสั่ง) และถอดปลั๊กเมื่อไฟสีเขียวหยุดกะพริบ

ขั้นตอนที่ 5: การสร้างวงจร

การสร้างวงจร
การสร้างวงจร
การสร้างวงจร
การสร้างวงจร
การสร้างวงจร
การสร้างวงจร

ตอนนี้ได้เวลาสร้างวงจรแล้ว ฉันใช้เขียงหั่นขนม แต่คุณสามารถทำตามที่คุณต้องการ

อันดับแรก เราต้องสร้างเสาอากาศสำหรับเครื่องส่ง RF บทช่วยสอนนี้บอกวิธีสร้างเสาอากาศสำหรับเครื่องส่งสัญญาณ RF ทำตามคำแนะนำ จากนั้นประสานเข้ากับหมุดเสาอากาศของเครื่องส่งสัญญาณ (อันที่ฉันใช้มีข้อความว่า ANT) โดยให้ด้านที่สั้นกว่าใกล้กับเครื่องส่งสัญญาณมากที่สุด

ต่อสายเครื่องส่งสัญญาณ

เครื่องส่งสัญญาณใช้หมุดเหล่านี้:

ข้อมูล: GPIO 17, พินจริง 11

VCC: Raspberry Pi 5v, ขาจริง 2

GND: Raspberry Pi GND, พินจริง 6

ต่อสายเครื่องรับ

ผู้รับใช้หมุดเหล่านี้:

GND: Raspberry Pi GND, พินจริง 9

VCC: Raspberry Pi 5v, ขาจริง 4

ข้อมูล: GPIO 27, พินกายภาพ 13 (มีหมุดข้อมูลสองตัวบนตัวรับสัญญาณที่ฉันใช้ และฉันใช้อันที่ใกล้กับ VCC มากที่สุด)

ขั้นตอนที่ 6: รับรหัส RF ของคุณ

รับรหัส RF ของคุณ
รับรหัส RF ของคุณ

หลังจากที่ต่อวงจรของคุณเข้ากับ Raspberry Pi แล้ว ให้ตรวจสอบสองครั้งเพื่อให้แน่ใจว่าทุกอย่างเข้าที่แล้ว จากนั้นเปิดเครื่องอีกครั้ง เมื่อเปิดเครื่องแล้ว ให้เปิดเทอร์มินัลแล้วพิมพ์

sudo /var/www/rfoutlet/RFSniffer

ถัดไป เปิดโปรแกรม RFControl การวางหน้าต่างเทอร์มินัลและหน้าต่างโปรแกรมเคียงข้างกันอาจเป็นประโยชน์ในขั้นตอนต่อไป

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

ตัวอย่างเช่น หากสวิตช์เปิด 1 มีรหัส 1234567 รหัสปิด 7654321 และความยาว 890 รหัสจะมีลักษณะดังนี้:

รหัส = {

'switch1': { 'on': 1234567, #This is switch 1 on 'off': 7654321, #this is switch 1 off 'len': 890, #this is switch 1 code length }, 'switch2': {… }, … }

ทำซ้ำสำหรับแต่ละปุ่ม ขณะที่คุณกำลังแก้ไขไฟล์นี้ ให้เปลี่ยนสตริงที่ระบุว่า "YOUR-SUB-KEY" เป็นรหัสสมัครสมาชิก PubNub ของคุณและ "YOUR-PUB-KEY" เป็นคีย์การเผยแพร่ของคุณ

เมื่อบันทึกแต่ละปุ่มแล้ว คุณสามารถไปยังส่วนถัดไปได้

ขั้นตอนที่ 7: การเรียกใช้โปรแกรม

การรันโปรแกรม
การรันโปรแกรม

เมื่อคุณมีรหัสทั้งหมดแล้ว ไปที่หน้า GitHub นี้ (บนคอมพิวเตอร์ของคุณ ไม่ใช่ raspberry pi) และคลิกที่ปุ่มสีเขียวที่ระบุว่า "โคลนหรือดาวน์โหลด" จากนั้นคลิก "ดาวน์โหลด ZIP" เมื่อดาวน์โหลดไฟล์นี้แล้ว ให้เปิดเครื่องรูดและเปิดโฟลเดอร์ เปิดไฟล์ชื่อ main.js คุณจะต้องป้อนคีย์การสมัครและเผยแพร่ในโปรแกรมโดยแทนที่ "YOUR-PUB-KEY" ด้วยคีย์การเผยแพร่และ "YOUR-SUB-KEY" ด้วยคีย์การสมัครของคุณ

ถัดไป กลับไปที่ Raspberry Pi ของคุณและป้อน

python3 RFControl.py

เมื่อพิมพ์ว่า "พร้อม" ให้กลับไปที่คอมพิวเตอร์ของคุณและเปิดไฟล์ index.html ในเว็บเบราว์เซอร์โดยคลิกตรงกันข้าม เลือก "เปิดด้วย" และเลือกเบราว์เซอร์ที่คุณต้องการ คุณควรเห็น 2 คอลัมน์ 5 ปุ่ม พร้อมชื่อสวิตช์ระหว่างกัน กดปุ่มใดก็ได้ ถ้ามันควบคุมซ็อกเก็ตได้ถูกต้องก็เยี่ยมมาก! หากไม่ ให้ลองทำดังนี้

  1. ตรวจสอบให้แน่ใจว่า Raspberry Pi ได้รับข้อความ ควรพิมพ์ไปที่หน้าจอทุกครั้งที่ได้รับข้อความจากหน้าเว็บ หากไม่ ตรวจสอบให้แน่ใจว่าคีย์การสมัคร/เผยแพร่ของคุณถูกต้อง
  2. หาก Raspberry Pi ได้รับข้อความ ตรวจสอบให้แน่ใจว่ารหัส RF ของคุณถูกต้อง ตรวจสอบให้แน่ใจว่าเต้ารับของคุณจับคู่กับรีโมตของคุณแล้ว รีโมทของคุณสามารถควบคุมได้ และรหัสที่คุณป้อนลงในโปรแกรมนั้นถูกต้อง
  3. หากรหัส RF ถูกต้อง ตรวจสอบให้แน่ใจว่า Raspberry Pi ของคุณอยู่ในระยะของช่องสัญญาณ ถ้าพวกมันเริ่มทำงานหลังจากขยับเข้าไปใกล้แล้ว คุณอาจต้องทำเสาอากาศใหม่
  4. หากยังใช้งานไม่ได้ โปรดบอกปัญหาของคุณในความคิดเห็น แล้วเราจะพยายามช่วยเหลือ

ขั้นตอนที่ 8: ทำงานเมื่อเริ่มต้น

ในการทำให้โปรแกรม python ของคุณทำงานเมื่อเริ่มต้น ให้ป้อนข้อมูลนี้ลงในเทอร์มินัล raspberry pi ของคุณ:

crontab -e

ถัดไป ไปที่ด้านล่างของไฟล์และป้อนสิ่งนี้:

@reboot python3 /home/pi/RFControl.py &

สิ่งนี้จะทำให้สคริปต์ Python ของคุณทำงานเมื่อเริ่มต้นในแต่ละครั้ง ตอนนี้รีบูต Raspberry Pi ของคุณ

ขั้นตอนที่ 9: การเพิ่มสวิตช์เพิ่มเติม

การเพิ่มสวิตช์เพิ่มเติม
การเพิ่มสวิตช์เพิ่มเติม

หากคุณต้องการเพิ่มร้านค้า ให้ทำตามคำแนะนำเหล่านี้:

เปิด RFControl.py บน Raspberry Pi ของคุณ แล้วเพิ่มสวิตช์ใหม่ลงในพจนานุกรมสวิตช์

ตัวอย่าง:

สวิตช์ = {

…สวิตช์อื่นๆ… 'NAME-OF-SWITCH': { 'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz, }, }

ถัดไป เพิ่มปุ่มใหม่ในเว็บแอปของคุณโดยแก้ไขตัวแปรสวิตช์ใน main.js บนคอมพิวเตอร์ของคุณ

ตัวอย่าง:

สวิตช์ var = […สวิตช์เก่า… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

แทนที่ NAME-TO-DISPLAY ด้วยชื่อที่คุณต้องการให้แสดงบนหน้าเว็บ และแทนที่ NAME-OF-SWITCH บนทั้งสองไฟล์ด้วยสิ่งที่คุณชอบ แต่ต้องไม่ซ้ำกับคนอื่น!

ขั้นตอนที่ 10: ก้าวต่อไป

ก้าวต่อไป
ก้าวต่อไป

PubNub รองรับบนแพลตฟอร์มต่าง ๆ มากมาย ซึ่งหมายความว่าคุณสามารถส่งข้อความจากเกือบทุกอุปกรณ์! ฉันใช้ชุด Raspberry Pi AIY Voice และ PubNub เพื่อส่งคำสั่งด้วยเสียงของฉัน แต่นั่นอาจเป็นหัวข้อของคำแนะนำในภายหลัง ขอบคุณที่อ่านคำแนะนำของฉัน ฉันหวังว่ามันจะเป็นประโยชน์!

ขั้นตอนที่ 11: เครดิต

ขอบคุณ Tim Leland สำหรับบทช่วยสอนเกี่ยวกับการตั้งค่าเครื่องส่งสัญญาณ RF: บทช่วยสอน

ขอบคุณ diy_bloke สำหรับบทช่วยสอนเกี่ยวกับการสร้างเสาอากาศ: กวดวิชา

ขอบคุณคนอื่น ๆ ที่โพสต์บทเรียนออนไลน์ที่ฉันดูเพื่อขอความช่วยเหลือ!

แนะนำ: