首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeMCU ESP8266用C连接到iPhone热点

NodeMCU ESP8266用C连接到iPhone热点
EN

Stack Overflow用户
提问于 2017-04-11 18:55:22
回答 1查看 5K关注 0票数 3

我有一个关于从NodeMCU ESP8266板到苹果iPhone6个人热点的无线连接的问题。iOS版本为10.2.1 (14027)。我使用的NodeMCU代码与我的家庭无线局域网工作,使用WPA2没有任何问题。如果我更改SSID和密码以连接到苹果热点,while()循环将永远运行(请参阅代码,我使用的是Arduino IDE 1.8.2):

代码语言:javascript
复制
#include <ESP8266WiFi.h>

const char* ssid = "iPhone6";
const char* password = "passwd";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(1500);
  }
}

void loop() {
  // do something
  delay(10000);
}

为了检查,我使用NodeMCU扫描无线网络,并列出了我的苹果热点(也使用WPA2),以便董事会可以“看到”它。我可以连接到苹果热点与我的iPad和我的戴尔笔记本电脑,所以这也是工作。我发现的所有网页都在处理将NodeMCU设置为WiFi服务器而不是客户端的问题。在我的代码中还有其他的细节我忘记了吗?或者,我是否可以使用另一个WiFi库而不是ESP8266WiFi呢?如果有人设法得到这种连接工作,我将感谢任何提示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-29 16:01:07

问题是(我相信) ESP8266将处于任何模式(APSTAAP_STA) --这是在上一次打开电源的时候,除非您显式地更改它。因此,例如,您的代码对我来说很好,就像现在一样,几次取决于我以前对我的董事会所做的事情。

为了使代码一致地工作,您必须(如@cagdas所述)显式地将其置于STA模式中。因此,下面对代码的更改将这样做。我已经使用我的板和iPhone 6s、1.8.2 Arduino IDE和ESP8266库的1.0.0版本验证了这一点。

代码语言:javascript
复制
#include <ESP8266WiFi.h>

const char* ssid = "iPhone6";
const char* password = "passwd";

void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA); // SETS TO STATION MODE!
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(1500);
  }
}

void loop() {
  Serial.print("IP is ");
  Serial.println(WiFi.localIP());
  delay(10000);
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43354086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档