This web app is a frontend intended to run on a raspberry pi equipped with temperature sensors that are addressed via the 1 wire protocol. The hard-and software setup was inspired by ModMyPi. Thanks a lot for that great tutorial.
Check out the GitLab tags page for releases and sd-card image download links.
Jump directly to:




see also the configuration screenshot.

All soldering points should be insulated with individual shrink-on tubings. Then add one large shrink-on tubing around to protect and keep the wires together.
Now you can connect many thermometers to the raspi as each thermometer will add its own plug such that all thermometers are connected in parallel. Theoretically, you can add as many thermometers as you like (at least several tens of thermometers should work) and the cables can be tens or even more than a hundred meters long. In my setup I successfully tested up to 5 thermometers with a total of 50 meters of cable. However, at some point too much cable will deteriorate the signal so much that thermometers are not found any more or randomly disappear. See here for recommendations on setting up large sensor networks. Check out the picture of the final assembly.


Note: In the front view of the sensor (left) the pins are facing towards you.


If there are sensors attached directly to the raspi, there will be empty configuration fields for each sensor.
Just add a name, a database table and a category to each sensor and hit the save button for each senosr (or just press enter while the cursor is in a configuration field) or hit "Save entire configuration".
Now the raspi will start logging data from each sensor every minute.
Database and Sensor Configuration
There are three ways to exchange data with external sources/targets:
The server will actively fetch data from an external source every minute. The external source can be another pitemplog box or any source providing a web interface or api. In the latter case, you need to provide a parser that scrapes the data from the external source. An example parser for mibi sensors (mibi.php) is provided in the parsers directory.
To configure fetching data, enter the URL and a name for the external sensor box. If the external box requires a username and password, you can enter those as well. If the external source is not a pitemplog box, you must choose a parser (a parser for mibi sensors is provided).
The server will send temperature data from locally attached sensors to an remote pitemplog server in regular intervals. Before sending data, the remote server needs to be configured in order to be able to receive the data. The configuration happens almost entirely automatically. For security reasons, the only manual step required is to copy the api key generated by the remote server to the configuration here.
To configure sending data, enter the URL and a name for a central server that is running pitemplog. Once the connection is set up, the temperature data of all local sensors will be regularly uploaded to the server.
After you have saved the configuration, you will be redirected to the remote servers config page where you can copy the api key and paste it into the senders push server configuration. Without correct api key, no data will be stored by the central server.
The server will passively wait for input from an external source. In order to be able to receive data, this server must be properly configured. If the external source is a pitemplog box, the configuration is done automatically by the sender (see "Send data" above). If you want to send data to this sever from a different source (i.e. an arduino sensor), then you can configure the sensor id, name, table and category here.
To configure receiving data, configure the source url (or unique id of source), the source name, the sensor id (must be unique and start with "custom-"), name, table and category. Once you are done, an api key will be automatically generated and you need to copy that to the sender in order to prevent anyone from pushing data to the server.

The external source must provide the data to "http://pitemplog.domain/data.php" in the following structure (all arrays must be of the same length):

In case you would like to change the database configuration: this is done via the environment variables:
DB_HOST (hostname of the database server)DB_DB (name of the database)DB_USER (a user that has access to the database)DB_PW (the users database password).Content type
Image
Digest
Size
184 MB
Last updated
over 4 years ago
docker pull thawn/pitemplog