Cập nhật 09/09: IFTTT đã cập nhật kết nối với Google Assistant lên V2 từ ngày 01/09/2022, yêu cầu phải cấu hình lại tất cả applet liên quan đến Google Assistant. Bài viết đã được cập nhật hướng dẫn mới nhất.
Trong bài viết trước mình đã hướng dẫn cách mở máy tính từ xa sử dụng Raspberry Pi và Python. Với cách này, chúng ta sẽ sử dụng trình duyệt web để gửi yêu cầu WOL thông qua một địa chỉ web đến máy tính nằm trong mạng nội bộ.
Lần này mình sẽ hướng dẫn thêm cách ra lệnh mở PC bằng giọng nói sử dụng Google Assistant và dịch vụ IFTTT. Chỉ cần ngồi 1 chỗ ra lệnh: “Hey Google, Turn on my Computer”, máy tính sẽ tự động mở lên. Không cần phải mở trình duyệt web trên máy tính / điện thoại để thao tác nữa.
Nguyên lý hoạt động như sau:
Bạn ra lệnh mở máy với Google Assistant: “Turn on my Computer”. Câu lệnh này sẽ được IFTTT xử lý và thực hiện kết nối đến một địa chỉ web đã thiết lập sẵn. Máy chủ nơi thiết lập địa chỉ web trên khi nhận được yêu cầu sẽ gửi magic packet Wake-On-LAN ra mạng nội bộ để mở máy tính.
Yêu cầu chuẩn bị
Trước khi thực hiện các thao tác trong bài viết này, bạn cần phải hoàn thành các bước thiết lập trong bài viết phần I: Hướng dẫn cấu hình Wake On LAN – Mở máy tính PC từ xa sử dụng Raspberry Pi và Python.
Ngoài ra, bạn cần chuẩn bị thêm các thiết bị / dịch vụ sau:
- Một thiết bị chạy Google Assistant: Google Home / Google Nest Mini / Google Nest Hub, hoặc tải app Google Assistant trên điện thoại,…
- Một tên miền riêng đã được trỏ về Public IP tại nhà. Xem hướng dẫn: Cấu hình Dynamic DNS.
- Một tài khoản IFTTT (miễn phí) đã được kết nối với Google Assistant.
- Một máy ảo đã được cài đặt sẵn Nginx Proxy Manager.
I. Cấu hình IFTTT
IFTTT (If This, Then That) là dịch vụ tự động hoá giúp bạn kết nối các ứng dụng / dịch vụ với nhau thông qua các điều kiện đã được lập trình sẵn
1. Tạo Applet mới
Đăng nhập vào IFTTT vào tạo thêm Applet mới bằng cách bấm vào nút Create trên Header bar.
2. Chọn điều kiện (If This)
Bấm vào nút Add ở mục If This để tạo điều kiện kích hoạt
Gõ Assistant vào ô tìm kiếm để lọc bớt dịch vụ, sau đó bấm chọn Google Assistant v2
Nếu bạn chưa kết nối với Google Assistant, IFTTT sẽ yêu cầu bạn kết nối đến tài khoản Google để cấp quyền truy cập cho IFTTT. Sau khi hoàn thành, bấm chọn Activate scene.
Điền vào câu lệnh bạn muốn sử dụng để ra lệnh mở máy tính bằng Google Assistant: My Computer. Câu lệnh đầy đủ để ra lệnh sẽ là: “Hey Google, activate My Computer“.
Bấm Create Tigger để tạo.
3. Chọn hành động (Then That)
Bấm tiếp vào nút Add của mục Then That
Chọn dịch vụ Webhooks
Chọn Make a web request
Nhập vào các thông tin như sau:
- URL: Nhập vào tên miền phụ bạn muốn sử dụng để ra lệnh mở máy tính từ xa.
- Method: GET
- Content Type: text/plain
Bấm Create action.
Bạn có thể bấm dấu + để tạo thêm hành động. Nếu không cần, bấm Continue
Đặt tên cho Applet trong mục Apple Title và bấm Finish để hoàn thành.
II. Tạo Proxy Host trên Nginx Proxy Manager
Trong phần cấu hình IFTTT ở trên, mình sử dụng tên miền phụ https://wakeuppc.thuanbui.me
để ra lệnh mở PC từ xa. Để tên miền phụ này chuyển hướng về địa chỉ http://192.168.0.5:8888/wol
trong mạng nội bộ, mình sẽ sử dụng Nginx Proxy Manager làm Reverse Proxy.
Trước khi thêm Proxy Host trong Nginx Proxy Manager, mình đã thiết lập DNS Record cho tên miền wakeuppc.thuanbui.me
trên Cloudflare, trỏ về Public IP ở nhà.
Tạo Proxy Host với thông tin như dưới đây. Chú ý thay đổi Domain Names, Forward Hostname / IP và Forward Port cho phù hợp với thiết lập của bạn.
Chuyển qua tab Custom locations, bấm vào Add location và cấu hình thêm
- Define location: /
- Scheme: http
- Forward Hostname / IP: 192.168.0.5/wol
- Forward Port: 8888
Mục đích của phần thiết lập này là để NPM tự động chuyển hướng truy cập từ https://wakeuppc.thuanbui.me
đến http://192.168.0.5:8888/wol
thay vì mặc định là http://192.168.0.5:8888
Chuyển qua tab SSL, chọn Request a new SSL Certificate, bấm I Agree… và bấm Save để lưu lại.
Sau khi tạo Proxy host xong, bạn có thể thử truy cập vào địa chỉ tên miền phụ https://wakeuppc.thuanbui.me
. Nếu nó chuyển hướng về đúng server WOL của Raspberry Pi và máy tính của bạn đang tắt được mở lên là ngon.
III. Tận hưởng thành quả
Sau khi hoàn thành việc cấu hình IFTTT và Nginx Proxy Manager, bạn đã có thể ra lệnh mở máy tính từ xa thông qua Google Assistant. Nhà mình được trang bị cục Google Home Mini ở khắp nơi, mỗi khi muốn mở máy tính chỉ cần ra lệnh: “Hey Google, activate my computer”. Máy tính sẽ tự động mở lên ngay lập tức.
Còn khi ra ngoài đường, mình có thể sử dụng app Google Assistant trên điện thoại để thao tác tương tự.
Chúc bạn thực hiện thành công
Nguồn: thuanbui