Добрый день. Подскажите как можно реализовать отправку данных с arduino с помощью W5100 на сервер php и принять ответ от сервера. Т.е. ардуинка к примеру каждый час отправляет GET запросом единицу "1" Код (C++): client.connect(server, 80); client.print( "GET /index.php?int=1"); Эта единица уходит на сервер. Сервер принимает, обрабатывает эту единицу и в конце своего скрипта посылает GET на ардуинку. Ардуинка принимает данные от сервера и выдает внешний признак(мигает диод, пищит, дергает серву и т.д). На данный момент ардуинка умеет отправлять данные на сервер и сервер их обрабатывает. Но вот удачно отработал скрипт или нет ардуинка не знает. Хотелось бы что бы ардуинка могла принимать от сервера что то вроде "1" или "0". Подскажите может кто то делал уже такое. Кто сильно добрый, поделитесь куском кода.
Признаю, был не прав, молодой был горячий Ответ нашел на форуме. Код (C++): String currentLine = ""; client.connect(server, 80); client.print( "GET /index.php?dat="); client.print(dat); client.println(); delay (50); if (client.connected()) { while (client.available()) { char inChar = client.read(); currentLine += inChar; if (currentLine == "1") { tone(3,800,200); delay(2000); } if(currentLine == "0") { tone(3,1000,200); } } client.stop(); }
Кошмар какой. Никогда не пишите на голом JS в вебе, это мазохизм. Используйте хотя бы jQuery. https://api.jquery.com/jquery.get/ HTML: <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $.get("script.php", function(data){ $("#result").html(data); }); }); }); </script> </head> <body> <button>Click</button> <div id="result"></div> </body> </html>
Все правильно, только JQuery я б загружал из своего подкаталога, мы же не знаем есть ли выход в и-нет или все крутится на домашнем серваке.
Для перманентного обновления применяют таймеры, которые автоматом запускают нужную функцию через определенный интервал. А в функции тот же get-запрос с обновлением ваших показометров.
Код (C++): GetAjaxData(client); Вот за это спасибо. Голову сломал как заставить функцию отправлять сообщения в сеть, а оказывается ей ссылку скормить нужно было.