ESP8266 SHT21 sensor
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 3.3KB

ESP-Weather

This started out as a project for the “Systemadministration” course in the Hochschule Ravensburg-Weingarten in the winter of 2016 / 2017.

Idea

The core concept of this project is to create very cheap WiFi temperature and humidity sensors that can be placed in different locations inside the same wireless network. When any one is opened by the user using a Webbrowser, it will automatically discover all other available modules in the local network (using a UDP broadcast) and visualize their data values. The procedure is visualized in the following animation:

Connection order animation

Hardware

You need an Espressif ESP8266 module. We’ve used the smallest and cheapest available one, ESP-01. The temperature and humidity sensor in use is the Sensirion SHT21 because of it’s low price, digital interface, good accuracy and many cheap generic breakout boards available.

Hardware Schematic

Build Steps

To avoid having to do multiple steps on firmware changes, all static data is compiled into the firmware itself. The included Python 3 script convert-static.py should be used to convert the static files (HTML, CSS, JS and the Favicon) into the static.h header used by the code.

When doing changes to any static files, simpy run ./convert-static.py and then build and upload in the Arduino IDE.

Local Webinterface development

To quickly test changes on the frontend code without having to recompile, use the test.html file in a Webbrowser. You need to have an ESP-Weather module running in your network and enter the IP in the html page.

Of course, any changes to template.html should also be done to test.html.

Dependencies

The included Favicon is ‘weather’ by ‘jkeks’.

ESP8266

Download and install the following libraries to your Arduino/libraries folder. Of course, you also need the Arduino core for the ESP8266 WiFi chip installed from the IDE Board Manager.

JavaScript

The JavaScript client code includes the following libraries, using their official CDNs:

License

----------------------------------------------------------------------------
"THE BEER-WARE LICENSE" (Revision 42):
<xythobuz@xythobuz.de> & <ghost-ghost@web.de> wrote this file.  As long as
you retain this notice you can do whatever you want with this stuff. If we
meet some day, and you think this stuff is worth it, you can buy us a beer
in return.                                   Thomas Buck & Christian Högerle
----------------------------------------------------------------------------