Firmware for little board around an ESP-12F using a BME280 to record temperature and rel. humidity to ThingsBoard.
You need the following software components:
- Arduino IDE
- esp8266 board package
- ThingsBoard Arduino MQTT SDK
- ThingPulse esp8266 ssd1306 oled library
- BME280 library by Tyler Glenn
- Dictionary library by Anatoli Arkhipenko CAUTION! Use version 3.4.0 for now since v 3.5.0 introduced problems that are not resolved, yet!
- EspBootstrap library by Anatoli Arkhipenko
- ThingsBoard server where the sensor can post its data and where you can view that data on dashboards
- A token for the sensor that is registered in your ThingsBoard
You need the following hardware components:
- ESP12 board or compatible including USB programming adapter (e.g. NodeMCU)
- BME280 sensor
- SSD1306 128*32 OLED display module
- power source
- A WiFi network that the sensor can connect to
I built a nice little board (ESP8266 12F BME280) that has everything except the programmer on board. For uploading firmware to this board I use a USB FTDI232 adapter.
I recommend using some wire to mount the sensor with a few centimeters distance to the main board since the ESP gets a little warm even when only sampling every 30 second.
- Clone this repository
- Upload the sketch via the Arduino IDE
- Connect to WiFi access point created by the ESP and open http://10.1.1.1
- Insert your configuration data and confirm
- The ESP should restart and, if configured correctly, report its measurements regularly from now on
- If it encounters an error, it will open a configuration access point, again
- You can always force configuration mode by pulling pin 0 low after reset (e.g. by pressing the boot mode button)
- Baud rate is 74880