ATX hogar seguridad Robot Rover (6 / 8 paso)

Paso 6: Programación Android

La aplicación Android es responsable de obtener datos de internet y enviarlo a ATX2 placa de arduino.

Administrador de Bluetooth y emisor:

paquete com.example.alisson.atx2;

Import android.app.Activity; Import android.bluetooth.BluetoothDevice; Import android.bluetooth.BluetoothSocket; Import android.content.BroadcastReceiver; Import android.content.Context; Import android.content.Intent; Import android.content.IntentFilter; Import android.os.Bundle; Import android.view.Menu; Import android.view.MenuItem; Import android.bluetooth.BluetoothAdapter; importación android.view.View; Import android.widget.ArrayAdapter; Import android.widget.EditText; Import android.widget.ListAdapter; Import android.widget.ListView; Import android.widget.SimpleCursorAdapter; Import android.widget.Toast;

Import com.dropbox.sync.android.DbxAccountManager; Import com.dropbox.sync.android.DbxFile; Import com.dropbox.sync.android.DbxFileSystem; Import com.dropbox.sync.android.DbxPath;

importación java.io.IOException; importación java.io.InputStream; flujo de importación; Import java.util.ArrayList; java.util.Set de importación; importación java.util.UUID;

la clase MainActivity amplía actividad {privado BluetoothSocket mmSocket mmDevice BluetoothDevice privada privada InputStream mmInStream; privado OutputStream mmOutStream;

protegido void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);}

público boolean onCreateOptionsMenu (menú) {/ / inflar el menú, este agrega elementos a la barra de acción si es actual. getMenuInflater () .inflate (R.menu.menu_main, menu); return true;}

público onOptionsItemSelected booleano (elemento MenuItem) {/ / mango de elemento de la barra de acción haga clic aquí. La barra de acción será / / automáticamente mango hace clic en la página de Inicio/botón, tanto tiempo / / como especificar una actividad padre en AndroidManifest.xml. int id = item.getItemId();

noinspection SimplifiableIfStatement si (id == R.id.action_settings) {devuelve true;}

volver super.onOptionsItemSelected(item); }

{público vacío checkDevices (vista)

final int REQUEST_ENABLE_BT = 0; BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); final ArrayList mArrayAdapter = new ArrayList();

Si (mBluetoothAdapter == null) {/ / dispositivo no es compatible con Bluetooth} Si (! mBluetoothAdapter.isEnabled()) {enableBtIntent Intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult (enableBtIntent, REQUEST_ENABLE_BT); //Ativa Bluetooth}

Set pairedDevices = mBluetoothAdapter.getBondedDevices(); Si hay dispositivos emparejados si (pairedDevices.size() > 0) {/ / bucle a través de dispositivos emparejados para (dispositivo de BluetoothDevice: pairedDevices) {/ / el nombre y la dirección a un adaptador de matriz para mostrar en un ListView mArrayAdapter.add(device.getName() + "\n" + device.getAddress());

Contexto contexto = getApplicationContext(); duración de int = Toast.LENGTH_SHORT; Tostadas tostadas = Toast.makeText (contexto, (device.getName() + "\n" + device.getAddress()), duración); if(Device.getName().startsWith("HC")) {ConnectThread ct = new ConnectThread(device); ct.run();} / / toast.show(); } } }

clase privada ConnectThread amplía hilo {}

ConnectThread público (dispositivo de BluetoothDevice) {/ / usar un objeto temporal que más adelante se asigna a mmSocket, / porque mmSocket es final BluetoothSocket tmp = null; mmDevice = dispositivo; UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); Conseguir un BluetoothSocket para conectar con el intento de BluetoothDevice dado {/ / MY_UUID es cadena UUID de app, también utilizado por el servidor código tmp = device.createRfcommSocketToServiceRecord(uuid);} catch (IOException e) {mmSocket = tmp; }

público void run() {tratar {/ / Conecte el dispositivo a través de la toma. Esto bloqueará / / hasta que tiene éxito o lanza una excepción mmSocket.connect(); Contexto contexto = getApplicationContext(); duración de int = Toast.LENGTH_SHORT; Tostadas tostadas = Toast.makeText (duración del contexto, ("SUCESSO")); Toast.Show(); ConnectedThread ct = nuevo ConnectedThread(mmSocket); CT.Write("5"); } catch (IOException connectException) {contexto contexto = getApplicationContext(); duración int = Toast.LENGTH_SHORT; Tostadas tostadas = Toast.makeText (contexto, (connectException.toString()), duración); Toast.Show(); No se puede conectar; cierra el socket y salir try {mmSocket.close();} catch (IOException closeException) {return; }

}

/ ** Se cancelar una conexión en curso y cierra el socket * / público anular cancel() {prueba {mmSocket.close();} catch (IOException e) {}}}

clase privada ConnectedThread amplía hilo {}

ConnectedThread público (socket BluetoothSocket) {//mmSocket = socket; InputStream tmpIn = null; OutputStream tmpOut = null; trate de {tmpIn = socket.getInputStream(); tmpOut = socket.getOutputStream();} catch (IOException e) {}

mmInStream = tmpIn; mmOutStream = tmpOut; }

público void run() {búfer de bytes [] = new byte [1024]; / / búfer de almacén para los bytes de stream int; / / bytes devueltos de read()

Seguir escuchando el InputStream hasta que se produce una excepción mientras que (verdad) {prueba {/ / leer los bytes InputStream = mmInStream.read(buffer);

mHandler.obtainMessage (MESSAGE_READ, bytes, -1, buffer) / / .sendToTarget(); } catch (IOException e) {break;}} }

/ * Llamar a esto de la actividad principal para enviar datos al dispositivo remoto * / público void (String mensaje) {}

Byte [] msgBuffer = message.getBytes();

trate de {mmOutStream.write(msgBuffer);} catch (IOException e) {String msg = "onResume() y una excepción ocurrió durante la escritura:" + e.getMessage(); MSG = msg + ".\n\nCheck que el UUID SPP: existe en el server.\n\n"; } }

/ * Llamar a esto de la actividad principal para apagar la conexión * / público anular cancel() {prueba {mmSocket.close();} catch (IOException e) {contexto contexto = getApplicationContext(); duración int = Toast.LENGTH_SHORT; Tostadas tostadas = Toast.makeText (contexto, (e.toString()), duración); Toast.Show();} } }

}

Artículos Relacionados

Arduino Omni rueda Robot Rover - curso de hacer

Arduino Omni rueda Robot Rover - curso de hacer

Este Instructable fue creado en cumplimiento de la exigencia de proyecto de la Makecourse de la Universidad de South Florida (www.makecourse.com)¿Como rovers robot? ¿Eres un gurú DIY? Soy Larsha Johnson una estudiante de ingeniería eléctrica en la Un
DIY Bluetooth controlado Robot (Rover) con Video Stream en vivo!!

DIY Bluetooth controlado Robot (Rover) con Video Stream en vivo!!

ADVERTENCIA: ESTE INSTRUCTIVO CONTIENE UN SUPER IMPRESIONANTE CONTENIDO ASÍ TENGA EN CUENTA.¿Has alguna vez has querido hacer robot súper impresionante o rover controlado inalámbricamente con tu dispositivo móvil?¿Alguna vez has querido hacer algo mi
Voz Robot Rover controlado

Voz Robot Rover controlado

Este instructable es controlar cualquier serial robot controlado por el uso de la voz! Le mostrará el sketch de Arduino para el robot rover y el Microsoft Visual Studio C# aplicación de windows forms. Esta es una tarea muy sencilla y te adjunto mi co
Línea autónoma DIY seguimiento con obstáculos evitando Robot (Rover)

Línea autónoma DIY seguimiento con obstáculos evitando Robot (Rover)

ADVERTENCIA: HACER SU COMPUTADORA BRILLO BAJO, PORQUE ESTE PROYECTO EMITE UN ALTO NIVEL DE GENIALIDAD QUE PUEDE DAÑAR TUS OJOS :D 3:)Este proyecto participó en RoboCup 2015 Egipto Local concurso y el premio "mejor diseño" con mi equipo Abdelrahm
Robot de reparación rover

Robot de reparación rover

Robot de reparación de Rover es mi inspiración, después de leer sobre la misión de actualización y reparación de telescopio espacial Hubble en 2008-2009. Llegué a una realización a largo plazo misión sería posible pronto. Comencé el diseño de un robo
Trampa para ratones garra de Robot

Trampa para ratones garra de Robot

Para este Instructable se utiliza una trampa para ratones para construir una garra robótica simple! Este diseño se centra en poder de agarre y acabado la garra es capaz de recoger más todo lo que puede caber en sus mandíbulas, como los teléfonos celu
Cabeza de Robot Animatronic que habla

Cabeza de Robot Animatronic que habla

(Robot concurso entrada categoría = 18 +)Este instructable es un parlante animatronic robot cabeza construí, que llamo Robot jefe 2.  Para tener una idea de la funcionalidad del Robot jefe 2, haga clic en el siguiente video corto o puede copiar y peg
Cómo hacer un Robot bola de equilibrio

Cómo hacer un Robot bola de equilibrio

el año pasado, he hecho esta bola equilibrio robot. Puede colocarse en una bola estable por el sistema de equilibrio de sí mismo.Sólo hay un conecte entre el robot y el suelo, por lo que es más flexible que el tradicional robot con ruedas. Puede move
Robot-O Awesome O disco-O el Robot de discoteca (decoración)

Robot-O Awesome O disco-O el Robot de discoteca (decoración)

Mi sobrina va a tener una fiesta de cumpleaños temática Disco, y como luz discoteca decoraciones puede ser costoso, decidí hacerme algunas decoraciones frescos.  Durante las vacaciones, era un TV comercial cuenta con una discoteca robot http://www.yo
DR1: Descubrimiento Rover

DR1: Descubrimiento Rover

DR1 es un robot rover con núcleo de Arduino. Muchos robots en Internet están diseñados para resolver un problema determinado, tales como localización, luz tras detección de obstáculos.El propósito de este proyecto era crear un robot que incluye todas
Rover robótico

Rover robótico

Este tutorial te enseñará cómo construir a su propio robot rover. Estoy usando un coche eléctrico escala 1/10, un camión para ser específica, pero cualquier tipo de coche va a hacer (aunque algunos son más fáciles de trabajar con que otros). Nuestro
UGV (vehículo de tierra no tripulados) para la operación de rescate

UGV (vehículo de tierra no tripulados) para la operación de rescate

Queridos amigos,Vamos a hablar un poco sobre la operación de rescate, en la operación de rescate del equipo de rescate va allí y busca víctimas y rescatarlos. Operación de rescate es bastante peligroso para el equipo de rescate, así como perros de re
La BoBoBoT 5MP 1080 HD seguridad cámara frambuesa Pi Robot de seguridad

La BoBoBoT 5MP 1080 HD seguridad cámara frambuesa Pi Robot de seguridad

Módulo de cámara HD 5 Mega Pixel 1080 con visión nocturna NOIRTecnología de captura de movimientoAlertas de correo electrónico de captura de movimientoReloj Web Feed directo desde tu teléfono inteligenteSD tarjeta DVRFrambuesas pines GPIO de PiLEDWi-
IRobot Create Personal hogar Robot

IRobot Create Personal hogar Robot

introducir un robot casero personal en torno a la plataforma de Create de iRobot y un sistema mini-itx.Nunca ha sido más fácil y más asequible para diseñar y construir robots aprovechando las economías de escala del software, PC, juguetes y otras ind