Yliopiston etusivulle Suomeksi Inte på svenska No english version available
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

582326 Robottiohjelmoinnin harjoitustyö (4 op), kevät 2010

Kurssin etusivulle

Ohjehakemisto

PC:n ja NXT:n välinen Bluetooth-kommunikaatio

Suorita ensin paritus.

Esimerkkikoodissa yhteys muodostetaan niin, että NXT odottaa PC:n ottavan yhteyden siihen, minkä jälkeen NXT voi pyytää PC:tä joko vastaanottamaan tai lähettämään tietoja.

  • PC käyttäytyy NXT:n palvelijana.

Luokka RfcommPC on PC:llä ajettava ohjelma (käännä javac:llä), joka ottaa komentoriviparametrina NXT:n bluetooth-nimen, johon muodostaa yhteyden. RfcommTest on NXT:llä ajettava testiohjelma, joka lähettää taulukon tietokoneelle ja pyytää siitä prosessoidun version takaisin. Rfcomm on NXT:lle luokka, joka tekee yhteyden käyttämisestä helppoa.

NXT

Esimerkki (RfcommTest):

import lejos.nxt.Button;

public class RfcommTest {

public static void main(String[] args) {

// odota yhteyttä Rfcomm comm = new Rfcomm();

// lähetä koneelle if(!comm.transmit(new int[] {1,2,3})) System.out.println(Error transmitting.);

// lue koneelta int[] pcdata = comm.receive(); if(pcdata == null) System.out.println(Error receiving.); else {

// tulosta saatu taulukko System.out.print("PC sent [ "); for(int i = 0; i < pcdata.length; i++) System.out.print(""+pcdata[i]+" ); System.out.println(]");
}

comm.disconnect(); Button.ENTER.waitForPressAndRelease();

}

}

PC

Katso luokan RfcommPC koodia, etenkin listen()-metodia, jossa NXT:n käskyihin vastataan.

Käynnistä ensin NXT:n ohjelma odotustilaan ja sitten:

java RfcommPC NXT

Missä NXT on palikkasi bluetooth-nimi. Esimerkissä RfcommPC tulostaa sille NXT:n lähettämät tiedot ja vastaa pyyntöihin lähettämällä näistä muokatun taulukon.

Esimerkissä NXT lähettää PC:lle taulukon [1,2,3] ja pyytää PC:ltä taulukon, johon PC vastaa [21,22,23].