Étape 3: Exemple de Code pour IDE Arduino
/** Programme de test LED
* Le LED sera contrôlée par socket TCP
* Ce programme est un exemple de serveur socket TCP
*
* Le code de socket TCP est adoptée depuis : http://www.thegeekstuff.com/2011/12/c-socket-programming/
*
* S’il vous plaît utiliser l’éditeur de liens kit LED module et installez-le sur la postion 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 >
int led_pin = 2 ;
int listenfd = 0, connfd = 0 ;
int n ;
struct sockaddr_in serv_addr ;
char sendBuff [1025] ;
time_t tiques ;
void setup()
{
led_pin = 2 ;
pinMode (led_pin, sortie) ;
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) ;
lier (listenfd, (struct sockaddr *) & serv_addr, sizeof(serv_addr)) ;
écouter (listenfd, 10) ;
connfd = accepter (listenfd, (struct sockaddr *) NULL, NULL) ;
}
void loop()
{
tiques = time(NULL) ;
snprintf (sendBuff, sizeof(sendBuff), « Jingfeng Liu%.24s\r\n », ctime(&ticks)) ;
écrire (connfd, sendBuff, strlen(sendBuff)) ;
n = read (connfd, sendBuff, strlen(sendBuff)) ;
if(n>0)
{
if(sendBuff[0]=='O') digitalWrite (led_pin, HIGH) ; la valeur de la LED sur
if(sendBuff[0]=='F') digitalWrite(led_pin,LOW) ; déclencher la LED
}
Close(connfd) ;
Sleep(1) ;
}