Mục lục:

ForgetMeNot - Nền tảng thông báo nhà thông minh: 14 bước (có hình ảnh)
ForgetMeNot - Nền tảng thông báo nhà thông minh: 14 bước (có hình ảnh)

Video: ForgetMeNot - Nền tảng thông báo nhà thông minh: 14 bước (có hình ảnh)

Video: ForgetMeNot - Nền tảng thông báo nhà thông minh: 14 bước (có hình ảnh)
Video: Crochet Forget Me Not Flower 🦚 Móc Cành Hoa Lưu Ly Làm Bó Hoa Rất Xinh | Mimi Handmade 2024, Tháng bảy
Anonim
ForgetMeNot - Nền tảng thông báo nhà thông minh
ForgetMeNot - Nền tảng thông báo nhà thông minh

Là những sinh viên đại học bận rộn, chạy đôn chạy đáo giữa các lớp học, công việc và nghĩa vụ gia đình, chúng ta có xu hướng quên đi những điều nhỏ nhặt. Sinh nhật đến và đi mà chúng ta không hề hay biết, một thời hạn quan trọng bị bỏ lỡ do sự quên lãng và đôi khi, đôi khi, lửa bùng lên và thiêu rụi căn phòng của bạn vì bạn quên bật máy sưởi.

Đừng lo, các bạn thân mến - chúng tôi đến để giải cứu.

ForgetMeNot là một Nền tảng Thông báo Nhà Thông minh, được tạo ra từ nhu cầu thực tế mà chúng ta gặp phải trong cuộc sống hàng ngày (và, nếu chúng ta hoàn toàn trung thực, hơi bị thúc đẩy bởi một dự án cuối cùng trong một lớp Khoa học Máy tính).

Về bản chất, nó là sự kết hợp giữa phần cứng và phần mềm. Nó đảm bảo rằng bạn biết (và có thể hành động!) Về những việc bạn quên làm khi ra khỏi nhà.

Hòa âm lại?

Mặc dù chúng tôi chỉ sử dụng một vài cảm biến (những thứ quan sát) và kích hoạt (những thứ hoạt động), nhưng tính chung của mỗi thành phần khiến nó phù hợp với nhiều trường hợp sử dụng khác nhau với những thay đổi phần cứng và phần mềm tối thiểu. Hãy cho chúng tôi biết nếu bạn đã phối lại một số (hoặc tất cả!) Của dự án - chúng tôi rất cuồng các bản cộng tác!

Ai?

Tự hào được tạo ra bởi (một tập hợp con của) nhóm Gấu trúc đỏ từ IDC Herzliya ở Thung lũng McCann, Mizpe Ramon. Zvika Markfeld, của ForRealTeam, đã đi cùng chúng tôi đến sa mạc để xây dựng những điều kỳ diệu ở giữa vùng đẹp nhất của đất nước chúng tôi.

Cảm tạ

Gửi đến những người tham gia Hướng dẫn Random Nerd về dòng khái niệm mới, thú vị không bao giờ kết thúc của họ, chúng tôi có thể thử nghiệm với Node-RED và ESP8266 của chúng tôi, cụ thể là tại đây.

Quân nhu

Woah, rất nhiều thứ…

Đây là một dự án khá rộng và chúng tôi đã đưa ra một số lựa chọn thiết kế ban đầu đối với phần cứng, phần mềm và các tiện ích khác mà chúng tôi sử dụng.

Mặc dù chúng tôi đề xuất danh sách dưới đây nếu bạn định làm theo, nhưng rất nhiều bộ phận có thể được hoán đổi để lấy các vật phẩm dễ kiếm hơn. Một ví dụ là bảng WeMos - bất kỳ phiên bản rẻ tiền nào của bảng mà bạn đang sử dụng, bạn có thể làm cho nó hoạt động mà không cần thực hiện nhiều thay đổi.

Một ví dụ về một loại khác là vỏ bọc cho Ổ cắm thông minh. Trong khi đẹp và chắc chắn, bất kỳ hộp (phi kim loại) nào cũng sẽ làm được. Chúng tôi chỉ tình cờ có quyền truy cập vào một máy cắt laser, và tất cả mọi người có quyền truy cập vào máy cắt laser đột nhiên có rất nhiều công dụng cho việc cắt laser. TẤT CẢ MỌI THỨ. Tương tự đối với các bộ phận được in 3D của chúng tôi.

Vì vậy - chỉ cần lắc lư thiết bị của riêng bạn và để lại bình luận bên dưới nếu bạn cần hỗ trợ thay thế một số bộ phận này bằng một bộ phận khác.

Bộ điều khiển vi mô, bo mạch và tấm chắn

  • 4 x bo mạch ESP8266 (chúng tôi sử dụng minis WeMos D1 do LoLin sản xuất)
  • 1 x D1 Mini Relay Shield
  • 1 x L293N Hbridge (được sử dụng cho động cơ DC của Máy kích hoạt cửa)

Quyền lực

  • 50 x cáp jumper kiểu Arduino (tùy thuộc vào bo mạch bạn đang sử dụng, bạn có thể cần nhiều nữ-nam hoặc nhiều nam-nam hơn. Chỉ cần lấy một loạt mỗi cái, chúng luôn có ích) - lưu ý rằng một số trong số chúng sẽ được tước bỏ cho Trình kích hoạt cửa
  • Điện trở 3 x 10 Ohm
  • 1 x Xuanshi XS-XB6 tối đa 16A ~ 250v. Dải nguồn 3500W + dây mở rộng (bất kỳ dây mở rộng + bộ chia nào cho ổ cắm 220V đều nên làm) - lưu ý rằng nó sẽ bị loại bỏ đối với Ổ cắm thông minh
  • 3 x Cáp Micro-USB
  • 3 x Bộ sạc tường USB
  • 1 x DY-0120200 (Đầu vào: 100-240V, 50-60Hz Đầu ra: 12V --- 2A) Bộ chuyển đổi AC / DC với đầu đực thùng DC (hoặc bộ chuyển đổi tương đương)
  • 1 x giắc cắm thùng DC cái
  • 1 x biến áp 220V sang 5V (để cung cấp điện cho bo mạch Ổ cắm thông minh trực tiếp từ dải nguồn, không cần nguồn điện bổ sung)

Cảm biến

  • 1 x Cảm biến ánh sáng LDR
  • 1 x Reed Relay (hoạt động như một cảm biến cho cửa sổ)
  • 1 x cảm biến nhiệt độ DHT

Động cơ

  • 1 x động cơ DC (chúng tôi đã sử dụng động cơ chổi kim loại không lõi, nhưng bất kỳ động cơ nào phù hợp với vỏ máy kích hoạt cửa in 3D của bạn sẽ hoạt động)
  • 1 x động cơ Servo (bất kỳ kích thước nào cũng có thể làm được, nhưng hãy đảm bảo sử dụng động cơ đủ mạnh để lật công tắc cần thiết)

Bộ phận cắt bằng laser

1 x Hộp ổ cắm thông minh

Bộ phận in 3D

1 x Vỏ kích hoạt cửa

Điện thoại di động

Hướng dẫn này được xây dựng dành cho điện thoại Android và hiện tại có vẻ như Integromat không hỗ trợ thiết bị iOS. Do đó, rất tiếc, hướng dẫn này yêu cầu điện thoại Android.

Phần mềm

  • Arduino IDE (Môi trường phát triển tích hợp - về cơ bản là một trình soạn thảo mã ưa thích)

    • Đã tải bảng của bạn trong IDE để dễ dàng tải lên
    • Xem các bản phác thảo đính kèm cho tất cả các thư viện liên quan
  • Nền tảng tích hợp Node-RED

    Chúng tôi chủ yếu sử dụng các nút cổ phiếu, với một số ngoại lệ - xem quy trình đính kèm cho tất cả các nút có liên quan

  • Integromat.com (trình kết nối dịch vụ, cho phép liên kết nhiều dịch vụ với nhau - trong trường hợp của chúng tôi, và ứng dụng Android và máy chủ Node-RED của chúng tôi)

    Chúng tôi đã sử dụng tầng miễn phí, đủ để sử dụng nền tảng hàng ngày

  • PushBullet.com (dịch vụ thông báo đẩy)

    Chúng tôi đã sử dụng phiên bản miễn phí, đủ cho việc sử dụng nền tảng hàng ngày

  • ngrok (dịch vụ đào hầm an toàn)

    Chúng tôi sử dụng phần mềm đào đường hầm miễn phí này để hiển thị một liên kết từ trang tổng quan đang chạy cục bộ của chúng tôi với thế giới, vì vậy chúng tôi có thể truy cập trang tổng quan từ một URL Trong thông báo đẩy

  • Nhà môi giới Mosquitto MQTT

    MQTT là một giao thức được sử dụng để truyền tin nhắn giữa các thiết bị được kết nối của chúng tôi và Node-RED. Vì Node-RED không có máy chủ MQTT tích hợp nên chúng tôi phải sử dụng máy chủ bên ngoài

Bước 1: Hiểu quy trình

Image
Image

Tham khảo video ở trên để biết phần trình diễn của hệ thống. Lưu ý rằng luồng chung của hệ thống (sau đó luồng Node-RED được xây dựng) như sau:

  1. Bạn rời khỏi nhà của bạn
  2. Điện thoại của bạn ngắt kết nối với WiFi của ngôi nhà của bạn
  3. Integromat nhận từ và thông báo cho Node-RED
  4. Node-RED kiểm tra trạng thái của các cảm biến trong ngôi nhà của bạn và các công tắc trong bảng điều khiển của bạn
  5. Nếu có bất kỳ thứ gì được bật hoặc mở, nó sẽ thông báo cho PushBullet
  6. PushBullet gửi thông báo đến điện thoại của bạn, kèm theo liên kết Bảng điều khiển Node-RED
  7. Bạn có thể vào Trang tổng quan và đóng / tắt những thứ liên quan

Về bản chất, chúng tôi cung cấp một cách tiếp cận tập trung để quản lý các đồ vật khác nhau trong ngôi nhà của bạn và xác nhận rằng chúng ở trạng thái chính xác khi bạn rời khỏi ngôi nhà của mình.

Trên thực tế, chúng tôi có các khả năng sau trong dự án này:

  1. Trạng thái của cửa sổ - mở / đóng (biểu thị bằng trạng thái Reed Relay)
  2. Trạng thái đèn - bật / tắt (biểu thị bằng trạng thái LDR)
  3. Trạng thái của Máy sưởi không gian - bật / tắt (được chỉ báo bởi cảm biến nhiệt độ DHT)
  4. Cửa kích hoạt - mở / đóng (vỏ 3D tùy chỉnh cho động cơ DC)
  5. Bộ kích hoạt ổ cắm thông minh - bật / tắt (rơ le D1 được kết nối với dải điện)
  6. Switch Press Activator - bật / tắt (Servo được kết nối với bo mạch)

Điều này là đủ, trong cuốn sách của chúng tôi, để cho thấy các khả năng của nền tảng. Nó có thể dễ dàng mở rộng (sử dụng Node-RED) để thêm nhiều chỉ báo trạng thái / bộ kích hoạt, nếu cần.

Bước 2: Ngrok

Ngrok
Ngrok

ngrok là một dịch vụ đào đường hầm. Nó cho phép chúng tôi hiển thị một dịch vụ đang chạy cục bộ (trong trường hợp của chúng tôi là Node-RED) với thế giới bên ngoài - mà không gặp rắc rối khi thiết lập máy chủ hoặc xử lý các bản ghi DNS. Bạn chỉ cần chạy Node-RED trên máy tính của mình, sau đó chạy ngrok trên cùng một cổng mà Node-RED đang chạy. Vậy là xong - bạn sẽ nhận được một URL mà bạn có thể sử dụng để truy cập Node-RED từ mọi nơi trên thế giới, bất kể nó được kết nối với mạng nào.

Cài đặt & Cấu hình

  1. Tải xuống ngrok cho hệ điều hành của bạn từ đây.
  2. Làm theo bước trên trang tải xuống cho đến bước "Kích hoạt".
  3. Trong "Bước khởi động", hãy hoán đổi 80 cho 1880 - như trong./ngrok http 1880 hoặc ngrok http 1880, tùy thuộc vào hệ điều hành của bạn.
  4. Ghi lại URL http mà bạn sẽ thấy trong dòng lệnh của mình - chúng tôi sẽ cần nó sau này. Xem hình ảnh để biết ví dụ.

Bước 3: Nút-ĐỎ

Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED

Cài đặt & Cấu hình

Bộ điều khiển logic chính của dự án, Node-RED là một môi trường lập trình trực quan cho phép bạn kết nối các dịch vụ phần mềm (và phần cứng!) Khác nhau với nhau để tạo ra một ứng dụng thống nhất. Như một phần thưởng, nó cho phép tạo ra các bảng điều khiển đẹp mắt có thể lấy thông tin từ và thậm chí kiểm soát các dịch vụ khác nhau.

Nếu bạn đã quen với Node-RED, chỉ cần xem quy trình của chúng tôi từ Gist này và thêm id ngrok của bạn từ bước 8 bên dưới.

Nếu bạn không quen thuộc với Node-RED hoặc bạn chưa cài đặt nó, hãy làm theo các bước sau để tải luồng Node-RED của chúng tôi trên máy tính cục bộ của bạn:

  1. Node-RED yêu cầu Node.js, là một ngôn ngữ lập trình với môi trường phát triển đặc biệt của riêng nó. Lấy trình cài đặt có liên quan đến hệ điều hành của bạn từ đây, sau đó làm theo hướng dẫn.
  2. Bây giờ bạn có thể tự cài đặt Node-RED bằng cách sử dụng các hướng dẫn tại đây. Hãy lưu ý vị trí Node-RED đã được cài đặt, vì bạn cần nó cho bước tiếp theo.
  3. Bây giờ bạn đã cài đặt Node-RED, hãy chạy nó theo hướng dẫn ở bước trên và xác thực, bạn có thể thấy một trang canvas trống. Nó phải được đặt tại
  4. Bây giờ bạn sẽ cần cài đặt thêm một vài nút (mà Node-RED gọi là phần mở rộng hoặc mô-đun của nó) được sử dụng trong dự án này. Vui lòng làm theo hướng dẫn tại đây và tại đây và cài đặt cả hai mô-đun này.
  5. Bây giờ các nút đã được cài đặt, hãy khởi động lại máy chủ màu đỏ của nút (chỉ cần tắt dịch vụ và khởi động lại nó sẽ thực hiện thủ thuật). Bây giờ bạn sẽ có sẵn cả hai nút trong quy trình của mình.
  6. Tải xuống luồng Node-RED của dự án này từ đây và làm theo hướng dẫn tại đây để nhập nó vào cài đặt Node-RED của bạn.
  7. Đảm bảo rằng bạn có thể nhìn thấy hình ảnh của dòng chảy như ở trên trong màn hình của bạn.
  8. Nhớ URL ngrok từ bước cuối cùng? Nhập nó vào nút Xây dựng Thông báo Đẩy. Điều này sẽ cho phép chúng tôi xem liên kết trực tiếp của trang tổng quan (đang chạy trên máy cục bộ của chúng tôi) trong bất kỳ thiết bị nào mà chúng tôi sử dụng để nhận thông báo.

Giải thích dòng chảy

Lưu ý rằng luồng được tách thành hai phần - phần trên là logic chính và phần dưới là logic thành phần.

Logic chính sẽ quan tâm đến việc tìm hiểu xem bạn đã rời khỏi nhà hay chưa (bằng cách nhận yêu cầu GET từ Integromat trong nút Điểm cuối rời Integromat WiFi), gửi lại phản hồi thành công (để Integromat không bị treo, bên trong Gửi thông báo thành công tới Integromat), và sau đó chạy kiểm tra tất cả các cảm biến và trình kích hoạt để kiểm tra trạng thái hiện tại của chúng (điều này xảy ra bên trong nút chức năng Xây dựng Thông báo Đẩy, sử dụng kho ngữ cảnh toàn cầu để lấy thông tin). Nếu kiểm tra đó phát hiện có thứ gì đó đang bật hoặc đang mở, nó sẽ kích hoạt thông báo đẩy PushBullet (trong nút Gửi thông báo đẩy cao nhất). Nút Gửi thông báo đẩy thấp nhất sẽ đảm nhận việc gửi các thông báo đẩy muộn (đối với máy sưởi không gian - hãy xem bước của nó để biết thêm thông tin về logic đằng sau nó). Lưu ý rằng cũng có một nút gỡ lỗi ở đó (được gọi là Nhận yêu cầu) ghi lại tất cả các yêu cầu đến, vì vậy chúng tôi có thể phát hiện bất kỳ vấn đề nào ở phía bên hàng rào của Integromat.

Luồng logic thành phần đảm nhận việc cập nhật kho ngữ cảnh toàn cầu với trạng thái của từng trình kích hoạt / cảm biến, vì vậy chúng tôi có thể quyết định thông tin (nếu có) chúng tôi cần gửi trong thông báo đẩy của mình. Lưu ý rằng có hai biến thể riêng biệt của các luồng này:

Luồng kích hoạt (Công tắc bấm / Cửa / Ổ cắm thông minh) - Đây là những luồng cần cập nhật bảng điều khiển sau khi một công tắc đã được bật trong bảng điều khiển + kích hoạt một số hoạt động trong thế giới thực. Cụ thể, cả hai đều đợi một hành động xảy ra trên bảng điều khiển (trong các nút Switch), sau đó lật trạng thái bên trong các nút chức năng State Logic và cập nhật bảng điều khiển theo công tắc đã lật (bật / tắt đèn LED trong Trạng thái các nút LED và thay đổi văn bản trong các nút Chỉ báo trạng thái). Ngoài ra, sau khi bật công tắc, một tin nhắn MQTT sẽ được gửi đến bộ điều khiển WeMos điều khiển các bộ kích hoạt (sử dụng các nút MQTT-out Activator) để tạo ra một hành động trong thế giới thực (tức là mở / đóng cửa hoặc giết / bật Smart Chỗ thoát).

Dòng cảm biến (Light / Window / Space Heater) - Đây là những dòng cần cập nhật bảng điều khiển sau khi có thông báo cảm biến qua MQTT. Cụ thể, cả hai đều chờ một thông báo MQTT đến (sử dụng các nút MQTT-in Sensor), sau đó phân tích cú pháp thông tin và lật trạng thái bên trong các nút chức năng State Logic. Sau đó, họ cập nhật bảng điều khiển theo thông báo đến (bật / tắt đèn LED trong các nút Đèn LED trạng thái và thay đổi văn bản trong các nút Chỉ báo trạng thái).

Xem các nút kim phun được gắn vào mỗi thành phần? Những điều này sẽ đảm bảo cung cấp các mặc định lành mạnh cho dasboard khi nó được quay lần đầu tiên, để đảm bảo không xảy ra tình trạng vui nhộn nào trong lần tải đầu tiên.

Lưu ý: Node-RED có hai "chế độ": canvas và UI. Canvas là nơi bạn tạo và chỉnh sửa các nút (nằm trên https://127.0.0.1:1880 hoặc https://YOUR_NGROK_ID.ngrok.io) và UI là nơi bạn nhìn thấy trang tổng quan của mình (nằm trên https://127.0.0.1: 1880 / ui hoặc

Bước 4: Tích hợp

Integromat
Integromat
Integromat
Integromat
Integromat
Integromat

Đăng ký

Integromat, tự mô tả là "Keo của Internet", là một dịch vụ kết nối các phần mềm khác nhau với nhau theo những cách thú vị. Trong trường hợp của chúng tôi, chúng tôi sử dụng ứng dụng Android của nó để kiểm tra thời điểm bạn ngắt kết nối khỏi WiFi của ngôi nhà của mình, sau đó kích hoạt một yêu cầu HTTP tới Máy chủ Node-Red của chúng tôi. Yêu cầu này sẽ kích hoạt toàn bộ quy trình được mô tả trong bước trước.

  1. Đăng ký tài khoản Integromat tại đây.
  2. Tải xuống ứng dụng Android từ đây.
  3. Trong bảng điều khiển web Integromat (bạn sẽ thấy nó sau khi đăng ký Integromat), mở tab Thiết bị ở phía bên trái, ở giữa.
  4. Thêm thiết bị của bạn bằng cách nhấp vào "Thêm thiết bị" ở trên cùng bên trái và làm theo các bước được hiển thị.
  5. Sau khi bạn hoàn tất việc cấp phép ứng dụng với bảng điều khiển web, hãy mở nó và chuyển đến cài đặt ở dưới cùng bên phải.
  6. Nhấp vào WiFi, sau đó chọn (trong Sự kiện) hộp cho sự kiện đã ngắt kết nối WiFi. Điều này sẽ cho phép ứng dụng biết khi nào điện thoại của bạn đã ngắt kết nối khỏi mạng WiFi.

Tạo kịch bản của chúng tôi

Các luồng hành động trong Integromat được gọi là Kịch bản. Chúng tôi sẽ tạo một kịch bản chờ bất kỳ mạng WiFi nào ngắt kết nối, sau đó chỉ lọc những mạng phù hợp với mạng WiFi tại nhà của chúng tôi.

  1. Xem hình ảnh ở trên để biết mô tả Kịch bản.
  2. Tạo từng nút ("bong bóng") bằng cách nhấp vào dấu "+" dưới cùng gần Mục yêu thích và thêm ba nút bắt buộc - Android (Ngắt kết nối WiFi), JSON (Tạo JSON) và HTTP (Thực hiện yêu cầu).
  3. Kết nối nút Android với nút JSON và nút JSON với nút
  4. Định cấu hình bộ lọc giữa các nút Android và JSON theo hình trên.
  5. Định cấu hình từng nút theo các hình trên. Lưu ý việc sử dụng URL ngrok được tạo ở bước trước cho nút HTTP. Nếu URL ngrok của bạn là https://ac72hs.ngrok.io, thì id ngrok của bạn là ac72hs.

Bước 5: Mosquitto

Mosquitto
Mosquitto

Vì Node-RED không có nhà môi giới MQTT riêng và chúng tôi sẽ cần giao tiếp với các bộ cảm biến và bộ kích hoạt của chúng tôi qua MQTT, chúng tôi sẽ sử dụng một nhà môi giới MQTT chuyên dụng. Vì Node-RED đề xuất Mosquitto nên đây là cái mà chúng tôi sẽ sử dụng. Xem tại đây để biết một số thông tin về MQTT và lý do tại sao nó thường được sử dụng trong dự án IoT.

Cài đặt & Cấu hình

  1. Tải xuống Mosquitto từ đây và cài đặt nó, tất cả tùy theo hệ điều hành của bạn.
  2. Thông thường, bạn cần làm theo hướng dẫn tại đây để kết nối Node-RED với Mosquitto. Tuy nhiên, nếu bạn đã sử dụng quy trình của chúng tôi, thì quy trình đó đã được định cấu hình sẵn cho bạn. Miễn là bạn cài đặt quy trình và Mosquitrro đúng cách, và Mosquitto chạy trên cổng 1883 (trên đó nó chạy theo mặc định), thì nó sẽ hoạt động tốt.
  3. Lưu ý rằng điều này có nghĩa là nhà môi giới MQTT và máy chủ Node-RED của bạn chạy trên cùng một máy. Điều này rất hữu ích để đơn giản hóa giao tiếp bên trong hệ thống. Xem ghi chú bên dưới để biết thêm thông tin.

Lưu ý về mạng cục bộ

Để các thiết bị của bạn hoạt động bình thường với Node-RED, bạn cần chúng có quyền truy cập vào nhà môi giới. Mặc dù chúng tôi có thể xác định proxy và sử dụng proxy đó để giao tiếp với Mosquitto, nhưng đối với những phức tạp, chúng tôi đề xuất một giải pháp đơn giản: đảm bảo máy tính của bạn (chạy Node-RED và Mosquitto) và bảng mạch ESP8266 của bạn được kết nối với cùng một WiFi. Bằng cách đó, thiết bị của bạn có thể giao tiếp trực tiếp với nhà môi giới của bạn mà không cần bất kỳ người trung gian nào.

Người ta có thể hỏi tại sao không sử dụng ngrok cho việc này, giống như cách chúng tôi sử dụng nó để duyệt trang tổng quan từ một thiết bị khác. Câu trả lời đơn giản là bạn có thể - nhưng ngrok bị giới hạn (trong phiên bản miễn phí) đối với một đường hầm từ mỗi người dùng. Điều này có nghĩa là bạn chỉ có thể mở một cổng ra thế giới bên ngoài, cổng này trong trường hợp của chúng tôi được sử dụng để hiển thị Node-RED. Vì vậy, thay vào đó, chúng tôi sử dụng mạng cục bộ để bỏ qua điều này.

Điều này có nghĩa là trong mỗi bản phác thảo, bạn sẽ cần phải sửa đổi địa chỉ IP của nhà môi giới để phù hợp với địa chỉ IP của máy tính của bạn trên mạng cục bộ. Địa chỉ này có thể được truy cập bằng cách chạy ipconfig (trên Windows) và ifconfig (trên Mac / Linux) và tìm kiếm giao diện WiFi có liên quan. Nó sẽ được liệt kê dưới địa chỉ inet.

Tuy nhiên, bạn vẫn có thể gặp phải một số vấn đề về MQTT trong quá trình này. Vì lợi ích đó, việc theo dõi tất cả lưu lượng MQTT vào và ra rất hữu ích.

Giám sát lưu lượng MQTT

Mặc dù Mosquitto cung cấp chức năng này ngay lập tức bằng cách sử dụng mosuitto_sub, nhưng đối với những người hướng tới GUI hơn, một ứng dụng khách có giao diện đồ họa có thể dễ sử dụng hơn. MQTTfx là một công cụ tuyệt vời mà chúng tôi đã sử dụng rộng rãi trong suốt quá trình thực hiện dự án này và chúng tôi khuyên bạn nên sử dụng nó từ tận đáy lòng. Cảm ơn Jens Deters vì công cụ tuyệt vời này!

Bước 6: Pushbullet

Pushbullet
Pushbullet
Pushbullet
Pushbullet

Pushbullet là một dịch vụ thông báo đẩy. Nó cho phép bạn đăng ký thiết bị của mình với dịch vụ, sau đó đẩy thông báo đến nó dựa trên một số tích hợp có thể có. Chúng tôi sẽ sử dụng nó để thông báo cho thiết bị của mình khi một trong những thứ ở nhà được bật hoặc mở, đồng thời thêm liên kết vào trang tổng quan để chúng tôi có thể đóng hoặc tắt những thứ chúng tôi đã quên xử lý trước khi ra khỏi nhà.

Đăng ký & Cấu hình

  1. Đăng ký tài khoản Pushbullet tại đây bằng tài khoản Google của bạn.
  2. Tải xuống ứng dụng Pushbullet Android từ đây.
  3. Sau khi đăng nhập vào Pusbullet, hãy nhấp vào đây và thêm thiết bị của bạn bằng nút ở bên trái.
  4. Sau đó, truy cập vào đây và chọn Tạo mã thông báo truy cập. Hãy ghi lại mã thông báo này, chúng ta sẽ cần nó trong bước tiếp theo.
  5. Đi tới Node-RED và nhấp vào nút Gửi thông báo đẩy.
  6. Trong thanh bên (xem hình), chọn "PushBullet Config", sau đó chọn biểu tượng bút chì.
  7. Thêm Mã truy cập từ bước 4 vào trường "Khóa API".
  8. Bây giờ bạn có thể nhận thông báo đẩy trên điện thoại của mình.

Bước 7: Arduino IDE

Arduino IDE
Arduino IDE

Chúng tôi sử dụng bo mạch ESP8266 trong hướng dẫn này để điều khiển các phần cứng khác nhau mà chúng tôi sử dụng. Để tải phần mềm của chúng tôi lên bảng, chúng tôi sẽ cần flash chúng bằng cáp USB. Quá trình này rất đơn giản: Bạn kết nối bảng với máy tính của bạn, sau đó nhấn một nút. Tuy nhiên, để đạt được điều đó, chúng tôi sẽ cần thực hiện một số thiết lập sơ bộ.

Cài đặt & Cấu hình

  1. Làm theo hướng dẫn tại đây để cài đặt Arduino IDE.
  2. Làm theo hướng dẫn tại đây để cài đặt "trình điều khiển" có liên quan cho bảng ESP8266 vào Arduino IDE của bạn.
  3. Đảm bảo rằng bạn đang sử dụng cáp USB thích hợp (không phải cáp nguồn, cáp dữ liệu) khi tải các bản phác thảo (tệp.ino) lên bảng của bạn.

Tải bản phác thảo lên bảng

Trong các bước tiếp theo - sẽ giải quyết việc kết nối phần cứng với giao diện phần mềm hiện có của chúng tôi - chúng tôi sẽ chỉ nói "tải bản phác thảo lên bảng". Để giữ cho mỗi bước sau hiểu thêm về phần cứng và ít hơn về phần mềm, chúng tôi sẽ trình bày chi tiết quy trình tải lên một lần tại đây:

  1. Kết nối bo mạch với máy tính của bạn bằng cáp USB.
  2. Mở Arudiono IDE.
  3. Mở bản phác thảo bạn đã tải xuống cho bước liên quan.
  4. Trong Menu "Công cụ", chọn bảng có liên quan trong tùy chọn "Bảng".
  5. Trong cùng một menu, hãy đảm bảo tùy chọn "Cổng" chọn cổng mà bo mạch của bạn được kết nối. nó sẽ làm như vậy theo mặc định, nhưng nếu không chỉ cần đảm bảo rằng nó làm được. Nếu bạn không chắc cổng nào trên máy tính của mình, hãy xem bước tiếp theo.
  6. Tải bản phác thảo lên bảng bằng cách nhấp vào nút mũi tên ở trên cùng bên phải của màn hình (ngay bên cạnh biểu tượng dấu kiểm). Điều này sẽ biên dịch và cố gắng tải bản phác thảo lên bảng.
  7. Nếu bước sau không thành công, hãy thử chọn một cổng khác hoặc bảng khác trong menu công cụ.
  8. Nếu bạn vẫn gặp khó khăn, hãy thử xem câu trả lời Quora này để biết các bước tiếp theo.

Bước 8: Trang tổng quan

Bảng điều khiển
Bảng điều khiển

Hình ảnh trên cho thấy bảng điều khiển cuối cùng sẽ trông như thế nào. Lưu ý các công tắc? Họ kích hoạt các phần cứng khác nhau mà chúng tôi sẽ thiết lập trong các bước tiếp theo. Đèn LED là chỉ báo trạng thái thay đổi khi cảm biến nhận thấy một số loại thay đổi, cũng như khi chúng ta lật công tắc.

Bước 9: Cảm biến ánh sáng

Cảm biến ánh sáng
Cảm biến ánh sáng
Cảm biến ánh sáng
Cảm biến ánh sáng
Cảm biến ánh sáng
Cảm biến ánh sáng

Cảm biến ánh sáng này sẽ cho phép bạn biết bạn bật hay tắt đèn ở một trong các phòng trong nhà. Khi được bọc trong hộp đúng cách và để gần ánh sáng, nó có thể không lớn hơn hai bao diêm dính vào nhau.

Assmebly + Cấu hình

  1. Nối mạch điện theo sơ đồ Fritzing đi kèm.
  2. Mở bản phác thảo và thay đổi các biến sau:

    • mqtt_server - Địa chỉ IP cục bộ của máy tính của bạn (khi nó đang chạy Mosquitto, nhà môi giới MQTT)
    • ssid - Tên mạng WiFi mà máy tính của bạn được kết nối và bạn muốn kết nối bo mạch của mình với
    • mật khẩu - Mật khẩu của mạng WiFi đã nói
  3. Tải lên bản phác thảo kèm theo lên bảng của bạn.
  4. Kiểm tra nó trên bảng điều khiển!

Bảng điều khiển Nhìn vào đèn LED của tab "Đèn" - nó sẽ cho biết đèn được bật hay tắt.

Bước 10: Trình kích hoạt ổ cắm thông minh

Bộ kích hoạt ổ cắm thông minh
Bộ kích hoạt ổ cắm thông minh
Trình kích hoạt ổ cắm thông minh
Trình kích hoạt ổ cắm thông minh
Bộ kích hoạt ổ cắm thông minh
Bộ kích hoạt ổ cắm thông minh

Smart Outlet lấy một dải nguồn thông thường (với một dây nối dài vừa phải) và biến nó thành một Smart Object - cụ thể là một rơ le hỗ trợ WiFi sẽ đảm nhiệm việc bật và tắt nó chỉ bằng một nút bấm từ Node-RED bảng điều khiển. Bằng cách đó, nếu bạn quên tắt thứ gì đó đang cắm vào ổ cắm, bạn sẽ có thể tắt nó theo cách thủ công!

Assembly + Cấu hình

  1. Cắt dây nguồn ở giữa và dải các dây.
  2. Chèn các dây đã loại bỏ vào đầu nối vít theo sơ đồ Fritzing.
  3. Mở bản phác thảo và thay đổi các biến sau:
  4. mqtt_server - Địa chỉ IP cục bộ của máy tính của bạn (khi nó đang chạy Mosquitto, nhà môi giới MQTT)
  5. ssid - Tên mạng WiFi mà máy tính của bạn được kết nối và bạn muốn kết nối bo mạch của mình với
  6. mật khẩu - Mật khẩu của mạng WiFi đã nói
  7. Tải bản phác thảo lên bảng.
  8. Kết nối tấm chắn tiếp điện với bảng.
  9. Lắp ráp mạch điện theo giản đồ Fritzing.
  10. Kiểm tra nó trên bảng điều khiển!

Điểm thưởng - Vỏ bọc

  1. Nếu bạn có thể, hãy cắt bằng la-de vỏ bằng hình ảnh SmartOutletCasing được đính kèm. Nếu không sử dụng máy cắt laser, hãy lấy một hộp các tông, dán hình ảnh lên một mặt của nó và cắt các mảnh ra.
  2. Cắt hai lỗ ở mặt bên của hộp và trượt vào dải điện như trong hình ảnh đính kèm.
  3. Buộc các đầu của dải bên trong hộp để đảm bảo mạch không bị kéo qua các lỗ.

bảng điều khiển

Nhìn vào đèn LED của tab "Ổ cắm thông minh" - nó sẽ cho biết Ổ cắm thông minh được bật hay tắt. Ngoài ra, hãy bật và tắt công tắc để giải trí và thu lợi nhuận!

Bước 11: Kích hoạt cửa

Máy kích hoạt cửa
Máy kích hoạt cửa
Máy kích hoạt cửa
Máy kích hoạt cửa
Máy kích hoạt cửa
Máy kích hoạt cửa

Cơ chế tuyệt vời này xoay chìa khóa qua lại, cho phép chúng tôi khóa và mở khóa cửa. Cụ thể, nếu bạn để cửa không khóa khi rời khỏi nhà, bạn có thể khóa cửa từ xa!:)

Assembly + Cấu hình

  1. Mở bản phác thảo và thay đổi các biến sau:
  2. mqtt_server - Địa chỉ IP cục bộ của máy tính của bạn (khi nó đang chạy Mosquitto, nhà môi giới MQTT)
  3. ssid - Tên mạng WiFi mà máy tính của bạn được kết nối và bạn muốn kết nối bo mạch của mình với
  4. mật khẩu - Mật khẩu của mạng WiFi đã nói
  5. Tải bản phác thảo lên bảng ESP8266.
  6. Lắp ráp mạch theo sơ đồ. Lưu ý rằng chúng tôi đã sử dụng nguồn điện bên ngoài để điều khiển động cơ DC (tương đối mạnh). Điều này yêu cầu một L298-N HBridge và nguồn điện bên ngoài. Chúng tôi không yêu cầu bất kỳ mối hàn nào vì cả giắc cắm thùng cái và HBridge đều có các đầu nối vít đẹp mà chúng tôi có thể sử dụng - chúng tôi đã loại bỏ một đầu của một vài dây cáp nhảy vì lợi ích của các kết nối đó. Họ có thể nghỉ ngơi trong hòa bình.
  7. Kiểm tra nó trên bảng điều khiển!

Điểm thưởng - Vỏ bọc

Chúng tôi đã sử dụng một thiết kế hiện có của Jack Lew. Nếu bạn có quyền truy cập vào máy in 3D, đó là một trường hợp tuyệt vời mà bạn có thể dán lên cửa và gắn chặt bằng bu lông hoặc keo nóng.

Bảng điều khiển Nhìn vào đèn LED của tab "Cửa" - nó sẽ cho biết cửa đang mở hay đóng. Ngoài ra, hãy bật và tắt công tắc để giải trí và thu lợi nhuận!

Bước 12: Cảm biến cửa sổ

Cảm biến cửa sổ
Cảm biến cửa sổ
Cảm biến cửa sổ
Cảm biến cửa sổ
Cảm biến cửa sổ
Cảm biến cửa sổ

Đừng để con mèo ra ngoài! Cảm biến này sử dụng Reed Relay để kiểm tra xem cửa sổ đang mở hay đóng. Lưu ý rằng chúng tôi đã chọn một cửa sổ chỉ vì mục đích của ví dụ - nó có thể được sử dụng cho nhiều việc khác, bao gồm cả việc kiểm tra xem cửa có mở hay không, bao gồm cửa nhà, cửa phòng và tủ lạnh.

Lắp ráp & cấu hình

  1. Ráp mạch theo sơ đồ Fritzing ở trên.
  2. Mở bản phác thảo và thay đổi các biến sau:
  3. mqtt_server - Địa chỉ IP cục bộ của máy tính của bạn (khi nó đang chạy Mosquitto, nhà môi giới MQTT)
  4. ssid - Tên mạng WiFi mà máy tính của bạn được kết nối và bạn muốn kết nối bo mạch của mình với
  5. mật khẩu - Mật khẩu của mạng WiFi đã nói
  6. Tải bản phác thảo của bạn lên bảng.
  7. Gắn một phần của Reed Relay vào bệ cửa sổ và một phần khác vào chính cửa sổ (hoặc bất kỳ phần mở nào mà bạn đã quyết định gắn cảm biến vào).
  8. Kiểm tra trên bảng điều khiển!

bảng điều khiển

Nhìn vào đèn LED của tab "Cửa sổ" - nó sẽ cho biết cửa sổ đang mở hay đang đóng.

Bước 13: Cảm biến Máy sưởi không gian

Cảm biến Máy sưởi không gian
Cảm biến Máy sưởi không gian
Cảm biến Máy sưởi không gian
Cảm biến Máy sưởi không gian
Cảm biến Máy sưởi không gian
Cảm biến Máy sưởi không gian

Để lò sưởi không gian bật là một nguy cơ cháy được đảm bảo! Giữ an toàn và giám sát máy sưởi không gian của bạn từ xa bằng cách sử dụng mạch này. Cụ thể, cảm biến nhiệt trên mạch theo dõi nhiệt trong một khoảng thời gian dài - được mã hóa cứng thành 5 phút đối với mặc định lành mạnh - và nó vẫn bốc hơi sau khoảng thời gian đó, làm bật đèn LED trong bảng điều khiển. Điều này được thực hiện để ngăn việc tản nhiệt (như sau khi bạn tắt máy sưởi không gian) khi vô tình bật đèn LED.

Lắp ráp & cấu hình

  1. Ráp mạch theo sơ đồ Fritzing đính kèm.
  2. Mở bản phác thảo và thay đổi các biến sau:
  3. mqtt_server - Địa chỉ IP cục bộ của máy tính của bạn (khi nó đang chạy Mosquitto, nhà môi giới MQTT)
  4. ssid - Tên mạng WiFi mà máy tính của bạn được kết nối và bạn muốn kết nối bo mạch của mình với
  5. mật khẩu - Mật khẩu của mạng WiFi đã nói
  6. Tải bản phác thảo đính kèm lên bảng của bạn.
  7. Đặt gần lò sưởi không gian, đợi trong 5 phút và kiểm tra bảng điều khiển!

bảng điều khiển

Nhìn vào đèn LED của tab "Máy sưởi không gian" - nó sẽ cho biết máy sưởi không gian đang được bật hay tắt.

Bước 14: Chuyển sang Trình kích hoạt báo chí

Switch Press Activator
Switch Press Activator
Switch Press Activator
Switch Press Activator

Đây là một động cơ Servo rất đơn giản có thể bật hoặc tắt công tắc vật lý (công tắc đèn, công tắc nồi hơi nước, công tắc dải nguồn, v.v.). Nếu bạn để một trong những vật dụng được điều khiển bằng công tắc trong nhà - ví dụ như đèn hoặc nồi đun nước - bạn có thể tắt nó từ xa.

Lắp ráp & cấu hình

  1. Mở bản phác thảo và thay đổi các biến sau:
  2. mqtt_server - Địa chỉ IP cục bộ của máy tính của bạn (khi nó đang chạy Mosquitto, nhà môi giới MQTT)
  3. ssid - Tên mạng WiFi mà máy tính của bạn được kết nối và bạn muốn kết nối bo mạch của mình với
  4. mật khẩu - Mật khẩu của mạng WiFi đã nói
  5. Tải bản phác thảo lên bảng của bạn.
  6. Ráp mạch theo giản đồ Fritzing.
  7. Gắn Servo vào công tắc có liên quan bằng cách sử dụng hotglue hoặc vỏ bọc phù hợp mà bạn tự làm. Gửi cho chúng tôi một hình ảnh nếu bạn đã tạo một bức ảnh!
  8. Kiểm tra bảng điều khiển!

bảng điều khiển

Nhìn vào đèn LED của tab "Công tắc báo" - nó sẽ cho biết công tắc được bật hay tắt. Ngoài ra, hãy bật và tắt công tắc để giải trí và thu lợi nhuận!

Đề xuất: