ESP 32 블 루 투 스 모듈 초기 분석
3077 단어 esp32
블 루 투 스 개발 의 가장 중요 한 조건 은 블 루 투 스 의 확률, 협의 와 절 차 를 기본적으로 파악 하 는 것 이다.개발 내용 은 대동소이 하 다.
추천 글:
a. 블 루 투 스 개념 소개, 개발 의 기본 절차
https://blog.csdn.net/changyourmind/article/details/60137061
b. 블 루 투 스 핵심 기술 개술 (1): 블 루 투 스 개술
http://blog.csdn.net/xubin341719/article/details/38145507
c. 블 루 투 스 핵심 기술 개술 (2): 블 루 투 스 사용 장면
http://blog.csdn.net/xubin341719/article/details/38228705
d. 블 루 투 스 핵심 기술 개술 (3): 블 루 투 스 협의 규범 (무선 주파수, 베이스밴드 링크 제어, 링크 관리)
http://blog.csdn.net/xubin341719/article/details/38303881
e. 블 루 투 스 핵심 기술 개요 (4): 블 루 투 스 프로 토 콜 규범 (HCI, L2CAP, SDP, RFOCMM)
http://blog.csdn.net/xubin341719/article/details/38305331
f. 블 루 투 스 핵심 기술 개술 (5): 블 루 투 스 프로 토 콜 규범 (irOBEX, BNEP, AVDTP, AVCTP)
http://blog.csdn.net/xubin341719/article/details/38335533
2. 블 루 투 스 초기 화
A2DP (Advanced Audio Distribution Profile 블 루 투 스 오디 오 전송 모델 협정) 사용 초기 화 만 소개 하고 구체 적 으로 는 낙 흠 의 공식 문서 에서 볼 수 있다.http://esp-idf.readthedocs.io/en/latest/get-started/index.html
기본적으로 esp - idf / examples / bluetooth / a2dpsink 의 예제 코드 가 수정 되 었 습 니 다. 대부분 변경 되 지 않 았 습 니 다.
void init()
{
esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT();
if (esp_bt_controller_init(&bt_cfg) != ESP_OK) {
ESP_LOGE(BT_AV_TAG, "%s initialize controller failed
", __func__);
return;
}
if (esp_bt_controller_enable(ESP_BT_MODE_BTDM) != ESP_OK) {
ESP_LOGE(BT_AV_TAG, "%s enable controller failed
", __func__);
return;
}
if (esp_bluedroid_init() != ESP_OK) {
ESP_LOGE(BT_AV_TAG, "%s initialize bluedroid failed
", __func__);
return;
}
if (esp_bluedroid_enable() != ESP_OK) {
ESP_LOGE(BT_AV_TAG, "%s enable bluedroid failed
", __func__);
return;
}
/* create application task */
bt_app_task_start_up();
/* Bluetooth device name, connection mode and profile set up */
bt_app_work_dispatch(bt_av_hdl_stack_evt, BT_APP_EVT_STACK_UP, NULL, 0, NULL);
}
static void bt_av_hdl_stack_evt(uint16_t event, void *p_param)
{
ESP_LOGD(BT_AV_TAG, "%s evt %d", __func__, event);
switch (event) {
case BT_APP_EVT_STACK_UP: {
/* set up device name */
char *dev_name = "ESP_SPEAKER";
esp_bt_dev_set_device_name(dev_name);
/* initialize A2DP sink */
esp_a2d_register_callback(&bt_app_a2d_cb);
esp_a2d_register_data_callback(bt_app_a2d_data_cb);
esp_a2d_sink_init();
/* initialize AVRCP controller */
esp_avrc_ct_init();
esp_avrc_ct_register_callback(bt_app_rc_ct_cb);
/* set discoverable and connectable mode, wait to be connected */
esp_bt_gap_set_scan_mode(ESP_BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);
break;
}
default:
ESP_LOGE(BT_AV_TAG, "%s unhandled evt %d", __func__, event);
break;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Acionamento do motor de acordo com a hora.O NTP(Protocolo de Tempo para Redes), é o padrão que permite a sincronização dos relógios dos dispositivos de uma rede. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.