這是我的頁面的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),它沒有工作。
您需要配置您的調制解調器/路由器將端口80(或更好地使用不同的端口)的外部流量傳遞給'192.168.4.1:80' - 您將如何執行此操作取決於調制解調器/路由器,並且對於堆棧溢出來說是非常關鍵的。但在調制解調器/路由器的管理Web界面中查找「端口轉發」或類似內容。 – CupawnTae
謝謝!有效。 – user3035457
歡迎。我想也許它可能對別人有用,並可以考慮在話題上,所以我已經發布了它作爲答案。我會讓其他人決定是否想脫離問題來解決問題,但至少它對你有用:) – CupawnTae