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

ESP8266 arduino IDE模式 使用smartconfig配置WIFI,連接物聯(lián)網(wǎng)

作者:wangbo0727 | 更新時(shí)間:2018-12-11 | 瀏覽量:6432

一直想試用ESP8266做一個(gè)和商業(yè)WIFI能媲美的項(xiàng)目但是總是做不好。網(wǎng)上看了很多例程后來(lái)還是覺(jué)得arduino IDE好懂一點(diǎn);

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

設(shè)備開(kāi)機(jī)之后默認(rèn)進(jìn)入smartconfig模式,手機(jī)打開(kāi)APP能很快配網(wǎng);

配網(wǎng)結(jié)束之后,進(jìn)入連接WiFi模式,聯(lián)網(wǎng)結(jié)束之后,連接服務(wù)器,之后就能傳輸數(shù)據(jù),還有發(fā)送指令了,

目前網(wǎng)上很多代碼都是基本里程,沒(méi)有很完整的,那個(gè)大神能寫(xiě)一個(gè)完整的?。?/p>

 

 


評(píng)論:共5條

wangbo0727 評(píng)論于:2018-12-11 16:52:00
我附上我寫(xiě)的源代碼,基本上開(kāi)機(jī)之后默認(rèn)配網(wǎng),還可以按鍵強(qiáng)制配網(wǎng);之后都是大家熟悉的連接方式
wangbo0727 評(píng)論于: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); // 設(shè)置自動(dòng)連接
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");//登陸設(shè)備,修改成自己的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,向設(shè)備發(fā)送信息,防止掉線
delay(6000);
}
xupengju110 回復(fù)于:2018-12-16 17:24:46
回復(fù) @wangbo0727:dht11數(shù)據(jù)接口的ID填寫(xiě)到哪里么?
wangbo0727 評(píng)論于:2018-12-19 08:11:56
DHT還沒(méi)寫(xiě)上去
zjnbzm 評(píng)論于:2019-04-16 12:03:57
這個(gè)源代碼能用NodeMCU Studio 2015 LUA 編輯,寫(xiě)入ESP8266內(nèi)嗎?
返回頂部