Mục lục:

Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình: 9 bước (có hình ảnh)
Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình: 9 bước (có hình ảnh)

Video: Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình: 9 bước (có hình ảnh)

Video: Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình: 9 bước (có hình ảnh)
Video: Giới thiệu về IoT siêu dễ hiểu. Học và làm việc trong ngành IoT ra sao? 2024, Tháng bảy
Anonim
Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình
Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình
Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình
Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình
Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình
Bộ hẹn giờ thông minh IoT ESP8266-01 cho tự động hóa gia đình

CẬP NHẬT

2018-09-30: Cập nhật chương trình cơ sở lên Phiên bản 1.09. Hiện đã có hỗ trợ Sonoff Basic

2018-10-01: Bản dùng thử Firmware Phiên bản 1.10 có sẵn để thử nghiệm trên ESP8266-01 có vấn đề

Với các từ thông dụng mới là Internet vạn vật (IoT) và Tự động hóa gia đình, tôi quyết định xem xét các mặt hàng hiện tại trong và xung quanh nhà mình được điều khiển thông qua một số loại thiết bị. Các mục nổi bật, là:

  • Máy bơm bể bơi
  • Máy làm đầy nước bể bơi
  • Hồ bơi và đèn xung quanh
  • Đèn tủ hệ thống TV / Giải trí

Vật dụng phổ biến được sử dụng để điều khiển các thiết bị này là bộ hẹn giờ cắm tường tiêu chuẩn. Mỗi thiết bị được trang bị bộ hẹn giờ riêng và tất cả đều được đặt ở các vị trí khác nhau. Vậy tại sao tôi lại chọn những mục này để bắt đầu với các dự án Internet of Things hoặc Home Automation, bạn có thể hỏi?

Chà, sống ở Nam Phi, có nghĩa là mất điện là chuyện thường xuyên xảy ra. Thống kê nhà tôi bị mất điện 35 lần trong năm qua, tổng cộng là 40 giờ. Đây thường không phải là vấn đề vì tất cả các bộ hẹn giờ được cài đặt hiện tại đều được trang bị pin dự phòng để giữ thời gian khi mất điện. Nhưng có một số vấn đề:

  • Những pin dự phòng này chỉ sử dụng được một hoặc hai năm, sau đó bộ hẹn giờ phải được thay thế. Các bộ hẹn giờ được cấu tạo sao cho bộ hẹn giờ cần được phá hủy để có quyền truy cập vào pin Ni-Cad bên trong.
  • Mỗi lần mất điện, bộ hẹn giờ có pin bị lỗi cần được lập trình lại và cài đặt thời gian.
  • Vị trí vật lý của bộ hẹn giờ, khi được cắm vào ổ cắm trên tường, hầu như không thể đọc được màn hình LCD xem bộ hẹn giờ từ trên xuống. Điều này có nghĩa là bộ hẹn giờ cần được rút phích cắm, hoặc tôi phải nằm xuống sàn để đặt hoặc điều chỉnh bộ hẹn giờ sau khi mất điện.

Do các lý do trên, tôi quyết định thử nghiệm khả năng thay thế bộ hẹn giờ bằng Bộ hẹn giờ thông minh IoT, được kết nối với mạng gia đình cục bộ của tôi.

Ý tưởng là thiết kế một bộ đếm thời gian độc lập, có thể:

  • Tự động điều chỉnh thời gian hiện tại bằng cách sử dụng Internet (IoT)
  • Hoạt động mà không cần bất kỳ thao tác nào của người dùng (Thông minh)
  • Bật / Tắt đầu ra theo thời gian đã đặt (Hẹn giờ)
  • Có thể lập trình và điều khiển qua mạng (Tự động hóa tại nhà)

Bước 1: Thiết kế ESP8266-01

Thiết kế ESP8266-01
Thiết kế ESP8266-01
Thiết kế ESP8266-01
Thiết kế ESP8266-01

Thiết kế được thực hiện bằng cách sử dụng mô-đun WiFi ESP8266-01, vì đây là những gì tôi có sẵn. Ở dạng đơn giản nhất, ESP8266-01 có bốn chân I / O:

  • GPIO0
  • GPIO2
  • TX
  • RX

Chế độ tăng cường năng lượng ESP8266-01

Trạng thái logic của các chân I / O được sử dụng để xác định ESP8266-01 sẽ khởi động ở chế độ nào. Bước đầu tiên là xác định chân I / O nào có thể được sử dụng để điều khiển rơ le đầu ra.

  • Để bật nguồn bình thường, GPIO0 và GPIO2 phải được đặt ở mức logic CAO. Vì vậy, rõ ràng là hai chân này không thể được sử dụng như một đầu ra kỹ thuật số.
  • Chân Tx được đặt làm đầu ra khi bật nguồn và đầu ra được đặt ở mức cao. Chân Tx này cũng truyền một số dữ liệu nối tiếp trong quá trình bật nguồn. Do đó, chân này cũng không thể được sử dụng như một đầu ra.

Chân duy nhất còn lại là chân Rx. Chân này được đặt làm đầu vào khi bật nguồn và không cần phải kéo lên cao trong khi bật nguồn. Vì vậy, chân này là thích hợp nhất để được sử dụng như một chân đầu ra.

Khởi động

Để đảm bảo chế độ khởi động chính xác của ESP8266-01 trong khi khởi động nguồn, các chân sau được kéo lên cao bằng cách sử dụng điện trở 10K:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Điều này đảm bảo rằng thiết bị khởi động chính xác mỗi lần.

Rơ le đầu ra

RX là chân duy nhất thích hợp được sử dụng làm đầu ra. Do đó, chân này được sử dụng để điều khiển rơle đầu ra thông qua một bóng bán dẫn NPN. Điốt bánh đà tiêu chuẩn và điện trở cơ sở bóng bán dẫn đã được thêm vào.

Nút MODE / SET

Nút được kết nối với GPIO2 và khi nút được nhả ra, một điện trở 10K sẽ kéo GPIO2 lên cao. Khi nhấn nút, GPIO2 được kéo về 0V.

Nút này được sử dụng cho hai chức năng:

  • Thiết lập ban đầu để kết nối thiết bị với mạng WiFi cục bộ
  • Để điều khiển thủ công đầu ra trong các hoạt động bình thường

Đèn LED chỉ báo

Đèn LED được kết nối với GPIO0 và cho biết như sau:

  • Khi bật nguồn ban đầu, nhấp nháy NHANH để cho biết chế độ Thiết lập WiFi
  • Nhấp nháy chậm khi thời gian của thiết bị không được đặt
  • cho biết trạng thái Bật / Tắt rơ le đầu ra

Bước 2: Nguồn điện

Nguồn cung cấp năng lượng
Nguồn cung cấp năng lượng
Nguồn cung cấp năng lượng
Nguồn cung cấp năng lượng
Nguồn cung cấp năng lượng
Nguồn cung cấp năng lượng

Tôi sẽ sử dụng Bộ hẹn giờ thông minh IoT ở các mức điện áp khác nhau, do đó có hai tùy chọn cung cấp điện:

12 - 24V DC

Bộ chuyển đổi DC-DC được sử dụng phù hợp với nguồn cung cấp lên đến 28V DC. Đầu ra của bộ chuyển đổi có thể điều chỉnh và được đặt thành 5V. Điều này cần được thực hiện trước khi mô-đun ESP8266 được kết nối.

Một diode đã được thêm vào để bảo vệ chống phân cực ngược trên đầu vào nguồn cung cấp.

220V ACĐối với tùy chọn này, tôi đã có thể nhận được nguồn điện chuyển đổi chế độ 220V / 5V nhỏ trên eBay.

Bất kể điện áp đầu vào là bao nhiêu, Bộ hẹn giờ thông minh IoT cần hai nguồn điện:

Đường sắt 5V

Với cả hai tùy chọn, 5V DC được lấy từ nguồn điện ở chế độ chuyển mạch chứ không phải bộ điều chỉnh tuyến tính. Điều này có nghĩa là có nhiệt lượng tối thiểu được tạo ra bởi nguồn điện. 5V được sử dụng để điều khiển rơ le đầu ra

Đường sắt 3.3V

3.3V cho ESP8266-01 được lấy từ bộ điều chỉnh ASM1117 3.3. ASM1117 3.3 là một bộ điều chỉnh tuyến tính và có thể xử lý lên đến 500mA. Tuy nhiên, nhiệt lượng tạo ra sẽ được xác định bởi điện áp đầu vào ASM1117. Để giảm nhiệt, ASM1117 được cấp nguồn từ đường ray 5V.

Lọc tiếng ồn

Để giảm gợn sóng điện áp cho ESP8266-01, đường ray 3.3V được lắp với tụ điện 100 - 1000uf. Cả hai đường ray 5V và 3.3V cũng được bảo vệ khỏi nhiễu tần số cao bởi các tụ điện 0,1uf.

Bước 3: Lắp ráp bo mạch PC

Lắp ráp bảng PC
Lắp ráp bảng PC
Lắp ráp bảng PC
Lắp ráp bảng PC
Lắp ráp bảng PC
Lắp ráp bảng PC

Bảng PC được thiết kế bằng cách sử dụng phiên bản phần mềm miễn phí của Eagle. Đây là một bảng một mặt, có thể dễ dàng làm tại nhà bằng phương pháp truyền mực.

Khi Bo mạch PC đã được tạo xong, hãy lắp ráp Bo mạch PC theo thứ tự sau:

  • Hàn bộ điều chỉnh ASM1117 và ba thành phần SMD 0,1uf vào mặt hàn của bo mạch
  • Thêm jumper đơn vào thành phần của bảng
  • Hàn điện trở và điốt tại chỗ
  • Thêm tiêu đề cho mô-đun ESP8266-01
  • Thêm các chân tiêu đề cho đèn LED và nút
  • Thêm các thiết bị đầu cuối vít
  • Sử dụng các chân tiêu đề, kết nối bộ chuyển đổi DC / DC với bo mạch.
  • Hàn rơ le vào vị trí
  • Hoàn thiện bảng bằng cách hàn bóng bán dẫn và tụ điện 100uf.

Khi tất cả các thành phần đã được hàn vào bo mạch, hãy xác minh tất cả các điểm hàn và đảm bảo không có hiện tượng đoản mạch giữa các miếng đệm.

! ! ! LƯU Ý QUAN TRỌNG ! ! ! Để đảm bảo rằng Bo mạch PC có thể xử lý dòng điện lớn trên các tiếp điểm đầu ra, hãy bôi một lượng chất hàn vừa đủ vào các rãnh giữa các tiếp điểm rơle và đầu nối vít

Bước 4: Kiểm tra bo mạch PC

Kiểm tra Ban PC
Kiểm tra Ban PC

! ! ! Trước khi áp dụng quyền lực! ! !

Tháo mô-đun ESP8266-01 khỏi thiết bị. Điều này là để tránh quá nhiệt của bộ điều chỉnh ASM1117 trước khi nguồn cung cấp 5V được điều chỉnh.

Không có nhiều thử nghiệm có thể được thực hiện sau khi lắp ráp. Bước quan trọng nhất là đảm bảo các mức điện áp chính xác.

  • Áp dụng 12 - 24V DC cho thiết bị.
  • Đo điện áp đầu ra của bộ chuyển đổi DC / DC
  • Điều chỉnh đầu ra của bộ chuyển đổi thành từ 5,0 đến 5,5V.
  • Tiếp theo, đo nguồn cung cấp 3,3V.
  • Nếu nguồn cung cấp OK, hãy rút nguồn khỏi thiết bị

Bây giờ bạn có thể chèn mô-đun ESP8266-01 vào các tiêu đề được cung cấp.

! ! ! Ghi chú ! !

Sau khi bạn đã kiểm tra Bộ hẹn giờ IoT và nó đang hoạt động, hãy sử dụng sơn mài trong để che mặt hàn của Bo mạch PC. Điều này sẽ ngăn chặn quá trình oxy hóa các rãnh và cung cấp thêm lớp cách điện giữa các tiếp điểm rơle và phần còn lại của mạch

Bước 5: Bao vây

Bao vây
Bao vây
Bao vây
Bao vây
Bao vây
Bao vây

Vỏ ngoài không quan trọng lắm, miễn là bo mạch PC và tất cả hệ thống dây điện nằm gọn trong đó và an toàn.

Để giúp việc thi công dễ dàng hơn, tôi đã tạo một cáp có đèn LED và nút CHẾ ĐỘ / CÀI ĐẶT được kết nối với nó. Điều này giúp tôi linh hoạt hơn trong việc gắn đèn LED và nút vào vỏ. Cáp này sau đó được cắm vào tiêu đề trên PC Board.

Các bức ảnh cho thấy một trong những đơn vị 12V được sử dụng cho đèn LED.

Bước 6: Lập trình ESP8266-01 / NodeMCU

Lập trình ESP8266-01 / NodeMCU
Lập trình ESP8266-01 / NodeMCU
Lập trình ESP8266-01 / NodeMCU
Lập trình ESP8266-01 / NodeMCU
Lập trình ESP8266-01 / NodeMCU
Lập trình ESP8266-01 / NodeMCU

Để lập trình ESP8266-01, trước tiên bạn cần thiết lập Arduino IDE. Tôi không đi sâu vào chi tiết này, vì có rất nhiều Sách hướng dẫn tuyệt vời về chủ đề này. Tôi đã chọn các liên kết sau đây trên Bảng hướng dẫn để tham khảo, không có bất kỳ thứ tự cụ thể nào đối với các tác giả. Cảm ơn cho các tài liệu hướng dẫn cá nhân của họ.

Làm theo ESP8266 và Arduino IDE này để thiết lập Arduino IDE cho mô-đun ESP8266..

Tiếp theo, bạn sẽ cần một lập trình viên để lập trình ESP8266. Đây là hai liên kết:

Sử dụng Arduino Uno

Ban lập trình DIY

Thư viện

Bạn sẽ cần phải cài đặt các thư viện bổ sung để có thể biên dịch mã. Một lần nữa, hãy tham khảo Có thể hướng dẫn này:

Cài đặt và sử dụng thư viện Arduino

Tôi không thể nhớ mình đã phải cài đặt thư viện nào, nhưng tôi biết WiFiManager phải được tải xuống riêng biệt.. Tôi đã đưa chúng vào tệp Libraries.zip.

Bước 7: Thiết lập lần đầu tiên

Thiết lập lần đầu tiên
Thiết lập lần đầu tiên
Thiết lập lần đầu tiên
Thiết lập lần đầu tiên
Thiết lập lần đầu tiên
Thiết lập lần đầu tiên

Khi được sử dụng lần đầu tiên, Bộ hẹn giờ thông minh IoT cần được kết nối với mạng WiFi. Tác vụ này được thực hiện bằng thư viện WiFiManager, vì vậy không cần nhập SSID hoặc mật khẩu vào mã.

Làm theo một số bước sau:

  • Tăng sức mạnh cho thiết bị
  • Đèn LED sẽ bắt đầu nhấp nháy nhanh chóng
  • Nhấn nút CHẾ ĐỘ / CÀI ĐẶT
  • Khi đèn LED tắt, hãy nhả nút
  • Chờ vài giây, sau đó mở kết nối WiFi trên điện thoại thông minh hoặc thiết bị của bạn
  • Một mạng WiFi mới được gọi là Bộ hẹn giờ IoT sẽ hiển thị
  • Chọn điểm truy cập này
  • Đăng nhập vào Bộ hẹn giờ IoT (không cần mật khẩu)
  • Chờ cho đến khi thiết bị của bạn được kết nối với mạng Bộ hẹn giờ IoT
  • Mở bất kỳ trình duyệt internet nào
  • Trong thanh địa chỉ, nhập địa chỉ IP sau - 192.168.4.1
  • Bàn điều khiển WiFiManager sẽ mở
  • Chọn Định cấu hình WiFi
  • Một danh sách với các điểm mạng WiFi khả dụng sẽ được hiển thị
  • Chọn mạng WiFi được yêu cầu và nhập mật khẩu
  • Tiếp theo, nhập địa chỉ IP bạn muốn sử dụng để kết nối với Bộ hẹn giờ IoT
  • Nhập địa chỉ IP Cổng mặc định, theo sau là mặt nạ
  • Khi tất cả các cài đặt đã hoàn tất, hãy nhấp vào nút Lưu
  • Một cửa sổ mới sẽ mở ra để xác nhận thông tin đăng nhập mới đã được lưu
  • Đóng trình duyệt của bạn

Sau khi được lưu, mạng Bộ hẹn giờ IoT sẽ tắt và thiết bị sẽ cố gắng kết nối với mạng WiFi của bạn.

  • Kết nối điện thoại thông minh hoặc thiết bị của bạn với cùng một mạng WiFi được sử dụng cho Bộ hẹn giờ IoT.
  • Mở trình duyệt của bạn
  • Trong thanh địa chỉ, nhập địa chỉ IP của Bộ hẹn giờ IoT của bạn
  • Trang cấu hình của Bộ hẹn giờ IoT sẽ mở ra

Bộ hẹn giờ IoT của bạn hiện đã sẵn sàng để sử dụng

Bước 8: Thiết lập Bộ hẹn giờ IoT

Thiết lập bộ hẹn giờ IoT
Thiết lập bộ hẹn giờ IoT
Thiết lập bộ hẹn giờ IoT
Thiết lập bộ hẹn giờ IoT
Thiết lập bộ hẹn giờ IoT
Thiết lập bộ hẹn giờ IoT
Thiết lập bộ hẹn giờ IoT
Thiết lập bộ hẹn giờ IoT

Trang web tích hợp của Bộ hẹn giờ IoT bao gồm năm phần:

Trạng thái

Điều này hiển thị tên thiết bị, cũng như thời gian hiện tại và trạng thái đầu ra của bộ hẹn giờ

Ngoài ra, chế độ hoạt động của bộ hẹn giờ được đặt trong phần này. Có ba chế độ:

  • Tự động - Ngõ ra sẽ được điều khiển bởi các chương trình hẹn giờ khác nhau
  • Bật - Ngõ ra buộc phải BẬT, và sẽ vẫn bật cho đến khi chế độ được thay đổi
  • Tắt - Ngõ ra buộc phải TẮT, và sẽ tắt cho đến khi chế độ được thay đổi.

Các chương trình

Phần này chứa thời gian Bật và TẮT của bộ hẹn giờ. Có bảy chương trình có sẵn và mỗi chương trình có thể được thiết lập riêng lẻ.

Trước khi thay đổi chương trình tiếp theo, nhấn nút LƯU để lưu bất kỳ thay đổi nào đã thực hiện đối với chương trình hiện tại.

Chức năng nút

Nút MODE / SETUP có thể được sử dụng để điều khiển rơle đầu ra trong quá trình hoạt động bình thường. Tại đây, chọn những gì nút phải làm khi được nhấn.

Đánh dấu vào ô "Chức năng nút cập nhật" trước khi nhấn nút Lưu để lưu cài đặt mới.

Cấu hình

Tại đây, bạn có thể thay đổi tên của Bộ hẹn giờ IoT. Điều này giúp bạn dễ dàng xác định giữa nhiều bộ hẹn giờ.

Thời gian trên thiết bị được lấy từ internet thông qua máy chủ thời gian NTP. Để hiển thị thời gian chính xác, vui lòng cập nhật Múi giờ cho khu vực của bạn.

Nếu bạn muốn sử dụng một máy chủ thời gian NTP khác, hãy nhập địa chỉ IP mới vào không gian được cung cấp.

Đánh dấu vào ô "Cập nhật cấu hình" trước khi nhấn nút Lưu để lưu cài đặt mới.

GHI CHÚ

Khi thay đổi Múi giờ, thời gian mới sẽ chỉ được đặt chính xác trong lần truy vấn lần sau. Thiết bị được thiết lập để cập nhật thời gian 5 phút một lần.

Thời gian điều chỉnh

Đôi khi, nó xảy ra rằng máy chủ thời gian NTP không phản hồi trên mọi truy vấn thời gian. Nếu mất quá nhiều thời gian để đặt thông qua máy chủ NTP, bạn có thể nhập ngày giờ theo cách thủ công.

Đánh dấu vào ô "Cập nhật thời gian" trước khi nhấn nút Lưu để lưu ngày giờ mới.

Đồng bộ hóa thời gian

Phần cuối cùng của trang cho biết thời gian và ngày khi thời gian cuối cùng được đồng bộ hóa qua máy chủ thời gian NTP.

Đề xuất: