2015-03-29 4 views
0

Я использую Arduino с Ethernet Shield, настроенным как сервер telnet.arduino ethernet server connection detect

Можно ли обнаружить, когда клиент подключен без отправки клиентом каких-либо символов? Метод server.available() возвращает только объект-клиент, если имеются данные для чтения.

ответ

0

Вы можете попробовать этот пример:

include <SPI.h> 
#include <Ethernet.h> 
#include <CapSense.h> 

// Enter a MAC address and IP address for your controller below. 
// The IP address will be dependent on your local network: 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 
byte ip[] = { 192, 168, 84, 3 }; 

#define encoderGSMask B00000001 
#define encoderGSPin 8 

// Initialize the Ethernet server library 
Server server(8423); 

void setup() { 

pinMode(encoderGSPin, INPUT); //Encoder GS 
digitalWrite(encoderGSPin, HIGH); 

Serial.begin(115200); 

// start the Ethernet connection and the server: 
Ethernet.begin(mac, ip); 
server.begin(); 
} 

void loop(){ 

    if ((PINB&encoderGSMask)==0) 
    { 
    server.write('S'); //Sync 
    server.write(1);  //Rev 1 
    server.write('B'); //Message Type 
    server.write(0x01); //Button ID 

    delay(1000); 
    }  
} 
+0

Hi Fortran, этот код поступает непосредственно с форума Arduino http://forum.arduino.cc/index.php?topic=28054 который я посмотрел на себя Некоторое время назад. В коде отсутствует обнаружение соединения. –

Смежные вопросы