我有一個項目要使用兩個NodeMCUs和LUA。一個NodeMCU(服務器)託管一個簡單的Web服務器,對特定的URL參數做出反應。例如,我在我的瀏覽器中訪問:http://192.168.1.179/?pin=ON1,它的LED亮起等。我想通過按下按鈕來重新創建與其他NodeMCU(客戶端)的操作。唯一支持我的部分是這個HTTP GET請求。NodeMCU,一個簡單的GET請求是相當的挑戰
首先,我想簡單地使用HTTP模塊..但模塊中不存在可用的最新固件版本。我不知道這是爲什麼?我不打算建立最新的 - 最新的。 2版本差異那裏...我提交了一個自定義構建。
要求( 'HTTP')
stdin中:1:模塊的 'http' 未找到:
沒有場package.preload [ 'HTTP']
沒有文件 'http.lc'
沒有文件 'http.lua'
顯然還有其他的,年紀大了,意味着這樣的:
conn=net.createConnection(net.TCP, false)
conn:on("receive", function(conn, pl) print(pl) end)
conn:connect(80,"192.168.1.179")
conn:send("GET /?pin=ON1 HTTP/1.1\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
我一直在試圖讓它工作。 DNS以完整路徑失敗。因爲它只是爲打印部分輸出0。請注意,這是本地服務器,它的地址是直接指定的。我從路由器獲得DHCP,並嘗試了一個靜態IP。我很茫然,不知道還有什麼要做。這是完成這個項目的最後一步,因此它讓我瘋狂!任何幫助,將不勝感激。我應該注意到我丟失了服務器的腳本,所以我不能引用它。它雖然工作。 X_X」
其中很多方面都在原文中提到。只是背後的故事。我只需要使用URL PARAMETERS進行GET請求。我已經收到我與http的構建。現在我得到:HTTP客戶端:httpbin.org代碼的DNS失敗:-1 data:無HTTP請求失敗。我無法ping客戶端NodeMCU,就像服務器NodeMCU一樣。 –
感謝您更新您的答案。我很早就嘗試過這種簡單的方法,因爲它很簡單。僅僅爲了提問信息,我得到了一個與請求的LUA選項-1錯誤。該請求會失敗,我對當時的錯誤一無所知。在Arduino中,我也得到-1錯誤,但是請求成功。也許這是一個糟糕的服務器實現,或者服務器在超時之前沒有響應http狀態碼。 –