Calcifer uses a Raspberry Pi Zero 2 W and a DHT22 sensor to provide a temperature sensor node and host network in your home.
CalciferPi is a script that can be installed in the local virtual environment:
git clone git@github.com:phalt/calcifer.git
make install-piSee info about CalciferPi's commands:
> calciferpi
Usage: calciferpi [OPTIONS] COMMAND [ARGS]...
CalciferPi 🔥🍓: The simplest Raspberry Pi temperature sensor
https://github.com/phalt/calcifer
Options:
--help Show this message and exit.
Commands:
host Run the micro web server in host mode
info Print configuration information about calciferpi
live Display a live updating display of the temperature and humidity...
read Read the temperature and humidity from the DHT22 sensor Runs once...CalciferPi can be ran as a single node, providing a simple CLI output for the reading
. .venv/bin/activate
calciferpi readA single CalciferPi instance is a "node":
flowchart LR
Node
You can also run CalciferPi in Host mode which allows you to query other nodes in your network:
flowchart LR
BedroomNode --> Host
LivingRoomNode --> Host
To run CalciferPi in host mode, change your run command to:
calciferpi hostThen visit http://raspberrypi.local/.
See configuration below for how to connect to other CalciferPi nodes.
The configuration file provides some basic methods of configuration:
; The GPIO pin you are using with your DHT22 sensor, defaults to 4.
DATA_PIN = 4
; Run the code in debug mode. Defaults to False.
DEBUG = True
; Run the server in debug mode. Defaults to False
SERVER_DEBUG = True
; A configurable port to run the server on. Defaults to 80
SERVER_PORT = 5000
; A configurable host to run the server on. Defaults to 0.0.0.0
SERVER_HOST = "127.0.0.1"
; What the local device is called. Sefaults to "local".
DEVICE_NAME = "Test device"
; If this list is populated, these nodes will be queried to get data. Defaults to []
NODES = ["http://other-calciferpi.local"]Assuming you have filled out the NODES array in your configuration, each NODE will receive an HTTP GET request, and will return a local reading from their sensor.
Note that the node itself has to be running in calciferpi host mode in order to email this.
We recommend the sensor with the board so you don't have to do any complex wiring yourself.
The pins should be connected the same as the diagrams on this tutorial
Configure which data out pin to use by editing the DATA_PIN constant in ~/.config/calciferpi:
DATA_PIN = 4The default is GPIO4: https://pinout.xyz/pinout/pin7_gpio4/