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

–Gikan sa DWIN Developer Forum

Kini nga isyu alang kanimo sa pagduso sa award-winning nga open-source nga kaso sa DWIN developer forum – DWIN screen ug Android phone two-way linkage control music playback. Ang mga inhenyero pinaagi sa Bluetooth module aron makab-ot ang DWIN intelligent screen ug Android phone data interaction, ang mga tiggamit dali nga makontrol ang Android phone, USB flash drive sa kanta play, pause, usba ang kanta ug sound settings, makasinati sa intelihenteng screen ug Android phone duha- paagi sayon ​​​​nga kontrol.

1.C51 Disenyo
(1) Ang T5L serial port nakig-interact sa Bluetooth module aron usbon ang playback status, itakda ang volume, ug basahon ang Bluetooth status, bahin sa reference code mao ang mosunod:
int main(walay sulod)
{
INIT_CPU();
T2_Kainit();
UART4_Init();
EA=1;
//UART4_SendStr("hello", sizeof("hello"));
//WDT_ON();//I-on ang Watchdog.
samtang(1)
{
//WDT_RST();//Tiil ang iro
Proseso();
}
}
walay UART4_Init(walay sulod)
{
// 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;
}
walay sulod TenMsHandle(walay sulod)
{
kon(!TenmsFlag)
pagbalik;
TenmsFlag=0;
SourcePress();//Tone generator
PlayCtrPress();//Pagbag-o sa kahimtang sa playback
VolCtrSlider();//Pagbag-o sa volume
VolLogSlider();//Pagbag-o sa volume
ReadBtState();//Basaha ang kahimtang sa Bluetooth
}
walay sulod SourcePress(walay sulod)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
kung(TouchKey[1]==0)
pagbalik;
Sdata[1]=0;
switch(TouchKey[1])
{
kaso1://U disk
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
guba;
case2:// External LineIn Input
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
guba;
kaso3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
guba;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0, sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
walay sulod PlayCtrPress(walay sulod)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
kung(TouchKey[1]==0)
pagbalik;
Sdata[1]=0;
switch(TouchKey[1])
{
case1:// Kaniadto nga kanta
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
guba;
case2:// Paghunong sa Playback
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
guba;
case3:// Sunod nga kanta
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
guba;
}
memset(TouchKey,0, sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Ang pakete sa software sa Android gisulat pinaagi sa QT, nag-una nga nahibal-an ang koneksyon sa Bluetooth ug pagkontrol sa komunikasyon sa smart screen, bahin sa reference code mao ang mosunod:
ui->setupUi(kini);
bluetooth_ble_Tool=bag-ong Bluetooth_ble_Tool("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
kini,&BLE_PairPage::BlueSearchConnectState);
//btchat=bag-ong BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->tago();
devicecommHandle=bag-ong DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=bag-ong mainwin();
dili kaayo-> itago ();
connect(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Gi-isyu ang pagbag-o sa mode sa pagsulat
connect(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. isulat ang ibabaw ug ubos nga bahin sa usa ka kanta
connect(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Isulat ang pagbag-o sa gidaghanon
connect(devicecommHandle,&DeviceComm::ReadPlayMode,
kini,[=](int mode){// Pag-set sa kasamtangang mode
qDebug() qDebug() B_Upan->setChecked(bakak);
mwin->B_AUX->setChecked(bakak);
mwin->B_BT->setChecked(bakak);
kung(mode==1)
mwin->B_Upan->setChecked(tinuod);
lain kon(mode==2)
mwin->B_AUX->setChecked(tinuod);
lain kung(mode ==3)
mwin->B_BT->setChecked(tinuod);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
kini,[=](int vol){// Pag-set sa Volume Display
mwin->QS_MainVol->setValue(vol);
});
sumpay(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
kini, [=](){
kini-> ipakita ();
dili kaayo-> itago ();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
bakante ang BLE_PairPage::on_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid));
//ui->label_localBT->klaro();
//ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
bluetooth_ble_Tool->startFindConnectBle();
//bluetooth_ble_Tool->startStateprogressBar();
ui->PushButton->setEnabled(bakak);
ui->pushButton->setText("Pagpangita");
sumpay(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
kini, [=](bool ok){
ui->PushButton->setEnabled(tinuod);
ui->pushButton->setText("Sugdi ang pag-ila sa konektado nga Bluetooth");
kon(ok == bakak) {
QMessageBox::information(this,tr("Search Status"), Dili mapangita ang device, palihog susiha kung naka-on na ba ang device, o kung adunay laing cell phone nga konektado na niini?");} }); }
bakante ang BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui-> progressBar-> setValue(pag-uswag);
kung(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox:: impormasyon(kini,tr("koneksyon prompt"),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
lain kon(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox:: impormasyon(kini,tr("koneksyon prompt ")," buggy ");
ui->label_tips->setText("buggy");}
lain kung(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::impormasyon(
kini, tr("malampuson nga konektado "), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("malampuson nga konektado ");
kini-> itago ();
mwin->ipakita();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//this,&BLE_PairPage::BlueSearchConnectState); }
lain{
ui->label_tips->setText("Pagpangita alang sa mga koneksyon "); }


Panahon sa pag-post: Mayo-23-2024