Подскажите пожалуйста как правильно работать с Ethernet Shild-ом. Отправить get запрос на выполнение скрипта который заносит данные в БД mysql у меня получилось. А вот считать ответ от скрипта у меня не получается(( В этой статье http://habrahabr.ru/post/108058/ автор использует скрипт для выборки данных из БД и отправки на ардуинку. Но у меня никак не получается считать данные Ethernet-ом PHP: <?php //адрес хоста $dbhost = 'localhost'; //Имя пользовтаеля $dbuser = 'Casper'; //пароль для подключения к Mysql $dbpass = '123456'; //имя базы данных $dbname = 'test'; //устанавливаем подключение к MySQL $connect = mysql_connect($dbhost, $dbuser, $dbpass); // проверяем состояние подключения if(! $connect ) { die('Could not connect: ' . mysql_error()); } // Выбираем базу данных mysql_select_db ($dbname, $connect); $sql = mysql_query("SELECT temp FROM banya"); $myrow = mysql_fetch_array($sql); echo ( $myrow['temp']."\n"); ?> и код на ардуинке.. Код (Text): #include <SPI.h> #include <Ethernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; char server[] = {192, 168, 1, 44}; IPAddress ip(192,168,1,67); EthernetClient client; int val; String currentLine = ""; void setup() { Serial.begin(9600); Ethernet.begin(mac, ip); } void loop() { if (Serial.available()) { val = Serial.read(); if (val == '1') { Serial.println("connecting to server..."); if (client.connect(server, 80)) { Serial.println("making HTTP request..."); // Создаем GET HTTP-запрос client.println("GET /get2.php HTTP/1.1"); client.println("HOST: 192.168.1.44"); client.println(); if (client.connected()) { if (client.available()) { // считываем полученные байты: char inChar = client.read(); Serial.println(inChar); // добавляем полученные байты в конец строки: currentLine += inChar; Serial.println(currentLine); } client.stop(); } } } } } Помогите как правильно принимать ответ ардуинкой! В браузере выводится значение из этого скрипта.
Желаемое это получить результат работы скрипта в ардуинку, но там полная тишина (( Может кто может дать рабочий пример, что бы мне его опробовать и если не сложно подробно описать, как происходит прием данных, а то я не очень догоняю..
ОК, перефразирую вопрос. Результат работы какого конкретно оператора в скетче по факту отличается от того, что должно быть? Выясните сначала, где программа работает правильно, а в каком месте возникает проблема. Кстати, не вижу в скетче ожидания фактического прихода данных...
Подскажите пожалуйста как надо их принять правильно, а то никак не могу разобраться и понять. Если не трудно привести какой нибудь пример. Спасибо за помощь.