Nhà tự động của tôi: Raspberry Pi + Node-Red + MQTT & Amazon Echo

Trong tính năng nhà tự động mới nhất của chúng tôi, Dave McLaughlin đưa chúng tôi qua hành trình phát triển hệ thống nhà thông minh của riêng mình. Với một số nâng cấp DIY lên phần cứng tự động hóa gia đình hiện có và một số tích hợp phần mềm thông minh, anh ấy đã xây dựng một hệ thống hấp dẫn

Ở thời điểm bắt đầu

Đã sử dụng Homeseer và một số thiết bị có dây và không dây trong khi ở Anh, tôi đã chuyển sang không dây khi tôi chuyển ra nước ngoài đến Indonesia vào năm 2005. Khi tôi đang sống trong một căn hộ thuê, tôi cần một giải pháp không cần bất kỳ cáp nào khác ngoài Ethernet trong cùng một phòng.

Tôi quyết định về một hệ thống sóng Z, sau đó cũng thêm các mô-đun đèn Wemo. Đối với mặt sóng Z của những thứ tôi đã chọn các mô-đun thiết bị HomePro cho các ổ cắm và mô-đun đèn Everspring cho ánh sáng. Cả hai mô -đun này đều không rẻ.

Tôi đã chạy với thiết lập này cho đến giữa năm 2016, nhưng các vấn đề sau đây đã thúc đẩy một sự thay đổi. Đầu tiên Z-Wave là người nóng tính với 2 đơn vị ở cuối căn hộ OU, mặc dù tôi đã có một mô-đun thiết bị nửa giữa nó không bao giờ hoạt động đáng tin cậy. Tôi sẽ liên tục nhấn vào máy tính bảng dựa trên Homeseer Touch để làm cho đèn giường của tôi tắt. Sau đó tôi sẽ có 2 đơn vị điều khiển đèn nổ và thất bại. Một trong những IC IC là một phần của nguồn cung cấp điện đã mở rộng.

Đau đầu tiếp theo là các mô -đun đèn Wemo. Cách duy nhất để làm cho những thứ này hoạt động là với IFTTT thông qua các kênh Homeseer và Wemo của họ. Miễn là kết nối internet của tôi tốt, điều này hoạt động tốt, mặc dù đôi khi hơi chậm. Không chính xác là 10 trên thang đo WAF.

Đầu năm 2016, tôi đã bắt gặp một trang web do Peter Scargill điều hành, người đã từng điều hành một công ty thiết kế điện tử nhiều năm trước từ Tyneside. Vào thời điểm đó, tôi đã sử dụng bộ điều khiển có dây ứng dụng của anh ấy để tự động hóa gia đình dựa trên các vi điều khiển pic 8 bit nhỏ. Tôi đã có hàng trăm mét cáp báo động 4 lõi chạy khắp căn hộ của tôi. Hệ thống này là đáng tin cậy nhưng cố gắng che giấu tất cả những chiếc cáp đó đã đi xuống tốt với đối tác của tôi vào thời điểm đó.

Chuyển nhanh đến năm 2016 và Peter đã trở lại tự động hóa tại nhà với các bộ điều khiển dựa trên ESP8266 nhỏ.

Chúng dựa trên lõi Cortex M4 với WiFi được tích hợp trong 802.11 và đi kèm với SDK cho phép phát triển với Eclipse cũng như tùy chọn Arduino IDE.

Vì các đơn vị HomePro của tôi gặp rắc rối, tôi quyết định thiết kế lại các bộ phận bên trong và giữ các bộ phận cơ học. Vì vậy, tôi đã lấy ra PCB cũ và thực hiện tất cả các phép đo để tôi có thể thực hiện cụm PCB 2 ngăn xếp của riêng mình giống như cái cũ. PCB thấp hơn là nguồn cung cấp năng lượng và chuyển tiếp trạng thái rắn.

Tôi đã chọn các rơle trạng thái rắn khi họ bật giao nhau bằng 0 và tránh mọi vấn đề với việc kéo xuống AC và khiến nguồn cung cấp điện nhúng. Điều này hoạt động không có lỗi và tôi có thể chuyển đến 8 amps với sự sắp xếp này. quá đủ cho việc sử dụng các mô -đun này.

Những hình ảnh này cho thấy ngăn xếp bảng mới và các bảng cũ trong mô -đun và cuối cùng là các bảng mới được cài đặt vào vỏ bọc nhà.

Có một đèn LED trên bảng để hiển thị trạng thái và tôi đã khoan một lỗ nhỏ để cho phép điều này được nhìn thấy từ bên ngoài. Nó nhấp nháy nhanh chóng cho đến khi nó có kết nối WiFi và MQTT. Sử dụng nút ở mặt trước, bạn có thể nhấn và giữ cái này trong khoảng 3-5 giây ngay sau khi tăng nguồn và điều này sẽ kích hoạt APN và trang web mà bạn có thể sử dụng để định cấu hình thiết bị. Dễ dàng hơn là cố gắng làm điều này qua kết nối nối tiếp. Peter và Aiden đã xem xét mọi thứ với điều này.

Bây giờ ánh sáng cần phải được sắp xếp. Các đơn vị Everspring mà tôi đã mua từ Vương quốc Anh một vài năm trước đây đã từng thể hiện một lỗi khó chịu. Thỉnh thoảng họ sẽ bắt đầu tắt và sau đó trở lại. Nó là hoàn toàn ngẫu nhiên. Tôi đã thay thế một đơn vị bằng một đơn vị mới và điều tương tự đã xảy ra. Sau đó, một ngày tôi phát hiện ra rằng lỗi bật/tắt đang xảy ra khi điện áp trong căn hộ giảm xuống dưới 209VAC – Indonesia không tốt lắm khi nói đến sự ổn định của nguồn cung chính. Tôi đã mở một trong các đơn vị và thấy rằng họ đã sử dụng một thiết kế cung cấp năng lượng rất rẻ dựa trên loại nhỏ của tụ điện/điện trở. Đây là những điều tốt khi bạn có nguồn điện ổn định nhưng chúng thực sự không thích nó khi đầu vào điện áp quá thấp.

Vì vậy, được trang bị thiết kế đơn vị HomePro, tôi đặt ra về việc tạo ra một PCB mới để phù hợp với các vỏ bọc hiện có. ESP12 được đặt ở một bên và mặt khác là nguồn AC-DC. Rơle trạng thái rắn cũng ở cùng phía với nguồn điện. Một nút prog và bật/tắt cũng được trang bị để tôi có thể cài đặt phần mềm ban đầu. Giao diện web sẽ được sử dụng để định cấu hình nó sau. Bạn có thể thấy phía ESP của PCB dưới đây. Khe cắm trong PCB là tăng sự phân tách công suất AC từ phía DC điện áp thấp. Các miếng đệm lớn là AC trong và AC ra khỏi đèn.

Vì vậy, bây giờ tôi đã có một số mô -đun thiết bị được nâng cấp và bộ điều khiển chiếu sáng nhưng làm thế nào tôi sẽ kiểm soát tất cả những điều này? Đã đến lúc nghỉ hưu hệ thống Homeseer 2 cũ của tôi. PC khôngKết thúc rắc rối và là Windows 10, nó sẽ quyết định nó sẽ tự cập nhật mà không có sự cho phép của tôi. Thời gian để chuyển sang Linux.

Vì vậy, dựa trên blog từ Peter, tôi đã quyết định lấy ra Raspberry PI3 với LCD 7 ″ LCD và Fire Up Node-Red. Node-Red cho những người chưa từng thấy đây là một phần mềm điều khiển kéo và thả rất đẹp và ổn định. Lúc đầu, thật khó khăn khi thiết lập nhưng sau khoảng một tuần chơi, tôi bắt đầu thấy rằng thật dễ dàng để nắm bắt. Nếu bạn có bất kỳ kỹ năng lập trình nào, thì bạn sẽ cảm thấy như ở nhà với kịch bản. Tất cả các mô-đun được cung cấp dưới dạng nguồn tập lệnh Java và có một thư viện rất lớn và ngày càng tăng cho nó trên trang web Node-Red.

Tiếp theo tôi cần một nhà môi giới MQTT làm phần mềm từ Peter giao tiếp bằng giao thức này. Khi bạn đã thiết lập và sử dụng MQTT, bạn nhanh chóng nhận ra hiệu quả của nó trên mạng của bạn. Không cần phải thăm dò thiết bị hoặc thậm chí để biết địa chỉ IP của thiết bị. Các nhà môi giới chăm sóc điều này. Những người quen thuộc với XAP sẽ hiểu điều này.

Sử dụng nút đỏ, tôi thiết lập các bộ đếm thời gian khác nhau (nhờ Peter một lần nữa cho Bigtimer của anh ấy) và bật đèn vào ban đêm. Sử dụng plugin Wemo, bây giờ tôi cũng có quyền điều khiển đèn WEMO mặc dù chỉ bật và tắt. Nhà phát triển của plugin đỏ nút đã hứa hẹn điều khiển làm mờ tại một số thời điểm.

OK, vì vậy tôi đã thiết lập Node-Red và MQTT nhưng bây giờ tôi cần một cách để điều khiển đèn và chuyển đổi bằng cả giọng nói và một số dạng giao diện cơ học hoặc cảm ứng. Tôi đã chạy qua một số công tắc không dây từ ENOCEAN trên trang web Element14 vì vậy tôi đã đặt hàng một vài trong số chúng cùng với mô-đun Raspberry Pi Enocean cắm vào các chân GPIO trên PI và sử dụng UART để liên lạc với Node-Red và Plugin.

Các công tắc có phần thưởng ở chỗ không có pin để cài đặt hoặc chăm sóc. Họ sử dụng thu hoạch năng lượng thông qua một cuộn dây và nam châm được kích hoạt khi bạn nhấn nút. Họ buồn bã không đi kèm với bất kỳ đồ đạc tường nào để bạn phải thiết kế. Chúng cung cấp một tệp nút chuyển đổi STL mà bạn có thể nhận được in 3D để tôi sử dụng cái này và tạo gắn kết của riêng tôi cho chúng. Điều này phục vụ 2 mục đích, một để che công tắc cũ trên tường đảm bảo nó vẫn ở vị trí để các mô -đun đèn luôn bật và thứ hai để định vị các điều khiển ở một vị trí quen thuộc.

Sử dụng phích cắm ENOCEAN Node-Red, tôi nhận được tải trọng tin nhắn với trạng thái nút. Bằng cách phân tích cú pháp này trong một công tắc Node-Red, tôi có thể gửi lệnh thích hợp đến đèn hoặc công tắc, v.v … Đây là một ví dụ về tải trọng được gửi bởi công tắc ENOCEAN. Nó được mã hóa ở định dạng JSON rất dễ phân tích. ID và V là những gì chúng tôi quan tâm.

{“tải trọng”: {“id”: “002d0932”, “v”: “a0 xuống”, “đơn vị”: “” F6-02-03 “,” Man “:” Enocean_gmbh “,” Desc “:” Rocker Switch “,” RV “:” 30 “,” RawByte “:” 55000707017AF630002D09323001FFFFFF }

Hình ảnh sau đây cho thấy công tắc có 4 đầu ra dựa trên giá trị MSG.PAYLOAD.V trong Telegram từ công tắc Enocean. Chúng sau đó được hướng đến thiết bị thích hợp. Tôi sử dụng tính năng chuyển đổi trong phần mềm MQTT để bật và tắt thiết bị từ cùng một công tắc. Điều này có nghĩa là tôi có tối đa 4 trạng thái chuyển đổi từ mỗi mô -đun ENOCEAN.

Bây giờ phần thú vị bắt đầu bởi vì tôi có Amazon Echo và tôi luôn muốn kiểm soát nhà của mình bằng các lệnh thoại. Bạn có thể đổ lỗi cho scifi cho điều này

Không có hỗ trợ Echo trực tiếp, ít nhất là không có kết nối HTTPS với màu đỏ nút của bạn và thật đáng buồn là không thể với ISP của tôi nên tôi cần một giải pháp thay thế. Sử dụng Amazon Echo Habridge này khi chạy trên cùng một Raspberry PI3, tôi không thể thiết lập đèn kích hoạt giọng nói, v.v … Habridge mô phỏng API Philips Hue để Echo nhìn thấy các thiết bị bạn thiết lập. Dưới đây là một ví dụ về một thiết bị được gọi là quạt phòng trước.

Bằng cách thốt ra những điều sau đây tại Echo, quạt có thể được bật. “Alexa, bật người hâm mộ phòng trước hoặc tắt bằng cách nói là Alex Alexa, tắt người hâm mộ phòng trước

Habridge gửi các lệnh đến màu đỏ nút thông qua yêu cầu HTTP và sau đó tôi phân tích URL cho các giá trị. Đây là một kịch bản đơn giản như hình dưới đây.

Cách làm điều này với các mô -đun chi phí thấp

Đã thiết kế PCB của riêng tôi để thay thế các mô -đun, tôi cần một cách để thêm các mô -đun chuyển đổi và bộ điều khiển ánh sáng bổ sung.

Các đơn vị sản xuất tại nhà của tôi có giá khoảng 15 đô la Mỹ để thực hiện với tất cả các PCB và các bộ phận cùng nhau. Vì vậy, vẫn còn chi phí thấp.

#
Xem trước
Sản phẩm
Xếp hạng
Giá

1

Jane Choi Raspberry Pi 4 B Model B 8GB Bộ khởi động (RAM 8GB) -Motherboard 64GB SD thẻ, Coolingười hâm mộ, …

121 đánh giá

£ 222,99

Mua trên Amazon

2

Raspberry PI 400 4GB Bộ khởi động chính thức, Bố cục Vương quốc Anh

215 đánh giá

£ 110,56

Mua trên Amazon

3

Bộ dụng cụ khởi động Ultimate Freenove cho Raspberry Pi 4 B 3 B+ 400, Hướng dẫn chi tiết 561 trang, Python C …

2.835 đánh giá

£ 42,95

Mua trên Amazon

Để có được điều này thậm chí thấp hơn, tôi đã bắt gặp ITEAD Studio Slamper và S20 Smart Switch. Đây là khoảng 12 đô la Mỹ mỗi mô-đun S20 và 8,50 đô la cho các bộ điều khiển ánh sáng rất ít hơn bất kỳ mô-đun sóng Z nào trên thị trường. Chúng đi kèm với phần mềm riêng của ITEAD, được điều khiển từ ứng dụng iOS hoặc Android nhưng tôi muốn có thể sử dụng mã Peter. Peter đã thực hiện một số nghiên cứu về điều này và thấy rằng với những thay đổi nhỏ đối với mã của mình, nó sẽ lập trình vào các đơn vị và công việc của ITEAD. Bạn cần một USB đến UART với đầu ra 3,3V để làm điều này nhưng điều này đủ đơn giản nếu bạn có thể sử dụng bàn ủi hàn. Nhược điểm duy nhất là các mô -đun ITEAD đi kèm với đèn flash 512kB và cho phép mã Peter Peter thực hiện cập nhật OTA, chúng ta cần thay đổi điều này thành 8MB. Bộ nhớ IC khoảng 3 đô la cho 5 trên eBay. Được trang bị một trạm làm lại không khí nóng (mượn một người bạn nếu bạn không có) công việc nhanh chóng và không có rủi ro thiệt hại cho các hội đồng. Hình ảnh sau đây cho thấy đỉnh IC SOIC bên trái sau khi loại bỏ hình ảnh cũ và hình ảnh mới được trang bị.

Bạn cũng cần hàn trên tiêu đề vào hàng 4 lỗ trên PCB. Điều này áp dụng nguồn cho bảng và cho phép bạn lập trình nó với phần sụn MQTT tùy chỉnh. Tôi có một blog chi tiết về cách làm điều này.

Các mô -đun S20 trông rất thông minh và hiện đại. Công tắc nguồn cho phép bạn bật và tắt cục bộ. Những cái được hiển thị ở đây là ổ cắm Euro nhưng itead sẽ sớm cung cấp cho cả các tùy chọn của Hoa Kỳ và Vương quốc Anh.

Các mô -đun Slamper là bộ điều khiển đèn dựa trên ES27 nên hiện tại không lý tưởng cho Vương quốc Anh nhưng chúng hoạt động rất tốt.

Xem xét họ đang cung cấp các mô -đun chuyển đổi vì Vương quốc Anh tôi mong đợi rằng một phiên bản lưỡi lê có thể sớm xuất hiện. Tôi thực sự thích loại vít bây giờ để cài đặt dễ dàng hơn.

Chúng rất dễ mở và sửa đổi như trước với một bước bổ sung ngoài việc thay thế IC flash và đó là di chuyển một liên kết không có ohm fr

Recommended Articles

Leave a Reply

Your email address will not be published.