Giter Site home page Giter Site logo

low-energy-bme280-sensor's Introduction

Low Energy Sensor Logger - to MQTT broker

This project combines a bare ESP8266, a LiFePo4 battery and a BME280 sensor. It reads sensor data more frequently than connecting to WiFi and transmitting the data. Limiting WiFi connections, which takes 6 seconds and consumes more than 100mA, will save the battery. However the downside is the readings will become available on the server with delay.

Data is sent by mqtt messages to a Mqtt broker. It also sends data on the battery voltage and can be configured to send a special action message if the voltage passes a specific treshold.

This is a project with my rtcmem library, a wrapper for the ESP8266 RTC memory. The rtc library supports the strategy to temporary store sensor readings in the rtc memory which survives deepsleep. The rtcmem can work with variable structs, which will depend on which sensor is used.

This project uses a modified BME280 library to identify the used sensor. The modified library exposes the calibration data. The calibration data is used to calculate a crc32 checksum which is used as identifier.

Discussion

Please help me and contribute this development:

  • Measuring energy use
  • Suggesting improvements
  • Suggesting use cases

Latest stable release: not yet available

Pins

ESP8266 ESP12F on a breakout board + BME280

ESP8266 BME280 LiFePo4
REST - GPIO16
ADC
CH_PD (10K VCC)
GPIO16 - REST
GPIO14
GPIO12
GPIO13
VCC VCC PLUS
TXD
RXD
GPIO5 SCL
GPIO4 SDA
GPIO0
GPIO2
GPIO15-10K-GND
GND GND MIN

low-energy-bme280-sensor's People

Contributors

bolukan avatar

Stargazers

 avatar

Watchers

 avatar

low-energy-bme280-sensor's Issues

Reading spikes due to wifi connection

Of each set readings, the eldest reading is substantially lower for the temperature and pressure.

Further analysis showed a reading from the bme280 returns the last reading and initiates a new one, which will be returned the next time a reading is requested.
The eldest reading is initiated the same time as a set of readings was sent. The presumption is the wifi connection disturbes the reading through radiation or power consumption (capacitators are used).

The proposed solution is to initiate the reading next to closing the wifi connection and to have a little pause (50ms) between the end of the wifi connection and the start of the reading.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.