#define SENSORNAME "mailboxsensor"
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#define wifi_ssid "wifi_ssid"
#define wifi_password "wifi_password"
IPAddress ip(?, ?, ?, ?);
IPAddress dns(?, ?, ?, ?);
IPAddress gateway(?, ?, ?, ?);
IPAddress subnet(255, 255, 255, 0);
IPAddress mqtt_server(?, ?, ?, ?);
#define mqtt_user "mqtt_user"
#define mqtt_password "mqtt_password"
#define mqtt_port 1883
WiFiClient espClient;
PubSubClient client(espClient);
int wificonnectcounter = 10;
int mqttconnectcounter = 10;
void setup() {
Serial.begin(115200);
WiFi.config(ip, dns, gateway, subnet);
WiFi.mode(WIFI_STA);
WiFi.begin(wifi_ssid, wifi_password);
client.setServer(mqtt_server, mqtt_port);
while (WiFi.status() != WL_CONNECTED and wificonnectcounter > 0) {
wificonnectcounter = wificonnectcounter - 1;
delay(250);
}
while (!client.connected() and mqttconnectcounter > 0) {
mqttconnectcounter = mqttconnectcounter - 1;
client.connect(SENSORNAME, mqtt_user, mqtt_password);
delay(250);
}
client.publish("wemos/mailboxsensor/openlid", "true");
delay(100);
ESP.deepSleep(0);
}
void loop() {
ESP.deepSleep(0);
}
1 Like