2015-09-25 307 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。 (我正在切換電器)

相關問題