【ওপেন সোর্স】 DWIN স্ক্রীন এবং অ্যান্ড্রয়েড ফোন দ্বিমুখী লিঙ্কেজ নিয়ন্ত্রণ সঙ্গীত প্লেব্যাক

- DWIN ডেভেলপার ফোরাম থেকে

DWIN ডেভেলপার ফোরাম - DWIN স্ক্রীন এবং অ্যান্ড্রয়েড ফোনের দ্বি-মুখী সংযোগ নিয়ন্ত্রণ সঙ্গীত প্লেব্যাকের পুরস্কার বিজয়ী ওপেন-সোর্স কেসটি পুশ করার জন্য এই সমস্যাটি। DWIN ইন্টেলিজেন্ট স্ক্রিন এবং অ্যান্ড্রয়েড ফোন ডেটা ইন্টারঅ্যাকশন অর্জনের জন্য ব্লুটুথ মডিউলের মাধ্যমে প্রকৌশলীরা, ব্যবহারকারীরা সহজেই অ্যান্ড্রয়েড ফোন নিয়ন্ত্রণ করতে পারেন, গান প্লেতে ইউএসবি ফ্ল্যাশ ড্রাইভ, বিরতি, গান এবং সাউন্ড সেটিংস পরিবর্তন করতে পারেন, বুদ্ধিমান স্ক্রিন এবং অ্যান্ড্রয়েড ফোন দুটি-এর অভিজ্ঞতা নিতে পারেন। উপায় সুবিধাজনক নিয়ন্ত্রণ।

1.C51 ডিজাইন
(1) T5L সিরিয়াল পোর্ট প্লেব্যাক স্থিতি সংশোধন করতে, ভলিউম সেট করতে এবং ব্লুটুথ স্থিতি পড়তে ব্লুটুথ মডিউলের সাথে যোগাযোগ করে, রেফারেন্স কোডের অংশটি নিম্নরূপ:
int প্রধান (অকার্যকর)
{
INIT_CPU();
T2_তাপ();
UART4_Init();
EA=1;
//UART4_SendStr(“hello”,sizeof(“hello”));
//WDT_ON();//ওয়াচডগ চালু করুন।
যখন (1)
{
//WDT_RST();// কুকুরের পা
প্রক্রিয়া();
}
}
অকার্যকর UART4_Init(অকার্যকর)
{
// UART4 বড রেট সেটিং:
//BODE2_DIV_H=CPU প্রধান ফ্রিকোয়েন্সি/(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(অকার্যকর)
{
যদি(!TenmsFlag)
প্রত্যাবর্তন
টেনমসফ্ল্যাগ=0;
সোর্সপ্রেস();//টোন জেনারেটর
PlayCtrPress();//প্লেব্যাক অবস্থা পরিবর্তন
VolCtrSlider();//ভলিউম পরিবর্তন
VolLogSlider();//ভলিউম পরিবর্তন
ReadBtState();//ব্লুটুথ স্ট্যাটাস পড়ুন
}
অকার্যকর সোর্সপ্রেস (অকার্যকর)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
যদি(টাচকি[1]==0)
প্রত্যাবর্তন
Sdata[1]=0;
সুইচ (টাচকি[1])
{
case1://U ডিস্ক
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
বিরতি
case2:// এক্সটার্নাল লাইনইন ইনপুট
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
বিরতি
case3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
বিরতি
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
অকার্যকর PlayCtrPres(অকার্যকর)
{
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(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) অ্যান্ড্রয়েড সফ্টওয়্যার প্যাকেজটি QT এর মাধ্যমে লেখা হয়েছে, মূলত স্মার্ট স্ক্রীনের সাথে ব্লুটুথ সংযোগ এবং যোগাযোগ নিয়ন্ত্রণ উপলব্ধি করে, রেফারেন্স কোডের অংশটি নিম্নরূপ:
ui->setupUi(এটি);
bluetooth_ble_Tool=new Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
সংযোগ করুন(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
এই,&BLE_PairPage::BlueSearchConnectState);
//btchat=নতুন BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->লুকান();
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
less->hide();
সংযোগ করুন(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// লেখার মোড পরিবর্তন জারি করা হয়েছে
সংযোগ করুন(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// লিট। একটি গানের উপরের এবং নীচের অংশগুলি লিখুন
সংযোগ করুন(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// ভলিউম পরিবর্তন লিখুন
সংযোগ করুন (ডিভাইসকমহ্যান্ডেল, এবং ডিভাইসকম::রিডপ্লেমোড,
এটি,[=](int mode){// বর্তমান মোড সেট করা হচ্ছে
qDebug() qDebug() B_Upan->সেট চেক (মিথ্যা);
mwin->B_AUX->সেট চেক (মিথ্যা);
mwin->B_BT->সেট চেক (মিথ্যা);
যদি(মোড==1)
mwin->B_Upan->setChecked(true);
অন্যথায় যদি(মোড==2)
mwin->B_AUX->সেট চেক (সত্য);
অন্যথায় যদি(মোড==3)
mwin->B_BT->সেট চেক করা হয়েছে(সত্য);
});
সংযোগ করুন(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
এই,[=](int vol){// ভলিউম ডিসপ্লে সেট করা হচ্ছে
mwin->QS_MainVol->setValue(vol);
});
সংযোগ করুন(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
এই,[=](){
এই->শো();
less->hide();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
void BLE_PairPage::on_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid));
//ui->label_localBT->ক্লিয়ার();
//ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
bluetooth_ble_Tool->startFindConnectBle();
//bluetooth_ble_Tool->startStateprogressBar();
ui->pushButton->setEnabled(false);
ui->pushButton->setText("Searching");
সংযোগ করুন(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
এই,[=](বুল ঠিক আছে){
ui->pushButton->setEnabled(true);
ui->pushButton->setText("সংযুক্ত ব্লুটুথ সনাক্ত করা শুরু করুন");
যদি (ঠিক == মিথ্যা) {
QMessageBox::information(this,tr("Search Status"),," ডিভাইসটি সার্চ করা যাবে না, অনুগ্রহ করে চেক করুন ডিভাইসটি ইতিমধ্যেই চালু আছে কিনা, অথবা অন্য একটি সেল ফোন ইতিমধ্যে এর সাথে সংযুক্ত আছে কিনা?");} }); }
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());}
অন্যথায় যদি(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::information(this,tr("সংযোগ প্রম্পট"), "buggy");
ui->label_tips->setText("buggy");}
অন্যথায় যদি(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr("সফলভাবে সংযুক্ত"), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("সফলভাবে সংযুক্ত");
এই->লুকান();
mwin->শো();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->শো();
// সংযোগ বিচ্ছিন্ন করুন(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//এই,&BLE_PairPage::BlueSearchConnectState); }
অন্য
ui->label_tips->setText("সংযোগের জন্য অনুসন্ধান করা হচ্ছে"); }


পোস্টের সময়: মে-23-2024