Mục lục:

Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266 ?: 6 bước (có Hình ảnh)
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266 ?: 6 bước (có Hình ảnh)

Video: Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266 ?: 6 bước (có Hình ảnh)

Video: Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266 ?: 6 bước (có Hình ảnh)
Video: ✨✨✨ Project 10 - Cửa ra vào quét thẻ từ - Nhà thông minh Smart Home - Lập trình Arduino 2024, Tháng mười một
Anonim
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266?
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266?
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266?
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266?
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266?
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266?
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266?
Máy hút ẩm Wi-Fi Apple HomeKit dựa trên ESP8266?

Thật không may, chỉ có một hoặc hai Máy hút ẩm trên mạng hỗ trợ Apple HomeKit, nhưng chúng có giá thực sự cao (300 USD +). Vì vậy, tôi đã quyết định sản xuất Máy hút ẩm Apple HomeKit có khả năng Wi-Fi của riêng mình dựa trên một cái giá rẻ mà tôi đã có?

Nó có thể hoạt động nguyên bản với HomeKit bằng cách sử dụng ESP8266 nên không cần homebridge, HAP-NodeJS! ?

Vì mã rất phức tạp và tôi đã sử dụng rất nhiều thư viện tùy chỉnh nên tôi đã tạo các tệp phần sụn được biên dịch trước. Đối với những người quan tâm đến việc tạo các dự án HomeKit bản địa, mã nguồn cho esp-homekit có sẵn tại đây. Nếu bạn không muốn sử dụng chương trình cơ sở của tôi, sơ đồ chân GPIO có sẵn bên dưới để bạn tạo một sơ đồ của riêng bạn?

Để biết thêm thông tin, hãy truy cập trang GitHub liên quan! ?

Đặc trưng:

  • Đo độ ẩm bằng cảm biến SHT3x
  • Thiết lập độ ẩm mục tiêu
  • Kiểm soát tốc độ quạt
  • Mức nước (thông qua đèn LED và tự động tắt nguồn khi Bể đầy)
  • Nút Nguồn / Đặt lại

Bộ phận PCB:

  • ESP12F / E / S
  • Máy hút ẩm XROW600B
  • SHT3x Temepreature / Cảm biến độ ẩm
  • Điện trở SMD 0805
  • Tụ điện SMD 0805
  • AMS1117-3.3
  • Nút xúc giác
  • Tiêu đề 1x4P 2,54mm (tùy chọn)
  • IRF540NS
  • Tụ điện 100uF SMD 10x10.5 50V
  • Tụ điện SMD 6x7 6, 3V 330uF
  • LM2575S-5.0
  • Cuộn cảm 330uH CRDH74
  • 1N4007 diode
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • LED 3MM màu đỏ / xanh lá cây
  • Miếng đệm nylon LED 3mm (chiều cao)
  • 4P Male XH2.54 với cáp (cho cảm biến độ ẩm)

Quân nhu

  • Máy hàn
  • Để tải lên mã, bạn có thể phải mua một bộ chuyển đổi TTL USB.
  • Để tháo rời Máy hút ẩm, bạn sẽ cần một số tua vít.
  • PCB tùy chỉnh
  • Máy hút ẩm XROW600B

Bước 1: Tháo rời

Tháo rời
Tháo rời
Tháo rời
Tháo rời
Tháo rời
Tháo rời

Để tháo rời Máy hút ẩm, điều duy nhất bạn cần là một tuốc nơ vít có thể vừa với các lỗ ở mặt sau của thiết bị! ?

  1. Vặn 2 vít ở dưới cùng của thiết bị
  2. Vặn 4 vít ở mặt sau của thiết bị
  3. Bây giờ bạn có thể tháo vỏ nhựa ra
  4. Rút mọi đầu nối trên PCB
  5. Vặn 2 vít giữ PCB

Bước 2: PCB tùy chỉnh

PCB tùy chỉnh
PCB tùy chỉnh
PCB tùy chỉnh
PCB tùy chỉnh
PCB tùy chỉnh
PCB tùy chỉnh
PCB tùy chỉnh
PCB tùy chỉnh

Tôi đã thiết kế một PCB tùy chỉnh có thể thay thế PCB ban đầu, rất cơ bản. Về cơ bản, nó chỉ là một bộ chuyển đổi cấp nguồn / bước xuống từ 12V sang 3,3V, hai MOSFET để điều khiển quạt và bộ chuyển đổi, bản thân ESP8266, hai đèn LED và nút xúc giác như trên bản gốc.

Tôi cũng đã thêm các đầu nối tương tự cho PCB mới như trên bản gốc và thêm một đầu nối 4 chân cho cảm biến Độ ẩm SHT3x. Nguồn điện 9V đi kèm với Máy hút ẩm cũng có thể được sử dụng! Tất cả mọi thứ là plug 'n' play?

Bạn có thể tìm thêm thông tin về PCB tại đây

Các tệp PCB có thể được tìm thấy tại PCBWay

Cảm biến độ ẩm SHT3x

Bạn phải nối dây cảm biến SHT3x bằng đầu nối XH2.54-4P đực với dây (được liên kết tại danh sách bộ phận) chỉ cần kết nối mọi thứ như nó phải có: VCC đến VCC, GND đến GND, SDA với SDA và SCL đến SCL ?

Hiện tại trong thiết lập của tôi, cảm biến chỉ được treo bên ngoài vỏ máy hút ẩm, tùy thuộc vào bạn ở vị trí / cách bạn đặt cảm biến nhưng bên trong hộp máy hút ẩm, độ ẩm / nước bị kẹt có thể ảnh hưởng đến việc đọc cảm biến! ?

GPIO Pinout

Nếu bạn muốn sử dụng chương trình cơ sở của riêng mình, hãy xem sơ đồ chân:

  • Nút - GPIO0 (D3 trên wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 trên wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 trên wemos D1 mini)
  • LED GPIO2 tích hợp (D4 trên wemos D1 mini)
  • Đèn LED nguồn - GPIO14 (D5 trên wemos D1 mini)
  • Quạt - GPIO15 (D8 trên wemos D1 mini)
  • Peltier - GPIO12 (D6 trên wemos D1 mini)
  • Cảm biến xe tăng - GPIO13 (D7 trên wemos D1 mini)

Bước 3: Thiết lập phần mềm

Thiết lập phần mềm
Thiết lập phần mềm
Thiết lập phần mềm
Thiết lập phần mềm
Thiết lập phần mềm
Thiết lập phần mềm

Bạn có thể tải xuống phần sụn từ trang GitHub của tôi

các cửa sổ

Đối với Windows, bạn có thể sử dụng Công cụ tải xuống chương trình cơ sở chính thức của Espressif!

Đặt địa chỉ flash (0x2000), kích thước flash (4MB / 32mbit) và chế độ flash (DIO / QIO) là bước rất quan trọng, nhưng các cài đặt này có thể thay đổi dựa trên mô-đun bạn đang sử dụng! Ngoài ra, tôi khuyên bạn nên xóa flash khi bạn cài đặt chương trình cơ sở lần đầu tiên trước khi tải lên các tệp.bin!

Cài đặt:

  • Tốc độ truyền 115200
  • Kích thước flash 4MB hoặc 32mbit (tùy thuộc vào mô-đun của bạn)
  • Chế độ Flash QIO (hoặc DIO, tùy thuộc vào mô-đun của bạn)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40MHz

Hệ điều hành Mac

Đối với MacOS, bạn có thể sử dụng công cụ nhấp nháy này!

  • Cài đặt: Xóa flash - có (chỉ khi cài đặt lần đầu)
  • Tốc độ truyền 115200
  • Kích thước flash 4MB hoặc 32mbit (tùy thuộc vào mô-đun của bạn)
  • Chế độ Flash QIO (hoặc DIO, tùy thuộc vào mô-đun của bạn)
  • Tệp: main.bin
  • 40MHz

Flash thủ công

Chúng tôi phải cài đặt esptool.py trên máy Mac của mình để có thể cài đặt mô-đun ESP của chúng tôi. Để làm việc với esptool.py, bạn sẽ cần Python 2.7, Python 3.4 hoặc bản cài đặt Python mới hơn trên hệ thống của mình. Chúng tôi khuyên bạn nên sử dụng phiên bản Python mới nhất, vì vậy hãy truy cập trang web của Python và cài đặt nó vào máy tính của bạn. Với Python đã được cài đặt, hãy mở cửa sổ Terminal và cài đặt bản phát hành esptool.py ổn định mới nhất bằng pip:

pip cài đặt esptool

Lưu ý: với một số cài đặt Python, lệnh có thể không hoạt động và bạn sẽ gặp lỗi. Nếu đúng như vậy, hãy thử cài đặt esptool.py bằng:

pip3 cài đặt esptool python -m pip cài đặt esptool pip2 cài đặt esptool

Sau khi cài đặt, bạn sẽ cài đặt esptool.py vào thư mục tệp thực thi Python mặc định và bạn sẽ có thể chạy nó bằng lệnh esptool.py. Trong cửa sổ Terminal của bạn, hãy chạy lệnh sau:

esptool.py

Với esptool.py được cài đặt trên máy tính của bạn, bạn có thể dễ dàng cài đặt bảng ESP8266 của mình với phần sụn. Lúc đầu, bạn cần tải xuống ba tệp bin: rboot.bin và blank_config.bin và bản phát hành mới nhất. Rboot.bin chứa bộ nạp khởi động cho ESP8266 và blank_config.bin chỉ trong một tệp cấu hình trống và ledstrip.bin chứa phần sụn. Bây giờ hãy kết nối thiết bị của bạn với bộ điều hợp FTDI ở chế độ flash.

Để bật phần mềm ESP8266 nhấp nháy, chân GPIO0 phải được kéo xuống thấp trong khi cấp nguồn cho thiết bị. Với PCB tùy chỉnh của tôi, có một nút, bạn cần nhấn và giữ trong khi kết nối bộ điều hợp FTDI với PC của mình. Ngược lại, để khởi động bình thường, GPIO0 phải được kéo lên cao hoặc thả nổi. Bắt đầu ở CHẾ ĐỘ FLASH Chuyển đến thư mục bạn đã tạo nơi bạn đặt các tệp rboot.bin blank_config.bin đã tải xuống trước đó (ví dụ: Tải xuống) Mở ứng dụng Terminal. Nhấp vào biểu tượng Finder trong thanh công cụ của bạn. Nhấp vào Bắt đầu. Nhấp vào Tiện ích. Bấm đúp vào Thiết bị đầu cuối.

Thay đổi thư mục tải xuống.

Lưu ý: Nếu Bạn đang sử dụng một thư viện khác để lưu trữ ba tệp.bin, hãy điều hướng vào thư viện đó bằng lệnh `cd`: Sử dụng esptool.py để flash thiết bị của bạn.

tải cd

Bạn sẽ cần một bộ chuyển đổi TTL USB để kết nối với ESP8266. Nếu Bạn chỉ cần sử dụng Wemos D1 Mini là cáp microUSB, thì Wemos đã tích hợp sẵn bộ điều hợp TTL.

Khi lần đầu tiên cài đặt chương trình cơ sở, chúng ta cần xóa đèn flash:

esptool.py -p / dev / delete_flash

Thông thường, ESPPort của bạn sẽ có dạng như / dev / cu.usbserial-`xxxxxx`. Sau đó, đặt lại thiết bị của bạn ở chế độ flash và cài đặt chương trình cơ sở mới:

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

Thiết lập Wi-fi và HomeKit

Thiết lập Wi-Fi

Bạn phải cấu hình mạng wifi trước khi thêm phụ kiện vào HomeKit. Để định cấu hình cài đặt Wi-Fi, thiết bị sẽ tạo Wi-Fi riêng ở chế độ AP. Bạn phải kết nối với nó để thiết lập mạng Wi-Fi của mình. Chỉ cần lấy thiết bị iOS của bạn, đi tới Cài đặt -> Wi-Fi và tìm kiếm SSID có tên HomeKid, theo sau là địa chỉ MAC của mô-đun và kết nối với nó. Vì lý do bảo mật, AP được bảo vệ bằng mật khẩu!

Mật khẩu AP mặc định: 12345678

Chờ vài giây cho đến khi một trang web xuất hiện hiển thị cho bạn tất cả các mạng Wi-Fi mà thiết bị đã tìm thấy. Chọn của bạn và nhập mật khẩu! Sau đó bấm vào nút Tham gia! Mô-đun sẽ cố gắng kết nối mạng Wi-Fi đã chọn, quá trình này sẽ mất vài giây.

Lưu ý: Nếu mật khẩu đã cho là sai, bạn có thể Đặt lại cài đặt Wi-fi bằng cách giữ nút trong 10 giây

Thiết lập HomeKit

Trong thiết bị iOS của bạn, hãy mở Ứng dụng Home và làm theo các bước bình thường để thêm phụ kiện mới. Quá trình thiết lập ghép nối mất khoảng 30 giây.

Mã HomeKit là 586-84-417

Ngoài ra Bạn có thể quét mã QR HomeKit này.

Lưu ý: Nếu ghép nối không thành công, bạn có thể hủy cấp nguồn cho thiết bị của mình, cấp nguồn lại và bắt đầu thiết lập lại HomeKit (cài đặt Wi-Fi được giữ nguyên cấu hình). Sau khi ghép nối thành công, đèn LED Nguồn sẽ nhấp nháy màu trắng 3 lần!

Bước 4: Kết nối PCB

Kết nối PCB
Kết nối PCB
Kết nối PCB
Kết nối PCB

Đối với thiết kế PCB, tôi đã chọn các đầu nối giống như các đầu nối trên PCB ban đầu! ?

Vì vậy, bước này nên đơn giản:

  • Kết nối Quạt với đầu nối Quạt
  • Kết nối TEC (mô-đun peltier) với đầu nối tương ứng
  • Kết nối đầu nối Nguồn 5 pin với đầu nối tương ứng
  • Kết nối mô-đun SHT3x với đầu nối của riêng nó

Bước 5: Kết hợp nó lại với nhau

Kết hợp nó lại với nhau
Kết hợp nó lại với nhau
Kết hợp nó lại với nhau
Kết hợp nó lại với nhau

Đặt thiết bị lại với nhau có giống như quá trình tháo rời chỉ theo thứ tự ngược lại?

Bước 6: Ghi chú hữu ích?

Ghi chú hữu ích?
Ghi chú hữu ích?

Máy hút ẩm có một số tính năng an toàn khi Bể đầy và thiết bị đang chạy:

  • Tự động tắt Quạt / Peltier cho đến khi bể chứa hết
  • Bật ngay đèn LED màu đỏ
  • Nhấp nháy đèn LED nguồn 3 lần sau mỗi 30 giây

Cũng có tính năng an toàn trong trường hợp cảm biến SHT3x không hoạt động bình thường:

  • Tự động tắt Quạt / Peltier cho đến khi bể chứa hết
  • Đặt độ ẩm hiện tại thành 0%
  • Nhấp nháy đèn LED nguồn 2 lần sau mỗi 30 giây

Khi cả SHT3x bị lỗi và bình đầy, đèn LED nguồn sẽ nhấp nháy 6 lần sau mỗi 30 giây.

Trong ESP8266 có một số lỗi bạn không cần phải rút thiết bị ra khỏi nguồn, nhấn ba lần vào nút sẽ khởi động lại ESP8266!

Khi Máy hút ẩm được bật và độ ẩm hiện tại bằng và / hoặc thấp hơn độ ẩm mục tiêu, thiết bị sẽ chuyển sang chế độ Chờ. Trong ứng dụng Home, nó sẽ hiển thị "Đặt thành…" khi thiết bị chạy không tải và hiển thị "Hạ xuống …" khi thiết bị đang chạy!

Cập nhật chương trình cơ sở

Tôi đã lên kế hoạch triển khai cập nhật firmware Over-The-Air (OTA) nhưng nó không đáng tin cậy lắm, vì vậy việc cập nhật nên được thực hiện theo cách thủ công như ở lần thiết lập đầu tiên! Sự khác biệt duy nhất là bạn không cần xóa flash, chỉ cần flash firmware mới hơn mà không xóa nó sẽ bảo toàn cài đặt Wi-Fi / HomeKit của bạn! ?

Đề xuất: