Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

Application Android avec une carte Arduino




  1. #1
    mira1991

    Application Android avec une carte Arduino

    Salut tous le monde ;
    Je fais une application Android qui commande une carte Arduino à travers une communication série (Module bluetooth HC-05 lié à la carte Arduino) mais ça ne fonctionne pas et je ne sais pas pourquoi .Je vous propose de m'aider et merci à tout . Et voilà le code source :

    -----


  2. Publicité
  3. #2
    mira1991

    Re : Application Android avec une carte Arduino

    Je trouve lors de l 'ajoute de mon projet sur le forum !!!!
    qui peut m' aider!!!

  4. #3
    mira1991

    Re : Application Android avec une carte Arduino

    Je trouve une probléme (fichier non valide aprés la finition de téléchargement)lors de l 'ajoute de mon projet(fichier .zip ou .rar) sur le forum !!!!
    qui peut m' aider!!!


  5. #4
    JPL

    Re : Application Android avec une carte Arduino

    Sais-tu que tu peux incorporer le code source sous forme de texte dans le message en utilisant la balise Code (# dans le mode avancé de la fenêtre d'édition). C'est la façon la plus efficace et agréable de poster du code.

    Exemple :
    Code:
    {
     if xxxxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzz 
       then wwwwwwwwwww
     else kkkkkkkkk
     blablabla blablabla blablabla 
     blablabla 
     blablabla blablabla blablabla blablabla 
     blablabla 
     blablabla blablabla blablabla 
     blablabla blablabla blablabla blablabla blablabla blablabla 
     blablabla blablabla blablabla
    }
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  6. #5
    mira1991

    Re : Application Android avec une carte Arduino

    je sais mais mon code source est composé par 3 classes Java et 2 fichiers xml !!!!

  7. A voir en vidéo sur Futura
  8. #6
    JPL

    Re : Application Android avec une carte Arduino

    En effet ! les fichiers rar ne sont pas acceptés mais un zip devrait passer sans problème.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  9. #7
    mira1991

    Re : Application Android avec une carte Arduino

    Salut
    Je veux écrire mon classe de projet l'un aprés l'autre et j'espère que je trouve la solution de mon problème!!

    Code:
    CLASSE BLUETOOTH
    package com.formation.pfa;
    
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Set;
    import java.util.UUID;
    import android.bluetooth.BluetoothAdapter;
    import android.bluetooth.BluetoothDevice;
    import android.bluetooth.BluetoothSocket;
    //import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    
    public class Bt extends MainActivity {
    
    	private BluetoothDevice device = null;
    	private BluetoothSocket socket = null;
    	private InputStream receiveStream = null;
    	private OutputStream sendStream = null;
    	
    	//private ReceiverThread receiverThread;
    
    	Handler handler;
    
    	public Bt(Handler hstatus, Handler h) {
    		Set<BluetoothDevice> setpairedDevices = BluetoothAdapter.getDefaultAdapter().getBondedDevices();
    		BluetoothDevice[] pairedDevices = (BluetoothDevice[]) setpairedDevices.toArray(new BluetoothDevice[setpairedDevices.size()]);
    		
    		for(int i=0;i<pairedDevices.length;i++) {
    			if(pairedDevices[i].getName().contains("HC-05")) {
    				device = pairedDevices[i];
    				try {
    					socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
    					receiveStream = socket.getInputStream();
    					sendStream = socket.getOutputStream();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    				break;
    			}
    		}
    
    		handler = hstatus;
    		
    		//receiverThread = new ReceiverThread(h);
    	}
    	
    	public void sendData(String data) {
    		sendData(data, false);
    	}
    	
    	public void sendData(String data, boolean deleteScheduledData) {
    		try {
    			sendStream.write(data.getBytes());
    	        sendStream.flush();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
    	public void connect() {
    		new Thread() {
    			@Override public void run() {
    				try {
    					socket.connect();
    					
    					Message msg = handler.obtainMessage();
    					msg.arg1 = 1;
    	                handler.sendMessage(msg);
    	                
    	             //   receiverThread.start();
    					
    				} catch (IOException e) {
    					Log.v("N", "Connection Failed : "+e.getMessage());
    					e.printStackTrace();
    				}
    			}
    		}.start();
    	}
    
    	public void close() {
    		try {
    			socket.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
    	public BluetoothDevice getDevice() {
    		return device;
    	}
    	
    /*	private class ReceiverThread extends Thread {
    		Handler handler;
    		
    		ReceiverThread(Handler h) {
    			handler = h;
    		}
    		
    		@Override public void run() {
    			while(true) {
    				try {
    					if(receiveStream.available() > 0) {
    
    						byte buffer[] = new byte[100];
    						int k = receiveStream.read(buffer, 0, 100);
    
    						if(k > 0) {
    							byte rawdata[] = new byte[k];
    							for(int i=0;i<k;i++)
    								rawdata[i] = buffer[i];
    							
    							String data = new String(rawdata);
    
    							Message msg = handler.obtainMessage();
    							Bundle b = new Bundle();
    							b.putString("receivedData", data);
    			                msg.setData(b);
    			                handler.sendMessage(msg);
    						}
    					}
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    		}
    	}*/
    	
    }
    Dernière modification par JPL ; 22/04/2014 à 20h54. Motif: Ajout de la balise Code (#) pour garder l'indentation

  10. Publicité
  11. #8
    mira1991

    Re : Application Android avec une carte Arduino

    Code:
    classe application 
    package com.formation.pfa;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.view.View;
    import android.widget.ImageButton;
    import android.widget.TextView;
    
    public class Application extends Activity  {
    	private TextView logview;
        ImageButton btnSwitch;
        private boolean isBtOn= true;
    	private Bt bt = null;
    	ImageButton connect;
    	private long lastTime = 0;
    	
    	final Handler handler = new Handler() {
            public void handleMessage(Message msg) {
                String data = msg.getData().getString("receivedData");
                
                long t = System.currentTimeMillis();
                if(t-lastTime > 100) {// Pour éviter que les messages soit coupés
                    logview.append("\n");
    				lastTime = System.currentTimeMillis();
    			}
                logview.append(data);
            }
        };
        
        final Handler handlerStatus = new Handler() {
            public void handleMessage(Message msg) {
                int co = msg.arg1;
                if(co == 1) {
                	logview.append("Connected\n");
                } else if(co == 2) {
                	logview.append("Disconnected\n");
                }
            }
        };
    	
        /** Called when the activity is first created. */
       
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            bt = new Bt(handlerStatus, handler);
          
            btnSwitch.setOnClickListener(new View.OnClickListener() 
            {
                   
              
                
                public void onClick(View v) {
                	
                	 if (isBtOn) {
                         // turn off flash
                         stopsending();
                     } else {
                         // turn on flash
                         send();
                     }
                	
                }  
              });
       
        }
    
        private void send() {
           
       bt.connect();
       bt.sendData("1");
                isBtOn = true;
                 
                // changing button/switch image
                toggleButtonImage();
            }
     
        private void stopsending() {
            
            bt.connect();
            bt.sendData("0");
                     
            isBtOn = false;
                 
                // changing button/switch image
                toggleButtonImage();
            }
        
        
        
        
        
        
        
        
        
        private void toggleButtonImage(){
            if(isBtOn){
                btnSwitch.setImageResource(R.drawable.on);
            }else{
                btnSwitch.setImageResource(R.drawable.off);
            }
        }
    	
        
        
        }
    Dernière modification par JPL ; 22/04/2014 à 21h04.

  12. #9
    mira1991

    Re : Application Android avec une carte Arduino

    Code:
    package com.formation.pfa;
    
    
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.content.pm.PackageManager;
    import android.os.Bundle;
    import android.widget.ImageButton;
     
    public class MainActivity extends Activity{
     
        ImageButton btnSwitch;
     
       
        protected  boolean isBluOn;
        public boolean hasBlu;
       
        
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
           
            // flash switch button
            btnSwitch = (ImageButton) findViewById(R.id.btnSwitch);
     
         
            // First check if device is supporting flashlight or not        
            hasBlu= getApplicationContext().getPackageManager()
                    .hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
     
            if (!hasBlu) {
               //if device doesn't support bluetooth
                // Show alert message and close the application
                AlertDialog alert = new AlertDialog.Builder(MainActivity.this).create();
                alert.setTitle("Error");
                alert.setMessage("Sorry, your device doesn't support blutooth communication !");
                alert.setButton("OK", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // closing the application
                        finish();
                    }
                });
                alert.show();
                return;
            }
     
           
       
        }
         
      
         
       
     
        @Override
        protected void onDestroy() {
            super.onDestroy();
        }
     
        @Override
        protected void onPause() {
            super.onPause();
             
            // on pause turn off the flash
         
        }
     
        @Override
        protected void onRestart() {
            super.onRestart();
        }
     
        @Override
        protected void onResume() {
            super.onResume();
             
            // on resume turn on the flash
           if(hasBlu){
               //send();
               }
        }
     
        @Override
        protected void onStart() {
            super.onStart();
             
            // on starting the app get the camera params
            
        }
     
        @Override
        protected void onStop() {
            super.onStop();
             
            // on stop release the camera
          
        }
     
    }
    Dernière modification par JPL ; 22/04/2014 à 21h06.

  13. #10
    mira1991

    Re : Application Android avec une carte Arduino

    le fichier xml
    Code:
    <?xml version="1.0"?>
    
    -<RelativeLayout tools:context=".MainActivity" android:background="@drawable/background" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
    
    <ImageButton android:background="@null" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/off" android:contentDescription="@null" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:id="@+id/btnSwitch"/>
    
    </RelativeLayout>

  14. #11
    JPL

    Re : Application Android avec une carte Arduino

    Merci de faire un effort pour utiliser correctement la balise Code.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  15. #12
    mira1991

    Re : Application Android avec une carte Arduino

    Désolé enfin j'ai matrisé la balise code

  16. #13
    JPL

    Re : Application Android avec une carte Arduino

    Quel est le but de ces deux messages qui déterrent une ancienne discussion, avec du code sans aucun texte d'explication ?
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

Discussions similaires

  1. création d'un application android/ios
    Par recto78 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 31/08/2013, 14h32
  2. Application sur Android de téléprésence avec Skype
    Par kilwa dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 21/05/2013, 09h36
  3. Réponses: 12
    Dernier message: 28/01/2013, 16h52
  4. Controler moteur pas a pas avec une carte arduino
    Par zaille32 dans le forum Électronique
    Réponses: 2
    Dernier message: 03/10/2012, 00h25
  5. amarino Android parle à Arduino
    Par konobee dans le forum Électronique
    Réponses: 1
    Dernier message: 21/06/2010, 20h38