You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Hva er Processing?

Processing er et programmeringsspråk basert på Java. Det gjør det lett å utvikle grafiske programmer raskt.

For å vite mer, lære mer, se på eksempler av bruk og mer, besøk processing.org.

Processing i app, Processing.js

For å få til kommunikasjon over bluetooth på mobile enheter på en enkel måte, har vi laget en app. Denne appen tar inn Processing råkode, oversetter den til Javascript ved hjelp av Processing.js, og injiserer et objekt i koden dere har skrevet som gjør det mulig for dere å enkelt kommunisere med bluetooth enheten. Koden fører teknisk sett til tegning på et html canvas, og dere kan få tilgang til størrelsen på dette under injiseringa.

Sikkerhetshull

Appen oversetter til Javascript, noe som gjør at den som har skrevet koden dere henter har mulighet til mye rart. Vi har prøvd å forhindre at det er tilgjengelig alt for mange detaljer om telefonen i appen, men det er mulig å hente ut info som ikke er tilgjengelig via bare det injiserte objektet.

Vi råder derfor alle til å KUN KJØRE KODE SOM DERE STOLER PÅ! Det vil si kode som ligger hos en bruker dere har kontroll på. Den kjørbare koden kan alltid leses på nett på folk.ntnu.no/[BRUKERNAVN]/plab/plab.pde og du kan se etter der om du er usikker før du kobler til.

Det injiserte objektet

Javascript objektet som injiseres har tydelig definerte interfaces, som dokumenteres i Interfaces eksempelet på GitHub kontoen vår.

Interfaces
/**
 * PLabBridge is the interface we have for communicating with the plab app.
 */
interface PLabBridge {
  /**
   * gets the width we have available to draw on
   */
  public int getWidth ();
  /**
   * gets the height we have available to draw on
   */
  public int getHeight ();
  /**
   * sends a string to a connected bluetooth device. Can not send more than 20 characters.
   */
  public void write (String string);
  /**
   * register callback function that will get the data sent from the connected device
   */
  public void subscribeRead (PLabRead sub);
  /**
   * register callback function that will get error messages if any from the app
   */
  public void subscribeError (PLabRead sub);
  /**
   * Disconnects the device and returns to main menu
   */
  public void disconnect();
}

/**
 * A simple interface that defines the callback read function
 */
interface PLabRead {
  /**
   * The callback function. Will be called when the connected device sends something to this program.
   */
  public void read(String string);
}

/**
 * A variable to hold the injected bridge to the plab app
 */
private PLabBridge plabBridge;

/**
 * Injection function. Needed to get the functionality provided by our app. Use as setup.
 */
void bindPLabBridge (PLabBridge bridge) {
  plabBridge = bridge;
}

 

Processing på datamaskina og bluetooth

For å kommunisere med bluetooth, må maskina ha støtte for bluetooth og du må først pare enheten med maskina di. I Windows 7 kan du legge til nye bluetooth enheter når bluetooth radioen står på ved å gå til Start->Enheter og skrivere. Velg "Legg til enhet". Eneheten du skal pare skal nå komme opp i lista. Velg denne enheten og trykk på neste. Velg "Angi enhetens paringskode". Standard paringskode er "1234", skriv inn dette i vinduet som kommer opp. Enheten blir så installert, og får tildelt en com port. Merk deg denne. Om du mister den kan du alltid finne den tilbake ved å gå tilbake til "enheter og skrivere", se på egenskapene dens under taben "Maskinvare". Com port nummeret skal vises på linja "Standard Serial over Bluetooth Link (COMXX)" hvor COMXX er com porten den bruker.

Etter paring på mac er det litt enklere å koble til enn på Windows, da enheten får navn etter hva den faktisk heter. Standard for dere er PLabXX (XX er her gruppenummer). Vi har lagd kode som dere kan bare klippe ut og lime inn som skal lete etter den første enheten som er paret som starter med PLab, og velge denne.

  • No labels