我有一个Arduino Uno和一个WiFi屏蔽;项目的目标是从传感器获取数据并将其发送到通过WiFi在PC上运行的处理草图。Arduino - WiFi屏蔽连接到WiFi网络,但不能互动:ERR_CONNECTION_REFUSED
从各种官方示例中获取大部分代码,我设法使WiFi屏蔽成功连接到WiFi(WPA)网络(根据主板和托管网络的智能手机)。
但是,当我尝试从电路板发送/接收数据时,我总是遇到错误,我不知道它来自哪里。
我怀疑错误来自我的代码,因为它几乎只复制和粘贴,但这里有相关部分以防万一:
动初始化:
char ssid[] = "MiniStepper"; // Network name
char pass[] = "Test1234"; // Network code
int keyIndex = 0; // Network key
int statut = WL_IDLE_STATUS;
WiFiServer server(80);
设置:
void beginWiFi(){ // called in setup()
// Connection to the network (working, so omitted)
//...
server.begin();
}
应对要求:
void connexionRead(){ // called in loop()
WiFiClient client = server.available();
if(!client) return;
Serial.println("New connexion !"); // This never prints, so I'm sure the problem is earlier
// ...code sending back a HTML file with the HTTP protocol
}
我正在使用Chrome访问(我试过火狐没有结果也一样),使用WiFi.localIP()
(托管网络的智能手机提供相同)给出的IP地址:
它给出了“ERR_CONNECTION_REFUSED”。
我对物联网真的很陌生,我猜这可能是一个配置问题(防火墙,...);我的电脑运行的是Ubuntu 15.10(Willy Werewolf)(我试过用Windows 7的PC也有同样的结果), 这个网络是由WPA加密的,由XPeria U托管(我尝试过用其他智能手机托管的WPA网络同样的结果), Arduino WiFi盾与Uno板(购买不到3个月前,所以我猜这是最新版本)。
我对Arduino论坛的研究或者只是让结果像“不能在Arduino 1.0.5中工作,回到Arduino 1.0.3”,但是现在的版本是1.8.2,所以我没有真的很确定如果回去这么多会有帮助。
有什么我错过了吗?
编辑。 这里是平:
/home/ubuntu>ping 192.168.43.200
PING 192.168.43.200 (192.168.43.200) 56(84) bytes of data.
64 bytes from 192.168.43.200: icmp_seq=1 ttl=255 time=9.54 ms
64 bytes from 192.168.43.200: icmp_seq=2 ttl=255 time=6.01 ms
64 bytes from 192.168.43.200: icmp_seq=3 ttl=255 time=6.15 ms
64 bytes from 192.168.43.200: icmp_seq=4 ttl=255 time=7.23 ms
64 bytes from 192.168.43.200: icmp_seq=5 ttl=255 time=7.03 ms
<and more>
--- 192.168.43.200 ping statistics ---
31 packets transmitted, 31 received, 0% packet loss, time 30048ms
rtt min/avg/max/mdev = 4.112/6.415/11.377/1.706 ms
我假定你在你的PC上运行浏览器,192.168.43.200是你的Arduino的IP地址。你应该开始分析问题。 3个问题:1 - ping到192.168.43.200工作? 2 - 如果您登录AP,您能看到Arduino连接吗? 3 - Arduino是从AP的DHCP接收IP地址还是静态配置的? – rodolk
你的假设是正确的; 2:是的,3:不同网络的测试给出了不同的IP地址,所以它不是静态配置的。 – CLOVIS
虽然我不知道问题1 ... – CLOVIS