ESP8266 - BLE | ESP8266 - BLE
이 튜토리얼은 ESP8266을 사용하여 BLE HM-10 모듈을 제어하는 방법을 안내합니다. 구체적으로, 우리는 배울 것입니다:
- ESP8266과 블루투스 로우 에너지(BLE) 기술의 활용
- ESP8266에서 BLE를 통해 스마트폰 앱으로 데이터 전송하기
- BLE를 통해 스마트폰 앱에서 ESP8266으로 데이터 수신하기
- BLE의 도움으로 스마트폰 앱에서 ESP8266 제어하기
이 튜토리얼의 목적은 다음과 같습니다:
- ESP8266과 스마트폰 앱 사이에 BLE를 통해 데이터를 교환합니다.
- 널리 인기 있는 HM-10 블루투스 저에너지 모듈을 활용하세요.
- Android에서 Bluetooth Serial Monitor 앱을 소개하지만, Android/iOS 앱이라면 어떤 것이든 사용할 수 있습니다.
- 스마트폰 앱을 통해 ESP8266에 연결된 다양한 장치들을 조작하세요. 예를 들어 LED와 서보 모터 같은 장치들이 있습니다.
이 튜토리얼은 특히 블루투스 저에너지(BLE, 또는 블루투스 4.0)에 대한 것임을 알아두는 것이 중요합니다. 클래식 블루투스(블루투스 2.0)에 대한 정보가 필요하다면, 비슷한 튜토리얼 ESP8266 - 블루투스를 참조하십시오.
준비물
1 | × | ESP8266 NodeMCU | Amazon | |
1 | × | Micro USB Cable | Amazon | |
1 | × | HM-10 Bluetooth Module | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 5V Power Adapter for ESP8266 | Amazon | |
1 | × | (Optional) Screw Terminal Expansion Board for ESP8266 | 쿠팡 | Amazon |
HM-10 블루투스 모듈 정보
HM-10은 시리얼에서 블루투스 저에너지 어댑터로 작동하는 시리얼 BLE 모듈입니다. 다음과 같은 작업을 수행합니다:
- 시리얼 RX 핀에서 데이터를 가져와 BLE를 통해 스마트폰과 같은 연결된 장치에 보냅니다.
- BLE에서 데이터를 수신하여(페어링된 장치에서) 시리얼 TX 핀으로 전송합니다.
ESP8266이 스마트폰 앱(Android/iOS)과 통신하는 경우, 다음과 같은 단계가 진행됩니다:
- ESP8266과 HM-10 Bluetooth 모듈 간에 시리얼/소프트웨어시리얼 핀을 통해 연결이 설정됩니다.
- HM-10 Bluetooth 모듈이 스마트폰 앱과 페어링됩니다.
- ESP8266에서 스마트폰 앱으로 데이터를 보내려면 시리얼/소프트웨어시리얼로 데이터를 전송합니다.
- 스마트폰 앱에서 ESP8266으로 데이터를 수신하려면 시리얼/소프트웨어시리얼에서 데이터를 읽습니다.
- ESP8266에 추가적인 BLE 코드가 필요하지 않습니다.
BLE HM-10 모듈 핀배열
HM-10 BLE 모듈에는 6개의 핀이 있습니다:
- BKR 핀은 모듈의 동작을 제어하는 데 사용됩니다. 만약 초보자라면 이 핀은 무시해도 됩니다.
- RX 핀은 시리얼 데이터 핀이며 ESP8266의 TX 핀에 연결되어야 합니다. 이 핀에서 받은 데이터는 Bluetooth로 보내질 것입니다.
- TX 핀은 시리얼 데이터 핀이며 ESP8266의 RX 핀에 연결되어야 합니다. BLE을 통해 받은 데이터는 시리얼 데이터로서 이 핀을 통해 전송될 것입니다.
- GND 핀은 전력 핀이며 전원 소스의 GND에 연결되어야 합니다.
- VCC 핀은 전력 핀이며 공급 전압의 3.3V에 연결되어야 합니다.
- STATE 핀은 작동 상태를 나타냅니다:
- 대기 모드에서 깜박임 - 500ms 펄스를 반복합니다;
- 연결 상태에서 켜짐 - 고수준에서 있을 것입니다.
- HM-10에는 VCC, GND, RX, TX 네 개의 핀만 필요합니다.
- 일부 HM-10 제조사는 이 네 개의 핀만으로 제조합니다.
※ NOTE THAT:
블루투스 시리얼 모니터 앱에 대하여
블루투스 시리얼 모니터 앱을 사용하려면 먼저 ESP8266을 HM-10 블루투스 모듈에 연결해야 합니다. 그 다음, 스마트폰에 앱을 다운로드하고 설치하세요. 마지막으로, 앱을 열고 HM-10 블루투스 모듈에 연결하세요.
이 단계들을 모두 마치면, 아두이노 IDE의 시리얼 모니터를 사용하는 것처럼 ESP8266에서 데이터를 송수신할 수 있게 됩니다. 이를 위해 ESP8266 코드를 변경하거나 블루투스 관련 코드를 추가할 필요가 없습니다.
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP8266의 핀 배치 및 ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.
배선 테이블은 다양한 구성 요소 간의 연결을 표시하는 차트 유형입니다. 배선 테이블은 여러 구성 요소 간의 연결을 보여주는 차트입니다.
ESP8266 Pins | HM-10 Bluetooth Pins |
---|---|
Pin D7 | TX |
Pin D6 | RX |
5V | VCC |
GND | GND |
BKR (NOT connected) | |
STATE (NOT connected) |
※ NOTE THAT:
ESP8266 코드는 Serial 객체 대신 Serial1, Serial2 또는 SoftwareSerial(사용 가능한 경우)과 같은 대체 옵션으로 다른 핀을 사용하도록 수정될 수 있습니다.
블루투스 프로그래밍 방법
블루투스에 특별한 프로그래밍이 필요하지 않으며, 시리얼 프로그래밍만 필요합니다.
ESP8266이 스마트폰의 블루투스 앱으로 데이터를 전송합니다
ESP8266 보드에서 스마트폰의 블루투스 앱으로 데이터를 전송하려면 다음 코드를 사용할 수 있습니다. 이 예제는 ESP8266에서 스마트폰 앱으로 매초 “ESP8266 여기 있어, 명령을 내려줘!”라는 메시지를 전송하는 것을 보여줍니다.
사용 방법
Arduino IDE에서 ESP8266을 시작하는 방법은 다음과 같은 단계를 따르세요:
- ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정하는 방법 튜토리얼을 확인해보세요.
- 다이어그램에 표시된 대로 컴포넌트를 연결하세요.
- USB 케이블을 사용하여 컴퓨터에 ESP8266 보드를 연결하세요.
- 컴퓨터에서 Arduino IDE를 엽니다.
- 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
ESP8266 보드를 BLE를 통해 스마트폰과 통신하도록 설정하려면 다음 단계를 따라야 합니다:
- 블루투스 시리얼 모니터 앱을 획득하여 스마트폰에 설치하세요.
- 연결도에 따라 HM-10 블루투스 모듈을 ESP8266 보드에 연결하세요.
- 아두이노 IDE를 열고, 위에 주어진 코드를 복사한 뒤 ESP8266 보드에 업로드하세요. 코드를 업로드할 수 없는 경우, 블루투스 모듈의 TX 및 RX 핀을 분리한 다음 코드를 업로드하고 RX/TX 핀을 다시 연결하세요.
- 아두이노 IDE에서 시리얼 모니터를 실행하세요.
- 스마트폰에서 블루투스 시리얼 모니터 앱을 열고 BLE 모드를 선택하세요.
스마트폰을 HM-10 블루투스 모듈에 연결하세요.
안드로이드 앱의 결과를 조사하십시오.
아두이노 IDE의 시리얼 모니터에 표시된 출력을 검토하십시오.
언급된 단계들을 수행하고 코드를 실행하면, 아두이노 IDE의 시리얼 모니터와 안드로이드 앱에 표시되는 데이터가 같다는 것을 알게 될 것입니다.
블루투스 앱이 ESP8266으로 데이터를 전송합니다.
아래는 코드가 수행하는 단계입니다:
- 블루투스 앱에서 ESP8266 보드로 데이터 전송하기
- ESP8266 보드가 들어오는 데이터를 읽고 블루투스 장치로 응답을 보냅니다.
사용 방법
- 다이어그램에 표시된 대로 구성 요소를 연결하세요.
- USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 아두이노 IDE를 열세요.
- 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E 모듈))와 해당 COM 포트를 선택하세요.
다음은 ESP8266과 안드로이드 앱을 사용하여 코드를 사용하는 방법입니다:
- Arduino IDE를 열고 제공된 코드를 복사하여 시작하세요.
- Upload 버튼을 클릭하여 코드를 ESP8266 보드로 전송하세요.
- 이제 Arduino IDE에서 시리얼 모니터를 엽니다.
- 다음으로, Android 앱을 열고 이전 예제의 지시에 따라 HM-10 블루투스 모듈과 페어링하세요.
- 마지막으로, Android 앱에서 "LED ON" 또는 "LED OFF"를 입력하고 "SEND" 버튼을 누르세요.
ESP8266 보드가 데이터를 받고, 시리얼 포트에 응답을 출력할 것입니다. 이 응답은 블루투스 앱으로 전송되며, 결과는 안드로이드 앱에서 확인할 수 있습니다.
아두이노 IDE의 시리얼 모니터에 표시된 출력을 검사하십시오.
위의 단계를 모두 거치고 나면, 아두이노 IDE의 시리얼 모니터와 안드로이드 앱에 표시되는 정보가 동일함을 확인할 수 있습니다.
ESP8266 코드 - 스마트폰 앱을 통한 BLE를 이용한 LED 제어
이 ESP8266 예제 코드는 “켜기”와 “끄기” 명령어를 사용합니다. 이 명령어들은 Bluetooth Serial Monitor 앱을 통해 수신되며 내장 LED를 켜거나 끄는 데 사용됩니다.
ESP8266이 Bluetooth/BLE을 통해 LED를 제어 튜토리얼을 방문하면 지침을 더 자세히 살펴볼 수 있습니다. 지침을 더 잘 이해하려면 ESP8266이 Bluetooth/BLE을 통해 LED를 제어 튜토리얼을 확인하세요. 지침을 철저히 검토하려면 ESP8266이 Bluetooth/BLE을 통해 LED를 제어 튜토리얼을 참조하세요.
ESP8266 코드 - BLE를 통해 스마트폰 앱으로 서보 모터 제어
- 아래의 ESP8266 코드는 각도 값을 수신하기 위한 목적입니다. 2. 이 값은 Bluetooth Serial Monitor 앱을 통해 전송됩니다. 3. 각도 값은 서보 모터의 각도를 제어하는 데 사용됩니다.
ESP8266 controls Servo Motor via Bluetooth/BLE 제목의 튜토리얼에서 지침에 대한 추가 정보를 확인할 수 있습니다. 지침에 대해 더 자세히 알아보려면, ESP8266 controls Servo Motor via Bluetooth/BLE 튜토리얼을 참조해 주세요.
블루투스 시리얼 모니터 앱이 유용하다고 생각되시면, 플레이 스토어에서 별 5개 평가를 해주셔서 감사의 뜻을 보여주세요. 여러분의 지원에 깊이 감사드립니다!
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.