2015-09-25 312 views
2

这是我的页面的HTML代码。我在这里使用了JQuery。 ESP8266 LED控制 如何通过ESP8266模块将数据从网页发送到Arduino UNO?

<!-- 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> 

当我将PC连接到ESP8266的无线网络,我能够控制连接在其上的LED。但我想通过互联网来控制它。 ESP8266模块已连接到我的调制解调器的wifi上,但我不知道如何在HTML页面中编写$.get()方法,以便通过网络将请求发送到arduino。我试图把我的调制解调器的公共IP地址,而不是192.168.4.1(这是默认的ESP8266),它没有工作。

+1

您需要配置您的调制解调器/路由器将端口80(或更好地使用不同的端口)的外部流量传递给'192.168.4.1:80' - 您将如何执行此操作取决于调制解调器/路由器,并且对于堆栈溢出来说是非常关键的。但在调制解调器/路由器的管理Web界面中查找“端口转发”或类似内容。 – CupawnTae

+0

谢谢!有效。 – user3035457

+0

欢迎。我想也许它可能对别人有用,并可以考虑在话题上,所以我已经发布了它作为答案。我会让其他人决定是否想脱离问题来解决问题,但至少它对你有用:) – CupawnTae

回答

0

您需要配置您的调制解调器/路由器以将来自端口80(或更好使用不同端口)的外部流量传递到192.168.4.1:80 - 您如何实现这一点取决于调制解调器/路由器。

在调制解调器/路由器的管理Web界面中查找“端口转发”或类似内容。

0

我刚刚使用了上面的按钮代码,我只需要将esp8266连接到实际的wifi网络(启用了internet)并知道其IP地址(AT + CIFSR)。我的电脑上有一个网络服务器,我可以通过esp控制arduino。 (我正在切换电器)

相关问题