你觉得这篇文章怎么样? 帮助我们为您提供更好的内容。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
你觉得这篇文章怎么样?
之前的一编Blog跟大家讨论完用于感测和远端控制的低传输率ZigBee技术之后,今次就同大家讲一下较为高速和普及的蓝牙技术(Bluetooth)啦!相信大家都对蓝牙这个名字不会感到陌生,手机上的蓝牙功能和蓝牙耳机大家都可会用过,但是或者你会像我一样,对背后的技术一知半解,甚至不知道蓝牙为什么叫蓝牙。这编Blog 就是去说明一下蓝牙是什么,其实际上的应用和其他传输技术的分别。
蓝牙名字的由来?
“蓝牙”(Bluetooth)原是十世纪统一了丹麦的国王Harald Blatand-英直译为Harold Bluetooth的名字,现取其“统一”的含义,用来命名意在统一无线局域网通讯标准的蓝牙技术。名字于是就这么定下来了。
蓝牙是一个基于IEEE802.15.1之上的无线传输技术,常用于短距离的无线个人局域网(Wireless PAN),最初由爱立信于1994创立,原本是设计用来替代RS-232数据线,后来则由蓝牙技术联盟(Bluetooth Special Interest Group)订定技术标准。蓝牙技术联盟负责制定蓝牙技术规范,审核设备资格,若果设备想印上蓝牙商标,就必须交由蓝牙技术联盟来去审核设备是否达到标准。
同Zigbee一样,蓝牙技术都仔细分开不同的规范层,由最低的物理层(Physical layer) 到数据链路层(Data link layer) ,之上再有中间件层(Middleware layer) 以及最高的应用层(Application layer)。 IEEE802.15.1其实就是指蓝牙物理层(Physical layer) 的标准,中间的数据链路层和中间件层则交由蓝牙技术联盟制定,而最高的应用层则由不同生产商自行编写,透过这个做法,蓝牙技术就可以使不同设备之间能够沟通。
应用前景
蓝牙技术的应用范围相当广泛,可以广泛应用于局域网络中各类数据及语音设备,如PC、拨号网络、笔记本电脑、打印机、传真机、数码相机、移动电话和高品质耳机等,蓝牙的无线通讯方式将上述设备连成一个无线个人区域网络(WPAN),多个WPAN之间也可以进行互连接,从而实现各类设备之间随时随地进行通信。应用蓝牙技术的典型环境有无线办公环境、汽车工业、家电、医疗设备以及学校教育和工厂自动控制等。目前,多种蓝牙的产品问世,一些芯片厂商更不断着手改进具有蓝牙功能的芯片。与此同时,一些颇具实力的软件公司会推出自已的软件,或者与芯片厂商合作推出蓝牙技术实现的具体方案。蓝牙技术的普及全靠以下几个特点:首先是低成本;其次是方便、实用;第三是安全、稳定、可靠。蓝牙将迅速改变人们的生活与工作方式,并大大提高人们的生活质量。
现在常用的蓝牙模块非RN-42 莫属!RN-42是RN-41的Class2 版本,Class2意味着传输距离更远。 RN-42是一块短距离,可以靠电池运作,低耗的蓝牙模块。 RN-42设计用来进行短距离的串联传输,例如:SSP, HID和UART接口。 RN-42非常适合用于嵌入式系统,甚至可以外接在现有系统之上。今次我将会使用mbed作为开发平台,因为mbed的线上编译器实在太方便了,加上又有大量的library及支援,我都颇为推荐的!
RN42 Pin |
mbed Pin |
1 - GND |
GND |
11 - VDD |
Vout |
12 - GND |
GND |
13 - RX |
p9 |
14 - TX |
p10 |
28 - GND |
GND |
29 - GND |
GND |
注意以下程式用以下标准传递信号:
- Baud rate 115,200
- 8 bits
- No Parity
- 1 stop bit
以下就是程式码:
#include "mbed.h" Serial RN42(p9, p10); Serial pc(USBTX, USBRX); DigitalOut RN42_led(LED1); DigitalOut pc_led(LED2); int main() { RN42.baud(115200); pc.baud(115200); while(1) { if(pc.readable()) { RN42.putc(pc.getc()); p; pc_led = !pc_led; } if(RN42.readable()) { pc.putc(RN42.getc()); RN42_led = !RN42_led; } } } |
只要把mbed開發版接上電腦,再去mbed complier ,開啟新一個project,就可以把上述的程式碼编译,之後放進mbed就可以執行了!太方便了吧!在teraterm 内输入$$$就可以进入CMD模式以接收com port的资讯,然后iPhone上開一個note,輸入字串就完成了!
以下是其他网友有趣的小作品