ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:19.44KB ,
资源ID:4504705      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4504705.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(成功实现手机蓝牙控制智能小车机器人视频程序源代码Android.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

成功实现手机蓝牙控制智能小车机器人视频程序源代码Android.docx

1、成功实现手机蓝牙控制智能小车机器人视频程序源代码Android上次成功实现了通过笔记本电脑蓝牙来控制智能小车机器人的运动,但是通过电脑控制毕竟不方便,于是乎本人打算将控制程序移植到手机上。目前主流的手机操作系统有塞班、安卓(Android)、Windows Mobile,对比了一下,首先,塞班是用C+写的,这么多门语言我唯独看到C+就头大,放弃了,Windows Moblie其实和之前发的电脑端程序基本是一样的,也就没什么意思了,最后决定选择目前正火的Android手机作为控制平台。Android是个开源的应用,使用Java语言对其编程。于是这次的开发我选用Eclipse作为开发工具,用Jav

2、a语言开发手机端的控制程序,由于之前对Android的蓝牙通信这块涉及不多,一开始感觉有点小茫然,而网上也少有这方面的例程,有少数人做出了类似的东西,但是只传了个视频装X!雪特经过几天的研究,最终确定了手机蓝牙通信其实就是Socket编程,再经过一番编写和调试,昨晚终于大功告成!这是视频:下面开始介绍Android手机端控制程序的编写:首先打开Eclipse,当然之前的Java开发环境和安卓开发工具自己得先配置好,这里就不多说了,网上教程一大摞。然后新建一个Android项目,修改布局文件main.xml,代码如下: 这个布局文件的效果就是如视频中所示的手机操作界面。然后是权限声明,这一步不能

3、少,否则将无法使用安卓手机的蓝牙功能。权限声明如下:打开AndroidManifest.xml文件,修改代码如下: 其中红色、加粗部分就是要添加的权限声明。然后编写Activity中的执行代码,这些代码的作用就是发送指令,控制小车的运动。代码如下:package com.ThinBTClient.www;import android.app.Activity;import android.os.Bundle;import java.io.IOException;import java.io.OutputStream;import java.util.UUID;import android.ap

4、p.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothSocket;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener; import android.os.Bundle;import android.provider.ContactsContract.C

5、ommonDataKinds.Event; import android.util.Log;import android.view.MotionEvent;import android.view.View; import android.widget.Button;import android.widget.Toast;public class ThinBTClient extends Activity private static final String TAG = THINBTCLIENT; private static final boolean D = true; private B

6、luetoothAdapter mBluetoothAdapter = null; private BluetoothSocket btSocket = null; private OutputStream outStream = null; Button mButtonF; Button mButtonB; Button mButtonL; Button mButtonR; Button mButtonS; private static final UUID MY_UUID = UUID.fromString(00001101-0000-1000-8000-00805F9B34FB); pr

7、ivate static String address = 00:11:03:21:00:43; / =要连接的蓝牙设备MAC地址 /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); /前进 mButtonF=(Button)findViewById(R.id.btnF); mButtonF.setOnT

8、ouchListener(new Button.OnTouchListener() Override public boolean onTouch(View v, MotionEvent event) / TODO Auto-generated method stub String message; byte msgBuffer; int action = event.getAction(); switch(action) case MotionEvent.ACTION_DOWN: try outStream = btSocket.getOutputStream(); catch (IOExc

9、eption e) Log.e(TAG, ON RESUME: Output stream creation failed., e); message = 1; msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); break; case MotionEvent.ACTION_UP: try outStream = btSocket.getOutputStream(); cat

10、ch (IOException e) Log.e(TAG, ON RESUME: Output stream creation failed., e); message = 0; msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); break; return false; ); /后退 mButtonB=(Button)findViewById(R.id.btnB); mBu

11、ttonB.setOnTouchListener(new Button.OnTouchListener() Override public boolean onTouch(View v, MotionEvent event) / TODO Auto-generated method stub String message; byte msgBuffer; int action = event.getAction(); switch(action) case MotionEvent.ACTION_DOWN: try outStream = btSocket.getOutputStream();

12、catch (IOException e) Log.e(TAG, ON RESUME: Output stream creation failed., e); message = 3; msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); break; case MotionEvent.ACTION_UP: try outStream = btSocket.getOutputS

13、tream(); catch (IOException e) Log.e(TAG, ON RESUME: Output stream creation failed., e); message = 0; msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); break; return false; ); /左转 mButtonL=(Button)findViewById(R.i

14、d.btnL); mButtonL.setOnTouchListener(new Button.OnTouchListener() Override public boolean onTouch(View v, MotionEvent event) / TODO Auto-generated method stub String message; byte msgBuffer; int action = event.getAction(); switch(action) case MotionEvent.ACTION_DOWN: try outStream = btSocket.getOutp

15、utStream(); catch (IOException e) Log.e(TAG, ON RESUME: Output stream creation failed., e); message = 2; msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); break; case MotionEvent.ACTION_UP: try outStream = btSocke

16、t.getOutputStream(); catch (IOException e) Log.e(TAG, ON RESUME: Output stream creation failed., e); message = 0; msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); break; return false; ); /右转 mButtonR=(Button)find

17、ViewById(R.id.btnR); mButtonR.setOnTouchListener(new Button.OnTouchListener() Override public boolean onTouch(View v, MotionEvent event) / TODO Auto-generated method stub String message; byte msgBuffer; int action = event.getAction(); switch(action) case MotionEvent.ACTION_DOWN: try outStream = btSo

18、cket.getOutputStream(); catch (IOException e) Log.e(TAG, ON RESUME: Output stream creation failed., e); message = 4; msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); break; case MotionEvent.ACTION_UP: try outStre

19、am = btSocket.getOutputStream(); catch (IOException e) Log.e(TAG, ON RESUME: Output stream creation failed., e); message = 0; msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); break; return false; ); /停止 mButtonS=

20、(Button)findViewById(R.id.btnS); mButtonS.setOnTouchListener(new Button.OnTouchListener() Override public boolean onTouch(View v, MotionEvent event) / TODO Auto-generated method stub if(event.getAction()=MotionEvent.ACTION_DOWN) try outStream = btSocket.getOutputStream(); catch (IOException e) Log.e

21、(TAG, ON RESUME: Output stream creation failed., e); String message = 0; byte msgBuffer = message.getBytes(); try outStream.write(msgBuffer); catch (IOException e) Log.e(TAG, ON RESUME: Exception during write., e); return false; ); if (D) Log.e(TAG, + ON CREATE +); mBluetoothAdapter = BluetoothAdapt

22、er.getDefaultAdapter(); if (mBluetoothAdapter = null) Toast.makeText(this, Bluetooth is not available., Toast.LENGTH_LONG).show(); finish(); return; if (!mBluetoothAdapter.isEnabled() Toast.makeText(this, Please enable your Bluetooth and re-run this program., Toast.LENGTH_LONG).show(); finish(); ret

23、urn; if (D) Log.e(TAG, + DONE IN ON CREATE, GOT LOCAL BT ADAPTER +); Override public void onStart() super.onStart(); if (D) Log.e(TAG, + ON START +); Override public void onResume() super.onResume(); if (D) Log.e(TAG, + ON RESUME +); Log.e(TAG, + ABOUT TO ATTEMPT CLIENT CONNECT +); BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address); try btSocket = device.createRfcommSocketToServiceRecord(MY_UUID); catch (IOException e) Log.e(TAG, ON RESUME: Socket creation failed., e); mBluetoothAdapter.cancelDiscovery(); try btSocket.connect();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1