- Điều kiện tiên quyết:
- Khái niệm làm việc:
- Chương trình Arduino IDE cho ESP8266:
- Sơ đồ mạch và phần cứng:
- Cổng chuyển tiếp IP ESP8266 của bạn:
- Cài đặt ứng dụng Moni Android:
- Tạo Applet bằng dịch vụ IFTTT:
- Thử nghiệm Dự án:
Chào mừng bạn đến với một Dự án thú vị khác, trong đó chúng tôi sẽ xây dựng Hệ thống tự động hóa gia đình được điều khiển bằng giọng nói sử dụng mô-đun Wi-Fi ESP8266, nơi bạn có thể điều khiển các thiết bị AC trong nhà bằng Giọng nói của mình thông qua Ứng dụng Android từ mọi nơi trên thế giới. Đúng vậy, ước mơ của bạn về việc BẬT hoặc TẮT tải (Đèn / Quạt) của bạn chỉ bằng cách sử dụng lệnh thoại sẽ trở thành hiện thực khi kết thúc dự án này. Dự án này là biến thể của dự án trước đây của chúng tôi Hộp nối thông minh dành cho tự động hóa gia đình, nơi chúng tôi đã điều khiển các thiết bị gia dụng bằng cách sử dụng Webserver qua mạng.
Đây Home Automation IOT dựa thoại kiểm soát dự án là siêu dễ dàng để xây dựng và không chi phí bạn nhiều vì nó không yêu cầu bạn phải mua bất kỳ module giọng tốn kém. Toàn bộ dự án mất khoảng 500INR (8 USD) để tôi xây dựng nó. Ngoài ra, đây là một dự án độc lập vi điều khiển, có nghĩa là bạn không cần bất kỳ MCU / MP nào như Arduino hoặc Raspberry pi. Toàn bộ dự án chạy trên mô-đun ESP8266. Tìm hiểu thêm về ESP8266 tại đây. Vì vậy, chúng ta hãy bắt đầu nói chuyện….
Trước đây, chúng tôi đã đề cập đến nhiều loại Tự động hóa gia đình sử dụng các công nghệ khác nhau như:
- Tự động hóa tại nhà dựa trên DTMF
- Tự động hóa gia đình dựa trên GSM sử dụng Arduino
- Tự động hóa nhà điều khiển bằng PC sử dụng Arduino
- Tự động hóa nhà điều khiển bằng Bluetooth sử dụng 8051
- Tự động hóa nhà điều khiển từ xa bằng IR sử dụng Arduino
- dự án tự động hóa gia đình sử dụng MATLAB và Arduino
- Đèn LED điều khiển từ xa RF sử dụng Raspberry Pi
- Tự động hóa ngôi nhà được điều khiển bằng điện thoại thông minh bằng Arduino
Điều kiện tiên quyết:
Dự án này là sự tiếp nối của dự án trước đó của chúng tôi về Hộp nối thông minh cho Tự động hóa gia đình sử dụng ESP8266, vì vậy hầu hết phần phần cứng đã được đề cập trong hướng dẫn đó. Vui lòng đọc trước khi tiếp tục vì tôi sẽ bỏ qua thông tin được đề cập trong hướng dẫn đó. Để cung cấp một bản tóm tắt nhỏ về dự án trước đây của chúng tôi, chúng tôi đã sửa đổi hộp Junction (Bảng mở rộng) trong hướng dẫn đó có thể điều khiển một bảng Perf bao gồm hai Rơle và mô-đun ESP8266. Hai rơ le (tải AC) có thể được chuyển đổi bằng cách sử dụng trang web được tạo bởi ESP8266 (bằng cách hoạt động như một máy chủ web). Trong hướng dẫn này, tôi sẽ chỉ thêm một số tính năng vào nó để chúng ta cũng có thể kiểm soát tải AC bằng cách sử dụng lệnh thoại thông qua Điện thoại thông minh.Chúng tôi sẽ không đề cập đến bất kỳ phần Phần cứng nào trong hướng dẫn này, phần cứng và Mã sẽ giữ nguyên như phần của hướng dẫn trước.
Ngoài ra, biết cách sử dụng www.IFTTT.com sẽ giúp bạn có lợi thế hơn trong dự án này. Nếu bạn không quen thuộc với IFTTT, đừng lo lắng, tôi sẽ giải thích cách sử dụng nó cho hướng dẫn cụ thể này để bạn có thể làm cho nó hoạt động.
Khái niệm làm việc:
Tôi giả sử rằng bạn đã đọc hướng dẫn trước đó, trong trường hợp đó, bây giờ bạn nên biết cách xây dựng hộp nối đó và cách Chuyển đổi các Tải từ xa từ trình duyệt web của bạn. Để thực hiện điều này, chúng tôi đã cung cấp công khai địa chỉ IP của chúng tôi cho ESP8266. Điều này có thể được thực hiện với "Kỹ thuật chuyển tiếp cổng". Sau đó, cài đặt một ứng dụng di động có tên “Moni” trên thiết bị di động Android / IPhone của bạn. Ứng dụng này sẽ nhận dạng lời nói của chúng ta và truyền đạt thông tin tới IFTT Applet, từ đó sẽ kiểm soát Tải trọng thông qua các móc Web của Maker.
Nghe có vẻ hơi tẻ nhạt, nhưng tất cả những điều này đã được giải thích rõ ràng trong hướng dẫn này và tin tưởng tôi với một vài cú nhấp chuột, tất cả những điều trên có thể được thực hiện. Hướng dẫn này sẽ giúp bạn theo cách tốt nhất có thể với sự hỗ trợ của Hình ảnh và Video. Ở phần cuối của hướng dẫn này, bạn sẽ có thể bật hoặc tắt các thiết bị gia dụng thông qua giọng nói của mình từ mọi nơi trên thế giới. Kiểm tra Mã đầy đủ và Video Demo ở cuối hướng dẫn.
Cũng kiểm tra Đèn điều khiển bằng giọng nói bằng Raspberry Pi và Nhập bằng giọng nói trên màn hình LCD 16x2.
Chương trình Arduino IDE cho ESP8266:
Cũng giống như trong dự án trước, chúng tôi sẽ lập trình mô-đun ESP8266 của mình với sự trợ giúp của Arduino IDE. Có một chút sửa đổi được thực hiện trong chương trình. Sửa đổi này được thực hiện để ESP8266 của bạn kết nối với một địa chỉ IP không đổi mỗi khi nó thiết lập kết nối với Bộ định tuyến. Chương trình hoàn toàn giống với mã trước đó ngoại trừ bốn dòng này
// Nhận IP không đổi mọi lúc IPAddress ip (192, 168, 0, 104); // Đây phải là IP của cổng IPAddress mô-đun ESP của tôi (192, 168, 0, 1); // đặt cổng để khớp với mạng của bạn, hầu hết cổng vào sẽ giống nhau theo mặc định Serial.print (F ("Đặt ip tĩnh thành:")); Serial.println (ip); Mạng con IPAddress (255, 255, 255, 0); // đặt mặt nạ mạng con để khớp với mạng WiFi.config (ip, gateway, subnet) của bạn;
Ở đây, thay cho địa chỉ IP IP (192, 168, 0, 104); nhập địa chỉ IP mong muốn của bạn. Trong trường hợp này, ESP của tôi sẽ luôn được kết nối với 192.168.0.104 và tôi có thể chỉ cần truy cập nó bằng cách sử dụng IP này trong trình duyệt của mình. Mã hoàn chỉnh được đưa ra ở cuối hướng dẫn này.
Sơ đồ mạch và phần cứng:
Sơ đồ và phần cứng cho Thiết bị gia dụng được điều khiển bằng giọng nói dựa trên IoT này giống với dự án Smart Junction trước đây của chúng tôi và tôi đã giải thích sơ đồ ở đó nên vui lòng xem qua. Ở đây bạn có thể xem toàn bộ sơ đồ để tham khảo:
Cổng chuyển tiếp IP ESP8266 của bạn:
Bước đầu tiên là bật chuyển tiếp Cổng trong bộ định tuyến (modem) của bạn để bạn có thể truy cập ESP của mình từ bất kỳ đâu trên thế giới, chỉ bằng cách nhập IP công cộng của bạn. Bất cứ khi nào ESP8266 của chúng tôi kết nối với bộ định tuyến gia đình / văn phòng của chúng tôi, nó sẽ được cấp một địa chỉ IP Duy nhất và Địa chỉ IP này được sử dụng để truy cập ESP8266 thông qua trình duyệt web. Địa chỉ IP này bị hạn chế trong Mạng gia đình / văn phòng của bạn, nghĩa là bạn không thể truy cập nó trên toàn cầu; nó chỉ có thể được truy cập bởi các thiết bị được kết nối với bộ định tuyến của bạn. Chuyển tiếp cổng là Kỹ thuật mà qua đó chúng tôi có thể làm cho trang web này tải trên toàn cầu. Sau khi chuyển tiếp cổng, bạn có thể sử dụng IP công cộng của mình để truy cập trang web này từ mọi nơi trên thế giới. Nghe hấp dẫn phải không !! Hãy xem cách chúng ta có thể hoàn thành việc này. Để làm điều này, bạn biết trước những điều sau đây.
1. Tên nhà sản xuất và địa chỉ IP của Bộ định tuyến của bạn. Bạn có thể dễ dàng tìm thấy điều này bằng cách nhìn vào bộ định tuyến. Địa chỉ IP cũng sẽ được đề cập trên nhãn dán. Nếu không phải Google để biết IP bộ định tuyến của bạn.
2. Tên người dùng và mật khẩu của trang đăng nhập bộ định tuyến của bạn. Hầu hết các bộ định tuyến sẽ có tên người dùng là “admin” và mật khẩu là “admin”.
3. Địa chỉ IP được cấp cho mô-đun ESP8266 của bạn. Đây là địa chỉ mà bạn sử dụng để truy cập trang web của mô-đun ESP.
4. Địa chỉ IP của nhà cung cấp dịch vụ Internet của bạn (địa chỉ IP công cộng). Điều này có thể được tìm thấy chỉ bằng cách Goggling “IP của tôi là gì”.
Khi bạn đã có mọi thứ trong tay, bạn có thể làm theo các bước dưới đây để chuyển tiếp cổng, nếu bạn gặp khó khăn trong việc tìm kiếm thứ gì đó, hãy sử dụng phần bình luận bên dưới. Tôi sẽ giúp bạn ra khỏi đó.
Bước 1: Đăng nhập vào trang tiện ích quản lý Web Bộ định tuyến của bạn bằng cách sử dụng địa chỉ IP của Bộ định tuyến của bạn, thường là 192.168.1.1. Màn hình của tôi sẽ như thế này bên dưới
Bước 2: Nhập Tên người dùng “admin” theo mặc định và mật khẩu “admin” theo mặc định và nhấp vào Đăng nhập. Bạn sẽ được đưa đến trang tiện ích giống như bên dưới.
Hầu hết thông tin mà bạn thấy ở đây là rất bí mật, do đó đừng chia sẻ chúng với bất kỳ người nào khác mà bạn chưa biết, bạn có thể gặp rủi ro về bảo mật internet.
Bước 3: Như hình trên trang của bạn sẽ có tất cả các tùy chọn được liệt kê ở phía dưới bên trái. Mục đích của chúng tôi là tìm một cái tên "Máy chủ ảo". Tôi có danh sách của tôi trong tùy chọn Chuyển tiếp. Hầu hết các bộ định tuyến sẽ có chúng được liệt kê là tùy chọn thứ 6, 7 hoặc 8 (chủ yếu là bên dưới cài đặt DHCP). Tìm nó và nhấp vào nó
Bước 4: Bây giờ bạn phải nhập địa chỉ IP được cấp cho mô-đun ESP và số cổng để chuyển tiếp IP của chúng tôi. Trong trường hợp của tôi, tôi phải nhấp vào Thêm mới và nhập các chi tiết đó. Nó có thể hơi khác đối với bạn. Địa chỉ IP là địa chỉ mà bạn sử dụng để truy cập trang web của mô-đun ESP của mình. Số cổng có thể do bạn lựa chọn nhưng hãy để chúng tôi sử dụng “80” cho mục đích đơn giản. IP được cấp cho mô-đun ESP8266 của tôi là 192.168.0.104 và do đó quá trình chuyển tiếp của tôi sẽ trông giống như bên dưới:
Bước 5: Bây giờ chúng ta phải biết địa chỉ IP công cộng của mình. Bạn có thể tìm thấy điều này Goggling của tôi cho “IP của tôi là gì”. IP ISP của bạn phải được giữ bí mật cao. Vì lợi ích của hướng dẫn này, hãy giả sử rằng địa chỉ IP của tôi là 987: 654: 321: 123 Tôi sẽ sử dụng địa chỉ này làm IP ISP cho phần còn lại của hướng dẫn.
Lưu ý: Bạn có thể ISP đã cung cấp cho bạn IP tĩnh / động, nếu đó là IP động thì IP của bạn sẽ thay đổi sau mỗi lần khởi động lại Modem / bộ định tuyến. Trong trường hợp đó, bạn phải sử dụng một cái gì đó như DynDNS. Tuy nhiên, điều đó nằm ngoài phạm vi của hướng dẫn này. Ngay cả khi đó là IP động, nó sẽ hoạt động với bạn miễn là bạn không đặt lại Bộ định tuyến.
Tức là quá trình chuyển tiếp cổng của chúng tôi đã thành công, chúng tôi có thể kiểm tra điều đó bằng cách nhập ISP IP: portname (987: 654: 321: 123: 80) vào trình duyệt của chúng tôi và kiểm tra xem trang web ESP có tải lên hay không. Nếu mọi thứ diễn ra như mong đợi, giờ đây bạn có thể chuyển đổi các Tải từ bất kỳ đâu trên thế giới bằng cách sử dụng địa chỉ IP ISP của mình.
Cài đặt ứng dụng Moni Android:
Moni là một ứng dụng có sẵn cho Android, Windows, iTunes và thậm chí cả Skype. Bạn có thể tải ứng dụng này xuống điện thoại di động của mình. Moni.ai có nhiều khả năng hơn ngoài việc chỉ phản hồi lệnh thoại của bạn, nó rất thân thiện với nhà phát triển và bạn có thể nhanh chóng xác định các cuộc trò chuyện một cách trực quan và kết nối với các dịch vụ. Moni.ai sử dụng một ứng dụng có tên là Node-Red, bạn có thể dễ dàng tạo kênh Voice và xây dựng hệ thống Chabot (AI) của riêng mình cho Doanh nghiệp / Dự án của bạn và tự động hóa nó bằng ngôn ngữ tự nhiên của bạn. Điều tốt nhất là Moni hoàn toàn miễn phí cho mục đích sử dụng phi thương mại.
Tôi đang sử dụng điện thoại Android và do đó tôi trực tiếp tải xuống Moni từ cửa hàng Google Play. Sau khi cài đặt, hãy tạo tài khoản miễn phí của bạn và đăng nhập vào nó, ứng dụng của bạn sẽ trông giống như sau:
Bạn có thể sử dụng điều này giống như bất kỳ Trợ lý ảo nào khác, như hỏi thời tiết, thời gian, v.v. Nhưng điều bổ sung là nó có thể phản hồi các ứng dụng của bạn được tạo bởi dịch vụ Ifttt của bạn. Hãy để chúng tôi xem cách tạo Applet cho Ứng dụng của bạn ngay bây giờ.
Tạo Applet bằng dịch vụ IFTTT:
Chúng tôi chỉ còn một bước nữa là hoàn thành dự án này. Bước cuối cùng là tạo Applet trong trang web IFTTT. Đây là nơi chúng tôi hướng dẫn Moni của mình các lệnh thoại khác nhau để điều khiển các thiết bị Gia dụng khác nhau tại nhà.
Tôi đang sử dụng hộp Kết nối điều khiển bằng giọng nói này để chuyển đổi các tải cho Bể cá của tôi (đèn / Bộ lọc) như được hiển thị trong video bên dưới. Do đó, tôi đang tùy chỉnh Applet cho yêu cầu đó, bạn có thể tùy chỉnh nó cho mục đích của mình. Làm theo các bước dưới đây:
Bước 1: Truy cập www.IFTTT.com và Đăng nhập bằng tài khoản của bạn. Nếu mới thì Đăng ký.
Bước 2: Bây giờ nhấp vào “Tìm kiếm” và nhập Tạo Webhooks. Chọn nó và nhấp vào “Kết nối”. Làm theo các bước để kết nối với nó.
Bước 3: Bây giờ một lần nữa nhấp vào “Tìm kiếm” và nhập Moni. Chọn Moni và nhấp vào “Kết nối”. Đăng nhập bằng tài khoản IFTTT của bạn để kích hoạt kết nối.
Bước 4: Chúng tôi đã kết nối với các dịch vụ “Maker Webhooks” và “Moni”. Bây giờ để bạn tạo một Applet với các dịch vụ này. Nhấp vào Applet của tôi và sau đó “Applet mới”. Bạn sẽ thấy một cái gì đó như thế này:
Trong màn hình này, bạn phải nhấp vào “this” và chọn “Moni”. Sau đó nhấp vào “Yêu cầu Moni thực hiện một hành động” bạn sẽ được đưa đến màn hình bên dưới.
Bước 5: Điền các thông tin chi tiết như tôi đã điền ở hình trên. Ở đây nhiệm vụ của tôi là bật Đèn bể cá của mình (Tải 1) khi tôi nói “Bật đèn bể cá”. Sau đó nhấp vào “Tạo trình kích hoạt”
Bước 6: Bạn sẽ được đưa trở lại màn hình “NẾU ĐIỀU NÀY HƠN ĐÓ”. Bây giờ, hãy nhấp vào “cái đó” và nhập “Maker Webhooks” và chọn nó. Sau đó nhấp vào “Thực hiện một yêu cầu web”. Bạn sẽ được đưa đến màn hình bên dưới
Đây là bước quan trọng mà bạn dễ mắc lỗi nhất. Trong trang này, chỉ cần nhập URL mà bạn muốn tải. Trong trường hợp của tôi, tôi muốn bật tải kết nối với switch1 do đó dòng http: // 987: 654: 321: 123 / switch1On được sử dụng, bạn cần thay thế IP của tôi bằng địa chỉ IP công cộng của bạn. Điều này sẽ chỉ hoạt động nếu bạn đã sử dụng mã của tôi trong hướng dẫn trước. Danh sách URL đầy đủ để chuyển đổi tải được cung cấp bên dưới.
URL |
Từ khóa từ Chương trình |
Hoạt động |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 được làm ở mức cao, do đó BẬT Tải 1 |
http: // 987: 654: 321: 123 / switch1Off |
Switch1Off |
GPIO_0 được đặt ở mức thấp, do đó TẮT Tải 1 |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 được làm ở mức cao, do đó BẬT Tải 2 |
http: // 987: 654: 321: 123 / switch2Off |
Switch2ff |
GPIO_2 được đặt ở mức thấp, do đó TẮT Tải 1 |
Khi bạn đã nhập URL mong muốn, hãy nhấp vào “Tạo hành động”. Sau đó bấm vào Hoàn tất. Tương tự, bạn có thể tạo 4 Applet để BẬT / TẮT cả hai tải trong hộp Junction của chúng tôi.
Đó là bạn applet đã sẵn sàng hoạt động và nó sẽ xuất hiện trong “My applet” như hình dưới đây.
Đã đến lúc kiểm tra mã của chúng tôi…….
Thử nghiệm Dự án:
Cuối cùng, chúng tôi đã sẵn sàng với dự án của mình. Hãy để chúng tôi kiểm tra nó. Bật nguồn và mở ứng dụng Moni trên điện thoại di động của bạn. Nhấp vào biểu tượng Micrô và nói lệnh. Trong trường hợp của tôi, đó là “Bật Đèn Hồ cá” và nó sẽ chuyển sang trả lời bằng “OK” và bật đèn. Kiểm tra mã đầy đủ và Video demo bên dưới.
Hy vọng bạn thích dự án và làm cho nó hoạt động. Nếu bạn gặp khó khăn ở đâu đó, hãy sử dụng phần bình luận bên dưới và tôi chắc chắn sẽ giúp bạn. Sẽ gặp bạn với một dự án thú vị khác cho đến khi đó hãy theo dõi.
Ngoài ra, hãy xem các Dự án dựa trên IoT khác của chúng tôi tại đây.