==== 1wire bus ====
{{:interfaces:1wire.jpg?200}}
\\ \\
{{:interfaces:1wire-2.jpg?200}}
\\ \\
{{:interfaces:keyes.jpg?200}}
The 1wire bus supports various low speed digital devices and is supported in Linux on the Raspberry Pi.
=== Raspberry Pi ===
Edit boot/config.txt to assign gpio4 for 1wire.
dtoverlay=w1-gpio,gpiopin=4
Reboot and after load driver.
modprobe w1_gpio
These are the GPIO header pin assignments for the 1 wire bus.
^Pin ^Name ^Function |
| 1 | 3V3 | POWER|
| 6 | GND| GROUND |
| 7 | GPIO4 | DATA|
The relevant pins on the Pi header are as follows.
+---P1---+
3V3 01 02 5V
GPIO0/GPIO2 03 A/A+ 04 5V
GPIO1/GPIO3 05 B/B+ 06 GND
GPIO4 07 2 08 GPIO14/TX
.. ..
NB. The 1 wire data line must pulled high via 4K7 to 3V3 power.
=== DS18B20 Thermometer ===
+-------+
| 1 2 3 |
+-------+
| | |
| | |
1 GROUND
2 DATA
3 POWER
modprobe w1_therm
cat /sys/bus/w1/devices/28-041460bdd6ff/w1_slave
8f 01 55 00 7f ff 0c 10 a0 : crc=a0 YES
8f 01 55 00 7f ff 0c 10 a0 t=24937
=== KEYES KY-001 DS18B20 module ===
This module re-orders the pins so beware.
+-------+
|DS18B20|
| |
+-G R Y-+
| | |
G GROUND
R POWER
Y DATA
DATA is pulled up via a 4K7 resistor and an LED. The LED will flash
during communication with the chip.
=== DS2431 EEPROM ===
+-------+
| 1 2 3 |
+-------+
| | |
| | |
1 GROUND
2 DATA
3 NC
modprobe w1_ds2431
echo "hello world" > /sys/bus/w1/devices/2d-00000de5d608/eeprom
cat /sys/bus/w1/devices/2d-00000de5d608/eeprom
hello world
=== Resources ===
[[https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf|DS18B20 Thermometer]]\\
[[https://datasheets.maximintegrated.com/en/ds/DS2431.pdf|DS2431 EEPROM]]