通过蓝牙python命令发送到另一个Raspberry Pi

时间:2018-12-15 14:44:18

标签: python bluetooth raspberry-pi

我想通过蓝牙相互连接两个Raspberry Pi。 接下来,我想向其他Raspberry Pi发送命令(使用Python)。

我想将其用于一些家庭自动化,例如通过蓝牙将温度从一个pi通过蓝牙发送到另一个,而无需Wi-Fi。

我已经使用Google搜索很长时间了,却找不到适合我的优秀教程。 谢谢。

1 个答案:

答案 0 :(得分:3)

要首先连接两个树莓派设备,您需要安装以下软件包:

  • connman
  • pi-蓝牙
  • 蓝牙
  • bluez
  • python-bluez

检查是否通过命令“ hciconfig -a”启用了蓝牙。 蓝牙关闭时的示例输出:

hci0:   Type: Primary  Bus: UART
        BD Address: B8:27:EB:9D:51:6B  ACL MTU: 1021:8  SCO MTU: 64:1
        DOWN
        RX bytes:668 acl:0 sco:0 events:34 errors:0
        TX bytes:423 acl:0 sco:0 commands:34 errors:0
        Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH SNIFF
        Link mode: SLAVE ACCEPT

您可以使用命令“ connmanctl enable bluetooth”启用它。现在,当您再次使用“ hciconfig -a”检查时,您应该会看到类似这样的内容

hci0:   Type: Primary  Bus: UART
        BD Address: B8:27:EB:9D:51:6B  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING
        RX bytes:1385 acl:0 sco:0 events:75 errors:0
        TX bytes:1193 acl:0 sco:0 commands:75 errors:0
        Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH SNIFF
        Link mode: SLAVE ACCEPT
        Name: 'raspberrypi'
        Class: 0x6c0000
        Service Classes: Rendering, Capturing, Audio, Telephony
        Device Class: Miscellaneous,
        HCI Version: 4.1 (0x7)  Revision: 0x8b
        LMP Version: 4.1 (0x7)  Subversion: 0x6119
        Manufacturer: Broadcom Corporation (15)

要配对两个覆盆子,请遵循this site上“使用命令行”部分的说明

如果您想使用python进行交流,可以查看this repository

中的代码