오늘 우리는 스마트 폰을 통해 음성으로 LED 조명을 제어 할 수있는 매우 유용한 프로젝트를 구축하고 있습니다. 이 프로젝트에서는 Bluetooth 모듈을 사용하여 스마트 폰에서 Raspberry Pi로 음성 명령을 보내고 Raspberry Pi는 전송 된 신호를 무선으로 수신하고 하드웨어를 통해 각각의 작업을 수행합니다. 릴레이를 사용하여 LED를 AC 가전 제품으로 교체하고 음성 제어 홈 자동화 프로젝트를 구축 할 수 있습니다.
사용 된 구성 요소:
- Raspberry Pi 3 (모든 모델이 작동 함)
- 블루투스 모듈 HC-06
- 브레드 보드
- 100 옴 저항기 (3)
- LED (파란색, 빨간색, 녹색)
- 와이어 연결
- 전원 공급
- 이더넷 케이블
- 안드로이드 폰
블루투스 모듈:
블루투스 모듈은 블루투스 직렬 인터페이스 모듈과 블루투스 어댑터의 두 가지로 구성됩니다. Bluetooth 직렬 모듈은 직렬 포트를 Bluetooth로 변환하는 데 사용됩니다.
블루투스 모듈 작동 방법:
블루투스 모듈의 설정을 변경할 필요가 없으므로 시중에서 구입 한 후 직접 블루투스 모듈을 사용할 수 있습니다. 새 Bluetooth 모듈의 기본 전송 속도는 9600bps입니다. rx 및 tx를 컨트롤러 또는 직렬 변환기에 연결하고 모듈에 5V DC 조정 전원 공급 장치를 제공하기 만하면됩니다.
블루투스 모듈에는 두 가지 모드가 있습니다. 하나는 마스터 모드이고 두 번째는 슬레이브 모드입니다. 사용자는 일부 AT 명령을 사용하여 두 모드 중 하나를 설정할 수 있습니다. 사용자도 AT 명령어를 이용하여 모듈의 설정을 할 수 있습니다. 다음은 몇 가지 명령 사용이 제공됩니다.
먼저 사용자는 블루투스 모듈에서 EN 버튼을 누르거나 EN 핀에서 HIGH 레벨을 제공하여 38400 bps 전송 속도로 AT 모드로 들어가야합니다. 참고: 모든 명령은 \ r \ n (0x0d 및 0x0a) 또는 키보드에서 Enter 키로 끝나야합니다.
그 후 AT를 모듈로 보내면 모듈이 OK로 응답합니다.
AT à 테스트 명령
AT + ROLE = 0 à 슬레이브 모드 선택
AT + ROLE = 1 à 마스터 모드 선택
AT + NAME = xyz à 블루투스 이름 설정
AT + PSWD = xyz à 비밀번호 설정
AT + UART =
예: AT + UART = 9600,0,0
HC-06 블루투스 모듈의 핀 설명:
1. STATE à 오픈
2. Rx à 직렬 수신 핀
3. Tx à 직렬 전송 핀
4. GND à 접지
5. Vcc à +5 볼트 dc
6. AT 모드로 들어가려면 KEY à
작동 설명:
이 음성 제어 LED 프로젝트의 작업 은 매우 쉽습니다. 이 프로젝트에서는 서로 다른 색상 (파란색, 빨간색 및 녹색)의 세 가지 LED를 사용했습니다. HC-06 블루투스 모듈 문자열 포맷으로 음성 명령의 출력을 수신하기 위해 사용된다. Raspberry Pi 는 Bluetooth 모듈에서 수신되는 문자열을 수신하고 사전 정의 된 문자열과 비교하여 각 작업을 수행합니다.
이 프로젝트에서는 스마트 폰에서 Raspberry Pi에 음성 명령을 제공하기 위해 Android Phone (Android Meets Robots: 음성 인식) 에서 AMR Voice App을 사용했습니다.
AMR 음성 앱 설치 및 구성:
AMR Voice App은 Google Play Store에서 다운로드하여 설치할 수 있습니다. 이 프로젝트를 위해 Google 보이스 앱도 설치해야합니다. AMR 보이스 앱은 음성을 입력으로 받아 Android 모바일 내부 음성 인식 (Google 보이스 앱)을 사용하여 텍스트 문자열로 변환하고이 변환 된 텍스트를 블루투스를 통해 직렬로 전송합니다.
이제 AMR 음성 앱을 열고 옵션 메뉴로 이동 하여 '로봇 연결'을 클릭하여 블루투스 모듈 에 연결합니다.
이제 사용자는 모바일 화면에서 마이크 기호를 탭하고 미리 정의 된 음성 명령을 말하여 LED를 작동 할 수 있습니다.
1. "파란색 표시 등 켜짐"(파란색 LED 만 켜짐)
2. "파란색 표시 등 꺼짐"(파란색 LED 만 꺼짐)
3. "빨간색 표시 등 켜짐"(빨간색 LED 만 켜짐)
4. "빨간색 표시 등 꺼짐"(빨간색 LED 만 꺼짐)
5. "녹색 표시 등 켜짐"(녹색 LED 만 켜짐)
6. "녹색 표시 등 꺼짐"(녹색 LED 만 꺼짐)
7. "모든 표시 등 켜짐"(파란색, 빨간색 및 녹색 LED 켜짐)
8. "모든 표시 등 꺼짐"(파란색, 빨간색 및 녹색 LED 꺼짐)
9. "깜박임"(모든 LED가 100 밀리 초 간격으로 깜박이기 시작 함)
그런 다음 AMR 음성 앱은이 음성을 녹음하고 Google Voice 앱으로 전송하여 텍스트 문자열 형식으로 변환합니다. 이제이 변환 된 문자열은 Bluetooth 모듈을 통해 Raspberry Pi로 전송되고 Raspberry Pi는 UART 포트에서이 문자열을 읽고 코드의 문자열에 저장합니다. 그런 다음 미리 정의 된 문자열과 비교하여 일치하는 항목이 있으면 Raspberry Pi가 각각의 작업을 수행하거나 작업을 수행합니다.
회로 설명:
이 프로젝트의 회로는 Raspberry Pi 3 Board, LED 및 Bluetooth 모듈 (HC-06) 을 포함하는 매우 간단 합니다. Raspberry Pi는 Bluetooth 모듈을 읽고 그에 따라 LED를 제어합니다. 블루, 레드, 그린 LED는 GPIO 17, 27, 22에 연결되어 있습니다. 블루투스 모듈의 Rx와 Tx는 Raspberry Pi의 Tx와 Rx 핀에 직접 연결됩니다. 나머지 연결은 회로도에 표시됩니다.
Raspberry Pi 구성 및 Python 프로그램:
우리가 사용하는 파이썬 언어 여기에 프로그램을. 코딩하기 전에 사용자가 Raspberry Pi를 구성해야합니다. Raspberry Pi 시작하기 및 Pi에서 Raspbian Jessie OS 설치 및 구성에 대한 이전 자습서를 확인할 수 있습니다.
그런 다음 Raspbian Jessie에서 최신 업데이트 를 실행 하려면 다음 명령을 실행 해야합니다.
sudo apt-get 업데이트 sudo apt-get 업그레이드
Raspberry Pi GPIO 개발 도구 를 설치 해야하는 경우 다음 명령으로 설치할 수 있습니다.
sudo apt-get install python-dev sudo apt-get install python-rpi.gpio
그런 다음 사용자 는 Raspberry Pi의 직렬 포트 를 구성 해야합니다. 여기에서는이 프로젝트에 Raspberry Pi 3를 사용했습니다. 따라서 사용자는 Raspberry Pi 버전에 따라 직렬 포트를 구성해야합니다. Raspberry Pi 3의 경우 첫 번째 사용자는 RPi 소프트웨어 구성 도구를 통해 직렬 포트를 통한 콘솔 로그인을 비활성화해야합니다. 아래 명령을 사용하여 엽니 다.
sudo raspi-config
그런 다음 '고급 옵션'으로 이동하여 '직렬'을 선택하고 '비활성화'하십시오.
그런 다음 /boot/config.txt 파일 끝에 dtoverlay = pi3-miniuart-bt 를 추가하여 Raspberry Pi 3의 내장 Bluetooth 를 비활성화 해야 합니다.
sudo nano /boot/config.txt
라인을 추가 한 후 sudo reboot 명령 을 실행하여 Raspberry Pi 를 재부팅하십시오 .
마지막으로 Raspberry Pi에 다시 로그인하고 /boot/comline.txt 파일을 구성합니다.
sudo nano /boot/comline.txt
다음과 같이 파일을 편집하십시오.
dwc_otg.lpm_enable = 0 console = tty1 console = serial0,115200 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline fsck.repair = yes rootwait
이제 Raspberry Pi에서 아래 제공된 Python 프로그램을 실행할 수 있습니다. 프로그램은 쉽고 이해하기 쉽습니다.
그래서 여기에서 Raspberry Pi를 사용하여 음성 제어 장치 구축을 완료했습니다. 릴레이를 추가하여 AC 가전 제품을 제어하기 위해 추가로 개선하고 수정할 수 있습니다.