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

Compare with Current View Page History

« Previous Version 6 Next »

Hva den gjør

Appen lar deg kjøre Processing kode på telefonen din for å kontrollere Arduinoen din via bluetooth.

Sagt ganske enkelt kobler appen deg til en bluetooth eller bluetooth LE enhet og laster en Processing kildefil du må ha lagt på hjemmeområdet ditt på NTNU. Appen bruker Processing.js for å oversette Java koden til Javascript. Den injiserer et Javascript objekt inn i filen som ligger på hjemmeområdet ditt som gjør du kan snakke med bluetooth på en veldig forenklet måte.

Appen er bygd med Apache Cordova, noe som gjør den portabel til flere enheter. Den støtter for øyeblikket Android og iOS. En annen konsekvens av at vi har brukt Apache Cordova er at det du ser egentlig er en web side, men for deg har nok ikke det noe å si.

For mer teknisk info om appen og hvordan den behandler Processing skissa di, se om Bluetooth og Processing, eller let i kildekoden som ligger som open source på GitHub. Kildekoden er litt dårlig dokumentert/kommentert akkurat nå, men det er planlagt dette skal forbedre seg ganske raskt framover.

Plassering av Processing kode på hjemmeområde

Appen krever en spesiell fil på en spesiell plassering for å laste noe som helst. Den ser etter folk.ntnu.no/[BRUKERNAVN]/plab/plab.pde så den fila må du ha lasta opp.

Opplasting av filer til hjemmeområdet

For å få lasta opp filer til brukerområdet ditt på NTNU er det flere muligheter.

Mulighet 1: Legg til mappen som nettverksmappe. Fordrer at du enten sitter på NTNU nettverket eller har en vpn tilkobling til NTNU sine servere. Før vi rekker å skrive det opp selv, kan framgangsmåte for å koble til finnes her. Velg det systemet du sitter på under "grafisk". Vi anbefaler denne metoden.

Mulighet 2: Skaff deg en filoverføringsklient, utvikle koden lokalt og last den opp. Her finnes det nok mange mulige klienter, men vi kan si FileZilla iallefall virker. Enkel tilkobling er å bruke samme server som i mulighet 3 (ssh) (login.stud.ntnu.no) via sftp (ssh) protokoll. Denne metoden er også bra. Fungerer like bra om du sitter på NTNU nettverk eller hjemme.

Mulighet 3: ssh deg inn til login.stud.ntnu.no og skriv koden direkte der. Sitter du på en Windows maskin kan du bruke et program som PuTTY. Vi anbefaler ikke dette.

Hjemmesideområdet ditt på NTNU kan finnes ved å navigere deg inn i public_html (som er en snarvei til /web/folk/[BRUKERNAVN]). Opprett en mappe der som heter plab, og kall processing skisser du laster opp for plab.pde.

Hvor den finnes

For øyeblikket er den kun tilgjengelig for Android på Play store under navnet PLab. Den er på vei til app store for iOS, men har ikke rukket å komme helt ut enda.

Kjente problemer/ spesiell oppførsel

Tall

Appen kjører Processing.js, som oversetter vanlig Processingkode til Javascript før kjøring. Dette fører til at heltall ikke eksisterer når du kjører. Så hvis du er helt avhengig at tallet du skal bruke faktisk er et heltall, må du caste det eksplisitt: int(tall)

Musbehandling

For å få tak i mus posisjonen, generelt bruk mouseX og mouseY. For å få hvor musa var forrige gang bildet ble tegnet, bruk pmouseX og pmouseY.

mouseDragged()

Fungerer. Blir kalt når du drar fingeren over skjermen. Blir ikke kalt når du bare trykker uten å flytte fingeren.

mouseMoved()

Kalles kun en gang. Første gangen du trykker på skjermen blir den kalt, etter dette er den helt stille. Det gjør at bruksområder blir noe begrenset.

mouse[EVENTTYPE](MouseEvent me)

Fungerer ikke. Blir kalt på samme måte som den eventtypen det er snakk om (dragged/moved), men MouseEvent objektet blir ikke lagt med. Å prøve å referere noe i det objektet vil føre til at koden stopper (et exception blir kastet og uten behandling av det stopper bare utførelsen av resten av funksjonen).

Bilder

Fungerer på ingen måte som vanlig Processing. Det er flere grunner til dette, og info om hvorfor finnes på nettet (se lenken under for mer info).

For å få bilder til å virke i appen, må du gi absoluttadressen til bildet. Appen skal bare akseptere url-er som peker til http://folk.ntnu.no/*

Denne koden viser det generelle mønsteret vi anbefaler deg å bruke. Bytt ut BRUKERNAVN med brukernavnet ditt/brukeren som har lasta opp bildet, og STI med hvilken mappe det ligger i og navnet på fila.

Processing bilder i app
String imageURL = "http://folk.ntnu.no/BRUKERNAVN/STI";
PImage im;
 
void setup() {
  loadImage(imageURL);
}
 
void draw() {
  background(0);
  image(im, 0, 0);
}

 

Se info om Processing.js for mer info om hvordan det generelt fungerer i Processing.js.

Kom med tilbakemeldinger

Appen er helt nyutviklet, så det kan være vi har oversett noe under utviklingen. Vi har heller ikke rukket å teste den på veldig mange forskjellige enheter.

Oppdager du noen problemer med den, så si ifra. Vi skal prøve å utbedre det.

Oppdager du noe du savner med den, noe funksjonalitet du skulle ønske var med så si ifra. Vi skal se om vi klarer å legge det med senere.

  • No labels