我試圖將NodeMCU套接字客戶端程序連接到Python服務器程序,但我無法建立連接。ESP8266 NodeMCU Lua將「套接字客戶端」連接到「Python服務器」連接不可能
我測試了一個簡單的Python客戶端服務器代碼,它運行良好。
Python的服務器代碼
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345 # Reserve a port for your service.
s.bind((host, port)) # Bind to the port
s.listen(5) # Now wait for client connection.
while True:
c, addr = s.accept() # Establish connection with client.
print 'Got connection from', addr
print c.recv(1024)
c.send('Thank you for connecting')
c.close() # Close the connection
Python客戶機代碼(與此我測試上面的代碼)
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345 # Reserve a port for your service.
s.connect((host, port))
s.send('Hi i am aslam')
print s.recv(1024)
s.close # Close the socket when done
輸出服務器側是
Got connection from ('192.168.99.1', 65385)
Hi i am aslam
NodeMCU代碼
--set wifi as station
print("Setting up WIFI...")
wifi.setmode(wifi.STATION)
--modify according your wireless router settings
wifi.sta.config("xxx", "xxx")
wifi.sta.connect()
function postThingSpeak()
print("hi")
srv = net.createConnection(net.TCP, 0)
srv:on("receive", function(sck, c) print(c) end)
srv:connect(12345, "192.168.0.104")
srv:on("connection", function(sck, c)
print("Wait for connection before sending.")
sck:send("hi how r u")
end)
end
tmr.alarm(1, 1000, 1, function()
if wifi.sta.getip() == nil then
print("Waiting for IP address...")
else
tmr.stop(1)
print("WiFi connection established, IP address: " .. wifi.sta.getip())
print("You have 3 seconds to abort")
print("Waiting...")
tmr.alarm(0, 3000, 0, postThingSpeak)
end
end)
但是當我運行NodeMCU時,Python服務器中沒有響應。
在ESPlorer控制檯輸出看起來像
Waiting for IP address...
Waiting for IP address...
Waiting for IP address...
Waiting for IP address...
Waiting for IP address...
Waiting for IP address...
WiFi connection established, IP address: 192.168.0.103
You have 3 seconds to abort
Waiting...
hi
難道我做錯了什麼或在這裏失去了一些步驟?
您的指導表示讚賞。
控制檯上的NodeMCU輸出是什麼? –
在控制檯上輸出了 – aslamengineer
等待IP地址... 等待IP地址... 等待IP地址... 等待IP地址... 等待IP地址... 等待IP地址... 已建立WiFi連接,IP地址:192.168.0.103 您有3秒中止 正在等待... hi – aslamengineer