新闻中心

EEPW首页 > 光电显示 > 设计应用 > 以蓝牙技术为基础的无线显示屏系统设计

以蓝牙技术为基础的无线显示屏系统设计

作者: 时间:2012-07-28 来源:网络 收藏

本文引用地址:https://www.eepw.com.cn/article/167772.htm

3.1部分程序

该部分采用了socket编程。通过建立RFCOMM协议层的socket进行连接。连接建立成功之后可以调用函数recv或者read读取主机发来的数据,主机端则对应地采用函数send或者write发送数据。通信结束之后可以调用函数close结束连接。

主机和显示终端蓝牙模块都有固定的蓝牙地址,主机端直接和固定蓝牙地址的显示终端设备进行连接。一台主机可以和多个显示终端进行通信,在不同的显示终端上显示图像和字符。

蓝牙初始化部分参考程序如下:


3.2 LCD液晶屏部分程序

LCD液晶屏部分程序采用了Linux内核驱动程序的framebuffer编程接口。framebuffer为图像硬件设备提供了一种抽象化处理,允许应用程序通过定义明确的界面来访问图像硬件设备。软件无须了解任何涉及硬件底层驱动的东西。通过framebuffer,应用程序可以用mmap函数把显存映射到应用程序虚拟地址空间,将要显示的数据写入内存空间就可以在屏幕上显示出来。LCD初始化和清屏部分参考程序如下:

LCD液晶屏初始化和蓝牙socket初始化连接完成以后,便可以通过蓝牙发送图像和字符数据。蓝牙接收显示图像和字符两个部分的程序类似,都是通过调用函数recv或者read读取主机发来的命令,经过程序判断然后以相同的方式接收数据。字符部分数据接收和显示参考程序如下:


该段程序利用接收到的字符数据得到对应的显示字库数据,然后通过frambuffer显示接口显示到LCD液晶屏上面。源程序带有显示字库文件,该文件通过编译并嵌入可执行代码,然后下载到显示终端文件这里只添加了英文字库和对应的显示代码,可以正常显示英文字符。如果需要,通过添加中文字库和少量显示代码就可以很方便地实现中文字符的显示。图像部分程序则是将接收到的位图数据通过frambuffer显示接口直接显示到LCD液晶屏上面。

为了在显示终端的Linux操作上使用蓝牙协议栈,需要在交叉编译嵌入式Linux内核时将所需的蓝牙支持选项选上,并将所需的Bluez蓝牙库编译安装到终端文件系统中。用户应用程序同样通过交叉编译得到可执行代码,然后下载到终端文件系统运行。

该系统可以应用在公共信息,如大厅广告信息屏、建筑物提示标志等地方,可以避免有线连接的缺陷。系统通过扩展后还可以同移动电话、PDA、耳机、扬声器交换数据。

4结论

在嵌入式Linux操作系统上通过已有的蓝牙协议栈进行蓝牙开发,通过蓝牙协议层收发数据,可以不用关心蓝牙底层驱动的实现。用户可以通过各种上层协议进行更复杂的通信,通过蓝牙SCO协议层还可以发送音频数据。因此嵌入式Linux操作系统平台上进行蓝牙无线系统的开发较为方便,并且具有扩展性能好的优点。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭