All Projects → adlerweb → ESP8266-BME280-Multi

adlerweb / ESP8266-BME280-Multi

Licence: BSD-2-Clause license
ESP8266 + BME280 -> MQTT, Serial, HTTP-Server, HTTP-Client/Volkszähler

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to ESP8266-BME280-Multi

arduino-bme280
💧 Arduino library for Bosch Sensortec BME280 – combined temperature, pressure, humidity sensor. The library allows using the sensor over I2C or SPI on any board that supports Arduino.
Stars: ✭ 25 (-10.71%)
Mutual labels:  bme280
Catena-Sketches
Top-level Arduino sketches for the MCCI Catena family of IoT LPWA Devices
Stars: ✭ 12 (-57.14%)
Mutual labels:  bme280
micrOS
micrOS - mini automation OS for DIY projects requires reliable direct communication
Stars: ✭ 55 (+96.43%)
Mutual labels:  bme280
bme280-esp-idf-i2c
Sample code for reading values from a BME280 temperature-humidity-pressure sensor, via ESP-IDF's I2C master driver, supports both normal mode and forced mode described in the datasheet. https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf
Stars: ✭ 38 (+35.71%)
Mutual labels:  bme280
mbmd
ModBus Measurement Daemon - simple reading of data from ModBus meters and grid inverters
Stars: ✭ 140 (+400%)
Mutual labels:  volkszaehler
vzlogger
Logging utility for various meters & sensors
Stars: ✭ 108 (+285.71%)
Mutual labels:  volkszaehler
Periph
Go·Hardware·Lean
Stars: ✭ 1,700 (+5971.43%)
Mutual labels:  bme280
CaravanPi
System for measuring and displaying various values in caravans and motor homes, including climate values, filling levels and levelling data. MagicMirror (https://magicmirror.builders/) is used for presentation. A circuit board design is available now
Stars: ✭ 14 (-50%)
Mutual labels:  bme280
nRF24LE1-sensor
nRF24LE1 remote sensor module, support DHT21/22, DS18B20, photoresistor as light sensor, AES encryption
Stars: ✭ 15 (-46.43%)
Mutual labels:  bme280
homeweather esp8266
weather station, arduino esp8266, st7920, mh-z19, BME-280
Stars: ✭ 29 (+3.57%)
Mutual labels:  bme280
SnorkTracker
GPS IoT tracker board for scanning gps and environment information and sending this to a MQTT server via GPRS.
Stars: ✭ 38 (+35.71%)
Mutual labels:  bme280
sps30
Sensirion SPS30 driver for ESP32, SODAQ, MEGA2560, UNO, ESP8266, Particle-photon on UART OR I2C coummunication
Stars: ✭ 57 (+103.57%)
Mutual labels:  bme280
ESPHome-Air-Quality-Monitor
ESPHome configuration for a DIY indoor air quality monitor for CO₂ concentration, PM2.5 and PM10 concentrations, and temperature, humidity and pressure
Stars: ✭ 42 (+50%)
Mutual labels:  bme280
Eduponics-Mini
MicroPython MQTT & code example for Eduponics mini ESP32 learning kit
Stars: ✭ 41 (+46.43%)
Mutual labels:  bme280
TempRa
Monitors the temperature, the humidity and the pressure in your room on Raspberry Pi.
Stars: ✭ 16 (-42.86%)
Mutual labels:  bme280
tehybug
Low Power WIFI environmental data trackers based on ESP8266 Module
Stars: ✭ 15 (-46.43%)
Mutual labels:  bme280
MiniWXStation
ESP8266 and BME280 sensor for a minimalist weather station to put on your terrace
Stars: ✭ 28 (+0%)
Mutual labels:  bme280
IoTHAT
Turta IoT HAT Source, Reference and Manual.
Stars: ✭ 23 (-17.86%)
Mutual labels:  bme280
SmartHome
esp8266 IoT to mqtt bridge. Eastron SDM220, SDM230, SDM630 modbus; AZ7798; SenseAir s8; BME280; HDC1080; Plantower PMS5003, PMS7003, PMSA003
Stars: ✭ 50 (+78.57%)
Mutual labels:  bme280

ESP8266-BME280-Multi

ESP8266 + BME280 -> MQTT, Serial, HTTP-Server, HTTP-Client/Volkszähler

Reads an BME280 using ESP8266 and provides the results via Serial/USB, an internal HTTP-Server, MQTT (with TLS) and HTTP-GET to a Volkszähler

Wiring

BME280 ESP8266
VCC 3.3V
GND GND
SDA GPIO4 (D2 @ NodeMCU)
SCL GPIO5 (D1 @ NodeMCU)

Configuration

Insert your WiFi-Parameters in the main code (src/main.cpp). If you use MQTT add the corresponding parameters, otherwise remove USE_MQTT. Same goes for the Volkszähler-Settings (VZ_) and USE_VOLKSZAEHLER. You can control every how many seconds the sensor is polled and the values distributed using stats_interval.

Building

When using PlatformIO just download/clone and open the project folder. You should be able to build everything right away. On Arduino ensure PubSubClient is installed.

Functionality

Serial

Every stats_interval seconds the following text will appear:

T: 12.34 *C
DP: 12.34 *C
H: 12.34 %
AH: 1.34 g/m3
RP: 1234.56 hPa
P: 1234.56 hPa

T is temperature, DP dew pont, H relative humidity, AH absolute humidity, RP relative pressure and P absolute pressure at sea level.

If you're using Volkszähler additional debug output with the computed URLs and HTTP-Status will be present.

HTTP-Server

Just access the module using HTTP. You can get the modules IP using serial, MQTT or your routers DHCP-leases. You'll find all values mentioned above. Every access triggers the module to gather a new set of values from the sensor, so the display should always display up to date measurements.

Access /ota to start an OTA-update.

MQTT

This code assumes you use TLS and password-authentication. All path originate from mqtt_root. On boot the module will publish static parameters:

/esp/bme280/status/online 1
/esp/bme280/hardware esp8266tls-bme280
/esp/bme280/version 0.0.1
/esp/bme280/statsinterval 60
/esp/bme280/mac 11:22:33:44:55:66

Statsinterval is in seconds.

Every stats_interval seconds variable data will be published:

/esp/bme280/ip 192.168.123.123 /esp/bme280/uptime 123 /esp/bme280/rssi 100 /esp/bme280/get/temperature 12.34 /esp/bme280/get/dewpoint 12.34 /esp/bme280/get/humidity_abs 12.34 /esp/bme280/get/humidity 12.34 /esp/bme280/get/pressure 1234.56 /esp/bme280/get/pressure_rel 1234.56

Uptime is in seconds, RSSI in %.

Additional commands are:

  • /esp/bme280/set/ping -> Received value is requblished to /esp/bme280/get/pong
  • /esp/bme280/set/reset -> Device reboots
  • /esp/bme280/set/update -> Device enters ArduinoOTA mode

Volkszähler

Add new channels for the corresponding measurements using the frontend. Note the UUIDs and add them to the corresponding configuration values. Check vz_url points to your middleware.php/data. If you do not want to record a specific measurement set the UUID to "".

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].