View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

Outils > Processing

Processing – Lancer Firefox par appui sur un bouton graphique (Ubuntu):

Explication

  • L'appui sur un bouton graphique déclenche le lancement de Firefox à l'adresse web voulue

Ressources utiles

Le programme


// Programme processing
// généré avec le générateur de code Processing
// www.mon-club-elec.fr
// par X. HINAULT - Avril 2011 - tous droits réservés

/////////////// Description du programme ////////////
// Utilise la ligne de commande programmée (Ubuntu)
// Utilise mplayer pour jouer des sons (Ubuntu)
// Utilise la librairie GUI controlP5
// Utilise un/des bouton(s) simple(s) (Button)

/*
Lance Firefox - site BFMTV par appui sur un bouton graphique.
*/


// XXXXXXXXXXXXXXXXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX

// inclusion des librairies utilisées

import controlP5.*; // importe la librairie GUI controlP5
// cette librairie doit être présente dans le répertoire /libraries du répertoire Processing
// voir ici : http://www.sojamo.de/libraries/controlP5/

// déclaration objets

String[] command ; // pour envoi ligne de commande

String nomFichier="r2d2_4.mp3"; // variable pour nom du fichier son à jouer
String cheminFichier="/home/hinault/Bureau/mes_sons/"; // chemin complet avec / de fin

ControlP5 controlP5; // déclare un objet principal de la librairie GUI controlP5

Button b1,b2; // déclare un/des objets Button
// Button [] b= new Button[n]; // crée un tableau de n Button b[i] - 1er indice est 0

// déclaration variables globales

//------ déclaration des variables de couleur utiles ----
int jaune=color(255,255,0);
int vert=color(0,255,0);
int rouge=color(255,0,0);
int bleu=color(0,0,255);
int noir=color(0,0,0);
int blanc=color(255,255,255);
int bleuclair=color(0,255,255);
int violet=color(255,0,255);


// XXXXXXXXXXXXXXXXXXXXXX  Fonction SETUP XXXXXXXXXXXXXXXXXXXXXX

void setup(){ // fonction d'initialisation exécutée 1 fois au démarrage

        // ---- initialisation paramètres graphiques utilisés
        colorMode(RGB, 255,255,255); // fixe format couleur R G B pour fill, stroke, etc...
        fill(0,0,255); // couleur remplissage RGB
        stroke (0,0,0); // couleur pourtour RGB
        rectMode(CORNER); // origine rectangle : CORNER = coin sup gauche | CENTER : centre
        imageMode(CORNER); // origine image : CORNER = coin sup gauche | CENTER : centre
        //strokeWeight(0); // largeur pourtour
        frameRate(30);// Images par seconde

        // --- initialisation fenêtre de base ---
        size(400, 400); // ouvre une fenêtre xpixels  x ypixels
        background(0,0,0); // couleur fond fenetre

// --- initialisation des objets et fonctionnalités utilisées ---

        //======== Initialisation Objets GUI ControlP5 =========

        controlP5 = new ControlP5(this); // initialise l'objet principal de la librairie GUI controlP5

        // typeObjet nomObjet=controlP5.addObjet(paramètres); // pour info : déclaration / initialisation possible en 1 ligne
        // Textfield field = controlP5.addTextfield("myWindowTextfield",70,130,100,20); // exemple

        //======== Initialisation Objets Button =========

        // addButton(String theName, float theValue, int theX, int theY, int theW, int theH)
        b1=controlP5.addButton("buttonA",0,10,10,50,24); // initialise et ajoute un Button au ControlP5
        b2=controlP5.addButton("buttonB",255,10,35,50,24); // initialise et ajoute un Button au ControlP5

        // méthodes propres à l'objet Button



        // méthodes communes à tous les controles (objet Controller)
        b1.setLabelVisible(true); // affichage des labels
        b1.setLabel("Label"); // fixe label objet
        b1.setDecimalPrecision(2); // fixe la précision
        b1.setColorActive(color(255,0,0)); // fixe la couleur active
        b1.setColorBackground(color(255,0,255)); // fixe couleur fond  
        b1.setColorForeground(color(0,0,255)); // fixe couleur avant
        b1.setColorCaptionLabel(color(0,0,0)); // fixe couleur Label
        b1.setColorValueLabel(color(0,0,255)); // fixe la couleur valeur

        // setImages(PImage theImageDefault,PImage theImageOver, PImage theImageActive,PImage theImageHighlight)
        // les images doivent etre de la meme taille que bouton, dans rép prog, type .jpg .png ..
        // un toggle n'utilise que image Default, Over et Active
        //b1.setImages(loadImage("imageDefault.png"),loadImage("imageOver.png"), loadImage("imageActive.png"),loadImage("imageDefault.png"));




} // fin fonction Setup

// XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX

void  draw() { // fonction exécutée en boucle


} // fin de la fonction draw()

// XXXXXXXXXXXXXXXXXXXXXX Autres Fonctions XXXXXXXXXXXXXXXXXXXXXX

// Code pour la ligne de commande appelée par Processing


//--------------------- fonction lecture son avec Mplayer ---------------
 void lanceFirefox(String adresseSite) {


command = new String[2]; // tableau String pour la ligne de commande

// mplayer /home/hinault/Bureau/mes_sons/r2d2_2.mp3 -quiet
command[0] = "firefox";
command[1] = adresseSite;

//--- exécution de la ligne de commande (code Java)

try {
    Process p = exec(command); // exécute la commande

    //--- récupère la sortie de la commande dans la console de Processing
    BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String line = null;
    while ((line = in.readLine()) != null) {
      System.out.println(line);
    }//fin while
  } // fin try
  catch (IOException e) { // gestion exception
    e.printStackTrace();
  } // fin catch

//--- fin d'exécution de la ligne de commande --

} //--------------------- fin joueSonMplayer

// Gestion des évènements des objets GUI controlP5 ----

//------ fonction gestion globale des évènements GUI controlP5
public void controlEvent(ControlEvent theEvent) {
        //println(theEvent.controller().name());// affiche le nom de l'évènement
}

// ------ gestion évènement Button ------
void buttonA(int theValue) { // fonction évènement Button de meme nom - reçoit la valeur
        println("Evènement Button A avec valeur = "+theValue);

        lanceFirefox("http://www.bfmtv.com/rub/live/14/");
}

void buttonB(int theValue) { // fonction évènement Button de meme nom - reçoit la valeur
        println("Evènement Button B avec valeur = "+theValue);
}


//XXXXXXXXXXXXXXXXXX Fin du programme XXXXXXXXXXXXXXXXX

 

Voir ici :