E680I通过蓝牙串口传送图像
来源:互联网 发布:vb中证书导入导出向导 编辑:程序博客网 时间:2024/05/22 01:34
最近,空闲的时候做了一个 通过蓝牙串口传送图像 的小程序。
使用的是 BLUEZ 蓝牙库。手机本身提供了蓝牙串口,为何使用这个呢?就是可以方便控制启动、关闭蓝牙功能。但,这个也有缺点:/dev/不能创建 rfcomm0 的设备,非要 mount bind 不可。
BlueZ 的安装,就不用说了,在许多的论坛都已经讲过很多了,而且 BlueZ 本身也有说明。
开发的过程。手机端做为服务器端,启动串口之后,等待连接;电脑端作为客户端,去连接手机。
手机 电脑
等待
<- 连接
应答、等待数据包请求 ->
<- 请求第1个数据包
返回数据包,再等待 ->
<- 请求第2个数据包
返回数据包,再等待 ->
……
返回 结束标志 - >
终止
其中碰到最大的问题:串口的速度跟不上。一张 raw 的 bmp 的大小是150kb (240X320|24B),需要时间大约27~33秒之间,速度大概 5.6~5 k/s 。
期待:
1、将raw 转换成 jpg 降低颜色
2、转换成 160X120 的图片
3、如果最终能将图片大小降到 50K 以内,就会比较好了。
程序运行的效果:
图1 手机启动后等待连接
图2 电脑连接后,在传输的过程
图3 手机端传送完毕
图4 电脑端接收完毕
图5 接收到的图片显示效果
使用的是 BLUEZ 蓝牙库。手机本身提供了蓝牙串口,为何使用这个呢?就是可以方便控制启动、关闭蓝牙功能。但,这个也有缺点:/dev/不能创建 rfcomm0 的设备,非要 mount bind 不可。
BlueZ 的安装,就不用说了,在许多的论坛都已经讲过很多了,而且 BlueZ 本身也有说明。
开发的过程。手机端做为服务器端,启动串口之后,等待连接;电脑端作为客户端,去连接手机。
手机 电脑
等待
<- 连接
应答、等待数据包请求 ->
<- 请求第1个数据包
返回数据包,再等待 ->
<- 请求第2个数据包
返回数据包,再等待 ->
……
返回 结束标志 - >
终止
其中碰到最大的问题:串口的速度跟不上。一张 raw 的 bmp 的大小是150kb (240X320|24B),需要时间大约27~33秒之间,速度大概 5.6~5 k/s 。
期待:
1、将raw 转换成 jpg 降低颜色
2、转换成 160X120 的图片
3、如果最终能将图片大小降到 50K 以内,就会比较好了。
程序运行的效果:
图1 手机启动后等待连接
图2 电脑连接后,在传输的过程
图3 手机端传送完毕
图4 电脑端接收完毕
图5 接收到的图片显示效果
- E680I通过蓝牙串口传送图像
- 通过蓝牙传送文件的几个步骤
- 手机通过蓝牙串口与arduino通信
- ubuntu10.04下使用kermit协议,通过串口传送文件
- 1.2.5 如何通过串口与PC互相传送文件
- ubuntu下使用kermit协议,通过串口传送文件
- 通过串口在主机和开发板之间传送文件
- 嵌入式开发板通过串口与PC互相传送文件
- 使用lrzsz工具通过串口向开发板传送文件
- Android通过蓝牙模拟串口与BC05通信
- PC机通过蓝牙SPP透明串口连接pn532成功
- win7与android设备通过蓝牙串口的连接方法
- Windows Mobile 6.1通过蓝牙串口传输数据
- win7与android设备通过蓝牙串口的连接方法
- win7与android设备通过蓝牙串口的连接方法
- secureCRT串口传送文件
- 串口传送数据出错!
- ubuntu下使用kermit协议,通过串口传送文件[转]
- test
- session的工作原理
- Debian发行版代号含义
- CRT 断言
- test2
- E680I通过蓝牙串口传送图像
- 全面理解C#中的重载运算符和转换运算符
- Meta标签详解
- EVC4.0开发环境安装
- 建立自己的C语言函数库
- java面试题
- HTML中小meta的大作用
- Parameters 基本使用
- PHP中的一些经验积累