ESP8266智能配网并连接到服务器(基于Arduino 复制代码直接可用)

现在我开发用的是Arduino esp8266,这个软件用起来的话就是更简单,入门快。基本的指令敲几行之后就可以连接到。服务器并且能够智能配网。并且对esp8266上边儿的引脚控制也比较简单。然后就是相当于带有WiFi的单片机吧,感觉挺好用的(下载的时候点击一下鼠标,自动下载过程中不需要按任何按键,下载完成后按一下复位就运行了)。然后下面就是把我智能配网跟那个连接服务器这边的代码贴上去。服务器的话用的是网络助手工具(设置的IP地址最好是本机电脑的地址),在局域网进行配置。接着对我的esp8266模块儿,进行配网并与该服务器进行通信,最后实现数据的收发测试。其中代码部分也参考的部分网友的,然后进行了整合。

#include <ESP8266WiFi.h>;
WiFiClient client;
#define relay1 2 //继电器连接在8266的GPIO2上
const IPAddress serverIP(10,168,1,121);//想要访问的目标地址
uint16_t serverPort = 8080;//服务器端口号
int m=0; 
void setup() {
  Serial.begin(115200);
  delay(10);
  // 必须采用 AP 与 Station 兼容模式
  WiFi.mode(WIFI_AP_STA);
  delay(500);
 // 等待配网
  WiFi.beginSmartConfig(); 
 // 收到配网信息后ESP8266将自动连接,WiFi.status 状态就会返回:已连接
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    // 完成连接,退出配网等待。
    Serial.println(WiFi.smartConfigDone());
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.println(serverIP);
  Serial.println(serverPort);
  while (!client.connect(serverIP,serverPort)) {
    Serial.println("connection failed");
    //return;
    delay(500);
  }
  Serial.print("connecting to ");
  //Serial.println(host);
  client.write("connect");//绑定apikey,修改成你自己的apikey
  delay(10);


  
}
int value = 0;
void loop() {
while(client.available()){
    String line = client.readStringUntil('\r');
     Serial.println(line);  
    //valueread=line[47];
    //Serial.println(valueread);
    
    if(line[5]=='3' & line[8]=='0' & line[9]=='1')
    {
      digitalWrite(relay1,HIGH);
      Serial.println("led on");
     }
     if(line[5]=='3' & line[8]=='0' & line[9]=='0')
    { 
      digitalWrite(relay1,LOW);
      Serial.println("led off");
     }
  }
String line ="";
  m++; 
  if(m%40==0)
  {
    client.write("mode=up\r\n");
    m=0;
   }
  delay(500);
}

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值