15 int main(
int argc,
char **argv)
17 struct sockaddr_rc locAddr = { 0 }, remAddr = { 0 };
18 char buf[1024] = { 0 };
19 int sRec, sSend, client, bytesRead, status;
20 socklen_t opt =
sizeof(remAddr);
21 double receivedData[1024] = {0.0};
23 struct sockaddr_rc destAddr = {0};
24 char dest[18] =
"50:9E:A7:77:0C:2A";
27 sRec = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
28 sSend = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
33 locAddr.rc_family = AF_BLUETOOTH;
34 locAddr.rc_bdaddr = *BDADDR_ANY;
35 locAddr.rc_channel = (uint8_t)1;
36 bind(sRec, (
struct sockaddr *)&locAddr,
sizeof(locAddr));
42 client = accept(sRec, (
struct sockaddr *)&remAddr, &opt);
44 ba2str(&remAddr.rc_bdaddr, buf);
45 fprintf(stderr,
"accepted connection from %s\n", buf);
46 memset(buf, 0,
sizeof(buf));
50 destAddr.rc_family = AF_BLUETOOTH;
51 destAddr.rc_channel = (uint8_t)1;
52 str2ba(dest, &destAddr.rc_bdaddr);
54 status = connect(sSend, (
struct sockaddr *)&destAddr,
sizeof(destAddr));
56 double send[1] = {3.1456789654123554};
60 bytesRead = read(client, receivedData,
sizeof(receivedData));
62 for(uint8_t i=0; i<bytesRead/8; i++){
63 printf(
"received [%f]\t", receivedData[i]);
69 write(sSend, send,
sizeof(send));