メッセージをリッスンするサーバーを作成する単純な Lua スクリプトがあります。メッセージが「led1」または「led2」の場合、スクリプトは 2 つの GPIO の出力を反転します。問題は、スクリプトが 2 ~ 3 回しか機能しないことです。実際のスクリプトで戻ってきます。
編集 1: サーバーのスクリプトは次のとおりです (スクリプトを簡素化するために GPIO 部分が削除されました)。
wifi.setmode(1)
wifi.sta.config("my_router","12345678")
tmr.delay(3000000)
print(wifi.sta.getip())
s=net.createServer(net.TCP)
s:listen(433,function(conn)
conn:on("receive",function(conn,payload)
print(payload)
conn:send("received")
end)
conn:on("sent",function(conn) conn:close() end)
end)
結果は次のとおりです(「led1」をサーバーに3回以上送信した場合):
>192.168.0.117 255.255.255.0 192.168.0.1
>led1
>led1
>led1
この後、クライアントは「接続がタイムアウトしました」と言いますが、ESP8266 は引き続き動作します (少なくともシリアル回線)。