Показать сообщение отдельно
Старый 22.11.2015, 09:51   #8
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2679)
По умолчанию

Т.к. на данный момент у меня под рукой были Arduino Uno и Ethernet Shield W5100, решил проверить на них.
Скетч на основе ChatServer.
Код:
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 0, 177);
IPAddress myDns(192,168,0, 1);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);

// telnet defaults to port 4711
EthernetServer server(4711);
boolean alreadyConnected = false; // whether or not the client was connected previously

void setup() {
  // initialize the ethernet device
  Ethernet.begin(mac, ip, myDns, gateway, subnet);
  // start listening for clients
  server.begin();
  // Open serial communications and wait for port to open:
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  Serial.print("Chat server address:");
  Serial.println(Ethernet.localIP());
}

void loop() {
  // wait for a new client:
  EthernetClient client = server.available();

  // when the client sends the first byte, say hello:
  if (client) {
    if (!alreadyConnected) {
      // clear out the input buffer:
      client.flush();
      Serial.println("We have a new client");
      alreadyConnected = true;
    }

    if (client.available() > 0) {
      // read the bytes incoming from the client:
      char thisChar = client.read();
      // echo the bytes to the server as well:
      Serial.write(thisChar);
    }
  }
}
Работает.
В результате имеем: (управление локомотивом)
Chat server address:192.168.0.177
We have a new client
<fn group="1" fnchanged="2" fnchangedstate="true" fncnt="4" id="V200" f0="true" f1="false" f2="true" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" throttleid="rv2044" controlcode="" slavecode="" server="infw011FBB1C" addr="35" mass="0" V_step="0" V_min="30" V_max="100" V_mode="kmh" bus="0" prot="P" protver="1" spcnt="128" dir="false" fn="true" oid="" identifier="192.168.0.177" V="0" iid="LAN" imagenr="0"/>

<fn group="1" fnchanged="1" fnchangedstate="true" fncnt="4" id="V200" f0="true" f1="true" f2="false" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" throttleid="rv2044" controlcode="" slavecode="" server="infw011FBB1C" addr="35" mass="0" V_step="0" V_min="30" V_max="100" V_mode="kmh" bus="0" prot="P" protver="1" spcnt="128" dir="false" fn="true" oid="" identifier="192.168.0.177" V="0" iid="LAN" imagenr="0"/>

<lc id="V200" V="46" fn="false" dir="false" throttleid="rv2684" controlcode="" slavecode="" server="infw01178B8C" fncnt="4" f0="false" f1="false" f2="false" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" mass="0" V_step="0" V_min="30" V_max="100" V_mode="kmh" bus="0" prot="P" protver="1" spcnt="128" oid="" identifier="192.168.0.177" iid="LAN" addr="35" imagenr="0"/>

<lc id="V200" V="0" fn="false" dir="false" throttleid="rv2684" controlcode="" slavecode="" server="infw01178B8C" fncnt="4" f0="false" f1="false" f2="false" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" mass="0" V_step="0" V_min="30" V_max="100" V_mode="kmh" bus="0" prot="P" protver="1" spcnt="128" oid="" identifier="192.168.0.177" iid="LAN" addr="35" imagenr="0"/>

(управление стрелками)
Chat server address:192.168.0.177
We have a new client
<sw id="sw1" cmd="turnout" manualcmd="true" controlcode="" slavecode="" server="infw01178B8C" iid="LAN" prot="D" uidname="" bus="0" addr1="29" port1="0" gate1="0" param1="0" value1="0" delay="0" actdelay="false" singlegate="false" accessory="true" porttype="0" decid="DEC-1"/>

<sw id="sw1" cmd="straight" manualcmd="true" controlcode="" slavecode="" server="infw01178B8C" iid="LAN" prot="D" uidname="" bus="0" addr1="29" port1="0" gate1="0" param1="0" value1="0" delay="0" actdelay="false" singlegate="false" accessory="true" porttype="0" decid="DEC-1"/>

(и сигналами)
<co iid="LAN" prot="D" addr="22" port="0" gate="0" cmd="on" accessory="true" porttype="0" decid="DEC-1"/>
<co iid="LAN" prot="D" addr="23" port="0" gate="0" cmd="on" accessory="true" porttype="0" decid="DEC-1"/>

<co iid="LAN" prot="D" addr="22" port="0" gate="0" cmd="on" accessory="true" porttype="0" decid="DEC-1"/>
<co iid="LAN" prot="D" addr="23" port="0" gate="1" cmd="on" accessory="true" porttype="0" decid="DEC-1"/>
Alexmit вне форума  
Вверх