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.
Thomas Buck c679427442 Added animation to Readme 3 years ago
.gitignore Translated JS 3 years ago
ESP-Weather.ino Added stylesheet and favicon. Static data put into own auto-generated header. 3 years ago
README.md Added animation to Readme 3 years ago
client-script.js Added back tab. Using Glyphicons. Don't show sensor tabs if there is only one. 3 years ago
client-style.css Added stylesheet and favicon. Static data put into own auto-generated header. 3 years ago
config.h Added stylesheet and favicon. Static data put into own auto-generated header. 3 years ago
convert-static.py Added stylesheet and favicon. Static data put into own auto-generated header. 3 years ago
favicon.ico Added stylesheet and favicon. Static data put into own auto-generated header. 3 years ago
ntp.cpp Added license info 3 years ago
ntp.h Added license info 3 years ago
static.h Added back tab. Using Glyphicons. Don't show sensor tabs if there is only one. 3 years ago
storage.cpp Added license info 3 years ago
storage.h Added license info 3 years ago
template.html Added back tab. Using Glyphicons. Don't show sensor tabs if there is only one. 3 years ago
test.html Added back tab. Using Glyphicons. Don't show sensor tabs if there is only one. 3 years ago

README.md

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
----------------------------------------------------------------------------