Mục lục:
Video: Nhiệt độ HRV đến OpenHAB Qua ESP8266 (Ví dụ về mã sê-ri!): 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:37
HRV - Không dây với OpenHAB
Hướng dẫn này dành riêng cho những người có hệ thống HRV (thông gió tuần hoàn sưởi ấm) - mặc dù các bộ phận của bảng mạch, cấu hình openhab hoặc mã Arduino (chẳng hạn như đọc dữ liệu nối tiếp TTL) có thể hữu ích cho các dự án của riêng bạn hoặc phục vụ tốt cho việc học. Nó giả sử bạn có kiến thức hợp lý về Arduino IDE và chip ESP8266 là gì.
Giới thiệu
Phần sau phác thảo cách xây dựng một ESP8266 kết nối với hệ thống HRV và gửi nhiệt độ mái nhà và nhà, nhiệt độ bảng điều khiển và tốc độ quạt qua tin nhắn MQTT tới OpenHAB. Điều này được thiết kế để hoạt động với bo mạch ESP8266-01 (mặc dù sẽ hoạt động với bất kỳ phiên bản ESP8266 3.3V nào) Nếu bạn có hệ thống loại HRV tương tự từ một nhà cung cấp thay thế, bạn sẽ cần xác định xem dữ liệu có được gửi dưới dạng TTL serial hay không và nếu có, cấu trúc dữ liệu được gửi dưới dạng.
OpenHAB và Mosquitto
Mã ESP8266 đã được viết đặc biệt để hoạt động với OpenHAB (phần mềm tự động hóa mã nguồn mở tại nhà) và một nhà môi giới MQTT như Mosquitto (một giao thức loại đăng ký / xuất bản tin nhắn nhẹ và tuyệt vời để giao tiếp giữa các thiết bị). các từ viết tắt khiến bạn sợ hãi, chúng thực sự khá đơn giản để sử dụng một khi bạn biết cách hoạt động của chúng. Tôi sử dụng OpenHAB trên NTC C. H. I. P (máy tính 9 đô la Mỹ) tuy nhiên nhiều người sử dụng Raspberry Pi hoặc tương tự. Hướng dẫn này giả sử bạn đã triển khai OpenHAB (nếu bạn cần trợ giúp thiết lập OpenHAB, hãy làm theo bài viết tuyệt vời này từ trang web makeuseof) Bạn cũng cần tải xuống và cài đặt Mosquitto (nhà môi giới MQTT) và liên kết OpenHAB liên quan. Bạn có thể cài đặt phần mềm này ở bất kỳ nơi nào khác trên mạng của mình, tuy nhiên hầu hết mọi người chỉ cài đặt phần mềm này trên cùng một máy như OpenHAB để đơn giản.
Để cài đặt Mosquitto, theo liên kết này, sau đó chọn loại thiết bị bạn đang sử dụng và làm theo hướng dẫn. Vì C. H. I. P chạy Debian (Jessie), bạn có thể làm theo hướng dẫn Raspberry Pi nếu đang sử dụng C. H. I. P cho thiết bị Tự động hóa gia đình của mình (cũng lưu ý, tốt nhất bạn nên định cấu hình lại CHIP để khởi động từ CLI. Có hướng dẫn cho việc này ở đây)
Khi bạn đã chạy OpenHAB và Mosquitto, bạn cần chuẩn bị Arduino IDE cho mã và mã ESP8266. Đầu tiên, bạn cần thêm thư viện "PubSubClient". Trong Arduino IDE, từ menu, đi tới Sketch, Bao gồm Thư viện, Quản lý Thư viện Trong hộp tìm kiếm của bộ lọc, nhập PubSubClient, sau đó đánh dấu kết quả tìm kiếm và nhấp vào Cài đặt (tại thời điểm viết bài, phiên bản mới nhất là 2.6.0) Bạn sẽ cũng cần thêm bo mạch ESP8266 vào Arduino IDE, điều này có thể được thực hiện bằng cách làm theo hướng dẫn tại đây
Cái này cho tôi cái gì?
Như đã nêu trước đó, dự án này sẽ cho phép bạn xem mái nhà, ngôi nhà, nhiệt độ bảng điều khiển HRV và tốc độ quạt của bạn trong OpenHAB GUI (trong thời gian thực!). sẽ nhận được bằng cách khoan xuống các nhiệt độ khác nhau.
Để có được các biểu đồ, bạn cũng sẽ cần cài đặt và định cấu hình ràng buộc RRD4J (điều này rất dễ hiểu) Điều này sẽ cho phép bạn nhấp vào 'Nhà' hoặc 'Mái nhà' và nhận lịch sử nhiệt độ HRV cho từng thứ trong quá khứ giờ, ngày hoặc tuần (hoặc lâu hơn, nếu bạn thay đổi cấu hình cho phù hợp) Các hình ảnh hiển thị ở độ C và rõ ràng là mùa đông của nó ở Nam bán cầu khi tôi thực hiện điều này!
Ngoài ra, tôi đã tạo chế độ xem OpenHAB hiển thị so sánh giữa nhiệt độ bên ngoài (được cung cấp bởi tiện ích bổ sung ràng buộc Thời tiết, trong trường hợp của tôi là sử dụng Wunderground) so với nhiệt độ mái nhà và nhà bằng cách nhấp vào tùy chọn 'Kiểm soát' (hình ảnh hiển thị biểu đồ với ngôi nhà, mái nhà và nhiệt độ bên ngoài được vẽ). Tôi dự định sử dụng dữ liệu này trong các quy tắc để bật các thiết bị sưởi ấm theo yêu cầu. Chỉ cần thêm mục Thời tiết vào URL hình ảnh của bạn trong tệp sơ đồ trang web và đưa mục này vào cùng một biểu đồ (ví dụ:… items = houseTemp, máiTemp, weatherTemp…)
Bước 1: Các bộ phận cần thiết / Lắp ráp
Bạn sẽ cần những phần sau
- Bộ chia RJ11 (bộ chia này tách tín hiệu từ bộ điều khiển trên mái nhà, đến bảng điều khiển và ESP8266)
- Một số cáp ruy-băng và một phích cắm RJ11 (để chạy dây từ bộ chia đến ESP8266)
- ESP8266-01 (các phiên bản 3.3V khác sẽ hoạt động)
- Bộ chuyển đổi mức logic TTL (để thay đổi dữ liệu từ 5V -> 3.3V)
- Bộ điều chỉnh điện áp AMS1117 3.3V (hoặc tương tự, để thay đổi điện áp từ HRV 5V -> 3.3V thành nguồn ESP8266)
- Diode schottky 1N5817 (vì lý do nào đó, điều này đã giúp ngăn việc đặt lại bảng điều khiển HRV khi bật nguồn ESP)
- Điện trở 10K ohm (điện trở kéo lên giữa 3.3 Voltage Regulator và ESP CH_PD)
- Tụ điện 10V 10uF (hoặc tương tự, để làm mịn và ổn định nguồn điện đầu vào từ HRV)
- Tụ điện 10V 1uF (hoặc tương tự, để làm mịn và ổn định nguồn điện đầu ra cho ESP)
- Nút trượt tùy chọn để lập trình ESP (nếu không, cần kéo GPIO0 sang GND theo cách thủ công để lập trình)
- Bộ điều hợp FTDI (để lập trình ESP, chuyển đổi USB thành nối tiếp)
Lắp ráp theo sơ đồ
Hình ảnh breadboard cho thấy cách lắp ráp các bộ phận. Lưu ý rằng có 6 chân đi xuống cáp ribbon từ bộ điều khiển HRV trên trần nhà:
Chân 1 và 6 là 5V VCC
Các chân 2 và 5 là GND
Chân 3 và 4 là Dữ liệu.
Bạn chỉ cần sử dụng các chân 1, 2, 3 và 6 (nguồn 1 và 6 VCC ESP8266 và mặt cao của bộ chuyển đổi logic TTL, 2 là điểm chung và 3 là để đọc dữ liệu nối tiếp TTL)
Bộ chia bạn cần sẽ chỉ là bộ chia RJ11, chỉ cần đảm bảo bộ chia của nó là nơi có các chân cắm thẳng qua (ví dụ: chân 1 đi đến chân 1, chân 2 đến chân 2, v.v.) Lưu ý rằng các chân phụ (như hiển thị trong hình ảnh) là để kết nối FTDI để lập trình lại ESP sau này và công tắc hiển thị sẽ đặt nó ở chế độ "lập trình". Đây là tùy chọn, nhưng được khuyến nghị (ví dụ: nếu bạn thay đổi mật khẩu WiFi của mình vì AP WiFi và mật khẩu được lập trình cứng thành mã, bạn sẽ cần tải lên khi ESP8266 của bạn được tạo)
Bước 2: Tải lên mã và kiểm tra
Thay đổi mã
Liên kết tải xuống thay thế cho mã Arduino TẠI ĐÂY
Mở trong Arduino IDE, đảm bảo đã cài đặt bảng ESP cũng như PubSubClient và bạn đã chọn bảng ESP8266 (Công cụ, Bảng, Bảng ESP8266 Chung) Chỉnh sửa mã và thay đổi tên và mật khẩu WiFi AP và địa chỉ IP của nhà môi giới MQTT của bạn (đây là những thứ duy nhất bạn cần thay đổi) như được hiển thị bên dưới. Nhấp vào nút 'Xác minh' để đảm bảo nó biên dịch ổn, sau đó đảm bảo chọn đúng cổng COM (Công cụ, Cổng) và tải mã lên ESP8266 của bạn. Có rất nhiều bài viết về cách làm điều này, tôi sẽ không phát minh lại bánh xe ở đây.
// Wifi
const char * ssid = "your_wifi_ssid_here"; const char * password = "your_wifi_password_here"; // Nhà môi giới MQTT IPAddress MQTT_SERVER (192, 168, 222, 254);
Kiểm tra MQTT
Để kiểm tra, bạn có thể kết nối bộ điều hợp FTDI và mở Màn hình nối tiếp trong Arduino IDE, bạn sẽ thấy thông báo in thông tin nhiệt độ trong bảng điều khiển. Nếu bạn cần khắc phục sự cố các tin nhắn MQTT đến từ ESP8266 đến nhà môi giới MQTT của mình, thì trên máy chủ Mosquitto, hãy chạy một trong các lệnh sau để đăng ký các tin nhắn đến:
mosquitto_sub -d -t openhab / hrv / status
Bạn sẽ thấy các thông báo PUBLISH gửi đến từ ESP8266 cứ sau 30 giây hoặc lâu hơn với số "1" (nghĩa là "Tôi còn sống") Nếu bạn thấy "0's" không đổi (hoặc không có gì cả) thì không có liên lạc nào. Khi bạn thấy số 1 xuất hiện, thì điều đó có nghĩa là ESP8266 đang giao tiếp với nhà môi giới MQTT (tìm kiếm "Di chúc và Di chúc cuối cùng của MQTT" để biết thêm thông tin về cách hoạt động hoặc xem mục blog thực sự tốt này)
Giờ đây, bạn có thể theo dõi dữ liệu nhiệt độ và tốc độ quạt, hãy đăng ký một trong các tùy chọn sau. Tuy nhiên, lưu ý rằng mã chỉ gửi dữ liệu nhiệt độ nếu bất kỳ dữ liệu nào đã thay đổi. Nó theo dõi dữ liệu về nhiệt độ, tốc độ quạt, v.v. gần đây nhất được gửi, vì vậy bạn có thể không thấy thông tin đến ngay lập tức.
mosquitto_sub -d -t openhab / hrv /oftemp
mosquitto_sub -d -t openhab / hrv / housetemp
mosquitto_sub -d -t openhab / hrv / controltemp
mosquitto_sub -d -t openhab / hrv / fanspeed
Gợi ý: đăng ký với nhiệt độ bảng điều khiển ở trên, sau đó nhấn nút nhiệt độ trên chính bảng điều khiển, bạn sẽ thấy cài đặt nhiệt độ mới xuất hiện.
Khi bạn hoàn thành việc hàn này, PCB 3cm x 7cm vừa vặn trong hộp phẳng phía sau Bảng điều khiển HRV. Tôi khuyên bạn chỉ nên làm điều này nếu đó là một hộp bằng nhựa vì hộp kim loại có thể gây nhiễu tín hiệu Wifi hoặc có thể làm ngắt kết nối trên bảng mạch PCB. Ngoài ra, bạn có thể in ra một hộp 3D bằng nhựa để gắn bảng vào.
Bước 3: Thay đổi OpenHAB
Cấu hình OpenHAB
Các thay đổi OpenHAB bắt buộc như sau:
tệp 'items':
/ * HRVNumber hrvStatus "HRV Status [MAP (status.map):% d]" (gHRV) {mqtt = "<[mqttbroker: openhab / hrv / status: state: default]"} Số houseTemp "Nhà [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / housetemp: state: default] "} Số houseTemp_Chart_Period" Chu kỳ biểu đồ "Số máiTemp" Mái [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv /oftemp: state: default] "} Số nócTemp_Chart_Period" Thời gian biểu đồ "Number controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / controltemp: state: default] "} String fanSpeed" Fan Speed [% s] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / fanspeed: state: default] "} * /
tệp 'sơ đồ trang web':
Frame label = "HRV Temperature" {Text item =ofTemp {Frame {Switch item = MáiTemp_Chart_Period label = "Thời gian" ánh xạ = [0 = "Giờ", 1 = "Ngày", 2 = "Tuần"] Hình ảnh url = "https:// localhost: 8080 / rrdchart-p.webp
Các biểu tượng bổ sung cho OpenHAB được bao gồm (nhấp chuột phải và lưu hình ảnh)
Lưu các tệp này vào thư mục.. / OpenHAB Home / webapps / images trên máy chủ OpenHAB của bạn
Đề xuất:
TỰ LÀM ĐÈN FLOODLIGHT W / Đèn LED AC (+ Đèn LED HIỆU QUẢ VS DC): 21 bước (có Hình ảnh)
DIY FLOODLIGHT W / AC LED (+ EFFICIENCY VS DC LED): Trong video / hướng dẫn này, tôi sẽ chế tạo một đèn pha bằng chip LED AC không cần điều khiển cực kỳ rẻ. Chúng có tốt không? Hay chúng hoàn toàn là thùng rác? Để trả lời điều đó, tôi sẽ so sánh đầy đủ với tất cả các đèn tự làm của tôi. Như thường lệ, với giá rẻ
Hiển thị nhiệt độ & độ ẩm nhiệt nhiệt - Phiên bản PCB: 6 bước (có hình ảnh)
Hiển thị Nhiệt độ & Độ ẩm Thermochromic - Phiên bản PCB: Cách đây không lâu, một dự án có tên Nhiệt độ Nhiệt & Màn hình độ ẩm nơi tôi đã chế tạo màn hình 7 phân đoạn từ các tấm đồng được làm nóng / làm mát bằng các phần tử peltier. Các tấm đồng được bao phủ bởi một lá mỏng nhiệt sắc
Cách sử dụng cảm biến nhiệt độ DHT11 với Arduino và nhiệt độ in Nhiệt độ và độ ẩm: 5 bước
Cách sử dụng cảm biến nhiệt độ DHT11 với Arduino và nhiệt độ in Nhiệt độ và độ ẩm: Cảm biến DHT11 được sử dụng để đo nhiệt độ và độ ẩm. Họ là những người rất ưa thích đồ điện tử. Cảm biến nhiệt độ và độ ẩm DHT11 giúp bạn thực sự dễ dàng thêm dữ liệu độ ẩm và nhiệt độ vào các dự án điện tử tự làm của mình. Đó là mỗi
Nhiệt kế nấu ăn đầu dò nhiệt độ ESP32 NTP với cảnh báo nhiệt độ và hiệu chỉnh Steinhart-Hart.: 7 bước (có hình ảnh)
Nhiệt kế nấu ăn đầu dò nhiệt độ ESP32 NTP với cảnh báo nhiệt độ và hiệu chỉnh Steinhart-Hart. là một chương trình Có thể hướng dẫn cho thấy cách tôi thêm đầu dò nhiệt độ NTP, piezo b
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): 5 bước (có hình ảnh)
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): Cách kết hợp một đèn báo tia cực tím tân cổ điển phát sáng kỳ lạ. . Ý tưởng của tôi là sử dụng những thứ này khi tôi