如何将蓝牙输入设备连接到计算机?

用户名

我已经创建了一个蓝牙输入设备(手写笔),并希望将其连接到Mac和Windows(将来最好是Linux)。

是否有用于创建跨平台应用程序的理想软件/语言?我曾考虑为每个应用程序编写本机应用程序,但我认为应用程序不会如此复杂以至于绝对必要。

该应用程序将获取BT设备的输入数据,并使用它在屏幕上移动光标并提供单击和按压功能。

先感谢您。

阿尔贝托·贝里尼(Alberto Bellini)

我不知道您的设备是如何设置的。

但是,如果您设法在其上放置具有至少一个串行接口的PIC(例如Arduino ATMega328,则可以通过通用串行总线(USB)将其连接到PC

之后,您将可以用多种语言打开到设备的管道。

C 对于Linux和OS X而言,始终是一个不错的选择,使用POSIX库将使其变得更加容易。

我编写的此片段在网上获得了一些提示,可能有助于入门

int init_port (const char * port_name, int baud) {
    /* Main vars */
    struct termios toptions;
    int stream;
    /* Port data */
    speed_t brate = baud;

    if ((stream = apri_porta(port_name)) < 1)
        return 0;

    if (tcgetattr(stream, &toptions) < 0) {
        printf("Error");
        return 0;
    }
    /* INITIALIZING BAUD RATE */
    cfsetispeed(&toptions, brate);
    cfsetospeed(&toptions, brate);

    // IMPORTANT BLOCK OF OPTIONS TO MAKE TX AND RX WORKING
    toptions.c_cflag &= ~PARENB;
    toptions.c_cflag &= ~CSTOPB;
    toptions.c_cflag &= ~CSIZE;
    toptions.c_cflag |= CS8;

    toptions.c_cflag &= ~CRTSCTS;

    toptions.c_cflag |= CREAD | CLOCAL;
    toptions.c_iflag &= ~(IXON | IXOFF | IXANY);

    toptions.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
    toptions.c_oflag &= ~OPOST;

    toptions.c_cc[VMIN]  = 0;
    toptions.c_cc[VTIME] = 0;

    tcsetattr(stream, TCSANOW, &toptions);
    if (tcsetattr(stream, TCSAFLUSH, &toptions) < 0) {
        printf("Error");
        return 0;
    }

    return stream;
}

int open_port (const char * port_name) {

    int stream;

    stream = open(port_name, O_RDWR | O_NONBLOCK );

    if (stream == -1)  {
        printf("apri_porta: Impossibile aprire stream verso '%s'\n", port_name);
        return -1;
    }

    return stream;
}

int close_port (int stream) {
    return (close(stream));
}

int write_to_port(int stream, char * str) {
    int len = (int)strlen(str);
    int n = (int)write(stream, str, len);
    if (n != len)
        return 0;
    return 1;
}

int read_from_port(int fd, char * buf, int buf_max, char until) {

    int timeout = 5000;
    char b[1];
    int i=0;

    do {
        int n = (int)read(fd, b, 1);
        if( n==-1) return -1;
        if( n==0 ) {
            usleep( 1 * 1000 );
            timeout--;
            continue;
        }
        buf[i] = b[0];
        i++;
    } while( b[0] != until && i < buf_max && timeout > 0 );

    buf[i] = 0;  // null terminate the string
    return 0;
}

Objective-C(OS X)拥有一个不错的库,它的工作原理就像一个吊饰(ORSSerialPort

但是,如果您想拥有一个跨平台的解决方案,Java则对于Windows,OS X和Linux而言它都是最佳选择。

希望这对您和其他人有所帮助。

如果您需要进一步的帮助,请随时与我联系。

最好的祝福。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过蓝牙将USB设备连接到计算机?

来自分类Dev

如何将蓝牙耳机(Bose QuietComfort 35 I)连接到计算机(Windows 7 SP1 x64)?错误消息:“连接失败”

来自分类Dev

将蓝牙耳机连接到手机后,如何防止其连接到Windows 10计算机?

来自分类Dev

如何将卫星连接到计算机以在计算机上观看卫星电视

来自分类Dev

如何将三台显示器连接到一台计算机?

来自分类Dev

如何将PlayStation 3连接到计算机显示器

来自分类Dev

如何将显示器USB无线连接到计算机

来自分类Dev

如何将外部硬盘驱动器连接到Windows 95计算机?

来自分类Dev

VirtualBox-如何将LAN计算机连接到Windows XP Guest

来自分类Dev

如何将Clonezilla与交叉电缆连接到Windows 7计算机?

来自分类Dev

如何将旧的立体声扬声器连接到计算机

来自分类Dev

用于更改输入/输出设备连接到哪台计算机的设备

来自分类Dev

iproute2:如何将一台计算机通过另一台计算机连接到Internet

来自分类Dev

使用Linux计算机将设备连接到Internet

来自分类Dev

如何将两组麦克风/扬声器连接到一台计算机?

来自分类Dev

如何将扬声器连接到计算机并产生5.1环绕声输出?

来自分类Dev

如何将两台计算机连接到一个外部硬盘驱动器?

来自分类Dev

如何将3.5毫米4芯插孔耳机连接到具有100%功能的计算机?

来自分类Dev

如何将android应用程序连接到本地计算机作为服务器

来自分类Dev

如何使用IP地址访问连接到另一台计算机的设备

来自分类Dev

在某人将USB设备连接到Windows计算机或从Windows计算机上拔下USB设备时进行记录

来自分类Dev

液体溅入连接到台式计算机的键盘或其他输入设备上会损坏计算机本身吗?

来自分类Dev

公用IP和ifconfig ip不同:如何将计算机连接到Internet

来自分类Dev

当计算机脱机时将nodeJS连接到MySQL

来自分类Dev

尝试使用域将SSH连接到计算机

来自分类Dev

当计算机脱机时将nodeJS连接到MySQL

来自分类Dev

如何使用ADB从桌面将文件/文件夹发送到连接到Windows 7计算机的多个Android设备

来自分类Dev

如何使用ADB从桌面将文件/文件夹发送到连接到Windows 7计算机的多个Android设备

来自分类Dev

如何使用HDMI将计算机连接到电视?

Related 相关文章

  1. 1

    通过蓝牙将USB设备连接到计算机?

  2. 2

    如何将蓝牙耳机(Bose QuietComfort 35 I)连接到计算机(Windows 7 SP1 x64)?错误消息:“连接失败”

  3. 3

    将蓝牙耳机连接到手机后,如何防止其连接到Windows 10计算机?

  4. 4

    如何将卫星连接到计算机以在计算机上观看卫星电视

  5. 5

    如何将三台显示器连接到一台计算机?

  6. 6

    如何将PlayStation 3连接到计算机显示器

  7. 7

    如何将显示器USB无线连接到计算机

  8. 8

    如何将外部硬盘驱动器连接到Windows 95计算机?

  9. 9

    VirtualBox-如何将LAN计算机连接到Windows XP Guest

  10. 10

    如何将Clonezilla与交叉电缆连接到Windows 7计算机?

  11. 11

    如何将旧的立体声扬声器连接到计算机

  12. 12

    用于更改输入/输出设备连接到哪台计算机的设备

  13. 13

    iproute2:如何将一台计算机通过另一台计算机连接到Internet

  14. 14

    使用Linux计算机将设备连接到Internet

  15. 15

    如何将两组麦克风/扬声器连接到一台计算机?

  16. 16

    如何将扬声器连接到计算机并产生5.1环绕声输出?

  17. 17

    如何将两台计算机连接到一个外部硬盘驱动器?

  18. 18

    如何将3.5毫米4芯插孔耳机连接到具有100%功能的计算机?

  19. 19

    如何将android应用程序连接到本地计算机作为服务器

  20. 20

    如何使用IP地址访问连接到另一台计算机的设备

  21. 21

    在某人将USB设备连接到Windows计算机或从Windows计算机上拔下USB设备时进行记录

  22. 22

    液体溅入连接到台式计算机的键盘或其他输入设备上会损坏计算机本身吗?

  23. 23

    公用IP和ifconfig ip不同:如何将计算机连接到Internet

  24. 24

    当计算机脱机时将nodeJS连接到MySQL

  25. 25

    尝试使用域将SSH连接到计算机

  26. 26

    当计算机脱机时将nodeJS连接到MySQL

  27. 27

    如何使用ADB从桌面将文件/文件夹发送到连接到Windows 7计算机的多个Android设备

  28. 28

    如何使用ADB从桌面将文件/文件夹发送到连接到Windows 7计算机的多个Android设备

  29. 29

    如何使用HDMI将计算机连接到电视?

热门标签

归档