Skip to content

Data from sensor (PIR, CO2, smoke/water detectors...) is logged and sometimes sent to user (WhatsApp message, E-mail).

Notifications You must be signed in to change notification settings

bvujovic/SensorNodeESP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SensorNodeESP

Data from sensor (PIR, CO2, smoke/water detectors...) is logged and sometimes sent to user (WhatsApp message, E-mail).

Server (Hub): ESP32 (SRX882, buzzer)

Server: ESP32 (SRX882, buzzer)

Web app - interface

Web app - interface

Client: ESP8266 & ENS160+AHT21

ESP wakes up every 10 minutes and sends data from sensors to the hub (server) via ESP-NOW. Client: ESP8266 & ENS160+AHT21

Client: ATtiny85 & STX882

ATtiny sleeps, wakes up on HIGH (test button, PIR, wires for water detection...), sends signal via STX882, goes back to sleep. Device can be battery powered.

Movement detection

Client: ATtiny85 (STX882...)

Water detection

Client: ATtiny85 (STX882...)

TODO

  • README.md: Change images where necessary.
  • Hub:
    • Create place (folder) for discontinued code that contains code that is not used anymore. Put there: attiny, hc12, stx882, bme680 projects.
    • Split Hub project into 2:
      • Hub: connected to the internet, communication with clients is done via ESP-NOW. First, create alternative version for attiny_stx882 project (Water detection).
      • Hub /wo internet: communication with clients is done via radio (HC-12, SRX882...). Maybe it could have its own wireless network for web app access?
        • Test if it's possible for 2 ESP32's to communicate /wo (known) WiFi network. If it's possible, create project with 2 simple parts: client (reacts on some simple event e.g. PIR) and server (beeps when ESP-NOW msg from client is received)
    • Web App:
      • Improve interface (chart.js disappears, shrinks)
    • Add 5V buzzer (with transistor)
  • Clients:
    • SCD30:
      • Check if pinButton is pressed before wait for response from airSensor (SCD30)
      • Check documantation for setting the right temperature [offset]
      • Try to use TimeSlotSend class
    • Add more sensor nodes
      • (WIP) esp32-wake-on-pin
        • Try to generate random ID each time ESP wakes up
        • Resend message couple of seconds after the first one.
        • Test if device works with PIR sensor
        • Create project folder: name, code, pictures, README.md
      • Microphone (noise levels)

Add new client routine

  • my_esp_now.h:
    • setPeers(): add new setPeer() call
      • setPeer(): set parameters: mac address, sensor type, device
    • Increase length of peers array: peer_info peers[]
    • Add new members to arrays: StrSensorTypes[], SensorTypesComment[]
    • OnDataRecv(): if (p->type == SensorType::...)
  • Enums.h: Add new members to SensorType, Device
  • index.html:
    • CmbChartParamsChange(): adjusting chart for sensors with temp and hum
    • lastChartParam: add default property for new sensor

Links

ESP-NOW

Remarks

  • ESP-NOW communication works if WiFi channel on the router is set to 1. There might be ways to fix that by using wifi_promiscuous_enable()...

About

Data from sensor (PIR, CO2, smoke/water detectors...) is logged and sometimes sent to user (WhatsApp message, E-mail).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published