Web server иweb client на ардуино

alchi
Offline
Зарегистрирован: 13.02.2012

Есть два контроллера, один сервер, второй клиент.

Задача - обменяться данными "HELLO FROM CLIENT*" И "HELLO FROM SERVER*"

* - символ окнчания данных

В будущем планируется сделать несколько веб серверов и один клиент, который будет по необходимости опрашивать сервера. Также у клиенат будет веб интерфейс для отображения полученной информации от серверов.

Задача реализована, только для обмена информацией между "северами" - клиент использовал UDP. Но как выяснилось бывает иногда зависание контроллера, кроме ресета ничего не помагает.


Будет ли работать данные алгоритмы?

Скетч сервера

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

char c;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte port_server=90;
IPAddress ip_server(192, 168, 1, 178);
EthernetServer server(port_server);

void setup() 
{
  Serial.begin(9600);
  Ethernet.begin(mac, ip_server);
  server.begin();  
}

void loop() 
{
  EthernetClient client = server.available();
  while (client.connected()) 
  {
    if (client) 
    {
      if (client.available()) 
      {
          c = client.read();
          Serial.print(c);
      }
      if (c == '*' )
      {
        client.print("HELLO FROM SERVER*");
        client.stop();
        Serial.println("Disconnect");
      }
    }
  }
  delay(1);
}

Скетч клиента

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

char c;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte port_server=90;
IPAddress ip_client(192, 168, 0, 177);
IPAddress ip_server(192, 168, 0, 178);
EthernetClient client;
boolean con=false;
void setup()
{
  Serial.begin(9600);
  Ethernet.begin(mac, ip_client);
  delay(1000);  
}

void loop() 
{
  if (client.connect(ip_server, port_server) && con==false) 
  {
    client.println("HELLO FROM CLIENT*");
    con=true;
  }
  if (client.available()) 
  {
    c = client.read();
    Serial.print(c);
  }
  if (!client.connected()) 
  {
    Serial.println();
    Serial.println("Disconnect");
    client.stop();  
    con=false;
  }  
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

alchi пишет:

Будет ли работать данные алгоритмы?

Запустите и попробуйте, потом нам расскажете.

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

Нет, не будут.