IoT-Enable Ihr alter Rubbermaid-Mailbox mit einem ESP32-, Lora-Radio und Contact Contact-Sensor.
Mein Mailbox ist nicht so nah und ich wollte eine Möglichkeit zu sehen, wann es geöffnet wurde. In diesem Projekt wird ein ESP32 mit dem Kontaktsensor verwendet, um zu erkennen, wann die Postfachtür geöffnet/ geschlossen wird, ein Lora -Radio, um einen schnellen JSON -Burst zu senden, und dann schläft Deep schläft, bis sich die Tür erneut öffnet.
Sie benötigen einen Empfänger, um die Nachricht abzuholen und am anderen Ende etwas damit zu tun. Ich werde meine hier verknüpfen, wenn ich fertig bin.
Es leiht sich die Türstatuslogik des ESP32_Mailbox -Projekts von Acbranda stark aus, wobei einige Verbesserungen zum Erkennen eines festgefahrenen Türzustands erfasst werden.
Es erfordert nur ein paar Dinge:
Platformio + VSCODE wird alle Ihre Bibliotheksabhängigkeiten abwickeln, sodass Sie in der Lage sein sollten, nur zu erstellen.
Sie müssen wahrscheinlich die CP210X -Treiber installieren, damit Ihr Computer den Chipsatz auf dem ESP32 erkennt.
Optional können Sie diese Einstellungen optimieren, um Ihren Anforderungen besser zu entsprechen:
#define IS_DEBUG false // enable Serial.println statements
...
#define SYNCWORD 0xF3 // used to make sure our receiver only listens to our packets
...
// Mailbox config
#define PROJECT_NAME "rad-esp32-lora-sender" // What do we call this thing?
#define LED_ENABLED true // Turn on the on-board LED when transmitting status
#define MAX_OPENDOOR_TIME 30000 // default 30s in milliseconds how long to wait while door is open to consider it stuck open
#define MAX_STUCK_BOOT_COUNT 5 // If the door is stuck for more than x times let's switch to timer interrupt to save battery
#define TIMER_SLEEP_MICROSECS 1800 * 1000000 // when on timer interrupt how long to sleep in seconds * microseconds
// Define the contact closure input pin and initial state (Depends on your sensor - N/C or N/O )
gpio_num_t doorSensorPIN = GPIO_NUM_34; // GPIO for the contact closure
const int GPIO_DOOR_CLOSED_STATE = HIGH; // Default state when the reed and magnet are next to each other
Speichern, erstellen und bereitstellen. ?
Ich mag PRs :)
Dieses Projekt ist unter der MIT -Lizenz lizenziert - finden Sie in der lizenz.md -Datei für Details