2016-04-22 93 views
0

我有C++服务器和Arduino UNO客户端以太网盾。 我的问题是,服务器会检测任何断开连接(c#服务器,Android应用程序),除Arduino之外。没有理由,即使在Arduino没有电源供应之后,我猜Arduino插座仍在运行。 这是Arduino的代码:Arduino以太网盾不检测断开

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

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 

IPAddress ip(192, 168, 1, 4); 

EthernetClient client; 

void setup() 
{ 
    Serial.begin(9600); 
    while (!Serial) 
    { 
    ; 
    } 

    if (Ethernet.begin(mac) == 0) 
    { 
    Serial.println("Failed to configure Ethernet using DHCP"); 
    Ethernet.begin(mac, ip); 
    } 

    delay(1000); 
    Serial.println("connecting..."); 

    if (client.connect("192.168.1.11", 1626)) 
    { 
    Serial.println("connected"); 
    } 
    else 
    { 
    Serial.println("connection failed"); 
    } 

} 

void loop() 
{ 
    client.write("hello", strlen("hello")+1); 

    if (!client.connected()) 
    { 
     Serial.println("connection failed"); 
    client.stop(); 
    return; 
} 
} 

Arduino的如何可以关闭它的插座时自动它没有电源?

+0

对不起,但那不是很清楚:( –

+0

有什么不明白的吗?@MartinJames –

回答

0

只有Arduino,你不能。 Arduino在没有电源的情况下无法自动关闭插座。 Arduino不像笔记本电脑或Android,因为他们拥有自己的电池组,因此几乎没有相应的回应。此外,这个可怜的东西甚至不知道什么时候电力会被吹掉。

但是,可以这样做。给你的Arduino一个自己的电源银行。你可以阅读这个powerbank的电压水平并设置阈值点,让你的Arduino关闭它的连接并进入睡眠状态。

+1

_“你不能。”“可以这样做。”_决定你的想法吧? –

+0

请不要使用散文的代码格式。 –

相关问题