电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

手机java蓝牙通讯协议编程和电路图

2017-10-03 08:26分类:电子技术 阅读:

 

1 开发环境配备
首要设备J2SE即JDK(jdk-6u22-windows-i586-p.exe),设备完结后,在“我的电脑—》特征—》高档”中,配备java环境变量,设置3项特征,JAVA_HOME,PATH,CLASSPATH,若已存在则点击“批改”,不存在则点击“新建”, JAVA_HOME指明JDK设备途径,PATH使得体系能够在任何途径下辨认java指令,设为%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,CLASSPATH为java加载类(class or lib)途径,只需类在classpath中,java指令才干辨认,设为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar。
接着设备WTK(sun_java_wireless_toolkit-2_5_2-ml-windows) ,默许途径是C:\WTK25。WTK 的全称是Sun J2ME Wireless Toolkit ,是Sun的无线开发东西包。以上软件均能够在sun的官方网站免费下载。
毕竟设备Eclipse作为开发环境,J2ME开发包东西能够被绑定在这些集成开发环境中,进一步行进开发功率。本方案用的是Eclipse3.6.2和EclipseMe1.7.9版别的软件。
2 蓝牙联接
手机蓝牙和蓝牙串口模块之间的联接,是程序方案的要害,也是难点。这个联接进程即是创立一个蓝牙客户端,分查找设备、查找效劳、取得联接URL和树立联接4个首要进程。详细代码如下:
//查找蓝牙设备
public void MyInquiry() {
try {
//取得本地设备
LocalDevice localDevice = LocalDevice.getLocalDevice();
//取得发现署理
discoveryAgent = localDevice.getDiscoveryAgent();
//开端查找设备
discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);
} catch(Exception e) {
e.printStackTrace();
}
}
// DiscoveryListener接口,记载已找到蓝牙设备并闪现
public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass cod) {
try{
sel.append(remoteDevice.getFriendlyName(true),null);
} catch(Exception e){
sel.append(remoteDevice.getBluetoothAddress(),null);
} finally{
remoteDevices.addElement(remoteDevice);
}
}
// DiscoveryListener接口,查找设备完结
public void inquiryCompleted(int discType) {
if (remoteDevices.size() > 0) {
//参加其它代码,如查找效劳
}
else {
}
}
//查找效劳
public void MyServices(){
try {
RemoteDevice remoteDevice = (RemoteDevice)remoteDevices.elementAt(sel.getSelectedIndex());
discoveryAgent.searchServices(attrSet, uuidSet, remoteDevice , this);
} catch(Exception e) {
e.printStackTrace();
}
}
// DiscoveryListener接口,效劳查找成功,得到联接ULR
public void servicesDiscovered(int transID, ServiceRecord[] servRecord){
DataElement serviceNameElement = servRecord[sel.getSelectedIndex()].getAttributeValue(0x0100);
String _serviceName = (String)serviceNameElement.getValue();
String serviceName = _serviceName.trim();
btConnectionURL = servRecord[sel.getSelectedIndex()].getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);
}
//DiscoveryListener接口,查找效劳完结
public void serviceSearchCompleted(int transID, int respCode) {
if (respCode == DiscoveryListener.SERVICE_SEARCH_COMPLETED) { } else {}
}
//翻开联接,树立输入、输出通道
StreamConnection connection = (StreamConnection)Connector.open(btConnectionURL);
经过从行进程,手机和蓝牙串口模块树立起了联接,用read、write办法能够彼此通讯,传输数据了。



3 波形闪现
把早年的示波器加了蓝牙模块,查验程序用的是三星S3370手机,屏幕分辩率为320x240,屏幕上、下侧用于闪现手机状况和按键信息,实习可编程运用的分辩率为200x240,上部170x240有些闪现波形,下部30x240闪现量程、周期挑选菜单。按示波器的习气把闪现波形的界面画出格子,经过查格子能够大致区别波形的幅值和周期。作用图如下:

上一篇:外搭铁型电子调度器电路图

下一篇:行输出管多见损坏缺点要素

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部