ATX Accueil sécurité Robot Rover (6 / 8 étapes)

Étape 6: Programmation Android

L’application Android est chargée d’obtenir des données de l’internet et l’envoyer à la carte arduino ATX2.

Le Gestionnaire Bluetooth et l’expéditeur :

package 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 ; Import 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 ;

import java.io.IOException ; java.io.InputStream importation ; import java.io.OutputStream ; importation java.util.ArrayList ; java.util.Set d’importation ; import java.util.UUID ;

SerializableAttribute public class MainActivity extends activité {privé BluetoothSocket mmSocket privée BluetoothDevice mmDevice privée InputStream mmInStream ; privé OutputStream mmOutStream ;

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

public boolean onCreateOptionsMenu (menu Menu) {/ / gonfler le menu ; Cela ajoute des éléments à la barre d’action s’il est présent. getMenuInflater () .inflate (menu, R.menu.menu_main); return true;}

public boolean onOptionsItemSelected (élément MenuItem) {/ / l’élément de barre de poignée action clique ici. La barre d’action sera / / automatiquement poignée clique sur la page d’Accueil/bouton, si longtemps / / que vous spécifiez une activité parente dans AndroidManifest.xml. int id = item.getItemId() ;

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

Return super.onOptionsItemSelected(item) ; }

{} public void checkDevices (vue)

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

Si (mBluetoothAdapter == null) {/ / périphérique ne prend pas en charge Bluetooth} si (! mBluetoothAdapter.isEnabled()) {intention enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) ; startActivityForResult (enableBtIntent, REQUEST_ENABLE_BT); //Ativa Bluetooth}

Set pairedDevices = mBluetoothAdapter.getBondedDevices() ; S’il existe des appareils couplés si (pairedDevices.size() > 0) {/ / Loop par le biais de périphériques appariés pour (dispositif de BluetoothDevice : pairedDevices) {/ / ajouter le nom et l’adresse d’un adaptateur de tableau pour montrer dans un ListView mArrayAdapter.add(device.getName() + « \n », device.getAddress()) ;

Contexte contexte = getApplicationContext() ; durée de l’int = Toast.LENGTH_SHORT ; Toast de pain grillé = Toast.makeText (context, (device.getName() + « \n » + device.getAddress()), durée) ; if(Device.GetName().StartsWith("HC")) {ConnectThread ct = new ConnectThread(device) ; ct.run();} / / toast.show() ; } } }

classe privée ConnectThread étend Thread {}

public ConnectThread (dispositif BluetoothDevice) {/ / utiliser un objet temporaire qui est ensuite assigné à mmSocket, / / car mmSocket final BluetoothSocket tmp = null ; mmDevice = périphérique ; UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB") ; Obtenir un BluetoothSocket pour se connecter avec l’essai de BluetoothDevice donné {/ / MY_UUID est la chaîne UUID de l’application, également utilisé par le serveur code tmp = device.createRfcommSocketToServiceRecord(uuid);} catch (IOException e) {} mmSocket = tmp ; }

public void run() {try {/ / connecter le périphérique par l’intermédiaire de la douille. Cela peut bloquer / / jusqu'à ce qu’il réussit ou lève une exception mmSocket.connect() ; Contexte contexte = getApplicationContext() ; durée de l’int = Toast.LENGTH_SHORT ; Toast de pain grillé = Toast.makeText (durée de contexte, ("SUCESSO")) ; Toast.Show() ; ConnectedThread ct = new ConnectedThread(mmSocket) ; CT.Write("5") ; } catch (IOException connectException) {contexte contexte = getApplicationContext() ; int durée = Toast.LENGTH_SHORT ; Toast de pain grillé = Toast.makeText (context, (connectException.toString()), durée) ; Toast.Show() ; Impossible de se connecter ; fermer le socket et sortir à try {mmSocket.close();} catch (IOException closeException) {} return ; }

}

/ ** Annule une connexion en cours et fermer le socket * / public void cancel() {try {mmSocket.close();} catch (IOException e) {}}}

classe privée ConnectedThread étend Thread {}

public ConnectedThread (socket BluetoothSocket) {//mmSocket = socket ; InputStream tmpIn = null ; OutputStream tmpOut = null ; try {tmpIn = socket.getInputStream() ; tmpOut = socket.getOutputStream();} catch (IOException e) {}

mmInStream = tmpIn ; mmOutStream = tmpOut ; }

public void run() {ubyte [] buffer = new byte [1024]; / / tampon de magasin pour les octets int de flux; / / octets retournée par read()

Garder l’écoute de l’InputStream jusqu'à ce qu’une exception se produit pendant le (vrai) {try {/ / lecture de l’InputStream octets = mmInStream.read(buffer) ;

mHandler.obtainMessage (MESSAGE_READ, octets, -1, mettre en mémoire tampon) / / .sendToTarget() ; } catch (IOException e) {break;}} }

/ * Appeler cela de l’activité principale d’envoyer des données au périphérique distant * / public void write (String message) {}

Byte [] msgBuffer = message.getBytes() ;

try {mmOutStream.write(msgBuffer);} catch (IOException e) {String msg = "dans onResume() et qu’une exception s’est produite au cours de l’écriture:" + e.getMessage() ; MSG = msg + ".\n\nCheck qui l’UUID SPP : il existe sur server.\n\n" ; } }

/ * Appeler cela de l’activité principale pour arrêter la connexion * / public void cancel() {try {mmSocket.close();} catch (IOException e) {contexte contexte = getApplicationContext() ; int durée = Toast.LENGTH_SHORT ; Toast de pain grillé = Toast.makeText (context, (e.toString()), durée) ; Toast.Show();} } }

}

Articles Liés

Arduino Omni roue Robot Rover - cours MAKE

Arduino Omni roue Robot Rover - cours MAKE

Cet Instructable a été créé dans l'accomplissement de l'exigence de projet de la Makecourse à l'Université de Floride du Sud (www.makecourse.com)Comme robot Rover ? Vous êtes un gourou DIY ? Je suis Larsha Johnson un étudiant en génie électrique à l'
Bluetooth bricolage Robot (Rover) avec Live Stream vidéo commandé!!

Bluetooth bricolage Robot (Rover) avec Live Stream vidéo commandé!!

AVERTISSEMENT : CETTE INSTRUCTABLE CONTIENT UN SUPER SUPER CONTENT AINSI ÊTRE AU COURANT.N'avez-vous jamais eu envie de faire le robot super génial ou contrôlé sans fil avec votre appareil mobile? !Avez-vous jamais eu envie de faire quelque chose à r
La voix de Robot Rover contrôlé

La voix de Robot Rover contrôlé

Cette instructable est sur le contrôle de n'importe quel série robot contrôlé à l'aide de votre voix ! Je vais vous montrer le croquis de l'Arduino utilisé pour le robot rover et l'application Microsoft Visual Studio c# windows forms. Il s'agit d'une
Le robot Rover - contreplaqué Arduino et lasercut

Le robot Rover - contreplaqué Arduino et lasercut

Rover Robot est la construction plus simple que vous pouvez construire avec kit LOFI Robot EDUBOX . Rover est une base pour la plupart des autres constructions robot comme l'évitement d'obstacles, lumière suite, peinture, contrôle plus de bluetooth,
Bot de chien : Lego Robot Rover avec Webcam

Bot de chien : Lego Robot Rover avec Webcam

Voici comment faire un robot Lego, que vous pouvez contrôler de n'importe quel écran via wifi. Il a également une webcam donc vous pouvez voir où votre cours et la LED s'allume pour les yeux ! Il s'agit d'un grand projet à faire avec vos enfants car
Accueil projet de Robot sentinelle pour le Roadshow d’Ito-Intel à Austin, au Texas par la RoboDorks

Accueil projet de Robot sentinelle pour le Roadshow d’Ito-Intel à Austin, au Texas par la RoboDorks

Étant donné que j'allais être dans la région de Austin, TX pour l'anniversaire de ma fille, j'ai été invité à rejoindre mes amis pour le Roadshow de l'ITO-Intel et Hack-a-thon, mettant en vedette le développement Intel Edison Kit. Les critères du con
BRICOLAGE ligne autonome suivi avec Obstacle évitant Robot (Rover)

BRICOLAGE ligne autonome suivi avec Obstacle évitant Robot (Rover)

AVERTISSEMENT : VÉRIFIEZ VOTRE ORDINATEUR LUMINOSITÉ FAIBLE, ÉTANT DONNÉ QUE CE PROJET ÉMET UN NIVEAU ÉLEVÉ D'AWESOMENESS QUI PEUVENT NUIRE À VOS YEUX:D 3:)Ce projet a participé à la RoboCup 2015 concurrence locale d'Egypte et a remporté le « Best De
Robotique Rover

Robotique Rover

Ce tutorial va vous apprendre comment construire votre propre rover robotisé. Je suis en utilisant une voiture électrique échelle 1/10, un camion monstre pour être précis, mais n'importe quel type de voiture va faire (bien que certaines sont plus fac
Accueil SécuritéSystèmeÀ l’aideRFIDetReedInterrupteurContrôléà l’aideArduinoMicrocontrôleur

Accueil SécuritéSystèmeÀ l’aideRFIDetReedInterrupteurContrôléà l’aideArduinoMicrocontrôleur

ID = « qbeFN6y88rs » >Ceciprojetamis en œuvredeuxen couchessécuritéarchitectureà l'aidemicro-contrôleur.Primaire/premièrecouchedesécuritéseramettre en œuvreutilisateurauthentificationsystèmeà l'aideSmartRFIDcarte.LelistedeautoriséeDe la RFIDseraêtrec
Accueil sécurité Email alerte système à l’aide de Raspberry Pi

Accueil sécurité Email alerte système à l’aide de Raspberry Pi

Dans ce tutoriel nous allons examiner comment installer vers le haut de votre pi framboise pour prendre la photo de l'intrus qui pénètre dans votre maison et envoyer un email à vous chaque fois que vous n'êtes pas chez vous.Étape 1: Ce que vous aurez
Robot de réparation Rover

Robot de réparation Rover

Robot de réparation Rover est ma source d'inspiration, après que j'ai lu sur la réparation du télescope spatial Hubble et mission mise à niveau en 2008-2009. J'ai fait une prise de conscience qu'à long terme mission serait bientôt possible. J'ai comm
La MagnetMobile : Faire un mur rampant Rover

La MagnetMobile : Faire un mur rampant Rover

Ainsi, récemment, je suis venu avec une idée... nay, un défi : construire un robot rover qui pousse vers le haut une surface métallique. J'ai contesté mon collègue Kyle et moi avec cet objectif sous la forme d'une génération un jour. Nous avons docum
ATX au ps tester le câble.

ATX au ps tester le câble.

J'avais besoin d'une alimentation pour un vieil ordinateur carte mère basée. Tout ce j'ai eu était une ATX alimentation d'énergie. Vous vraiment ne pouvez pas acheter chez alimentations plus. Remarque : avant de commencer ce projet, assurez-vous que
Désactiver une ceinture de sécurité automatique avec Kung Fu

Désactiver une ceinture de sécurité automatique avec Kung Fu

mon 1996 Ford Escort a une ceinture de sécurité automatique. Voici comment déconnecter avec le Kung Fu.Après cela les ceintures de sécurité fonctionnent encore très bien en mode « manuel », comme dans les voitures ordinaires, conçues par la nature et