首页 > 其他分享 >树莓派连接蓝牙遥控,控制播放音乐

树莓派连接蓝牙遥控,控制播放音乐

时间:2023-08-18 09:35:57浏览次数:38  
标签:__ 树莓 遥控 蓝牙 MP3 print tools resp conn

采用的树莓派zerow,根据按键切换音乐

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# [NEW] Device EC:22:05:15:24:0D RMT-EC220515240D

import time
from bluepy.btle import *
from binascii import hexlify
import struct
from Music import *


class NotifyDelegate(DefaultDelegate):
    def __init__(self, params):
        DefaultDelegate.__init__(self)
        self.out = 0

    def handleNotification(self, cHandle, data):
        # print("Notification from Handle: 0x" + format(cHandle, '02X'))
        # print(hexlify(data))
        self.out = hexlify(data)


def Test():
    addr = "EC:22:05:15:24:0D"
    conn = Peripheral(addr)
    ND = NotifyDelegate(conn)
    conn.withDelegate(ND)
    services = conn.getServices()
    for svc in services:
        print("[+] Service: ", svc.uuid)
        characteristics = svc.getCharacteristics()
        for charac in characteristics:
            print("    Characteristic: ", charac.uuid)
            print("        Properties: ", charac.propertiesToString())
        print("*" * 100)

    service_uuid = UUID("0000fff0-0000-1000-8000-00805f9b34fb")
    c_service = conn.getServiceByUUID(service_uuid)
    characteristics = c_service.getCharacteristics()
    notify_char = characteristics[0]
    hEcg = notify_char.getHandle()
    for descriptor in conn.getDescriptors(hEcg, c_service.hndEnd):
        if descriptor.uuid == 0x2902:
            print(f'Client Characteristic Configuration found at handle 0x{format(descriptor.handle, "02X")}')
            hEcgCCC = descriptor.handle
    conn.writeCharacteristic(hEcgCCC, bytes([1, 0]))
    tmp_data = conn.readCharacteristic(0x06)
    print(tmp_data)
    MP3 = ['11.wav', '22.wav', '33.wav', '44.wav', '55.wav', '66.wav']
    while True:
        if conn.waitForNotifications(1.0):
            resp = ND.out
            resp = str(resp)
            print(resp)
            if '01' in resp:
                play('tools/' + MP3[0])
            if '02' in resp:
                play('tools/' + MP3[1])
            if '04' in resp:
                play('tools/' + MP3[2])
            if '08' in resp:
                play('tools/' + MP3[3])
            if '10' in resp:
                play('tools/' + MP3[4])
            if '20' in resp:
                play('tools/' + MP3[5])
            continue
        time.sleep(0.01)
    conn.disconnect()


if __name__ == '__main__':
    Test()

 

标签:__,树莓,遥控,蓝牙,MP3,print,tools,resp,conn
From: https://www.cnblogs.com/cn-gzb/p/17639494.html

相关文章

  • 树莓派配置清华源和WiringPi
    在找树莓派小车的零件的时候大多都是卖整套的,自己觉得太贵,索性就自己买零件按照up主:杨坤树莓派爱好者基地的【【类型(教程、树莓派)】树莓派制作遥控小车教程(看了就会)】https://www.bilibili.com/video/BV1pW411J7WG?vd_source=7f1982c56a437c7b00c3695687b7086d造型和走线拼装了一......
  • 树莓派Raspbian安装PYQT5
     安装PYQT5.(树莓派Raspbian下pip3installPyQt5是无法正常安装的。)https://zhuanlan.zhihu.com/p/498682983 准备工作。pipinstallwheelsudoapt-getupdate Pip3installsip可直接用官方仓库安装。 sudoaptinstall-ypython3-pyqt5额外组件sudoaptin......
  • 第三代网关,POE级联蓝牙网关VDB3601,至多可连接38台蓝牙设备
    第三代蓝牙网关,网关集成了蓝牙4.2/5.0+WiFi无线协议,采用双网口设计,1台主蓝牙网关可级联多个从蓝牙网关设备,至多支持远距离连接和控制38台蓝牙设备的蓝牙网关VDB3601,支持双蓝牙模组、485通信、可兼容4G/Cat.1模块,安装更方便,能适用无法布线的特殊场景。VDB3601升级了POE的兼容性和可......
  • 安森美RSL15蓝牙芯片 FOTA流程
    第一步先拉bootloader工程,然后通过jlink将bootloader下载到芯片中第二步在bootloader工程下有一个utility文件夹,该文件夹下有一个updater的文件。使用命令行执行该文件可以将.fota固件通过串口烧录芯片中pythonupdater.pyCOM3ble_peripheral_server_fota.fota 第三......
  • 在树莓派上使用Dockers运行Openwrt并作为主路由器的旁路由
    开启网卡混杂模式sudoiplinkseteth0promiscon首先需要新建一个/etc/rc.local并添加可执行权限sudotouch/etc/rc.localsudochmod+x/etc/rc.local内容如下:#!/bin/sh-e#/etc/rc.local##rc.local##Thisscriptisexecutedattheendofeachmultiuserrunlevel......
  • EdgeBERT:极限压缩,比ALBERT再轻13倍!树莓派上跑BERT的日子要来了?
    文|Sheryc_王苏这个世界上有两种极具难度的工程:第一种是把很平常的东西做到最大,例如把语言模型扩大成能够写诗写文写代码的GPT-3;而另一种恰恰相反,是把很平常的东西做到最小。对于NLPer来说,这种“小工程”最迫在眉睫的施展对象非BERT莫属。从18年那个109M参数的BERT,到52M......
  • 亚马逊遥控器 UL1449 测试报告办理指南
    在当前智能家居趋势中,亚马逊遥控器成为了众多家庭的必备品。然而,我们作为消费者购买遥控器时,很少会关注到它是否符合安全规定。UL1449测试报告对于遥控器的安全性进行了评估,并且执行相应的标准。UL1449测试报告能够验证遥控器是否具备对抗电能干扰和过电压干扰的能力,帮助消费者选择......
  • 亚马逊遥控器 UL1449 测试报告办理指南
    在当前智能家居趋势中,亚马逊遥控器成为了众多家庭的必备品。然而,我们作为消费者购买遥控器时,很少会关注到它是否符合安全规定。UL1449测试报告对于遥控器的安全性进行了评估,并且执行相应的标准。UL1449测试报告能够验证遥控器是否具备对抗电能干扰和过电压干扰的能力,帮助消费者选择......
  • VSCode远程开发树莓派
    一、安装Remote-SSH在插件中直接搜索ssh,可找到Remote-SSH,点击安装。二、配置Remote-SSH2.1配置远程树莓派的IP和登录用户名2.2配置使用账号密码方式登录文件--->首选项--->设置--->扩展--->找到ShowLoginTerminal并勾选。三、连接树莓派可以选择在本窗口或者新建......
  • 试试用Rust为树莓派RP2040开发程序
    试试用Rust为树莓派RP2040开发程序实验环境树莓派Pico开发板DAPLINK调试器原工程链接:https://github.com/rp-rs/rp-hal-boards假设读者已经安装配置好了cargo环境1.安装配置获取工具链rustupselfupdaterustupupdatestablerustuptargetaddthumbv......