我的设置如下: Nodemcu和raspberry pi连接到WiFi路由器。我在Nodemcu中的lua代码需要通过WLAN调用raspberry pi中托管的REST。
但我可以看出,这种联系正在失败:
http.get("http://192.168.43.100:8080/api/logdevice", nil, function (code, resp) print(code, resp) end)
> --http.get("http://example.com", nil, function (code, resp) print(code, resp) end)HTTP client: Disconnected with error: -11
HTTP client: Connection timeout
HTTP client: Connection timeout当我给出一个因特网地址(http://example.com)时,请求就成功了。
我能够从同一WiFi网络中的另一台笔记本上访问REST。
我已经通过使用lua代码验证了WiFi设置是正确的:
ip, netmask, gateway = wifi.sta.getip()在访问私有IP地址时,nodemcu是否有任何限制?
更新1 : i使nodemcu成为访问点,并将API服务器机器连接到它。现在nodemcu能够访问API。但这不是我需要的WiFi设置。我需要诺德姆去WiFi站。所以我想这可能是路由表中的一个问题。在将nodemcu连接到外部AP之后,我是否应该做任何额外的路由配置?
发布于 2017-06-22 10:34:04
如果我正确地理解了这一点,您似乎已经通过呼叫外部站点来解决nodemcu设备和internet之间的连接问题(超出您的路由器)。您还检查了是否可以使用另一个设备在本地调用网络中的REST,这表明问题似乎与无线网络上的nodemcu和rpi之间的通信有关。
我将检查您路由器上的DHCP屏幕,以验证nodemcu和rpi的IP地址。尝试从rpi或笔记本电脑中切换nodemcu。打开rpi out服务器上可用的任何日志记录,以检查入站请求(来自膝上型计算机,然后是nodemcu),并验证nodemcu的网络掩码设置与rpi相同(如果它们不同,则可以将webserver响应路由出网关)。
如果您想尝试一个“更简单的”更直接的测试,也可以尝试使用nodemcu中的简单telnet客户端连接到rpi。
对nodemcu、rpi和膝上型计算机来说,拥有IP地址、网络掩码和网关的实际值将有助于进一步实现这一目标。
https://stackoverflow.com/questions/44654431
复制相似问题