【Open Source】 DWIN Screen at Android Phone Two-way Linkage Control Music Playback

–Mula sa DWIN Developer Forum

Ang isyung ito para sa iyo na itulak ang award-winning na open-source na case ng DWIN developer forum – DWIN screen at Android phone two-way linkage control playback ng musika. Ang mga inhinyero sa pamamagitan ng Bluetooth module upang makamit ang DWIN intelligent na screen at pakikipag-ugnayan ng data ng Android phone, madaling makontrol ng mga user ang Android phone, USB flash drive sa pag-play ng kanta, i-pause, baguhin ang mga setting ng kanta at tunog, makaranas ng intelligent na screen at Android phone dalawang- paraan maginhawang kontrol.

1.C51 Disenyo
(1) Ang T5L serial port ay nakikipag-ugnayan sa Bluetooth module upang baguhin ang playback status, itakda ang volume, at basahin ang Bluetooth status, bahagi ng reference code ay ang sumusunod:
int main(walang bisa)
{
INIT_CPU();
T2_Init();
UART4_Init();
EA=1;
//UART4_SendStr("hello",sizeof("hello"));
//WDT_ON();//I-on ang Watchdog.
habang(1)
{
//WDT_RST();//Papaan ang aso
Proseso();
}
}
void UART4_Init(void)
{
// UART4 Baud rate setting:
//BODE2_DIV_H=CPU Mains frequency/(8*Baud rate) .
//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;
}
walang bisa TenMsHandle(walang bisa)
{
kung(!TenmsFlag)
bumalik;
TenmsFlag=0;
SourcePress();//Tone generator
PlayCtrPress();//Pagbabago ng estado ng playback
VolCtrSlider();//Pagbabago ng volume
VolLogSlider();//Pagbabago ng volume
ReadBtState();//Read Bluetooth status
}
walang bisa SourcePress(walang bisa)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
kung(TouchKey[1]==0)
bumalik;
Sdata[1]=0;
switch(TouchKey[1])
{
case1://U disk
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
pahinga;
case2:// External LineIn Input
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
pahinga;
kaso3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
pahinga;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0, sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
walang bisa PlayCtrPress(walang bisa)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
kung(TouchKey[1]==0)
bumalik;
Sdata[1]=0;
switch(TouchKey[1])
{
case1:// Nakaraang kanta
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pahinga;
case2:// I-pause ang Playback
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pahinga;
case3:// Susunod na kanta
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pahinga;
}
memset(TouchKey,0, sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Ang Android software package ay isinulat sa pamamagitan ng QT, higit sa lahat ay napagtatanto ang koneksyon sa Bluetooth at kontrol ng komunikasyon gamit ang smart screen, bahagi ng reference code ay ang mga sumusunod:
ui->setupUi(ito);
bluetooth_ble_Tool=bagong Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
kumonekta(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
ito,&BLE_PairPage::BlueSearchConnectState);
//btchat=new BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=bagong DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
less->itago();
kumonekta(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Naibigay ang pagbabago sa write mode
kumonekta(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. isulat ang itaas at ibabang bahagi ng isang kanta
kumonekta(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Isulat ang pagbabago ng volume
kumonekta(devicecommHandle,&DeviceComm::ReadPlayMode,
ito,[=](int mode){// Pagtatakda ng kasalukuyang mode
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
kung(mode==1)
mwin->B_Upan->setChecked(true);
else if(mode==2)
mwin->B_AUX->setChecked(totoo);
else if(mode==3)
mwin->B_BT->setChecked(totoo);
});
kumonekta(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
ito,[=](int vol){// Pagtatakda ng Display ng Volume
mwin->QS_MainVol->setValue(vol);
});
kumonekta(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
ito,[=](){
this->show();
less->itago();
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("Naghahanap ");
kumonekta(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
ito,[=](bool ok){
ui->pushButton->setEnabled(true);
ui->pushButton->setText("Simulan ang pag-detect ng konektadong Bluetooth ");
kung(ok == mali) {
QMessageBox::information(this,tr(“Search Status “),” Hindi mahahanap ang device, pakitingnan kung naka-on na ang device, o kung nakakonekta na ang ibang cell phone dito?”);} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(progress);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::impormasyon(this,tr("koneksyon prompt "),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::impormasyon(this,tr("koneksyon prompt ")," buggy ");
ui->label_tips->setText("buggy ");}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::impormasyon(
ito, tr("matagumpay na nakakonekta "), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("matagumpay na nakakonekta ");
ito->itago();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//this,&BLE_PairPage::BlueSearchConnectState); }
iba{
ui->label_tips->setText("Naghahanap ng mga koneksyon "); }


Oras ng post: Mayo-23-2024