美文网首页程序员raspberry pi
Raspberry Pi 3B+ 蓝牙连接八位堂8Bitdo

Raspberry Pi 3B+ 蓝牙连接八位堂8Bitdo

作者: 沈祥佑 | 来源:发表于2019-03-07 17:45 被阅读51次

    原文地址

    先上两张照片

    八位堂出品的ZERO游戏手柄,只有一个钥匙扣大小,携带非常方便,颜值也是非常高


    8Bitdo.jpg

    树莓派3B+,内置蓝牙模块单元,卡片式电脑


    Raspberry pi 3B+.jpg

    1. 更新树莓派软件列表和软件

    $sudo apt-get update && apt-get upgrade -y
    

    2. 树莓派蓝牙连接

    (也可以从桌面软件打开,此处不在介绍,有关此命令的详细使用方法,也请自行搜索)
    在Raspbian中,基本的蓝牙操作可以通过bluez中的bluetoothctl命令进行。该命令运行后,将进入到一个新的Shell,可以看到,命令提示符由$变成了#:

    $sudo bluetoothctl
    

    查看命令帮助信息

    #help
    

    显示树莓派上可用的蓝牙模块

    #list
    

    打开power

    #power on
    Changing power on succeed
    

    设置agent

    #agent on
    Agent registered
    

    设置default agent

    #default-agent
    Default agent request successful
    

    开始扫描

    #scan on
    Discovery started
    

    当查看到自己要配对的蓝牙设备后,停止扫描

    #scan off
    Discovery stopped
    

    蓝牙配对(换成自己的蓝牙设备地址Mac)

    #pair XX:XX:XX:XX:XX:XX
    Pairing successful
    

    连接蓝牙(换成自己的蓝牙设备地址Mac)

    #connect XX:XX:XX:XX:XX:XX
    Connection successful  
    

    退出蓝牙配置shell

    #quit
    Agent unregistrted
    

    3. 验证RPi和手柄之间的通信

    $ls /dev/input
    event0 js0 mice
    

    输入一下命令(X填写自己设备的实际值),按下手柄上的任意一个按钮,此时界面上应该跟随自己的按键输出一些乱码,先不管它,Ctrl+C退出。

    $cat /dev/input/eventX
    

    4.使用EVDEV库测试与开发树莓派与游戏手柄之间的蓝牙通信

    安装python开发环境以及evdev库

    $sudo apt-get install python-dev
    
    $sudo apt-get install python-pip
    
    $sudo pip install evdev
    Installing collected packages: evdev
    Successfully installed evdev-1.1.2
    

    运行测试程序,根据提示选择自己的设备,然后按下不同的按键,查看输出,然后可以根据time、type、code、value值解析出对应的按键和对应的动作,so easy,马上用你的小手柄去控制其它的外部设备吧,Enjoy it!

    $python /usr/local/lib/python2.7/dist-packages/evdev/evtest.py
    time 1552112983.06    --------- SYN_REPORT --------
    time 1552112983.2     type 3 (EV_ABS), code 1    (ABS_Y), value 127
    time 1552112983.2     --------- SYN_REPORT --------
    time 1552112983.35    type 3 (EV_ABS), code 1    (ABS_Y), value 0
    time 1552112983.35    --------- SYN_REPORT --------
    time 1552112983.44    type 3 (EV_ABS), code 1    (ABS_Y), value 127
    time 1552112983.44    --------- SYN_REPORT --------
    time 1552112983.59    type 3 (EV_ABS), code 1    (ABS_Y), value 0
    time 1552112983.59    --------- SYN_REPORT --------
    time 1552112983.65    type 3 (EV_ABS), code 1    (ABS_Y), value 127
    time 1552112983.65    --------- SYN_REPORT --------
    time 1552112983.96    type 3 (EV_ABS), code 1    (ABS_Y), value 255
    time 1552112983.96    --------- SYN_REPORT --------
    time 1552112984.07    type 3 (EV_ABS), code 1    (ABS_Y), value 127
    

    相关文章

      网友评论

        本文标题:Raspberry Pi 3B+ 蓝牙连接八位堂8Bitdo

        本文链接:https://www.haomeiwen.com/subject/ebdhpqtx.html