最近,空闲的时候做了一个 通过蓝牙串口传送图像 的小程序。
使用的是 BLUEZ 蓝牙库。手机本身提供了蓝牙串口,为何使用这个呢?就是可以方便控制启动、关闭蓝牙功能。但,这个也有缺点:/dev/不能创建 rfcomm0 的设备,非要 mount bind 不可。
BlueZ 的安装,就不用说了,在许多的论坛都已经讲过很多了,而且 BlueZ 本身也有说明。
开发的过程。手机端做为服务器端,启动串口之后,等待连接;电脑端作为客户端,去连接手机。
手机 电脑
等待
<- 连接
应答、等待数据包请求 ->
<- 请求第1个数据包
返回数据包,再等待 ->
<- 请求第2个数据包
返回数据包,再等待 ->
……
返回 结束标志 - >
终止
其中碰到最大的问题:串口的速度跟不上。一张 raw 的 bmp 的大小是150kb (240X320|24B),需要时间大约27~33秒之间,速度大概 5.6~5 k/s 。
期待:
使用的是 BLUEZ 蓝牙库。手机本身提供了蓝牙串口,为何使用这个呢?就是可以方便控制启动、关闭蓝牙功能。但,这个也有缺点:/dev/不能创建 rfcomm0 的设备,非要 mount bind 不可。
BlueZ 的安装,就不用说了,在许多的论坛都已经讲过很多了,而且 BlueZ 本身也有说明。
开发的过程。手机端做为服务器端,启动串口之后,等待连接;电脑端作为客户端,去连接手机。
手机 电脑
等待
<- 连接
应答、等待数据包请求 ->
<- 请求第1个数据包
返回数据包,再等待 ->
<- 请求第2个数据包
返回数据包,再等待 ->
……
返回 结束标志 - >
终止
其中碰到最大的问题:串口的速度跟不上。一张 raw 的 bmp 的大小是150kb (240X320|24B),需要时间大约27~33秒之间,速度大概 5.6~5 k/s 。
期待: