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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2061|回复: 3

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

[复制链接]
发表于 2020-5-6 18:08 | 显示全部楼层 |阅读模式
本帖最后由 爱酱丶 于 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[10],temp1[10],test[100],tes[100];
  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[100],hum[100],tem[100];
    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);
}



请各位大佬帮帮忙看看,搞得快疯了。
发表于 2020-8-17 02:14 来自手机 | 显示全部楼层

回帖奖励 +1 金币

我也遇到这个问题了
发表于 2020-8-17 12:17 | 显示全部楼层
升级package+库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 08:31 , Processed in 0.180760 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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