
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12



ด้วยเครือข่ายสถานีเซ็นเซอร์ที่กำหนดค่าในโหมดมาสเตอร์/สเลฟ คุณจะสามารถควบคุมแสงและความปลอดภัยในบ้านของคุณได้ สถานีเซ็นเซอร์เหล่านี้ (Node01, Node02 ในโครงการนี้) เชื่อมต่อกับสถานีหลัก (Node00) ที่เชื่อมต่อกับเครือข่าย wifi ในพื้นที่ของคุณ ฉันได้ติดตั้ง Node01 ในห้องเก็บของและ Node02 ในโรงรถเพื่อควบคุมแสงและการเคลื่อนไหว มีการติดตั้งสถานีหลักในห้องรับประทานอาหารของเราที่เชื่อมต่อกับเราเตอร์ไร้สายของเรา ฉันได้ติดตั้งกริ่งในโรงรถและออดเล็กๆ น้อยๆ ในสถานีมาสเตอร์เพื่อให้ส่งเสียงเมื่อสถานีเซ็นเซอร์บางแห่งในเครือข่ายตรวจพบการเคลื่อนไหว
คุณสมบัติหลักของเครือข่ายคือ:
- เป็นไปได้ที่จะกำหนดค่าเครือข่ายที่มีสถานีเซ็นเซอร์มากกว่าสองสถานี (สถานีทาส) (Node01, Node02, Node03, ….)
- เนื่องจากการใช้เครื่องรับส่งสัญญาณไร้สายพร้อมเสาอากาศทำให้เครือข่ายสามารถครอบคลุมพื้นที่ได้กว้าง
- คุณสามารถควบคุมเครือข่ายทั้งหมดได้จากโทรศัพท์มือถือ
- ส่งอีเมล (บัญชี Gmail) เมื่อตรวจพบการเคลื่อนไหวและเปิดใช้งานโหมดการเตือน ดังนั้นหากคุณเปิดใช้งานการแจ้งเตือนแบบพุชของ Gmail ในมือถือของคุณ คุณจะทราบเมื่อตรวจพบการเคลื่อนไหวในเครือข่ายของคุณ
เพื่อวัตถุประสงค์ภายในประเทศ:
- เปิดไฟเมื่อตรวจพบการเคลื่อนไหว / เปิดไฟเสมอ (สำหรับเครือข่ายทั้งหมดหรือสำหรับแต่ละสถานีรอง)
- เปลี่ยนเวลาเป็นนาทีที่ไฟจะติดหลังจากตรวจพบการเคลื่อนไหวของสถานีสเลฟแต่ละสถานี
เพื่อความปลอดภัย:
- เปิดและปิดโหมดการเตือน
- แต่ละสเตชั่นสเลฟสามารถส่งสัญญาณไปยังสเตชั่นมาสเตอร์ (Node00) เมื่อเปิดใช้งานโหมดการเตือนและตรวจพบการเคลื่อนไหว
- สถานีมาสเตอร์สามารถเปิดใช้งานกริ่งและส่งอีเมลเมื่อได้รับสัญญาณใดสัญญาณหนึ่งจากสถานีสเลฟและเปิดใช้งานโหมดการเตือน มาสเตอร์สเตชั่น (Node00) เชื่อมต่อกับอินเทอร์เน็ตโดยใช้การเชื่อมต่อ wifi เพื่อควบคุมทั้งระบบโดยใช้โทรศัพท์มือถือ มีการกำหนดค่าเหมือน WifiWebServer
ขั้นตอนที่ 1: รายการวัสดุ


รายการวัสดุที่ฉันใช้สร้าง Node01 และ Node02 (สถานีทาส) มีดังต่อไปนี้:
- บอร์ด Mega 2560 R3
- พลาสติกรองรับ MEGA 2560 R3
- เซ็นเซอร์ PIR HC-SR501
- ฐานรองพลาสติกสำหรับ HC-SR501
- 5V รีเลย์
- โมดูลรับส่งสัญญาณไร้สาย 2.4G 1100m NRF24L01+PA+LNA พร้อมเสาอากาศ LKY67
- อะแดปเตอร์ 8Pin NRF24L01 (เพื่อปรับปรุงคุณสมบัติของ NRF24L01)
- HLK-PM01 แหล่งจ่ายไฟขนาดเล็ก AC DC 220V ถึง 5V
รายการวัสดุสำหรับสร้าง Node00 (สถานีมาสเตอร์) มีดังต่อไปนี้:
- บอร์ด Mega 2560 R3
- พลาสติกรองรับ MEGA 2560 R3
- โมดูล WiFi NodeMCU Lua Amica V2 ESP8266
- โมดูลรับส่งสัญญาณไร้สาย 2.4G 1100m NRF24L01+PA+LNA พร้อมเสาอากาศ LKY67
- บอร์ดอะแดปเตอร์ VCC 5v-3.3v สำหรับ NRF24L01 (เพื่อปรับปรุงคุณสมบัติของ NRF24L01)
- อะแดปเตอร์ AC-DC, 9V, 1A (2, 1 มม. x 5, 5 มม.)
นอกจากนี้ ฉันได้ใช้วัสดุต่อไปนี้:
- คอนเนคเตอร์ PCB 2 ขา 5 มม.
- สายจัมเปอร์
- เขียงหั่นขนม MB-102 (800 รายชื่อ)
- Mini Solderless Breadboard 170 รายชื่อ
- ชุดไฟ LED และความต้านทาน
- บอร์ด PCB
- ชุดหัวแร้งดีบุก
- ปืนกาว
- เมทาคริเลตใส
- ระฆัง
ขั้นตอนที่ 2: วิธีเชื่อมต่อและตั้งโปรแกรม Node01 และ Node02 (สถานี Slave)


ในการตั้งโปรแกรมร่าง "SlaveSation.ino" ฉันต้องการไลบรารี RF24 และไลบรารี RF24 Network
ในผังงานด้านบน คุณสามารถดูตรรกะของสถานีเซ็นเซอร์และข้อความที่แลกเปลี่ยนระหว่างสถานีเซ็นเซอร์รองและสถานีหลัก
ก่อนที่คุณจะโหลดภาพร่าง คุณต้องกำหนดค่าที่อยู่ของโหนดรองในรูปแบบฐานแปด
const uint16_t this_node = 01; // ที่อยู่ของโหนดของเราในรูปแบบฐานแปด (ทาส): 01, 02, 03 …
ความหมายของไฟ LED ในแต่ละสเตชั่นสเลฟมีดังต่อไปนี้:
- นำสีน้ำเงิน จะเปิดในขณะที่พินเซ็นเซอร์ PIR อยู่ในระดับสูง
- นำสีเขียว มันจะเปิดเมื่อมีการเชื่อมต่อการเตือน
ขั้นตอนที่ 3: วิธีเชื่อมต่อและโปรแกรม Node00 (Master Station)



ในสถานี Node00 เราจะพบกระดานสองแบบที่แตกต่างกัน:
- บอร์ด MEGA 2560 R3 อุปกรณ์นี้ใช้เพื่อรับข้อความจากสถานีสเลฟเมื่อตรวจพบการเคลื่อนไหวโดยใช้การสื่อสารแบบไร้สาย มันจะเปิดใช้งานกริ่งเมื่อตรวจพบการเคลื่อนไหวและมีการเชื่อมต่อสัญญาณเตือน หากต้องการหยุดเสียงกริ่ง ให้ตัดการเชื่อมต่อโหมดการเตือนเท่านั้น นอกจากนี้ยังส่งข้อความไปยังสถานีสเลฟจาก NodeMCU เพื่อเปิดใช้งานหรือปิดใช้งานการตรวจจับการเคลื่อนไหว เปิดไฟตลอดเวลา ปิดไฟเสมอ …
- บอร์ด NodeMCU Lua Amica V2 ESP8266 ทำงานเหมือนกับ Wifi Web Server เพื่อส่งและรับคำสั่งจากระยะไกลโดยใช้หน้าเว็บในโทรศัพท์มือถือ นอกจากนี้ยังส่งข้อความอีเมลเมื่อตรวจพบการเคลื่อนไหวและเปิดใช้งานโหมดการเตือน
อุปกรณ์ทั้งสองได้รับการตั้งโปรแกรมให้สื่อสารกันในการกำหนดค่า Master (NodeMCU)/Slave (MEGA) ผ่านโปรโตคอลอนุกรมแบบซิงโครนัส I2C โดยใช้ Wire Library โปรโตคอล I2C เกี่ยวข้องกับการใช้สองบรรทัดในการส่งและรับข้อมูล: Serial clock pin (SCL) และ Serial data pin (SDA) ซึ่งข้อมูลจะถูกส่งระหว่างอุปกรณ์ทั้งสอง
ดังที่คุณเห็นในรูปวาด หมุดสองตัวสำหรับการสื่อสาร I2C ในบอร์ด MEGA 2560 R3 คือ:
- SDA -> พิน 20 SDA
- SCL -> พิน 21 SCL
และอื่น ๆ ใน NodemMCU คือ:
- SDA -> พินดิจิตอล 1
- SCL -> พินดิจิตอล 2
ก่อนที่คุณจะโหลดสเก็ตช์สำหรับ ESP8266 คุณต้องติดตั้งบอร์ด ESP8266 คุณต้องป้อน "https://arduino.esp8266.com/stable/package_esp8266com_index.json" ลงใน "Additional Board Manager URLs" ในหน้าต่างการตั้งค่าใน Arduino IDE หลังจากนั้นคุณต้องเปิดตัวจัดการบอร์ดและติดตั้ง "esp8266"
ฉันใช้อะแดปเตอร์จ่ายไฟภายนอก (9V, 1A) สำหรับบอร์ด MEGA 2560 R3 (แจ็คไฟ DC, 2, 1 มม. x 5, 5 มม.) และฉันเชื่อมต่อบอร์ด NodeMCU กับพิน 3V3 ในบอร์ด MEGA
ขั้นตอนที่ 4: WifiWebServer (NodeMCU ในสถานีหลัก)


ภาพสเก็ตช์ที่โหลดลงใน NodeMCU (Node00 หรือสถานีมาสเตอร์) ได้รับการกำหนดค่าเหมือนเว็บเซิร์ฟเวอร์ที่เชื่อมต่อกับเครือข่าย wifi ในบ้านของคุณ สามารถเข้าถึงได้จากระยะไกลหากคุณกำหนดค่าการส่งต่อพอร์ตในเราเตอร์ของคุณ
ก่อนที่คุณจะโหลดภาพร่าง WifiWebServerV3.ino ไปยัง NodeMCU คุณต้องทำสิ่งต่อไปนี้:
- อัปเดตพอร์ตที่คุณจะกำหนดค่าในเราเตอร์ของคุณ (การส่งต่อพอร์ต) เพื่อเข้าถึง NodeMCU. จากระยะไกล
- อัปเดตผู้ใช้และรหัสผ่านเพื่อเข้าถึงเครือข่าย wifi ที่บ้านของคุณ
- อัปเดตข้อมูลเข้าสู่ระบบและรหัสผ่านของบัญชี Gmail ของคุณเพื่อส่งอีเมลเมื่อตรวจพบการเคลื่อนไหวและมีการเชื่อมต่อสัญญาณเตือน
- อัปเดตที่อยู่อีเมลที่คุณจะได้รับอีเมล
ในการอัปเดตผู้ใช้ รหัสผ่าน และพอร์ตที่เซิร์ฟเวอร์จะใช้เพื่อรับฟัง คุณต้องค้นหารหัสต่อไปนี้ในร่าง WifiWebServerV3.ino และอัปเดต:
const char* ssid = "*** ssid ของคุณ ***";
const char* password = "*** รหัสผ่านของคุณ ***"; เซิร์ฟเวอร์ WiFiServer(80);
ในการอัปเดตที่อยู่อีเมลที่คุณจะได้รับอีเมล คุณต้องค้นหารหัสต่อไปนี้และอัปเดต:
const char* to_email = "*** ที่อยู่อีเมลที่คุณจะได้รับข้อความ ***";
ในการอัปเดตผู้ใช้และรหัสผ่านของบัญชี Gmail ของคุณเพื่อรับอีเมล คุณต้องค้นหารหัสต่อไปนี้ในไฟล์ "Gsender.h" และอัปเดต:
const char* EMAILBASE64_LOGIN = "*** ที่อยู่อีเมลของคุณเข้ารหัสใน BASE64 ***";
const char* EMAILBASE64_PASSWORD = "*** รหัสผ่านของคุณเข้ารหัสใน BASE64 ***"; const char* FROM = "*** ที่อยู่อีเมลของคุณ ***";
ในการเข้ารหัสหรือถอดรหัสข้อมูลใน BASE64 ฉันใช้ www.base64encode.org
หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับการส่งและรับอีเมลด้วย ESP8266 มี "คำแนะนำ" เกี่ยวกับเรื่องนี้ที่นี่
เมื่อทำได้แล้ว คุณสามารถทดสอบการเชื่อมต่อในเราเตอร์ได้ หากอุปกรณ์เชื่อมต่ออยู่ คุณต้องจองที่อยู่ IP ที่กำหนดให้กับอุปกรณ์นี้ นอกจากนี้ คุณควรพูดคุยกับผู้ให้บริการอินเทอร์เน็ตของคุณเพื่อตั้งค่าที่อยู่ IP แบบคงที่บนเราเตอร์ของคุณ
ในการเข้าถึงหน้าเว็บใกล้กับเราเตอร์ไร้สายของคุณ เพียงพิมพ์ที่อยู่ IP ในเครื่องที่กำหนดโดยเราเตอร์ของคุณตามพอร์ตที่คุณใช้ในตัวนำทางเว็บ ตัวอย่างเช่น: 192.168.40.15:800 หากคุณพยายามเข้าถึงจากระยะไกล คุณต้องพิมพ์ที่อยู่ IP ของเราเตอร์ของคุณตามพอร์ตที่คุณใช้ดังด้านบน
หน้าเว็บที่ฉันแสดงให้คุณเห็นในภาพได้รับการตั้งโปรแกรมให้ควบคุมเครือข่ายที่มีสองสถานีสเลฟ
ระบบได้รับการกำหนดค่าเริ่มต้นเพื่อควบคุมสถานีสเลฟสูงสุด 5 สถานี แต่คุณสามารถแก้ไขได้ เพียงค้นหารหัสต่อไปนี้ใน WifiWebServerV3.ino และ SlaveStation.ino
#define number_max_slaves 5
หน้าเว็บเริ่มต้นแบ่งออกเป็น 4 ส่วน:
- ส่วน "สถานะ" ซึ่งจะแสดงให้คุณเห็นว่าสัญญาณเตือนเชื่อมต่ออยู่หรือไม่
- ส่วน "ตัวนับสัญญาณเตือนภัย" ซึ่งจะแสดงจำนวนการตรวจจับการเคลื่อนไหวในแต่ละสถานีสเลฟ
- ส่วน "ปลุก" ซึ่งคุณสามารถเชื่อมต่อหรือยกเลิกการเชื่อมต่อ (CONNECT ALARM/DISCONNECT ALARM) สัญญาณเตือนและรีเซ็ตตัวนับสัญญาณเตือน (RESET COUNTERS)
-
ส่วน "แสงสว่าง" ที่คุณสามารถควบคุมไฟของแต่ละสถานีสเลฟได้ คุณสามารถควบคุมสิ่งต่อไปนี้:
- เปิดไฟในสถานีสเลฟทั้งหมด / เปิดไฟเฉพาะเมื่อตรวจพบการเคลื่อนไหวในสถานีสเลฟทั้งหมด (NETWORK ALWAYS ON/NETWORK WHEN MOVEMENT)
- เปลี่ยนเวลาเป็นนาทีที่ไฟเปิดสำหรับแต่ละสถานีสเลฟ (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
- เปิดไฟสำหรับแต่ละสถานีสเลฟ (NODExx ALWAYS ON)
- เปิดไฟสำหรับแต่ละสถานีสเลฟเฉพาะเมื่อตรวจพบการเคลื่อนไหว (NODExx_MOV)
คุณไม่จำเป็นต้องเปลี่ยนแปลงอะไรเลย เพราะมันจะทำงานอะไรก็ได้ตามชื่อสถานีสเลฟที่คุณกำหนดค่า นอกจากนี้ มันจะตรวจจับจำนวนสถานีสเลฟที่เชื่อมต่อในเครือข่ายโดยอัตโนมัติ
แน่นอน คุณสามารถดาวน์โหลดสเก็ตช์และแก้ไขโค้ดที่จำเป็นเพื่อแสดงหน้าการควบคุมเว็บของคุณเองได้อย่างง่ายดาย
ขั้นตอนที่ 5: จากจุดเริ่มต้น …

นี่คือขั้นตอนที่คุณต้องปฏิบัติตามเพื่อสร้างเครือข่ายของคุณ:
- ซื้อวัสดุทั้งหมดตามรายการที่ฉันให้คุณใน "ขั้นตอนที่ 1"
- เชื่อมต่อส่วนประกอบตามภาพวาดที่คุณสามารถดาวน์โหลดได้ใน "ขั้นตอนที่ 2" และ "ขั้นตอนที่ 3"
- สร้างกล่องสำหรับแต่ละสเตชั่นสเลฟและมาสเตอร์สเตชั่น ฉันได้สร้างกล่องเมทาคริเลต
-
กำหนดค่าแต่ละสถานีสเลฟ:
ดาวน์โหลดและโหลดภาพสเก็ตช์ "SlaveStation.ino" ในบอร์ด MEGA 2560 R3 หนึ่งบอร์ด คุณต้องแก้ไขภาพร่างและอัปเดตที่อยู่ของสถานีสเลฟเท่านั้นดังที่คุณเห็นใน "ขั้นตอนที่ 2"
-
กำหนดค่าสถานีหลัก:
- ดาวน์โหลดและโหลดภาพสเก็ตช์ "SlaveStation.ino" ใน MEGA 2560 R3 หนึ่งเครื่อง คุณไม่จำเป็นต้องเปลี่ยนแปลงอะไรก็ตามจำนวนโหนดทาสในเครือข่ายของคุณ ในขั้นต้น ร่างได้รับการกำหนดค่าสำหรับสถานีสเลฟสูงสุด 5 สถานี
- ดาวน์โหลดและโหลดภาพร่าง "WifiServerV3.ino" ใน NodeMCU คุณต้องอัปเดตภาพร่างตามคำแนะนำใน "ขั้นตอนที่ 4"
- กำหนดค่าเราเตอร์ของคุณเพื่อเข้าถึง NodeMCU จากระยะไกล (การส่งต่อพอร์ต, IP แบบคงที่ …)
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)

DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)

Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)

Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)

4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)

ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-