สารบัญ:

Raspberry Pi Smart NightLight: 5 ขั้นตอน
Raspberry Pi Smart NightLight: 5 ขั้นตอน

วีดีโอ: Raspberry Pi Smart NightLight: 5 ขั้นตอน

วีดีโอ: Raspberry Pi Smart NightLight: 5 ขั้นตอน
วีดีโอ: HOW TO - Create a Raspberry Pi Smart Home Kiosk (Home Assistant) 2024, กรกฎาคม
Anonim
Raspberry Pi Smart NightLight
Raspberry Pi Smart NightLight

ฉันเพิ่งตื่นแต่เช้า หลายครั้งที่ข้างนอกยังมืดอยู่ แต่ฉันไม่ต้องการเปิดไฟเพื่อส่งผลกระทบต่อการพักผ่อนของภรรยา ฉันจึงคิดจะซื้อไฟกลางคืน ฉันค้นหาร้านไฟกลางคืนจำนวนมาก แต่ฉันไม่คิดว่าฉันต้องการมัน แต่ฉันเห็นไฟกลางคืนชื่อ DockerPi ในร้านใน Amazon ซึ่งควบคุมโดย Raspberry Pi ดีมากและสามารถให้คุณสมบัติ DIY ฉันอ่านคำอธิบาย wiki ของผลิตภัณฑ์นี้ สามารถควบคุมได้โดยตรงจากบรรทัดคำสั่ง ในฐานะโปรแกรมเมอร์ที่ใช้ระบบ Linux ฉันคิดว่ามันเจ๋งมาก ฉันจึงซื้อมันกลับมาและเริ่มโครงการนี้

ขั้นตอนที่ 1: ขั้นตอนที่ 1: เตรียมสิ่งของทั้งหมด

ขั้นตอนที่ 1: เตรียมสิ่งของทั้งหมด
ขั้นตอนที่ 1: เตรียมสิ่งของทั้งหมด

หลังจากแกะกล่องแล้วฉันก็ถอดฝาครอบป้องกันบนแผ่นอะครีลิก แล้วติดตั้งโมดูลของ DockerPi นี้กับ Raspberry Pi ของฉันด้วยสกรูและแท่งทองแดง มันคงที่

ขั้นตอนที่ 2: ขั้นตอนที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD

ขั้นที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD
ขั้นที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD
ขั้นที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD
ขั้นที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD
ขั้นที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD
ขั้นที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD

ฉันดาวน์โหลดรูปภาพ Raspbian ล่าสุดจาก:https://www.raspberrypi.org/downloads/raspbian/

แล้วแฟลชภาพผ่านซอฟต์แวร์ชื่อ: etcher

คุณสามารถดาวน์โหลดได้ที่นี่:

แตกไฟล์รูปภาพจากแพ็คเกจ gzip แล้วคุณจะได้ไฟล์ *.img เลือกรูปภาพและเลือกไดรฟ์ที่พีซีของคุณรู้จักการ์ด TF เพียงกด " Flash" และรอหลายนาที จะเป็นอันเสร็จ

จากนั้นนำการ์ด TF ออกแล้วใส่ลงใน Raspberry Pi ของคุณแล้วเปิดเครื่อง

ขั้นตอนที่ 3: ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config

ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config

เมื่อ Raspberry pi เริ่มทำงาน ฉันเปิดเทอร์มินัลแล้วพิมพ์คำสั่งนี้: sudo raspi-config

และไปที่ "ตัวเลือกการเชื่อมต่อ" และเลือก "I2C" และเปิดใช้งาน เหตุใดฉันจึงควรใช้คำสั่งนี้

เนื่องจากโมดูลไฟกลางคืนของ DockerPi ใช้โปรโตคอล I2C สื่อสารกับ Raspberry Pi

ขั้นตอนที่ 4: ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต

ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต
ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต
ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต
ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต
ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต
ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต

มันพอดีกับช่องเสียบได้เป็นอย่างดี และคุณสามารถเห็นภาพที่แผงอะคริลิยังคงอยู่ในช่องเสียบ

ขั้นตอนต่อไปคือการรันโค้ดทดสอบเพื่อตรวจสอบว่าทำงานอย่างถูกต้องหรือไม่

ฉันได้ดาวน์โหลดโค้ดตัวอย่างจาก github โดยพิมพ์คำสั่งนี้ในเทอร์มินัลที่ raspberry Pi

ซีดี ~

โคลน git

cd dockerpi/ไฟกลางคืน/

sudo./Nightligh.sh

จากนั้นไฟกลางคืนของฉันก็เปิดขึ้นและวาววับ

ฉันอ่านคำแนะนำใน wiki และพบแผนภูมิแผนที่การลงทะเบียนของไฟ LED ทั้งหมด

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

ขั้นตอนที่ 5: ขั้นตอนที่ 5: ตั้งค่า Infrared Pyroelectric Sensor

ขั้นตอนที่ 5: ตั้งค่าอินฟราเรดไพโรอิเล็กทริกเซนเซอร์
ขั้นตอนที่ 5: ตั้งค่าอินฟราเรดไพโรอิเล็กทริกเซนเซอร์
ขั้นตอนที่ 5: ตั้งค่าเซ็นเซอร์อินฟราเรดแบบไพโรอิเล็กทริก
ขั้นตอนที่ 5: ตั้งค่าเซ็นเซอร์อินฟราเรดแบบไพโรอิเล็กทริก
ขั้นตอนที่ 5: ตั้งค่าอินฟราเรดไพโรอิเล็กทริกเซนเซอร์
ขั้นตอนที่ 5: ตั้งค่าอินฟราเรดไพโรอิเล็กทริกเซนเซอร์

ที่นี่เราใช้เซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR PIR ย่อมาจากอินฟราเรดแบบพาสซีฟ เซ็นเซอร์ตรวจจับความเคลื่อนไหวนี้ประกอบด้วยเลนส์เฟรส เครื่องตรวจจับอินฟราเรด และวงจรตรวจจับที่รองรับ เลนส์บนเซ็นเซอร์จะโฟกัสรังสีอินฟราเรดที่อยู่รอบ ๆ ตัวไปยังเครื่องตรวจจับอินฟราเรด ร่างกายของเราสร้างความร้อนจากอินฟราเรด และด้วยเหตุนี้ เซ็นเซอร์ตรวจจับการเคลื่อนไหวจึงดึงความร้อนนี้ขึ้นมา เซ็นเซอร์จะส่งสัญญาณ 5V เป็นระยะเวลาหนึ่งนาทีทันทีที่ตรวจพบว่ามีบุคคลอยู่ มีช่วงการตรวจจับเบื้องต้นประมาณ 6-7 เมตรและมีความไวสูง เมื่อเซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR ตรวจพบบุคคล จะส่งสัญญาณ 5V ไปยัง Raspberry Pi ผ่าน GPIO และเรากำหนดว่า Raspberry Pi ควรทำอย่างไรเมื่อตรวจพบผู้บุกรุกผ่านการเข้ารหัส Python ที่นี่เราเพิ่งพิมพ์ "ตรวจพบผู้บุกรุก"

หลังจากที่คุณได้ตั้งค่า Raspberry Pi ของคุณแล้ว เราสามารถเริ่มยุ่งกับพิน GPIO ของมันได้แล้ว ที่นี่ เราจะพยายามกะพริบไฟ LED โดยใช้สคริปต์ Python คัดลอกและวางโค้ดต่อไปนี้ลงใน Raspberry Pi ของคุณ คุณสามารถทำได้โดยเปิดตัวแก้ไขข้อความ "แผ่นพับ" บน Raspberry Pi แล้วคัดลอกโค้ดนี้ลงไป แล้วบันทึกเป็นไฟล์ Python: nightlight.py:

#ห้องสมุดนำเข้า

นำเข้า RPi. GPIO เป็น GPIO

เวลานำเข้า

นำเข้า smbus

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwarnings(เท็จ)

GPIO.setmode(GPIO.บอร์ด)

GPIO.setup(11, GPIO. IN) #อ่านเอาต์พุตจากเซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR

bus = smbus. SMBus(DEVICE_BUS) # อินสแตนซ์ของ smbus สำหรับอุปกรณ์ i2c หมายถึงไฟกลางคืน

ในขณะที่จริง:

ลอง:

ผม=GPIO.อินพุต(11)

ถ้า i==0: #เมื่อเอาต์พุตจากเซ็นเซอร์ตรวจจับความเคลื่อนไหวเป็น LOW

พิมพ์ ("ไม่มีผู้บุกรุก", ผม)

สำหรับฉันอยู่ในช่วง (1, 25):

bus.write_byte_data(DEVICE_ADDR, i, 0x00) #ปิดไฟ LED

เวลานอน(0.2)

เวลานอน(0.1)

elif i==1: #เมื่อเอาต์พุตจากเซ็นเซอร์ตรวจจับความเคลื่อนไหวสูง

พิมพ์ ("ตรวจพบผู้บุกรุก", i)

สำหรับฉันอยู่ในช่วง (1, 25):

bus.write_byte_data(DEVICE_ADDR, i, 0xFF) #ปิดไฟ LED

เวลานอน(0.2)

เวลานอน(0.1)

ยกเว้น KeyboardInterrupt เป็น e:

print("ออกจากวง")

จากนั้นบันทึกและทำให้มันทำงานในระหว่างการบูทราสเบอร์รี่ pi

sudo vim.tiny /etc/rc.local

และเพิ่มบรรทัดนี้ก่อนออก 0:

sudo python /home/pi/nightlight.py &

จากนั้นบันทึกและรีบูต Pi ของคุณ มันจะทำงานอย่างถูกต้อง …

ขอบคุณที่รับชม~

แนะนำ: