Sinne styrd fläkt för ALS eller Paralyzed patienter. (5 / 7 steg)
Steg 5: Behandling och OSC meddelanden
Behandlingen är en gratis öppen källkod programmeringsspråk som är utformad för att vara lätt att använda och är bra för nybörjare. Det är baserat på Java, så om du är bekant med det, ser du några av likheterna.
Ladda ner den här och installera den innan vi sätter igång.
Nu har vi att tolka data (OSC meddelanden) tas emot via BrainWaveOSC.
Börja med att öppna upp bearbetning och skapa en ny skiss.
Importera OSC bibliotek
Start från en tom skiss, vill du importera OSC bibliotek. Du kan göra det genom att skriva in:
import oscP5.*;
eller
Gå till skiss -> Importera bibliotek -> oscP5.
Om du inte hittar oscP5, du kan behöva lägga till den första genom att gå till skiss -> Importera bibliotek -> Lägg till bibliotek... och söka efter oscP5. När det är gjort, vill du skapa ett tomt objekt till den på nästa rad genom att skriva:
OscP5 oscp5;
Skapa din setup och rita funktioner
Här är lätt. Skriv bara följande:
void setup() {
}
void draw() {
}
Du har just skapat skelettet.
Nu när du har ditt skelett, låt oss fylla in den och börja läsa OSC meddelanden sänds av BrainWaveOSC. Kontrollera att BrainWaveOSC är igång och headsetet är anslutet. Du kan berätta av färgen på den vänstra panelen. Om det är grönt, då är du bra.
Hitta din OSC hamn
I BrainWaveOSC, leta efter din OSC hamn. I det övre vänstra hörnet, borde du se något lik:
OSC - 127.0.0.1:7771
127.0.0.1 är din localhost IP-adress och 7771 är din portnumret. Måste du spara detta portnummer för senare.
Ställa in bearbetning OSC emot
Nu ska du lägga till denna linje inuti din setup() funktion mellan klammerparenteser. Se bilderna som referens.
Din setup() funktion bör se ut så här:
void setup() {
oscp5 = ny OscP5 (denna, 7771);
}
Stor! Du har just berättat för programmet att börja lyssna på port 7771 för inkommande meddelanden som OSC. Eftersom det är i setup-funktionen, kommer det endast köras en gång i början.
Ta emot meddelanden som OSC
Nästa kommer vi att skapa en funktion för att ta emot meddelanden som OSC. Medan setup() går bara en gång, och draw() körs hela tiden, körs funktionen vi ska skapa endast när en OSC-meddelande tas emot.
Skapa en funktion som ser ut så här:
void oscEvent (OscMessage theMessage) {
Skriva ut adressen och typetag av meddelandet till konsolen
println ("OSC meddelande mottagits! Adress mönstret är "+ theMessage.addrPattern() +". Typetag är: "+ theMessage.typetag());
}
OK låt oss bryta ner.
void oscEvent(OscMessage theMessage) säger att den här funktionen kallas oscEvent, och det tar ett OscMessage objekt som en parameter som kallas theMessage. Ignorera tomrummet för nu, det betyder att funktionen inte är förväntat att returnera ett värde.
Den andra raden är println, som är kort för Print linje. Detta skriver meddelanden i svart under din texteditor när du kör programmet (som kallas konsolen). Innehållet i println berätta det att skriva ut "OSC meddelande mottaget!" och använder två metoder för OscMessage:
- Adressmönster - det är som föremål för ett e-postmeddelande. Det är namnet på meddelandet
- Typetag - detta säger du innehållet i meddelandet är
- En typetag av iii innebär till exempel att det finns 3 heltal inuti meddelandet
Kör programmet
- En typetag av iii innebär till exempel att det finns 3 heltal inuti meddelandet