Similar apps
Compare allApp info
- Installs
- 100+
- Category
- Communication
- Content rating
- Everyone
- Version
- 1.0
- Released
- Mar 23, 2016
- Last updated
- 29 Mar 2016
- In-app purchases
- No
- Contains ads
- No
- Promo video
- Yes
- Requires Android
- 2.2
Loading…
This app isn't in any of our charts yet.
Network Remote Control for sending positional information to microcontroller.
The purpose of the app is to control remote hardware like Arduino, Netduino, Raspberry Pi ... The protocol is TCP / IP (Client). UP: 0, power, 0 DOWN: 0, -power, 0 LEFT: -power, power, 0 RIGHT: power, power, 0 MIDDLE: 0, 0, 0 or 0, 0, power (Zero active) Byte Mode: 3 positions are transfered as 3 bytes (default) ASCII mode: 3 positions are transfered as text seperated by comma (ended by \ n) Session inactive: Each transmission in a Serated connection Session active: Connection never closed, but if Necessary automatic reconnect (default) Zero inactive: No return to zero values after release Zero active: Auto return to zero values after release Sample code for a server on Raspberry Pi: #include "stdio.h" #include "stdlib.h" #include "string.h" #include "unistd.h" #include "sys / types.h" #include "sys / socket.h" #include "netinet / in.h" void error (const char * msg) { perror (msg); exit (1); } int main (int argc, char * argv []) { int sockfd, newsockfd, portno, n; socklen_t clilen; char buffer [256]; struct sockaddr_in serv_addr, cli_addr; sockfd = socket (AF_INET, SOCK_STREAM, 0); if (sockfd <0) error ( "ERROR opening socket"); bzero ((char *) & serv_addr, sizeof (serv_addr)); portno = 12345; serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; serv_addr.sin_port = htons (portno); if (bind (sockfd, (struct sockaddr *) & Serv_addr, sizeof (serv_addr)) <0) error ( "ERROR on binding"); while (1) { listen (sockfd, 5); clilen = sizeof (cli_addr); newsockfd = accept (sockfd, (struct sockaddr *) & Cli_addr, & clilen); if (newsockfd <0) error ( "ERROR on accept"); while (1) { bzero (buffer, 256); n = read (newsockfd, buffer, 3); if (n <3) { error ( "ERROR reading from socket"); break; } float tmp1 = (float) buffer [0]; if (tmp1> 127) tmp1 - = 256; float tmp2 = (float) buffer [1]; if (tmp2> 127) tmp2 - = 256; float TMP3 = (float) buffer [2]; if (TMP3> 127) TMP3 - = 256; printf ( "% d% d% d \ n", (int) tmp1, (int) tmp2, (int) TMP3); } close (newsockfd); } close (sockfd); return 0; }