国内综合精彩aⅤ无码不卡_日本少妇做爰全过程_欧美性爱在线播放免费_午夜?V日韩一区二区_免费a级毛片无码免费播放_成在人线av无码喷水_亚洲精品网站色视频_国产婷婷精品成人_老师撩起裙子让我桶的视频_秋霞影院国产

ESP8266 arduino IDE模式 使用smartconfig配置WIFI,連接物聯網

作者:wangbo0727 | 更新時間:2018-12-11 | 瀏覽量:6431

一直想試用ESP8266做一個和商業(yè)WIFI能媲美的項目但是總是做不好。網上看了很多例程后來還是覺得arduino IDE好懂一點;

想要達到商業(yè)WIFI項目基本上要能有以下功能:

設備開機之后默認進入smartconfig模式,手機打開APP能很快配網;

配網結束之后,進入連接WiFi模式,聯網結束之后,連接服務器,之后就能傳輸數據,還有發(fā)送指令了,

目前網上很多代碼都是基本里程,沒有很完整的,那個大神能寫一個完整的??;

 

 


評論:共5條

wangbo0727 評論于:2018-12-11 16:52:00
我附上我寫的源代碼,基本上開機之后默認配網,還可以按鍵強制配網;之后都是大家熟悉的連接方式
wangbo0727 評論于:2018-12-11 16:53:03
#include <ESP8266WiFi.h>
WiFiClient client;
#define relay1 2
#define key 5//將dht11的data口接在8266的GPIO2上
const char *ssid = "Charlie Testing AP";
const char *password = "11111111";
const char *host = "121.42.180.30";
char flag=0;

bool autoConfig()
{
int a=0;
pinMode(key,INPUT);
if(digitalRead(key) == LOW)
flag=1;
else
flag=0;
while(!digitalRead(key));

if(flag==1)
{
return false;
}
else
{
WiFi.begin();
while (WiFi.status() != WL_CONNECTED)
{
Serial.println("AutoConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
WiFi.printDiag(Serial);
delay(1000);
a++;
if(a==30)
{
a=0;
return false;
break;
}
}
if(false)
{
Serial.println("");
Serial.println("wifi line faild !");
}
else
{
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
return true;
}
}
}

void smartConfig()
{
WiFi.mode(WIFI_STA);
Serial.println("\r\nWait for Smartconfig");
WiFi.beginSmartConfig();
while (1)
{
Serial.print("Wait soft line..\r\n");
if (WiFi.smartConfigDone())
{
Serial.println("SmartConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
WiFi.setAutoConnect(true); // 設置自動連接
break;
}
delay(1000);
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void line_tcp()
{
Serial.println(WiFi.localIP());
const int httpPort =8181;
if (!client.connect(host, httpPort))
{
Serial.println("connection failed");
return;
}
Serial.print("connecting to ");
Serial.println(host);
client.write("{\"M\":\"checkin\",\"ID\":\"****\",\"K\":\"**********\"}\r\n");//登陸設備,修改成自己的ID和key
delay(100);
}
void setup()
{
Serial.begin(115200);
if (!autoConfig())
{
Serial.println("Start AP mode");
smartConfig();
}
line_tcp();
}

void loop()
{
char valueread;
while(client.available())
{
String line = client.readStringUntil('\r');
Serial.print(line);
int i;
for(i=0;i<=150;i++)
{
if((line[i]=='p') &&( line[i+1]=='l'))
{
digitalWrite(relay1,HIGH);
client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is on\",\"SIGN\":\"ok\"}\r\n");
}

if((line[i]=='s') && (line[i+1]=='t'))
{
digitalWrite(relay1,LOW);
client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is off\",\"SIGN\":\"ok\"}\r\n");
}


}
}
client.write("{\"M\":\"say\",\"ID\":\"****\",\"C\":\"123456\"}\r\n");//修改自己的ID,向設備發(fā)送信息,防止掉線
delay(6000);
}
xupengju110 回復于:2018-12-16 17:24:46
回復 @wangbo0727:dht11數據接口的ID填寫到哪里么?
wangbo0727 評論于:2018-12-19 08:11:56
DHT還沒寫上去
zjnbzm 評論于:2019-04-16 12:03:57
這個源代碼能用NodeMCU Studio 2015 LUA 編輯,寫入ESP8266內嗎?
返回頂部