- Một cách tiếp cận mới cho các thiết bị tự động hóa gia đình bằng cách sử dụng Chirp
- Phát âm thanh Chirp với Trợ lý Google
- Chuẩn bị Arduino Nano 33 của bạn
Gần đây, tôi bị hấp dẫn bởi tất cả các sản phẩm Tự động hóa gia đình mới trên thị trường và do đó tôi đã mua một Google Home Mini và một số thiết bị thông minh khác để điều khiển đèn, quạt, AC và những thứ không có. Mặc dù nó hoạt động và mọi thứ đều thú vị khi sử dụng, nhưng tôi gặp một chút rắc rối khi có tất cả các kết nối không dây này xảy ra xung quanh tôi. Chỉ riêng phòng ngủ của tôi đã có 5 thiết bị thông minh, bao gồm cả máy tính xách tay và điện thoại của tôi, có tổng cộng 7 thiết bị không dây xung quanh tôi luôn được kết nối với bộ định tuyến của tôi. Tôi đã lo lắng rằng tất cả các tín hiệu Wi-Fi này có thể ảnh hưởng xấu đến sức khỏe của chúng ta và bài báo nghiên cứu này trên Sciveredirect đã bổ sung bằng chứng cho suy nghĩ của tôi. Đây là lúc tôi bắt đầu nghĩ về một giải pháp tự động hóa nhà không dây thay thế không cần Wi-Fi / Bluetooth để hoạt động.
Một cách tiếp cận mới cho các thiết bị tự động hóa gia đình bằng cách sử dụng Chirp
Trước đó, chúng tôi đã xây dựng dự án tự động hóa Nhà điều khiển từ xa bằng IR, dự án này có thể hoạt động mà không cần Wi-Fi hoặc Bluetooth, nhưng nó không còn thú vị nữa và tôi muốn điều khiển các thiết bị bằng giọng nói. Tôi đang tìm kiếm một kỹ thuật để Google home mini có thể giao tiếp trực tiếp với các thiết bị thông minh, vì vậy về cơ bản tôi cần một phương pháp giao tiếp không dây Machine to Machine mà không cần sử dụng Wi-Fi hoặc BLE.
Đó là khi tôi nhớ lại Cuộc phỏng vấn với Dan Jones, CTO của Chirp, trong đó anh ấy đã giới thiệu về Chirp là “Chirp là một cách truyền thông tin bằng cách sử dụng sóng âm thanh. Ngược lại với Wi-Fi hoặc Bluetooth sử dụng tần số Radio, Chirp mã hóa dữ liệu bằng âm có thể được phát (truyền) bằng bất kỳ loa máy tính nào và nhận qua bất kỳ micrô máy tính nào mà không cần phải có bất kỳ phần cứng bổ sung nào như chip RF. Điều này cho phép Chirp được sử dụng trên bất kỳ thiết bị tiêu dùng nào có loa và micrô, như điện thoại di động, Máy tính xách tay, hệ thống PA, v.v. và có thể truyền thông tin ngay cả qua luồng YouTube hoặc chương trình phát sóng trên TV. ” Điều này có nghĩa là chúng ta có thể sử dụng Google Home mini để nói chuyện trực tiếp (sử dụng tiếng kêu) với thiết bị thông minh của mình.Tất cả những gì chúng ta cần là một micrô và một bộ xử lý bên trong các thiết bị thông minh này để giải mã dữ liệu âm thanh chirp để thực hiện các hành động cần thiết. Chirp gần đây cũng đã thông báo về việc tích hợp data-over-sound cho Arduino, điều này có nghĩa là chúng ta có thể sử dụng board cảm biến Arduino nano 33 BLE mới để chạy Chirp SDK cho dự án của mình.
Vì vậy, trong dự án này, chúng tôi sẽ xây dựng một Thiết bị Tự động hóa Âm thanh tại nhà, trong đó chúng tôi sẽ có thể điều khiển thiết bị thông minh này mà không cần sử dụng bất kỳ kết nối không dây nào như Wi-Fi hoặc Bluetooth. Chúng tôi sẽ sử dụng Actions for Google và Dialogflow để xây dựng một ứng dụng thử nghiệm cho Trợ lý Google của chúng tôi để làm cho nó phát âm thanh được mã hóa (Chirp). Âm thanh này sau đó sẽ được ghi lại bởi bảng cảm biến Arduino nano BLE chạy Chương trình Arduino Chirp, dựa trên thông báo được mã hóa trong dữ liệu mà bảng Arduino có thể thực hiện bất kỳ hành động nào như chuyển đổi tải AC điều khiển đèn LED RGB, v.v. Nghe có vẻ như rất nhiều, nhưng nó tương đối đơn giản và hướng dẫn đầy đủ được đưa ra dưới đây. Vậy hãy bắt đầu.
Phát âm thanh Chirp với Trợ lý Google
Cách dễ nhất để xây dựng tính năng tự động hóa trong nhà được điều khiển bằng giọng nói là sử dụng IFTTT với Trợ lý Google cho Tự động hóa gia đình. Tuy nhiên, tại thời điểm viết bài này, Chrip chưa có Applet trên IFTTT, vì vậy chúng tôi sẽ sử dụng Actions gốc cho nền tảng Google. Có một cơ hội tốt là Chirp đã cung cấp applet của riêng mình trong IFTTT tại thời điểm bạn đang đọc bài viết này, vì vậy hãy kiểm tra. Nếu không, hãy tiếp tục với Hành động dành cho Google để tạo Ứng dụng Trợ lý Google.
Bước 1: Mở bảng điều khiển Dialogflow. Bạn có thể phải đăng ký nếu bạn chưa làm điều đó. Sau đó nhấp vào “Tạo đại lý mới” như hình dưới đây
Bước 2: Đặt tên cho đại lý mới của bạn và sau đó nhấp vào tạo. Tôi đã đặt tên cho đại lý của mình là “Circuitdgest_Automation”
Bước 3: Bây giờ bạn sẽ được đưa đến phần ý định. Đây là nơi bạn đào tạo đại lý mới của mình cho nhiều ý định khác nhau. Trong trường hợp của chúng tôi, chúng tôi sẽ viết hai ý định, một là bật đèn và hai là tắt đèn. Bạn có thể viết bất kỳ số ý định nào dựa trên các ứng dụng và lệnh mà Đại lý của bạn phải hiểu. Theo mặc định, bạn sẽ có ý định chào đón, nhưng hãy tạo một ý định mới để bật đèn bằng cách nhấp vào “Tạo ý định” và tôi sẽ đặt tên cho ý định này là Đèn sáng
Trong trang mới, nhấp vào “Thêm cụm từ đào tạo” và nhập lệnh mà trợ lý của bạn phải hiểu trong trường hợp này là “Bật đèn”. Bạn có thể viết bất kỳ số lượng cụm từ đào tạo nào truyền đạt ý nghĩa của cùng một mục đích.
Bước 4: Bây giờ cuộn xuống và nhấp vào “Thêm phản hồi”. Đây là nơi chúng tôi cho trợ lý biết cách phản hồi lại nếu mục đích cụ thể này được kích hoạt. Theo mặc định, bạn có thể nhập câu trả lời bằng văn bản tại đây, nhưng chúng tôi cần âm thanh để phát trợ lý của mình, vì vậy hãy nhấp vào biểu tượng “+” gần tab “Mặc định” và chọn Trợ lý Google, sau đó bấm nút “Thêm câu trả lời” và chọn “Câu trả lời đơn giản ”. Bên trong hộp văn bản phản hồi đơn giản, nhập mã này
Đây là một mã SSML đơn giản để phát âm thanh từ một URL và sau đó nói “Đèn đã BẬT”. Âm thanh này phải là âm thanh được mã hóa từ Chirp và nó phải được tải lên jovo.tech.
Nhận âm thanh được mã hóa từ chirp:
Âm thanh được mã hóa này có thể được lấy từ ứng dụng Chrip Android. Cài đặt ứng dụng và nhập tin nhắn cần mã hóa và nhấp vào nút Gửi để nghe âm thanh được mã hóa
Ở đây tôi đã gõ "Đèn bật". Tương tự, bạn có thể nhập bất kỳ tin nhắn nào và nhấp vào nút Gửi để kiểm tra âm thanh được mã hóa. Sau đó, chúng tôi có thể lưu tệp âm thanh này (định dạng mp3) bằng bất kỳ máy ghi âm nào. Tôi đã ghi lại hai tệp âm thanh như vậy với thông báo được mã hóa “Đèn bật” và “Đèn tắt”. Bạn có thể tải chúng xuống từ đây nếu bạn muốn tiết kiệm thời gian. Khi bạn đã sẵn sàng với các tệp âm thanh, hãy truy cập vào bộ chuyển đổi âm thanh jovo tech để tải lên tệp mp3 của bạn và nhận liên kết cho tệp đó.
Lưu ý rằng đây là một công cụ thử nghiệm và các tệp của bạn sẽ chỉ tồn tại trong 24 giờ. Nếu bạn cần nó hoạt động trong một thời gian dài, bạn phải sử dụng máy chủ web của riêng bạn như Google fire-base như giao diện trợ lý Google firebase mẫu này. Bây giờ bạn đã có liên kết, phản hồi của bạn trên luồng hộp thoại sẽ trông giống như thế này
Đảm bảo rằng bạn nhấp vào lưu để lưu ý định này.
Bước 5: Tương tự, tạo một ý định mới khác để tắt đèn. Một lần nữa nhập cụm từ đào tạo của bạn và cả câu trả lời của bạn. Lần này chèn liên kết của tệp âm thanh kia và yêu cầu nó nói Đèn đã tắt như hình dưới đây.
Một lần nữa, hãy chắc chắn rằng bạn cũng lưu nó.
Bước 6: Bây giờ, ở bên trái, nhấp vào tab tích hợp và chọn Trợ lý Google. Điều này sẽ giúp chúng tôi kiểm tra ứng dụng bằng trợ lý của Google. Chọn Ứng dụng Trợ lý Google và nhấp vào “KIỂM TRA”
Bước 7: Quá trình này sẽ mất một khoảng thời gian sau đó bạn sẽ nhận được màn hình kiểm tra như hình bên dưới. Ở góc bên trái, bạn có thể thấy hộp văn bản nơi bạn có thể nhập các lệnh kiểm tra của mình và xem ứng dụng phản hồi như thế nào. Bạn cũng có thể tìm thấy một số ứng dụng gỡ lỗi ở phía bên trái của màn hình.
Khi bạn nhập “bật đèn đọc sách”, nó sẽ phát âm báo và nói rằng đèn đã được bật, tương tự như vậy đối với “Tắt đèn đọc sách”. Khi nó hoạt động ở đây, bạn có thể thử nó trên bất kỳ thiết bị trợ lý nào của Google như điện thoại hoặc google home mini được kết nối với ID Gmail của bạn. Chỉ cần nói trò chuyện với ứng dụng thử nghiệm của tôi và bắt đầu điều khiển thiết bị.
Chuẩn bị Arduino Nano 33 của bạn
Bây giờ về mặt phần cứng, mọi thứ đã trở nên khá dễ dàng nhờ vào bo mạch Arduino Nano 33 BLE Sense. Bởi vì bo mạch có sẵn thư viện micrô và chirp sẵn sàng triển khai trực tiếp từ Arduino IDE của bạn. Nếu bạn hoàn toàn mới làm quen với bảng này thì bạn nên đọc Bài viết “Bắt đầu với Arduino Nano 33 BLE” này để hiểu