要更改文件存储位置,需要更改Python脚本中的存储路径。以下是一个简单的示例,演示了如何将接收到的文件存储到/home/pi/目录下而不是默认的/tmp目录下:
import os
from bluezero import async_tools
from bluezero import adapter
from bluezero import device
from bluezero import obex
def handle_file(recv_file):
print('New file received: ', recv_file)
file_name = recv_file.split('/')[-1]
save_path = '/home/pi/' + file_name
obex.recv_file(recv_file, save_path)
def on_connect():
print('Connected!')
def on_disconnect():
print('Disconnected!')
def main():
adapter.list_devices()
d = device.Device('00:11:22:33:44:55')
d.connect('opush')
d.subscribe_for_property('Connected', on_connect)
d.subscribe_for_property('Disconnected', on_disconnect)
o = obex.Obex(d.dbus_path)
o.register_service('opp')
o.add_file_handler(handle_file)
print('Waiting for incoming files...')
async_tools.EventLoop().run()
if __name__ == '__main__':
main()
在这个示例中,我们通过obex.recv_file()方法将接收到的文件保存到指定的路径下。这将覆盖默认路径。同时,我们还订阅了设备的连接和断开事件,以便在连接到设备时打印一条消息,并在断开连接时打印一条不同的消息。