为什么我的8266一会连到WIFI一会又断开-Arduino中文社区 - Powered by Discuz! Archiver

爱酱丶 发表于 2020-5-6 18:08

为什么我的8266一会连到WIFI一会又断开

本帖最后由 爱酱丶 于 2020-5-16 21:45 编辑

我做了一个UNO+8266+DHT11的方案,想通过UNO获取温湿度然后传数值到8266上,8266再反馈数值到BLINKER上,但是我分别烧录代码后,8266一会连到WIFI一会断开,一直这样重复
这是UNO端代码:
#include <SoftwareSerial.h>
#include"dht11.h"
#define    DHT11PIN    8
SoftwareSerial softSerial(5,6);
dht11 DHT11;
String device_h = "Humidity:";
String device_t = "Tempeature:";
String h = String();
String t = String();
String device_A_String = "";
void setup() {
// UNO的硬串口波特率
Serial.begin(9600);
// UNO的软串口波特率
softSerial.begin(115200);
// UNO的软串口启用监听
softSerial.listen();
// UNO的设定D8针口,DHT11
pinMode(DHT11PIN,OUTPUT);
}

void loop() {
int chk = DHT11.read(DHT11PIN);
int tem = (float)DHT11.temperature;             //将温度值赋值给tem
int hum = (float)DHT11.humidity;               //将湿度值赋给hum
char humi1,temp1,test,tes;
itoa(hum, humi1, 10);
h=device_h+humi1;
strcpy(test,h.c_str());
itoa(tem, temp1, 10);
t=device_t+temp1;
strcpy(tes,t.c_str());
softSerial.println(test);
delay(2);
softSerial.println(tes);
delay(2);
}






这是8266端的:
#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "43e708cefce9";// 软件密钥
char ssid[] = "123";// 需连接WIFI的名字
char pswd[] = "123";// 需连接WIFI的密码

BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");
String device_C_String = "";
int humi_read=0,temp_read=0;
String string = "";
void heartbeat()
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    Blinker.begin(auth, ssid, pswd);
    Blinker.attachHeartbeat(heartbeat);
}

void loop()
{
    Blinker.run();
    int i=0;
    char espread,hum,tem;
    while(Serial.available()){       //如果8266通过D10,D11软串口发来命令
char inChar = Serial.read();      //定义inchar字符为软串口的字符
device_C_String += inChar;
}
strcpy(espread,device_C_String.c_str());
if(device_C_String.startsWith("Humi")){      //判断是温度还是湿度
   for(i = 0; i < strlen(espread); i++){
    if(espread >= '0' && espread <= '9'){   //读取字符串数值
      string +=espread;
      }
   }
      strcpy(hum,string.c_str());
      humi_read=atoi(hum);
    }
    else if(device_C_String.startsWith("Temp")){
       for(i = 0; i < strlen(espread); i++){
    if(espread >= '0' && espread <= '9'){
      string +=espread;
      }
       }
      strcpy(tem,string.c_str());
      temp_read=atoi(tem);

}
    string = "";                            //清空string
    device_C_String="";
    Blinker.delay(2000);
}



请各位大佬帮帮忙看看,搞得快疯了。

gcf 发表于 2020-8-17 02:14

我也遇到这个问题了

hu.led 发表于 2020-8-17 11:01

我也是:(

XlinliY.Zhang 发表于 2020-8-17 12:17

升级package+库
页: [1]
查看完整版本: 为什么我的8266一会连到WIFI一会又断开