LinxVIEW论坛-斯科道

 找回密码
 立即注册
楼主: Scadao
打印 上一主题 下一主题

ESP8266编程资源荟萃

[复制链接]

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
21#
 楼主| 发表于 2019-11-12 21:04:32 | 显示全部楼层
使用smartconfig配置WIFI,连接物联网

#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=='p') &&( line[i+1]=='l'))
{
digitalWrite(relay1,HIGH);
client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is on\",\"SIGN\":\"ok\"}\r\n");
}

if((line=='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,向设备发送信息,防止掉线
delay(6000);
}

回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
22#
 楼主| 发表于 2019-11-12 21:25:27 | 显示全部楼层
回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
23#
 楼主| 发表于 2019-11-15 23:13:28 | 显示全部楼层
回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
24#
 楼主| 发表于 2019-11-16 00:51:12 | 显示全部楼层
本帖最后由 Scadao 于 2019-11-16 00:55 编辑

PWS的板级安装包网络连线安装不成功:因arduino.esp8266.com中的内容已移向其他地,所以人工下载win32-xtensa-lx106-elf-gb404fb9-2.tar.gzhttps://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz

最后将其拷贝到路径:..\Arduino15\staging\packages\










回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
25#
 楼主| 发表于 2019-11-16 01:01:21 | 显示全部楼层

Arduino ESP8266内核安装说明文档中心



回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
26#
 楼主| 发表于 2019-11-16 06:59:50 | 显示全部楼层
ESP8266其SD卡读写操作编译和DS1307时钟设置均编译成功——




回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
27#
 楼主| 发表于 2019-11-16 13:01:40 | 显示全部楼层
ywqs 发表于 2019-11-16 11:09
温老师好!下载后直接拷贝就行了吗?

你要确保其它均已下载完毕,到这压缩包下载卡住了,才通过上文链接下载拷贝!
回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
28#
 楼主| 发表于 2019-11-16 20:09:09 | 显示全部楼层
ywqs 发表于 2019-11-16 17:58
这个I2C的引脚有点乱,使用ESP8266的支持包时,引脚(I2C)为GPIO4/SDA,GPIO5/SCL.  直接用PWS库时,GPIO2/SD ...

ESP8266的I2C是模拟的,这个可不用太过纠结!PWS的引脚使用更吻合官方文档——




回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
29#
 楼主| 发表于 2019-11-16 21:34:31 | 显示全部楼层
本帖最后由 Scadao 于 2019-11-16 21:36 编辑
ywqs 发表于 2019-11-16 21:10
嗯!但是使用官方库,好像不能同时使用SPI和I2C,时钟引脚相同。

是的!没错!如果需要更多功能,可能需要ESP32芯片选用。
回复 支持 反对

使用道具 举报

535

主题

746

帖子

2597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2597
30#
 楼主| 发表于 2019-11-17 23:08:17 | 显示全部楼层
访问DS3231和DS1307芯片的地址一样:都是0x68

WiFi Init.vi编译下载经验证,封装的库有错误!!

Arduino IDE 1.6.5文本编译下载control4.ino成功!并通过贝壳物联小程序控制成功!
(必须拷贝aJson文件夹到Arduino IDE 1.6.5安装路径libraries文件夹


WiFi_Test.rar

22.47 KB, 下载次数: 0

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|SCADAO  

GMT+8, 2024-5-5 20:38 , Processed in 0.051450 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表