github.com/simpleiot/simpleiot@v0.18.3/docs/user/onewire.md (about)

     1  # 1-Wire
     2  
     3  1-Wire is a device communication bus that provides low-speed data over a single
     4  conductor. It is also possible to power some devices over the data signal as
     5  well, but often a third wire is run for power.
     6  
     7  Simple IoT supports 1-wire buses controlled by the
     8  [1-wire (w1) subsystem](https://www.kernel.org/doc/html/latest/w1/index.html) in
     9  the Linux kernel. Simple IoT will automatically create nodes for 1-wire buses
    10  and devices it discovers.
    11  
    12  ![1-wire nodes](images/onewire-nodes.png)
    13  
    14  ## Bus Controllers
    15  
    16  ### Raspberry PI GPIO
    17  
    18  There are a number of bus controllers available but one of the simplest is a
    19  GPIO on a Raspberry PI. To enable, add the following to the `/boot/config.txt`
    20  file:
    21  
    22  `dtoverlay=w1-gpio`
    23  
    24  This enables a 1-wire bus on GPIO 4.
    25  
    26  To add a bus to a different pin:
    27  
    28  `dtoverlay=w1-gpio,gpiopin=x`
    29  
    30  A 4.7kΩ pull-up resistor is needed between the 1-wire signal and 3.3V. This can
    31  be wired to a 0.1" connector as shown in the following schematic:
    32  
    33  ![1-wire schematic](images/onewire-schematic.png)
    34  
    35  See [this page](https://pinout.xyz/pinout/1_wire#) for more information.
    36  
    37  ## 1-Wire devices
    38  
    39  ### DS18B20 Temperature sensors
    40  
    41  Simple IoT currently supports 1-wire temperature sensors such as the DS18B20.
    42  This is a very popular and practical digital temperature sensor. Each sensor has
    43  a unique address so you can address a number of them using a single 1-wire port.
    44  These devices are readily available at low cost from a number of places
    45  including eBay -- search for DS18B20, and look for an image like the below:
    46  
    47  ![DS18B20](images/ds18b20-photo.png)