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
第一时间获取热门安卓游戏应用的首发体验,最新资讯和玩法教程。
不,谢谢
订阅
成功!
您已订阅我们的邮件通知。