python用蓝牙发文件_android-Python蓝牙如何将文件发送到手机
在我当前的项目中,要求通过蓝牙将Windows计算机上的文件发送到android设备,而手机除了标准状态(当然还有成对的蓝牙连接)外没有其他任何内容.我查看了pybluez,它看起来很简单,可以在客户端和服务器体系结构之间发送文件(实际上,它可以在我的笔记本电脑和台式机之间相当快地发送文件),但是我一生都找不到任何办法来获取python建立连接后,将文件从计算机发送到android;我的尝试一直是从设备中获取类似东西的蓝牙mac地址
nearby_devices = bluetooth.discover_devices(
duration=8, lookup_names=True, flush_cache=True, lookup_class=False)
然后尝试像这样发送文件
port = 1
for addr, name in nearby_devices:
bd_addr = addr
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
sock.send("download-app")
sock.close()
当然,使用pybluez文档给出的示例脚本,我可以在客户端和服务器之间无缝发送文件,但是我仍然无法将文件发送到选定的android设备(即使我指定了它的地址并且知道它在其中)范围)
解决方法:
您已经到达那里了…
如您所知,您需要在蓝牙连接的另一端进行通话.您只需要用众所周知的服务(通常是these options之一)来替换您的自定义服务器.
就我而言,我的电话支持“ OBEX Object Push”服务,因此我只需要连接到该服务并使用合适的客户端来谈论正确的协议.幸运的是,PyOBEX和PyBluez的组合在这里起到了作用!
以下代码(从PyOBEX和PyBluez示例中快速修补而成)在Windows 10,Python 2.7安装上运行,并在手机上创建了一个简单的文本文件.
from bluetooth import *
from PyOBEX.client import Client
import sys
addr = sys.argv[1]
print("Searching for OBEX service on %s" % addr)
service_matches = find_service(name=b'OBEX Object Push\x00', address = addr )
if len(service_matches) == 0:
print("Couldn't find the service.")
sys.exit(0)
first_match = service_matches[0]
port = first_match["port"]
name = first_match["name"]
host = first_match["host"]
print("Connecting to \"%s\" on %s" % (name, host))
client = Client(host, port)
client.connect()
client.put("test.txt", "Hello world\n")
client.disconnect()
不过,看起来PyOBEX是一个非常小的软件包,并且与Python 3不兼容,因此如果需要,您可能需要做些移植.
标签:bluetooth,pybluez,windows,python,android
来源: https://codeday.me/bug/20191026/1934996.html
python用蓝牙发文件_android-Python蓝牙如何将文件发送到手机相关推荐
- 如何用计算机蓝牙发送文件,怎么用蓝牙传文件
怎么用蓝牙传文件 两部手机之间,在没有联网,没有数据线的情况下能互相传送文件吗? 答案是肯定的.那就是使用蓝牙进行互传.那么怎么用蓝牙传文件呢?下面给大家分享一下如何用蓝牙传送文件. 第一步:首先将两 ...
- python解压zip文件_python-29 python解压压缩包的几种方法
这里讨论使用Python解压例如以下五种压缩文件: .gz .tar .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. t ...
- python批量读取csv文件-使用Python读写csv文件的三种方法
行之间无空行十分重要,如果有空行或者数据集中行末有空格,读取数据时一般会出错,引发[list index out of range]错误.PS:已经被这个错误坑过很多次! 使用python I/O写入 ...
- python怎么导入txt文件夹-python读取一个目录下所有txt里面的内容方法
实例如下所示: import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文 ...
- float在python_如何在python中读取.float文件? - python
Improve this question 我正在处理大脑MRI数据,它是.float数据. 您知道如何在python中使用它吗? 与 with open('[43x25520].float') as ...
- python怎么读取csv文件-使用Python读写csv文件的三种方法
行之间无空行十分重要,如果有空行或者数据集中行末有空格,读取数据时一般会出错,引发[list index out of range]错误.PS:已经被这个错误坑过很多次! 使用python I/O写入 ...
- Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发
一.Android Bluetooth现状 在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针 ...
- python发送文件到指定的邮箱_怎么用qq邮箱发文件-用python发送139邮箱电子邮件和短信通知,让你不再错过重要信息...
今天,咿哑呀为大家介绍怎样发送电子邮件,实现邮件到达短信通知,让你不再错过重要信息的获取.我们知道,139邮箱有邮件到达时,会自动发短信给用户,我们就可以利用这个功能,向用户的139邮箱发送邮件并获得 ...
- python一次性读取整个文件-使用Python读取大文件的方法
背景 最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法. 准备工作 ...
最新文章
- Java面试之Java基础下册(含答案)
- 编程之美2.17 数组循环移位
- 两对光纤收发器用网线连接_光纤那么快,路由器和电脑之间为何不用光纤连接,反而用普通网线...
- 软件测试用例设计实用经验之谈
- 中国香皂行业产量份额预测与消费需求商机研究报告2022年
- fatal error C1083: 无法打开包括文件:dxtrans.h: No such file or directory
- 揭秘计算机之间互发数据的关键原理!
- JavaScript + CSS3 实现的海报画廊特效
- 基于椭圆-最大边缘准则学习的小麦叶片病害及其严重程度识别
- 【牛腩】牛腩新闻发布系统总结
- mysql类exadata功能_Exadata:Smart Scan(一)
- SAR图像聚焦质量评价插件
- ASP.NET Core 进程内(InProcess)托管
- linux游戏主机,Steam OS界面介绍
- Starling MovieClip API
- 该网页无法正常运作 目前无法处理此请求。 HTTP ERROR 500
- Excel2019选择数据后,指定数据作为x轴
- iPhone 15 高端版本万元起步;华为授权 OPPO 使用其 5G 技术;DeepMind 推出 AI 编剧|极客头条
- Live555(一)
- SEO之搜索引擎劫持