This project is my homemade/DIY temperature/humidity multi-sensor, based on the NodeMCU ESP8266, and a DHT22 sensor. It uses a custom-made breakout board for the NodeMCU/DHT I designed in Eagle (available at PCBWay: https://goo.gl/U2fY7y). The breakout board allows me to easily connect things like an OLED screen (for local display), motion sensors or WS2812 RGB LED strings (for LED strip control). The NodeMCU itself runs code I wrote to get the temp/humidty/motion inputs, and publish them via MQTT to my openHAB home automation system. This multi-sensor is really a platform for multiple home automation data gathering tools, and I intend to extend its functionality as time goes on.This enclosure was designed in Fusion 360 to make the whole setup look more pleasing to the (wife's) eye, rather than having random PCBs out around the house.
Details
Files
Enclosure-Box.stl
3d print STL file for the enclosure box
Standard Tesselated Geometry -
162.78 kB -
04/15/2018 at 01:04
Just released the third step video for building the sensor. In this video, I focus on showing how to test the MQTT output from the sensor, how to configure openHAB to receive the sensor data and graph it, and how to calibrate the sensor to existing thermostat sensors. After this, the sensor is fully connected to the home automation system for monitoring/charting.
1. Print enclosure and cover 2. Solder left/right inner headers onto the OSHPark carrier board (15 pins each) 3. Solder DHT22 sensor onto board, with openings facing out 4. Stick NodeMCU board onto carrier board, USB connector facing opposite from DHT22 5. De-pin OLED screen (cut the black plastic holding pins together, remove pins one by one) <- alternatively, you can use breadboard wires (http://amzn.to/2fDGqeJ) with connectors on each end if you don't want to de-pin, but you'll have to bend the OLED screen pins to the side. 6. Cut seven (7) short (~2 inch) lengths of hook-up wire and strip on each end. 7. Connect/solder OLED screen to carrier board as follows:
For SPI OLED:
Board
Wire Color
OLED
3v3
Red
VCC
Gnd
Black
Gnd
D10
Orange
Res
D9
Gray
DC
D8
White
CS
D7
Yellow
D1
D5
Brown
D0
For I2C OLED:
Board
Wire Color
OLED
3v3
Red
VCC
Gnd
Black
Gnd
D10
Blue
SCL
D9
Green
SDA
# Final Assembly:
1. Stick OLED screen onto mounting posts (ensuring the screen is within the enclosure opening) and use a soldering iron to melt the posts over it.
2. Put NodeMCU carrier board in, ensuring it fits snugly (DHT sensor is tightly within its opening, USB connector is visible)
3. Put enclosure cover on, and secure with small screws (or glue in place)
2
Programming
Step 2: Program sensor with Arduino code, configuring Wifi/MQTT and other configuration settings.
3
Configuration
Step 3: Test MQTT connection/data output, configure openHAB for sensor data input and charting, and calibrate sensor to HVAC thermostat.