สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
หลังจากถูกล็อกออกจากบ้านโดยไม่ได้ตั้งใจมากกว่าหนึ่งครั้ง ฉันตัดสินใจว่าจะต้องมีวิธีที่ดีกว่าในการเข้าบ้านของฉันที่ไม่เกี่ยวข้องกับการพังและเข้ามา (และไม่ต้องซ่อนกุญแจไว้ข้างนอกที่ไหนสักแห่ง)
เมื่อดูการตั้งค่าประตูโรงรถของฉัน ฉันสังเกตเห็นว่ามอเตอร์สำหรับเปิดประตูโรงรถสามารถเปิดใช้งานได้โดยการลัดวงจรหน้าสัมผัสสองตัว เมื่อเห็นสิ่งนี้ ฉันก็ตระหนักว่าวิธีแก้ปัญหาง่ายๆ คือการเชื่อมต่อ esp8266 กับรีเลย์ที่ฉันสามารถทริกเกอร์ (เพื่อเปิดหรือปิดประตู) โดยเชื่อมต่อกับคอนโทรลเลอร์ esp8266 โดยใช้โทรศัพท์มือถือของฉัน
ขั้นตอนที่ 1: วัสดุ เครื่องมือ และซอฟต์แวร์
วัสดุ
- NodeMCU
- โมดูลรีเลย์ 1 ช่อง 5V
- เต้ารับ USB/อุปกรณ์ชาร์จ
- สกรู(M2*8)
- สาย USB ขั้นต่ำ
เครื่องมือ
- หัวแร้ง
- ประสาน
- ท่อหดความร้อน
- เครื่องปอกสายไฟ
- สายต่อ
- เครื่องพิมพ์ 3 มิติ
- ไขควงแฉก
- คีม
ซอฟต์แวร์
- Arduino IDE
- ฟริทซิ่ง
- FreeCAD
ขั้นตอนที่ 2: การเข้ารหัส
เพิ่มไลบรารีต่อไปนี้ใน Arduino IDE: https://github.com/Links2004/arduinoWebSockets.git นอกจากนี้ หากคุณยังไม่ได้เพิ่มไลบรารี esp8266 จะต้องดำเนินการดังนี้:
- ไปที่ ไฟล์ > การตั้งค่า ในช่อง "Additional Boards Manager URLs" ให้พิมพ์ (หรือ copy-paste) https://arduino.esp8266.com/stable/package_esp8266… และคลิกตกลง
- จากนั้นไปที่ เครื่องมือ > บอร์ด > ผู้จัดการบอร์ด พิมพ์ "esp8266" ในช่องค้นหา. รายการ "esp8266 by ESP8266 Community" ควรปรากฏขึ้น คลิกรายการนั้นและมองหาปุ่มติดตั้งที่ด้านล่างขวา
ไม่จำเป็นต้องเพิ่มที่นี่อีกมากนอกเหนือจากรหัสที่ฉันใช้ (แนบ GarageDoorHack-Final) นำมาจาก https://gist.github.com/bbx10/667e3d4f5f2c0831d00b และแก้ไขเล็กน้อยเพื่อรองรับสิ่งที่ฉันต้องทำเช่นเพื่อเรียกสั้น ๆ รีเลย์เมื่อมีการคลิกปุ่ม
ด้วยการอ้างอิงถึงรหัส ตรวจสอบให้แน่ใจว่าคุณได้อัปเดตบรรทัดต่อไปนี้เพื่อให้สอดคล้องกับ SSID และ PASSWORD ไร้สายของคุณ:
- คงที่ const ถ่าน ssid = "SSID";
- รหัสผ่านคงที่ const char = "PASSWORD";
โดยใช้การตรวจสอบแบบอนุกรม (เมื่อคุณได้อัปโหลดรหัสแล้ว) คุณจะสามารถดูว่า IP ใดที่จัดสรรให้กับ NodeMCU
จุดสุดท้ายที่น่าสังเกตคือบอร์ด NodeMCU ของฉันดูเหมือนจะมีหมุดที่ถูกกำหนดแตกต่างจากที่กล่าวถึงทางออนไลน์เช่น GPIO05 ของฉันคือพิน 5 โดยที่การอ้างอิงออนไลน์ที่ฉันใช้บอกว่าเป็น 1 (หรืออาจเป็น GPIO ของฉัน หมุดที่ประกอบในลำดับที่ต่างกัน) ไม่ว่าในกรณีใด ฉันต้องใช้การลองผิดลองถูกก่อนที่จะระบุได้ว่าพินใดเป็น GPIO5 จริงๆ
ขั้นตอนที่ 3: นำทุกอย่างมารวมกัน
ขั้นตอนตาม:
- ฉันตัดหมุด NodeMCU ทั้งหมดที่ฉันไม่ได้ใช้ออก (ใช่ ฉันสามารถขายมันออกไปได้ แต่ฉันพบว่าวิธีนี้ง่ายกว่า)
- ลวดเชื่อมบัดกรีบนหมุดที่เกี่ยวข้อง (ตามแผนภาพและรูปภาพด้านบน) โดยใช้ท่อหดความร้อนเพื่อป้องกันการเชื่อมต่อ
- 3D พิมพ์เคส (แนบไฟล์ STL; ไฟล์ FCSTD เป็นไฟล์ FreeCAD)
- ขันบอร์ด NodeMCU ลง สกรูที่ฉันมีนั้นยาวเกินไป ดังนั้นคีมที่ใช้แล้วจึงกรีดให้สั้นลง
- ดันส่วนบนของรีเลย์เข้าไปในที่ยึดสี่เหลี่ยมในฝาปิดที่ยึดเข้าที่อย่างแน่นหนา การวางแนวนั้นทำให้หน้าสัมผัสรีเลย์หันไปทางรูทางออกของลวดในฝา
- ติดฝาแล้วขันให้ปิด
- ต่อสายไฟรีเลย์เข้ากับขั้วมอเตอร์ประตูโรงรถ
- เสียบโปรเจ็กต์เข้ากับแหล่งพลังงาน USB
- รอให้ NodeMCU ตรวจสอบกับระบบไร้สาย
- เรียกดูที่อยู่ IP จากโทรศัพท์ของฉัน
- ทดสอบโดยการกดปุ่ม
สกรูเกลียวที่ฉันทำงานได้ดี แต่สกรูเกลียวปล่อยจะใช้งานได้ง่ายกว่า
ขั้นตอนที่ 4: ความคิดเห็นสุดท้าย
สิ่งต่อไปนี้อยู่นอกขอบเขตของคำแนะนำนี้ แต่ควรค่าแก่การพูดคุย:
ที่อยู่ IP
ตามค่าเริ่มต้น เราเตอร์ของคุณจะออกที่อยู่ IP แบบสุ่ม ซึ่งหมายความว่าอุปกรณ์ของคุณอาจไม่มี IP เดียวกันเสมอไป ซึ่งจะทำให้ค้นหาและเข้าถึงจากโทรศัพท์ของคุณได้ยากมาก ดังนั้นจึงเป็นเรื่องสำคัญที่คุณจะต้องกำหนด IP คงที่ให้กับมัน มีสองวิธีหลักในการทำเช่นนี้ ซึ่งแต่ละวิธีก็มีข้อดีและข้อเสียต่างกันไป ความชอบของฉันคือการอนุญาตให้เซิร์ฟเวอร์ DHCP ของเราเตอร์ทำสิ่งนี้ ขั้นตอนทั่วไปที่ต้องปฏิบัติตามเมื่อใช้วิธีนี้คือ:
- เข้าสู่ระบบเราเตอร์ของคุณในฐานะผู้ดูแลระบบ
- ดูบันทึก DHCP และบันทึกที่อยู่ MAC ที่เชื่อมโยงกับที่อยู่ IP ที่ออกให้กับ NodeMCU ของคุณ
- ค้นหาตัวเลือกเมนูที่ให้คุณตั้งค่าการจอง IP ที่นี่คุณจะสามารถระบุที่อยู่ MAC และ IP ที่คุณต้องการให้ที่อยู่ MAC นี้ได้รับเสมอ
ฉันมักจะทำข้างต้นให้เร็วที่สุดในโครงการของฉัน
การสร้างทางลัดบนโทรศัพท์ของคุณ
- ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับเครือข่ายไร้สายเดียวกันกับอุปกรณ์ของคุณ
- เมื่อแก้ไขที่อยู่ IP แล้ว คุณควรจะสามารถเรียกดูข้อมูลดังกล่าวบนโทรศัพท์ของคุณได้
- บันทึก IP เป็นบุ๊คมาร์ค
- บันทึกบุ๊คมาร์คไปที่หน้าแรกของโทรศัพท์ของคุณ
ความปลอดภัย
ใครก็ตามที่เชื่อมต่อกับเครือข่ายไร้สายของคุณจะสามารถเรียกดู IP นี้และทริกเกอร์การถ่ายทอดได้ ในการดำเนินการนี้ พวกเขาจะต้องทราบ Wireless SSID และรหัสผ่านของคุณ สำหรับผู้ใช้ทั่วไป นี่อาจเป็นการรักษาความปลอดภัยที่เพียงพอ หากคุณต้องการระดับความปลอดภัยที่สูงขึ้น คุณสามารถใช้การกรอง MAC บนเราเตอร์หรือเซิร์ฟเวอร์แบบสแตนด์อโลน หรือคุณอาจลองใช้วิธีการตรวจสอบสิทธิ์แบบสองปัจจัย สิ่งนี้กล่าวว่า หากมีใครรู้วิธีแฮ็กเครือข่ายของคุณ พวกเขาอาจรู้วิธีแฮ็กโซลูชันด้านบนทั้งหมดเช่นกัน นอกจากนี้หากพวกเขากระตือรือร้นที่จะเข้าไปจริงๆ พวกเขาก็อาจจะบุกเข้ามา
ในระยะสั้นถ้าคุณอาศัยอยู่ในสภาพแวดล้อมที่มีความเสี่ยงต่ำ คุณก็ไม่มีอะไรต้องกลัว ในทางกลับกัน หากคุณอาศัยอยู่ในสภาพแวดล้อมที่มีความเสี่ยงสูง คุณอาจมีสิ่งที่สำคัญกว่าที่ต้องกังวลและการแฮ็กประตูโรงรถ
เมื่อกล่าวทั้งหมดนี้แล้ว โปรเจ็กต์ต่อไปนี้เป็นโปรเจ็กต์การพิสูจน์แนวคิดมากกว่า และไม่ได้หมายความถึงการดำเนินการผลิตอย่างเต็มรูปแบบ ใครก็ตามที่ดำเนินโครงการนี้ต้องรับความเสี่ยงเอง
ปิดความเห็น
บางครั้งการเชื่อมต่อกับ NodeMCU ดูเหมือนจะขาดหายไป เมื่อเกิดเหตุการณ์นี้ขึ้น คุณเพียงแค่ต้องรีเฟรชหน้าเว็บและควรเชื่อมต่อใหม่ได้สำเร็จ
และสุดท้าย แทนที่จะเชื่อมต่อตัวควบคุมเข้ากับมอเตอร์ประตูโดยตรง ฉันสามารถต่อสายขนานกับสวิตช์แบบแมนนวลในโรงรถได้ แม้ว่าสิ่งนี้จะทำให้ฉันสามารถซ่อนวงจรในผนังได้ แต่ฉันก็ต้องทำแผนใหม่เกี่ยวกับการจ่ายไฟให้กับอุปกรณ์ ปัญหาด้านพลังงานน่าจะแก้ไขได้ค่อนข้างง่าย แต่สำหรับตอนนี้ ฉันไม่รู้สึกว่าความพยายามจะคุ้มค่า
ทั้งหมดนี้เป็นโครงการที่เรียบง่ายและราคาถูกที่ฉันสนุกกับการทำ
การพัฒนาล่าสุด
ไปที่ https://www.instructables.com/id/Simple-Garage-Doo… เพื่อดู Simple Garage Door Hack เวอร์ชันสอง