Переполнение буфера

davidka-oganesy...
Offline
Зарегистрирован: 10.02.2017

#include <SPI.h>
#include <Ethernet.h>
int ledRed = 3; // светодиод подключен к 3 аналоговому входу
int prom;
int stepRed = 0;
// Введите MAC-адрес и IP-адрес вашего контроллера
// IP-адрес должен соответствовать вашей локальной сети
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,107); //<<< IP-АДРЕС ВАШЕГО АРДУИНО ВВОДИТЬ СЮДА!!!
 
// инициализации экземпляра библиотеки:
EthernetClient client;
 
// URL сервера, которому будем отправлять запросы
char serverName[] = "spasibo.svyaz56.ru"; //<<< Адрес сайта вводить сюда!!!(адрес не рабочий)
 
String stringOne; 
 
void setup() {
 
pinMode(ledRed, OUTPUT);
digitalWrite(ledRed, LOW);
 
// инициализация последовательного порта:
Serial.begin(115200);
 
// попытка подключения с DHCP:
if (!Ethernet.begin(mac)) {
 
// если DHCP-сервер отсутствует в сети,
// подключаемся с заданным нами IP-адресом:
Ethernet.begin(mac, ip);
  
}
// подключаемся к Сайту:
connectToServer();
}
 
void loop()
{
  if (client.connected()) {
if (client.available() && client.read() == '{') {
    String line = client.readStringUntil('}');
    Serial.println(line);
    client.flush();
    client.stop();
    if (line == "onled")
 {
  digitalWrite(ledRed, HIGH);
  connectToServer();
 }
   if (line == "offled")
 {
  digitalWrite(ledRed, LOW);
  connectToServer();
 }
}
 
 }
}



 
// функция подключения к нашему серверу :
void connectToServer() {
 
//Serial.println("connecting to server...");
if (client.connect(serverName, 80)) {
 
Serial.println("making HTTP request...");
Serial.println("GOOD");
Serial.println("===========");
// Создаем GET HTTP-запрос к Сайту:
client.println("GET /*****/****/but/arduino.php?led1 HTTP/0.9"); //<<< Сюда вводим свой GET запрос!!! этот адрес не рабочий
client.println("HOST: spasibo.svyaz56.ru"); //<<< Адрес сайта вводить сюда!!! этот адрес не рабочий
client.println();
}
 
}
 

 

 

 

 

<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8" />
<title> Add data to DB </title>
</head>
<body>

<?php

if(isset($_GET['led1']))
{
$n1=mysqli_connect("m****.****.ru","******","*******","*******");
$queryled=mysqli_query($n1, "select * from choice where id='1'");
$queryled2=mysqli_fetch_array($queryled);
if($queryled2['choice']=="off")
{
echo "offled";
}
if($queryled2['choice']=="on")
{
echo "onled";
}

} elseif(isset($_GET['window']))
{	
$n1=mysqli_connect("m****.****.ru","******","*******","*******");
$querywindow=mysqli_query($n1, "select * from choice where id='2'");
$querywindow2=mysqli_fetch_array($querywindow);
if($querywindow2['choice']=="off")
{
echo "offwin";
}
if($querywindow2['choice']=="on")
{
echo "onwin";
}
}
?>
</body>
</html>
​
Где то происходит переполнение буфера, из за чего мой ethernet shield начинает зависать. Поработает секунд 15 и зависает. TX на плате не дает признаков жизни.
Может кто нибудь поможет в решении этой проблемы?
ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

Ну, а как-то описать что здесь вообще делается? Нет? Нам самим догадываться? Ну, ждите какого-нибудь любителя ребусов.

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

дак судя по 

//<<< IP-АДРЕС ВАШЕГО АРДУИНО ВВОДИТЬ СЮДА!!!

скечч вапще не его.  Спрашивай у автора 

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Если бы ко мне коннекты с такой скоростью открывали - я бы забанил давно уже ремоту по айпи.