【Open Source】 DWIN Bildschierm an Android Telefon Zwee-Wee Linkage Kontroll Musek Playback

-Vum DWIN Entwéckler Forum

Dëst Thema fir Iech de Präis-Zouschlag Open-Source Fall vun DWIN Entwéckler Forum ze drécken - DWIN Écran an Android Telefon zwee-Wee Linkage Kontroll Musek playback. Ingenieuren duerch de Bluetooth Modul fir den DWIN intelligenten Ecran an Android Telefon Daten Interaktioun z'erreechen, kënnen d'Benotzer einfach den Android Telefon kontrolléieren, USB Flash Drive am Song Play, Paus, änneren d'Lidd an Toun Astellungen, Erfahrung intelligent Écran an Android Telefon zwee- Manéier bequem Kontroll.

1.C51 Design
(1) Den T5L Serien Hafen interagéiert mam Bluetooth Modul fir de Playback Status z'änneren, de Volume ze setzen an de Bluetooth Status ze liesen, en Deel vum Referenzcode ass wéi follegt:
int main (void)
{
INIT_CPU();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr(“hallo”,sizeof(“hallo”));
//WDT_ON();//Schalt den Iwwerwaachungshond un.
während (1)
{
//WDT_RST();//Féiss den Hond
Prozess();
}
}
void UART4_Init(void)
{
// UART4 Baud Taux Astellung:
//BODE2_DIV_H=CPU Netzfrequenz/(8*Baudrate) .
//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 Baudrate
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle (void)
{
wann(!TenmsFlag)
zréck;
TenmsFlag=0;
SourcePress();//Tonegenerator
PlayCtrPress();// Wiedergabestatus änneren
VolCtrSlider();//Volume änneren
VolLogSlider();//Volume change
ReadBtState();//Bluetooth Status liesen
}
void SourcePress (void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
wann (TouchKey[1]==0)
zréck;
Sdata[1]=0;
schalt(TouchKey[1])
{
case1: //U Disk
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
Paus;
case2:// Extern LineIn Input
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
Paus;
Fall 3: //Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
Paus;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
void PlayCtrPress (void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
wann (TouchKey[1]==0)
zréck;
Sdata[1]=0;
schalt(TouchKey[1])
{
case1: // Viregt Lidd
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
Paus;
case2:// Playback Paus
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
Paus;
case3:// Nächst Lidd
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
Paus;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) Den Android Software Package gëtt duerch QT geschriwwe, haaptsächlech realiséiert Bluetooth Verbindung a Kommunikatiounskontroll mam Smart Screen, en Deel vum Referenzcode ass wéi follegt:
ui->setupUi(dës);
bluetooth_ble_Tool = neie Bluetooth_ble_Tool ("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
dëst,&BLE_PairPage::BlueSearchConnectState);
//btchat=nei BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=nei DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=nei mainwin();
less->hide();
connect(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Schreifmodus Ännerung erausginn
connect(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. opschreiwen déi iewescht an déi ënnescht Deeler vun engem Lidd
connect(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Schreift de Volume änneren erof
connect(devicecommHandle,&DeviceComm::ReadPlayMode,
this,[=](int-Modus){// Den aktuelle Modus setzen
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(falsch);
wann(Modus==1)
mwin->B_Upan->setChecked(true);
soss wann (Modus ==2)
mwin->B_AUX->setChecked(true);
soss wann (Modus ==3)
mwin->B_BT->setChecked(true);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
this,[=](int vol){// De Volume Display setzen
mwin->QS_MainVol->setValue(vol);
});
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
dëst,[=](){
dëst-> weisen ();
less->hide();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
void BLE_PairPage::on_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid));
//ui->label_localBT->kloer();
//ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
bluetooth_ble_Tool->startFindConnectBle();
//bluetooth_ble_Tool->startStateprogressBar();
ui->pushButton->setEnabled(false);
ui->pushButton->setText(“Sichen“);
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
dëst,[=](bool ok){
ui->pushButton->setEnabled(true);
ui->pushButton->setText ("Start verbonne Bluetooth z'entdecken");
if(ok==falsch) {
QMessageBox :: Informatiounen (dës,tr ("Sich Status"),"Den Apparat kann net gesichte ginn, kuckt w.e.g. ob den Apparat schonn ageschalt ass, oder wann en aneren Handy schonn ugeschloss ass?");} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(progress);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox :: Informatiounen (dës, tr ("Verbindung VIRSCHLOEN"), bluetooth_ble_Tool-> getErrorinfo ());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox :: Informatiounen (dës, tr ("Verbindung VIRSCHLOEN")," Buggy ");
ui->label_tips->setText(“buggy“);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“erfollegräich verbonnen“),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("Erfolleg verbonnen");
this->hide();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//dës,&BLE_PairPage::BlueSearchConnectState); }
soss {
ui->label_tips->setText("Sich no Verbindungen"); }


Post Zäit: Mee-23-2024