|
7 år sedan | |
---|---|---|
.gitignore | 7 år sedan | |
ESP-Weather.ino | 7 år sedan | |
README.md | 7 år sedan | |
client-script.js | 7 år sedan | |
client-style.css | 7 år sedan | |
config.h | 7 år sedan | |
convert-static.py | 7 år sedan | |
favicon.ico | 7 år sedan | |
ntp.cpp | 7 år sedan | |
ntp.h | 7 år sedan | |
static.h | 7 år sedan | |
storage.cpp | 7 år sedan | |
storage.h | 7 år sedan | |
template.html | 7 år sedan | |
test.html | 7 år sedan |
This started out as a project for the “Systemadministration” course in the Hochschule Ravensburg-Weingarten in the winter of 2016 / 2017.
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:
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.
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.
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
.
The included Favicon is ‘weather’ by ‘jkeks’.
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.
The JavaScript client code includes the following libraries, using their official CDNs:
----------------------------------------------------------------------------
"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
----------------------------------------------------------------------------