Rover IoT | Intellekten IoT Roadshow 2015 (4 / 5 steg)
Steg 4: Steg 4: gest kontroll armband.
Data överföring funktion till Myo
I detta projekt använde vi en macbook med operativsystemet OSX El Capitan för att skicka data till Intel Edison via UDP-meddelanden. För detta, vi hämtade SDK Myo i https://developer.thalmic.com/downloadshttps://developer.thalmic.com/downloads och sammanställa den Hej-
Myo.xcodeproj projekt inom thesamples mapp i SDK.
I detta exempel vi ändra kodfilen Hej-myo.cpp i funktionen Skriv ut () i den DataCollectorclass. I denna roll har vi tillgång till namnet på den aktiverade gesten vid den tidpunkten i Myo. Med denna data i hand vi formaterad UDP-meddelanden och skickas över nätverket.
Filen Lägg till följande kod början med deklarationen av variabler och integration av bibliotek:
#include < arpa/inet.h >
#include < sys/socket.h >
#include < unistd.h > / / här går den Intel Ediso IP-adress
#define SERVER "192.168.1.101"
#define BUFLEN 1024
här går den port som du använder
#define PORT 21567 < /p >< p > void die(char *s)
{
perror(s);
Exit(1);
}
struct sockaddr_in si_other;
int s, i, slen=sizeof(si_other);
char buf [BUFLEN];
char meddelande [BUFLEN];
Efter att vi lägga till koden för att upptäcka gesten upptäcks, format och skicka meddelandet till Python kod som körs i Intel Edison.
om (poseString == "näve")
{
std::string åtgärd = "STOP_MOVE";
std::Cout << action << "," << lastCommand;
lastCommand = åtgärd;
om (sendto (s, action.c_str(), strlen(action.c_str()), 0, (struct sockaddr *) & si_other, slen) ==-1)
{
Die("SendTo()");
}
}
annat if (poseString == "fingersSpread")
{
std::string åtgärd = "MOVE_FORWARD";
std::Cout << action << "," << lastCommand;
lastCommand = åtgärd; < /p >< p > om (sendto (s, action.c_str(), strlen(action.c_str()), 0, (struct sockaddr *) & si_other, slen) ==-1)
{
Die("SendTo()");
}
}
Det finns mer kod i filen .cpp < /p >
Bara helt enkelt ersätta koden i funktionen print() koden i MyoSdkSenderFunction.cpp filen.