如何通过ESP8266模块将网页数据发送到Arduino UNO?

How to send data from web page to Arduino UNO via ESP8266 module?

这是我的 HTML 页面代码。我在这里使用了JQuery。 ESP8266 LED 控制

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

当我把我的电脑连接到ESP8266的wifi时,我就可以控制连接在它上面的LED了。但我想通过互联网控制它。 ESP8266模块连接到我的调制解调器的wifi,但我不知道如何在HTML页面的$.get()方法中写什么,以便通过网络将请求发送到arduino。我试图输入 public 我的调制解调器的 IP 地址而不是 192.168.4.1(这是 ESP8266 的默认值)它没有用。

您需要配置 modem/router 以将外部流量从端口 80(或最好使用其他端口)传递到 192.168.4.1:80 - 如何执行此操作将取决于 modem/router.

在您的 modem/router 的管理网络界面中查找 "port forwarding" 或类似内容。

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