-
大小: 61KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-05-12
- 語言: Java
- 標簽: RaspberryPi??Bluetooth??Serial??
資源簡介
手機藍牙控制樹莓派,文件包含樹莓派端代碼以及手機端App(IOS和Android)

代碼片段和文件信息
#include?“GoBLE.h“
_GoBLE?Goble;
int?fd;
/*
?*?The?following?constants?tell?for?each?accelerometer
?*?axis?which?values?are?returned?when?the?axis?measures
?*?zero?acceleration.
?*/
_GoBLE::_GoBLE()?{
if?(-1?==?wiringPiSetup())?{
cerr?<“set?up?error“?< exit(-1);
}
}
void?_GoBLE::begin()?{
fd?=?serialOpen(“/dev/ttyAMA0“?115200);
initRecvDataPack();
_joystickX?=?127;
_joystickY?=?127;
for?(int?i?=?0;?i? _button[i]?=?RELEASED;
}
for?(int?i?=?0;?i?20;?i++)?bleQueue.push(0x00);
for?(int?i?=?0;?i?20;?i++)?bleQueue.pop();
}
void?_GoBLE::begin(unsigned?int?baudrate)?{
fd?=?serialOpen(“/dev/ttyAMA0“?baudrate);
initRecvDataPack();
_joystickX?=?127;
_joystickY?=?127;
for?(int?i?=?0;?i? _button[i]?=?RELEASED;
}
}
bool?_GoBLE::available()?{
/*
function?introduction:
??*?push?the?new?valid?data?to?the?data?buffer?package
??*?throw?away?the?invalid?byte
??*?parse?the?data?package?when?the?command?length?is?matching?the?protocol
*/
if?(serialDataAvail(fd)?>?0)??bleDataReceiver();
if?(DEBUGPARSER)?{
printf(“%s“?“GoBLE?availalbe?->?bleQueue?Counter:?“);
printf(“%d\n“?bleQueue.size());
}
if?(rDataPack.commandFlag?&&?bleQueue.size()?==?rDataPack.commandLength)?{
rDataPack.parseState?=?bleDataPackageParser();
if?(rDataPack.parseState?==?PARSESUCCESS)?{
updateJoystickVal();
updateButtonState();
return?true;
}
}
return?false;
}
int?_GoBLE::readJoystickX()?{
return??_joystickX;
}
int?_GoBLE::readJoystickY()?{
return??_joystickY;
}
bool?_GoBLE::readSwitchUp()?{
return?_button[SWITCH_UP];
}
bool?_GoBLE::readSwitchDown()?{
return?_button[SWITCH_DOWN];
}
bool?_GoBLE::readSwitchLeft()?{
return?_button[SWITCH_LEFT];
}
bool?_GoBLE::readSwitchRight()?{
return?_button[SWITCH_RIGHT];
}
bool?_GoBLE::readSwitchSelect()?{
return?_button[SWITCH_SELECT];
}
bool?_GoBLE::readSwitchStart()?{
return?_button[SWITCH_START];
}
//?Private?functions
int?_GoBLE::bleDataPackageParser()?{
/*
??0x10??-?Parse?success
??0x11??-?Wrong?header?charactors
??0x12??-?Wrong?button?number
??0x13??-?Check?Sum?Error
*/
byte?calculateSum?=?0;
rDataPack.header1?=?bleQueue.front()?bleQueue.pop()?calculateSum?+=?rDataPack.header1;
rDataPack.header2?=?bleQueue.front()?bleQueue.pop()?calculateSum?+=?rDataPack.header2;
if?(rDataPack.header1?!=?DEFAULTHEADER1)?????return?0x11;
if?(rDataPack.header2?!=?DEFAULTHEADER2)?????return?0x11;
rDataPack.address?=?bleQueue.front()?bleQueue.pop()?calculateSum?+=?rDataPack.address;
rDataPack.latestDigitalButtonNumber?=?rDataPack.digitalButtonNumber;
rDataPack.digitalButtonNumber?=?bleQueue.front()?bleQueue.pop()?calculateSum?+=?rDataPack.digitalButtonNumber;
int?digitalButtonLength?=?rDataPack.digitalButtonNumber;
if?(DEBUGCHECKSUM)?{
printf(“%s“?“Parser?->?digitalButtonLeng
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-09-26?17:32??RaspiBLE\
?????目錄???????????0??2018-09-26?17:32??RaspiBLE\代碼\
?????文件????????6067??2018-09-26?17:08??RaspiBLE\代碼\GoBLE.cpp
?????文件????????2622??2018-09-26?17:08??RaspiBLE\代碼\GoBLE.h
?????文件????????1231??2018-09-26?17:33??RaspiBLE\代碼\main.cpp
?????文件?????????104??2018-09-26?17:33??RaspiBLE\代碼\Readme.txt
?????目錄???????????0??2018-09-26?17:30??RaspiBLE\軟件\
?????文件???????77952??2018-09-05?22:15??RaspiBLE\軟件\GOBLE_V2.apk
?????文件??????????23??2018-09-26?17:31??RaspiBLE\軟件\IOS.txt
評論
共有 條評論