【Otvoreni izvor】 DWIN zaslon i Android telefon Dvosmjerno povezivanje Kontrola reprodukcije glazbe

– S DWIN Developer Foruma

Ovo izdanje za vas kako biste pokrenuli nagrađivani open-source slučaj DWIN foruma za razvojne programere – DWIN zaslon i dvosmjerna veza Android telefona kontroliraju reprodukciju glazbe. Inženjeri putem Bluetooth modula za postizanje DWIN inteligentnog zaslona i interakcije podataka s Android telefonom, korisnici mogu jednostavno kontrolirati Android telefon, USB flash pogon u reprodukciji pjesme, pauzirati, promijeniti postavke pjesme i zvuka, doživjeti inteligentni zaslon i Android telefon dva- način prikladne kontrole.

1.C51 Dizajn
(1) T5L serijski priključak komunicira s Bluetooth modulom za izmjenu statusa reprodukcije, postavljanje glasnoće i čitanje Bluetooth statusa, dio referentnog koda je sljedeći:
int main(void)
{
INIT_CPU();
T2_Toplina();
UART4_Pokretanje();
EA=1;
//UART4_SendStr(“zdravo”,sizeof(“zdravo”));
//WDT_ON();//Uključi Watchdog.
dok (1)
{
//WDT_RST();//Potapaj psa
Postupak();
}
}
void UART4_Init(void)
{
// UART4 Postavka brzine prijenosa:
//BODE2_DIV_H=Frekvencija CPU mreže/(8*Brzina prijenosa podataka) .
//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 brzina prijenosa podataka
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(void)
{
ako(!TenmsFlag)
povratak;
TenmsFlag=0;
SourcePress();//Generator tonova
PlayCtrPress();//Promjena stanja reprodukcije
VolCtrSlider();//Promjena glasnoće
VolLogSlider();//Promjena glasnoće
ReadBtState();//Pročitaj Bluetooth status
}
void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
povratak;
Spodaci[1]=0;
prekidač (TouchKey[1])
{
case1://U disk
Spodaci[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
pauza;
case2:// vanjski linijski ulaz
Spodaci[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
pauza;
case3://Bluetooth
Spodaci[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
pauza;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
pisanje_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
void PlayCtrPress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
povratak;
Spodaci[1]=0;
prekidač (TouchKey[1])
{
case1:// Prethodna pjesma
Spodaci[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pauza;
case2:// Pauza reprodukcije
Spodaci[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pauza;
case3:// Sljedeća pjesma
Spodaci[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pauza;
}
memset(TouchKey,0,sizeof(TouchKey));
pisanje_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Softverski paket Android napisan je kroz QT, uglavnom ostvarujući Bluetooth vezu i kontrolu komunikacije s pametnim zaslonom, dio referentnog koda je sljedeći:
ui->postaviUi(ovo);
bluetooth_ble_Tool=novi Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
povezivanje(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
this,&BLE_PairPage::BlueSearchConnectState);
//btchat=novi BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=novi DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=novi glavniwin();
manje->sakrij();
povezivanje (mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Izdana promjena načina pisanja
povezivanje(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. zapisati gornji i donji dio pjesme
povezivanje(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Zapiši promjenu glasnoće
povezivanje(devicecommHandle,&DeviceComm::ReadPlayMode,
this,[=](int mode){// Postavljanje trenutnog načina
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
ako (način==1)
mwin->B_Upan->setChecked(true);
inače ako (način==2)
mwin->B_AUX->setChecked(true);
inače ako (način==3)
mwin->B_BT->setChecked(true);
});
povezivanje(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
this,[=](int vol){// Postavljanje prikaza glasnoće
mwin->QS_MainVol->setValue(vol);
});
povezivanje(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
ovo,[=](){
ovo->prikaži();
manje->sakrij();
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(“Tražim “);
povezivanje(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
ovo,[=](bool ok){
ui->pushButton->setEnabled(true);
ui->pushButton->setText(“Počni detektirati povezani Bluetooth”);
if(ok==false) {
QMessageBox::information(this,tr(“Search Status “),” Uređaj se ne može pretraživati, provjerite je li uređaj već uključen ili je na njega već povezan neki drugi mobitel?”);} }); }
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(“upit za povezivanje “),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(“uspješno spojen “),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“uspješno spojen “);
ovo->sakrij();
mwin->pokaži();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//ovo,&BLE_PairPage::BlueSearchConnectState); }
drugo{
ui->label_tips->setText(“Traženje veza “); }


Vrijeme objave: 23. svibnja 2024