We use cookies and other technologies on this website to enhance your user experience.
By clicking any link on this page you are giving your consent to our Privacy Policy and Cookies Policy.
NetSimple 圖標

1.0 by Ferdinand Stueckler


2016年07月08日

關於NetSimple

中文(繁體)

網絡發送位置信息到微控制器的遠程控制。

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;

}

最新版本1.0更新日誌

Last updated on 2016年07月08日

Minor bug fixes and improvements. Install or update to the newest version to check it out!

翻譯中...

更多應用信息

最新版本

請求 NetSimple 更新 1.0

上傳者

Hilmi Dogan

系統要求

Android 2.2+

Available on

NetSimple 來源 Google Play

更多

NetSimple 螢幕截圖

評論載入中...
語言
訂閱APKPure
第一時間獲取熱門安卓遊戲應用的首發體驗,最新資訊和玩法教程。
不,謝謝
訂閱
訂閱成功!
您已訂閱APKPure。
訂閱APKPure
第一時間獲取熱門安卓遊戲應用的首發體驗,最新資訊和玩法教程。
不,謝謝
訂閱
成功!
您已訂閱我們的郵件通知。