【Отворен код】 DWIN екран и телефон со Android двонасочна врска Контрола на репродукција на музика

–Од форумот за програмери на DWIN

Ова прашање ви овозможува да ја поттикнете наградуваната кутија со отворен код на форумот за програмери на DWIN – екранот DWIN и двонасочното поврзување на телефонот Android ја контролираат репродукцијата на музика. Инженерите преку модулот Bluetooth за да постигнат интеракција со податоци за интелигентниот екран DWIN и телефонот Android, корисниците можат лесно да го контролираат телефонот со Android, USB флеш-уредот во репродукцијата на песната, да паузираат, да ги менуваат поставките за песната и звукот, да искусат интелигентен екран и телефонот со Android два- начин удобна контрола.

1.C51 Дизајн
(1) Серискиот приклучок T5L комуницира со модулот Bluetooth за да го измени статусот на репродукција, да ја постави јачината на звукот и да го прочита статусот на Bluetooth, дел од референтната шифра е како што следува:
int main (празнина)
{
INIT_CPU ();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr („здраво“, големина („здраво“));
//WDT_ON();//Вклучете го Watchdog.
додека (1)
{
//WDT_RST();//Нозете го кучето
Процес();
}
}
void UART4_Init(void)
{
// Поставка за брзина на бауд UART4:
//BODE2_DIV_H=Фреквенција на мрежата на процесорот/(8*Бауд стапка) .
//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 Бауд стапка
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle (празнина)
{
if(!TenmsFlag)
враќање;
TenmsFlag=0;
SourcePress();//Генератор на тонови
PlayCtrPress();//Промена на состојбата на репродукција
VolCtrSlider();//Промена на јачината на звукот
VolLogSlider();//Промена на јачината на звукот
ReadBtState();//Прочитај статус на Bluetooth
}
неважечки ИзворПрес (празнина)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,Touch Key,1);
ако (копче на допир[1]==0)
враќање;
Sdata[1]=0;
прекинувач (копче на допир[1])
{
case1://U диск
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
пауза;
case2:// Надворешен LineIn влез
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
пауза;
случај3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
пауза;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(Клуч на допир,0,големина(Клуче на допир));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
неважечки PlayCtrPress(празнина)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
ако (копче на допир[1]==0)
враќање;
Sdata[1]=0;
прекинувач (копче на допир[1])
{
case1:// Претходна песна
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
пауза;
case2:// Пауза на репродукција
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
пауза;
case3:// Следна песна
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
пауза;
}
memset(Клуч на допир,0,големина(Клуче на допир));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) Софтверскиот пакет Android е напишан преку QT, главно реализирајќи Bluetooth конекција и контрола на комуникација со паметниот екран, дел од референтниот код е како што следува:
ui->setupUi(ова);
bluetooth_ble_Tool=нова Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
поврзи(алатка bluetooth_ble,&Bluetooth_ble_Tool::BlueSearchConnectState,
ова,&BLE_PairPage::BlueSearchConnectState);
//btchat=нов BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=нов DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
помалку->скриј();
поврзете (mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Издадена е промена на режимот за пишување
поврзување (mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// осветлена. запишете ги горните и долните делови на песната
поврзете (mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Запишете ја промената на јачината на звукот надолу
поврзување(devicecommHandle,&DeviceComm::ReadPlayMode,
ова,[=](int режим){// Поставување на тековниот режим
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
ако (режим==1)
mwin->B_Upan->setChecked(true);
друго ако (режим==2)
mwin->B_AUX->setChecked(true);
друго ако (режим==3)
mwin->B_BT->setChecked(true);
});
поврзување(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
ова,[=](int vol){// Поставување на екранот за јачина на звук
mwin->QS_MainVol->setValue(vol);
});
поврзи(алатка_блутут_бле,&алатка_блутут_бле::грешка_BLE_Link,
ова,[=](){
this-> show();
помалку->скриј();
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(„Се бара“);
поврзи(алатка bluetooth_ble,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
ова,[=](добро){
ui->pushButton->setEnabled(true);
ui->pushButton->setText(„Почни да откриваш поврзан Bluetooth“);
ако (ок==неточно) {
QMessageBox::information(this,tr(„Статус на пребарување“),“ Уредот не може да се пребарува, ве молиме проверете дали уредот е веќе вклучен или ако друг мобилен телефон е веќе поврзан со него?“);} }); }
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(„подлог за поврзување“), 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(„подлог за поврзување“),“ кабриолет „);
ui->label_tips->setText(„кабриолет“);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“успешно поврзан“),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(„успешно поврзан“);
this->hide();
mwin-> show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat-> show();
//исклучи се(алатката_блутут_бле,&алатката_блеј_блутут::BlueSearchConnectState,
//ова,&BLE_PairPage::BlueSearchConnectState); }
друго{
ui->label_tips->setText(„Барање врски“); }


Време на објавување: мај-23-2024 година