582326 Robottiohjelmoinnin harjoitustyö (4 op), kevät 2010
Kurssin etusivullePC: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 RfcommPCNXT
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].

