Mục lục:
- Bước 1: Mô tả Bộ điều nhiệt Ethernet
- Bước 2: Giao diện web
- Bước 3: Các trang HTML đang chạy trên máy chủ trang web, sơ đồ, mã nguồn
Video: Bộ điều nhiệt trong phòng - Arduino + Ethernet: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Về phần cứng, dự án sử dụng:
- Arduino Uno / Mega 2560
- Tấm chắn Ethernet Wiznet W5100 / Mô-đun Ethernet Wiznet W5200-W5500
- Cảm biến nhiệt độ DS18B20 trên xe buýt OneWire
- Rơ le SRD-5VDC-SL-C dùng để chuyển mạch nồi hơi
Bước 1: Mô tả Bộ điều nhiệt Ethernet
Arduino là một nền tảng giả lập tiện dụng có thể được sử dụng, chẳng hạn như để xây dựng một bộ điều nhiệt trong phòng, mà chúng tôi sẽ giới thiệu hôm nay. Máy điều nhiệt có thể truy cập được từ mạng LAN nơi đặt nó, trong khi nó được trang bị giao diện web được sử dụng để định cấu hình tất cả các phần tử của máy điều nhiệt. Giao diện web chạy trực tiếp trên Arduino ở chế độ máy chủ web. Máy chủ web cho phép chạy một số trang HTML độc lập, có thể chứa nhiều thông tin hoặc thậm chí là chức năng. Máy chủ web chạy trên cổng 80 -
Rơ le điện từ SRD-5VDC-SL-C, được sử dụng trong dự án, cho phép chuyển mạch lên đến 10A ở 230V - công suất 2300W. Trong trường hợp chuyển mạch DC (tải) có thể chuyển mạch 300W (10A ở 30V DC). Ngoài ra, rơ le OMRON G3MB-202P SSR hoàn toàn tương thích với sơ đồ đấu dây, chỉ phù hợp với tải không cảm ứng và dành riêng cho mạch xoay chiều. Công suất chuyển đổi tối đa 460W (230V, 2A). Mức tiêu thụ của Arduino với lá chắn Ethernet và các thiết bị ngoại vi khác ở mức 100-120mA với rơ le mở. Khi đóng, dưới 200mA ở nguồn 5V.
Bước 2: Giao diện web
Giao diện web cho bộ điều nhiệt cho phép:
- Xem nhiệt độ thời gian thực từ cảm biến DS18B20
- Xem trạng thái chuyển tiếp thời gian thực với thay đổi đầu ra động trên trang
- Điều chỉnh nhiệt độ mục tiêu (tham chiếu) trong phạm vi từ 5 đến 50 ° C với bước 0,25 ° C
- Điều chỉnh độ trễ trong khoảng 0 đến 10 ° C với bước 0,25 ° C
Giao diện web được thiết kế để phù hợp với màn hình lớn hơn và nhỏ hơn. Nó đáp ứng, hỗ trợ màn hình rộng độ nét cao, mà còn cả các thiết bị di động. Giao diện sử dụng các kiểu CSS đã nhập của khung Bootstrap từ máy chủ CDN bên ngoài, máy chủ này sẽ tải thiết bị phía máy khách khi mở một trang chạy trên Arduino. Bởi vì Arduino Uno bị giới hạn bộ nhớ, nó chỉ có thể chạy các trang có kích thước vài kB. Bằng cách nhập các kiểu CSS từ máy chủ bên ngoài, nó sẽ làm giảm hiệu suất và tải bộ nhớ của Arduino. Việc triển khai phần mềm (cho Arduine Uno) sử dụng 70% bộ nhớ flash (32kB - 4kB Bootloader) và 44% bộ nhớ RAM (2kB).
Các phần tĩnh của trang web (đầu trang và chân trang của tài liệu HTML, liên kết CSS Bootstrap, thẻ meta, tiêu đề phản hồi HTTP, Loại nội dung, biểu mẫu, v.v.) được lưu trữ trực tiếp trong bộ nhớ flash của Arduino, có thể giảm đáng kể lượng RAM được sử dụng cho người dùng -nội dung được tạo ra. Do đó, máy chủ web ổn định hơn và có thể xử lý đa kết nối của một số thiết bị trong mạng cùng một lúc.
Để giữ các giá trị đã đặt ngay cả sau khi mất điện, chúng được lưu trữ trong bộ nhớ EEPROM của Arduino. Nhiệt độ tham chiếu để bù 10, độ trễ để bù 100. Mỗi giá trị chiếm tối đa 5B trong bộ nhớ EEPROM. Giới hạn phiên mã EEPROM là ở mức 100.000 bản sao. Dữ liệu chỉ được ghi đè khi biểu mẫu HTML được gửi. Trong trường hợp thiết bị không có gì được lưu trữ trên các hiệu số EEPROM được đề cập ở lần khởi động đầu tiên, việc ghi tự động sẽ được thực hiện với các giá trị mặc định - tham chiếu: 20,25, độ trễ 0,25 ° C
Thẻ meta Làm mới làm mới toàn bộ trang Arduino cứ sau 10 giây. Lúc này, cần phải viết thay đổi cho bộ điều nhiệt, nếu không, các cửa sổ đầu vào sẽ được đặt lại khi trang được làm mới. Vì thư viện Ethernet không bao gồm việc sử dụng máy chủ web không đồng bộ, toàn bộ trang phải được viết lại. Dữ liệu động chủ yếu thay đổi là giá trị hiện tại của đầu ra - Bật / Tắt.
Bước 3: Các trang HTML đang chạy trên máy chủ trang web, sơ đồ, mã nguồn
Các trang HTML chạy trên Arduino:
- / - trang gốc chứa biểu mẫu, danh sách đầu ra logic hiện tại cho rơ le, nhiệt độ
- /action.html - xử lý các giá trị từ biểu mẫu, ghi chúng vào bộ nhớ EEPROM, chuyển hướng người dùng trở lại trang gốc
- / get_data / - phân phối dữ liệu về nhiệt độ hiện tại, nhiệt độ tham chiếu và độ trễ cho bên thứ ba (máy tính, vi điều khiển, máy khách khác…) ở định dạng JSON
Ngoài ra còn có phiên bản mở rộng của bộ điều nhiệt này bao gồm:
- Chế độ thủ công cho rơ le (không giới hạn thời gian, BẬT / TẮT cứng)
- Bộ đếm thời gian cho cơ quan giám sát
- Có sẵn nhiều cảm biến hơn, ví dụ: SHT21, SHT31, DHT22, BME280, BMP280 và những cảm biến khác
- Chế độ làm mát
- Điều khiển và cấu hình qua RS232 / UART độc lập với Ethernet
- Kiểm soát nhiệt độ PID cho bộ điều nhiệt
- Khả năng sử dụng các nền tảng ESP8266, ESP32 cho bộ điều nhiệt
Việc triển khai chương trình cho dự án có thể được tìm thấy tại: https://github.com/martinius96/termostat-ethernet/ Việc triển khai chứa các chương trình cho địa chỉ IPv4 tĩnh / động được gán cho lá chắn Ethernet.
Bộ điều nhiệt chỉ dành cho nhiệt độ trong nhà! (trên 0 ° C), mà logic hệ thống được điều chỉnh. Có thể thay thế bộ điều nhiệt hiện tại trong phòng bằng bộ điều nhiệt, có thể tạm thời thay thế bộ điều nhiệt trong tủ lạnh, duy trì nhiệt độ không đổi trong hồ cạn và những thứ tương tự.
Đề xuất:
Thiết lập Raspberry Pi 4 thông qua máy tính xách tay / máy tính bằng cáp Ethernet (Không có màn hình, Không có Wi-Fi): 8 bước
Thiết lập Raspberry Pi 4 thông qua máy tính xách tay / máy tính bằng cáp Ethernet (Không có màn hình, không có Wi-Fi): Trong phần này, chúng tôi sẽ làm việc với Raspberry Pi 4 Model-B RAM 1Gb để thiết lập. Raspberry-Pi là một máy tính bảng đơn được sử dụng cho mục đích giáo dục và các dự án tự làm với chi phí hợp lý, yêu cầu nguồn điện 5V 3A
Cách tạo cáp Ethernet: 5 bước
Cách tạo cáp Ethernet: Xin chào! Hôm nay chúng ta sẽ học cách làm cáp ethernet tiêu chuẩn công nghiệp của riêng bạn! Cái nào sẽ có thể giúp bạn tiết kiệm tiền khi cần đến dây cáp! Vậy tại sao tôi có đủ tư cách để dạy bạn? Chà, tôi là một chuyên gia CNTT, tôi đã dành 2
Tự làm đầu phun PoE Ethernet 10 / 100M: 6 bước
Tự làm đầu phun PoE Ethernet 10 / 100M: Sau đây, chúng tôi sẽ tạo ra một đầu cắm PoE đơn giản phù hợp với mạng ethernet 10 / 100M, cũng có thể được cấp nguồn trực tiếp bằng pin
MCP23017 Điều khiển GPIO qua Ethernet: 5 bước
MCP23017 Điều khiển GPIO Qua Ethernet: Điều khiển MCP23017 IO-Extender qua ethernet sử dụng Cầu cảm biến và bảng ngắt MCP23017. Các lệnh được gửi bằng tập lệnh Python, URL trình duyệt hoặc bất kỳ hệ thống nào có khả năng giao tiếp HTTP. Có thể được tích hợp vào Home Assistant để tự động hóa gia đình
Tự động hóa nhà điều khiển bằng giọng nói (như Alexa hoặc Google Home, không cần Wifi hoặc Ethernet): 4 bước
Tự động hóa nhà điều khiển bằng giọng nói (như Alexa hoặc Google Home, không cần Wifi hoặc Ethernet): Về cơ bản, nó là rơ le điều khiển arduino dựa trên SMS với thiết lập trợ lý Google để gửi tin nhắn hướng dẫn bằng giọng nói. Nó rất dễ dàng và rẻ tiền và hoạt động giống như quảng cáo Alexa với của bạn các thiết bị điện hiện có (nếu bạn có Moto -X smartp