IoT-Enable su antiguo buzón de goma con un sensor ESP32, Radio Lora y Cierre de contacto.
Mi buzón no está tan cerca, y quería una forma de ver cuándo se abrió. Este proyecto utiliza un Sensor de contacto ESP32 w/ de contacto para detectar cuando la puerta del buzón se abre/ cierra, una radio Lora para enviar una explosión JSON rápida y luego duerme profundamente hasta que la puerta se abre nuevamente.
Necesitará un receptor para recoger el mensaje y hacer algo con él en el extremo más lejano. Vincularé el mío aquí cuando termine.
Presta mucho a la lógica del estado de la puerta del proyecto ESP32_Mailbox de Acbrandao, con algunas mejoras para detectar una condición de puerta atascada.
Solo requiere un par de cosas:
Platformio + VScode manejará todas las dependencias de su biblioteca, por lo que debería poder construir.
Es probable que necesite instalar los controladores CP210X para que su computadora reconozca el chipset en el ESP32.
Opcionalmente, puede ajustar estas configuraciones para adaptarse mejor a sus necesidades:
#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
Guardar, construir e implementar. ?
Me gustan los prs :)
Este proyecto tiene licencia bajo la licencia MIT: consulte el archivo de licencia.md para más detalles