สารบัญ:
- ขั้นตอนที่ 1: การตั้งค่าฮาร์ดแวร์
- ขั้นตอนที่ 2: การกำหนดค่า ESP8266
- ขั้นตอนที่ 3: เราเตอร์และ IP
- ขั้นตอนที่ 4: การกำหนดค่าแอพ
- ขั้นตอนที่ 5: การรวมทาซเคอร์
วีดีโอ: ระบบอัตโนมัติภายในบ้านด้วย Android และ Arduino: เปิดประตูเมื่อคุณกลับถึงบ้าน: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
คำแนะนำนี้เป็นเรื่องเกี่ยวกับการตั้งค่าระบบอัตโนมัติภายในบ้านที่จะควบคุมผ่านสมาร์ทโฟน โดยใช้การเชื่อมต่ออินเทอร์เน็ต เพื่อให้สามารถเข้าถึงได้จากทุกที่ที่คุณต้องการ นอกจากนี้ มันจะดำเนินการบางอย่างเมื่อใดก็ตามที่ตรงตามเกณฑ์ (เช่น เปิดไฟเมื่อสมาร์ทโฟนเชื่อมต่อกับเครือข่าย wifi ในบ้าน เปิดประตูเมื่อคุณเข้าสู่พื้นที่ที่กำหนดโดย GPS หรือทุกอย่างที่คุณต้องการ)
ระบบจะใช้แอปพลิเคชัน Android ที่มีอยู่ ซึ่งต้องใช้การเข้ารหัสน้อยที่สุด เพียงอัปโหลดรหัส เท่านี้ก็เสร็จเรียบร้อย สมอง - ไมโครคอนโทรลเลอร์ - จะเป็น Arduino หรือบอร์ดที่เข้ากันได้กับ Arduino เช่น Aruino Uno ที่มีอีเธอร์เน็ตชิลด์หรือ NodeMCU ESP8266
เพื่อทริกเกอร์ระบบเมื่อตรงตามเงื่อนไข (ตำแหน่ง GPS, เวลา, ecc…) เราจะใช้ Tasker ที่มีชื่อเสียง เพิ่มเติมในภายหลัง
ในการตระหนักถึงระบบ ประเด็นสำคัญต่อไปนี้ได้รับการพิจารณา:
- มันจะต้องมีราคาถูก
- ต้องสามารถเข้าถึงได้จากภายนอกเครือข่ายภายในบ้าน (เช่น wifi ของคุณ)
- จะต้องง่ายและรวดเร็วมากในการสร้างและตั้งค่า
- มันต้องเชื่อถือได้
ดังที่กล่าวไปแล้ว โปรเจ็กต์ทั้งหมดจะมีราคาประมาณ 20 ยูโร (7.50 ยูโรสำหรับ ESP8266, 8 ยูโรสำหรับบอร์ดรีเลย์ ส่วนที่เหลือสำหรับฮาร์ดแวร์เพิ่มเติม) และจะใช้เวลาประมาณ 30 นาทีในการตั้งค่าทั้งหมด - ไม่เลวเลย.
ดังนั้น หากคุณสนใจ ให้ปฏิบัติตามคำแนะนำที่ง่ายและรวดเร็วนี้ และตั้งค่าของคุณเอง!
ขั้นตอนที่ 1: การตั้งค่าฮาร์ดแวร์
เมื่อคุณรวบรวมส่วนประกอบทั้งหมดของคุณแล้ว สิ่งแรกที่ต้องทำคือวางสายทั้งหมด
ในตัวอย่างนี้ เราจะต่อหลอดไฟเข้ากับ ESP8266; โปรดทราบว่าคุณต้องระวังอย่างยิ่งเมื่อทำงานกับแรงดันไฟฟ้าหลัก - บ้านใช้ 220V ที่สามารถฆ่าคุณได้! ตัดไฟก่อนลงมือทำเสมอ และถ้าคุณไม่มั่นใจให้ค้นหาความช่วยเหลือจากผู้เชี่ยวชาญ!
ที่กล่าวว่า: ในการจัดการระดับความตึงเครียดและกระแสดังกล่าว (ซึ่งจะทำให้ ESPR8266 ตัวเล็ก ๆ เผาผลาญ) เราจำเป็นต้องใช้รีเลย์ที่เหมาะสม (เช่นนี้ซึ่งเป็นตรรกะ 5V เหมาะสำหรับ Arduino มาตรฐานหรือสิ่งนี้คือรีเลย์ระดับลอจิก 3.3V, เหมาะสำหรับ pinout 3.3V ของ ESP82666); การเชื่อมต่อนั้นค่อนข้างง่าย ทำตามไดอะแกรมที่เราแนบมา
โปรดทราบว่าบอร์ดรีเลย์บางตัว (เช่นที่เราได้เชื่อมโยงไว้) เป็น ACTIVE LOW; ซึ่งหมายความว่าคุณต้องเชื่อมต่อรีเลย์กับกราวด์เพื่อเปิดเครื่องและในทางกลับกัน หากเป็นกรณีของคุณ Homotica ขอเสนอวิธีแก้ปัญหาที่ดี เราจะดูว่าในย่อหน้าถัดไป
ขั้นตอนที่ 2: การกำหนดค่า ESP8266
ตอนนี้เราได้ตั้งค่าฮาร์ดแวร์ของระบบอัตโนมัติแล้ว เราต้องตั้งโปรแกรมไมโครคอนโทรลเลอร์
ในการทำเช่นนั้น เราจะต้องใช้ซอฟต์แวร์ Arduino เพื่ออัปโหลดภาพร่างที่ให้ไว้ไปยัง ESP8266 ไปที่หน้าดาวน์โหลด Arduino แล้วเลือกเวอร์ชันที่เหมาะสมที่สุดสำหรับคุณ
เมื่อดาวน์โหลดแล้วให้ติดตั้ง
ตอนนี้เราได้ติดตั้ง IDE แล้ว เราจำเป็นต้องมีไลบรารีที่จำเป็นสำหรับร่างแบบร่าง ในการติดตั้งให้เปิด App Github Repo แล้วเลือกดาวน์โหลดจากปุ่มสีเขียวทางด้านขวา
ไปที่โฟลเดอร์ดาวน์โหลดบนพีซีของคุณและใช้ซอฟต์แวร์เช่น WinRar หรือ WinZip คลายซิปไฟล์ เปิดโฟลเดอร์ที่สร้างขึ้นใหม่ "homotica-master" และคัดลอกโฟลเดอร์ภายในชื่อ "Homotica" ไปยังโฟลเดอร์ Arduino Editor Libraries (โดยปกติแล้วจะพบได้ใน C:\Users\your_user_name\Documents\Arduino\libraries) ลบไฟล์ที่เหลือใน "homotica-master" เราไม่ต้องการมัน
ขั้นตอนหนึ่งขาดหายไปจากการอัปโหลดรหัสไปยัง ESP8266: เราจำเป็นต้องได้รับไลบรารีเพื่อให้ Arduino IDE สื่อสารกับบอร์ด เนื่องจากไม่ได้รับการสนับสนุนอย่างเป็นทางการ
โดยทำตามขั้นตอนเหล่านี้ (เครดิต: Github ES8266 Arduino Repo):
- เริ่ม Arduino และเปิดหน้าต่างไฟล์>การตั้งค่า
- ป้อน "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (โดยไม่ใส่เครื่องหมายคำพูด) ลงในช่อง Additional Board Manager URLs คุณสามารถเพิ่ม URL ได้หลายรายการ โดยคั่นด้วยเครื่องหมายจุลภาค
- เปิดตัวจัดการบอร์ดจากเครื่องมือ > เมนูบอร์ด และติดตั้งแพลตฟอร์ม esp8266 (ค้นหา "esp8266" และดาวน์โหลด "esp8266 by ESP8266 Community")
ทุกอย่างถูกตั้งค่า มาดูแลร่างโค้ดกัน
เปิดไฟล์>ตัวอย่าง>Homotica>Homotica ESP8266 คัดลอกโค้ดทั้งหมดในแบบร่างใหม่และแก้ไขพารามิเตอร์ต่อไปนี้:
- ssid: ใส่ชื่อเครือข่ายไร้สายของคุณที่นี่
- รหัสผ่าน: รหัสผ่าน wifi ของคุณ
- ip, เกตเวย์, ซับเน็ต: คุณอาจไม่ต้องแตะการตั้งค่าเหล่านี้ เปลี่ยน ip หากคุณต้องการให้ ESP8266 ของคุณมีที่อยู่อื่น
- mUdpPort: พอร์ตที่เราจะเปิดในเราเตอร์ในภายหลัง ถ้าไม่รู้ว่ามันคืออะไร อย่าแตะต้อง
- รหัส: รหัส 8 ตัวที่ไม่ซ้ำกันซึ่งจะใช้ในการตรวจสอบแอปของคุณ คุณสามารถเลือกสิ่งที่คุณต้องการ
หากคุณกำลังใช้การตั้งค่า ACTIVE LOW อย่าลืมเรียก homotica.setActiveLow() ตามที่แสดงในโค้ดตัวอย่าง!
ในการทำให้เสร็จ: เพิ่ม homotica.addUsedPin(5) (ดังแสดงในตัวอย่าง) เพื่อบอก ESP8266 ว่า GPIO ใดที่ต้องจัดการ ระหว่าง while loop และ homotica.set(mUdpPort, code); ลบทุกบรรทัด homotica.simulateUdp(…)
นี่คือรหัสที่คุณควรทิ้งไว้:
#รวม
#include #include const char* ssid = "mywifiname"; const char* password = "รหัสผ่าน wifi"; IPAddress ip(192, 168, 1, 20); เกตเวย์ที่อยู่ IP(192, 168, 1, 1); IPAddress ซับเน็ต (255, 255, 255, 0); int mUdpPort ที่ไม่ได้ลงชื่อ = 5858; รหัสสตริงคงที่ = "aBc159"; โฮโมติก้า โฮโมติก้า; การตั้งค่าเป็นโมฆะ () { WiFi.config (ip, เกตเวย์, ซับเน็ต); WiFi.begin(ssid, รหัสผ่าน); ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); } homotica.addUsedPin(5); homotica.setActiveLow(); //<-- เฉพาะในกรณีที่คุณต้องการ homotica.set(mUdpPort, code); } วงเป็นโมฆะ () { homotica.refresh (); }
เมื่อทุกอย่างได้รับการตั้งค่าอย่างถูกต้องแล้ว ให้เปลี่ยนการตั้งค่าคอมไพเลอร์จากเมนูเครื่องมือตามภาพหน้าจอที่แนบมา และเลือกพอร์ต ESP8266 ที่เชื่อมต่อบนคอมพิวเตอร์ของคุณในเครื่องมือ>พอร์ต
ตอนนี้คลิกอัปโหลด ไมโครคอนโทรลเลอร์ของคุณได้รับการตั้งค่าและพร้อมใช้งานแล้ว!
ขั้นตอนที่ 3: เราเตอร์และ IP
ในการสื่อสารกับ ESP8266 จากทุกเครือข่าย เราจะต้องบอกให้เราเตอร์ส่งคำสั่งที่เราส่งไปให้
โดยไปที่หน้าการกำหนดค่าเราเตอร์ของคุณ (ปกติคือ 192.168.1.1) และค้นหาบางอย่างเช่น "เซิร์ฟเวอร์เสมือน" หรือ "การส่งต่อพอร์ต" คุณสามารถค้นหาการตั้งค่าที่แม่นยำสำหรับการค้นหารุ่นเราเตอร์ของคุณใน Google
ในการส่งต่อพอร์ต ให้สร้างกฎใหม่ซึ่งอนุญาตให้เชื่อมต่อกับ ESP8266 ทั้งหมด (กฎที่กำหนดค่าไว้ก่อนหน้านี้) ผ่านพอร์ต ESP8266 (อีกครั้ง กฎที่กำหนดค่าไว้ก่อนหน้านี้) ตั้งชื่อ Homotica ใส่ ESP8266 IP ในฟิลด์ IP และบันทึก
หากเราเตอร์ที่คุณใช้อยู่ไม่อนุญาตให้ทำเช่นนี้ ไม่ต้องกังวล คุณจะใช้แอปจากเครือข่ายมือถือไม่ได้ แต่จะทำงานได้ดีจากภายใน wifi ภายในบ้านของคุณ
ในการอ้างถึงเราเตอร์ของเราจากโลกภายนอก เราจำเป็นต้องรู้ IP สาธารณะของมัน ข้อเสียคือผู้ให้บริการอินเทอร์เน็ตส่วนใหญ่ไม่ได้ให้ IP แบบคงที่แก่คุณ แต่เป็น IP แบบไดนามิกแทน ซึ่งจะเปลี่ยนแปลงไปตามกาลเวลา
แต่เดี๋ยวก่อน เราแก้ปัญหานี้ได้!
ไปที่ NoIp สร้างบัญชีใหม่ จากนั้นสร้างชื่อโฮสต์ใหม่ (ดูรูปที่แนบมา) จดชื่อโฮสต์ที่คุณมี (ในตัวอย่างของฉัน: https://yourhostname.ddns.net) และไปยังขั้นตอนถัดไป
(หมายเหตุ: คุณอาจต้องการให้พีซีของคุณซิงค์ IP เราเตอร์ของคุณกับชื่อโฮสต์ NoIp ของคุณโดยอัตโนมัติ: ดาวน์โหลดแอปฟรีเพื่อทำสิ่งนั้น)
ขั้นตอนที่ 4: การกำหนดค่าแอพ
มาดูแลแอพกันไหม
ดาวน์โหลดแอปจากหน้า Play Store แล้วเปิดขึ้น
เปิดเมนูด้านซ้าย เลือกบอร์ด และสร้างใหม่ เราจะกรอกพารามิเตอร์ที่เรากำหนดไว้ก่อนหน้านี้ในรหัสร่าง ESP8266:
- ชื่อ Arduino: สิ่งที่คุณต้องการ (ปล่อยให้เป็น ESP8266)
-
IP โฮสต์: นี่อาจเป็น
- IP คงที่ของเราเตอร์ที่อ้างอิงผ่านลิงก์ NoIp
- ESP8266 IP หากคุณต้องการใช้เฉพาะจากภายในเครือข่าย wifi ในบ้านของคุณ 192.168.1.20
- พอร์ตโฮสต์: พอร์ตที่เราตั้งค่าและเปิดก่อนหน้านี้ 5858
- รหัสตรวจสอบสิทธิ์: รหัส 8 อักขระที่เรากำหนดไว้ในแบบร่าง aBc195
บันทึก. เปิดเมนูอีกครั้ง สร้างอุปกรณ์ใหม่ เราจะแนบหลอดไฟสำหรับการสาธิต:
- ชื่อ: ไลท์
- ชื่อปุ่ม: เราจะใช้ On เลือกสิ่งที่คุณต้องการ
- หมายเลขพิน: พินที่เราติดหลอดไฟ ระวัง! บน ESP8266 ป้ายพิน (D1, D2…) ไม่ตรงกับชื่อพิน GPIO! ค้นหาใน Google เพื่อกำหนดว่าพินใดคือ GPIO (ในตัวอย่างของเรา: พิน 5 มีป้ายกำกับ D1)
- พฤติกรรม: คุณสามารถเลือกได้ระหว่างการเปิด ปิด เปลี่ยนสถานะของ "การผลัก" (เปิดแล้วปิด) อุปกรณ์
บันทึก. หากคุณได้ตั้งค่าทุกอย่างไว้อย่างถูกต้องแล้ว การกด On the lightbulb จะเปิดขึ้น
เจ๋งใช่มั้ย
ตอนนี้คุณสามารถสนุกกับการเพิ่มอุปกรณ์ กระดาน และจัดเรียงในฉากต่างๆ ได้
แต่หากต้องการใช้สิ่งที่คุณเพิ่งสร้างขึ้นอย่างเต็มกำลัง เราจะต้องใช้ทาซเคอร์
ขั้นตอนที่ 5: การรวมทาซเคอร์
หากคุณเป็นเจ้าของทาซเคอร์หรือต้องการซื้อ โปรดอ่านต่อไป! เราจะใช้มันเพื่อบอก Homotica ว่าต้องทำอะไรและต้องทำเมื่อไหร่
ในตัวอย่างนี้ เราจะเปิดไฟทุกครั้งที่เราเชื่อมต่อกับ wifi ที่บ้าน และเวลาระหว่าง 16.00 น. ถึง 18.00 น.
เปิดทาซเคอร์; สร้างงานใหม่ (ให้ตั้งชื่อว่า Turn On Light) เลือก Add>Plugin>Homotica กดไอคอนดินสอเพื่อกำหนดค่าปลั๊กอิน เลือก Light>On และบันทึก กลับไปที่เมนูหลัก สร้างโปรไฟล์ใหม่ เลือกสถานะ>เชื่อมต่อ WiFi แทรกชื่อ Wifi ทัวร์ในช่อง SSID; กดย้อนกลับและเลือก Turn On Light เพื่อเข้าสู่กิจกรรม ตอนนี้ กดที่ด้านซ้ายของโปรไฟล์ที่สร้างขึ้นใหม่ค้างไว้ เลือก เพิ่ม>เวลา>ตั้งแต่ 16.00 น. ถึง 18.00 น. จากนั้นปิด
เราเสร็จแล้ว ไฟของเราจะสว่างเมื่อเราเข้าบ้านในเวลาที่เราตั้งไว้
ที่มีประโยชน์!
ตอนนี้ถึงตาคุณแล้ว: สร้างสรรค์ด้วย Homotica และ Tasker และอย่าลืมแสดงให้เราเห็นสิ่งที่คุณสร้าง!
แนะนำ:
ระบบอัตโนมัติภายในบ้านด้วย NodeMCU Touch Sensor LDR รีเลย์ควบคุมอุณหภูมิ: 16 ขั้นตอน
ระบบอัตโนมัติภายในบ้านด้วย NodeMCU Touch Sensor LDR Temperature Control Relay: ในโครงการ NodeMCU ที่ผ่านมาของฉัน ฉันได้ควบคุมเครื่องใช้ภายในบ้านสองเครื่องจาก Blynk App ฉันได้รับความคิดเห็นและข้อความมากมายให้อัปเกรดโปรเจ็กต์ด้วยการควบคุมด้วยตนเองและเพิ่มคุณสมบัติเพิ่มเติม ดังนั้นฉันจึงออกแบบกล่องขยายบ้านอัจฉริยะนี้ใน IoT
ระบบอัตโนมัติภายในบ้านด้วย Raspberry Pi โดยใช้บอร์ดรีเลย์: 7 ขั้นตอน
ระบบอัตโนมัติในบ้านด้วย Raspberry Pi โดยใช้บอร์ดรีเลย์: ผู้คนจำนวนมากต้องการความสะดวกสบายที่ยอดเยี่ยม แต่ในราคาที่เหมาะสม เรารู้สึกขี้เกียจที่จะเปิดไฟบ้านทุกเย็นเมื่อพระอาทิตย์ตกดิน และในเช้าวันถัดมาก็ปิดไฟอีกครั้ง หรือจะเปิด/ปิดเครื่องปรับอากาศ/พัดลม/เครื่องทำความร้อนตามที่เคย
ระบบอัตโนมัติภายในบ้านด้วย ESP8266 WiFi โดยไม่ต้องใช้ Blynk!: 24 ขั้นตอน (พร้อมรูปภาพ)
ระบบอัตโนมัติภายในบ้านด้วย ESP8266 WiFi โดยไม่ต้องใช้ Blynk!: ประการแรก ผมอยากขอบคุณทุกคนที่ทำให้ผมเป็นผู้ชนะในการประกวดการทำงานอัตโนมัติ 2016 สำหรับคำแนะนำนี้ ตามที่ได้สัญญาไว้ นี่คือคำแนะนำสำหรับการควบคุมเครื่องใช้ภายในบ้านด้วยโมดูล ESP8266 WiFi
ระบบอัตโนมัติภายในบ้านด้วย Arduino: 6 ขั้นตอน
ระบบอัตโนมัติภายในบ้านด้วย Arduino: HISTORYI เริ่มโครงการนี้เป็นโครงการของโรงเรียน อันที่จริงผมอยากสร้างสิ่งที่เป็นประโยชน์ต่อสังคม ดังนั้นฉันจึงเริ่มตรวจสอบว่าปัญหาต่าง ๆ ที่เกิดขึ้นในโลกที่สามารถแก้ไขได้คืออะไร จากนั้นฉันก็พบว่า
ระบบอัตโนมัติภายในบ้านด้วย Arduino: 4 ขั้นตอน
ระบบอัตโนมัติในบ้านกับ Arduino: ผลิตภัณฑ์สำเร็จรูปนี้รวมส่วนสัญญาณเตือน สภาพอากาศ นาฬิกาไร้สาย การประกอบและการตัดชิ้นส่วนที่ผลิตด้วยการตัดด้วยเลเซอร์ ฉันเลือกวัตถุ 3 ชิ้นที่มีขนาดค่อนข้างเล็กเพื่ออำนวยความสะดวกในการฝังในสถานที่แห่งชีวิต ตัวเลือกของฉันลดลงเมื่อ