64 lines
1.5 KiB
Markdown
64 lines
1.5 KiB
Markdown
# DS18B20_raspi
|
|
|
|
## Read first
|
|
https://pinout.xyz/pinout/1_wire
|
|
https://www.raspberrypi-spy.co.uk/2018/02/enable-1-wire-interface-raspberry-pi/
|
|
|
|
For grafana Influx:
|
|
https://pimylifeup.com/raspberry-pi-grafana/
|
|
https://pimylifeup.com/raspberry-pi-influxdb/
|
|
|
|
|
|
## Hardware
|
|
|
|
Connect the DS18B20 to the raspberry pi
|
|
Raspi - DS18B20
|
|
3V3 -> VIN
|
|
GND -> GND
|
|
GPIO 4 -> DATA
|
|
|
|
Rember to add a 4K7ohm pull-up resistor between VIN and DATA on the sensor!
|
|
|
|
## REQUIRED PACKAGES
|
|
|
|
python3-influxdb
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
Enable i2c in raspi-config
|
|
|
|
|
|
Copy the files (as root!) report_temperature.service/report_temperature.timer from ./etc/systemd/system to your system /etc/systemd/system
|
|
|
|
Now tell systemd that you have added new files:
|
|
'systemctl daemon-reload'
|
|
|
|
save temperature_reporter.py to /home/pi/tempsense/.
|
|
|
|
Enable and start the timer:
|
|
'systemctl enable report_temperature.timer --now'
|
|
|
|
## Store script at a differet location.
|
|
|
|
If you want the script to be stores elsewhere (not in /home/pi/tempsense/.) then you have to edit the file (as root!) /etc/systemd/system/report_temperature.service
|
|
|
|
Just change the line:
|
|
ExecStart=/home/pi/tempsense/temperature_reporter.py
|
|
|
|
## Configure the script before running.
|
|
|
|
in temperature_reporter.py
|
|
|
|
comfigure:
|
|
'
|
|
INFLUX_IP = ""
|
|
INFLUX_PORT = 8086
|
|
INFLUX_DB = ""
|
|
INFLUX_USER = ""
|
|
INFLUX_PASS = ""
|
|
'
|
|
|
|
You can give the sensors costum names to be reoported by configuring the in the device names:
|
|
device_names = {"28-000000000000":"Sensor_Name"} |