Вот мой код HTML для этой страницы. Я использовал JQuery здесь. управления ESP8266 LED Как отправить данные с веб-страницы в Arduino UNO через модуль ESP8266?
<!-- in the <button> tags below the ID attribute is the value sent to the arduino -->
<button id="11" class="led">Toggle Pin 11</button> <!-- button for pin 11 -->
<button id="12" class="led">Toggle Pin 12</button> <!-- button for pin 12 -->
<button id="13" class="led">Toggle Pin 13</button> <!-- button for pin 13 -->
<script src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".led").click(function(){
var p = $(this).attr('id'); // get id value (i.e. pin13, pin12, or pin11)
// send HTTP GET request to the IP address with the parameter "pin" and value "p", then execute the function
alert("Sending Get Request");
$.get("http://192.168.4.1:80/", {pin:p}); // execute get request
});
});
</script>
</body>
</html>
Когда я подключить ПК к Wi-Fi в ESP8266, я могу контролировать светодиод, подключенный на него. Но я хочу контролировать это через Интернет. Модуль ESP8266 подключен к модему моего модема, но я не знаю, как писать в методе $.get()
на странице HTML, чтобы запрос был отправлен в arduino через Интернет. Я попытался поставить публичный IP-адрес моего модема вместо 192.168.4.1 (который по умолчанию для ESP8266) он не работает.
Вам необходимо настроить свой модем/маршрутизатор для передачи внешнего трафика с порта 80 (или лучше использовать другой порт) на «192.168.4.1: 80' - как вы это сделаете зависит от модема/маршрутизатора и действительно не соответствует теме переполнения стека. Но ищите «переадресацию портов» или подобное в вашем веб-интерфейсе администратора модема/маршрутизатора. – CupawnTae
Спасибо! это сработало. – user3035457
добро пожаловать. Полагаю, возможно, это может быть полезно для других и может быть рассмотрено по теме, поэтому я разместил его в качестве ответа. Я позволю другим решить, хотят ли они закрыть вопрос как не по теме, но по крайней мере он работает на вас :) – CupawnTae