Mục lục:
- Bước 1: Thiết lập phần cứng
- Bước 2: Cấu hình ESP8266
- Bước 3: Bộ định tuyến và IP
- Bước 4: Cấu hình ứng dụng
- Bước 5: Tích hợp Tasker
Video: Tự động hóa trang chủ với Android và Arduino: Mở cổng khi bạn về nhà: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Có thể hướng dẫn này về việc thiết lập một hệ thống tự động hóa gia đình được điều khiển thông qua điện thoại thông minh, sử dụng kết nối internet để có thể truy cập hệ thống này từ mọi nơi bạn cần. Hơn nữa, nó sẽ thực hiện các hành động nhất định bất cứ khi nào một tiêu chí được đáp ứng (chẳng hạn như bật đèn khi điện thoại thông minh kết nối với mạng wifi gia đình, mở cổng khi bạn đi vào khu vực được xác định bằng GPS hoặc mọi thứ khác mà bạn có thể muốn).
Một ứng dụng android hiện có sẽ được sử dụng, ứng dụng này yêu cầu ít mã nhất có thể: chỉ cần tải mã lên và bạn đã hoàn tất. Bộ não - bộ vi điều khiển - sẽ là Arduino hoặc bo mạch tương thích với Arduino, chẳng hạn như Aruino Uno với lá chắn Ethernet hoặc NodeMCU ESP8266.
Để kích hoạt hệ thống khi một điều kiện được đáp ứng (vị trí GPS, thời gian, ecc…), chúng tôi sẽ sử dụng Tasker khét tiếng; thêm về điều đó sau.
Khi hiện thực hóa hệ thống, bạn cần lưu ý những điểm chính sau:
- Nó phải được rẻ.
- Nó phải có thể truy cập được từ bên ngoài mạng gia đình cục bộ (tức là wifi của bạn).
- Nó phải THỰC SỰ dễ dàng và nhanh chóng để xây dựng và thiết lập.
- Nó phải đáng tin cậy.
Điều đó đang được nói, toàn bộ dự án sẽ tốn khoảng 20 € (7,50 € cho một ESP8266, 8 € cho một bảng chuyển tiếp, phần còn lại cho phần cứng bổ sung) và bạn sẽ mất khoảng 30 phút để thiết lập tất cả - không tệ chút nào.
Vì vậy, nếu bạn quan tâm, hãy làm theo hướng dẫn đơn giản và nhanh chóng này và thiết lập cho riêng bạn!
Bước 1: Thiết lập phần cứng
Khi bạn đã tập hợp tất cả các thành phần của mình, điều đầu tiên cần làm là kết nối tất cả.
Trong ví dụ này, chúng tôi sẽ kết nối một bóng đèn với ESP8266; Hãy nhớ rằng bạn phải cực kỳ cẩn thận khi làm việc với điện áp chính - nhà sử dụng 220V, có thể giết chết bạn! Luôn cắt điện trước khi làm việc và nếu bạn không tự tin, hãy tìm sự trợ giúp của chuyên gia!
Điều đó nói rằng: để xử lý các mức độ căng thẳng và dòng điện như vậy (sẽ đốt cháy ESPR8266 nhỏ bé), chúng ta cần sử dụng một rơ le phù hợp (như thế này là mức logic 5V, phù hợp với Arduino tiêu chuẩn, hoặc đây là rơ le mức logic 3,3V, phù hợp với sơ đồ chân 3,3V của ESP82666); các kết nối khá dễ dàng, hãy làm theo sơ đồ chúng tôi đã đính kèm.
Lưu ý rằng một số bảng chuyển tiếp (như bảng chúng tôi đã liên kết) là ACTIVE THẤP; điều này có nghĩa là bạn phải kết nối rơle với đất để bật nó lên và ngược lại. Nếu đây là trường hợp của bạn, Homotica cung cấp một giải pháp tốt; chúng ta sẽ xem cái nào trong đoạn tiếp theo.
Bước 2: Cấu hình ESP8266
Bây giờ chúng ta đã thiết lập phần cứng của hệ thống tự động hóa, chúng ta phải lập trình vi điều khiển.
Để làm được điều đó, chúng ta sẽ cần phần mềm Arduino để tải bản phác thảo đã cung cấp lên ESP8266; vì vậy hãy điều hướng đến Trang tải xuống Arduino và lấy phiên bản phù hợp nhất với bạn.
Sau khi tải xuống, hãy cài đặt nó.
Bây giờ chúng tôi đã cài đặt IDE của mình, chúng tôi cần thư viện cần thiết để bản phác thảo hoạt động; để cài đặt nó, hãy mở App Github Repo và chọn Tải xuống từ nút màu xanh lá cây ở bên phải.
Đi tới thư mục Tải xuống trên PC của bạn và sử dụng phần mềm như WinRar hoặc WinZip để giải nén tệp; mở thư mục mới tạo "homotica-master" và sao chép thư mục bên trong có tên "Homotica" vào thư mục Arduino Editor Libraries (bạn thường có thể tìm thấy nó trong thư viện C: / Users / your_user_name / Documents / Arduino ). Xóa các tệp còn lại trong "homotica-master", chúng tôi sẽ không cần chúng
Thiếu một bước khi tải mã lên ESP8266: chúng tôi cần lấy thư viện để Arduino IDE giao tiếp với bo mạch, vì nó không được hỗ trợ chính thức.
Để làm điều đó, hãy làm theo các bước sau (tín dụng: Github ES8266 Arduino Repo):
- Khởi động Arduino và mở cửa sổ Tệp> Tùy chọn.
- Nhập "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (không có dấu ngoặc kép) vào trường URL Trình quản lý bảng bổ sung. Bạn có thể thêm nhiều URL, phân tách chúng bằng dấu phẩy.
- Mở Trình quản lý bảng từ menu Công cụ> Bảng và cài đặt nền tảng esp8266 (tìm kiếm "esp8266" và tải xuống "esp8266 bởi Cộng đồng ESP8266").
Mọi thứ đã được thiết lập. Hãy quan tâm đến mã phác thảo.
Mở Tệp> Ví dụ> Homotica> Homotica ESP8266, sao chép TẤT CẢ mã trong một bản phác thảo mới và sửa đổi các thông số sau:
- ssid: chèn vào đây tên mạng không dây của bạn
- mật khẩu: mật khẩu wifi của bạn
- ip, gateway, subnet: có thể bạn sẽ không phải chạm vào các cài đặt này; thay đổi ip nếu bạn muốn ESP8266 của mình có một địa chỉ khác
- mUdpPort: cổng mà chúng ta sẽ mở trong bộ định tuyến sau này; nếu bạn không biết nó là gì, đừng chạm vào nó
- mã: mã 8 ký tự duy nhất sẽ được sử dụng để xác thực ứng dụng của bạn; bạn có thể chọn bất cứ điều gì bạn muốn.
Nếu bạn đang sử dụng thiết lập ACTIVE LOW, đừng quên gọi homotica.setActiveLow () như được hiển thị trong mã ví dụ!
Để hoàn thành nó: thêm homotica.addUsedPin (5) (như được hiển thị trong ví dụ) để cho ESP8266 biết GPIO mà nó phải xử lý, giữa vòng lặp while và homotica.set (mUdpPort, mã); xóa tất cả các dòng homotica.simulateUdp (…).
Đây là mã bạn nên để lại:
#bao gồm
#include #include const char * ssid = "mywifiname"; const char * password = "wifipassword"; IPAddress ip (192, 168, 1, 20); Cổng IPAddress (192, 168, 1, 1); Mạng con IPAddress (255, 255, 255, 0); không dấu int mUdpPort = 5858; static String code = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, gateway, subnet); WiFi.begin (ssid, mật khẩu); while (WiFi.status ()! = WL_CONNECTED) {delay (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- chỉ khi bạn cần nó homotica.set (mUdpPort, code); } void loop () {homotica.refresh (); }
Khi mọi thứ được thiết lập chính xác, hãy thay đổi cài đặt trình biên dịch từ menu Công cụ theo ảnh chụp màn hình đính kèm và chọn cổng mà ESP8266 của bạn được kết nối trên máy tính của bạn trong Công cụ> Cổng.
Bây giờ, hãy nhấp vào tải lên. Bộ vi điều khiển của bạn đã được thiết lập xong và sẵn sàng chạy!
Bước 3: Bộ định tuyến và IP
Để giao tiếp với ESP8266 từ mọi mạng, chúng tôi sẽ cần yêu cầu bộ định tuyến thực hiện lệnh mà chúng tôi gửi tới nó.
Để làm điều đó, hãy điều hướng đến trang cấu hình bộ định tuyến của bạn (thường là 192.168.1.1) và tìm kiếm thứ gì đó như "máy chủ ảo" hoặc "chuyển tiếp cổng"; bạn có thể tìm cài đặt chính xác cho tìm kiếm mô hình bộ định tuyến của mình trong Google.
Trong chuyển tiếp cổng, hãy tạo một quy tắc mới cho phép tất cả các kết nối đến ESP8266 (cái được định cấu hình trước đó) thông qua cổng ESP8266 (một lần nữa, cái được định cấu hình trước đó). Đặt tên nó là Homotica, chèn IP ESP8266 vào trường IP và lưu.
Nếu bộ định tuyến bạn đang sử dụng không cho phép bạn làm điều này, đừng lo lắng: bạn sẽ không thể sử dụng ứng dụng từ mạng di động, nhưng nó sẽ hoạt động hoàn toàn tốt từ bên trong wifi nhà bạn.
Bây giờ, để tham chiếu đến bộ định tuyến của chúng ta từ thế giới bên ngoài, chúng ta cần biết IP công cộng của nó; nhược điểm là phần lớn các nhà cung cấp internet không cung cấp cho bạn một IP tĩnh mà thay vào đó là một IP động, thay đổi theo thời gian.
Nhưng chờ đã, chúng ta có thể giải quyết điều này!
Đi tới NoIp, tạo một tài khoản mới, sau đó tạo một tên máy chủ mới (xem hình ảnh đính kèm). Ghi lại tên máy chủ mà bạn có (trong ví dụ của tôi: https://yourhostname.ddns.net) và tiến hành bước tiếp theo.
(Lưu ý: bạn có thể muốn máy tính của mình tự động đồng bộ hóa IP bộ định tuyến với tên máy chủ NoIp của bạn: hãy tải xuống ứng dụng miễn phí của họ để làm điều đó)
Bước 4: Cấu hình ứng dụng
Chúng ta hãy quan tâm đến ứng dụng, phải không?
Tải xuống ứng dụng từ Trang Cửa hàng Play và mở nó lên.
Mở menu bên trái, chọn Bảng và tạo một bảng mới. Chúng tôi sẽ điền vào các thông số mà chúng tôi đã xác định trước đó trong mã phác thảo ESP8266:
- Tên Arduino: những gì bạn muốn (đặt tên này là ESP8266)
-
IP máy chủ: đây có thể là
- IP tĩnh của bộ định tuyến được tham chiếu qua liên kết NoIp
- IP ESP8266 nếu bạn chỉ muốn sử dụng nó từ bên trong mạng wifi gia đình 192.168.1.20
- Cổng máy chủ: cổng mà chúng tôi đã thiết lập và mở trước đó 5858
- Mã xác thực: mã 8 ký tự mà chúng tôi đã xác định trong bản phác thảo aBc195
Cứu. Mở menu một lần nữa, tạo một thiết bị mới; chúng tôi sẽ đính kèm một bóng đèn để trình diễn:
- Tên: ánh sáng
- Tên nút: chúng tôi sẽ sử dụng Bật, chọn những gì bạn thích
- Số pin: ghim để chúng tôi gắn bóng đèn. Hãy cẩn thận! Trên ESP8266, các nhãn pin (D1, D2…) KHÔNG tương ứng với tên Pin GPIO! Tìm kiếm trong Google để xác định pin nào là GPIO (trong ví dụ của chúng tôi: pin 5 được gắn nhãn D1)
- Hành vi: bạn có thể chọn giữa bật, tắt, thay đổi trạng thái "đẩy" (bật rồi tắt) thiết bị.
Cứu. Nếu bạn đã thiết lập chính xác mọi thứ cho đến thời điểm này, nhấn Bật bóng đèn sẽ được bật.
Tuyệt, phải không?
Giờ đây, bạn có thể vui vẻ khi thêm nhiều thiết bị hơn, thậm chí nhiều bảng hơn và sắp xếp chúng trong các cảnh.
Nhưng để sử dụng hết công suất những gì bạn vừa tạo, chúng ta sẽ phải sử dụng Tasker.
Bước 5: Tích hợp Tasker
Nếu bạn sở hữu Tasker hoặc muốn mua nó, hãy tiếp tục đọc! Chúng tôi sẽ sử dụng nó để cho Homotica biết phải làm gì và làm khi nào.
Trong ví dụ này, chúng tôi sẽ bật đèn bất cứ khi nào chúng tôi kết nối với wifi gia đình VÀ thời gian từ 4 giờ chiều đến 6 giờ chiều.
Mở Tasker; tạo một Tác vụ mới (đặt tên là Turn On Light), chọn Add> Plugin> Homotica, nhấn phím bút chì để định cấu hình plugin. Chọn Ánh sáng> Bật và Lưu. Quay lại menu chính tạo Hồ sơ mới, chọn Trạng thái> Đã kết nối Wi-Fi, chèn tên Wi-Fi của chuyến tham quan vào trường SSID; nhấn trở lại và chọn Bật đèn khi nhập hoạt động. Bây giờ, nhấn và giữ ở phần bên trái của hồ sơ mới tạo, chọn Thêm> Thời gian> Từ 4 giờ chiều đến 6 giờ chiều, sau đó đóng.
Chúng ta xong rồi. Đèn của chúng tôi sẽ bật sáng khi chúng tôi vào nhà trong thời gian chúng tôi đã đặt.
Thật là tiện dụng!
Bây giờ đến lượt bạn: hãy sáng tạo với Homotica và Tasker, và đừng quên cho chúng tôi thấy những gì bạn đã tạo ra!
Đề xuất:
Android Home (điều khiển Trang chủ của bạn từ Điện thoại của bạn): 4 bước
Android Home (điều khiển Ngôi nhà của bạn Từ Điện thoại của Bạn): Kế hoạch cuối cùng của tôi là để ngôi nhà của tôi trong túi, các công tắc, cảm biến và bảo mật của nó. và sau đó tự động kết hợp nóGiới thiệu: Xin chào Ich bin zakriya và đây là " nhà Android " là dự án của tôi, dự án này là dự án đầu tiên từ bốn tài liệu hướng dẫn sắp tới, Trong
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Bắt đầu với Tự động hóa tại nhà: Cài đặt Trợ lý tại nhà: 3 bước
Bắt đầu với Tự động hóa gia đình: Cài đặt Trợ lý gia đình: Bây giờ chúng tôi sẽ bắt đầu chuỗi tự động hóa gia đình, nơi chúng tôi tạo ra một ngôi nhà thông minh cho phép chúng tôi điều khiển những thứ như đèn, loa, cảm biến, v.v. bằng cách sử dụng trung tâm cùng với trợ lý giọng nói. Trong bài đăng này, chúng ta sẽ học cách nhập
Đồng hồ hoạt ảnh LED SMART được kết nối web với bảng điều khiển dựa trên web, máy chủ thời gian được đồng bộ hóa: 11 bước (có hình ảnh)
Đồng hồ hoạt hình LED thông minh được kết nối web với bảng điều khiển dựa trên web, máy chủ thời gian được đồng bộ hóa: Câu chuyện về chiếc đồng hồ này đã trở lại một chặng đường dài - hơn 30 năm. Cha tôi đã đi tiên phong trong ý tưởng này khi tôi chỉ mới 10 tuổi, rất lâu trước cuộc cách mạng đèn LED - trở lại khi đèn LED có độ sáng 1/1000 so với độ chói lóa hiện tại của chúng. Một sự thật
Tự động hóa tại nhà: Âm thanh báo động và hiển thị trên màn hình LCD khi nhiệt độ trên ngưỡng giá trị: 5 bước
Tự động hóa gia đình: Phát âm thanh báo động và hiển thị trên màn hình LCD khi nhiệt độ vượt quá giá trị ngưỡng: Blog này sẽ trình bày cách tạo Hệ thống tự động hóa gia đình sẽ bắt đầu phát âm báo bất cứ khi nào nhiệt độ vượt quá giá trị ngưỡng được lập trình. Nó sẽ tiếp tục hiển thị nhiệt độ hiện tại của căn phòng trên màn hình LCD và nhu cầu hành động