RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【開源獲獎案例】迪文屏與安卓手機雙向聯(lián)動控制音樂播放

迪文智能屏 ? 2024-04-29 08:13 ? 次閱讀

——來自迪文開發(fā)者論壇

本期為大家推送迪文開發(fā)者論壇獲獎開源案例——迪文屏與安卓手機雙向聯(lián)動控制音樂播放。工程師通過藍(lán)牙模塊實現(xiàn)了迪文智能屏與安卓手機的數(shù)據(jù)交互,用戶可以輕松控制安卓手機、U盤中的歌曲播放、暫停、換曲及音效設(shè)置,體驗智能屏與安卓手機的雙向便捷操控。


UI開發(fā)示例

42e79442-05bd-11ef-9118-92fbcf53809c.png

C51工程設(shè)計

T5L 串口與藍(lán)牙模塊進(jìn)行數(shù)據(jù)交互,修改播放狀態(tài)、設(shè)置音量、讀取藍(lán)牙狀態(tài),部分參考代碼如下:

int main(void){ INIT_CPU(); T2_Init(); UART4_Init();EA=1; //UART4_SendStr("hello",sizeof("hello")); //WDT_ON();//打開看門狗 while(1){ //WDT_RST();//喂狗 Process(); }}void UART4_Init(void){ //UART4波特率設(shè)置: //BODE2_DIV_H=CPU 主頻/(8*波特率) 。 //206438400/8/115200=224=0xe0 //206438400/8/921600=28=0x1C //206438400/8=25804800/230400=112=0x70 SCON2T=0x80; SCON2R=0x80; BODE2_DIV_H=0x00;//FCLK/(8*DIV) BODE2_DIV_L=0xe0;//921600 波特率 //BODE2_DIV_H=0x00; //FCLK/(8*DIV) //BODE2_DIV_L=0x70; //ES3T=1; ES2R=1; EA=1;}void TenMsHandle(void){ if(!TenmsFlag) return; TenmsFlag=0; SourcePress();//音源改變 PlayCtrPress();//播放狀態(tài)改變 VolCtrSlider();//音量改變 VolLogSlider();//音量改變 ReadBtState();//讀取藍(lán)牙狀態(tài)}void SourcePress(void){ charTouchKey[2]={0,0}; u8Sdata[2]; read_dgusii_vp(0x3000,TouchKey,1); if(TouchKey[1]==0) return;Sdata[1]=0; switch(TouchKey[1]) { case1://U盤 Sdata[0]=1; SendDataToBT(Write_Run_Mode,Sdata,1); break; case2://外部LineIn輸入 Sdata[0]=2; SendDataToBT(Write_Run_Mode,Sdata,1); break; case3://藍(lán)牙 Sdata[0]=3; SendDataToBT(Write_Run_Mode,Sdata,1); break; } write_dgusii_vp(0x3003,TouchKey,1); memset(TouchKey,0,sizeof(TouchKey)); write_dgusii_vp(0x3000,TouchKey,1); ReadBtStatecount=0;}void PlayCtrPress(void){ charTouchKey[2]={0,0}; u8Sdata[2]; read_dgusii_vp(0x3001,TouchKey,1); if(TouchKey[1]==0) return;Sdata[1]=0; switch(TouchKey[1]) { case1://上一曲 Sdata[0]=1; SendDataToBT(Write_Next_Pre_PT,Sdata,1); break; case2://播放暫停 Sdata[0]=2; SendDataToBT(Write_Next_Pre_PT,Sdata,1); break; case3://下一曲 Sdata[0]=3; SendDataToBT(Write_Next_Pre_PT,Sdata,1); break; } memset(TouchKey,0,sizeof(TouchKey)); write_dgusii_vp(0x3001,TouchKey,1); ReadBtStatecount=0;}

安卓軟件包通過QT編寫,主要實現(xiàn)與智能屏進(jìn)行藍(lán)牙連接、通信控制,部分參考代碼如下:

ui->setupUi(this); bluetooth_ble_Tool=new Bluetooth_ble_Tool("dwin_bt(BLE)"); ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName()); connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState, this,&BLE_PairPage::BlueSearchConnectState); //btchat=new BtChat(); //btchat->set_ble_Tool(bluetooth_ble_Tool); //btchat->init_Page(); //btchat->hide(); devicecommHandle=new DeviceComm(); devicecommHandle->set_ble_Tool(bluetooth_ble_Tool); devicecommHandle->InitDevice(); mwin=new mainwin(); mwin->hide(); connect(mwin,&mainwin:layChangeMode, devicecommHandle,&DeviceComm:layChangeMode);//寫模式改變下發(fā) connect(mwin,&mainwin:layCtrPreNextSt, devicecommHandle,&DeviceComm:layCtrPreNextSt);//寫上下曲 connect(mwin,&mainwin:layMusicVolChange, devicecommHandle,&DeviceComm:layMusicVolChange);//寫音量改變下發(fā) connect(devicecommHandle,&DeviceComm::ReadPlayMode, this,[=](int mode){//設(shè)置目前的模式 qDebug()<<"mode:"< mwin->B_Upan->setChecked(false); mwin->B_AUX->setChecked(false); mwin->B_BT->setChecked(false); if(mode==1) mwin->B_Upan->setChecked(true); else if(mode==2) mwin->B_AUX->setChecked(true); else if(mode==3) mwin->B_BT->setChecked(true); }); connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol, this,[=](int vol){//設(shè)置音量顯示 mwin->QS_MainVol->setValue(vol); }); connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error, this,[=](){ this->show(); mwin->hide(); devicecommHandle->TimerStopReadDeviceST(); this->ui->progressBar->setValue(0); });void BLE_PairPage::on_pushButton_clicked(){ bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid)); //ui->label_localBT->clear(); //ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName()); bluetooth_ble_Tool->startFindConnectBle(); //bluetooth_ble_Tool->startStateprogressBar(); ui->pushButton->setEnabled(false); ui->pushButton->setText("正在搜索"); connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished, this,[=](bool ok){ ui->pushButton->setEnabled(true); ui->pushButton->setText("開始檢測連接藍(lán)牙"); if(ok==false) { QMessageBox::information(this,tr("搜索狀態(tài)"),"搜索不到設(shè)備,請查看設(shè)備是否已經(jīng)開機,或者有其它手機已經(jīng)連接上?");} });} void BLE_PairPage::startStateprogressBar_em Linkst, int progress){ ui->progressBar->setValue(progress); if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){ QMessageBox::information(this,tr("連接提示"),bluetooth_ble_Tool->getErrorinfo()); ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());} else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){ QMessageBox::information(this,tr("連接提示"),"有錯誤"); ui->label_tips->setText("有錯誤");} else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information( this,tr("成功連接"),bluetooth_ble_Tool->getErrorinfo()); ui->label_tips->setText("已成功連接"); this->hide(); mwin->show(); devicecommHandle->TimerStartReadDeviceST(100); //btchat->show(); //disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState, //this,&BLE_PairPage::BlueSearchConnectState); } else{ ui->label_tips->setText("搜索連接中"); }}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3309

    瀏覽量

    42471
  • 安卓手機
    +關(guān)注

    關(guān)注

    2

    文章

    122

    瀏覽量

    14733
  • 迪文屏
    +關(guān)注

    關(guān)注

    3

    文章

    78

    瀏覽量

    5382
收藏 人收藏

    評論

    相關(guān)推薦

    開源獲獎案例】基于T5L智能的汽車抬頭顯示器方案

    ——來自開發(fā)者論壇本期為大家推送開發(fā)者論壇獲獎開源案例——基于T5L智能
    的頭像 發(fā)表于 09-24 08:03 ?288次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>獲獎</b>案例】基于T5L智能<b class='flag-5'>屏</b>的汽車抬頭顯示器方案

    串口如何與電腦連接

    串口是一種廣泛應(yīng)用于工業(yè)自動化領(lǐng)域的顯示設(shè)備,它可以通過串口與電腦進(jìn)行通信,實現(xiàn)數(shù)據(jù)的傳輸和控制。 一、
    的頭像 發(fā)表于 08-01 15:10 ?1061次閱讀

    開源獲獎案例】基于T5L智能的便攜功率計解決方案

    ——來自開發(fā)者論壇本期為大家推送開發(fā)者論壇獲獎開源案例——基于T5L智能
    的頭像 發(fā)表于 08-01 08:13 ?310次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>獲獎</b>案例】基于T5L智能<b class='flag-5'>屏</b>的便攜功率計解決方案

    串口ModBus開發(fā)流程

    這里接前一章節(jié),繼續(xù)的開發(fā),前章主要講解基礎(chǔ)開發(fā)流程,此章節(jié)開始講解ModBus協(xié)議棧的使用方法。前文指路:《
    的頭像 發(fā)表于 07-19 08:21 ?487次閱讀
    <b class='flag-5'>迪</b><b class='flag-5'>文</b>串口<b class='flag-5'>屏</b>ModBus開發(fā)流程

    開源獲獎案例】基于T5L智能的指紋識別解決方案

    ——來自開發(fā)者論壇本期為大家推送開發(fā)者論壇獲獎開源案例——基于T5L智能
    的頭像 發(fā)表于 07-06 08:13 ?287次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>獲獎</b>案例】基于T5L智能<b class='flag-5'>屏</b>的指紋識別解決方案

    ESP32 IDF 4.3藍(lán)牙音樂demo手機打開絕對音量后無法調(diào)整音量大小怎么解決?

    設(shè)置了音量,手機顯示音量被調(diào)整了,但是播放音量實際還是沒有變,測試手機IPHONE,手機稍微
    發(fā)表于 06-18 08:28

    請問用蜂鳴器播放音樂的時候如何同時播放兩段音樂?

    我用 PWM 控制音樂播放,可以按照樂譜播放音符 但現(xiàn)在有個需求,是在播放背景音樂的時候同時疊
    發(fā)表于 06-14 08:23

    串口音樂播放IC:音樂播放的新革命

    串口音樂播放IC,這是一種革命性的音樂播放技術(shù),正在逐步改變我們的音樂生活。那么,它到底是什么?它的優(yōu)勢在哪里?又能為我們帶來什么樣的便利呢
    的頭像 發(fā)表于 05-06 14:32 ?594次閱讀

    開源獲獎案例】多功能稱重器

    ——來自開發(fā)者論壇本期為大家推送開發(fā)者論壇獲獎開源案例——多功能稱重器。工程師采用4英寸
    的頭像 發(fā)表于 04-20 08:12 ?396次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>獲獎</b>案例】多功能稱重器

    開源獲獎案例】隔空手勢識別測試系統(tǒng)

    ——來自開發(fā)者論壇本期為大家推送開發(fā)者論壇獲獎開源案例——隔空手勢識別測試系統(tǒng)。工程師采
    的頭像 發(fā)表于 03-16 08:12 ?575次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>獲獎</b>案例】隔空手勢識別測試系統(tǒng)

    控制WS2812氛圍燈

    ——來自開發(fā)者論壇本期為大家推送開發(fā)者論壇獲獎開源案例——
    的頭像 發(fā)表于 01-26 08:12 ?1029次閱讀
    <b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>屏</b><b class='flag-5'>控制</b>WS2812氛圍燈

    手機定制_基于天璣900的手機主板方案

    手機定制_基于天璣900的手機主板方案。5G
    的頭像 發(fā)表于 01-24 19:41 ?670次閱讀
    <b class='flag-5'>安</b><b class='flag-5'>卓</b><b class='flag-5'>手機</b>定制_基于天璣900的<b class='flag-5'>手機</b><b class='flag-5'>安</b><b class='flag-5'>卓</b>主板方案

    開源獲獎案例】智能培養(yǎng)室

    為大家推送開發(fā)者論壇獲獎開源案例——智能培養(yǎng)室。工程師通過Modbus協(xié)議實現(xiàn)了T5L智能控制
    的頭像 發(fā)表于 01-09 08:13 ?416次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>獲獎</b>案例】智能培養(yǎng)室

    手機支持外接otg擴展塢 然后使用ch340+ch9329控制電腦嗎

    手機支持外接otg擴展塢 然后使用ch340+ch9329控制電腦嗎
    發(fā)表于 12-30 17:11

    開源獲獎案例】四軸機械臂控制系統(tǒng)

    ——來自開發(fā)者論壇本期為大家推送開發(fā)者論壇獲獎開源案例——四軸機械臂
    的頭像 發(fā)表于 12-23 08:13 ?1252次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>獲獎</b>案例】四軸機械臂<b class='flag-5'>控制</b>系統(tǒng)
    RM新时代网站-首页