【Avoin lähdekoodi】 DWIN-näyttö ja Android-puhelin kaksisuuntainen linkitys, musiikin toiston hallinta

– DWIN-kehittäjäfoorumista

Tämä numero on sinulle tarkoitettu DWIN-kehittäjäfoorumin palkitun avoimen lähdekoodin koteloon – DWIN-näyttö ja Android-puhelimen kaksisuuntainen linkitys ohjaa musiikin toistoa. Insinöörit Bluetooth-moduulin kautta saavuttaakseen älykkään DWIN-näytön ja Android-puhelimen datavuorovaikutuksen, käyttäjät voivat helposti ohjata Android-puhelinta, USB-muistitikkua kappaleen toistossa, keskeyttää, muuttaa kappale- ja ääniasetuksia, kokea älykkään näytön ja Android-puhelimen kaksi- tavalla kätevä ohjaus.

1.C51 Suunnittelu
(1) T5L-sarjaportti on vuorovaikutuksessa Bluetooth-moduulin kanssa toistotilan muokkaamiseksi, äänenvoimakkuuden säätämiseksi ja Bluetooth-tilan lukemiseksi. Osa viitekoodista on seuraava:
int main(tyhjä)
{
INIT_CPU();
T2_Lämpö();
UART4_Init();
EA=1;
//UART4_SendStr("hei",sizeof("hei");
//WDT_ON();//Ota Watchdog käyttöön.
kun (1)
{
//WDT_RST();//Koiran jalat
Käsitellä asiaa();
}
}
void UART4_Init(void)
{
// UART4-siirtonopeuden asetus:
//BODE2_DIV_H=CPU:n verkkotaajuus/(8*siirtonopeus) .
//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 Tiedonsiirtonopeus
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(tyhjä)
{
if(!TenmsFlag)
palata;
TenmsFlag=0;
SourcePress();//Sävygeneraattori
PlayCtrPress();//Toistotilan muutos
VolCtrSlider();//Äänenvoimakkuuden muutos
VolLogSlider();//Äänenvoimakkuuden muutos
ReadBtState();//Lue Bluetoothin tila
}
void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
jos(TouchKey[1]==0)
palata;
Sdata[1]=0;
kytkin (TouchKey[1])
{
case1://U-levy
Sdata[0]=1;
SendDataToBT(Kirjoitus_ajotila,Sdata,1);
tauko;
case2:// Ulkoinen LineIn-tulo
Sdata[0]=2;
SendDataToBT(Kirjoitus_ajotila,Sdata,1);
tauko;
case3://Bluetooth
Sdata[0]=3;
SendDataToBT(Kirjoitus_ajotila,Sdata,1);
tauko;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
void PlayCtrPress(tyhjä)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
jos(TouchKey[1]==0)
palata;
Sdata[1]=0;
kytkin (TouchKey[1])
{
case1:// Edellinen kappale
Sdata[0]=1;
SendDataToBT(Kirjoita_Seuraava_Pre_PT,Sdata,1);
tauko;
case2:// Toiston tauko
Sdata[0]=2;
SendDataToBT(Kirjoita_Seuraava_Pre_PT,Sdata,1);
tauko;
case3:// Seuraava kappale
Sdata[0]=3;
SendDataToBT(Kirjoita_Seuraava_Pre_PT,Sdata,1);
tauko;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Android-ohjelmistopaketti on kirjoitettu QT:n kautta, pääasiassa Bluetooth-yhteyden ja viestinnän ohjauksen toteuttamiseksi älynäytön avulla, osa viitekoodista on seuraava:
ui-> setupUi(this);
bluetooth_ble_Tool=uusi Bluetooth_ble_Tool("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
this,&BLE_PairPage::BlueSearchConnectState);
//btchat=new BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->piilota();
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=uusi mainwin();
vähemmän->piilota();
connect(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Kirjoitustilan muutos tehty
connect(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. kirjoittaa ylös kappaleen ylä- ja alaosa
connect(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Kirjoita äänenvoimakkuuden muutos alas
connect(devicecommHandle,&DeviceComm::ReadPlayMode,
this,[=](int mode){// Nykyisen tilan asettaminen
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
jos(tila==1)
mwin->B_Upan->setChecked(true);
muuten jos(tila==2)
mwin->B_AUX->setChecked(true);
muuten jos(tila==3)
mwin->B_BT->setChecked(true);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
tämä,[=](int vol){// Äänenvoimakkuuden näytön asettaminen
mwin->QS_MainVol->setValue(vol);
});
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
tämä,[=](){
tämä->show();
vähemmän->piilota();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
void BLE_PairPage::on_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(palveluUuid));
//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("Haku");
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
tämä,[=](okei){
ui->pushButton->setEnabled(true);
ui->pushButton->setText("Aloita yhdistetyn Bluetoothin tunnistaminen");
if(ok==false) {
QMessageBox::information(this,tr("Haun tila ")," Laitetta ei voi etsiä, tarkista onko laite jo päällä tai onko siihen jo liitetty toinen matkapuhelin?");} }); }
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("yhteyskehote "),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("yhteyskehote ")," buggy ");
ui->label_tips->setText("buggy");}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr("onnistuneesti yhdistetty"),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("onnistuneesti yhdistetty");
tämä->piilota();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//tämä,&BLE_PairPage::BlueSearchConnectState); }
muu{
ui->label_tips->setText("Etsitään yhteyksiä"); }


Postitusaika: 23.5.2024