Переполнение буфера
- Войдите на сайт для отправки комментариев
Сб, 09/02/2019 - 13:18
#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 на плате не дает признаков жизни.
Может кто нибудь поможет в решении этой проблемы?
Ну, а как-то описать что здесь вообще делается? Нет? Нам самим догадываться? Ну, ждите какого-нибудь любителя ребусов.
дак судя по
//<<< IP-АДРЕС ВАШЕГО АРДУИНО ВВОДИТЬ СЮДА!!!
скечч вапще не его. Спрашивай у автора
Если бы ко мне коннекты с такой скоростью открывали - я бы забанил давно уже ремоту по айпи.