Слияние кода завершено, страница обновится автоматически
#ifndef BlinkerSimplerESP32_MQTT_H
#define BlinkerSimplerESP32_MQTT_H
#include "Adapters/BlinkerMQTT.h"
class BlinkerSimpleESP32_MQTT
: public BlinkerProtocol<BlinkerMQTT>
{
typedef BlinkerProtocol<BlinkerMQTT> Base;
public :
BlinkerSimpleESP32_MQTT(BlinkerMQTT &transp)
: Base(transp)
{}
#if defined(BLINKER_ESP_SMARTCONFIG)
void begin(const char* _auth) {
Base::begin(_auth);
smartconfig();
this->conn.begin(_auth);
BLINKER_LOG1("ESP32_MQTT Initialled...");
}
#endif
void begin( const char* _auth,
const char* _ssid,
const char* _pswd)
{
Base::begin(_auth);
connectWiFi(_ssid, _pswd);
this->conn.begin(_auth);
BLINKER_LOG1("ESP32_MQTT Initialled...");
}
private :
#if defined(BLINKER_ESP_SMARTCONFIG)
void smartconfig() {
WiFi.mode(WIFI_AP_STA);
WiFi.beginSmartConfig();
BLINKER_LOG1("Waiting for SmartConfig.");
while (!WiFi.smartConfigDone()) {
::delay(500);
}
BLINKER_LOG1("SmartConfig received.");
BLINKER_LOG1("Waiting for WiFi");
while (WiFi.status() != WL_CONNECTED) {
::delay(500);
}
BLINKER_LOG1("WiFi Connected.");
BLINKER_LOG1("IP Address: ");
BLINKER_LOG1(WiFi.localIP());
// mDNSInit();
}
#endif
void connectWiFi(const char* _ssid, const char* _pswd)
{
uint32_t connectTime = millis();
BLINKER_LOG2(("Connecting to "), _ssid);
WiFi.mode(WIFI_STA);
if (_pswd && strlen(_pswd)) {
WiFi.begin(_ssid, _pswd);
}
else {
WiFi.begin(_ssid);
}
while (WiFi.status() != WL_CONNECTED) {
::delay(50);
if (millis() - connectTime > BLINKER_CONNECT_TIMEOUT_MS && WiFi.status() != WL_CONNECTED) {
connectTime = millis();
BLINKER_LOG1(("WiFi connect timeout, please check ssid and pswd!"));
BLINKER_LOG1(("Retring WiFi connect again!"));
}
}
BLINKER_LOG1(("Connected"));
IPAddress myip = WiFi.localIP();
BLINKER_LOG2(("Your IP is: "), myip);
// mDNSInit();
}
};
static BlinkerMQTT _blinkerTransport;
BlinkerSimpleESP32_MQTT Blinker(_blinkerTransport);
#endif
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )