최근에 나는 시장에 나와있는 모든 새로운 홈 오토메이션 제품에 흥미를 느꼈기 때문에 조명, 팬, AC 등을 제어하기 위해 Google Home Mini와 다른 몇 가지 스마트 장치를 구입했습니다. 작동하고 모든 것이 사용하기 재미 있었지만, 이러한 모든 무선 연결이 제 주변에서 발생하는 데 약간의 어려움을 겪었습니다. 내 침실에만 5 개의 스마트 기기가 있었는데 노트북과 전화를 포함 해 내 주변에 총 7 개의 무선 기기가 항상 라우터에 연결되어있을 것입니다. 이 모든 Wi-Fi 신호가 우리 건강에 좋지 않을까 걱정했고 Sciencedirect에 대한이 연구 논문은 내 생각에 증거를 추가했습니다. 이때부터 Wi-Fi / Bluetooth가 필요없는 대체 무선 홈 자동화 솔루션에 대해 생각하기 시작했습니다.
Chirp를 사용하는 홈 자동화 장치에 대한 새로운 접근 방식
우리는 이전에 Wi-Fi 또는 Bluetooth 없이도 작동 할 수있는 IR 원격 제어 홈 자동화 프로젝트를 구축했지만 더 이상 멋지지 않아 음성으로 장치 를 제어하고 싶었습니다. 구글 홈 미니가 스마트 기기와 직접 통신 하는 기술을 찾고 있었기 때문에 기본적으로 Wi-Fi 나 BLE를 사용하지 않고 Machine to Machine 무선 통신 방식이 필요합니다.
Chirp의 CTO 인 Dan Jones와의 인터뷰에서 Chirp는“Chirp은 음파를 사용하여 정보를 전송하는 방법입니다. 무선 주파수를 사용하는 Wi-Fi 또는 Bluetooth와 달리 Chirp는 컴퓨터 스피커를 사용하여 재생 (전송) 할 수 있고 RF 칩과 같은 추가 하드웨어없이 컴퓨터 마이크를 통해 수신 할 수있는 톤으로 데이터를 인코딩합니다. 이를 통해 휴대 전화, 노트북, PA 시스템 등과 같이 스피커와 마이크가있는 모든 소비자 기기에서 Chirp를 사용할 수 있으며 YouTube 스트림이나 TV 방송을 통해서도 정보를 전송할 수 있습니다. " 즉, Google home mini를 사용하여 스마트 장치와 직접 대화 할 수 있습니다 (Chirp 사용).필요한 작업을 수행하기 위해 처프 오디오 데이터를 디코딩하는 이러한 스마트 장치 내부의 마이크와 프로세서 만 있으면됩니다. Chirp는 또한 최근 Arduino 용 사운드 오버 사운드 통합을 발표했습니다. 이는 새로운 Arduino nano 33 BLE 감지 보드를 사용하여 프로젝트를위한 Chirp SDK를 실행할 수 있음을 의미합니다.
따라서이 프로젝트에서는 Wi-Fi 또는 Bluetooth와 같은 무선 연결을 사용하지 않고도이 스마트 장치를 제어 할 수 있는 Acoustic Home Automation Device 를 구축 할 것입니다. 우리가 사용하는 구글에 대한 작업을 하고 Dialogflow는 이 인코딩 된 오디오 (짹짹)를 재생하기 위해 우리의 구글 지원에 대한 테스트 응용 프로그램을 구축 할 수 있습니다. 이 오디오는 Chirp Arduino Program을 실행하는 Arduino nano BLE 감지 보드에 의해 캡처됩니다. 데이터에 인코딩 된 메시지를 기반으로 Arduino 보드는 RGB LED를 제어하는 AC 부하를 토글하는 등의 모든 작업을 수행 할 수 있습니다. 많지만 비교적 간단하며 전체 지침은 아래에 나와 있습니다. 그럼 시작하겠습니다.
Google 어시스턴트로 Chirp Audio 재생
음성 제어 홈 자동화 를 구축하는 가장 쉬운 방법 은 홈 자동화 용 Google 어시스턴트와 함께 IFTTT를 사용하는 것입니다. 그러나이 기사를 작성하는 시점에서 Chrip은 IFTTT에 애플릿이 없으므로 Google 플랫폼 용 기본 액션을 사용할 것입니다. 이 기사를 읽는 시점에 Chirp가 IFTTT에서 자체 애플릿을 제공했을 가능성이 있으므로 확인하십시오. 그렇지 않다면 Actions for Google을 진행 하여 Google 어시스턴트 애플리케이션을 빌드 해 보겠습니다.
1 단계: Dialogflow 콘솔을 엽니 다. 아직 가입하지 않았다면 가입해야 할 수도 있습니다. 그런 다음 아래와 같이 "Create New Agent"를 클릭합니다.
2 단계: 새 에이전트에 이름을 지정한 다음 만들기를 클릭합니다. 에이전트 이름을 "Circuitdgest_Automation"으로 지정했습니다.
3 단계: 이제 의도 섹션으로 이동합니다. 여기에서 다양한 인 텐트에 대해 새 에이전트를 교육합니다. 우리의 경우 두 가지 인 텐트를 작성할 것입니다. 하나는 조명을 켜고 다른 하나는 조명을 끄는 것입니다. 에이전트가 이해해야하는 애플리케이션 및 명령을 기반으로 원하는 수의 인 텐트를 작성할 수 있습니다. 기본적으로 환영 인 텐트가 있지만 "인 텐트 만들기"를 클릭하여 라이트를 켤 새 인 텐트를 만들고이 인 텐트의 이름을 Lights on으로 지정하겠습니다.
새 페이지에서 "교육 문구 추가"를 클릭하고 어시스턴트가 이해해야하는 명령을 입력하십시오.이 경우에는 "조명을 켜십시오". 동일한 인 텐트의 의미를 전달하는 학습 문구를 원하는만큼 작성할 수 있습니다.
4 단계: 이제 아래로 스크롤하여 "응답 추가"를 클릭합니다. 이 특정 인 텐트가 트리거되면 어시스턴트에게 응답하는 방법을 알려줍니다. 기본적으로 여기에 텍스트 응답을 입력 할 수 있지만 어시스턴트를 재생하려면 오디오가 필요하므로 "기본"탭 근처의 "+"기호를 클릭하고 Google 어시스턴트를 선택한 다음 "응답 추가"를 선택하고 "단순 응답"을 선택하십시오. ”. 이 코드의 단순 응답 텍스트 상자 유형 내부
URL에서 오디오를 재생 한 다음 "Lights Turned ON"이라고 말하는 간단한 SSML 코드입니다. 이 오디오는 Chirp에서 인코딩 된 오디오 여야하며 jovo.tech에 업로드되어야합니다.
처프에서 인코딩 된 오디오 가져 오기:
이 인코딩 된 오디오는 Chrip Android 애플리케이션에서 얻을 수 있습니다. 앱을 설치하고 인코딩 할 메시지를 입력하고 보내기 버튼을 클릭하여 인코딩 된 오디오를 듣습니다.
여기에“Lights on”이라고 입력했습니다. 마찬가지로 메시지를 입력하고 보내기 버튼을 클릭하여 인코딩 된 오디오를 확인할 수 있습니다. 그런 다음 사운드 레코더를 사용하여이 오디오 파일 (mp3 형식)을 저장할 수 있습니다. 인코딩 된 메시지 "Lights on"및 "Lights off"와 함께 두 개의 오디오 파일을 녹음했습니다. 시간을 절약하려면 여기에서 다운로드 할 수 있습니다. 오디오 파일이 준비되면 jovo tech 오디오 변환기로 이동하여 mp3 파일을 업로드하고 링크를 받으십시오.
이 도구는 테스트 도구이며 파일은 24 시간 동안 만 게시됩니다. 오랫동안 작동해야하는 경우이 샘플 firebase Google 어시스턴트 인터페이스와 같은 Google fire-base와 같은 자체 웹 서버를 사용해야합니다. 이제 링크를 얻었으므로 대화 흐름에 대한 응답은 다음과 같아야합니다.
이 인 텐트를 저장하려면 저장을 클릭하십시오.
5 단계: 마찬가지로, 다른 새 인 텐트를 생성하여 조명을 끕니다. 다시 학습 문구와 응답을 입력합니다. 이번에는 다른 오디오 파일의 링크를 삽입하고 아래와 같이 Lights off라고 말하도록 요청합니다.
다시 이것도 저장하십시오.
6 단계: 이제 왼쪽에서 통합 탭을 클릭하고 Google 어시스턴트를 선택합니다. Google 어시스턴트를 사용하여 애플리케이션을 테스트하는 데 도움이됩니다. Google Assistant 애플리케이션을 선택하고 "테스트"를 클릭하십시오.
7 단계: 이 작업은 약간의 시간이 소요되며 그 후 아래와 같은 테스트 화면이 표시됩니다. 왼쪽 모서리에서 테스트 명령을 입력하고 응용 프로그램이 응답하는 방식을 볼 수있는 텍스트 상자를 볼 수 있습니다. 화면 왼쪽에서 일부 디버깅 애플리케이션을 찾을 수도 있습니다.
"독서 조명 켜기"를 입력하면 짹짹 소리가 나고 조명이 켜졌다 고 말해야합니다. "독서 조명 끄기"와 비슷합니다. 여기에서 작동하면 Gmail ID에 연결된 휴대 전화 또는 Google Home mini와 같은 Google 어시스턴트 기기에서 사용해 볼 수 있습니다. 내 테스트 앱에 말하고 장치 제어를 시작하십시오.
Arduino Nano 33 준비
이제 하드웨어 측면에서 Arduino Nano 33 BLE Sense 보드 덕분에 작업이 매우 쉬워졌습니다. 보드에는 Arduino IDE에서 직접 배포 할 수있는 내장 마이크 및 처프 라이브러리가 있기 때문입니다. 이 보드를 완전히 처음 사용하는 경우 "Arduino Nano 33 BLE 시작하기"기사를 읽고 이해하는 것이 좋습니다.