【ઓપન સોર્સ】 DWIN સ્ક્રીન અને એન્ડ્રોઇડ ફોન ટુ-વે લિન્કેજ કંટ્રોલ મ્યુઝિક પ્લેબેક

- DWIN ડેવલપર ફોરમ તરફથી

તમારા માટે આ મુદ્દો DWIN ડેવલપર ફોરમ - DWIN સ્ક્રીન અને એન્ડ્રોઇડ ફોન ટુ-વે લિન્કેજ કંટ્રોલ મ્યુઝિક પ્લેબેકના એવોર્ડ વિજેતા ઓપન-સોર્સ કેસને આગળ વધારવા માટે છે. બ્લૂટૂથ મોડ્યુલ દ્વારા એન્જિનિયર્સ DWIN બુદ્ધિશાળી સ્ક્રીન અને એન્ડ્રોઇડ ફોન ડેટા ક્રિયાપ્રતિક્રિયા હાંસલ કરવા માટે, વપરાશકર્તાઓ એન્ડ્રોઇડ ફોનને સરળતાથી નિયંત્રિત કરી શકે છે, ગીત પ્લેમાં યુએસબી ફ્લેશ ડ્રાઇવ, પોઝ, ગીત અને સાઉન્ડ સેટિંગ્સ બદલી શકે છે, ઇન્ટેલિજન્ટ સ્ક્રીન અને એન્ડ્રોઇડ ફોનનો અનુભવ બે- માર્ગ અનુકૂળ નિયંત્રણ.

1.C51 ડિઝાઇન
(1) T5L સીરીયલ પોર્ટ પ્લેબેક સ્થિતિને સંશોધિત કરવા, વોલ્યુમ સેટ કરવા અને બ્લૂટૂથ સ્થિતિ વાંચવા માટે બ્લૂટૂથ મોડ્યુલ સાથે સંપર્ક કરે છે, સંદર્ભ કોડનો ભાગ નીચે મુજબ છે:
પૂર્ણાંક મુખ્ય (રદબાતલ)
{
INIT_CPU();
T2_હીટ();
UART4_Init();
EA=1;
//UART4_SendStr(“hello”,sizeof(“hello”));
//WDT_ON();//વોચડોગ ચાલુ કરો.
જ્યારે (1)
{
//WDT_RST();//કૂતરાને પગ કરો
પ્રક્રિયા();
}
}
રદબાતલ UART4_Init(રદ)
{
// UART4 બાઉડ રેટ સેટિંગ:
//BODE2_DIV_H=CPU મુખ્ય આવર્તન/(8*બૉડ રેટ)
//206438400/8/115200=224=0xe0
//206438400/8/921600=28=0x1C
//206438400/8=25804800/230400=112=0×70
SCON2T=0×80;
SCON2R=0×80;
BODE2_DIV_H=0×00;//FCLK/(8*DIV) 
BODE2_DIV_L=0xe0;// 921600 બૉડ રેટ
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(રદદ)
{
જો(!TenmsFlag)
પરત
TenmsFlag=0;
સોર્સપ્રેસ();//ટોન જનરેટર
PlayCtrPress();//પ્લેબેક સ્થિતિમાં ફેરફાર
VolCtrSlider();//વોલ્યુમ ફેરફાર
VolLogSlider();//વોલ્યુમ ફેરફાર
ReadBtState();// Bluetooth સ્થિતિ વાંચો
}
રદબાતલ સોર્સપ્રેસ(રદબાતલ)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
જો(TouchKey[1]==0)
પરત
Sdata[1]=0;
સ્વિચ કરો(TouchKey[1])
{
કેસ1://U ડિસ્ક
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
વિરામ;
કેસ2:// બાહ્ય લાઇનઇન ઇનપુટ
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
વિરામ;
કેસ3://બ્લુટુથ
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
વિરામ;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
void PlayCtrPress(રદબાતલ)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
જો(TouchKey[1]==0)
પરત
Sdata[1]=0;
સ્વિચ કરો(TouchKey[1])
{
કેસ1:// પાછલું ગીત
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
વિરામ;
કેસ2:// પ્લેબેક થોભો
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
વિરામ;
કેસ3: આગામી ગીત
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
વિરામ;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Android સોફ્ટવેર પેકેજ QT દ્વારા લખવામાં આવ્યું છે, મુખ્યત્વે સ્માર્ટ સ્ક્રીન સાથે બ્લૂટૂથ કનેક્શન અને કોમ્યુનિકેશન કંટ્રોલનો ખ્યાલ આવે છે, સંદર્ભ કોડનો ભાગ નીચે મુજબ છે:
ui->setupUi(આ);
bluetooth_ble_Tool=new Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
કનેક્ટ(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
આ,&BLE_PairPage::BlueSearchConnectState);
//btchat=new BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->છુપાવો();
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
ઓછું->છુપાવો();
કનેક્ટ(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// લખો મોડ ફેરફાર જારી
કનેક્ટ(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. ગીતના ઉપલા અને નીચેના ભાગો લખો
કનેક્ટ(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// વોલ્યુમ ફેરફાર લખો
કનેક્ટ કરો(devicecommHandle,&DeviceComm::ReadPlayMode,
આ,[=](ઇન્ટ મોડ){// વર્તમાન મોડ સેટ કરી રહ્યું છે
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->સેટ ચેક કરેલ(ખોટા);
જો(મોડ==1)
mwin->B_Upan->setChecked(true);
બાકી જો(મોડ==2)
mwin->B_AUX->setChecked(true);
બાકી જો(મોડ==3)
mwin->B_BT->સેટ ચેક કરેલ (સાચું);
});
કનેક્ટ(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
આ,[=](int vol){// વોલ્યુમ ડિસ્પ્લે સેટ કરી રહ્યું છે
mwin->QS_MainVol->setValue(vol);
});
કનેક્ટ કરો(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
આ,[=](){
આ->શો();
ઓછું->છુપાવો();
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->પુશબટન->સેટ સક્ષમ(ખોટું);
ui->પુશબટન->સેટટેક્સ્ટ("શોધવું");
કનેક્ટ(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
આ,[=](બુલ ઓકે){
ui-> pushButton-> setEnabled(true);
ui->pushButton->setText("કનેક્ટેડ બ્લૂટૂથ શોધવાનું શરૂ કરો");
જો(ઠીક==ખોટું) {
QMessageBox::information(this,tr("Search Status"),," ઉપકરણ શોધી શકાતું નથી, કૃપા કરીને તપાસો કે શું ઉપકરણ પહેલેથી જ ચાલુ છે, અથવા અન્ય સેલ ફોન તેની સાથે પહેલેથી જ જોડાયેલ છે કે કેમ?");} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::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("કનેક્શન પ્રોમ્પ્ટ"), "buggy");
ui->label_tips->setText(“buggy “);}
બાકી જો(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
આ,tr("સફળતાપૂર્વક કનેક્ટેડ"), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("સફળતાપૂર્વક કનેક્ટેડ");
આ-> છુપાવો();
mwin->શો();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->શો();
// ડિસ્કનેક્ટ કરો(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//આ,&BLE_PairPage::BlueSearchConnectState); }
બીજું{
ui->label_tips->setText("જોડાણો માટે શોધવું"); }


પોસ્ટ સમય: મે-23-2024