【Åpen kildekode】 DWIN-skjerm og Android-telefon Toveis koblingskontroll musikkavspilling

–Fra DWIN Developer Forum

Dette problemet gir deg mulighet til å presse den prisvinnende åpen kildekode-saken til DWIN utviklerforum – DWIN-skjerm og Android-telefon toveis kobling kontrollerer musikkavspilling. Ingeniører gjennom Bluetooth-modulen for å oppnå DWIN intelligent skjerm og Android-telefondatainteraksjon, kan brukere enkelt kontrollere Android-telefonen, USB-flash-stasjonen i sangen spille, pause, endre sangen og lydinnstillingene, oppleve intelligent skjerm og Android-telefon to- måte praktisk kontroll.

1.C51 Design
(1) T5L-serieporten samhandler med Bluetooth-modulen for å endre avspillingsstatusen, stille inn volumet og lese Bluetooth-statusen, en del av referansekoden er som følger:
int main(void)
{
INIT_CPU();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr(“hei”,sizeof(“hei”));
//WDT_ON();//Slå på Watchdog.
mens (1)
{
//WDT_RST();//Føtt hunden
Prosess();
}
}
void UART4_Init(void)
{
// UART4 Baud rate-innstilling:
//BODE2_DIV_H=CPU Nettfrekvens/(8*Baudhastighet) .
//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 Baud rate
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(void)
{
if(!TenmsFlag)
komme tilbake;
TenmsFlag=0;
SourcePress();//Tonegenerator
PlayCtrPress();//Endring av avspillingstilstand
VolCtrSlider();//Volumendring
VolLogSlider();//Volumendring
ReadBtState();//Les Bluetooth-status
}
void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,Touch Key,1);
if(TouchKey[1]==0)
komme tilbake;
Sdata[1]=0;
bryter(berøringstast[1])
{
case1://U disk
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
gå i stykker;
case2:// Ekstern linjeinngang
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
gå i stykker;
case3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
gå i stykker;
}
write_dgusii_vp(0×3003,Touch Key,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,Touch Key,1);
ReadBtStatecount=0;
}
void PlayCtrPress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
komme tilbake;
Sdata[1]=0;
bryter(berøringstast[1])
{
case1:// Forrige sang
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
gå i stykker;
case2:// Avspilling Pause
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
gå i stykker;
case3:// Neste sang
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
gå i stykker;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,Berøringstast,1);
ReadBtStatecount=0;
}

(2) Android-programvarepakken er skrevet gjennom QT, og realiserer hovedsakelig Bluetooth-tilkobling og kommunikasjonskontroll med smartskjermen, en del av referansekoden er som følger:
ui->oppsettUi(dette);
bluetooth_ble_Tool=nytt Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
denne,&BLE_PairPage::BlueSearchConnectState);
//btchat=ny BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->skjul();
devicecommHandle=ny DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=ny hovedvinn();
mindre->skjul();
koble til(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Skrivemodusendring utstedt
koble til(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. skrive ned øvre og nedre del av en sang
koble til(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Skriv volumendring ned
connect(devicecommHandle,&DeviceComm::ReadPlayMode,
this,[=](int mode){// Stiller inn gjeldende modus
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
if(modus==1)
mwin->B_Upan->setChecked(true);
annet if(modus==2)
mwin->B_AUX->setChecked(true);
annet if(modus==3)
mwin->B_BT->setChecked(true);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
dette,[=](int vol){// Stille inn volumdisplayet
mwin->QS_MainVol->setValue(vol);
});
koble til(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
dette,[=](){
dette->vis();
mindre->skjul();
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(“Søker”);
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
dette,[=](bool ok){
ui->pushButton->setEnabled(true);
ui->pushButton->setText(“Begynn å oppdage tilkoblet Bluetooth“);
if(ok==false) {
QMessageBox::information(this,tr(“Søkestatus “),” Enheten kan ikke søkes i, vennligst sjekk om enheten allerede er slått på, eller om en annen mobiltelefon allerede er koblet til den?”);} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(fremdrift);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(this,tr(“connection prompt “),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(“connection prompt “), buggy “);
ui->label_tips->setText(“buggy “);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“vellykket tilkoblet “),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“tilkoblet vellykket”);
dette->skjul();
mwin->vis();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//this,&BLE_PairPage::BlueSearchConnectState); }
ellers{
ui->label_tips->setText(“Søker etter tilkoblinger“); }


Innleggstid: 23. mai 2024