สารบัญ:

เครื่องลดความชื้น Apple HomeKit Wi-Fi ตาม ESP8266 ?: 6 ขั้นตอน (พร้อมรูปภาพ)
เครื่องลดความชื้น Apple HomeKit Wi-Fi ตาม ESP8266 ?: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องลดความชื้น Apple HomeKit Wi-Fi ตาม ESP8266 ?: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องลดความชื้น Apple HomeKit Wi-Fi ตาม ESP8266 ?: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Introduction to Apple Home Automations 2024, กรกฎาคม
Anonim
Apple HomeKit เครื่องลดความชื้น Wi-Fi ตาม ESP8266 ?
Apple HomeKit เครื่องลดความชื้น Wi-Fi ตาม ESP8266 ?
Apple HomeKit เครื่องลดความชื้น Wi-Fi ตาม ESP8266 ?
Apple HomeKit เครื่องลดความชื้น Wi-Fi ตาม ESP8266 ?
Apple HomeKit เครื่องลดความชื้น Wi-Fi ตาม ESP8266 ?
Apple HomeKit เครื่องลดความชื้น Wi-Fi ตาม ESP8266 ?
Apple HomeKit เครื่องลดความชื้น Wi-Fi ตาม ESP8266 ?
Apple HomeKit เครื่องลดความชื้น Wi-Fi ตาม ESP8266 ?

น่าเสียดายที่มี DeHumidifiers เพียงหนึ่งหรือสองตัวที่รองรับ Apple HomeKit แต่สิ่งเหล่านี้มีราคาสูงมาก (300$+) ดังนั้นฉันจึงตัดสินใจสร้างเครื่องลดความชื้น Apple HomeKit ที่สามารถใช้ Wi-Fi ของตัวเองโดยอิงจากเครื่องราคาถูกที่ฉันมีอยู่แล้ว

สามารถทำงานกับ HomeKit ได้โดยใช้ ESP8266 ดังนั้นจึงไม่จำเป็นต้องใช้ HAP-NodeJS! ?

เนื่องจากโค้ดมีความซับซ้อนมาก และฉันใช้ไลบรารีที่กำหนดเองมามากมาย ฉันจึงได้สร้างไฟล์เฟิร์มแวร์ที่คอมไพล์ไว้ล่วงหน้าแล้ว สำหรับผู้ที่สนใจสร้างโปรเจ็กต์ HomeKit ดั้งเดิม ซอร์สโค้ดสำหรับ esp-homekit มีให้ที่นี่ หากคุณไม่ต้องการใช้เฟิร์มแวร์ของฉัน GPIO pinout จะอยู่ด้านล่างสำหรับสร้างเฟิร์มแวร์ของคุณเอง ?

สำหรับข้อมูลเพิ่มเติม โปรดไปที่หน้า GitHub ที่เกี่ยวข้อง! ?

คุณสมบัติ:

  • การวัดความชื้นโดยใช้เซ็นเซอร์ SHT3x
  • ตั้งค่าความชื้นเป้าหมาย
  • การควบคุมความเร็วพัดลม
  • ระดับน้ำ (ผ่านไฟ LED และปิดอัตโนมัติเมื่อเต็มถัง)
  • ปุ่มเปิด/ปิด/รีเซ็ต

ชิ้นส่วน PCB:

  • ESP12F/E/S
  • เครื่องลดความชื้น XROW600B
  • SHT3x เซ็นเซอร์อุณหภูมิ/ความชื้น
  • ตัวต้านทาน SMD 0805
  • ตัวเก็บประจุ SMD 0805
  • AMS1117-3.3
  • ปุ่มสัมผัส
  • ส่วนหัว 1x4P 2.54 มม. (อุปกรณ์เสริม)
  • IRF540NS
  • ตัวเก็บประจุ SMD 10x10.5 50V 100uF
  • ตัวเก็บประจุ SMD 6x7 6, 3V 330uF
  • LM2575S-5.0
  • ตัวเหนี่ยวนำ 330uH CRDH74
  • 1N4007 ไดโอด
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • ไฟ LED สีแดง/เขียว 3 มม.
  • สเปเซอร์ไนลอน LED 3 มม. (สูง)
  • 4P ตัวผู้ XH2.54 พร้อมสายเคเบิล (สำหรับเซ็นเซอร์ความชื้น)

เสบียง

  • หัวแร้งORสถานีบัดกรีหรือปืนบัดกรีอากาศร้อน
  • สำหรับการอัปโหลดรหัส คุณอาจต้องซื้ออะแดปเตอร์ USB TTL ด้วย
  • ในการถอดประกอบเครื่องลดความชื้น คุณจะต้องใช้ไขควงบางตัว
  • PCB แบบกำหนดเอง
  • เครื่องลดความชื้น XROW600B

ขั้นตอนที่ 1: การถอดประกอบ

ถอดประกอบ
ถอดประกอบ
ถอดประกอบ
ถอดประกอบ
ถอดประกอบ
ถอดประกอบ

ในการถอดแยกชิ้นส่วนเครื่องลดความชื้น สิ่งเดียวที่คุณต้องมีคือไขควงที่สามารถใส่ลงในรูที่ด้านหลังของอุปกรณ์ได้! ?

  1. คลายเกลียวสกรู 2 ตัวที่ด้านล่างของอุปกรณ์
  2. คลายเกลียวสกรู 4 ตัวที่ด้านหลังของอุปกรณ์
  3. ตอนนี้คุณสามารถแยกชิ้นส่วนตัวเรือนพลาสติก
  4. ถอดปลั๊กทุกขั้วต่อบน PCB
  5. คลายเกลียวสกรู 2 ตัวที่ยึด PCB

ขั้นตอนที่ 2: PCB แบบกำหนดเอง

PCB แบบกำหนดเอง
PCB แบบกำหนดเอง
PCB แบบกำหนดเอง
PCB แบบกำหนดเอง
PCB แบบกำหนดเอง
PCB แบบกำหนดเอง
PCB แบบกำหนดเอง
PCB แบบกำหนดเอง

ฉันได้ออกแบบ PCB แบบกำหนดเองซึ่งสามารถแทนที่ PCB ดั้งเดิมซึ่งเป็นแบบพื้นฐานได้ โดยพื้นฐานแล้วมันเป็นเพียงแหล่งจ่ายไฟ / ตัวแปลงสเต็ปดาวน์จาก 12V เป็น 3.3V, MOSFET สองตัวสำหรับขับพัดลมและ peltier, ESP8266 เอง, ไฟ LED สองดวงและปุ่มสัมผัสเหมือนของเดิม

ฉันได้เพิ่มตัวเชื่อมต่อเดียวกันสำหรับ PCB ใหม่เช่นเดียวกับตัวเชื่อมต่อเดิมและตัวเชื่อมต่อ 4 พินพิเศษสำหรับเซ็นเซอร์ความชื้น SHT3x พาวเวอร์ซัพพลาย 9V ที่มากับ Dehumidifier ก็ใช้ได้! ทุกอย่างเป็น plug 'n' play หรือไม่?

คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับ PCB ได้ที่นี่

ไฟล์ PCB สามารถพบได้ที่ PCBWay

SHT3x ความชื้นเซนเซอร์

คุณต้องต่อเซ็นเซอร์ SHT3x โดยใช้ขั้วต่อ XH2.54-4P ตัวผู้พร้อมสายไฟ (ลิงก์ที่รายการชิ้นส่วน) เพียงเชื่อมต่อทุกอย่างตามที่ควรจะเป็น: VCC ถึง VCC, GND ถึง GND, SDA ถึง SDA และ SCL ถึง SCL ?

ขณะนี้ในการตั้งค่าของฉัน เซ็นเซอร์แขวนอยู่นอกกล่องเครื่องลดความชื้น ขึ้นอยู่กับคุณว่าจะวางเซ็นเซอร์ไว้ที่ใด/อย่างไร แต่ในกรณีของเครื่องลดความชื้น ความชื้น/น้ำที่จับได้อาจส่งผลต่อการอ่านเซ็นเซอร์! ?

GPIO Pinout

หากคุณต้องการใช้เฟิร์มแวร์ของคุณเอง นี่คือพินเอาต์:

  • ปุ่ม - GPIO0 (D3 บน wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 บน wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 บน wemos D1 mini)
  • LED GPIO2 ในตัว (D4 บน wemos D1 mini)
  • ไฟ LED แสดงการทำงาน - GPIO14 (D5 บน wemos D1 mini)
  • พัดลม - GPIO15 (D8 บน wemos D1 mini)
  • Peltier - GPIO12 (D6 บน wemos D1 mini)
  • เซ็นเซอร์ถังน้ำมัน - GPIO13 (D7 บน wemos D1 mini)

ขั้นตอนที่ 3: ตั้งค่าซอฟต์แวร์

การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์

คุณสามารถดาวน์โหลดเฟิร์มแวร์ได้จากหน้า GitHub ของฉัน

Windows

สำหรับ Windows คุณสามารถใช้ Firmware Download Tool อย่างเป็นทางการโดย Espressif!

การตั้งค่าที่อยู่แฟลช (0x2000) ขนาดแฟลช (4MB/32mbit) และโหมดแฟลช (DIO/QIO) เป็นขั้นตอนที่สำคัญมาก แต่การตั้งค่าเหล่านี้อาจเปลี่ยนแปลงได้ตามโมดูลที่คุณใช้! นอกจากนี้ ฉันขอแนะนำให้ลบแฟลชเมื่อคุณติดตั้งเฟิร์มแวร์ครั้งแรกก่อนที่จะอัปโหลดไฟล์.bin!

การตั้งค่า:

  • อัตราบอด 115200
  • ขนาดแฟลช 4MB หรือ 32mbit (ขึ้นอยู่กับโมดูลของคุณ)
  • โหมดแฟลช QIO (หรือ DIO ขึ้นอยู่กับโมดูลของคุณ)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40MHz

MacOS

สำหรับ MacOS คุณสามารถใช้เครื่องมือกะพริบนี้ได้!

  • การตั้งค่า: ลบแฟลช - ใช่ (เฉพาะในการติดตั้งครั้งแรก)
  • อัตราบอด 115200
  • ขนาดแฟลช 4MB หรือ 32mbit (ขึ้นอยู่กับโมดูลของคุณ)
  • โหมดแฟลช QIO (หรือ DIO ขึ้นอยู่กับโมดูลของคุณ)
  • ไฟล์: main.bin
  • 40MHz

แฟลชด้วยตนเอง

เราต้องติดตั้ง esptool.py บน Mac เพื่อให้สามารถแฟลชโมดูล ESP ได้ ในการทำงานกับ esptool.py คุณจะต้องติดตั้ง Python 2.7, Python 3.4 หรือ Python ที่ใหม่กว่าในระบบของคุณ เราขอแนะนำให้ใช้ Python เวอร์ชันล่าสุด ดังนั้นไปที่เว็บไซต์ของ Python และติดตั้งในคอมพิวเตอร์ของคุณ เมื่อติดตั้ง Python แล้ว ให้เปิดหน้าต่าง Terminal และติดตั้ง esptool.py รุ่นล่าสุดที่เสถียรด้วย pip:

pip ติดตั้ง esptool

หมายเหตุ: ด้วยการติดตั้ง Python บางอย่างคำสั่งอาจไม่ทำงานและคุณจะได้รับข้อผิดพลาด หากเป็นกรณีนี้ ให้ลองติดตั้ง esptool.py ด้วย:

pip3 ติดตั้ง esptool python -m pip ติดตั้ง esptool pip2 ติดตั้ง esptool

หลังจากติดตั้ง คุณจะมี esptool.py ติดตั้งอยู่ในไดเร็กทอรี Python executables ที่เป็นค่าเริ่มต้น และคุณจะสามารถเรียกใช้มันได้ด้วยคำสั่ง esptool.py ในหน้าต่าง Terminal ของคุณ ให้รันคำสั่งต่อไปนี้:

esptool.py

ด้วยการติดตั้ง esptool.py บนคอมพิวเตอร์ของคุณ คุณสามารถแฟลชบอร์ด ESP8266 ด้วยเฟิร์มแวร์ได้อย่างง่ายดาย ขั้นแรกคุณต้องดาวน์โหลดไฟล์ bin สามไฟล์: rboot.bin และ blank_config.bin และรุ่นล่าสุด rboot.bin มี bootloader สำหรับ ESP8266 และ blank_config.bin ในไฟล์ปรับแต่งเปล่าและ ledstrip.bin มีเฟิร์มแวร์ ตอนนี้เชื่อมต่ออุปกรณ์ของคุณกับอะแดปเตอร์ FTDI ในโหมดแฟลช

ในการเปิดใช้งานเฟิร์มแวร์ ESP8266 จะต้องดึงพิน GPIO0 ที่กระพริบของเฟิร์มแวร์ให้ต่ำในขณะที่เปิดเครื่อง ด้วย PCB ที่กำหนดเองของฉัน มีปุ่ม ซึ่งคุณต้องกดค้างไว้ในขณะที่เชื่อมต่ออะแดปเตอร์ FTDI กับพีซีของคุณ ในทางกลับกัน สำหรับการบู๊ตปกติ GPIO0 จะต้องดึงให้สูงหรือลอยตัว เริ่มใน FLASH MODE ไปที่ไดเร็กทอรีที่คุณสร้างไว้ซึ่งคุณใส่ไฟล์ rboot.bin blank_config.bin ที่ดาวน์โหลดไว้ก่อนหน้านี้ (เช่น ดาวน์โหลด) เปิดแอป Terminal คลิกไอคอน Finder ในท่าเรือของคุณ คลิกไป คลิกยูทิลิตี้ คลิกสองครั้งที่เทอร์มินัล

เปลี่ยนเป็นไดเร็กทอรีดาวน์โหลด

หมายเหตุ: หากคุณใช้ไลบรารีอื่นเพื่อจัดเก็บไฟล์.bin สามไฟล์ ให้ไปที่ไลบรารีนั้นโดยใช้คำสั่ง `cd`: ใช้ esptool.py เพื่อแฟลชอุปกรณ์ของคุณ

ดาวน์โหลดซีดี

คุณจะต้องใช้อะแดปเตอร์ USB TTL เพื่อเชื่อมต่อกับ ESP8266 หากคุณใช้เฉพาะ Wemos D1 Mini ต้องใช้สาย microUSB แสดงว่า Wemos มีอะแดปเตอร์ TTL ในตัว

เมื่อติดตั้งเฟิร์มแวร์ครั้งแรก เราจำเป็นต้องลบแฟลช:

esptool.py -p /dev/ Erase_flash

โดยปกติ ESPPort ของคุณจะมีลักษณะดังนี้ /dev/cu.usbserial-`xxxxxx` จากนั้น ตั้งค่าอุปกรณ์ของคุณในโหมดแฟลชอีกครั้ง และแฟลชเฟิร์มแวร์ใหม่:

esptool.py -p /dev/cu.wchusbserial1420 --baud 115200 write_flash -fs 32m -fm dio -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 main.bin

การตั้งค่า Wi-Fi และ HomeKit

การตั้งค่า Wi-Fi

คุณต้องกำหนดค่าเครือข่าย wifi ก่อนเพิ่มอุปกรณ์เสริมไปยัง HomeKit ในการกำหนดการตั้งค่า Wi-Fi อุปกรณ์จะสร้าง Wi-Fi ของตัวเองในโหมด AP คุณต้องเชื่อมต่อเพื่อตั้งค่าเครือข่าย Wi-Fi ของคุณ เพียงนำอุปกรณ์ iOS ของคุณไปที่การตั้งค่า -> Wi-Fi แล้วค้นหา SSID ชื่อ HomeKid ตามด้วยที่อยู่ MAC ของโมดูลและเชื่อมต่อ เพื่อความปลอดภัย AP ได้รับการปกป้องด้วยรหัสผ่าน!

รหัสผ่าน AP เริ่มต้น: 12345678

รอสักครู่จนกว่าเว็บจะปรากฏขึ้นเพื่อแสดงเครือข่าย Wi-Fi ทั้งหมดที่อุปกรณ์พบ เลือกของคุณและป้อนรหัสผ่าน! จากนั้นคลิกปุ่มเข้าร่วม! โมดูลจะพยายามเชื่อมต่อเครือข่าย Wi-Fi ที่เลือก ซึ่งจะใช้เวลาสองสามวินาที

หมายเหตุ: หากรหัสผ่านที่ระบุไม่ถูกต้อง คุณสามารถรีเซ็ตการตั้งค่า Wi-Fi ได้โดยกดปุ่มค้างไว้ 10 วินาที

การตั้งค่า HomeKit

ในอุปกรณ์ iOS ของคุณ ให้เปิดแอพ Home และทำตามขั้นตอนปกติเพื่อเพิ่มอุปกรณ์เสริมใหม่ การตั้งค่าการจับคู่ใช้เวลาประมาณ 30 วินาที

รหัส HomeKit คือ 586-84-417

นอกจากนี้คุณยังสามารถสแกนรหัส QR HomeKit นี้

หมายเหตุ: หากการจับคู่ล้มเหลว คุณสามารถยกเลิกการจ่ายไฟให้อุปกรณ์ เปิดเครื่องใหม่ และเริ่มการตั้งค่า HomeKit อีกครั้ง (การตั้งค่า WiFi ยังคงได้รับการกำหนดค่าไว้) หลังจากจับคู่สำเร็จแล้ว ไฟ LED แสดงการทำงานจะกะพริบเป็นสีขาว 3 ครั้ง!

ขั้นตอนที่ 4: การเชื่อมต่อ PCB

การเชื่อมต่อ PCB
การเชื่อมต่อ PCB
การเชื่อมต่อ PCB
การเชื่อมต่อ PCB

สำหรับการออกแบบ PCB ฉันได้เลือกตัวเชื่อมต่อเดียวกันกับตัวเชื่อมต่อบน PCB ดั้งเดิม! ?

ดังนั้นขั้นตอนนี้ควรตรงไปตรงมา:

  • ต่อพัดลมเข้ากับขั้วต่อพัดลม
  • เชื่อมต่อ TEC (โมดูล peltier) กับขั้วต่อที่เกี่ยวข้อง
  • เชื่อมต่อขั้วต่อสายไฟ 5 พินกับขั้วต่อที่เกี่ยวข้อง
  • เชื่อมต่อโมดูล SHT3x กับขั้วต่อของตัวเอง

ขั้นตอนที่ 5: นำมันมารวมกัน

เอามารวมกัน
เอามารวมกัน
เอามารวมกัน
เอามารวมกัน

การประกอบอุปกรณ์เข้าด้วยกันเป็นกระบวนการเดียวกับการถอดประกอบในลำดับที่กลับกัน ?

ขั้นตอนที่ 6: หมายเหตุที่เป็นประโยชน์ ?

หมายเหตุที่เป็นประโยชน์ ?
หมายเหตุที่เป็นประโยชน์ ?

เครื่องลดความชื้นมีคุณสมบัติด้านความปลอดภัยบางอย่างเมื่อถังเต็มและอุปกรณ์กำลังทำงาน:

  • ปิดเครื่อง Fan/Peltier โดยอัตโนมัติจนกว่าถังจะว่างเปล่า
  • เปิดไฟ LED สีแดงทันที
  • ไฟ LED กะพริบ 3 ครั้งทุกๆ 30 วินาที

นอกจากนี้ยังมีคุณสมบัติด้านความปลอดภัยในกรณีที่เซ็นเซอร์ SHT3x ทำงานไม่ถูกต้อง:

  • ปิดเครื่อง Fan/Peltier โดยอัตโนมัติจนกว่าถังจะว่างเปล่า
  • การตั้งค่าความชื้นปัจจุบันเป็น 0%
  • ไฟ LED กะพริบ 2 ครั้งทุกๆ 30 วินาที

เมื่อทั้ง SHT3x มีข้อผิดพลาดและถังเต็ม ไฟ LED แสดงการทำงานจะกะพริบ 6 ครั้งทุกๆ 30 วินาที

ใน ESP8266 มีข้อผิดพลาดบางอย่างที่คุณไม่จำเป็นต้องถอดปลั๊กอุปกรณ์จากแหล่งจ่ายไฟ การกดปุ่มสามครั้งจะเป็นการรีบูต ESP8266!

เมื่อเปิดเครื่องลดความชื้นและความชื้นในปัจจุบันมีค่าเท่ากันและ/หรือน้อยกว่าความชื้นเป้าหมาย อุปกรณ์จะเข้าสู่โหมดปกติ ในแอพ Home จะแสดง "Set to …" เมื่ออุปกรณ์ไม่ทำงานและแสดง "Lowering to…" เมื่อทำงาน!

กำลังอัปเดตเฟิร์มแวร์

ฉันได้วางแผนที่จะใช้การอัปเดตเฟิร์มแวร์แบบ Over-The-Air (OTA) แต่ก็ไม่น่าเชื่อถือดังนั้นการอัปเดตควรทำด้วยตนเองเหมือนในการตั้งค่าครั้งแรก! ข้อแตกต่างเพียงอย่างเดียวคือ คุณไม่จำเป็นต้องลบแฟลช เพียงแค่แฟลชเฟิร์มแวร์ที่ใหม่กว่าโดยไม่ต้องลบ มันจะรักษาการตั้งค่า Wi-Fi / HomeKit ของคุณไว้! ?

แนะนำ: