Paso 3: Código de ejemplo para el IDE de Arduino
/** Programa de prueba LED
* El LED será controlado por el socket TCP
* Este programa sirve un ejemplo de servidor de socket TCP
*
* El código de socket TCP es adpoted desde: http://www.thegeekstuff.com/2011/12/c-socket-programming/
*
* Por favor, utilizar vinculador kit LED módulo e instalarlo en posición D2 D3 V G
*
* Jingfeng Liu
*
* 04/05/2013
*
*/
#include < sys/socket.h >
#include < netinet/in.h >
#include < arpa/inet.h >
#include < stdio.h >
#include < stdlib.h >
#include < unistd.h >
#include < errno.h >
#include < string.h >
#include < sys/types.h >
#include < time.h >
#include < core.h >
led_pin int = 2;
listenfd int = 0, connfd = 0;
int n;
struct sockaddr_in serv_addr;
char sendBuff [1025];
time_t garrapatas;
void setup()
{
led_pin = 2;
pinMode (led_pin, salida);
listenfd = socket (AF_INET, SOCK_STREAM, 0);
memset (& serv_addr, '0', sizeof(serv_addr));
memset (sendBuff, '0', sizeof(sendBuff));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
serv_addr.sin_port = htons(5000);
enlazar (listenfd, (struct sockaddr *) & serv_addr, sizeof(serv_addr));
escuchar (listenfd, 10);
connfd = aceptar (listenfd, (struct sockaddr *) NULL, NULL);
}
void loop()
{
las garrapatas = time(NULL);
snprintf (sendBuff, sizeof(sendBuff), "Jingfeng Liu%.24s\r\n", ctime(&ticks));
escribir (connfd, sendBuff, strlen(sendBuff));
n = leer (connfd, sendBuff, strlen(sendBuff));
if(n>0)
{
if(sendBuff[0]=='O') digitalWrite (led_pin, HIGH); prende el LED
digitalWrite(led_pin,LOW) de if(sendBuff[0]=='F'); fijar el LED apagado
}
Close(connfd);
Sleep(1);
}