Skip to content

Very basic IoT thermometer with REST API and web UI, based on ESP8266 hardware (WeMos D1 mini)

License

Notifications You must be signed in to change notification settings

100prznt/Temp2IoT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Temp2IoT wiring

Temp2IoT

Very basic IoT thermometer with REST API and Web-UI. Implemented according to the "KISS" approach - Keep It Simple and Stupid

Features

  • Temperature measurement at one or two measuring points using DS18B20 sensors
  • Shows the measured values on integrated web UI
  • REST API for integration with master systems (e.g. ioBroker)
  • Configuration also via a web UI

Hardware

BOM

Description Qty. Price ASIN (partner-link from amazon.de)
WeMos D1 mini 1 EUR 6,49 B01N9RXGHY
DS18B20 waterproof 1 or 2 EUR 3,50 B01MZG48OE
Resistor 2K2 (0,6 W) 1 EUR 0,99 B007R3QXUE
---------------------- -------- ----------- ---------------------------------------
Total EUR 10,98

quoted prices from 2022/09/08

Also a USB-micro cable and a USB power supply is required

Wiring

Temp2IoT wiring

Power Supply

⚠️ Caution Danger to life ⚠️

If the thermometer is used to measure water temperatures, it is essential to use an appropriately classified power supply unit. It is important that the power supply is designed as a safety transformer.

A simple USB power supply that meets these requirements can be found here:

Temp2IoT wiring

Symbol of a short-circuit proof, closed safety transformer

Photos

Temp2IoT minimal build up Minimal build up with SMD resistor on the back and only one connected DS18B20.

Setup

You have two options to upload the software to the WeMos D1 mini.

ESP8266 Flasher (Windows)

You can download the compiled Flasher Tool from the GitHub Repository

  1. Clone or download the repository
  2. Start the ESP8266Flasher.exe
  3. Select the pre-compiled Temp2IoT binary on the config-tab, find at: src\Temp2IoT\Temp2IoT.ino.d1.bin
  4. Switch back to the operation-tab and select the right COM-port
  5. Press the Flash-Button

REST API

  • URL: http://<Temp2IoT IP>/api
  • Method: GET
{
  "systemname": "My Temp2IoT instance",
  "secure_counter": 50,
  "firmware": "2.2.04-b",
  "sensors": [
    {
      "name": "water",
      "value": 23.625,
      "mean-1": {
        "count": 5,
        "value": 23.6,
        "period": 3600
      },
      "mean-24": {
        "count": 5,
        "value": 23.6,
        "period": 86400
      },
      "unit": "Celsius",
      "time": "Fri Jul  9 13:12:36 2021"
    },
    {
      "name": "ambient",
      "value": 23.9375,
      "unit": "Celsius",
      "time": "Fri Jul  9 13:12:37 2021"
    }
  ]
}

Web UI

  • URL: http://<Temp2IoT IP>/


    Web UI on a desktop browser Web UI on a desktop browser


    Web UI on a smartphone browser Web UI on a smartphone browser

System Setup

  • URL: http://<Temp2IoT IP>/setup/


    Web setup page on a smartphone browser Setup page on a smartphone browser

Color Scheme

Temp2IoT Color Scheme 100prznt Temp2IoT Color Scheme CLASSIC Temp2IoT Color Scheme TOTAL Temp2IoT Color Scheme POWER Temp2IoT Color Scheme SUN Temp2IoT Color Scheme DARK

Colors

# scheme primary color badge
1 100prznt #ff2e64 #ff2e64
2 Classic #1e87f0 #1e87f0
3 Total #30a4a1 #30a4a1
4 Power #325c84 #325c84
5 Sun #f08a00 #f08a00
6 Dark #060d2a #060d2a

Debug Output

Feel free to take a look at the serial monitor (115200 baud).

21:54:57.656 ->
21:54:57.656 ->        _____               ___ ___    _____       
21:54:57.656 ->       |_   _|__ _ __  _ __|_  )_ _|__|_   _|      
21:54:57.702 ->         | |/ -_) '  \| '_ \/ / | |/ _ \| |        
21:54:57.702 ->         |_|\___|_|_|_| .__/___|___\___/|_|        
21:54:57.702 ->                      |_|                          
21:54:57.702 -> 
21:54:57.702 -> **************************************************
21:54:57.702 ->        a 100prznt.de project by E. Ruemmler       
21:54:57.702 ->                       v2.2.04-b
21:54:57.702 -> 

Enclosure

In the folder hardware/enclosure you will find 2 STL files of a suitable enclosure. If the cover is printed upside-down, you can print the first two layers in a different color to make the Temp2IoT icon stand out better.

Photos

3d-printed enclousure with Temp2IoT icon 3d-printed enclousure with Temp2IoT icon

3d-printed enclousure open Blackened inside so that the LED produces a focused light spot

Community

Found this project on the german Poolpowershop-Forum.

Credits

This app is made possible by contributions from:

Open Source Project Credits

  • Follower Counter - The architeture of Temp2IoT based on a awesome code from @jegade used for his followercounter project.
  • Used Arduino libraries are described in the code.

License

The Temp2IoT project is licensed under MIT. Refer to LICENSE.txt for more information.

Contributions

Contributions are welcome. Fork this repository and send a pull request if you have something useful to add.