钻石会员
  
主题
帖子
积分24797
阅读权限50
注册时间2008-12-21
最后登录1970-1-1
在线时间 小时
|

楼主 |
发表于 2022-6-13 21:48
|
显示全部楼层
嗯,谢谢了!下载一个试用一下。
这个是程序的循环部分,涉及到手机app的反馈,关于红外的文件有几个
void loop() {
// put your main code here, to run repeatedly:
if( WiFi.status() != WL_CONNECTED)
{
static int physicalkeylastms = millis();
if (millis()-physicalkeylastms > 1000) {
physicalkeylastms = millis();
Serial.println("WiFi not Connect");
}
}
//连接上wifi,修改led灯状态
updateLEDLight();
//不断检测按钮按下状态
button_attach_loop();
if(WiFi.status() == WL_CONNECTED && !isGetTopicList()){
Serial.println("Connected to AP");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Serial.print("espClient [");
Serial.printf(PSTR("Running Free mem=%d\n"), ESP.getFreeHeap());
if(LAST_ERR != 102 ){
topicInit();
}
else {
static int tm1stms = millis();
if (millis()-tm1stms > 30000) {
tm1stms = millis();
Serial.println(" 设备不存在! ");
}
}
if(isGetTopicList()){
// TCP_SERVER_PORT = 9501;
client.setServer(TCP_SERVER_ADDR.c_str(), TCP_SERVER_PORT); /* 连接WiFi之后,连接MQTT服务器 */
//检查MQtt server 连接
mqttCheckConnect((char*)UID.c_str(),"","");
}
}
static int lastheartbeatms = millis();
if (millis()-lastheartbeatms > 30000) {
lastheartbeatms = millis();
Serial.printf(PSTR("Running (%s),version %s for %d Free mem=%d\n"),
WiFi.localIP().toString().c_str(),
version.c_str(), lastheartbeatms/1000, ESP.getFreeHeap());
if(isGetTopicList()){
// TCP_SERVER_PORT = 9501;
client.setServer(TCP_SERVER_ADDR.c_str(), TCP_SERVER_PORT); /* 连接WiFi之后,连接MQTT服务器 */
//检查MQtt server 连接
mqttCheckConnect((char*)UID.c_str(),"","");
}
/* 上报 */
Serial.printf(PSTR("Running Free mem=%d\n"), ESP.getFreeHeap());
}
client.loop();
#if (defined(YYXBC_WITH_IR))
if(IRHwaiHandler::instance().recvIR()){
if(IRHwaiHandler::instance().getIsDebug()){
int index = IRHwaiHandler::instance().getIndex();
mySwitchHandler(index,"Hwai");
}
}
#endif
//同一时间,433和315只能有一个能接收
if (rf_receiver == RF433)
{
IR315Handler::instance().disableReceive();
IR433Handler::instance().enableReceive();
delay(100);
#if (defined(YYXBC_WITH_433))
if(IR433Handler::instance().recvIR()){
if(IR433Handler::instance().getIsDebug()){
int index = IR433Handler::instance().getIndex();
mySwitchHandler(index,"433");
}
}
#endif
}
else
{
IR433Handler::instance().disableReceive();
IR315Handler::instance().enableReceive();
delay(100);
#if (defined(YYXBC_WITH_315))
if(IR315Handler::instance().recvIR()){
if(IR315Handler::instance().getIsDebug()){
int index = IR315Handler::instance().getIndex();
mySwitchHandler(index,"315");
}
}
#endif
}
}
|
|