BLE file transfer示例

源码路径:example/ble/file_transfer

支持的平台

全平台

概述

本例程演示了本平台如何做GAP peripheral然后接收手机端发送的文件

例程的使用

  1. 本例程的Finsh命令可以通过输入diss help来打印命令及使用方法。

  2. 作为从设备时开机会开启广播,广播名字以SIFLI_APP-xx-xx-xx-xx-xx-xx, 其中xx代表本设备的蓝牙地址。可以通过手机的BLE APP进行连接

  3. 可以使用sifli ble serial transport串行传输协议,从手机端发送文件到设备端,一次可以发送一个或者多个文件。

硬件需求

运行该例程前,需要准备:

  • 一块本例程支持的开发板(支持的平台)。

  • 手机设备。

编译和烧录

切换到例程project/common目录,运行scons命令执行编译:

> scons --board=eh-lb525 -j32

切换到例程project/common/build_xx目录,运行uart_download.bat,按提示选择端口即可进行下载:

$ ./uart_download.bat

     Uart Download

please input the serial port num:5

关于编译、下载的详细步骤,请参考快速入门的相关介绍。

例程的预期结果

例程启动后:

  1. 可以被手机BLE APP搜到并连接。

  2. 将需要传输的一个或者多个文件,使用zip格式进行压缩,压缩后只有一个.zip文件,将该文件传入手机

  3. 使用SIFLI BLE APP搜索,连接该设备,然后再watchface界面,选择自定义文件,然后选择该文件,该文件就可以传输到开发板的文件系统中

  4. 手机使用步骤 :

  • 开启位置允许使用权限 APP1

  • 点击右下角查询按钮进入到扫描蓝牙界面 APP1

  • 点击SCAN进行扫描 APP2

  • 搜索到设备后,点击SORT,会将广播名为SIFLI_APP-xx-xx-xx-xx-xx-xx放置前排 APP3

  • 点击SIFLI_APP-xx-xx-xx-xx-xx-xx广播名进入设备界面 APP4

  • 点击右上角进入操作界面 APP4

  • 点击CONNECT确保State 为CONNECT APP4

  • 上滑最后一栏框,找到文件传输 WFPUSH2点击进入文件传输界面 APP4

  • 点击SELECT FILE选择手机里面事先准备好的zip文件,并把File Type设置为3, 勾选With Byte Align,最后点击START APP4

  • 传输完成后,在console窗口执行命令进入file_recv文件夹,并执行ls命令查看文件列表,其中就是zip文件内容的显示 APP4

手机APP和DEMO工程获取使用

Android sifli ble app下载地址

https://www.pgyer.com/gurSBc

Android demo工程

https://github.com/OpenSiFli/SiFli_OTA_APP
对应的部分在”3. SiFli-SDK OTA”

iOS demo工程

https://github.com/OpenSiFli/SiFli_OTA_APP_IOS
对应的部分在”SiFli-SDK OTA (Nor Offline)” SiFli-SDK file transfer

异常诊断

当开发板回复某个异常错误时,检查bf0_sibles_watchface.h中的ble_watchface_status_id_t

参考文档

更新记录

版本

日期

发布说明

0.0.1

07/2025

初始版本