สารบัญ:

ระบบอัตโนมัติภายในบ้านด้วย Android และ Arduino: เปิดประตูเมื่อคุณกลับถึงบ้าน: 5 ขั้นตอน
ระบบอัตโนมัติภายในบ้านด้วย Android และ Arduino: เปิดประตูเมื่อคุณกลับถึงบ้าน: 5 ขั้นตอน

วีดีโอ: ระบบอัตโนมัติภายในบ้านด้วย Android และ Arduino: เปิดประตูเมื่อคุณกลับถึงบ้าน: 5 ขั้นตอน

วีดีโอ: ระบบอัตโนมัติภายในบ้านด้วย Android และ Arduino: เปิดประตูเมื่อคุณกลับถึงบ้าน: 5 ขั้นตอน
วีดีโอ: Blynk IOT EP.27 ควบคุมอุปกรณ์ไฟฟฟ้าภายในบ้าน ด้วยมือถือตามที่ต้องการ esp8266 +Relay + App Blynk 2024, กันยายน
Anonim
ระบบอัตโนมัติภายในบ้านด้วย Android และ Arduino: เปิดประตูเมื่อคุณกลับถึงบ้าน
ระบบอัตโนมัติภายในบ้านด้วย Android และ Arduino: เปิดประตูเมื่อคุณกลับถึงบ้าน

คำแนะนำนี้เป็นเรื่องเกี่ยวกับการตั้งค่าระบบอัตโนมัติภายในบ้านที่จะควบคุมผ่านสมาร์ทโฟน โดยใช้การเชื่อมต่ออินเทอร์เน็ต เพื่อให้สามารถเข้าถึงได้จากทุกที่ที่คุณต้องการ นอกจากนี้ มันจะดำเนินการบางอย่างเมื่อใดก็ตามที่ตรงตามเกณฑ์ (เช่น เปิดไฟเมื่อสมาร์ทโฟนเชื่อมต่อกับเครือข่าย 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

การกำหนดค่า ESP8266
การกำหนดค่า ESP8266
การกำหนดค่า ESP8266
การกำหนดค่า ESP8266
การกำหนดค่า ESP8266
การกำหนดค่า 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

เราเตอร์และ IP
เราเตอร์และ IP
เราเตอร์และ IP
เราเตอร์และ 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 และอย่าลืมแสดงให้เราเห็นสิ่งที่คุณสร้าง!

แนะนำ: