树莓派体验6 - 文件传输方式 - 蓝牙
树莓派和其他设备(PC、手机等)传输文件的方式除了网络和U盘拷贝之外,蓝牙也是一种选择。本文以Android手机和树莓派3B通过蓝牙互传文件为例,简述蓝牙使用方法。
手机给树莓派发送文件
本例依赖两个应用程序:obexpushd和bluetoothctl,如果缺少则通过apt-get命令安装。
apt-get install obexpushd
apt-get install bluetoothctl
启动bluetoothctl
power on -- 启动蓝牙模块
agent on
-- 蓝牙模块agent 打开
scan on -- 扫描周边设备,得到手机MAC:DC:09:4C:62:B3:CA
trust DC:09:4C:62:B3:CA -- trust该手机
pairable on
-- 配对使能
discoverable on -- 开放检测
show -- 查看蓝牙配置信息
配置obexpushd
创建目录存储接收的文件
mkdir /ble_receive
在obexpushd配置文件/etc/systemd/system/dbus-org.bluez.service中
ExecStart=/usr/lib/bluetooth/bluetoothd行尾添加 -C
启动obexpushd
obexpushd -B -o /ble_receive -n
手机发送文件
此时,树莓派蓝牙环境准备就绪,打开手机发送一个mp3文件到树莓派。发送方法根据手机型号、蓝牙App型号各异。
发送一首Clodplay的Viva la vida到树莓派,通过obexpushd监听界面可见文件正在发送,等待手机提示发送完成。
验证文件
进入文件所在目录,耳机连接树莓派,播放。恩,确实是这首歌,不是月亮之上,证明文件传输无误。音频的配置以及播放请自行皮查伊。
如果想要将obexpush在后台运行,按照以下步骤配置。
新建文件:/etc/systemd/system/obexpush.service
文件内容为:
[Unit]
Description=OBEX Push service
After=bluetooth.service
Requires=bluetooth.service
[Service]
ExecStart=/usr/bin/obexpushd -B -o /ble_receive -n
[Install]
WantedBy=multi-user.target
执行命令:
systemctl enable obexpush
重启系统
reboot
树莓派给手机发送文件
将手机配置为蓝牙FTP server;
树莓派通过scan on 扫描得到手机MAC;
通过obexftp命令发送文件给手机。
obexftp -b DC:09:4C:62:B3:CA -p 203.mp3